chore: bump default editor version to 27 (#4288)

#### What type of PR is this?

/area console
/area editor
/milestone 2.8.x
/kind feature

#### What this PR does / why we need it:

升级默认编辑器以支持:

1. 重构 Block 操作区域逻辑,防止误操作。 Fixes https://github.com/halo-dev/halo/issues/4164
2. 支持设置文字背景颜色和字体颜色。
3. iframe block 支持主动刷新页面。 https://github.com/halo-dev/halo/issues/4227
4. 在顶部工具栏的区域添加工具箱。
5. 支持设置字体大小。

#### Does this PR introduce a user-facing change?

```release-note
升级默认编辑器版本,支持设置字体颜色、大小等功能,优化使用体验。
```
pull/4298/head
Ryan Wang 2023-07-24 20:46:14 +08:00 committed by GitHub
parent 6fa442de98
commit f56de041b4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 301 additions and 322 deletions

View File

@ -54,10 +54,10 @@
"@halo-dev/api-client": "workspace:*",
"@halo-dev/components": "workspace:*",
"@halo-dev/console-shared": "workspace:*",
"@halo-dev/richtext-editor": "0.0.0-alpha.25",
"@halo-dev/richtext-editor": "0.0.0-alpha.29",
"@tanstack/vue-query": "^4.29.1",
"@tiptap/extension-character-count": "^2.0.0-beta.220",
"@tiptap/vue-3": "^2.0.3",
"@tiptap/extension-character-count": "^2.0.4",
"@tiptap/vue-3": "^2.0.4",
"@uppy/core": "^3.2.0",
"@uppy/dashboard": "^3.4.0",
"@uppy/drag-drop": "^3.0.2",

View File

@ -69,17 +69,17 @@ importers:
specifier: workspace:*
version: link:packages/shared
'@halo-dev/richtext-editor':
specifier: 0.0.0-alpha.25
version: 0.0.0-alpha.25(@tiptap/pm@2.0.3)(vue@3.2.45)
specifier: 0.0.0-alpha.29
version: 0.0.0-alpha.29(@tiptap/pm@2.0.3)(vue@3.2.45)
'@tanstack/vue-query':
specifier: ^4.29.1
version: 4.29.1(vue@3.2.45)
'@tiptap/extension-character-count':
specifier: ^2.0.0-beta.220
version: 2.0.0-beta.220(@tiptap/core@2.0.3)(@tiptap/pm@2.0.3)
specifier: ^2.0.4
version: 2.0.4(@tiptap/core@2.0.4)(@tiptap/pm@2.0.3)
'@tiptap/vue-3':
specifier: ^2.0.3
version: 2.0.3(@tiptap/core@2.0.3)(@tiptap/pm@2.0.3)(vue@3.2.45)
specifier: ^2.0.4
version: 2.0.4(@tiptap/core@2.0.4)(@tiptap/pm@2.0.3)(vue@3.2.45)
'@uppy/core':
specifier: ^3.2.0
version: 3.2.0
@ -1832,6 +1832,17 @@ packages:
prettier: 2.8.8
dev: true
/@ckpack/vue-color@1.5.0(vue@3.2.45):
resolution: {integrity: sha512-dj1zXVyay2m4LdlLJCQSdIS2FYwUl77BZqyKmUXiehyqjCP0bGYnPcL38lrShzYUc2FdkYQX8ANZZjRahd4PQw==}
engines: {node: '>=12'}
peerDependencies:
vue: ^3.2.0
dependencies:
'@ctrl/tinycolor': 3.6.0
material-colors: 1.2.6
vue: 3.2.45
dev: false
/@codemirror/autocomplete@6.3.0(@codemirror/language@6.3.1)(@codemirror/state@6.1.4)(@codemirror/view@6.5.1)(@lezer/common@1.0.1):
resolution: {integrity: sha512-4jEvh3AjJZTDKazd10J6ZsCIqaYxDMCeua5ouQxY8hlFIml+nr7le0SgBhT3SIytFBmdzPK3AUhXGuW3T79nVg==}
peerDependencies:
@ -1954,6 +1965,11 @@ packages:
dev: true
optional: true
/@ctrl/tinycolor@3.6.0:
resolution: {integrity: sha512-/Z3l6pXthq0JvMYdUFyX9j0MaCltlIn6mfh9jLyQwg5aPKxkyNa0PTHtU1AlFXLNk55ZuAeJRcpvq+tmLfKmaQ==}
engines: {node: '>=10'}
dev: false
/@cypress/request@2.88.10:
resolution: {integrity: sha512-Zp7F+R93N0yZyG34GutyTNr+okam7s/Fzc1+i3kcqOP8vk6OuajuE9qZJ6Rs+10/1JFtXFYMdyarnU1rZuJesg==}
engines: {node: '>= 6'}
@ -2357,53 +2373,57 @@ packages:
- windicss
dev: false
/@halo-dev/richtext-editor@0.0.0-alpha.25(@tiptap/pm@2.0.3)(vue@3.2.45):
resolution: {integrity: sha512-J56ZzcBiIopP/hr92dFjExB1TBnj/j8wS2y3ql2t5V9C82hHdrIgtkXq5xaOSiDzZmY8mBjs6QYGqwjnG/tYkA==}
/@halo-dev/richtext-editor@0.0.0-alpha.29(@tiptap/pm@2.0.3)(vue@3.2.45):
resolution: {integrity: sha512-5lRL3rpHR6xiuYfvpAT0wvKi1dC0NIadPL2lbHwxMCQDKoZV1BQllsdzrkMfcppsSmS99ZUR+YWlFigMeKwZjw==}
peerDependencies:
vue: ^3.2.37
dependencies:
'@tiptap/core': 2.0.3(@tiptap/pm@2.0.3)
'@tiptap/extension-blockquote': 2.0.3(@tiptap/core@2.0.3)
'@tiptap/extension-bold': 2.0.3(@tiptap/core@2.0.3)
'@tiptap/extension-bullet-list': 2.0.3(@tiptap/core@2.0.3)
'@tiptap/extension-code': 2.0.3(@tiptap/core@2.0.3)
'@tiptap/extension-code-block': 2.0.3(@tiptap/core@2.0.3)(@tiptap/pm@2.0.3)
'@tiptap/extension-code-block-lowlight': 2.0.3(@tiptap/core@2.0.3)(@tiptap/extension-code-block@2.0.3)(@tiptap/pm@2.0.3)
'@tiptap/extension-document': 2.0.3(@tiptap/core@2.0.3)
'@tiptap/extension-dropcursor': 2.0.3(@tiptap/core@2.0.3)(@tiptap/pm@2.0.3)
'@tiptap/extension-gapcursor': 2.0.3(@tiptap/core@2.0.3)(@tiptap/pm@2.0.3)
'@tiptap/extension-hard-break': 2.0.3(@tiptap/core@2.0.3)
'@tiptap/extension-heading': 2.0.3(@tiptap/core@2.0.3)
'@tiptap/extension-highlight': 2.0.3(@tiptap/core@2.0.3)
'@tiptap/extension-history': 2.0.3(@tiptap/core@2.0.3)(@tiptap/pm@2.0.3)
'@tiptap/extension-horizontal-rule': 2.0.3(@tiptap/core@2.0.3)(@tiptap/pm@2.0.3)
'@tiptap/extension-image': 2.0.3(@tiptap/core@2.0.3)
'@tiptap/extension-italic': 2.0.3(@tiptap/core@2.0.3)
'@tiptap/extension-link': 2.0.3(@tiptap/core@2.0.3)(@tiptap/pm@2.0.3)
'@tiptap/extension-list-item': 2.0.3(@tiptap/core@2.0.3)
'@tiptap/extension-ordered-list': 2.0.3(@tiptap/core@2.0.3)
'@tiptap/extension-paragraph': 2.0.3(@tiptap/core@2.0.3)
'@tiptap/extension-placeholder': 2.0.3(@tiptap/core@2.0.3)(@tiptap/pm@2.0.3)
'@tiptap/extension-strike': 2.0.3(@tiptap/core@2.0.3)
'@tiptap/extension-subscript': 2.0.3(@tiptap/core@2.0.3)
'@tiptap/extension-superscript': 2.0.3(@tiptap/core@2.0.3)
'@tiptap/extension-table': 2.0.3(@tiptap/core@2.0.3)(@tiptap/pm@2.0.3)
'@tiptap/extension-table-cell': 2.0.3(@tiptap/core@2.0.3)
'@tiptap/extension-table-header': 2.0.3(@tiptap/core@2.0.3)
'@tiptap/extension-table-row': 2.0.3(@tiptap/core@2.0.3)
'@tiptap/extension-task-item': 2.0.3(@tiptap/core@2.0.3)(@tiptap/pm@2.0.3)
'@tiptap/extension-task-list': 2.0.3(@tiptap/core@2.0.3)
'@tiptap/extension-text': 2.0.3(@tiptap/core@2.0.3)
'@tiptap/extension-text-align': 2.0.3(@tiptap/core@2.0.3)
'@tiptap/extension-underline': 2.0.3(@tiptap/core@2.0.3)
'@tiptap/suggestion': 2.0.3(@tiptap/core@2.0.3)(@tiptap/pm@2.0.3)
'@tiptap/vue-3': 2.0.3(@tiptap/core@2.0.3)(@tiptap/pm@2.0.3)(vue@3.2.45)
'@ckpack/vue-color': 1.5.0(vue@3.2.45)
'@tiptap/core': 2.0.4(@tiptap/pm@2.0.3)
'@tiptap/extension-blockquote': 2.0.4(@tiptap/core@2.0.4)
'@tiptap/extension-bold': 2.0.4(@tiptap/core@2.0.4)
'@tiptap/extension-bullet-list': 2.0.4(@tiptap/core@2.0.4)
'@tiptap/extension-code': 2.0.4(@tiptap/core@2.0.4)
'@tiptap/extension-code-block': 2.0.4(@tiptap/core@2.0.4)(@tiptap/pm@2.0.3)
'@tiptap/extension-code-block-lowlight': 2.0.4(@tiptap/core@2.0.4)(@tiptap/extension-code-block@2.0.4)(@tiptap/pm@2.0.3)
'@tiptap/extension-color': 2.0.4(@tiptap/core@2.0.4)(@tiptap/extension-text-style@2.0.4)
'@tiptap/extension-document': 2.0.4(@tiptap/core@2.0.4)
'@tiptap/extension-dropcursor': 2.0.4(@tiptap/core@2.0.4)(@tiptap/pm@2.0.3)
'@tiptap/extension-gapcursor': 2.0.4(@tiptap/core@2.0.4)(@tiptap/pm@2.0.3)
'@tiptap/extension-hard-break': 2.0.4(@tiptap/core@2.0.4)
'@tiptap/extension-heading': 2.0.4(@tiptap/core@2.0.4)
'@tiptap/extension-highlight': 2.0.4(@tiptap/core@2.0.4)
'@tiptap/extension-history': 2.0.4(@tiptap/core@2.0.4)(@tiptap/pm@2.0.3)
'@tiptap/extension-horizontal-rule': 2.0.4(@tiptap/core@2.0.4)(@tiptap/pm@2.0.3)
'@tiptap/extension-image': 2.0.4(@tiptap/core@2.0.4)
'@tiptap/extension-italic': 2.0.4(@tiptap/core@2.0.4)
'@tiptap/extension-link': 2.0.4(@tiptap/core@2.0.4)(@tiptap/pm@2.0.3)
'@tiptap/extension-list-item': 2.0.4(@tiptap/core@2.0.4)
'@tiptap/extension-ordered-list': 2.0.4(@tiptap/core@2.0.4)
'@tiptap/extension-paragraph': 2.0.4(@tiptap/core@2.0.4)
'@tiptap/extension-placeholder': 2.0.4(@tiptap/core@2.0.4)(@tiptap/pm@2.0.3)
'@tiptap/extension-strike': 2.0.4(@tiptap/core@2.0.4)
'@tiptap/extension-subscript': 2.0.4(@tiptap/core@2.0.4)
'@tiptap/extension-superscript': 2.0.4(@tiptap/core@2.0.4)
'@tiptap/extension-table': 2.0.4(@tiptap/core@2.0.4)(@tiptap/pm@2.0.3)
'@tiptap/extension-table-cell': 2.0.4(@tiptap/core@2.0.4)
'@tiptap/extension-table-header': 2.0.4(@tiptap/core@2.0.4)
'@tiptap/extension-table-row': 2.0.4(@tiptap/core@2.0.4)
'@tiptap/extension-task-item': 2.0.4(@tiptap/core@2.0.4)(@tiptap/pm@2.0.3)
'@tiptap/extension-task-list': 2.0.4(@tiptap/core@2.0.4)
'@tiptap/extension-text': 2.0.4(@tiptap/core@2.0.4)
'@tiptap/extension-text-align': 2.0.4(@tiptap/core@2.0.4)
'@tiptap/extension-text-style': 2.0.4(@tiptap/core@2.0.4)
'@tiptap/extension-underline': 2.0.4(@tiptap/core@2.0.4)
'@tiptap/suggestion': 2.0.4(@tiptap/core@2.0.4)(@tiptap/pm@2.0.3)
'@tiptap/vue-3': 2.0.4(@tiptap/core@2.0.4)(@tiptap/pm@2.0.3)(vue@3.2.45)
floating-vue: 2.0.0-beta.20(vue@3.2.45)
github-markdown-css: 5.2.0
highlight.js: 11.7.0
lowlight: 2.9.0
prosemirror-model: 1.19.2
prosemirror-view: 1.31.5
prosemirror-model: 1.19.3
prosemirror-state: 1.4.3
prosemirror-view: 1.31.6
tippy.js: 6.3.7
vue: 3.2.45
vue-i18n: 9.2.2(vue@3.2.45)
@ -3410,339 +3430,357 @@ packages:
vue-demi: 0.13.11(vue@3.2.45)
dev: false
/@tiptap/core@2.0.3(@tiptap/pm@2.0.3):
resolution: {integrity: sha512-jLyVIWAdjjlNzrsRhSE2lVL/7N8228/1R1QtaVU85UlMIwHFAcdzhD8FeiKkqxpTnGpaDVaTy7VNEtEgaYdCyA==}
/@tiptap/core@2.0.4(@tiptap/pm@2.0.3):
resolution: {integrity: sha512-2YOMjRqoBGEP4YGgYpuPuBBJHMeqKOhLnS0WVwjVP84zOmMgZ7A8M6ILC9Xr7Q/qHZCvyBGWOSsI7+3HsEzzYQ==}
peerDependencies:
'@tiptap/pm': ^2.0.0
dependencies:
'@tiptap/pm': 2.0.3(@tiptap/core@2.0.3)
'@tiptap/pm': 2.0.3(@tiptap/core@2.0.4)
dev: false
/@tiptap/extension-blockquote@2.0.3(@tiptap/core@2.0.3):
resolution: {integrity: sha512-rkUcFv2iL6f86DBBHoa4XdKNG2StvkJ7tfY9GoMpT46k3nxOaMTqak9/qZOo79TWxMLYtXzoxtKIkmWsbbcj4A==}
/@tiptap/extension-blockquote@2.0.4(@tiptap/core@2.0.4):
resolution: {integrity: sha512-z5qfuLi04OgCBI6/odzB2vhulT/wpjymYOnON65vLXGZZbUw4cbPloykhqgWvQp+LzKH+HBhl4fz53d5CgnbOA==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.0.3(@tiptap/pm@2.0.3)
'@tiptap/core': 2.0.4(@tiptap/pm@2.0.3)
dev: false
/@tiptap/extension-bold@2.0.3(@tiptap/core@2.0.3):
resolution: {integrity: sha512-OGT62fMRovSSayjehumygFWTg2Qn0IDbqyMpigg/RUAsnoOI2yBZFVrdM2gk1StyoSay7gTn2MLw97IUfr7FXg==}
/@tiptap/extension-bold@2.0.4(@tiptap/core@2.0.4):
resolution: {integrity: sha512-CWSQy1uWkVsen8HUsqhm+oEIxJrCiCENABUbhaVcJL/MqhnP4Trrh1B6O00Yfoc0XToPRRibDaHMFs4A3MSO0g==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.0.3(@tiptap/pm@2.0.3)
'@tiptap/core': 2.0.4(@tiptap/pm@2.0.3)
dev: false
/@tiptap/extension-bubble-menu@2.0.3(@tiptap/core@2.0.3)(@tiptap/pm@2.0.3):
resolution: {integrity: sha512-lPt1ELrYCuoQrQEUukqjp9xt38EwgPUwaKHI3wwt2Rbv+C6q1gmRsK1yeO/KqCNmFxNqF2p9ZF9srOnug/RZDQ==}
/@tiptap/extension-bubble-menu@2.0.4(@tiptap/core@2.0.4)(@tiptap/pm@2.0.3):
resolution: {integrity: sha512-+cRZwj0YINNNDElSAiX1pvY2K98S2j9MQW2dXV5oLqsJhqGPZsKxVo8I1u7ZtqUla3QE1V18RYPAzVgTiMRkBg==}
peerDependencies:
'@tiptap/core': ^2.0.0
'@tiptap/pm': ^2.0.0
dependencies:
'@tiptap/core': 2.0.3(@tiptap/pm@2.0.3)
'@tiptap/pm': 2.0.3(@tiptap/core@2.0.3)
'@tiptap/core': 2.0.4(@tiptap/pm@2.0.3)
'@tiptap/pm': 2.0.3(@tiptap/core@2.0.4)
tippy.js: 6.3.7
dev: false
/@tiptap/extension-bullet-list@2.0.3(@tiptap/core@2.0.3):
resolution: {integrity: sha512-RtaLiRvZbMTOje+FW5bn+mYogiIgNxOm065wmyLPypnTbLSeHeYkoqVSqzZeqUn+7GLnwgn1shirUe6csVE/BA==}
/@tiptap/extension-bullet-list@2.0.4(@tiptap/core@2.0.4):
resolution: {integrity: sha512-JSZKBVTaKSuLl5fR4EKE4dOINOrgeRHYA25Vj6cWjgdvpTw5ef7vcUdn9yP4JwTmLRI+VnnMlYL3rqigU3iZNg==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.0.3(@tiptap/pm@2.0.3)
'@tiptap/core': 2.0.4(@tiptap/pm@2.0.3)
dev: false
/@tiptap/extension-character-count@2.0.0-beta.220(@tiptap/core@2.0.3)(@tiptap/pm@2.0.3):
resolution: {integrity: sha512-D2AbDi7Q429Ua6U+MdEtxyIEue8KEATOGfmvDlSv5wS+EsUbh6fkG/6yUKFtke2DaePXqbpkxfwXgLT0JP4zTg==}
/@tiptap/extension-character-count@2.0.4(@tiptap/core@2.0.4)(@tiptap/pm@2.0.3):
resolution: {integrity: sha512-M2nrgHAEADk/TIBjfrXrXRaz9UA7grGTvvdESI30c59V0BFQnYa0IfCh99DCbl3DqHXro+KUZUDX3lRVQZJvBg==}
peerDependencies:
'@tiptap/core': ^2.0.0-beta.209
'@tiptap/pm': ^2.0.0-beta.209
'@tiptap/core': ^2.0.0
'@tiptap/pm': ^2.0.0
dependencies:
'@tiptap/core': 2.0.3(@tiptap/pm@2.0.3)
'@tiptap/pm': 2.0.3(@tiptap/core@2.0.3)
'@tiptap/core': 2.0.4(@tiptap/pm@2.0.3)
'@tiptap/pm': 2.0.3(@tiptap/core@2.0.4)
dev: false
/@tiptap/extension-code-block-lowlight@2.0.3(@tiptap/core@2.0.3)(@tiptap/extension-code-block@2.0.3)(@tiptap/pm@2.0.3):
resolution: {integrity: sha512-thFXcFdFyHF0/dr9sqBedjj0Vt14k3m52YVc4l65+d65wRuHp4f8suu8T2ZGRJwqLCE3NIrvwQTSHhzjIqJVxQ==}
/@tiptap/extension-code-block-lowlight@2.0.4(@tiptap/core@2.0.4)(@tiptap/extension-code-block@2.0.4)(@tiptap/pm@2.0.3):
resolution: {integrity: sha512-fKM/4MY9R75IJJVt7P+aD+GX3yzzL6oHo1dn4hNFJlYp2x5+yH6kneaqKcTglVicBCGc8Ks6wJLEZTxxG35MOA==}
peerDependencies:
'@tiptap/core': ^2.0.0
'@tiptap/extension-code-block': ^2.0.0
'@tiptap/pm': ^2.0.0
dependencies:
'@tiptap/core': 2.0.3(@tiptap/pm@2.0.3)
'@tiptap/extension-code-block': 2.0.3(@tiptap/core@2.0.3)(@tiptap/pm@2.0.3)
'@tiptap/pm': 2.0.3(@tiptap/core@2.0.3)
'@tiptap/core': 2.0.4(@tiptap/pm@2.0.3)
'@tiptap/extension-code-block': 2.0.4(@tiptap/core@2.0.4)(@tiptap/pm@2.0.3)
'@tiptap/pm': 2.0.3(@tiptap/core@2.0.4)
dev: false
/@tiptap/extension-code-block@2.0.3(@tiptap/core@2.0.3)(@tiptap/pm@2.0.3):
resolution: {integrity: sha512-F4xMy18EwgpyY9f5Te7UuF7UwxRLptOtCq1p2c2DfxBvHDWhAjQqVqcW/sq/I/WuED7FwCnPLyyAasPiVPkLPw==}
/@tiptap/extension-code-block@2.0.4(@tiptap/core@2.0.4)(@tiptap/pm@2.0.3):
resolution: {integrity: sha512-In2tV3rgm/MznVF0N7qYsYugPWSzhZHaCRCWcFKNvllMExpo91bUWvk+hXaIhhPxvuqGIVezjybwrYuU3bJW0g==}
peerDependencies:
'@tiptap/core': ^2.0.0
'@tiptap/pm': ^2.0.0
dependencies:
'@tiptap/core': 2.0.3(@tiptap/pm@2.0.3)
'@tiptap/pm': 2.0.3(@tiptap/core@2.0.3)
'@tiptap/core': 2.0.4(@tiptap/pm@2.0.3)
'@tiptap/pm': 2.0.3(@tiptap/core@2.0.4)
dev: false
/@tiptap/extension-code@2.0.3(@tiptap/core@2.0.3):
resolution: {integrity: sha512-LsVCKVxgBtkstAr1FjxN8T3OjlC76a2X8ouoZpELMp+aXbjqyanCKzt+sjjUhE4H0yLFd4v+5v6UFoCv4EILiw==}
/@tiptap/extension-code@2.0.4(@tiptap/core@2.0.4):
resolution: {integrity: sha512-HuwJSJkipZf4hkns9witv1CABNIPiB9C8lgAQXK4xJKcoUQChcnljEL+PQ2NqeEeMTEeV3nG3A/0QafH0pgTgg==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.0.3(@tiptap/pm@2.0.3)
'@tiptap/core': 2.0.4(@tiptap/pm@2.0.3)
dev: false
/@tiptap/extension-document@2.0.3(@tiptap/core@2.0.3):
resolution: {integrity: sha512-PsYeNQQBYIU9ayz1R11Kv/kKNPFNIV8tApJ9pxelXjzcAhkjncNUazPN/dyho60mzo+WpsmS3ceTj/gK3bCtWA==}
/@tiptap/extension-color@2.0.4(@tiptap/core@2.0.4)(@tiptap/extension-text-style@2.0.4):
resolution: {integrity: sha512-7Eb5Gk9v3sj2i1Q8dfqmpnc5aDPC/t0ZEsSLRi4C6SNo1nBeUxteXzpzxWwYjTvK+Um40STR89Z6PY14FIYXSA==}
peerDependencies:
'@tiptap/core': ^2.0.0
'@tiptap/extension-text-style': ^2.0.0
dependencies:
'@tiptap/core': 2.0.4(@tiptap/pm@2.0.3)
'@tiptap/extension-text-style': 2.0.4(@tiptap/core@2.0.4)
dev: false
/@tiptap/extension-document@2.0.4(@tiptap/core@2.0.4):
resolution: {integrity: sha512-mCj2fAhnNhIHttPSqfTPSSTGwClGaPYvhT56Ij/Pi4iCrWjPXzC4XnIkIHSS34qS2tJN4XJzr/z7lm3NeLkF1w==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.0.3(@tiptap/pm@2.0.3)
'@tiptap/core': 2.0.4(@tiptap/pm@2.0.3)
dev: false
/@tiptap/extension-dropcursor@2.0.3(@tiptap/core@2.0.3)(@tiptap/pm@2.0.3):
resolution: {integrity: sha512-McthMrfusn6PjcaynJLheZJcXto8TaIW5iVitYh8qQrDXr31MALC/5GvWuiswmQ8bAXiWPwlLDYE/OJfwtggaw==}
/@tiptap/extension-dropcursor@2.0.4(@tiptap/core@2.0.4)(@tiptap/pm@2.0.3):
resolution: {integrity: sha512-1OmKBv/E+nJo2vsosvu8KwFiBB+gZM1pY61qc7JbwEKHSYAxUFHfvLkIA0IQ53Z0DHMrFSKgWmHEcbnqtGevCA==}
peerDependencies:
'@tiptap/core': ^2.0.0
'@tiptap/pm': ^2.0.0
dependencies:
'@tiptap/core': 2.0.3(@tiptap/pm@2.0.3)
'@tiptap/pm': 2.0.3(@tiptap/core@2.0.3)
'@tiptap/core': 2.0.4(@tiptap/pm@2.0.3)
'@tiptap/pm': 2.0.3(@tiptap/core@2.0.4)
dev: false
/@tiptap/extension-floating-menu@2.0.3(@tiptap/core@2.0.3)(@tiptap/pm@2.0.3):
resolution: {integrity: sha512-zN1vRGRvyK3pO2aHRmQSOTpl4UJraXYwKYM009n6WviYKUNm0LPGo+VD4OAtdzUhPXyccnlsTv2p6LIqFty6Bg==}
/@tiptap/extension-floating-menu@2.0.4(@tiptap/core@2.0.4)(@tiptap/pm@2.0.3):
resolution: {integrity: sha512-0YRE738k+kNKuSHhAb3jj9ZQ7Kda78RYRr+cX2jrQVueIMKebPIY07eBt6JcKmob9V9vcNn9qLtBfmygfcPUQg==}
peerDependencies:
'@tiptap/core': ^2.0.0
'@tiptap/pm': ^2.0.0
dependencies:
'@tiptap/core': 2.0.3(@tiptap/pm@2.0.3)
'@tiptap/pm': 2.0.3(@tiptap/core@2.0.3)
'@tiptap/core': 2.0.4(@tiptap/pm@2.0.3)
'@tiptap/pm': 2.0.3(@tiptap/core@2.0.4)
tippy.js: 6.3.7
dev: false
/@tiptap/extension-gapcursor@2.0.3(@tiptap/core@2.0.3)(@tiptap/pm@2.0.3):
resolution: {integrity: sha512-6I9EzzsYOyyqDvDvxIK6Rv3EXB+fHKFj8ntHO8IXmeNJ6pkhOinuXVsW6Yo7TcDYoTj4D5I2MNFAW2rIkgassw==}
/@tiptap/extension-gapcursor@2.0.4(@tiptap/core@2.0.4)(@tiptap/pm@2.0.3):
resolution: {integrity: sha512-VxmKfBQjSSu1mNvHlydA4dJW/zawGKyqmnryiFNcUV9s+/HWLR5i9SiUl4wJM/B8sG8cQxClne5/LrCAeGNYuA==}
peerDependencies:
'@tiptap/core': ^2.0.0
'@tiptap/pm': ^2.0.0
dependencies:
'@tiptap/core': 2.0.3(@tiptap/pm@2.0.3)
'@tiptap/pm': 2.0.3(@tiptap/core@2.0.3)
'@tiptap/core': 2.0.4(@tiptap/pm@2.0.3)
'@tiptap/pm': 2.0.3(@tiptap/core@2.0.4)
dev: false
/@tiptap/extension-hard-break@2.0.3(@tiptap/core@2.0.3):
resolution: {integrity: sha512-RCln6ARn16jvKTjhkcAD5KzYXYS0xRMc0/LrHeV8TKdCd4Yd0YYHe0PU4F9gAgAfPQn7Dgt4uTVJLN11ICl8sQ==}
/@tiptap/extension-hard-break@2.0.4(@tiptap/core@2.0.4):
resolution: {integrity: sha512-4j8BZa6diuoRytWoIc7j25EYWWut5TZDLbb+OVURdkHnsF8B8zeNTo55W40CdwSaSyTtXtxbTIldV80ShQarGQ==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.0.3(@tiptap/pm@2.0.3)
'@tiptap/core': 2.0.4(@tiptap/pm@2.0.3)
dev: false
/@tiptap/extension-heading@2.0.3(@tiptap/core@2.0.3):
resolution: {integrity: sha512-f0IEv5ms6aCzL80WeZ1qLCXTkRVwbpRr1qAETjg3gG4eoJN18+lZNOJYpyZy3P92C5KwF2T3Av00eFyVLIbb8Q==}
/@tiptap/extension-heading@2.0.4(@tiptap/core@2.0.4):
resolution: {integrity: sha512-EfitUbew5ljH3xVlBXAxqqcJ4rjv15b8379LYOV6KQCf+Y1wY0gy9Q8wXSnrsAagqrvqipja4Ihn3OZeyIM+CA==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.0.3(@tiptap/pm@2.0.3)
'@tiptap/core': 2.0.4(@tiptap/pm@2.0.3)
dev: false
/@tiptap/extension-highlight@2.0.3(@tiptap/core@2.0.3):
resolution: {integrity: sha512-NrtibY8cZkIjZMQuHRrKd4php+plOvAoSo8g3uVFu275I/Ixt5HqJ53R4voCXs8W8BOBRs2HS2QX8Cjh79XhtA==}
/@tiptap/extension-highlight@2.0.4(@tiptap/core@2.0.4):
resolution: {integrity: sha512-z1hcpf0eHHdaBE0pewXiNIu+QBodw4IAbZykTXMaY1xCsbYWfOJxeIb5o+CEG5HBsmaoJrCYenQw71xzgV0hKA==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.0.3(@tiptap/pm@2.0.3)
'@tiptap/core': 2.0.4(@tiptap/pm@2.0.3)
dev: false
/@tiptap/extension-history@2.0.3(@tiptap/core@2.0.3)(@tiptap/pm@2.0.3):
resolution: {integrity: sha512-00KHIcJ8kivn2ARI6NQYphv2LfllVCXViHGm0EhzDW6NQxCrriJKE3tKDcTFCu7LlC5doMpq9Z6KXdljc4oVeQ==}
/@tiptap/extension-history@2.0.4(@tiptap/core@2.0.4)(@tiptap/pm@2.0.3):
resolution: {integrity: sha512-3GAUszn1xZx3vniHMiX9BSKmfvb5QOb0oSLXInN+hx80CgJDIHqIFuhx2dyV9I/HWpa0cTxaLWj64kfDzb1JVg==}
peerDependencies:
'@tiptap/core': ^2.0.0
'@tiptap/pm': ^2.0.0
dependencies:
'@tiptap/core': 2.0.3(@tiptap/pm@2.0.3)
'@tiptap/pm': 2.0.3(@tiptap/core@2.0.3)
'@tiptap/core': 2.0.4(@tiptap/pm@2.0.3)
'@tiptap/pm': 2.0.3(@tiptap/core@2.0.4)
dev: false
/@tiptap/extension-horizontal-rule@2.0.3(@tiptap/core@2.0.3)(@tiptap/pm@2.0.3):
resolution: {integrity: sha512-SZRUSh07b/M0kJHNKnfBwBMWrZBEm/E2LrK1NbluwT3DBhE+gvwiEdBxgB32zKHNxaDEXUJwUIPNC3JSbKvPUA==}
/@tiptap/extension-horizontal-rule@2.0.4(@tiptap/core@2.0.4)(@tiptap/pm@2.0.3):
resolution: {integrity: sha512-OMx2ImQseKbSUjPbbRCuYGOJshxYedh9giWAqwgWWokhYkH4nGxXn5m7+Laj+1wLre4bnWgHWVY4wMGniEj3aw==}
peerDependencies:
'@tiptap/core': ^2.0.0
'@tiptap/pm': ^2.0.0
dependencies:
'@tiptap/core': 2.0.3(@tiptap/pm@2.0.3)
'@tiptap/pm': 2.0.3(@tiptap/core@2.0.3)
'@tiptap/core': 2.0.4(@tiptap/pm@2.0.3)
'@tiptap/pm': 2.0.3(@tiptap/core@2.0.4)
dev: false
/@tiptap/extension-image@2.0.3(@tiptap/core@2.0.3):
resolution: {integrity: sha512-hS9ZJwz0md07EHsC+o4NuuJkhCZsZn7TuRz/2CvRSj2fWFIz+40CyNAHf/2J0qNugG9ommXaemetsADeEZP9ag==}
/@tiptap/extension-image@2.0.4(@tiptap/core@2.0.4):
resolution: {integrity: sha512-5iQ96pt9xppM8sWzwhGgc99PPoYPQuokTaCXAQKDI0Y1CFCjZ+/duUG3al1VUMpBXsjJw3/RVO1+7CEhRTd3mA==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.0.3(@tiptap/pm@2.0.3)
'@tiptap/core': 2.0.4(@tiptap/pm@2.0.3)
dev: false
/@tiptap/extension-italic@2.0.3(@tiptap/core@2.0.3):
resolution: {integrity: sha512-cfS5sW0gu7qf4ihwnLtW/QMTBrBEXaT0sJl3RwkhjIBg/65ywJKE5Nz9ewnQHmDeT18hvMJJ1VIb4j4ze9jj9A==}
/@tiptap/extension-italic@2.0.4(@tiptap/core@2.0.4):
resolution: {integrity: sha512-C/6+qs4Jh8xERRP0wcOopA1+emK8MOkBE4RQx5NbPnT2iCpERP0GlmHBFQIjaYPctZgKFHxsCfRnneS5Xe76+A==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.0.3(@tiptap/pm@2.0.3)
'@tiptap/core': 2.0.4(@tiptap/pm@2.0.3)
dev: false
/@tiptap/extension-link@2.0.3(@tiptap/core@2.0.3)(@tiptap/pm@2.0.3):
resolution: {integrity: sha512-H72tXQ5rkVCkAhFaf08fbEU7EBUCK0uocsqOF+4th9sOlrhfgyJtc8Jv5EXPDpxNgG5jixSqWBo0zKXQm9s9eg==}
/@tiptap/extension-link@2.0.4(@tiptap/core@2.0.4)(@tiptap/pm@2.0.3):
resolution: {integrity: sha512-CliImI1hmC+J6wHxqgz9P4wMjoNSSgm3fnNHsx5z0Bn6JRA4Evh2E3KZAdMaE8xCTx89rKxMYNbamZf4VLSoqQ==}
peerDependencies:
'@tiptap/core': ^2.0.0
'@tiptap/pm': ^2.0.0
dependencies:
'@tiptap/core': 2.0.3(@tiptap/pm@2.0.3)
'@tiptap/pm': 2.0.3(@tiptap/core@2.0.3)
'@tiptap/core': 2.0.4(@tiptap/pm@2.0.3)
'@tiptap/pm': 2.0.3(@tiptap/core@2.0.4)
linkifyjs: 4.1.1
dev: false
/@tiptap/extension-list-item@2.0.3(@tiptap/core@2.0.3):
resolution: {integrity: sha512-p7cUsk0LpM1PfdAuFE8wYBNJ3gvA0UhNGR08Lo++rt9UaCeFLSN1SXRxg97c0oa5+Ski7SrCjIJ5Ynhz0viTjQ==}
/@tiptap/extension-list-item@2.0.4(@tiptap/core@2.0.4):
resolution: {integrity: sha512-tSkbLgRo1QMNDJttWs9FeRywkuy5T2HdLKKfUcUNzT3s0q5AqIJl7VyimsBL4A6MUfN1qQMZCMHB4pM9Mkluww==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.0.3(@tiptap/pm@2.0.3)
'@tiptap/core': 2.0.4(@tiptap/pm@2.0.3)
dev: false
/@tiptap/extension-ordered-list@2.0.3(@tiptap/core@2.0.3):
resolution: {integrity: sha512-ZB3MpZh/GEy1zKgw7XDQF4FIwycZWNof1k9WbDZOI063Ch4qHZowhVttH2mTCELuyvTMM/o9a8CS7qMqQB48bw==}
/@tiptap/extension-ordered-list@2.0.4(@tiptap/core@2.0.4):
resolution: {integrity: sha512-Kfg+8k9p4iJCUKP/yIa18LfUpl9trURSMP/HX3/yQTz9Ul1vDrjxeFjSE5uWNvupcXRAM24js+aYrCmV7zpU+Q==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.0.3(@tiptap/pm@2.0.3)
'@tiptap/core': 2.0.4(@tiptap/pm@2.0.3)
dev: false
/@tiptap/extension-paragraph@2.0.3(@tiptap/core@2.0.3):
resolution: {integrity: sha512-a+tKtmj4bU3GVCH1NE8VHWnhVexxX5boTVxsHIr4yGG3UoKo1c5AO7YMaeX2W5xB5iIA+BQqOPCDPEAx34dd2A==}
/@tiptap/extension-paragraph@2.0.4(@tiptap/core@2.0.4):
resolution: {integrity: sha512-nDxpopi9WigVqpfi8nU3B0fWYB14EMvKIkutNZo8wJvKGTZufNI8hw66wupIx/jZH1gFxEa5dHerw6aSYuWjgQ==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.0.3(@tiptap/pm@2.0.3)
'@tiptap/core': 2.0.4(@tiptap/pm@2.0.3)
dev: false
/@tiptap/extension-placeholder@2.0.3(@tiptap/core@2.0.3)(@tiptap/pm@2.0.3):
resolution: {integrity: sha512-Z42jo0termRAf0S0L8oxrts94IWX5waU4isS2CUw8xCUigYyCFslkhQXkWATO1qRbjNFLKN2C9qvCgGf4UeBrw==}
/@tiptap/extension-placeholder@2.0.4(@tiptap/core@2.0.4)(@tiptap/pm@2.0.3):
resolution: {integrity: sha512-Y8hjUYBGTbytgrsplSZdHGciqbuVHQX+h0JcuvVaIlAy1kR7hmbxJLqL8tNa7qLtTqo2MfS2942OtSv85JOCzA==}
peerDependencies:
'@tiptap/core': ^2.0.0
'@tiptap/pm': ^2.0.0
dependencies:
'@tiptap/core': 2.0.3(@tiptap/pm@2.0.3)
'@tiptap/pm': 2.0.3(@tiptap/core@2.0.3)
'@tiptap/core': 2.0.4(@tiptap/pm@2.0.3)
'@tiptap/pm': 2.0.3(@tiptap/core@2.0.4)
dev: false
/@tiptap/extension-strike@2.0.3(@tiptap/core@2.0.3):
resolution: {integrity: sha512-RO4/EYe2iPD6ifDHORT8fF6O9tfdtnzxLGwZIKZXnEgtweH+MgoqevEzXYdS+54Wraq4TUQGNcsYhe49pv7Rlw==}
/@tiptap/extension-strike@2.0.4(@tiptap/core@2.0.4):
resolution: {integrity: sha512-Men7LK6N/Dh3/G4/z2Z9WkDHM2Gxx1XyxYix2ZMf5CnqY37SeDNUnGDqit65pdIN3Y/TQnOZTkKSBilSAtXfJA==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.0.3(@tiptap/pm@2.0.3)
'@tiptap/core': 2.0.4(@tiptap/pm@2.0.3)
dev: false
/@tiptap/extension-subscript@2.0.3(@tiptap/core@2.0.3):
resolution: {integrity: sha512-XFAEUaKxWRmTq7ePEF4aj7knelJPr2fTz0y/iSXydtS094LKwBHBzxatIZY3phrgfpDc+f51ycwarsgz27UJfg==}
/@tiptap/extension-subscript@2.0.4(@tiptap/core@2.0.4):
resolution: {integrity: sha512-5Z4Wemz/krWE/LNwxIZuRCcvgxpF7FRvG+2KFCoaMZrV7tYTDAOxQyD7HdA/Lab5M1YXaJUd2UWVwSUBONhHDA==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.0.3(@tiptap/pm@2.0.3)
'@tiptap/core': 2.0.4(@tiptap/pm@2.0.3)
dev: false
/@tiptap/extension-superscript@2.0.3(@tiptap/core@2.0.3):
resolution: {integrity: sha512-5EBjUvkw2SXL1e8C1i0UF26/GBNHxEbiNQKw7Shy88omVa4HTY+D8KWC/j29ZW/IomUbGPlbpXp1z+1TETzmyw==}
/@tiptap/extension-superscript@2.0.4(@tiptap/core@2.0.4):
resolution: {integrity: sha512-XmNulS19eUs7KYM5H+n6blbGSOmG8Vbi+0YdPVBi71oHfn+gm6a5CfjZt1JxpMe4fNa6gtCnotTHHQdBzo7VGA==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.0.3(@tiptap/pm@2.0.3)
'@tiptap/core': 2.0.4(@tiptap/pm@2.0.3)
dev: false
/@tiptap/extension-table-cell@2.0.3(@tiptap/core@2.0.3):
resolution: {integrity: sha512-d0vpwQfRIOhqKJdoiOJybwWhjnug3QA4Mkgccp378moDRyOer3hPKavG1Ljgz087qHrN4WfdUlMGEvasYsWE7w==}
/@tiptap/extension-table-cell@2.0.4(@tiptap/core@2.0.4):
resolution: {integrity: sha512-q5FDVjdetE5zY9HmPxhlVZN8ldEi9DcycxoepDTCd6SkWzG0lrCm8sUIMzHMaCRlg9y3QSutalOiW0StYOrS1Q==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.0.3(@tiptap/pm@2.0.3)
'@tiptap/core': 2.0.4(@tiptap/pm@2.0.3)
dev: false
/@tiptap/extension-table-header@2.0.3(@tiptap/core@2.0.3):
resolution: {integrity: sha512-SnGl1U6usRRS6LyAjSdhaCYLF6NWbGhjVFSmiPrjb0pOzsiVeDOiUNCyUAIYaDNnjAF2pfK6+H+uHzYPqTi+/w==}
/@tiptap/extension-table-header@2.0.4(@tiptap/core@2.0.4):
resolution: {integrity: sha512-UkDrviIy+W65bWGHU8DSsLH4WrvphQ8BzzDlw9LnjV63QQHeftp/P6wXRg9kebOuJD/KTm63L0vTWwdptRuzyA==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.0.3(@tiptap/pm@2.0.3)
'@tiptap/core': 2.0.4(@tiptap/pm@2.0.3)
dev: false
/@tiptap/extension-table-row@2.0.3(@tiptap/core@2.0.3):
resolution: {integrity: sha512-tyqeXmQLNSBsYyiNsnQuJMxNbz6dYt+P5W58+h10mjbt+hERA5+alQQyP06O2DggsT3Z0LPt7QRAlNmOBe7cyQ==}
/@tiptap/extension-table-row@2.0.4(@tiptap/core@2.0.4):
resolution: {integrity: sha512-/fZJ0MWa04p2eLS/KKEAvDk3Ia6RRSFMSjjZgk76pUY3zQmrE03pKnKc5SRIGB+UUnF/hT1lSqe91Syah0FZAA==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.0.3(@tiptap/pm@2.0.3)
'@tiptap/core': 2.0.4(@tiptap/pm@2.0.3)
dev: false
/@tiptap/extension-table@2.0.3(@tiptap/core@2.0.3)(@tiptap/pm@2.0.3):
resolution: {integrity: sha512-8swHqm8vRM1w9WzaAhLmY24gGoTozctz4KHKBjvFY/Ka0yXabT0+hoCCdkZLnXWi15H3pbHs2HnDBaTGL9bZTw==}
/@tiptap/extension-table@2.0.4(@tiptap/core@2.0.4)(@tiptap/pm@2.0.3):
resolution: {integrity: sha512-HZKe0cXxXs2o2l8xyaoqemoT/qVxyM0iNjKUL4ve2RwvSRqta4sEl+Dr8q2VIlr6VkcyPE8fppTZN9/bgLlwFA==}
peerDependencies:
'@tiptap/core': ^2.0.0
'@tiptap/pm': ^2.0.0
dependencies:
'@tiptap/core': 2.0.3(@tiptap/pm@2.0.3)
'@tiptap/pm': 2.0.3(@tiptap/core@2.0.3)
'@tiptap/core': 2.0.4(@tiptap/pm@2.0.3)
'@tiptap/pm': 2.0.3(@tiptap/core@2.0.4)
dev: false
/@tiptap/extension-task-item@2.0.3(@tiptap/core@2.0.3)(@tiptap/pm@2.0.3):
resolution: {integrity: sha512-13u1Q769WiSNcjFieYAMuJyWXNaY9yOdw6WFg9tQg4EZ5h6+2DaxB0qmu6I3pH+wwSn2UkCkXIirAo/k7wnzbw==}
/@tiptap/extension-task-item@2.0.4(@tiptap/core@2.0.4)(@tiptap/pm@2.0.3):
resolution: {integrity: sha512-0FfYWrOslDzzN7Ehnt3yBekOSH45tiB/3gzFRvGdLBUv0PiYQolUpyfHGsdNzeKYuWLF1yiacJkCeLgNDgCLDw==}
peerDependencies:
'@tiptap/core': ^2.0.0
'@tiptap/pm': ^2.0.0
dependencies:
'@tiptap/core': 2.0.3(@tiptap/pm@2.0.3)
'@tiptap/pm': 2.0.3(@tiptap/core@2.0.3)
'@tiptap/core': 2.0.4(@tiptap/pm@2.0.3)
'@tiptap/pm': 2.0.3(@tiptap/core@2.0.4)
dev: false
/@tiptap/extension-task-list@2.0.3(@tiptap/core@2.0.3):
resolution: {integrity: sha512-NdW0RtMF2L96qy+j946mTB5Av6Qn5L3vGVWFmJA6/JPXr9Uj/grItCmqUQKHfPBSFow7UqBY82ODblP+GQFgew==}
/@tiptap/extension-task-list@2.0.4(@tiptap/core@2.0.4):
resolution: {integrity: sha512-3RGoEgGJdWpGf8aWl7O7+jnnvfpF0or2YHYYvJv13t5G4dNIS9E7QXT3/rU9QtHNYkbcJYFjHligIFuBTAhZNg==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.0.3(@tiptap/pm@2.0.3)
'@tiptap/core': 2.0.4(@tiptap/pm@2.0.3)
dev: false
/@tiptap/extension-text-align@2.0.3(@tiptap/core@2.0.3):
resolution: {integrity: sha512-VlLgqncKdjMjVjbU60/ALYhFs0wUdjAyvjDXnH1OoM/HuzbILvufPMYz4DUieJIWVJOYUKHQgg4XwBWceAM2Tw==}
/@tiptap/extension-text-align@2.0.4(@tiptap/core@2.0.4):
resolution: {integrity: sha512-ArIWhkTqbZFRQcj34Zb17rW1+JeYMAaZpf9LKNAB4CSsqYeF5JqVmrZvOSI7NtyFsEx4rHXMHb1iMKjdwm8fUw==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.0.3(@tiptap/pm@2.0.3)
'@tiptap/core': 2.0.4(@tiptap/pm@2.0.3)
dev: false
/@tiptap/extension-text@2.0.3(@tiptap/core@2.0.3):
resolution: {integrity: sha512-LvzChcTCcPSMNLUjZe/A9SHXWGDHtvk73fR7CBqAeNU0MxhBPEBI03GFQ6RzW3xX0CmDmjpZoDxFMB+hDEtW1A==}
/@tiptap/extension-text-style@2.0.4(@tiptap/core@2.0.4):
resolution: {integrity: sha512-HQk8c7HasDdeAJxlHrztkgprxocZecZVUMlvPvFAhkq8E/5+nfmr/Gm9qudiStEARZrIYBATNA2PbnQuIGMx3A==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.0.3(@tiptap/pm@2.0.3)
'@tiptap/core': 2.0.4(@tiptap/pm@2.0.3)
dev: false
/@tiptap/extension-underline@2.0.3(@tiptap/core@2.0.3):
resolution: {integrity: sha512-oMYa7qib/5wJjpUp79GZEe+E/iyf1oZBsgiG26IspEtVTHZmpn3+Ktud7l43y/hpTeEzFTKOF1/uVbayHtSERg==}
/@tiptap/extension-text@2.0.4(@tiptap/core@2.0.4):
resolution: {integrity: sha512-i8/VFlVZh7TkAI49KKX5JmC0tM8RGwyg5zUpozxYbLdCOv07AkJt+E1fLJty9mqH4Y5HJMNnyNxsuZ9Ol/ySRA==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.0.3(@tiptap/pm@2.0.3)
'@tiptap/core': 2.0.4(@tiptap/pm@2.0.3)
dev: false
/@tiptap/pm@2.0.3(@tiptap/core@2.0.3):
/@tiptap/extension-underline@2.0.4(@tiptap/core@2.0.4):
resolution: {integrity: sha512-Hvhy3iV5dWs0SFTww6sIzyQSSgVzcQuiozhDs11iP+gvFjK7ejg86KZ8wAVvyCi9K3bOMhohsw1Q2b8JSnIxcg==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.0.4(@tiptap/pm@2.0.3)
dev: false
/@tiptap/pm@2.0.3(@tiptap/core@2.0.4):
resolution: {integrity: sha512-I9dsInD89Agdm1QjFRO9dmJtU1ldVSILNPW0pEhv9wYqYVvl4HUj/JMtYNqu2jWrCHNXQcaX/WkdSdvGJtmg5g==}
peerDependencies:
'@tiptap/core': ^2.0.0
dependencies:
'@tiptap/core': 2.0.3(@tiptap/pm@2.0.3)
'@tiptap/core': 2.0.4(@tiptap/pm@2.0.3)
prosemirror-changeset: 2.2.0
prosemirror-collab: 1.3.0
prosemirror-commands: 1.5.0
@ -3753,37 +3791,37 @@ packages:
prosemirror-keymap: 1.2.0
prosemirror-markdown: 1.10.1
prosemirror-menu: 1.2.1
prosemirror-model: 1.19.2
prosemirror-model: 1.19.3
prosemirror-schema-basic: 1.2.1
prosemirror-schema-list: 1.2.2
prosemirror-state: 1.4.1
prosemirror-state: 1.4.3
prosemirror-tables: 1.3.2
prosemirror-trailing-node: 2.0.3(prosemirror-model@1.19.2)(prosemirror-state@1.4.1)(prosemirror-view@1.31.5)
prosemirror-trailing-node: 2.0.3(prosemirror-model@1.19.3)(prosemirror-state@1.4.3)(prosemirror-view@1.31.6)
prosemirror-transform: 1.7.0
prosemirror-view: 1.31.5
prosemirror-view: 1.31.6
dev: false
/@tiptap/suggestion@2.0.3(@tiptap/core@2.0.3)(@tiptap/pm@2.0.3):
resolution: {integrity: sha512-1y3palQStGZq13UtHjouZ50k4sotM+N56cIlFeygIv3gqdai2zGPaPQtqV9FOVVQizXpUbQMTlPSDC5Ej4SPnQ==}
/@tiptap/suggestion@2.0.4(@tiptap/core@2.0.4)(@tiptap/pm@2.0.3):
resolution: {integrity: sha512-C5LGGjH8VFET34V7vKkqlwpSzrPl+7oAcj9h+P3jvJQ076iYpmpnMtz6dNLSFGKpHp5mtyl4RoJzh7lTvlfyiA==}
peerDependencies:
'@tiptap/core': ^2.0.0
'@tiptap/pm': ^2.0.0
dependencies:
'@tiptap/core': 2.0.3(@tiptap/pm@2.0.3)
'@tiptap/pm': 2.0.3(@tiptap/core@2.0.3)
'@tiptap/core': 2.0.4(@tiptap/pm@2.0.3)
'@tiptap/pm': 2.0.3(@tiptap/core@2.0.4)
dev: false
/@tiptap/vue-3@2.0.3(@tiptap/core@2.0.3)(@tiptap/pm@2.0.3)(vue@3.2.45):
resolution: {integrity: sha512-2CtNUzt+e7sgvIjxPOyBwoiRcuCHNeJzW+XGxNK2uCWlAKp/Yw3boJ51d51UuIbj9RitGHJ5GpCdLJoL7SDiQA==}
/@tiptap/vue-3@2.0.4(@tiptap/core@2.0.4)(@tiptap/pm@2.0.3)(vue@3.2.45):
resolution: {integrity: sha512-XfoFl1RKCElYIoloGoqMC2iG4RalEtaGvwSAmqqNGdITCdwnuDhLlCvGAjnVbIR4d3Y0NRPyXZzGWfWSi4bbHg==}
peerDependencies:
'@tiptap/core': ^2.0.0
'@tiptap/pm': ^2.0.0
vue: ^3.0.0
dependencies:
'@tiptap/core': 2.0.3(@tiptap/pm@2.0.3)
'@tiptap/extension-bubble-menu': 2.0.3(@tiptap/core@2.0.3)(@tiptap/pm@2.0.3)
'@tiptap/extension-floating-menu': 2.0.3(@tiptap/core@2.0.3)(@tiptap/pm@2.0.3)
'@tiptap/pm': 2.0.3(@tiptap/core@2.0.3)
'@tiptap/core': 2.0.4(@tiptap/pm@2.0.3)
'@tiptap/extension-bubble-menu': 2.0.4(@tiptap/core@2.0.4)(@tiptap/pm@2.0.3)
'@tiptap/extension-floating-menu': 2.0.4(@tiptap/core@2.0.4)(@tiptap/pm@2.0.3)
'@tiptap/pm': 2.0.3(@tiptap/core@2.0.4)
vue: 3.2.45
dev: false
@ -8479,6 +8517,10 @@ packages:
uc.micro: 1.0.6
dev: false
/material-colors@1.2.6:
resolution: {integrity: sha512-6qE4B9deFBIa9YSpOc9O0Sgc43zTeVYbgDT5veRKSlB2+ZuHNoVVxA1L/ckMUayV9Ay9y7Z/SZCLcGteW9i7bg==}
dev: false
/mdurl@1.0.1:
resolution: {integrity: sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==}
@ -9317,38 +9359,38 @@ packages:
/prosemirror-collab@1.3.0:
resolution: {integrity: sha512-+S/IJ69G2cUu2IM5b3PBekuxs94HO1CxJIWOFrLQXUaUDKL/JfBx+QcH31ldBlBXyDEUl+k3Vltfi1E1MKp2mA==}
dependencies:
prosemirror-state: 1.4.1
prosemirror-state: 1.4.3
dev: false
/prosemirror-commands@1.5.0:
resolution: {integrity: sha512-zL0Fxbj3fh71GPNHn5YdYgYGX2aU2XLecZYk2ekEF0oOD259HcXtM+96VjPVi5o3h4sGUdDfEEhGiREXW6U+4A==}
dependencies:
prosemirror-model: 1.19.2
prosemirror-state: 1.4.1
prosemirror-model: 1.19.3
prosemirror-state: 1.4.3
prosemirror-transform: 1.7.0
dev: false
/prosemirror-dropcursor@1.5.0:
resolution: {integrity: sha512-vy7i77ddKyXlu8kKBB3nlxLBnsWyKUmQIPB5x8RkYNh01QNp/qqGmdd5yZefJs0s3rtv5r7Izfu2qbtr+tYAMQ==}
dependencies:
prosemirror-state: 1.4.1
prosemirror-state: 1.4.3
prosemirror-transform: 1.7.0
prosemirror-view: 1.31.5
prosemirror-view: 1.31.6
dev: false
/prosemirror-gapcursor@1.3.1:
resolution: {integrity: sha512-GKTeE7ZoMsx5uVfc51/ouwMFPq0o8YrZ7Hx4jTF4EeGbXxBveUV8CGv46mSHuBBeXGmvu50guoV2kSnOeZZnUA==}
dependencies:
prosemirror-keymap: 1.2.0
prosemirror-model: 1.19.2
prosemirror-state: 1.4.1
prosemirror-view: 1.31.5
prosemirror-model: 1.19.3
prosemirror-state: 1.4.3
prosemirror-view: 1.31.6
dev: false
/prosemirror-history@1.3.0:
resolution: {integrity: sha512-qo/9Wn4B/Bq89/YD+eNWFbAytu6dmIM85EhID+fz9Jcl9+DfGEo8TTSrRhP15+fFEoaPqpHSxlvSzSEbmlxlUA==}
dependencies:
prosemirror-state: 1.4.1
prosemirror-state: 1.4.3
prosemirror-transform: 1.7.0
rope-sequence: 1.3.3
dev: false
@ -9356,14 +9398,14 @@ packages:
/prosemirror-inputrules@1.2.0:
resolution: {integrity: sha512-eAW/M/NTSSzpCOxfR8Abw6OagdG0MiDAiWHQMQveIsZtoKVYzm0AflSPq/ymqJd56/Su1YPbwy9lM13wgHOFmQ==}
dependencies:
prosemirror-state: 1.4.1
prosemirror-state: 1.4.3
prosemirror-transform: 1.7.0
dev: false
/prosemirror-keymap@1.2.0:
resolution: {integrity: sha512-TdSfu+YyLDd54ufN/ZeD1VtBRYpgZnTPnnbY+4R08DDgs84KrIPEPbJL8t1Lm2dkljFx6xeBE26YWH3aIzkPKg==}
dependencies:
prosemirror-state: 1.4.1
prosemirror-state: 1.4.3
w3c-keyname: 2.2.6
dev: false
@ -9371,7 +9413,7 @@ packages:
resolution: {integrity: sha512-s7iaTLiX+qO5z8kF2NcMmy2T7mIlxzkS4Sp3vTKSYChPtbMpg6YxFkU0Y06rUg2WtKlvBu7v1bXzlGBkfjUWAA==}
dependencies:
markdown-it: 13.0.1
prosemirror-model: 1.19.2
prosemirror-model: 1.19.3
dev: false
/prosemirror-menu@1.2.1:
@ -9380,11 +9422,11 @@ packages:
crelt: 1.0.5
prosemirror-commands: 1.5.0
prosemirror-history: 1.3.0
prosemirror-state: 1.4.1
prosemirror-state: 1.4.3
dev: false
/prosemirror-model@1.19.2:
resolution: {integrity: sha512-RXl0Waiss4YtJAUY3NzKH0xkJmsZupCIccqcIFoLTIKFlKNbIvFDRl27/kQy1FP8iUAxrjRRfIVvOebnnXJgqQ==}
/prosemirror-model@1.19.3:
resolution: {integrity: sha512-tgSnwN7BS7/UM0sSARcW+IQryx2vODKX4MI7xpqY2X+iaepJdKBPc7I4aACIsDV/LTaTjt12Z56MhDr9LsyuZQ==}
dependencies:
orderedmap: 2.1.0
dev: false
@ -9392,35 +9434,36 @@ packages:
/prosemirror-schema-basic@1.2.1:
resolution: {integrity: sha512-vYBdIHsYKSDIqYmPBC7lnwk9DsKn8PnVqK97pMYP5MLEDFqWIX75JiaJTzndBii4bRuNqhC2UfDOfM3FKhlBHg==}
dependencies:
prosemirror-model: 1.19.2
prosemirror-model: 1.19.3
dev: false
/prosemirror-schema-list@1.2.2:
resolution: {integrity: sha512-rd0pqSDp86p0MUMKG903g3I9VmElFkQpkZ2iOd3EOVg1vo5Cst51rAsoE+5IPy0LPXq64eGcCYlW1+JPNxOj2w==}
dependencies:
prosemirror-model: 1.19.2
prosemirror-state: 1.4.1
prosemirror-model: 1.19.3
prosemirror-state: 1.4.3
prosemirror-transform: 1.7.0
dev: false
/prosemirror-state@1.4.1:
resolution: {integrity: sha512-U/LBDW2gNmVa07sz/D229XigSdDQ5CLFwVB1Vb32MJbAHHhWe/6pOc721faI17tqw4pZ49i1xfY/jEZ9tbIhPg==}
/prosemirror-state@1.4.3:
resolution: {integrity: sha512-goFKORVbvPuAQaXhpbemJFRKJ2aixr+AZMGiquiqKxaucC6hlpHNZHWgz5R7dS4roHiwq9vDctE//CZ++o0W1Q==}
dependencies:
prosemirror-model: 1.19.2
prosemirror-model: 1.19.3
prosemirror-transform: 1.7.0
prosemirror-view: 1.31.6
dev: false
/prosemirror-tables@1.3.2:
resolution: {integrity: sha512-/9JTeN6s58Zq66HXaxP6uf8PAmc7XXKZFPlOGVtLvxEd6xBP6WtzaJB9wBjiGUzwbdhdMEy7V62yuHqk/3VrnQ==}
dependencies:
prosemirror-keymap: 1.2.0
prosemirror-model: 1.19.2
prosemirror-state: 1.4.1
prosemirror-model: 1.19.3
prosemirror-state: 1.4.3
prosemirror-transform: 1.7.0
prosemirror-view: 1.31.5
prosemirror-view: 1.31.6
dev: false
/prosemirror-trailing-node@2.0.3(prosemirror-model@1.19.2)(prosemirror-state@1.4.1)(prosemirror-view@1.31.5):
/prosemirror-trailing-node@2.0.3(prosemirror-model@1.19.3)(prosemirror-state@1.4.3)(prosemirror-view@1.31.6):
resolution: {integrity: sha512-lGrjMrn97KWkjQSW/FjdvnhJmqFACmQIyr6lKYApvHitDnKsCoZz6XzrHB7RZYHni/0NxQmZ01p/2vyK2SkvaA==}
peerDependencies:
prosemirror-model: ^1
@ -9431,22 +9474,22 @@ packages:
'@remirror/core-constants': 2.0.0
'@remirror/core-helpers': 2.0.1
escape-string-regexp: 4.0.0
prosemirror-model: 1.19.2
prosemirror-state: 1.4.1
prosemirror-view: 1.31.5
prosemirror-model: 1.19.3
prosemirror-state: 1.4.3
prosemirror-view: 1.31.6
dev: false
/prosemirror-transform@1.7.0:
resolution: {integrity: sha512-O4T697Cqilw06Zvc3Wm+e237R6eZtJL/xGMliCi+Uo8VL6qHk6afz1qq0zNjT3eZMuYwnP8ZS0+YxX/tfcE9TQ==}
dependencies:
prosemirror-model: 1.19.2
prosemirror-model: 1.19.3
dev: false
/prosemirror-view@1.31.5:
resolution: {integrity: sha512-tobRCDeCp61elR1d97XE/JTL9FDIfswZpWeNs7GKJjAJvWyMGHWYFCq29850p6bbG2bckP+i9n1vT56RifosbA==}
/prosemirror-view@1.31.6:
resolution: {integrity: sha512-wwgErp+EWnuW4kGAYKrt90hhOetaoWpYNdOpnuQMXo1m4x/+uhauFeQoCCm8J30ZqAa4LgIER4yzKSO545gRfA==}
dependencies:
prosemirror-model: 1.19.2
prosemirror-state: 1.4.1
prosemirror-model: 1.19.3
prosemirror-state: 1.4.3
prosemirror-transform: 1.7.0
dev: false

View File

@ -32,11 +32,12 @@ import {
ExtensionVideo,
ExtensionAudio,
ExtensionCodeBlock,
ToolbarItem,
ExtensionFontSize,
ExtensionColor,
lowlight,
type AnyExtension,
Editor,
ToolbarSubItem,
ToolboxItem,
} from "@halo-dev/richtext-editor";
import {
IconCalendar,
@ -50,10 +51,6 @@ import {
} from "@halo-dev/components";
import AttachmentSelectorModal from "@/modules/contents/attachments/components/AttachmentSelectorModal.vue";
import ExtensionCharacterCount from "@tiptap/extension-character-count";
import MdiFileImageBox from "~icons/mdi/file-image-box";
import MdiVideoPlusOutline from "~icons/mdi/video-plus-outline";
import MdiImagePlusOutline from "~icons/mdi/image-plus-outline";
import MdiVolume from "~icons/mdi/volume";
import MdiFormatHeader1 from "~icons/mdi/format-header-1";
import MdiFormatHeader2 from "~icons/mdi/format-header-2";
import MdiFormatHeader3 from "~icons/mdi/format-header-3";
@ -197,6 +194,8 @@ onMounted(() => {
ExtensionVideo,
ExtensionAudio,
ExtensionCharacterCount,
ExtensionFontSize,
ExtensionColor,
...extensionsFromPlugins,
Extension.create({
addGlobalAttributes() {
@ -215,79 +214,21 @@ onMounted(() => {
Extension.create({
addOptions() {
return {
getToolbarItems: ({ editor }: { editor: Editor }) => {
return {
priority: 220,
component: ToolbarItem,
props: {
editor,
isActive: false,
icon: markRaw(MdiFileImageBox),
title: i18n.global.t(
"core.components.default_editor.toolbar.attachment"
),
getToolboxItems({ editor }: { editor: Editor }) {
return [
{
priority: 0,
component: markRaw(ToolboxItem),
props: {
editor,
icon: markRaw(IconFolder),
title: i18n.global.t(
"core.components.default_editor.toolbox.attachment"
),
action: () => (attachmentSelectorModal.value = true),
},
},
children: [
{
priority: 10,
component: ToolbarSubItem,
props: {
editor,
isActive: false,
icon: markRaw(IconFolder),
title: i18n.global.t(
"core.components.default_editor.toolbar.select_attachment"
),
action: () => (attachmentSelectorModal.value = true),
},
},
{
priority: 20,
component: ToolbarSubItem,
props: {
editor,
isActive: false,
icon: markRaw(MdiImagePlusOutline),
title: i18n.global.t(
"core.components.default_editor.toolbar.insert_image"
),
action: () => {
editor.chain().focus().setImage({ src: "" }).run();
},
},
},
{
priority: 30,
component: ToolbarSubItem,
props: {
editor,
isActive: false,
icon: markRaw(MdiVideoPlusOutline),
title: i18n.global.t(
"core.components.default_editor.toolbar.insert_video"
),
action: () => {
editor.chain().focus().setVideo({ src: "" }).run();
},
},
},
{
priority: 40,
component: ToolbarSubItem,
props: {
editor,
isActive: false,
icon: markRaw(MdiVolume),
title: i18n.global.t(
"core.components.default_editor.toolbar.insert_audio"
),
action: () => {
editor.chain().focus().setAudio({ src: "" }).run();
},
},
},
],
};
];
},
};
},
@ -516,6 +457,13 @@ watch(
immediate: true,
}
);
// fixme: temporary solution
const currentLocale = i18n.global.locale.value as
| "zh-CN"
| "en"
| "zh"
| "en-US";
</script>
<template>
@ -526,7 +474,7 @@ watch(
<RichTextEditor
v-if="editor"
:editor="editor"
:locale="i18n.global.locale.value"
:locale="currentLocale"
:content-styles="{
width: 'calc(100% - 18rem)',
}"

View File

@ -1114,12 +1114,8 @@ core:
placeholder:
options:
placeholder: "Enter / to select input type."
toolbar:
attachment: Insert attachment
select_attachment: Attachments library
insert_image: Insert image
insert_video: Insert video
insert_audio: Insert audio
toolbox:
attachment: Attachment
upload_attachment:
toast:
no_available_policy: There is currently no available storage policy

View File

@ -1114,12 +1114,8 @@ core:
placeholder:
options:
placeholder: "输入 / 以选择输入类型"
toolbar:
attachment: 插入附件
select_attachment: 从附件库选择
insert_image: 从外链插入图片
insert_video: 从外链插入视频
insert_audio: 从外链插入音频
toolbox:
attachment: 选择附件
upload_attachment:
toast:
no_available_policy: 目前没有可用的存储策略

View File

@ -1114,12 +1114,8 @@ core:
placeholder:
options:
placeholder: "輸入 / 以選擇輸入類型"
toolbar:
attachment: 插入附件
select_attachment: 從附件庫選擇
insert_image: 從外部連結插入圖片
insert_video: 從外部連結插入影片
insert_audio: 從外部連結插入音訊
toolbox:
attachment: 選擇附件
upload_attachment:
toast:
no_available_policy: 目前沒有可用的存儲策略