mirror of
https://github.com/civitai/civitai.git
synced 2026-09-20 22:08:18 +08:00
fix(perf): upgrade tiptap to 3.16.0 and happy-dom to 20.x (#2276)
* fix(perf): upgrade tiptap to 3.16.0 and happy-dom to 20.x Resolves the SSR memory leak from unclosed happy-dom Window instances created by @tiptap/html/server's generateJSON. Upstream tiptap PR #6686 (shipped in @tiptap/html 3.6.4) fixed this by disposing the Window in a finally block; @tiptap/html 3.6.7+ requires happy-dom ^20 as a peer dep, which also closes CVE-2025-61927 (CVSS 9.4 VM context escape RCE). Supersedes #2275, which manually backported tiptap PR #6686 as a local wrapper. Pulling the actual upstream fix removes the wrapper debt and addresses the RCE in one shot. Tiptap pins ----------- @tiptap/core, /extensions, and /extension-text-style already floated to ^3.16.0; the other 15 packages were exact-pinned to 3.0.9. Production was running a mixed family with core at 3.16.0 against extensions at 3.0.9. Aligning all 18 to exact 3.16.0 narrows that gap rather than widening it. Suggestion plugin fix --------------------- @tiptap/suggestion 3.4.0 made two behavioral changes affecting src/components/RichTextEditor/suggestion.ts: 1. Escape onKeyDown: returning true now means "consumer handled the event, don't auto-close." The old code destroyed the component and returned true, which left the plugin's internal state (decorations, active flag) active. Removed the custom Escape branch — the plugin now handles Escape via onExit, which already does the cleanup. 2. Outside-click closing: the plugin no longer attaches a global document mousedown handler. Restored that behavior locally using the new exitSuggestion(view) export to dispatch the exit transaction. happy-dom 20 notes ------------------ happy-dom 20 disables JavaScript evaluation by default, which is desirable defense-in-depth for the article-content parse path (DOMParser.parseFromString doesn't execute scripts in the generateJSON flow regardless). happy-dom 19 dropped CommonJS support; Next.js 14 + Node 20 handles ESM-only packages via require(). Verified by a full next build run. Verification ------------ - pnpm install: lockfile clean, @tiptap/html@3.16.0 transitively resolves happy-dom@20.9.0 - pnpm exec tsc --noEmit: 4992 errors on main, 4992 errors on this branch — zero new errors anywhere (most are pre-existing Prisma type drift in article.service.ts and implicit-any drift elsewhere) - pnpm next lint src/components/RichTextEditor/suggestion.ts: only pre-existing any warnings on the untouched updatePosition() helper - next build: ✓ Compiled successfully (happy-dom 20 bundles cleanly through the Next.js loader; subsequent post-compile typecheck fails on the same AccountsCard.tsx error that fails on main) Manual smoke testing required pre-merge: article render path, comment @mention popup (open, arrow keys, Enter, Escape, outside click, selection of an item), paste a YouTube URL, paste a StrawPoll URL. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix(rich-text): align mention suggestion to SuggestionPluginKey @tiptap/extension-mention's getSuggestionOptions creates a fresh anonymous `new PluginKey()` per suggestion instance (verified at node_modules/@tiptap/extension-mention/dist/index.js:14). Without overriding it, exitSuggestion() — which defaults to SuggestionPluginKey — would dispatch the exit metadata to a different key than the active plugin reducer was watching, so the outside-click handler would silently fail to close the popup and the document mousedown listener would never be cleaned up. The mention extension spreads overrideSuggestionOptions last (line 44 of the same file), so setting pluginKey in the suggestion config we pass to MentionNode.configure({ suggestion }) wins. Both the plugin and exitSuggestion() now reference the same key. Caught in review of #2276. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
+19
-19
@@ -133,24 +133,25 @@
|
||||
"@tanstack/react-query": "^4.12.0",
|
||||
"@tanstack/react-query-devtools": "^4.13.0",
|
||||
"@tanstack/react-virtual": "^3.13.12",
|
||||
"@tiptap/core": "^3.16.0",
|
||||
"@tiptap/extension-color": "3.0.9",
|
||||
"@tiptap/extension-heading": "3.0.9",
|
||||
"@tiptap/extension-image": "3.0.9",
|
||||
"@tiptap/extension-link": "3.0.9",
|
||||
"@tiptap/extension-mention": "3.0.9",
|
||||
"@tiptap/extension-placeholder": "3.0.9",
|
||||
"@tiptap/extension-text": "3.0.9",
|
||||
"@tiptap/extension-text-style": "^3.16.0",
|
||||
"@tiptap/extension-underline": "3.0.9",
|
||||
"@tiptap/extension-youtube": "3.0.9",
|
||||
"@tiptap/extensions": "^3.16.0",
|
||||
"@tiptap/html": "3.0.9",
|
||||
"@tiptap/pm": "3.0.9",
|
||||
"@tiptap/react": "3.0.9",
|
||||
"@tiptap/starter-kit": "3.0.9",
|
||||
"@tiptap/static-renderer": "3.0.9",
|
||||
"@tiptap/suggestion": "3.0.9",
|
||||
"@tiptap/core": "3.16.0",
|
||||
"@tiptap/extension-color": "3.16.0",
|
||||
"@tiptap/extension-heading": "3.16.0",
|
||||
"@tiptap/extension-image": "3.16.0",
|
||||
"@tiptap/extension-link": "3.16.0",
|
||||
"@tiptap/extension-mention": "3.16.0",
|
||||
"@tiptap/extension-placeholder": "3.16.0",
|
||||
"@tiptap/extension-text": "3.16.0",
|
||||
"@tiptap/extension-text-style": "3.16.0",
|
||||
"@tiptap/extension-underline": "3.16.0",
|
||||
"@tiptap/extension-youtube": "3.16.0",
|
||||
"@tiptap/extensions": "3.16.0",
|
||||
"@tiptap/html": "3.16.0",
|
||||
"@tiptap/pm": "3.16.0",
|
||||
"@tiptap/react": "3.16.0",
|
||||
"@tiptap/starter-kit": "3.16.0",
|
||||
"@tiptap/static-renderer": "3.16.0",
|
||||
"@tiptap/suggestion": "3.16.0",
|
||||
"happy-dom": "^20.0.2",
|
||||
"@trpc/client": "^10.45.0",
|
||||
"@trpc/next": "^10.45.0",
|
||||
"@trpc/react-query": "^10.45.0",
|
||||
@@ -313,7 +314,6 @@
|
||||
"eslint-plugin-import": "^2.26.0",
|
||||
"eslint-plugin-prettier": "^4.2.1",
|
||||
"eslint-plugin-tailwindcss": "^3.15.1",
|
||||
"happy-dom": "^18.0.1",
|
||||
"husky": "^9.1.1",
|
||||
"lint-staged": "^15.2.7",
|
||||
"pg-format": "^1.0.4",
|
||||
|
||||
Generated
+300
-279
@@ -99,7 +99,7 @@ importers:
|
||||
version: 7.17.8(@mantine/core@7.17.8(@mantine/hooks@7.17.8(patch_hash=b45a85bd4d007c796b93eb90a75d3234b81cce13964921b25721734c7ed79f64)(react@18.3.1))(@types/react@18.0.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.17.8(patch_hash=b45a85bd4d007c796b93eb90a75d3234b81cce13964921b25721734c7ed79f64)(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
|
||||
'@mantine/tiptap':
|
||||
specifier: ^7.17.7
|
||||
version: 7.17.8(@mantine/core@7.17.8(@mantine/hooks@7.17.8(patch_hash=b45a85bd4d007c796b93eb90a75d3234b81cce13964921b25721734c7ed79f64)(react@18.3.1))(@types/react@18.0.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.17.8(patch_hash=b45a85bd4d007c796b93eb90a75d3234b81cce13964921b25721734c7ed79f64)(react@18.3.1))(@tiptap/extension-link@3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9))(@tiptap/react@3.0.9(@floating-ui/dom@1.7.3)(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
|
||||
version: 7.17.8(@mantine/core@7.17.8(@mantine/hooks@7.17.8(patch_hash=b45a85bd4d007c796b93eb90a75d3234b81cce13964921b25721734c7ed79f64)(react@18.3.1))(@types/react@18.0.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.17.8(patch_hash=b45a85bd4d007c796b93eb90a75d3234b81cce13964921b25721734c7ed79f64)(react@18.3.1))(@tiptap/extension-link@3.16.0(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))(@tiptap/pm@3.16.0))(@tiptap/react@3.16.0(@floating-ui/dom@1.7.3)(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))(@tiptap/pm@3.16.0)(@types/react-dom@18.0.5)(@types/react@18.0.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
|
||||
'@marsidev/react-turnstile':
|
||||
specifier: ^1.0.1
|
||||
version: 1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
|
||||
@@ -203,59 +203,59 @@ importers:
|
||||
specifier: ^3.13.12
|
||||
version: 3.13.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
|
||||
'@tiptap/core':
|
||||
specifier: ^3.16.0
|
||||
version: 3.16.0(@tiptap/pm@3.0.9)
|
||||
specifier: 3.16.0
|
||||
version: 3.16.0(@tiptap/pm@3.16.0)
|
||||
'@tiptap/extension-color':
|
||||
specifier: 3.0.9
|
||||
version: 3.0.9(@tiptap/extension-text-style@3.16.0(@tiptap/core@3.16.0(@tiptap/pm@3.0.9)))
|
||||
specifier: 3.16.0
|
||||
version: 3.16.0(@tiptap/extension-text-style@3.16.0(@tiptap/core@3.16.0(@tiptap/pm@3.16.0)))
|
||||
'@tiptap/extension-heading':
|
||||
specifier: 3.0.9
|
||||
version: 3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))
|
||||
specifier: 3.16.0
|
||||
version: 3.16.0(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))
|
||||
'@tiptap/extension-image':
|
||||
specifier: 3.0.9
|
||||
version: 3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))
|
||||
specifier: 3.16.0
|
||||
version: 3.16.0(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))
|
||||
'@tiptap/extension-link':
|
||||
specifier: 3.0.9
|
||||
version: 3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9)
|
||||
specifier: 3.16.0
|
||||
version: 3.16.0(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))(@tiptap/pm@3.16.0)
|
||||
'@tiptap/extension-mention':
|
||||
specifier: 3.0.9
|
||||
version: 3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9)(@tiptap/suggestion@3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9))
|
||||
specifier: 3.16.0
|
||||
version: 3.16.0(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))(@tiptap/pm@3.16.0)(@tiptap/suggestion@3.16.0(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))(@tiptap/pm@3.16.0))
|
||||
'@tiptap/extension-placeholder':
|
||||
specifier: 3.0.9
|
||||
version: 3.0.9(@tiptap/extensions@3.16.0(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9))
|
||||
specifier: 3.16.0
|
||||
version: 3.16.0(@tiptap/extensions@3.16.0(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))(@tiptap/pm@3.16.0))
|
||||
'@tiptap/extension-text':
|
||||
specifier: 3.0.9
|
||||
version: 3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))
|
||||
specifier: 3.16.0
|
||||
version: 3.16.0(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))
|
||||
'@tiptap/extension-text-style':
|
||||
specifier: ^3.16.0
|
||||
version: 3.16.0(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))
|
||||
specifier: 3.16.0
|
||||
version: 3.16.0(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))
|
||||
'@tiptap/extension-underline':
|
||||
specifier: 3.0.9
|
||||
version: 3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))
|
||||
specifier: 3.16.0
|
||||
version: 3.16.0(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))
|
||||
'@tiptap/extension-youtube':
|
||||
specifier: 3.0.9
|
||||
version: 3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))
|
||||
specifier: 3.16.0
|
||||
version: 3.16.0(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))
|
||||
'@tiptap/extensions':
|
||||
specifier: ^3.16.0
|
||||
version: 3.16.0(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9)
|
||||
specifier: 3.16.0
|
||||
version: 3.16.0(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))(@tiptap/pm@3.16.0)
|
||||
'@tiptap/html':
|
||||
specifier: 3.0.9
|
||||
version: 3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9)(happy-dom@18.0.1)
|
||||
specifier: 3.16.0
|
||||
version: 3.16.0(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))(@tiptap/pm@3.16.0)(happy-dom@20.9.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))
|
||||
'@tiptap/pm':
|
||||
specifier: 3.0.9
|
||||
version: 3.0.9
|
||||
specifier: 3.16.0
|
||||
version: 3.16.0
|
||||
'@tiptap/react':
|
||||
specifier: 3.0.9
|
||||
version: 3.0.9(@floating-ui/dom@1.7.3)(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
|
||||
specifier: 3.16.0
|
||||
version: 3.16.0(@floating-ui/dom@1.7.3)(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))(@tiptap/pm@3.16.0)(@types/react-dom@18.0.5)(@types/react@18.0.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
|
||||
'@tiptap/starter-kit':
|
||||
specifier: 3.0.9
|
||||
version: 3.0.9
|
||||
specifier: 3.16.0
|
||||
version: 3.16.0
|
||||
'@tiptap/static-renderer':
|
||||
specifier: 3.0.9
|
||||
version: 3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
|
||||
specifier: 3.16.0
|
||||
version: 3.16.0(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))(@tiptap/pm@3.16.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
|
||||
'@tiptap/suggestion':
|
||||
specifier: 3.0.9
|
||||
version: 3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9)
|
||||
specifier: 3.16.0
|
||||
version: 3.16.0(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))(@tiptap/pm@3.16.0)
|
||||
'@trpc/client':
|
||||
specifier: ^10.45.0
|
||||
version: 10.45.2(@trpc/server@10.45.2)
|
||||
@@ -352,6 +352,9 @@ importers:
|
||||
gray-matter:
|
||||
specifier: ^4.0.3
|
||||
version: 4.0.3
|
||||
happy-dom:
|
||||
specifier: ^20.0.2
|
||||
version: 20.9.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)
|
||||
he:
|
||||
specifier: ^1.2.0
|
||||
version: 1.2.0
|
||||
@@ -694,7 +697,7 @@ importers:
|
||||
version: 5.62.0(eslint@8.22.0)(typescript@5.9.2)
|
||||
'@vitest/coverage-v8':
|
||||
specifier: ^4.0.18
|
||||
version: 4.0.18(vitest@4.0.18(@opentelemetry/api@1.9.0)(@types/node@20.19.9)(happy-dom@18.0.1)(jiti@2.5.1)(jsdom@27.4.0(@noble/hashes@1.8.0)(bufferutil@4.0.9)(utf-8-validate@5.0.10))(msw@2.12.10(@types/node@20.19.9)(typescript@5.9.2))(sass@1.90.0)(sugarss@5.0.1(postcss@8.5.6))(terser@5.47.1)(tsx@4.20.3)(yaml@2.8.1))
|
||||
version: 4.0.18(vitest@4.0.18(@opentelemetry/api@1.9.0)(@types/node@20.19.9)(happy-dom@20.9.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(jiti@2.5.1)(jsdom@27.4.0(@noble/hashes@1.8.0)(bufferutil@4.0.9)(utf-8-validate@5.0.10))(msw@2.12.10(@types/node@20.19.9)(typescript@5.9.2))(sass@1.90.0)(sugarss@5.0.1(postcss@8.5.6))(terser@5.47.1)(tsx@4.20.3)(yaml@2.8.1))
|
||||
autoprefixer:
|
||||
specifier: ^10.4.19
|
||||
version: 10.4.21(postcss@8.5.6)
|
||||
@@ -737,9 +740,6 @@ importers:
|
||||
eslint-plugin-tailwindcss:
|
||||
specifier: ^3.15.1
|
||||
version: 3.18.2(tailwindcss@3.4.17(ts-node@10.9.2(@swc/core@1.15.11(@swc/helpers@0.5.17))(@types/node@20.19.9)(typescript@5.9.2)))
|
||||
happy-dom:
|
||||
specifier: ^18.0.1
|
||||
version: 18.0.1
|
||||
husky:
|
||||
specifier: ^9.1.1
|
||||
version: 9.1.7
|
||||
@@ -787,7 +787,7 @@ importers:
|
||||
version: 5.9.2
|
||||
vitest:
|
||||
specifier: ^4.0.18
|
||||
version: 4.0.18(@opentelemetry/api@1.9.0)(@types/node@20.19.9)(happy-dom@18.0.1)(jiti@2.5.1)(jsdom@27.4.0(@noble/hashes@1.8.0)(bufferutil@4.0.9)(utf-8-validate@5.0.10))(msw@2.12.10(@types/node@20.19.9)(typescript@5.9.2))(sass@1.90.0)(sugarss@5.0.1(postcss@8.5.6))(terser@5.47.1)(tsx@4.20.3)(yaml@2.8.1)
|
||||
version: 4.0.18(@opentelemetry/api@1.9.0)(@types/node@20.19.9)(happy-dom@20.9.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(jiti@2.5.1)(jsdom@27.4.0(@noble/hashes@1.8.0)(bufferutil@4.0.9)(utf-8-validate@5.0.10))(msw@2.12.10(@types/node@20.19.9)(typescript@5.9.2))(sass@1.90.0)(sugarss@5.0.1(postcss@8.5.6))(terser@5.47.1)(tsx@4.20.3)(yaml@2.8.1)
|
||||
ws:
|
||||
specifier: ^8.19.0
|
||||
version: 8.19.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)
|
||||
@@ -3529,159 +3529,159 @@ packages:
|
||||
peerDependencies:
|
||||
'@tiptap/pm': ^3.16.0
|
||||
|
||||
'@tiptap/extension-blockquote@3.0.9':
|
||||
resolution: {integrity: sha512-dGhMWb6GIjgIUuLQDhSlHT6yB4YvnYqe01nHzEvcbSii75KOcLwboVnqxw4p+gsDZLvZRGv/6bZBJh7GKZa8OQ==}
|
||||
'@tiptap/extension-blockquote@3.23.4':
|
||||
resolution: {integrity: sha512-7YjSibNlPcy9eGK+tHt5G/Njr7nPxl+rZ3rCC6TwtLIRLSHPnoGDsfFOgTPkXxaQcE1a/VQwemnYfWc3kdIjDQ==}
|
||||
peerDependencies:
|
||||
'@tiptap/core': ^3.0.9
|
||||
'@tiptap/core': 3.23.4
|
||||
|
||||
'@tiptap/extension-bold@3.0.9':
|
||||
resolution: {integrity: sha512-rVULIFt9ZO+fO5ty9zuC3HwY3knxUw7q9JBztpKPfQQCuIJ+iQnOfB8NtI3L8hxVSxhIR1pqr8B3S/8vlpXbVg==}
|
||||
'@tiptap/extension-bold@3.23.4':
|
||||
resolution: {integrity: sha512-3L9tnZ12i+98u5df2nV2zGu/sc3rhI87E3ocn1YYAO8PJUAgZnMwdet8JawCrS1uut5sRKlxo3SXEmdNfRVm/w==}
|
||||
peerDependencies:
|
||||
'@tiptap/core': ^3.0.9
|
||||
'@tiptap/core': 3.23.4
|
||||
|
||||
'@tiptap/extension-bubble-menu@3.0.9':
|
||||
resolution: {integrity: sha512-fZQfdSbKJl3J+Yi+s8NrcLBgXHOaGVD4g+vn+orTPUlZdG9FWvEoon8DexOdK9OvYnW6QMM7kS8whOgpogVyUQ==}
|
||||
'@tiptap/extension-bubble-menu@3.23.4':
|
||||
resolution: {integrity: sha512-EPTpL/IFp/aTGZErBq/Mc3dKznj6G/qNEkVYWjueOn1oKApyT0P6WVHGvu/vpMdErhzmoGDuFPPGVS6T8Upx2Q==}
|
||||
peerDependencies:
|
||||
'@tiptap/core': ^3.0.9
|
||||
'@tiptap/pm': ^3.0.9
|
||||
'@tiptap/core': 3.23.4
|
||||
'@tiptap/pm': 3.23.4
|
||||
|
||||
'@tiptap/extension-bullet-list@3.0.9':
|
||||
resolution: {integrity: sha512-Aob5TVfrtoEzfTm3wl7lognmWia6EEilOxLihSGISCvI4FTndJg+mwhumduQeYCLWkF9i/DR87m2/3EbjR3R4Q==}
|
||||
'@tiptap/extension-bullet-list@3.23.4':
|
||||
resolution: {integrity: sha512-mXB2KZOz1R+E6VNTZ3vzdAk7ZDGKjPmsJEZIQg1B5qRycTKg49/rCCkLA2QnqAwX6BzS3mLLH1RWE2W0oXD7vg==}
|
||||
peerDependencies:
|
||||
'@tiptap/extension-list': ^3.0.9
|
||||
'@tiptap/extension-list': 3.23.4
|
||||
|
||||
'@tiptap/extension-code-block@3.0.9':
|
||||
resolution: {integrity: sha512-H692k9sHIE3rR3S+BIknQXsLb8HSojk+7gQ5DV0hYajSzpJ02OUL4AnNlpMuSgZuaq+ljpN4sT8kCIzIE1kQxw==}
|
||||
'@tiptap/extension-code-block@3.23.4':
|
||||
resolution: {integrity: sha512-UEU1w/85CSNKktbhESnIRmtjKcH7DeschReZA8err1wAnYLTKzid5ucnJSJ25iRg2V5Fnuws5gnPT5CVgdfXCQ==}
|
||||
peerDependencies:
|
||||
'@tiptap/core': ^3.0.9
|
||||
'@tiptap/pm': ^3.0.9
|
||||
'@tiptap/core': 3.23.4
|
||||
'@tiptap/pm': 3.23.4
|
||||
|
||||
'@tiptap/extension-code@3.0.9':
|
||||
resolution: {integrity: sha512-jMo7crwLIefwy13WI2FzxlyJN9AbLNsESFbJuv/KPzjpN7uzPKYsE33Uy2IZD5hPoHtA5UmAUfbz0HzWtWy5Yw==}
|
||||
'@tiptap/extension-code@3.23.4':
|
||||
resolution: {integrity: sha512-C0TeRipMycUEBnV+Mzx6eLp/yZb6Vi/waP3Tkb0lO5/ikg7LWLB7AlmMunjIXEUcR/pJHID/aEh5PfJFpysUDg==}
|
||||
peerDependencies:
|
||||
'@tiptap/core': ^3.0.9
|
||||
'@tiptap/core': 3.23.4
|
||||
|
||||
'@tiptap/extension-color@3.0.9':
|
||||
resolution: {integrity: sha512-cA68vy5lZwBVqBLMEDL6rjKIBPXRV+sUjmV+UokJcguAUTerHLK0dAHcbKRp9hJ6KF6z1KAOC7u3ZBhyjibC1w==}
|
||||
'@tiptap/extension-color@3.16.0':
|
||||
resolution: {integrity: sha512-ws9hayQKncfztUnOL0isLgGg1Bzl8/pcPQQVtXSH336DLzaPQB1Uv2fBmUlBx229IZHa6YKI9oGZSYfXSi934A==}
|
||||
peerDependencies:
|
||||
'@tiptap/extension-text-style': ^3.0.9
|
||||
'@tiptap/extension-text-style': ^3.16.0
|
||||
|
||||
'@tiptap/extension-document@3.0.9':
|
||||
resolution: {integrity: sha512-DB/R5e6QvuGhY8EhCkfNjR2xQfz/TOWoxfQGhDuy5U+oK3WBwCcHq9t5+nbSCMHtKfi/i49aHKDvv7TQCpuP0w==}
|
||||
'@tiptap/extension-document@3.23.4':
|
||||
resolution: {integrity: sha512-YC4G6VkxT629rlqUTwD6XvOpxjvghn7fxrK4RbyKVJY2C6E1vgmX0won1Ast6v+qTE6iONOMS6f6VyPxSGjg4w==}
|
||||
peerDependencies:
|
||||
'@tiptap/core': ^3.0.9
|
||||
'@tiptap/core': 3.23.4
|
||||
|
||||
'@tiptap/extension-dropcursor@3.0.9':
|
||||
resolution: {integrity: sha512-+P+1nfeCtPLj3OHNiATOL3UyM2omZ8+ac6MKm+FxunRAZZsHzbEFUYYdLF7prEmaf0z0c1k4LKSWpbrIX92pKA==}
|
||||
'@tiptap/extension-dropcursor@3.23.4':
|
||||
resolution: {integrity: sha512-ujJQUIENk0RwVFCh5g/TOSEv1a7Pnam/cjHmSUqHWUNZkYS9aOqjm+JfURJPCinRS2oHvo3AARul5mkKgDJYcA==}
|
||||
peerDependencies:
|
||||
'@tiptap/extensions': ^3.0.9
|
||||
'@tiptap/extensions': 3.23.4
|
||||
|
||||
'@tiptap/extension-floating-menu@3.0.9':
|
||||
resolution: {integrity: sha512-WYQ3mW6G0zxoni6TegpQ46a1Qe1zj8Ev5sBH79H4Mbf0qsc7MOq07jLjipv9M0EJJPUi0cfkQlwfV41nH1ue/g==}
|
||||
'@tiptap/extension-floating-menu@3.23.4':
|
||||
resolution: {integrity: sha512-eAc72bKM26yIPx0jsU8qdjE71vFNVu5R9jGbdItBMFc0SPLS4qY8g+8RJ+iWoLwbcSEpgooLS9D9sLfdAU+Tvw==}
|
||||
peerDependencies:
|
||||
'@floating-ui/dom': ^1.0.0
|
||||
'@tiptap/core': ^3.0.9
|
||||
'@tiptap/pm': ^3.0.9
|
||||
'@tiptap/core': 3.23.4
|
||||
'@tiptap/pm': 3.23.4
|
||||
|
||||
'@tiptap/extension-gapcursor@3.0.9':
|
||||
resolution: {integrity: sha512-+jy7Z/V6nOtvWin+zJYYoRwEYDOHDlF34Ey1T7A8aRcJlPeAQhoB1Ek7R3Rd3nsuByz70IfQapDvkbhY1nkNvQ==}
|
||||
'@tiptap/extension-gapcursor@3.23.4':
|
||||
resolution: {integrity: sha512-RuyvOlIGP6UpVOc0Lw0L63jKLtYM49CNhPV2OMSfwwwbBZ3pJGos2/SqpYg71d3sn+qpsAopS4Pfr8iPZog73A==}
|
||||
peerDependencies:
|
||||
'@tiptap/extensions': ^3.0.9
|
||||
'@tiptap/extensions': 3.23.4
|
||||
|
||||
'@tiptap/extension-hard-break@3.0.9':
|
||||
resolution: {integrity: sha512-PWNYsUwVsMWt/R5/OWjfGb+7DQT0DvH+1owBimRq0pWZepg8qkz1jdPGgsRmUFyERRsXeEpgj3VaQfrgbyUfrA==}
|
||||
'@tiptap/extension-hard-break@3.23.4':
|
||||
resolution: {integrity: sha512-ODlpZCi7n136BH9luM09EFL8Pg+bbRCd0tzCQM5BKMXRkLitYZA8Gl/f5DLmGJ50wzFsDPXK2Br2g9UvZK7COg==}
|
||||
peerDependencies:
|
||||
'@tiptap/core': ^3.0.9
|
||||
'@tiptap/core': 3.23.4
|
||||
|
||||
'@tiptap/extension-heading@3.0.9':
|
||||
resolution: {integrity: sha512-LRLCIt87fvDZ5CdkinzhkCwRz5ax6FlsjJzG32MJ3wXyvVslqeLXBvH28JFUZEyzgcd/SnYmYxnef5+yvAX61g==}
|
||||
'@tiptap/extension-heading@3.16.0':
|
||||
resolution: {integrity: sha512-du4d1Ukvhr1zvPWlU/HS3NMlRswzGRSNDNfCFUhdYgQoHOSnUXshnlKD3E5H0EHfL9UwT4JFyqAT3+1ZnahkdA==}
|
||||
peerDependencies:
|
||||
'@tiptap/core': ^3.0.9
|
||||
'@tiptap/core': ^3.16.0
|
||||
|
||||
'@tiptap/extension-horizontal-rule@3.0.9':
|
||||
resolution: {integrity: sha512-jPNCOte0y9R3Y4PiEA/CRGgRk8WoL700Mnn8NPVHa4juUjvMl1qxL8hdnW/k8cxhrBA8tV0qcq82+/Vqq6jSfA==}
|
||||
'@tiptap/extension-horizontal-rule@3.23.4':
|
||||
resolution: {integrity: sha512-EA4kK8ywZ4dQNOdxeZbplmDDs5T5LjMgHpqxRwukj9wwKiILOK5E3fcKm1fCKh9Q02w96jax6YVccHwmgJP3sQ==}
|
||||
peerDependencies:
|
||||
'@tiptap/core': ^3.0.9
|
||||
'@tiptap/pm': ^3.0.9
|
||||
'@tiptap/core': 3.23.4
|
||||
'@tiptap/pm': 3.23.4
|
||||
|
||||
'@tiptap/extension-image@3.0.9':
|
||||
resolution: {integrity: sha512-/2igN/oIF58zqX5fcg00bf6qGLcQyXHysl5I8GiurkvO95d+SQTlYbJneSRUpt6CgrUKbhRnMBPVubmapgg+Zw==}
|
||||
'@tiptap/extension-image@3.16.0':
|
||||
resolution: {integrity: sha512-mTjt4kdyVtY/2dJcfxAgBae/dkH+r6GwARl7NlPtnI3EzpELFR65FNuOQyTxFXP3yfV9uMtPpq6Wevk8aLTsxQ==}
|
||||
peerDependencies:
|
||||
'@tiptap/core': ^3.0.9
|
||||
'@tiptap/core': ^3.16.0
|
||||
|
||||
'@tiptap/extension-italic@3.0.9':
|
||||
resolution: {integrity: sha512-Gt4FbMtZerzKpit8+FvIjIQ3CBD559/FFC+kOT9y8JHlINeqWyh/bgHuaA/9/XtHphOQiA7NDwOiuPh4KIKpqA==}
|
||||
'@tiptap/extension-italic@3.23.4':
|
||||
resolution: {integrity: sha512-jUAHi+HZlg47BzgVIy6y/UH5vev7vPQ95jddhB5K3hC122kvWFMXlken7UOnqzbxNcHs2+4Oi/ZJirYMpT4P5w==}
|
||||
peerDependencies:
|
||||
'@tiptap/core': ^3.0.9
|
||||
'@tiptap/core': 3.23.4
|
||||
|
||||
'@tiptap/extension-link@3.0.9':
|
||||
resolution: {integrity: sha512-cOsG3vpct7/JuenxCePDj5dlaSUEe2eK/g/jlRixgW4Llx5DvG2yj8+gha4MHdCUp/MrUBR4M+NJk1dOOSKXGw==}
|
||||
'@tiptap/extension-link@3.16.0':
|
||||
resolution: {integrity: sha512-WPPJLtGXQadBVVwH6gcMpaXIgfvFF9NGpE2IVqleVKR3Epv2Rd4aWd4oyAdrT8KU9G6dzMXZfkrB8aArTDKxYQ==}
|
||||
peerDependencies:
|
||||
'@tiptap/core': ^3.0.9
|
||||
'@tiptap/pm': ^3.0.9
|
||||
'@tiptap/core': ^3.16.0
|
||||
'@tiptap/pm': ^3.16.0
|
||||
|
||||
'@tiptap/extension-list-item@3.0.9':
|
||||
resolution: {integrity: sha512-K+ogk1BH/eYhsK9nSTXNdIXlxQcXzty6h1QFiZNr9XmaLk+q4NZFHR5FVz3EJ7QXyw+Gv/2FQn+T2Q/GpbMxZQ==}
|
||||
'@tiptap/extension-list-item@3.23.4':
|
||||
resolution: {integrity: sha512-Q/JXosShD5oyDwukE6igdrZD2lb0ZgyoQTHYchk0pzU4frClFbn3RI1wKP+XeqKLhdO6KH2WZ9rERGH7PtDi7Q==}
|
||||
peerDependencies:
|
||||
'@tiptap/extension-list': ^3.0.9
|
||||
'@tiptap/extension-list': 3.23.4
|
||||
|
||||
'@tiptap/extension-list-keymap@3.0.9':
|
||||
resolution: {integrity: sha512-naz4+EFzLN695f53GATiglPOc5SOLBm1DNhhUHZNlrUVfDtKmrdbo8t9a/NhAE6Ne/pfg5tbuS+OKuvbJaJcAg==}
|
||||
'@tiptap/extension-list-keymap@3.23.4':
|
||||
resolution: {integrity: sha512-9FezifCfuoc0o+5K6l4QNOOfelqxnDGg/f9oL1D/LFZPC54bPxpWWft9QCWOqyqZgyLCLjbCjciAlbgkrFUmmw==}
|
||||
peerDependencies:
|
||||
'@tiptap/extension-list': ^3.0.9
|
||||
'@tiptap/extension-list': 3.23.4
|
||||
|
||||
'@tiptap/extension-list@3.0.9':
|
||||
resolution: {integrity: sha512-y5JQoFmVR+6FhDdEz2oFIMkURSRSDhCtsrlNWdUpSTGnTAa2WZT7nEhHcIMSGvYU3t0fkfLQ9yTMSaQZFa5GLA==}
|
||||
'@tiptap/extension-list@3.23.4':
|
||||
resolution: {integrity: sha512-yuauDm6qW/7q+ZO0YJBKQEGdnUm6DDTJM8AMp9bMZrT4jRf/zyUtNcZ91QEfFvBcyVuI+10PIOXtNPevhQ741Q==}
|
||||
peerDependencies:
|
||||
'@tiptap/core': ^3.0.9
|
||||
'@tiptap/pm': ^3.0.9
|
||||
'@tiptap/core': 3.23.4
|
||||
'@tiptap/pm': 3.23.4
|
||||
|
||||
'@tiptap/extension-mention@3.0.9':
|
||||
resolution: {integrity: sha512-DTQNAQkHZ+7Enlt3KvjqN6eECINlqPpET4Drzwj8Mmz9kMILc87cz3G2cwEKRrS9A1Xn3H3VpWvElWE2Wq9JHw==}
|
||||
'@tiptap/extension-mention@3.16.0':
|
||||
resolution: {integrity: sha512-4vCC8XxHruYSTdoRr37GXvUDvSU0nEc9tUr6673ylOMxPu2lvMb7W+unDn6p5mQu91vKvotyzJMtyHCo9Ac3Fw==}
|
||||
peerDependencies:
|
||||
'@tiptap/core': ^3.0.9
|
||||
'@tiptap/pm': ^3.0.9
|
||||
'@tiptap/suggestion': ^3.0.9
|
||||
'@tiptap/core': ^3.16.0
|
||||
'@tiptap/pm': ^3.16.0
|
||||
'@tiptap/suggestion': ^3.16.0
|
||||
|
||||
'@tiptap/extension-ordered-list@3.0.9':
|
||||
resolution: {integrity: sha512-ACubdGc/y/rKPEgHTO7hDSg547wRRA+Es7c/rQgjrkpI///LBJQfixyUvNg2UNNPttNsavF/CUwhshCeo9MeBA==}
|
||||
'@tiptap/extension-ordered-list@3.23.4':
|
||||
resolution: {integrity: sha512-+3ofyssYnOTa1+nFWEmCAY1ngn8nAV1xo25JnNNC87NMU9WkSgr93jB7/uUJP0uui1C2dBLlaup3XXm108yarw==}
|
||||
peerDependencies:
|
||||
'@tiptap/extension-list': ^3.0.9
|
||||
'@tiptap/extension-list': 3.23.4
|
||||
|
||||
'@tiptap/extension-paragraph@3.0.9':
|
||||
resolution: {integrity: sha512-K5zGg4zLxxqAG0BgtRpLvKclYSGoSSuU1Fza0M5MwUgrFA0S2q4JnLB1czQ77S4pfb3hpScIe50fwJzZmIUEQw==}
|
||||
'@tiptap/extension-paragraph@3.23.4':
|
||||
resolution: {integrity: sha512-KbhXjCFzWphvFn5VU7E4dtmYDm+bssI1i0+CnXPWCXkjdaaX88ck68Xp1fKz8/bbI/CqlgiNDO/3TvqgtZ6woQ==}
|
||||
peerDependencies:
|
||||
'@tiptap/core': ^3.0.9
|
||||
'@tiptap/core': 3.23.4
|
||||
|
||||
'@tiptap/extension-placeholder@3.0.9':
|
||||
resolution: {integrity: sha512-OgDVijDrNFDJpe/1/yMx6VFEmGBt0vE6ZWw5kGkM4NVfOxhRvv6mSZXio269dc9oBSjmyTISKaI1JAYVCfyJIw==}
|
||||
'@tiptap/extension-placeholder@3.16.0':
|
||||
resolution: {integrity: sha512-sbffATC2fwyRF9i483fSRj5MTADCqD1QUl4LCAt8VO+cVEQbV19WV5J7EQ8wIjDEoFoOKIUXdU/0CEcF4IpjDQ==}
|
||||
peerDependencies:
|
||||
'@tiptap/extensions': ^3.0.9
|
||||
'@tiptap/extensions': ^3.16.0
|
||||
|
||||
'@tiptap/extension-strike@3.0.9':
|
||||
resolution: {integrity: sha512-2TBQ9P/FGe+/34ckfwP+eCdb4vbxDVZ5qD0piDIR9Ws5QI5IdtW90pNO4roxiPeRdVFrhTbFPEIuL0tg4NQRmg==}
|
||||
'@tiptap/extension-strike@3.23.4':
|
||||
resolution: {integrity: sha512-Vnq5vW801zPbu1LtKeA5k4R241jY+hRjXeijYwIPxy15KzIiipY12518HiCf6/8kkRbMxgOfdYg9X4BRV3HV3g==}
|
||||
peerDependencies:
|
||||
'@tiptap/core': ^3.0.9
|
||||
'@tiptap/core': 3.23.4
|
||||
|
||||
'@tiptap/extension-text-style@3.16.0':
|
||||
resolution: {integrity: sha512-D+gIqMvCDYTCvnOVpFwfqjSi0UVAbe/9jXP765WlZsN5SOZm4tGOCo+AGxdxReWHsfteM+bdxaK6It1EDRrmiA==}
|
||||
peerDependencies:
|
||||
'@tiptap/core': ^3.16.0
|
||||
|
||||
'@tiptap/extension-text@3.0.9':
|
||||
resolution: {integrity: sha512-yWdz4aW1nu5YGcinxfu3FXiwMnP/7jp+s7dFXhq9m/6zhDUD2+qyUwhJfIU4Tcz+BGdVHqoNgOA3QXLMA6jyFA==}
|
||||
'@tiptap/extension-text@3.16.0':
|
||||
resolution: {integrity: sha512-KTewoX4wZq95cKnjBbogRwBFoGgM6qUg1yjCQ/M6Ajkp4Mtp8Iki9EiAxtfk76b/wtXFf3DsDhFOeVqgKyYbYg==}
|
||||
peerDependencies:
|
||||
'@tiptap/core': ^3.0.9
|
||||
'@tiptap/core': ^3.16.0
|
||||
|
||||
'@tiptap/extension-underline@3.0.9':
|
||||
resolution: {integrity: sha512-xLR5NbnxlEJmvfb4Aj8wCbTmh/ycnPsSDeP8+TAsdAYxypSA6BP6G0t4d4NWreqAq+tq6QV6Eh0+YDN0G1VZxw==}
|
||||
'@tiptap/extension-underline@3.16.0':
|
||||
resolution: {integrity: sha512-obXAPgHVZocMaW6HtKyCYsN4CxHogWr23gioyEQcpIX0LeegHDqxkoPrjIPX6Tn1isDyvXchcSKWHEfiHO3ZOA==}
|
||||
peerDependencies:
|
||||
'@tiptap/core': ^3.0.9
|
||||
'@tiptap/core': ^3.16.0
|
||||
|
||||
'@tiptap/extension-youtube@3.0.9':
|
||||
resolution: {integrity: sha512-9buHygO7zPOCzuR65FgenKwwk2BrcBRelin5xtC+TweugKDXY9+XmvKnGrY6Lz12dxbFh+G4RAhWMZHFt+gBIQ==}
|
||||
'@tiptap/extension-youtube@3.16.0':
|
||||
resolution: {integrity: sha512-G+g36rzbanNxnN9t5SUvqoL5ooT+5QexZNANG9JFb2Lg74oweCaX4IUEgwo03X/oVrr/cehcVS3QUAh15vyYgQ==}
|
||||
peerDependencies:
|
||||
'@tiptap/core': ^3.0.9
|
||||
'@tiptap/core': ^3.16.0
|
||||
|
||||
'@tiptap/extensions@3.16.0':
|
||||
resolution: {integrity: sha512-0iVrn0FHcHIRMdsQLQbf16NgYrKz+Sup/8dDMVBy1QoHn5Hb51QZABqXJTZ6u7My34b4fNZrSggzBAE7l7N/pA==}
|
||||
@@ -3689,40 +3689,42 @@ packages:
|
||||
'@tiptap/core': ^3.16.0
|
||||
'@tiptap/pm': ^3.16.0
|
||||
|
||||
'@tiptap/html@3.0.9':
|
||||
resolution: {integrity: sha512-DJotl3aHrfxoOlyNsOhBPuSMsghm1pv/vgHQvo1MxgP0+sBpx7zjxMuydMU87ywGcgaEpUSbE52NJQLgtbXJ5A==}
|
||||
'@tiptap/html@3.16.0':
|
||||
resolution: {integrity: sha512-6DnnzMSfLzlcJ2MdqvmeJ76LfbPPJU9EHxLnPmAhN1ZPrtpkeSKmCUpLohkgR/U/InZxeOjrCn2M4vQfxCor/Q==}
|
||||
peerDependencies:
|
||||
'@tiptap/core': ^3.0.9
|
||||
'@tiptap/pm': ^3.0.9
|
||||
happy-dom: ^18.0.1
|
||||
'@tiptap/core': ^3.16.0
|
||||
'@tiptap/pm': ^3.16.0
|
||||
happy-dom: ^20.0.2
|
||||
|
||||
'@tiptap/pm@3.0.9':
|
||||
resolution: {integrity: sha512-cJdnpGyirRxwi6M4IkyapEK/jhcjFXdfX3uhJp/4uVH1dynNXalV0gE/YnH/yt55kzwvG9OUrwOQt+t1iXgNog==}
|
||||
'@tiptap/pm@3.16.0':
|
||||
resolution: {integrity: sha512-FMxZ6Tc5ONKa/EByDV8lswct6YW2lF/wn11zqXmrfBZhdG7UQPTijpSwb6TCqaO5GOHmixaIaDPj+zimUREHQA==}
|
||||
|
||||
'@tiptap/react@3.0.9':
|
||||
resolution: {integrity: sha512-BbvWPSgYGvd9m8fPXKI81gf9KP+1SMCPpscbtbbhPyxiW2ziY+jwo+i7MwVI73P89hWAJCy/43UnOde438HmOA==}
|
||||
'@tiptap/react@3.16.0':
|
||||
resolution: {integrity: sha512-r1R19Ma4zxGt8ImiNOqSArAnWO239KUI9tTVeelgTyekPj7643lO8GbtuXJfAeWGPduDIpcAgR/Dd4NKieetiA==}
|
||||
peerDependencies:
|
||||
'@tiptap/core': ^3.0.9
|
||||
'@tiptap/pm': ^3.0.9
|
||||
'@tiptap/core': ^3.16.0
|
||||
'@tiptap/pm': ^3.16.0
|
||||
'@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0
|
||||
'@types/react-dom': ^17.0.0 || ^18.0.0 || ^19.0.0
|
||||
react: ^17.0.0 || ^18.0.0 || ^19.0.0
|
||||
react-dom: ^17.0.0 || ^18.0.0 || ^19.0.0
|
||||
|
||||
'@tiptap/starter-kit@3.0.9':
|
||||
resolution: {integrity: sha512-CYg6tV5fYOvkP1gyATkJJj+nFYmwjDKLipQc/r0D/tHKypxefENrm4G7mf4B78zsB/izfk5mW3iujvyeod6EcQ==}
|
||||
'@tiptap/starter-kit@3.16.0':
|
||||
resolution: {integrity: sha512-eWi+77SgKyhSx91Hmn32ER+gPN6FfInGtod4A+XxSG+LqS/sn6kpUEdowYrnqiZzhUXZCSTSJvC+UcMUZHOkxQ==}
|
||||
|
||||
'@tiptap/static-renderer@3.0.9':
|
||||
resolution: {integrity: sha512-DZ7QmEmBHB1SbP0pOd0yrbfkRZX572fo5Mi2x2xHDOVToQcfcfjG77XR3y9W+rKY7L9rYXS0kYcd4CT02duc3g==}
|
||||
'@tiptap/static-renderer@3.16.0':
|
||||
resolution: {integrity: sha512-5mZKhlS7DUeH+fTYTgqY8EqSzXrtcKsIrD9o7pcGHgnlw3BqqTmLzTQFP6jsiShy1OQyxfU8/VNzVGlnJwi7wg==}
|
||||
peerDependencies:
|
||||
'@tiptap/core': ^3.0.9
|
||||
'@tiptap/pm': ^3.0.9
|
||||
'@tiptap/core': ^3.16.0
|
||||
'@tiptap/pm': ^3.16.0
|
||||
react: ^17.0.0 || ^18.0.0 || ^19.0.0
|
||||
react-dom: ^17.0.0 || ^18.0.0 || ^19.0.0
|
||||
|
||||
'@tiptap/suggestion@3.0.9':
|
||||
resolution: {integrity: sha512-irthqfUybezo3IwR6AXvyyTOtkzwfvvst58VXZtTnR1nN6NEcrs3TQoY3bGKGbN83bdiquKh6aU2nLnZfAhoXg==}
|
||||
'@tiptap/suggestion@3.16.0':
|
||||
resolution: {integrity: sha512-o0fix23VeqiFtvGqJkiBLlBrbfhSMeYFlXPoanU7zbL1TC2dhhEb6nlUr8Ppnc6pkUpWwo7JSN18hjJutPYGPw==}
|
||||
peerDependencies:
|
||||
'@tiptap/core': ^3.0.9
|
||||
'@tiptap/pm': ^3.0.9
|
||||
'@tiptap/core': ^3.16.0
|
||||
'@tiptap/pm': ^3.16.0
|
||||
|
||||
'@tootallnate/once@2.0.0':
|
||||
resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==}
|
||||
@@ -5467,6 +5469,10 @@ packages:
|
||||
resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==}
|
||||
engines: {node: '>=0.12'}
|
||||
|
||||
entities@7.0.1:
|
||||
resolution: {integrity: sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==}
|
||||
engines: {node: '>=0.12'}
|
||||
|
||||
entities@8.0.0:
|
||||
resolution: {integrity: sha512-zwfzJecQ/Uej6tusMqwAqU/6KL2XaB2VZ2Jg54Je6ahNBGNH6Ek6g3jjNCF0fG9EWQKGZNddNjU5F1ZQn/sBnA==}
|
||||
engines: {node: '>=20.19.0'}
|
||||
@@ -5832,6 +5838,10 @@ packages:
|
||||
fast-diff@1.3.0:
|
||||
resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==}
|
||||
|
||||
fast-equals@5.4.0:
|
||||
resolution: {integrity: sha512-jt2DW/aNFNwke7AUd+Z+e6pz39KO5rzdbbFCg2sGafS4mk13MI7Z8O5z9cADNn5lhGODIgLwug6TZO2ctf7kcw==}
|
||||
engines: {node: '>=6.0.0'}
|
||||
|
||||
fast-fifo@1.3.2:
|
||||
resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==}
|
||||
|
||||
@@ -6200,8 +6210,8 @@ packages:
|
||||
resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==}
|
||||
engines: {node: '>=10'}
|
||||
|
||||
happy-dom@18.0.1:
|
||||
resolution: {integrity: sha512-qn+rKOW7KWpVTtgIUi6RVmTBZJSe2k0Db0vh1f7CWrWclkkc7/Q+FrOfkZIb2eiErLyqu5AXEzE7XthO9JVxRA==}
|
||||
happy-dom@20.9.0:
|
||||
resolution: {integrity: sha512-GZZ9mKe8r646NUAf/zemnGbjYh4Bt8/MqASJY+pSm5ZDtc3YQox+4gsLI7yi1hba6o+eCsGxpHn5+iEVn31/FQ==}
|
||||
engines: {node: '>=20.0.0'}
|
||||
|
||||
has-bigints@1.1.0:
|
||||
@@ -11803,12 +11813,12 @@ snapshots:
|
||||
dependencies:
|
||||
react: 18.3.1
|
||||
|
||||
'@mantine/tiptap@7.17.8(@mantine/core@7.17.8(@mantine/hooks@7.17.8(patch_hash=b45a85bd4d007c796b93eb90a75d3234b81cce13964921b25721734c7ed79f64)(react@18.3.1))(@types/react@18.0.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.17.8(patch_hash=b45a85bd4d007c796b93eb90a75d3234b81cce13964921b25721734c7ed79f64)(react@18.3.1))(@tiptap/extension-link@3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9))(@tiptap/react@3.0.9(@floating-ui/dom@1.7.3)(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
|
||||
'@mantine/tiptap@7.17.8(@mantine/core@7.17.8(@mantine/hooks@7.17.8(patch_hash=b45a85bd4d007c796b93eb90a75d3234b81cce13964921b25721734c7ed79f64)(react@18.3.1))(@types/react@18.0.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.17.8(patch_hash=b45a85bd4d007c796b93eb90a75d3234b81cce13964921b25721734c7ed79f64)(react@18.3.1))(@tiptap/extension-link@3.16.0(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))(@tiptap/pm@3.16.0))(@tiptap/react@3.16.0(@floating-ui/dom@1.7.3)(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))(@tiptap/pm@3.16.0)(@types/react-dom@18.0.5)(@types/react@18.0.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
|
||||
dependencies:
|
||||
'@mantine/core': 7.17.8(@mantine/hooks@7.17.8(patch_hash=b45a85bd4d007c796b93eb90a75d3234b81cce13964921b25721734c7ed79f64)(react@18.3.1))(@types/react@18.0.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
|
||||
'@mantine/hooks': 7.17.8(patch_hash=b45a85bd4d007c796b93eb90a75d3234b81cce13964921b25721734c7ed79f64)(react@18.3.1)
|
||||
'@tiptap/extension-link': 3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9)
|
||||
'@tiptap/react': 3.0.9(@floating-ui/dom@1.7.3)(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
|
||||
'@tiptap/extension-link': 3.16.0(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))(@tiptap/pm@3.16.0)
|
||||
'@tiptap/react': 3.16.0(@floating-ui/dom@1.7.3)(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))(@tiptap/pm@3.16.0)(@types/react-dom@18.0.5)(@types/react@18.0.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
|
||||
react: 18.3.1
|
||||
react-dom: 18.3.1(react@18.3.1)
|
||||
|
||||
@@ -13440,151 +13450,151 @@ snapshots:
|
||||
|
||||
'@tanstack/virtual-core@3.13.12': {}
|
||||
|
||||
'@tiptap/core@3.16.0(@tiptap/pm@3.0.9)':
|
||||
'@tiptap/core@3.16.0(@tiptap/pm@3.16.0)':
|
||||
dependencies:
|
||||
'@tiptap/pm': 3.0.9
|
||||
'@tiptap/pm': 3.16.0
|
||||
|
||||
'@tiptap/extension-blockquote@3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))':
|
||||
'@tiptap/extension-blockquote@3.23.4(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))':
|
||||
dependencies:
|
||||
'@tiptap/core': 3.16.0(@tiptap/pm@3.0.9)
|
||||
'@tiptap/core': 3.16.0(@tiptap/pm@3.16.0)
|
||||
|
||||
'@tiptap/extension-bold@3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))':
|
||||
'@tiptap/extension-bold@3.23.4(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))':
|
||||
dependencies:
|
||||
'@tiptap/core': 3.16.0(@tiptap/pm@3.0.9)
|
||||
'@tiptap/core': 3.16.0(@tiptap/pm@3.16.0)
|
||||
|
||||
'@tiptap/extension-bubble-menu@3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9)':
|
||||
'@tiptap/extension-bubble-menu@3.23.4(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))(@tiptap/pm@3.16.0)':
|
||||
dependencies:
|
||||
'@floating-ui/dom': 1.7.3
|
||||
'@tiptap/core': 3.16.0(@tiptap/pm@3.0.9)
|
||||
'@tiptap/pm': 3.0.9
|
||||
'@tiptap/core': 3.16.0(@tiptap/pm@3.16.0)
|
||||
'@tiptap/pm': 3.16.0
|
||||
optional: true
|
||||
|
||||
'@tiptap/extension-bullet-list@3.0.9(@tiptap/extension-list@3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9))':
|
||||
'@tiptap/extension-bullet-list@3.23.4(@tiptap/extension-list@3.23.4(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))(@tiptap/pm@3.16.0))':
|
||||
dependencies:
|
||||
'@tiptap/extension-list': 3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9)
|
||||
'@tiptap/extension-list': 3.23.4(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))(@tiptap/pm@3.16.0)
|
||||
|
||||
'@tiptap/extension-code-block@3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9)':
|
||||
'@tiptap/extension-code-block@3.23.4(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))(@tiptap/pm@3.16.0)':
|
||||
dependencies:
|
||||
'@tiptap/core': 3.16.0(@tiptap/pm@3.0.9)
|
||||
'@tiptap/pm': 3.0.9
|
||||
'@tiptap/core': 3.16.0(@tiptap/pm@3.16.0)
|
||||
'@tiptap/pm': 3.16.0
|
||||
|
||||
'@tiptap/extension-code@3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))':
|
||||
'@tiptap/extension-code@3.23.4(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))':
|
||||
dependencies:
|
||||
'@tiptap/core': 3.16.0(@tiptap/pm@3.0.9)
|
||||
'@tiptap/core': 3.16.0(@tiptap/pm@3.16.0)
|
||||
|
||||
'@tiptap/extension-color@3.0.9(@tiptap/extension-text-style@3.16.0(@tiptap/core@3.16.0(@tiptap/pm@3.0.9)))':
|
||||
'@tiptap/extension-color@3.16.0(@tiptap/extension-text-style@3.16.0(@tiptap/core@3.16.0(@tiptap/pm@3.16.0)))':
|
||||
dependencies:
|
||||
'@tiptap/extension-text-style': 3.16.0(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))
|
||||
'@tiptap/extension-text-style': 3.16.0(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))
|
||||
|
||||
'@tiptap/extension-document@3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))':
|
||||
'@tiptap/extension-document@3.23.4(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))':
|
||||
dependencies:
|
||||
'@tiptap/core': 3.16.0(@tiptap/pm@3.0.9)
|
||||
'@tiptap/core': 3.16.0(@tiptap/pm@3.16.0)
|
||||
|
||||
'@tiptap/extension-dropcursor@3.0.9(@tiptap/extensions@3.16.0(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9))':
|
||||
'@tiptap/extension-dropcursor@3.23.4(@tiptap/extensions@3.16.0(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))(@tiptap/pm@3.16.0))':
|
||||
dependencies:
|
||||
'@tiptap/extensions': 3.16.0(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9)
|
||||
'@tiptap/extensions': 3.16.0(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))(@tiptap/pm@3.16.0)
|
||||
|
||||
'@tiptap/extension-floating-menu@3.0.9(@floating-ui/dom@1.7.3)(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9)':
|
||||
'@tiptap/extension-floating-menu@3.23.4(@floating-ui/dom@1.7.3)(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))(@tiptap/pm@3.16.0)':
|
||||
dependencies:
|
||||
'@floating-ui/dom': 1.7.3
|
||||
'@tiptap/core': 3.16.0(@tiptap/pm@3.0.9)
|
||||
'@tiptap/pm': 3.0.9
|
||||
'@tiptap/core': 3.16.0(@tiptap/pm@3.16.0)
|
||||
'@tiptap/pm': 3.16.0
|
||||
optional: true
|
||||
|
||||
'@tiptap/extension-gapcursor@3.0.9(@tiptap/extensions@3.16.0(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9))':
|
||||
'@tiptap/extension-gapcursor@3.23.4(@tiptap/extensions@3.16.0(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))(@tiptap/pm@3.16.0))':
|
||||
dependencies:
|
||||
'@tiptap/extensions': 3.16.0(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9)
|
||||
'@tiptap/extensions': 3.16.0(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))(@tiptap/pm@3.16.0)
|
||||
|
||||
'@tiptap/extension-hard-break@3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))':
|
||||
'@tiptap/extension-hard-break@3.23.4(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))':
|
||||
dependencies:
|
||||
'@tiptap/core': 3.16.0(@tiptap/pm@3.0.9)
|
||||
'@tiptap/core': 3.16.0(@tiptap/pm@3.16.0)
|
||||
|
||||
'@tiptap/extension-heading@3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))':
|
||||
'@tiptap/extension-heading@3.16.0(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))':
|
||||
dependencies:
|
||||
'@tiptap/core': 3.16.0(@tiptap/pm@3.0.9)
|
||||
'@tiptap/core': 3.16.0(@tiptap/pm@3.16.0)
|
||||
|
||||
'@tiptap/extension-horizontal-rule@3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9)':
|
||||
'@tiptap/extension-horizontal-rule@3.23.4(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))(@tiptap/pm@3.16.0)':
|
||||
dependencies:
|
||||
'@tiptap/core': 3.16.0(@tiptap/pm@3.0.9)
|
||||
'@tiptap/pm': 3.0.9
|
||||
'@tiptap/core': 3.16.0(@tiptap/pm@3.16.0)
|
||||
'@tiptap/pm': 3.16.0
|
||||
|
||||
'@tiptap/extension-image@3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))':
|
||||
'@tiptap/extension-image@3.16.0(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))':
|
||||
dependencies:
|
||||
'@tiptap/core': 3.16.0(@tiptap/pm@3.0.9)
|
||||
'@tiptap/core': 3.16.0(@tiptap/pm@3.16.0)
|
||||
|
||||
'@tiptap/extension-italic@3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))':
|
||||
'@tiptap/extension-italic@3.23.4(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))':
|
||||
dependencies:
|
||||
'@tiptap/core': 3.16.0(@tiptap/pm@3.0.9)
|
||||
'@tiptap/core': 3.16.0(@tiptap/pm@3.16.0)
|
||||
|
||||
'@tiptap/extension-link@3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9)':
|
||||
'@tiptap/extension-link@3.16.0(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))(@tiptap/pm@3.16.0)':
|
||||
dependencies:
|
||||
'@tiptap/core': 3.16.0(@tiptap/pm@3.0.9)
|
||||
'@tiptap/pm': 3.0.9
|
||||
'@tiptap/core': 3.16.0(@tiptap/pm@3.16.0)
|
||||
'@tiptap/pm': 3.16.0
|
||||
linkifyjs: 4.3.2
|
||||
|
||||
'@tiptap/extension-list-item@3.0.9(@tiptap/extension-list@3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9))':
|
||||
'@tiptap/extension-list-item@3.23.4(@tiptap/extension-list@3.23.4(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))(@tiptap/pm@3.16.0))':
|
||||
dependencies:
|
||||
'@tiptap/extension-list': 3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9)
|
||||
'@tiptap/extension-list': 3.23.4(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))(@tiptap/pm@3.16.0)
|
||||
|
||||
'@tiptap/extension-list-keymap@3.0.9(@tiptap/extension-list@3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9))':
|
||||
'@tiptap/extension-list-keymap@3.23.4(@tiptap/extension-list@3.23.4(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))(@tiptap/pm@3.16.0))':
|
||||
dependencies:
|
||||
'@tiptap/extension-list': 3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9)
|
||||
'@tiptap/extension-list': 3.23.4(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))(@tiptap/pm@3.16.0)
|
||||
|
||||
'@tiptap/extension-list@3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9)':
|
||||
'@tiptap/extension-list@3.23.4(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))(@tiptap/pm@3.16.0)':
|
||||
dependencies:
|
||||
'@tiptap/core': 3.16.0(@tiptap/pm@3.0.9)
|
||||
'@tiptap/pm': 3.0.9
|
||||
'@tiptap/core': 3.16.0(@tiptap/pm@3.16.0)
|
||||
'@tiptap/pm': 3.16.0
|
||||
|
||||
'@tiptap/extension-mention@3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9)(@tiptap/suggestion@3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9))':
|
||||
'@tiptap/extension-mention@3.16.0(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))(@tiptap/pm@3.16.0)(@tiptap/suggestion@3.16.0(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))(@tiptap/pm@3.16.0))':
|
||||
dependencies:
|
||||
'@tiptap/core': 3.16.0(@tiptap/pm@3.0.9)
|
||||
'@tiptap/pm': 3.0.9
|
||||
'@tiptap/suggestion': 3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9)
|
||||
'@tiptap/core': 3.16.0(@tiptap/pm@3.16.0)
|
||||
'@tiptap/pm': 3.16.0
|
||||
'@tiptap/suggestion': 3.16.0(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))(@tiptap/pm@3.16.0)
|
||||
|
||||
'@tiptap/extension-ordered-list@3.0.9(@tiptap/extension-list@3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9))':
|
||||
'@tiptap/extension-ordered-list@3.23.4(@tiptap/extension-list@3.23.4(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))(@tiptap/pm@3.16.0))':
|
||||
dependencies:
|
||||
'@tiptap/extension-list': 3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9)
|
||||
'@tiptap/extension-list': 3.23.4(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))(@tiptap/pm@3.16.0)
|
||||
|
||||
'@tiptap/extension-paragraph@3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))':
|
||||
'@tiptap/extension-paragraph@3.23.4(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))':
|
||||
dependencies:
|
||||
'@tiptap/core': 3.16.0(@tiptap/pm@3.0.9)
|
||||
'@tiptap/core': 3.16.0(@tiptap/pm@3.16.0)
|
||||
|
||||
'@tiptap/extension-placeholder@3.0.9(@tiptap/extensions@3.16.0(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9))':
|
||||
'@tiptap/extension-placeholder@3.16.0(@tiptap/extensions@3.16.0(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))(@tiptap/pm@3.16.0))':
|
||||
dependencies:
|
||||
'@tiptap/extensions': 3.16.0(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9)
|
||||
'@tiptap/extensions': 3.16.0(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))(@tiptap/pm@3.16.0)
|
||||
|
||||
'@tiptap/extension-strike@3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))':
|
||||
'@tiptap/extension-strike@3.23.4(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))':
|
||||
dependencies:
|
||||
'@tiptap/core': 3.16.0(@tiptap/pm@3.0.9)
|
||||
'@tiptap/core': 3.16.0(@tiptap/pm@3.16.0)
|
||||
|
||||
'@tiptap/extension-text-style@3.16.0(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))':
|
||||
'@tiptap/extension-text-style@3.16.0(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))':
|
||||
dependencies:
|
||||
'@tiptap/core': 3.16.0(@tiptap/pm@3.0.9)
|
||||
'@tiptap/core': 3.16.0(@tiptap/pm@3.16.0)
|
||||
|
||||
'@tiptap/extension-text@3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))':
|
||||
'@tiptap/extension-text@3.16.0(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))':
|
||||
dependencies:
|
||||
'@tiptap/core': 3.16.0(@tiptap/pm@3.0.9)
|
||||
'@tiptap/core': 3.16.0(@tiptap/pm@3.16.0)
|
||||
|
||||
'@tiptap/extension-underline@3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))':
|
||||
'@tiptap/extension-underline@3.16.0(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))':
|
||||
dependencies:
|
||||
'@tiptap/core': 3.16.0(@tiptap/pm@3.0.9)
|
||||
'@tiptap/core': 3.16.0(@tiptap/pm@3.16.0)
|
||||
|
||||
'@tiptap/extension-youtube@3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))':
|
||||
'@tiptap/extension-youtube@3.16.0(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))':
|
||||
dependencies:
|
||||
'@tiptap/core': 3.16.0(@tiptap/pm@3.0.9)
|
||||
'@tiptap/core': 3.16.0(@tiptap/pm@3.16.0)
|
||||
|
||||
'@tiptap/extensions@3.16.0(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9)':
|
||||
'@tiptap/extensions@3.16.0(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))(@tiptap/pm@3.16.0)':
|
||||
dependencies:
|
||||
'@tiptap/core': 3.16.0(@tiptap/pm@3.0.9)
|
||||
'@tiptap/pm': 3.0.9
|
||||
'@tiptap/core': 3.16.0(@tiptap/pm@3.16.0)
|
||||
'@tiptap/pm': 3.16.0
|
||||
|
||||
'@tiptap/html@3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9)(happy-dom@18.0.1)':
|
||||
'@tiptap/html@3.16.0(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))(@tiptap/pm@3.16.0)(happy-dom@20.9.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))':
|
||||
dependencies:
|
||||
'@tiptap/core': 3.16.0(@tiptap/pm@3.0.9)
|
||||
'@tiptap/pm': 3.0.9
|
||||
happy-dom: 18.0.1
|
||||
'@tiptap/core': 3.16.0(@tiptap/pm@3.16.0)
|
||||
'@tiptap/pm': 3.16.0
|
||||
happy-dom: 20.9.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)
|
||||
|
||||
'@tiptap/pm@3.0.9':
|
||||
'@tiptap/pm@3.16.0':
|
||||
dependencies:
|
||||
prosemirror-changeset: 2.3.1
|
||||
prosemirror-collab: 1.3.1
|
||||
@@ -13605,59 +13615,61 @@ snapshots:
|
||||
prosemirror-transform: 1.10.4
|
||||
prosemirror-view: 1.40.1
|
||||
|
||||
'@tiptap/react@3.0.9(@floating-ui/dom@1.7.3)(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
|
||||
'@tiptap/react@3.16.0(@floating-ui/dom@1.7.3)(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))(@tiptap/pm@3.16.0)(@types/react-dom@18.0.5)(@types/react@18.0.14)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
|
||||
dependencies:
|
||||
'@tiptap/core': 3.16.0(@tiptap/pm@3.0.9)
|
||||
'@tiptap/pm': 3.0.9
|
||||
'@tiptap/core': 3.16.0(@tiptap/pm@3.16.0)
|
||||
'@tiptap/pm': 3.16.0
|
||||
'@types/react': 18.0.14
|
||||
'@types/react-dom': 18.0.5
|
||||
'@types/use-sync-external-store': 0.0.6
|
||||
fast-deep-equal: 3.1.3
|
||||
fast-equals: 5.4.0
|
||||
react: 18.3.1
|
||||
react-dom: 18.3.1(react@18.3.1)
|
||||
use-sync-external-store: 1.5.0(react@18.3.1)
|
||||
optionalDependencies:
|
||||
'@tiptap/extension-bubble-menu': 3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9)
|
||||
'@tiptap/extension-floating-menu': 3.0.9(@floating-ui/dom@1.7.3)(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9)
|
||||
'@tiptap/extension-bubble-menu': 3.23.4(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))(@tiptap/pm@3.16.0)
|
||||
'@tiptap/extension-floating-menu': 3.23.4(@floating-ui/dom@1.7.3)(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))(@tiptap/pm@3.16.0)
|
||||
transitivePeerDependencies:
|
||||
- '@floating-ui/dom'
|
||||
|
||||
'@tiptap/starter-kit@3.0.9':
|
||||
'@tiptap/starter-kit@3.16.0':
|
||||
dependencies:
|
||||
'@tiptap/core': 3.16.0(@tiptap/pm@3.0.9)
|
||||
'@tiptap/extension-blockquote': 3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))
|
||||
'@tiptap/extension-bold': 3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))
|
||||
'@tiptap/extension-bullet-list': 3.0.9(@tiptap/extension-list@3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9))
|
||||
'@tiptap/extension-code': 3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))
|
||||
'@tiptap/extension-code-block': 3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9)
|
||||
'@tiptap/extension-document': 3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))
|
||||
'@tiptap/extension-dropcursor': 3.0.9(@tiptap/extensions@3.16.0(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9))
|
||||
'@tiptap/extension-gapcursor': 3.0.9(@tiptap/extensions@3.16.0(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9))
|
||||
'@tiptap/extension-hard-break': 3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))
|
||||
'@tiptap/extension-heading': 3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))
|
||||
'@tiptap/extension-horizontal-rule': 3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9)
|
||||
'@tiptap/extension-italic': 3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))
|
||||
'@tiptap/extension-link': 3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9)
|
||||
'@tiptap/extension-list': 3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9)
|
||||
'@tiptap/extension-list-item': 3.0.9(@tiptap/extension-list@3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9))
|
||||
'@tiptap/extension-list-keymap': 3.0.9(@tiptap/extension-list@3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9))
|
||||
'@tiptap/extension-ordered-list': 3.0.9(@tiptap/extension-list@3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9))
|
||||
'@tiptap/extension-paragraph': 3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))
|
||||
'@tiptap/extension-strike': 3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))
|
||||
'@tiptap/extension-text': 3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))
|
||||
'@tiptap/extension-underline': 3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))
|
||||
'@tiptap/extensions': 3.16.0(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9)
|
||||
'@tiptap/pm': 3.0.9
|
||||
'@tiptap/core': 3.16.0(@tiptap/pm@3.16.0)
|
||||
'@tiptap/extension-blockquote': 3.23.4(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))
|
||||
'@tiptap/extension-bold': 3.23.4(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))
|
||||
'@tiptap/extension-bullet-list': 3.23.4(@tiptap/extension-list@3.23.4(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))(@tiptap/pm@3.16.0))
|
||||
'@tiptap/extension-code': 3.23.4(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))
|
||||
'@tiptap/extension-code-block': 3.23.4(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))(@tiptap/pm@3.16.0)
|
||||
'@tiptap/extension-document': 3.23.4(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))
|
||||
'@tiptap/extension-dropcursor': 3.23.4(@tiptap/extensions@3.16.0(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))(@tiptap/pm@3.16.0))
|
||||
'@tiptap/extension-gapcursor': 3.23.4(@tiptap/extensions@3.16.0(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))(@tiptap/pm@3.16.0))
|
||||
'@tiptap/extension-hard-break': 3.23.4(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))
|
||||
'@tiptap/extension-heading': 3.16.0(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))
|
||||
'@tiptap/extension-horizontal-rule': 3.23.4(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))(@tiptap/pm@3.16.0)
|
||||
'@tiptap/extension-italic': 3.23.4(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))
|
||||
'@tiptap/extension-link': 3.16.0(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))(@tiptap/pm@3.16.0)
|
||||
'@tiptap/extension-list': 3.23.4(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))(@tiptap/pm@3.16.0)
|
||||
'@tiptap/extension-list-item': 3.23.4(@tiptap/extension-list@3.23.4(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))(@tiptap/pm@3.16.0))
|
||||
'@tiptap/extension-list-keymap': 3.23.4(@tiptap/extension-list@3.23.4(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))(@tiptap/pm@3.16.0))
|
||||
'@tiptap/extension-ordered-list': 3.23.4(@tiptap/extension-list@3.23.4(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))(@tiptap/pm@3.16.0))
|
||||
'@tiptap/extension-paragraph': 3.23.4(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))
|
||||
'@tiptap/extension-strike': 3.23.4(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))
|
||||
'@tiptap/extension-text': 3.16.0(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))
|
||||
'@tiptap/extension-underline': 3.16.0(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))
|
||||
'@tiptap/extensions': 3.16.0(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))(@tiptap/pm@3.16.0)
|
||||
'@tiptap/pm': 3.16.0
|
||||
|
||||
'@tiptap/static-renderer@3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
|
||||
'@tiptap/static-renderer@3.16.0(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))(@tiptap/pm@3.16.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
|
||||
dependencies:
|
||||
'@tiptap/core': 3.16.0(@tiptap/pm@3.0.9)
|
||||
'@tiptap/pm': 3.0.9
|
||||
'@tiptap/core': 3.16.0(@tiptap/pm@3.16.0)
|
||||
'@tiptap/pm': 3.16.0
|
||||
react: 18.3.1
|
||||
react-dom: 18.3.1(react@18.3.1)
|
||||
|
||||
'@tiptap/suggestion@3.0.9(@tiptap/core@3.16.0(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9)':
|
||||
'@tiptap/suggestion@3.16.0(@tiptap/core@3.16.0(@tiptap/pm@3.16.0))(@tiptap/pm@3.16.0)':
|
||||
dependencies:
|
||||
'@tiptap/core': 3.16.0(@tiptap/pm@3.0.9)
|
||||
'@tiptap/pm': 3.0.9
|
||||
'@tiptap/core': 3.16.0(@tiptap/pm@3.16.0)
|
||||
'@tiptap/pm': 3.16.0
|
||||
|
||||
'@tootallnate/once@2.0.0': {}
|
||||
|
||||
@@ -14130,7 +14142,7 @@ snapshots:
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@vitest/coverage-v8@4.0.18(vitest@4.0.18(@opentelemetry/api@1.9.0)(@types/node@20.19.9)(happy-dom@18.0.1)(jiti@2.5.1)(jsdom@27.4.0(@noble/hashes@1.8.0)(bufferutil@4.0.9)(utf-8-validate@5.0.10))(msw@2.12.10(@types/node@20.19.9)(typescript@5.9.2))(sass@1.90.0)(sugarss@5.0.1(postcss@8.5.6))(terser@5.47.1)(tsx@4.20.3)(yaml@2.8.1))':
|
||||
'@vitest/coverage-v8@4.0.18(vitest@4.0.18(@opentelemetry/api@1.9.0)(@types/node@20.19.9)(happy-dom@20.9.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(jiti@2.5.1)(jsdom@27.4.0(@noble/hashes@1.8.0)(bufferutil@4.0.9)(utf-8-validate@5.0.10))(msw@2.12.10(@types/node@20.19.9)(typescript@5.9.2))(sass@1.90.0)(sugarss@5.0.1(postcss@8.5.6))(terser@5.47.1)(tsx@4.20.3)(yaml@2.8.1))':
|
||||
dependencies:
|
||||
'@bcoe/v8-coverage': 1.0.2
|
||||
'@vitest/utils': 4.0.18
|
||||
@@ -14142,7 +14154,7 @@ snapshots:
|
||||
obug: 2.1.1
|
||||
std-env: 3.10.0
|
||||
tinyrainbow: 3.0.3
|
||||
vitest: 4.0.18(@opentelemetry/api@1.9.0)(@types/node@20.19.9)(happy-dom@18.0.1)(jiti@2.5.1)(jsdom@27.4.0(@noble/hashes@1.8.0)(bufferutil@4.0.9)(utf-8-validate@5.0.10))(msw@2.12.10(@types/node@20.19.9)(typescript@5.9.2))(sass@1.90.0)(sugarss@5.0.1(postcss@8.5.6))(terser@5.47.1)(tsx@4.20.3)(yaml@2.8.1)
|
||||
vitest: 4.0.18(@opentelemetry/api@1.9.0)(@types/node@20.19.9)(happy-dom@20.9.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(jiti@2.5.1)(jsdom@27.4.0(@noble/hashes@1.8.0)(bufferutil@4.0.9)(utf-8-validate@5.0.10))(msw@2.12.10(@types/node@20.19.9)(typescript@5.9.2))(sass@1.90.0)(sugarss@5.0.1(postcss@8.5.6))(terser@5.47.1)(tsx@4.20.3)(yaml@2.8.1)
|
||||
|
||||
'@vitest/expect@4.0.18':
|
||||
dependencies:
|
||||
@@ -15474,6 +15486,8 @@ snapshots:
|
||||
|
||||
entities@6.0.1: {}
|
||||
|
||||
entities@7.0.1: {}
|
||||
|
||||
entities@8.0.0:
|
||||
optional: true
|
||||
|
||||
@@ -16053,6 +16067,8 @@ snapshots:
|
||||
|
||||
fast-diff@1.3.0: {}
|
||||
|
||||
fast-equals@5.4.0: {}
|
||||
|
||||
fast-fifo@1.3.2: {}
|
||||
|
||||
fast-glob@3.3.3:
|
||||
@@ -16500,11 +16516,17 @@ snapshots:
|
||||
dependencies:
|
||||
duplexer: 0.1.2
|
||||
|
||||
happy-dom@18.0.1:
|
||||
happy-dom@20.9.0(bufferutil@4.0.9)(utf-8-validate@5.0.10):
|
||||
dependencies:
|
||||
'@types/node': 20.19.9
|
||||
'@types/whatwg-mimetype': 3.0.2
|
||||
'@types/ws': 8.18.1
|
||||
entities: 7.0.1
|
||||
whatwg-mimetype: 3.0.0
|
||||
ws: 8.20.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)
|
||||
transitivePeerDependencies:
|
||||
- bufferutil
|
||||
- utf-8-validate
|
||||
|
||||
has-bigints@1.1.0: {}
|
||||
|
||||
@@ -20902,7 +20924,7 @@ snapshots:
|
||||
tsx: 4.20.3
|
||||
yaml: 2.8.1
|
||||
|
||||
vitest@4.0.18(@opentelemetry/api@1.9.0)(@types/node@20.19.9)(happy-dom@18.0.1)(jiti@2.5.1)(jsdom@27.4.0(@noble/hashes@1.8.0)(bufferutil@4.0.9)(utf-8-validate@5.0.10))(msw@2.12.10(@types/node@20.19.9)(typescript@5.9.2))(sass@1.90.0)(sugarss@5.0.1(postcss@8.5.6))(terser@5.47.1)(tsx@4.20.3)(yaml@2.8.1):
|
||||
vitest@4.0.18(@opentelemetry/api@1.9.0)(@types/node@20.19.9)(happy-dom@20.9.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(jiti@2.5.1)(jsdom@27.4.0(@noble/hashes@1.8.0)(bufferutil@4.0.9)(utf-8-validate@5.0.10))(msw@2.12.10(@types/node@20.19.9)(typescript@5.9.2))(sass@1.90.0)(sugarss@5.0.1(postcss@8.5.6))(terser@5.47.1)(tsx@4.20.3)(yaml@2.8.1):
|
||||
dependencies:
|
||||
'@vitest/expect': 4.0.18
|
||||
'@vitest/mocker': 4.0.18(msw@2.12.10(@types/node@20.19.9)(typescript@5.9.2))(vite@7.3.1(@types/node@20.19.9)(jiti@2.5.1)(sass@1.90.0)(sugarss@5.0.1(postcss@8.5.6))(terser@5.47.1)(tsx@4.20.3)(yaml@2.8.1))
|
||||
@@ -20927,7 +20949,7 @@ snapshots:
|
||||
optionalDependencies:
|
||||
'@opentelemetry/api': 1.9.0
|
||||
'@types/node': 20.19.9
|
||||
happy-dom: 18.0.1
|
||||
happy-dom: 20.9.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)
|
||||
jsdom: 27.4.0(@noble/hashes@1.8.0)(bufferutil@4.0.9)(utf-8-validate@5.0.10)
|
||||
transitivePeerDependencies:
|
||||
- jiti
|
||||
@@ -21151,7 +21173,6 @@ snapshots:
|
||||
optionalDependencies:
|
||||
bufferutil: 4.0.9
|
||||
utf-8-validate: 5.0.10
|
||||
optional: true
|
||||
|
||||
wsl-utils@0.1.0:
|
||||
dependencies:
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import type { SuggestionOptions } from '@tiptap/suggestion';
|
||||
import { exitSuggestion, SuggestionPluginKey } from '@tiptap/suggestion';
|
||||
import { computePosition, flip, shift } from '@floating-ui/dom';
|
||||
import { posToDOMRect, ReactRenderer } from '@tiptap/react';
|
||||
|
||||
@@ -11,13 +12,19 @@ export function getSuggestions(options?: Options) {
|
||||
const { defaultSuggestions = [] } = options || {};
|
||||
|
||||
const suggestion: Omit<SuggestionOptions, 'editor'> = {
|
||||
// @tiptap/extension-mention creates a fresh anonymous PluginKey per
|
||||
// suggestion instance. exitSuggestion() defaults to SuggestionPluginKey,
|
||||
// so without aligning the keys here the metadata-only exit transaction
|
||||
// would never reach the mention plugin's reducer and outside-click
|
||||
// would silently fail to close the popup.
|
||||
pluginKey: SuggestionPluginKey,
|
||||
items: ({ query }) =>
|
||||
defaultSuggestions
|
||||
.filter((suggestion) => suggestion.label.toLowerCase().startsWith(query.toLowerCase()))
|
||||
.slice(0, 5),
|
||||
render: () => {
|
||||
let component: ReactRenderer<MentionListRef>;
|
||||
// let popup: TippyInstance[] | undefined;
|
||||
let outsideClickHandler: ((event: MouseEvent) => void) | null = null;
|
||||
|
||||
return {
|
||||
onStart: (props) => {
|
||||
@@ -32,6 +39,18 @@ export function getSuggestions(options?: Options) {
|
||||
document.body.appendChild(component.element);
|
||||
|
||||
updatePosition(props.editor, component.element);
|
||||
|
||||
// @tiptap/suggestion 3.4.0 removed the built-in document mousedown
|
||||
// handler that closed popups on outside click. Restore that behavior
|
||||
// here so clicking outside the popup and editor exits the suggestion.
|
||||
outsideClickHandler = (event: MouseEvent) => {
|
||||
const target = event.target as Node | null;
|
||||
if (!target) return;
|
||||
if (component.element.contains(target)) return;
|
||||
if (props.editor.view.dom.contains(target)) return;
|
||||
exitSuggestion(props.editor.view);
|
||||
};
|
||||
document.addEventListener('mousedown', outsideClickHandler);
|
||||
},
|
||||
|
||||
onUpdate(props) {
|
||||
@@ -42,16 +61,14 @@ export function getSuggestions(options?: Options) {
|
||||
},
|
||||
|
||||
onKeyDown(props) {
|
||||
if (props.event.key === 'Escape') {
|
||||
component.destroy();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
return component.ref?.onKeyDown(props) ?? true;
|
||||
},
|
||||
|
||||
onExit() {
|
||||
if (outsideClickHandler) {
|
||||
document.removeEventListener('mousedown', outsideClickHandler);
|
||||
outsideClickHandler = null;
|
||||
}
|
||||
component.element.remove();
|
||||
component.destroy();
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user