diff --git a/package.json b/package.json
index 95079ebd..810f3e35 100644
--- a/package.json
+++ b/package.json
@@ -34,6 +34,9 @@
"@it-tools/bip39": "^0.0.4",
"@it-tools/oggen": "^1.3.0",
"@sindresorhus/slugify": "^2.2.0",
+ "@tiptap/pm": "2.0.0-beta.220",
+ "@tiptap/starter-kit": "2.0.0-beta.220",
+ "@tiptap/vue-3": "2.0.0-beta.220",
"@vicons/material": "^0.12.0",
"@vicons/tabler": "^0.12.0",
"@vueuse/core": "^8.9.4",
@@ -75,6 +78,7 @@
"@types/mime-types": "^2.1.1",
"@types/node": "^16.18.16",
"@types/node-forge": "^1.3.1",
+ "@types/prettier": "^2.7.2",
"@types/qrcode": "^1.5.0",
"@types/randombytes": "^2.0.0",
"@types/uuid": "^8.3.4",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 7864ba7c..0e5f8ce1 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -5,6 +5,9 @@ specifiers:
'@it-tools/oggen': ^1.3.0
'@rushstack/eslint-patch': ^1.2.0
'@sindresorhus/slugify': ^2.2.0
+ '@tiptap/pm': 2.0.0-beta.220
+ '@tiptap/starter-kit': 2.0.0-beta.220
+ '@tiptap/vue-3': 2.0.0-beta.220
'@types/bcryptjs': ^2.4.2
'@types/crypto-js': ^4.1.1
'@types/jsdom': ^16.2.15
@@ -12,6 +15,7 @@ specifiers:
'@types/mime-types': ^2.1.1
'@types/node': ^16.18.16
'@types/node-forge': ^1.3.1
+ '@types/prettier': ^2.7.2
'@types/qrcode': ^1.5.0
'@types/randombytes': ^2.0.0
'@types/uuid': ^8.3.4
@@ -77,6 +81,9 @@ dependencies:
'@it-tools/bip39': 0.0.4
'@it-tools/oggen': 1.3.0
'@sindresorhus/slugify': 2.2.0
+ '@tiptap/pm': 2.0.0-beta.220
+ '@tiptap/starter-kit': 2.0.0-beta.220_@tiptap+pm@2.0.0-beta.220
+ '@tiptap/vue-3': 2.0.0-beta.220_htj2fswe27wsqb7rziordzcpiq
'@vicons/material': 0.12.0
'@vicons/tabler': 0.12.0
'@vueuse/core': 8.9.4_vue@3.2.47
@@ -118,6 +125,7 @@ devDependencies:
'@types/mime-types': 2.1.1
'@types/node': 16.18.16
'@types/node-forge': 1.3.1
+ '@types/prettier': 2.7.2
'@types/qrcode': 1.5.0
'@types/randombytes': 2.0.0
'@types/uuid': 8.3.4
@@ -1545,6 +1553,10 @@ packages:
resolution: {integrity: sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==}
dev: false
+ /@linaria/core/3.0.0-beta.13:
+ resolution: {integrity: sha512-3zEi5plBCOsEzUneRVuQb+2SAx3qaC1dj0FfFAI6zIJQoDWu0dlSwKijMRack7oO9tUWrchfj3OkKQAd1LBdVg==}
+ dev: false
+
/@nodelib/fs.scandir/2.1.5:
resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
engines: {node: '>= 8'}
@@ -1578,6 +1590,42 @@ packages:
tslib: 2.5.0
dev: true
+ /@popperjs/core/2.11.7:
+ resolution: {integrity: sha512-Cr4OjIkipTtcXKjAsm8agyleBuDHvxzeBoa1v543lbv1YaIwQjESsVcmjiWiPEbC1FIeHOG/Op9kdCmAmiS3Kw==}
+ dev: false
+
+ /@remirror/core-constants/2.0.0:
+ resolution: {integrity: sha512-vpePPMecHJllBqCWXl6+FIcZqS+tRUM2kSCCKFeEo1H3XUEv3ocijBIPhnlSAa7g6maX+12ATTgxrOsLpWVr2g==}
+ dependencies:
+ '@babel/runtime': 7.21.0
+ dev: false
+
+ /@remirror/core-helpers/2.0.1:
+ resolution: {integrity: sha512-s8M1pn33aBUhduvD1QR02uUQMegnFkGaTr4c1iBzxTTyg0rbQstzuQ7Q8TkL6n64JtgCdJS9jLz2dONb2meBKQ==}
+ dependencies:
+ '@babel/runtime': 7.21.0
+ '@linaria/core': 3.0.0-beta.13
+ '@remirror/core-constants': 2.0.0
+ '@remirror/types': 1.0.0
+ '@types/object.omit': 3.0.0
+ '@types/object.pick': 1.3.2
+ '@types/throttle-debounce': 2.1.0
+ case-anything: 2.1.10
+ dash-get: 1.0.2
+ deepmerge: 4.3.1
+ fast-deep-equal: 3.1.3
+ make-error: 1.3.6
+ object.omit: 3.0.0
+ object.pick: 1.3.0
+ throttle-debounce: 3.0.1
+ dev: false
+
+ /@remirror/types/1.0.0:
+ resolution: {integrity: sha512-7HQbW7k8VxrAtfzs9FxwO6XSDabn8tSFDi1wwzShOnU+cvaYpfxu0ygyTk3TpXsag1hgFKY3ZIlAfB4WVz2LkQ==}
+ dependencies:
+ type-fest: 2.19.0
+ dev: false
+
/@rollup/plugin-babel/5.3.1_hqhlikriuul7byjexqnpgcmenu:
resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==}
engines: {node: '>= 10.0.0'}
@@ -1682,6 +1730,253 @@ packages:
string.prototype.matchall: 4.0.8
dev: true
+ /@tiptap/core/2.0.0-beta.220_@tiptap+pm@2.0.0-beta.220:
+ resolution: {integrity: sha512-F2Q666xJqijBU5o+GqekqseNgIEMTs6BhsLDaf9DwThhljGLS8RXKnSvQxrxLNrYEPpw39n/G3Qt8YAOk5qR6w==}
+ peerDependencies:
+ '@tiptap/pm': ^2.0.0-beta.209
+ dependencies:
+ '@tiptap/pm': 2.0.0-beta.220
+ dev: false
+
+ /@tiptap/extension-blockquote/2.0.0-beta.220_7w7m52asdh3tod4ocz57yex63q:
+ resolution: {integrity: sha512-uE1VRU/doQzXsfsZ/JqsbSbXeZYTJnyQkSfHYA2ZYhbEM2XqDEsYkgcmZEJgunUZJpERf+3ZTfTpqaHq29iMMg==}
+ peerDependencies:
+ '@tiptap/core': ^2.0.0-beta.1
+ dependencies:
+ '@tiptap/core': 2.0.0-beta.220_@tiptap+pm@2.0.0-beta.220
+ dev: false
+
+ /@tiptap/extension-bold/2.0.0-beta.220_7w7m52asdh3tod4ocz57yex63q:
+ resolution: {integrity: sha512-KcEuKI85Drug/cCWbDy+HxhYrD+rLXHEBG10DmKPvgPpKHG/2wOau6LwUwyV4muWR8CR2mIO+mEc3yVBD8nNwQ==}
+ peerDependencies:
+ '@tiptap/core': ^2.0.0-beta.209
+ dependencies:
+ '@tiptap/core': 2.0.0-beta.220_@tiptap+pm@2.0.0-beta.220
+ dev: false
+
+ /@tiptap/extension-bubble-menu/2.0.0-beta.220_@tiptap+pm@2.0.0-beta.220:
+ resolution: {integrity: sha512-wthyec7s0vZlTSEAAZEgoFfx/1Arwg1zxDUrrE+YAost/Yn+w4xQksz/ts5Bx90iOk2qsJ+jzzttLRV17Ku7lA==}
+ peerDependencies:
+ '@tiptap/core': ^2.0.0-beta.209
+ '@tiptap/pm': ^2.0.0-beta.209
+ dependencies:
+ '@tiptap/pm': 2.0.0-beta.220
+ lodash: 4.17.21
+ tippy.js: 6.3.7
+ dev: false
+
+ /@tiptap/extension-bullet-list/2.0.0-beta.220_7w7m52asdh3tod4ocz57yex63q:
+ resolution: {integrity: sha512-QQ/0ZlYy6Hgb+UAc79V+fxvI+AaQf20cbKtBXaR8TIZ0x4FotSma89bKh+CIXMhFiBGXTcYBaYhl7OwACsKtxw==}
+ peerDependencies:
+ '@tiptap/core': ^2.0.0-beta.209
+ dependencies:
+ '@tiptap/core': 2.0.0-beta.220_@tiptap+pm@2.0.0-beta.220
+ dev: false
+
+ /@tiptap/extension-code-block/2.0.0-beta.220_ohumfzynigfck3hzagxvh2a4ky:
+ resolution: {integrity: sha512-fgA7yTfHqhBtMJF7I9FPJ6UWuZPtxOQiN45Iv9LNmFIB6YRucdpmF+daZ27sElu0a+eICZyXwVn4w4iJphifuw==}
+ peerDependencies:
+ '@tiptap/core': ^2.0.0-beta.209
+ '@tiptap/pm': ^2.0.0-beta.209
+ dependencies:
+ '@tiptap/core': 2.0.0-beta.220_@tiptap+pm@2.0.0-beta.220
+ '@tiptap/pm': 2.0.0-beta.220
+ dev: false
+
+ /@tiptap/extension-code/2.0.0-beta.220_7w7m52asdh3tod4ocz57yex63q:
+ resolution: {integrity: sha512-JKKDZoceagqVXeC1XF/gOkKhLtsbYJYV+MRDorLnQVz4tXcg/SMs5Ez7OM9MxSSior8fIbUFMNsj1/UNlG+tFw==}
+ peerDependencies:
+ '@tiptap/core': ^2.0.0-beta.209
+ dependencies:
+ '@tiptap/core': 2.0.0-beta.220_@tiptap+pm@2.0.0-beta.220
+ dev: false
+
+ /@tiptap/extension-document/2.0.0-beta.220_7w7m52asdh3tod4ocz57yex63q:
+ resolution: {integrity: sha512-2sja4ZvOb4iynHrzinnclCSFgLyo6fJc1fBV5fIYaOgZOYcvz9KK8fgKiq+wIpG58sJEmQ5kcwwBlkXv+NTK+g==}
+ peerDependencies:
+ '@tiptap/core': ^2.0.0-beta.209
+ dependencies:
+ '@tiptap/core': 2.0.0-beta.220_@tiptap+pm@2.0.0-beta.220
+ dev: false
+
+ /@tiptap/extension-dropcursor/2.0.0-beta.220_ohumfzynigfck3hzagxvh2a4ky:
+ resolution: {integrity: sha512-BIaA4Lvb3xL9KFN+K6SO2IHqLO6hDmGN2/rGKHFaU3Eh+oiXM2G73KTSS5KIP1u872zY1RpAtswSc4kjv3cuVw==}
+ peerDependencies:
+ '@tiptap/core': ^2.0.0-beta.209
+ '@tiptap/pm': ^2.0.0-beta.209
+ dependencies:
+ '@tiptap/core': 2.0.0-beta.220_@tiptap+pm@2.0.0-beta.220
+ '@tiptap/pm': 2.0.0-beta.220
+ dev: false
+
+ /@tiptap/extension-floating-menu/2.0.0-beta.220_@tiptap+pm@2.0.0-beta.220:
+ resolution: {integrity: sha512-+WfcBEedm82ntaVIEQAGz0Om96Rpav7a+4f7e8N4PrLKm6nZ3gBaEkZVQ6vjJ6S/1htiWCv1XosYIwRboPBG0w==}
+ peerDependencies:
+ '@tiptap/core': ^2.0.0-beta.209
+ '@tiptap/pm': ^2.0.0-beta.209
+ dependencies:
+ '@tiptap/pm': 2.0.0-beta.220
+ tippy.js: 6.3.7
+ dev: false
+
+ /@tiptap/extension-gapcursor/2.0.0-beta.220_ohumfzynigfck3hzagxvh2a4ky:
+ resolution: {integrity: sha512-W5N2Ey+thufUOrs2TFGpEGBGue7ZEhcUXvxcsZlGbrjVa9Y+4rEp68Du4y7yM0hCeSj2GGwiV+uPzkc0CSDE/g==}
+ peerDependencies:
+ '@tiptap/core': ^2.0.0-beta.209
+ '@tiptap/pm': ^2.0.0-beta.209
+ dependencies:
+ '@tiptap/core': 2.0.0-beta.220_@tiptap+pm@2.0.0-beta.220
+ '@tiptap/pm': 2.0.0-beta.220
+ dev: false
+
+ /@tiptap/extension-hard-break/2.0.0-beta.220_7w7m52asdh3tod4ocz57yex63q:
+ resolution: {integrity: sha512-oY3454o53YNFbuokzyGzG4PdMHkIYreY3nrALioZ0SwYeoFNcGA6Zcn4rDRfdp+QvbbiHfeBTR/CpWF13HZYTg==}
+ peerDependencies:
+ '@tiptap/core': ^2.0.0-beta.209
+ dependencies:
+ '@tiptap/core': 2.0.0-beta.220_@tiptap+pm@2.0.0-beta.220
+ dev: false
+
+ /@tiptap/extension-heading/2.0.0-beta.220_7w7m52asdh3tod4ocz57yex63q:
+ resolution: {integrity: sha512-7mrHRj++UaZ26C2Gjwb0WKWAzpiKb8TOYkVC2uMaCwaNhLDXpFEwZ7RtJRSTNBHkIGnMO46BH8Z0qlkFMmk9Jw==}
+ peerDependencies:
+ '@tiptap/core': ^2.0.0-beta.209
+ dependencies:
+ '@tiptap/core': 2.0.0-beta.220_@tiptap+pm@2.0.0-beta.220
+ dev: false
+
+ /@tiptap/extension-history/2.0.0-beta.220_ohumfzynigfck3hzagxvh2a4ky:
+ resolution: {integrity: sha512-qNL2a9UhnlmCs4y2iQYrfeMB8vEX3bHozBJanHu0PWNQJcj90R5xqorBp/bRcqZdi0kuQfxcTnGHtLUpN/U0TA==}
+ peerDependencies:
+ '@tiptap/core': ^2.0.0-beta.209
+ '@tiptap/pm': ^2.0.0-beta.209
+ dependencies:
+ '@tiptap/core': 2.0.0-beta.220_@tiptap+pm@2.0.0-beta.220
+ '@tiptap/pm': 2.0.0-beta.220
+ dev: false
+
+ /@tiptap/extension-horizontal-rule/2.0.0-beta.220_ohumfzynigfck3hzagxvh2a4ky:
+ resolution: {integrity: sha512-XMIs4R+4BoH5LpIxey513mZuus0XLHqjVayqtf03enmjBTLWzkixvvWLPLw4a47FJL5Q8l4REFHxjNifRzOKkg==}
+ peerDependencies:
+ '@tiptap/core': ^2.0.0-beta.209
+ '@tiptap/pm': ^2.0.0-beta.209
+ dependencies:
+ '@tiptap/core': 2.0.0-beta.220_@tiptap+pm@2.0.0-beta.220
+ '@tiptap/pm': 2.0.0-beta.220
+ dev: false
+
+ /@tiptap/extension-italic/2.0.0-beta.220_7w7m52asdh3tod4ocz57yex63q:
+ resolution: {integrity: sha512-aWAgqoR8fql9fJ7T/ZrEqovkEjZXbUpvlvWEvdBDMG3id8ZTGNDpdDKdvI6J/Rl5ZGPIg1TpHJtd+UixheWQsQ==}
+ peerDependencies:
+ '@tiptap/core': ^2.0.0-beta.209
+ dependencies:
+ '@tiptap/core': 2.0.0-beta.220_@tiptap+pm@2.0.0-beta.220
+ dev: false
+
+ /@tiptap/extension-list-item/2.0.0-beta.220_7w7m52asdh3tod4ocz57yex63q:
+ resolution: {integrity: sha512-+O0ivwxPP2l/m9PAowb2ytDT/cM5kwu0s1W5MUsHPIqf+M6ahnl4ESjhWZfDHUzvjqPq6MTbqoQLHbB1KS/N7w==}
+ peerDependencies:
+ '@tiptap/core': ^2.0.0-beta.209
+ dependencies:
+ '@tiptap/core': 2.0.0-beta.220_@tiptap+pm@2.0.0-beta.220
+ dev: false
+
+ /@tiptap/extension-ordered-list/2.0.0-beta.220_7w7m52asdh3tod4ocz57yex63q:
+ resolution: {integrity: sha512-j3DmxJfwmNxFfMnvO7glmGlhYeZSIUnRrKnZu2KkpD6OcGJSh9y/yfnYwcuK80XbzEG/jKKIw0M2yRveOvyVwA==}
+ peerDependencies:
+ '@tiptap/core': ^2.0.0-beta.209
+ dependencies:
+ '@tiptap/core': 2.0.0-beta.220_@tiptap+pm@2.0.0-beta.220
+ dev: false
+
+ /@tiptap/extension-paragraph/2.0.0-beta.220_7w7m52asdh3tod4ocz57yex63q:
+ resolution: {integrity: sha512-ZGCzNGFYV4wa3l1nXtDIaYp7O6f0DrGTSl3alKkDTQe3SOmzXS2HjgWl9yPw8VXpU9W5mMGhXd+nGn/jUk+f/A==}
+ peerDependencies:
+ '@tiptap/core': ^2.0.0-beta.209
+ dependencies:
+ '@tiptap/core': 2.0.0-beta.220_@tiptap+pm@2.0.0-beta.220
+ dev: false
+
+ /@tiptap/extension-strike/2.0.0-beta.220_7w7m52asdh3tod4ocz57yex63q:
+ resolution: {integrity: sha512-cIM2ma6mzk08pijOn+KS3ZoHWaUVsVT+OF3m6xewjwJdC0ILg9nApEOhPFrhbeDcxcPmJMlgBl/xeUrEu1HQMg==}
+ peerDependencies:
+ '@tiptap/core': ^2.0.0-beta.209
+ dependencies:
+ '@tiptap/core': 2.0.0-beta.220_@tiptap+pm@2.0.0-beta.220
+ dev: false
+
+ /@tiptap/extension-text/2.0.0-beta.220_7w7m52asdh3tod4ocz57yex63q:
+ resolution: {integrity: sha512-3tnffc2YMjNyv7Lbad6fx9wYDE/Buz8vhx76M2AOSrjYbzmTJf7mLkgdlPM0VTy7FGZD5CGgHJAgYNt5HIqPkQ==}
+ peerDependencies:
+ '@tiptap/core': ^2.0.0-beta.209
+ dependencies:
+ '@tiptap/core': 2.0.0-beta.220_@tiptap+pm@2.0.0-beta.220
+ dev: false
+
+ /@tiptap/pm/2.0.0-beta.220:
+ resolution: {integrity: sha512-O9mGcmwUpEr630HY9RylIyZJKnpXi3xWINWNiAEfRJ1br5j5pHRoVRJQ1HzU+6+Z+i/8qp3zRHGLTBqihaZETA==}
+ peerDependencies:
+ '@tiptap/core': ^2.0.0-beta.209
+ dependencies:
+ prosemirror-changeset: 2.2.0
+ prosemirror-collab: 1.3.0
+ prosemirror-commands: 1.5.1
+ prosemirror-dropcursor: 1.7.1
+ prosemirror-gapcursor: 1.3.1
+ prosemirror-history: 1.3.0
+ prosemirror-inputrules: 1.2.0
+ prosemirror-keymap: 1.2.1
+ prosemirror-markdown: 1.10.1
+ prosemirror-menu: 1.2.1
+ prosemirror-model: 1.19.0
+ prosemirror-schema-basic: 1.2.1
+ prosemirror-schema-list: 1.2.2
+ prosemirror-state: 1.4.2
+ prosemirror-tables: 1.3.2
+ prosemirror-trailing-node: 2.0.3_neynaodr6b5iulsm3pf65djexu
+ prosemirror-transform: 1.7.1
+ prosemirror-view: 1.30.2
+ dev: false
+
+ /@tiptap/starter-kit/2.0.0-beta.220_@tiptap+pm@2.0.0-beta.220:
+ resolution: {integrity: sha512-3992NxY5sEp5xmLE/qv/yt1YkgpSpJiUlDRj02isJ0Xsxa4G6bNq+N+tN2rHB0Y8dtYVBSX2vV/DZYVX8O+Gpg==}
+ dependencies:
+ '@tiptap/core': 2.0.0-beta.220_@tiptap+pm@2.0.0-beta.220
+ '@tiptap/extension-blockquote': 2.0.0-beta.220_7w7m52asdh3tod4ocz57yex63q
+ '@tiptap/extension-bold': 2.0.0-beta.220_7w7m52asdh3tod4ocz57yex63q
+ '@tiptap/extension-bullet-list': 2.0.0-beta.220_7w7m52asdh3tod4ocz57yex63q
+ '@tiptap/extension-code': 2.0.0-beta.220_7w7m52asdh3tod4ocz57yex63q
+ '@tiptap/extension-code-block': 2.0.0-beta.220_ohumfzynigfck3hzagxvh2a4ky
+ '@tiptap/extension-document': 2.0.0-beta.220_7w7m52asdh3tod4ocz57yex63q
+ '@tiptap/extension-dropcursor': 2.0.0-beta.220_ohumfzynigfck3hzagxvh2a4ky
+ '@tiptap/extension-gapcursor': 2.0.0-beta.220_ohumfzynigfck3hzagxvh2a4ky
+ '@tiptap/extension-hard-break': 2.0.0-beta.220_7w7m52asdh3tod4ocz57yex63q
+ '@tiptap/extension-heading': 2.0.0-beta.220_7w7m52asdh3tod4ocz57yex63q
+ '@tiptap/extension-history': 2.0.0-beta.220_ohumfzynigfck3hzagxvh2a4ky
+ '@tiptap/extension-horizontal-rule': 2.0.0-beta.220_ohumfzynigfck3hzagxvh2a4ky
+ '@tiptap/extension-italic': 2.0.0-beta.220_7w7m52asdh3tod4ocz57yex63q
+ '@tiptap/extension-list-item': 2.0.0-beta.220_7w7m52asdh3tod4ocz57yex63q
+ '@tiptap/extension-ordered-list': 2.0.0-beta.220_7w7m52asdh3tod4ocz57yex63q
+ '@tiptap/extension-paragraph': 2.0.0-beta.220_7w7m52asdh3tod4ocz57yex63q
+ '@tiptap/extension-strike': 2.0.0-beta.220_7w7m52asdh3tod4ocz57yex63q
+ '@tiptap/extension-text': 2.0.0-beta.220_7w7m52asdh3tod4ocz57yex63q
+ transitivePeerDependencies:
+ - '@tiptap/pm'
+ dev: false
+
+ /@tiptap/vue-3/2.0.0-beta.220_htj2fswe27wsqb7rziordzcpiq:
+ resolution: {integrity: sha512-rhSKUECLE6NOjTYZHheXAGpyIqruhxkU/9YfWNLWNFIHHW9wHO+t/B3XMJAWBwgkUvRRepU5JmBBIfYd8RgqTA==}
+ peerDependencies:
+ '@tiptap/core': ^2.0.0-beta.209
+ '@tiptap/pm': ^2.0.0-beta.209
+ vue: ^3.0.0
+ dependencies:
+ '@tiptap/extension-bubble-menu': 2.0.0-beta.220_@tiptap+pm@2.0.0-beta.220
+ '@tiptap/extension-floating-menu': 2.0.0-beta.220_@tiptap+pm@2.0.0-beta.220
+ '@tiptap/pm': 2.0.0-beta.220
+ vue: 3.2.47
+ dev: false
+
/@tootallnate/once/2.0.0:
resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==}
engines: {node: '>= 10'}
@@ -1784,10 +2079,22 @@ packages:
resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==}
dev: true
+ /@types/object.omit/3.0.0:
+ resolution: {integrity: sha512-I27IoPpH250TUzc9FzXd0P1BV/BMJuzqD3jOz98ehf9dQqGkxlq+hO1bIqZGWqCg5bVOy0g4AUVJtnxe0klDmw==}
+ dev: false
+
+ /@types/object.pick/1.3.2:
+ resolution: {integrity: sha512-sn7L+qQ6RLPdXRoiaE7bZ/Ek+o4uICma/lBFPyJEKDTPTBP1W8u0c4baj3EiS4DiqLs+Hk+KUGvMVJtAw3ePJg==}
+ dev: false
+
/@types/parse5/6.0.3:
resolution: {integrity: sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==}
dev: true
+ /@types/prettier/2.7.2:
+ resolution: {integrity: sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==}
+ dev: true
+
/@types/qrcode/1.5.0:
resolution: {integrity: sha512-x5ilHXRxUPIMfjtM+1vf/GPTRWZ81nqscursm5gMznJeK9M0YnZ1c3bEvRLQ0zSSgedLx1J6MGL231ObQGGhaA==}
dependencies:
@@ -1810,6 +2117,10 @@ packages:
resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==}
dev: true
+ /@types/throttle-debounce/2.1.0:
+ resolution: {integrity: sha512-5eQEtSCoESnh2FsiLTxE121IiE60hnMqcb435fShf4bpLRjEu1Eoekht23y6zXS9Ts3l+Szu3TARnTsA0GkOkQ==}
+ dev: false
+
/@types/tough-cookie/4.0.2:
resolution: {integrity: sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==}
dev: true
@@ -2666,6 +2977,11 @@ packages:
upper-case-first: 2.0.2
dev: false
+ /case-anything/2.1.10:
+ resolution: {integrity: sha512-JczJwVrCP0jPKh05McyVsuOg6AYosrB9XWZKbQzXeDAm2ClE/PJE/BcrrQrVyGYH7Jg8V/LDupmyL4kFlVsVFQ==}
+ engines: {node: '>=12.13'}
+ dev: false
+
/chai/4.3.7:
resolution: {integrity: sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==}
engines: {node: '>=4'}
@@ -3020,6 +3336,10 @@ packages:
resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
dev: true
+ /crelt/1.0.5:
+ resolution: {integrity: sha512-+BO9wPPi+DWTDcNYhr/W90myha8ptzftZT+LwcmUbbok0rcP/fequmFYCw8NMoH7pkAZQzU78b3kYrlua5a9eA==}
+ dev: false
+
/cron-validator/1.3.1:
resolution: {integrity: sha512-C1HsxuPCY/5opR55G5/WNzyEGDWFVG+6GLrA+fW/sCTcP6A6NTjUP2AK7B8n2PyFs90kDG2qzwm8LMheADku6A==}
dev: false
@@ -3117,6 +3437,10 @@ packages:
engines: {node: '>=8'}
dev: true
+ /dash-get/1.0.2:
+ resolution: {integrity: sha512-4FbVrHDwfOASx7uQVxeiCTo7ggSdYZbqs8lH+WU6ViypPlDbe9y6IP5VVUDQBv9DcnyaiPT5XT0UWHgJ64zLeQ==}
+ dev: false
+
/data-urls/3.0.2:
resolution: {integrity: sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==}
engines: {node: '>=12'}
@@ -3195,7 +3519,6 @@ packages:
/deepmerge/4.3.1:
resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
engines: {node: '>=0.10.0'}
- dev: true
/define-lazy-prop/2.0.0:
resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==}
@@ -3369,7 +3692,6 @@ packages:
/entities/3.0.1:
resolution: {integrity: sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==}
engines: {node: '>=0.12'}
- dev: true
/errno/0.1.8:
resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==}
@@ -3676,7 +3998,6 @@ packages:
/escape-string-regexp/4.0.0:
resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
engines: {node: '>=10'}
- dev: true
/escape-string-regexp/5.0.0:
resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==}
@@ -4008,7 +4329,6 @@ packages:
/fast-deep-equal/3.1.3:
resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
- dev: true
/fast-diff/1.2.0:
resolution: {integrity: sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==}
@@ -4667,6 +4987,13 @@ packages:
engines: {node: '>=0.10.0'}
dev: true
+ /is-extendable/1.0.1:
+ resolution: {integrity: sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ is-plain-object: 2.0.4
+ dev: false
+
/is-extglob/2.1.1:
resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
engines: {node: '>=0.10.0'}
@@ -4724,6 +5051,13 @@ packages:
engines: {node: '>=0.10.0'}
dev: true
+ /is-plain-object/2.0.4:
+ resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ isobject: 3.0.1
+ dev: false
+
/is-potential-custom-element-name/1.0.1:
resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==}
dev: true
@@ -4813,6 +5147,11 @@ packages:
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
dev: true
+ /isobject/3.0.1:
+ resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
/istanbul-lib-coverage/3.2.0:
resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==}
engines: {node: '>=8'}
@@ -5102,6 +5441,12 @@ packages:
uc.micro: 1.0.6
dev: true
+ /linkify-it/4.0.1:
+ resolution: {integrity: sha512-C7bfi1UZmoj8+PQx22XyeXCuBlokoyWQL5pWSP+EI6nzRylyThouddufc2c1NDIcP9k5agmN9fLpA7VNJfIiqw==}
+ dependencies:
+ uc.micro: 1.0.6
+ dev: false
+
/load-json-file/4.0.0:
resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==}
engines: {node: '>=4'}
@@ -5223,6 +5568,10 @@ packages:
semver: 6.3.0
dev: true
+ /make-error/1.3.6:
+ resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==}
+ dev: false
+
/map-obj/1.0.1:
resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==}
engines: {node: '>=0.10.0'}
@@ -5248,6 +5597,17 @@ packages:
uc.micro: 1.0.6
dev: true
+ /markdown-it/13.0.1:
+ resolution: {integrity: sha512-lTlxriVoy2criHP0JKRhO2VDG9c2ypWCsT237eDiLqi09rmbKoUetyGHq2uOIRoRS//kfoJckS0eUzzkDR+k2Q==}
+ hasBin: true
+ dependencies:
+ argparse: 2.0.1
+ entities: 3.0.1
+ linkify-it: 4.0.1
+ mdurl: 1.0.1
+ uc.micro: 1.0.6
+ dev: false
+
/mathjs/10.6.4:
resolution: {integrity: sha512-omQyvRE1jIy+3k2qsqkWASOcd45aZguXZDckr3HtnTYyXk5+2xpVfC3kATgbO2Srjxlqww3TVdhD0oUdZ/hiFA==}
engines: {node: '>= 14'}
@@ -5270,7 +5630,6 @@ packages:
/mdurl/1.0.1:
resolution: {integrity: sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==}
- dev: true
/meow/8.1.2:
resolution: {integrity: sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==}
@@ -5514,6 +5873,20 @@ packages:
object-keys: 1.1.1
dev: true
+ /object.omit/3.0.0:
+ resolution: {integrity: sha512-EO+BCv6LJfu+gBIF3ggLicFebFLN5zqzz/WWJlMFfkMyGth+oBkhxzDl0wx2W4GkLzuQs/FsSkXZb2IMWQqmBQ==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ is-extendable: 1.0.1
+ dev: false
+
+ /object.pick/1.3.0:
+ resolution: {integrity: sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ isobject: 3.0.1
+ dev: false
+
/object.values/1.1.6:
resolution: {integrity: sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==}
engines: {node: '>= 0.4'}
@@ -5569,6 +5942,10 @@ packages:
word-wrap: 1.2.3
dev: true
+ /orderedmap/2.1.0:
+ resolution: {integrity: sha512-/pIFexOm6S70EPdznemIz3BQZoJ4VTFrhqzu0ACBqBgeLsLxq8e6Jim63ImIfwW/zAD1AlXpRMlOv3aghmo4dA==}
+ dev: false
+
/p-limit/1.3.0:
resolution: {integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==}
engines: {node: '>=4'}
@@ -5831,6 +6208,149 @@ packages:
asap: 2.0.6
dev: true
+ /prosemirror-changeset/2.2.0:
+ resolution: {integrity: sha512-QM7ohGtkpVpwVGmFb8wqVhaz9+6IUXcIQBGZ81YNAKYuHiFJ1ShvSzab4pKqTinJhwciZbrtBEk/2WsqSt2PYg==}
+ dependencies:
+ prosemirror-transform: 1.7.1
+ dev: false
+
+ /prosemirror-collab/1.3.0:
+ resolution: {integrity: sha512-+S/IJ69G2cUu2IM5b3PBekuxs94HO1CxJIWOFrLQXUaUDKL/JfBx+QcH31ldBlBXyDEUl+k3Vltfi1E1MKp2mA==}
+ dependencies:
+ prosemirror-state: 1.4.2
+ dev: false
+
+ /prosemirror-commands/1.5.1:
+ resolution: {integrity: sha512-ga1ga/RkbzxfAvb6iEXYmrEpekn5NCwTb8w1dr/gmhSoaGcQ0VPuCzOn5qDEpC45ql2oDkKoKQbRxLJwKLpMTQ==}
+ dependencies:
+ prosemirror-model: 1.19.0
+ prosemirror-state: 1.4.2
+ prosemirror-transform: 1.7.1
+ dev: false
+
+ /prosemirror-dropcursor/1.7.1:
+ resolution: {integrity: sha512-GmWk9bAwhfHwA8xmJhBFjPcebxUG9zAPYtqpIr7NTDigWZZEJCgUYyUQeqgyscLr8ZHoh9aeprX9kW7BihUT+w==}
+ dependencies:
+ prosemirror-state: 1.4.2
+ prosemirror-transform: 1.7.1
+ prosemirror-view: 1.30.2
+ dev: false
+
+ /prosemirror-gapcursor/1.3.1:
+ resolution: {integrity: sha512-GKTeE7ZoMsx5uVfc51/ouwMFPq0o8YrZ7Hx4jTF4EeGbXxBveUV8CGv46mSHuBBeXGmvu50guoV2kSnOeZZnUA==}
+ dependencies:
+ prosemirror-keymap: 1.2.1
+ prosemirror-model: 1.19.0
+ prosemirror-state: 1.4.2
+ prosemirror-view: 1.30.2
+ dev: false
+
+ /prosemirror-history/1.3.0:
+ resolution: {integrity: sha512-qo/9Wn4B/Bq89/YD+eNWFbAytu6dmIM85EhID+fz9Jcl9+DfGEo8TTSrRhP15+fFEoaPqpHSxlvSzSEbmlxlUA==}
+ dependencies:
+ prosemirror-state: 1.4.2
+ prosemirror-transform: 1.7.1
+ rope-sequence: 1.3.3
+ dev: false
+
+ /prosemirror-inputrules/1.2.0:
+ resolution: {integrity: sha512-eAW/M/NTSSzpCOxfR8Abw6OagdG0MiDAiWHQMQveIsZtoKVYzm0AflSPq/ymqJd56/Su1YPbwy9lM13wgHOFmQ==}
+ dependencies:
+ prosemirror-state: 1.4.2
+ prosemirror-transform: 1.7.1
+ dev: false
+
+ /prosemirror-keymap/1.2.1:
+ resolution: {integrity: sha512-kVK6WGC+83LZwuSJnuCb9PsADQnFZllt94qPP3Rx/vLcOUV65+IbBeH2nS5cFggPyEVJhGkGrgYFRrG250WhHQ==}
+ dependencies:
+ prosemirror-state: 1.4.2
+ w3c-keyname: 2.2.6
+ dev: false
+
+ /prosemirror-markdown/1.10.1:
+ resolution: {integrity: sha512-s7iaTLiX+qO5z8kF2NcMmy2T7mIlxzkS4Sp3vTKSYChPtbMpg6YxFkU0Y06rUg2WtKlvBu7v1bXzlGBkfjUWAA==}
+ dependencies:
+ markdown-it: 13.0.1
+ prosemirror-model: 1.19.0
+ dev: false
+
+ /prosemirror-menu/1.2.1:
+ resolution: {integrity: sha512-sBirXxVfHalZO4f1ZS63WzewINK4182+7dOmoMeBkqYO8wqMBvBS7wQuwVOHnkMWPEh0+N0LJ856KYUN+vFkmQ==}
+ dependencies:
+ crelt: 1.0.5
+ prosemirror-commands: 1.5.1
+ prosemirror-history: 1.3.0
+ prosemirror-state: 1.4.2
+ dev: false
+
+ /prosemirror-model/1.19.0:
+ resolution: {integrity: sha512-/CvFGJnwc41EJSfDkQLly1cAJJJmBpZwwUJtwZPTjY2RqZJfM8HVbCreOY/jti8wTRbVyjagcylyGoeJH/g/3w==}
+ dependencies:
+ orderedmap: 2.1.0
+ dev: false
+
+ /prosemirror-schema-basic/1.2.1:
+ resolution: {integrity: sha512-vYBdIHsYKSDIqYmPBC7lnwk9DsKn8PnVqK97pMYP5MLEDFqWIX75JiaJTzndBii4bRuNqhC2UfDOfM3FKhlBHg==}
+ dependencies:
+ prosemirror-model: 1.19.0
+ dev: false
+
+ /prosemirror-schema-list/1.2.2:
+ resolution: {integrity: sha512-rd0pqSDp86p0MUMKG903g3I9VmElFkQpkZ2iOd3EOVg1vo5Cst51rAsoE+5IPy0LPXq64eGcCYlW1+JPNxOj2w==}
+ dependencies:
+ prosemirror-model: 1.19.0
+ prosemirror-state: 1.4.2
+ prosemirror-transform: 1.7.1
+ dev: false
+
+ /prosemirror-state/1.4.2:
+ resolution: {integrity: sha512-puuzLD2mz/oTdfgd8msFbe0A42j5eNudKAAPDB0+QJRw8cO1ygjLmhLrg9RvDpf87Dkd6D4t93qdef00KKNacQ==}
+ dependencies:
+ prosemirror-model: 1.19.0
+ prosemirror-transform: 1.7.1
+ prosemirror-view: 1.30.2
+ dev: false
+
+ /prosemirror-tables/1.3.2:
+ resolution: {integrity: sha512-/9JTeN6s58Zq66HXaxP6uf8PAmc7XXKZFPlOGVtLvxEd6xBP6WtzaJB9wBjiGUzwbdhdMEy7V62yuHqk/3VrnQ==}
+ dependencies:
+ prosemirror-keymap: 1.2.1
+ prosemirror-model: 1.19.0
+ prosemirror-state: 1.4.2
+ prosemirror-transform: 1.7.1
+ prosemirror-view: 1.30.2
+ dev: false
+
+ /prosemirror-trailing-node/2.0.3_neynaodr6b5iulsm3pf65djexu:
+ resolution: {integrity: sha512-lGrjMrn97KWkjQSW/FjdvnhJmqFACmQIyr6lKYApvHitDnKsCoZz6XzrHB7RZYHni/0NxQmZ01p/2vyK2SkvaA==}
+ peerDependencies:
+ prosemirror-model: ^1
+ prosemirror-state: ^1
+ prosemirror-view: ^1
+ dependencies:
+ '@babel/runtime': 7.21.0
+ '@remirror/core-constants': 2.0.0
+ '@remirror/core-helpers': 2.0.1
+ escape-string-regexp: 4.0.0
+ prosemirror-model: 1.19.0
+ prosemirror-state: 1.4.2
+ prosemirror-view: 1.30.2
+ dev: false
+
+ /prosemirror-transform/1.7.1:
+ resolution: {integrity: sha512-VteoifAfpt46z0yEt6Fc73A5OID9t/y2QIeR5MgxEwTuitadEunD/V0c9jQW8ziT8pbFM54uTzRLJ/nLuQjMxg==}
+ dependencies:
+ prosemirror-model: 1.19.0
+ dev: false
+
+ /prosemirror-view/1.30.2:
+ resolution: {integrity: sha512-nTNzZvalQf9kHeEyO407LiV6DoOs/pXsid88UqW9Vvybo4ozJW2PJhkfZUxCUF1hR/9vJLdhxX84wuw9P9HsXA==}
+ dependencies:
+ prosemirror-model: 1.19.0
+ prosemirror-state: 1.4.2
+ prosemirror-transform: 1.7.1
+ dev: false
+
/proto-list/1.2.4:
resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==}
dev: true
@@ -6171,6 +6691,10 @@ packages:
fsevents: 2.3.2
dev: true
+ /rope-sequence/1.3.3:
+ resolution: {integrity: sha512-85aZYCxweiD5J8yTEbw+E6A27zSnLPNDL0WfPdw3YYodq7WjnTKo0q4dtyQ2gz23iPT8Q9CUyJtAaUNcTxRf5Q==}
+ dev: false
+
/run-parallel/1.2.0:
resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
dependencies:
@@ -6645,6 +7169,11 @@ packages:
resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
dev: true
+ /throttle-debounce/3.0.1:
+ resolution: {integrity: sha512-dTEWWNu6JmeVXY0ZYoPuH5cRIwc0MeGbJwah9KUNYSJwommQpCzTySTpEe8Gs1J23aeWEuAobe4Ag7EHVt/LOg==}
+ engines: {node: '>=10'}
+ dev: false
+
/through/2.3.8:
resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==}
dev: true
@@ -6683,6 +7212,12 @@ packages:
engines: {node: '>=14.0.0'}
dev: true
+ /tippy.js/6.3.7:
+ resolution: {integrity: sha512-E1d3oP2emgJ9dRQZdf3Kkn0qJgI6ZLpyS5z6ZkY1DF3kaQaBsGZsndEpHwx+eC+tYM41HaSNvNtLx8tU57FzTQ==}
+ dependencies:
+ '@popperjs/core': 2.11.7
+ dev: false
+
/to-fast-properties/2.0.0:
resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
engines: {node: '>=4'}
@@ -6804,6 +7339,11 @@ packages:
engines: {node: '>=8'}
dev: true
+ /type-fest/2.19.0:
+ resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==}
+ engines: {node: '>=12.20'}
+ dev: false
+
/typed-array-length/1.0.4:
resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==}
dependencies:
@@ -6828,7 +7368,6 @@ packages:
/uc.micro/1.0.6:
resolution: {integrity: sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==}
- dev: true
/uglify-js/3.17.4:
resolution: {integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==}
@@ -7274,6 +7813,10 @@ packages:
browser-process-hrtime: 1.0.0
dev: true
+ /w3c-keyname/2.2.6:
+ resolution: {integrity: sha512-f+fciywl1SJEniZHD6H+kUO8gOnwIr7f4ijKA6+ZvJFjeGi1r4PDLl53Ayud9O/rk64RqgoQine0feoeOU0kXg==}
+ dev: false
+
/w3c-xmlserializer/3.0.0:
resolution: {integrity: sha512-3WFqGEgSXIyGhOmAFtlicJNMjEps8b1MG31NCA0/vOF9+nKMUW1ckhi9cnNHmf88Rzw5V+dwIwsm2C7X8k9aQg==}
engines: {node: '>=12'}
diff --git a/src/tools/html-wysiwyg-editor/editor/editor.vue b/src/tools/html-wysiwyg-editor/editor/editor.vue
new file mode 100644
index 00000000..346cb10f
--- /dev/null
+++ b/src/tools/html-wysiwyg-editor/editor/editor.vue
@@ -0,0 +1,135 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/tools/html-wysiwyg-editor/editor/menu-bar-item.vue b/src/tools/html-wysiwyg-editor/editor/menu-bar-item.vue
new file mode 100644
index 00000000..52bc0d28
--- /dev/null
+++ b/src/tools/html-wysiwyg-editor/editor/menu-bar-item.vue
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+ {{ title }}
+
+
+
+
+
+
diff --git a/src/tools/html-wysiwyg-editor/editor/menu-bar.vue b/src/tools/html-wysiwyg-editor/editor/menu-bar.vue
new file mode 100644
index 00000000..5304cd3b
--- /dev/null
+++ b/src/tools/html-wysiwyg-editor/editor/menu-bar.vue
@@ -0,0 +1,171 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/tools/html-wysiwyg-editor/html-wysiwyg-editor.vue b/src/tools/html-wysiwyg-editor/html-wysiwyg-editor.vue
new file mode 100644
index 00000000..b1537693
--- /dev/null
+++ b/src/tools/html-wysiwyg-editor/html-wysiwyg-editor.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
diff --git a/src/tools/html-wysiwyg-editor/index.ts b/src/tools/html-wysiwyg-editor/index.ts
new file mode 100644
index 00000000..985f3c1b
--- /dev/null
+++ b/src/tools/html-wysiwyg-editor/index.ts
@@ -0,0 +1,11 @@
+import { Edit } from '@vicons/tabler';
+import { defineTool } from '../tool';
+
+export const tool = defineTool({
+ name: 'Html wysiwyg editor',
+ path: '/html-wysiwyg-editor',
+ description: 'Online HTML editor with feature-rich WYSIWYG editor, get the source code of the content immediately.',
+ keywords: ['html', 'wysiwyg', 'editor', 'p', 'ul', 'ol', 'converter', 'live'],
+ component: () => import('./html-wysiwyg-editor.vue'),
+ icon: Edit,
+});
diff --git a/src/tools/index.ts b/src/tools/index.ts
index 18208ddb..4b4ff22b 100644
--- a/src/tools/index.ts
+++ b/src/tools/index.ts
@@ -1,6 +1,7 @@
import { tool as base64FileConverter } from './base64-file-converter';
import { tool as base64StringConverter } from './base64-string-converter';
import { tool as basicAuthGenerator } from './basic-auth-generator';
+import { tool as htmlWysiwygEditor } from './html-wysiwyg-editor';
import { tool as rsaKeyPairGenerator } from './rsa-key-pair-generator';
import { tool as textToNatoAlphabet } from './text-to-nato-alphabet';
import { tool as slugifyString } from './slugify-string';
@@ -74,6 +75,7 @@ export const toolsByCategory: ToolCategory[] = [
jwtParser,
keycodeInfo,
slugifyString,
+ htmlWysiwygEditor,
],
},
{