From 586cc35861825b2f5c1775bcf555b13edf05782f Mon Sep 17 00:00:00 2001 From: Danny Hoek Date: Mon, 4 Aug 2025 17:50:28 +0200 Subject: [PATCH 1/3] chore: exclude buildinfo files --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index b186605..5365ad6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,6 @@ dist node_modules .DS_Store +/package/coverage +tsconfig.node.tsbuildinfo +tsconfig.app.tsbuildinfo From ff9eaa1f61150e8502a03b0467751b33cfffe212 Mon Sep 17 00:00:00 2001 From: Danny Hoek Date: Mon, 4 Aug 2025 17:51:05 +0200 Subject: [PATCH 2/3] feat: update tiptap to v3 --- examples/react/package.json | 16 +- package/package.json | 24 +- package/src/footnotes/footnote.ts | 3 + pnpm-lock.yaml | 478 +++++++++++++++++------------- 4 files changed, 288 insertions(+), 233 deletions(-) diff --git a/examples/react/package.json b/examples/react/package.json index 14736a8..8e20c71 100644 --- a/examples/react/package.json +++ b/examples/react/package.json @@ -10,14 +10,14 @@ "preview": "vite preview" }, "dependencies": { - "@tiptap/core": "^2.26.1", - "@tiptap/extension-document": "^2.26.1", - "@tiptap/extension-list-item": "^2.26.1", - "@tiptap/extension-ordered-list": "^2.26.1", - "@tiptap/extension-placeholder": "^2.26.1", - "@tiptap/pm": "^2.26.1", - "@tiptap/react": "^2.26.1", - "@tiptap/starter-kit": "^2.26.1", + "@tiptap/core": "^3.0.0", + "@tiptap/extension-document": "^3.0.0", + "@tiptap/extension-list-item": "^3.0.0", + "@tiptap/extension-ordered-list": "^3.0.0", + "@tiptap/extension-placeholder": "^3.0.0", + "@tiptap/pm": "^3.0.0", + "@tiptap/react": "^3.0.0", + "@tiptap/starter-kit": "^3.0.0", "react": "^18.3.1", "react-dom": "^18.3.1", "tiptap-footnotes": "workspace:^" diff --git a/package/package.json b/package/package.json index 2e5187e..e1213a2 100644 --- a/package/package.json +++ b/package/package.json @@ -1,6 +1,6 @@ { "name": "tiptap-footnotes", - "version": "2.0.4", + "version": "3.0.0", "description": "A footnotes extension for Tiptap", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -27,13 +27,13 @@ ], "license": "MIT", "devDependencies": { - "@tiptap/core": "^2.26.1", - "@tiptap/extension-document": "^2.26.1", - "@tiptap/extension-list-item": "^2.26.1", - "@tiptap/extension-ordered-list": "^2.26.1", - "@tiptap/extension-paragraph": "^2.26.1", - "@tiptap/extension-text": "^2.26.1", - "@tiptap/pm": "^2.26.1", + "@tiptap/core": "^3.0.0", + "@tiptap/extension-document": "^3.0.0", + "@tiptap/extension-list-item": "^3.0.0", + "@tiptap/extension-ordered-list": "^3.0.0", + "@tiptap/extension-paragraph": "^3.0.0", + "@tiptap/extension-text": "^3.0.0", + "@tiptap/pm": "^3.0.0", "esbuild": "^0.21.5", "jsdom": "^24.1.3", "tsup": "^8.5.0", @@ -41,10 +41,10 @@ "vitest": "^2.1.9" }, "peerDependencies": { - "@tiptap/core": "^2.4.0", - "@tiptap/extension-list-item": "^2.4.0", - "@tiptap/extension-ordered-list": "^2.4.0", - "@tiptap/pm": "^2.4.0" + "@tiptap/core": "^3.0.0", + "@tiptap/extension-list-item": "^3.0.0", + "@tiptap/extension-ordered-list": "^3.0.0", + "@tiptap/pm": "^3.0.0" }, "dependencies": { "uuid": "^11.1.0" diff --git a/package/src/footnotes/footnote.ts b/package/src/footnotes/footnote.ts index 918797a..8b8d5d1 100644 --- a/package/src/footnotes/footnote.ts +++ b/package/src/footnotes/footnote.ts @@ -33,6 +33,9 @@ const Footnote = ListItem.extend({ addOptions() { return { + HTMLAttributes: {}, + bulletListTypeName: 'bulletList', + orderedListTypeName: 'orderedList', ...this.parent?.(), content: "paragraph+", }; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4cd2600..23b33de 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -11,29 +11,29 @@ importers: examples/react: dependencies: '@tiptap/core': - specifier: ^2.26.1 - version: 2.26.1(@tiptap/pm@2.26.1) + specifier: ^3.0.0 + version: 3.0.9(@tiptap/pm@3.0.9) '@tiptap/extension-document': - specifier: ^2.26.1 - version: 2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1)) + specifier: ^3.0.0 + version: 3.0.9(@tiptap/core@3.0.9(@tiptap/pm@3.0.9)) '@tiptap/extension-list-item': - specifier: ^2.26.1 - version: 2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1)) + specifier: ^3.0.0 + version: 3.0.9(@tiptap/extension-list@3.0.9(@tiptap/core@3.0.9(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9)) '@tiptap/extension-ordered-list': - specifier: ^2.26.1 - version: 2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1)) + specifier: ^3.0.0 + version: 3.0.9(@tiptap/extension-list@3.0.9(@tiptap/core@3.0.9(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9)) '@tiptap/extension-placeholder': - specifier: ^2.26.1 - version: 2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1))(@tiptap/pm@2.26.1) + specifier: ^3.0.0 + version: 3.0.9(@tiptap/extensions@3.0.9(@tiptap/core@3.0.9(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9)) '@tiptap/pm': - specifier: ^2.26.1 - version: 2.26.1 + specifier: ^3.0.0 + version: 3.0.9 '@tiptap/react': - specifier: ^2.26.1 - version: 2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1))(@tiptap/pm@2.26.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^3.0.0 + version: 3.0.9(@floating-ui/dom@1.7.3)(@tiptap/core@3.0.9(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@tiptap/starter-kit': - specifier: ^2.26.1 - version: 2.26.1 + specifier: ^3.0.0 + version: 3.0.9 react: specifier: ^18.3.1 version: 18.3.1 @@ -94,26 +94,26 @@ importers: version: 11.1.0 devDependencies: '@tiptap/core': - specifier: ^2.26.1 - version: 2.26.1(@tiptap/pm@2.26.1) + specifier: ^3.0.0 + version: 3.0.9(@tiptap/pm@3.0.9) '@tiptap/extension-document': - specifier: ^2.26.1 - version: 2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1)) + specifier: ^3.0.0 + version: 3.0.9(@tiptap/core@3.0.9(@tiptap/pm@3.0.9)) '@tiptap/extension-list-item': - specifier: ^2.26.1 - version: 2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1)) + specifier: ^3.0.0 + version: 3.0.9(@tiptap/extension-list@3.0.9(@tiptap/core@3.0.9(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9)) '@tiptap/extension-ordered-list': - specifier: ^2.26.1 - version: 2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1)) + specifier: ^3.0.0 + version: 3.0.9(@tiptap/extension-list@3.0.9(@tiptap/core@3.0.9(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9)) '@tiptap/extension-paragraph': - specifier: ^2.26.1 - version: 2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1)) + specifier: ^3.0.0 + version: 3.0.9(@tiptap/core@3.0.9(@tiptap/pm@3.0.9)) '@tiptap/extension-text': - specifier: ^2.26.1 - version: 2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1)) + specifier: ^3.0.0 + version: 3.0.9(@tiptap/core@3.0.9(@tiptap/pm@3.0.9)) '@tiptap/pm': - specifier: ^2.26.1 - version: 2.26.1 + specifier: ^3.0.0 + version: 3.0.9 esbuild: specifier: ^0.21.5 version: 0.21.5 @@ -586,6 +586,15 @@ packages: resolution: {integrity: sha512-1+WqvgNMhmlAambTvT3KPtCl/Ibr68VldY2XY40SL1CE0ZXiakFR/cbTspaF5HsnpDMvcYYoJHfl4980NBjGag==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@floating-ui/core@1.7.3': + resolution: {integrity: sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==} + + '@floating-ui/dom@1.7.3': + resolution: {integrity: sha512-uZA413QEpNuhtb3/iIKoYMSK07keHPYeXF02Zhd6e213j+d1NamLix/mCLxBUDW/Gx52sPH2m+chlUsyaBs/Ag==} + + '@floating-ui/utils@0.2.10': + resolution: {integrity: sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==} + '@humanfs/core@0.19.1': resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} engines: {node: '>=18.18.0'} @@ -639,9 +648,6 @@ packages: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} - '@popperjs/core@2.11.8': - resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==} - '@remirror/core-constants@3.0.0': resolution: {integrity: sha512-42aWfPrimMfDKDi4YegyS7x+/0tlzaqwPQCULLanv3DMIlu96KTJR0fM5isWX2UViOqlGnX6YFgqWepcX+XMNg==} @@ -748,142 +754,157 @@ packages: cpu: [x64] os: [win32] - '@tiptap/core@2.26.1': - resolution: {integrity: sha512-fymyd/XZvYiHjBoLt1gxs024xP/LY26d43R1vluYq7AHBL/7DE3ywzy+1GEsGyAv5Je2L0KBhNIR/izbq3Kaqg==} + '@tiptap/core@3.0.9': + resolution: {integrity: sha512-1zdDyILerBcD3P0fu8kCtPLOFj0R5utjexCQ2CZ46pckn/Wk4V+WUBARzhG5Yz2JDkmJIUIcmLBVrL6G1rjJWg==} + peerDependencies: + '@tiptap/pm': ^3.0.9 + + '@tiptap/extension-blockquote@3.0.9': + resolution: {integrity: sha512-dGhMWb6GIjgIUuLQDhSlHT6yB4YvnYqe01nHzEvcbSii75KOcLwboVnqxw4p+gsDZLvZRGv/6bZBJh7GKZa8OQ==} + peerDependencies: + '@tiptap/core': ^3.0.9 + + '@tiptap/extension-bold@3.0.9': + resolution: {integrity: sha512-rVULIFt9ZO+fO5ty9zuC3HwY3knxUw7q9JBztpKPfQQCuIJ+iQnOfB8NtI3L8hxVSxhIR1pqr8B3S/8vlpXbVg==} + peerDependencies: + '@tiptap/core': ^3.0.9 + + '@tiptap/extension-bubble-menu@3.0.9': + resolution: {integrity: sha512-fZQfdSbKJl3J+Yi+s8NrcLBgXHOaGVD4g+vn+orTPUlZdG9FWvEoon8DexOdK9OvYnW6QMM7kS8whOgpogVyUQ==} peerDependencies: - '@tiptap/pm': ^2.7.0 + '@tiptap/core': ^3.0.9 + '@tiptap/pm': ^3.0.9 - '@tiptap/extension-blockquote@2.26.1': - resolution: {integrity: sha512-viQ6AHRhjCYYipKK6ZepBzwZpkuMvO9yhRHeUZDvlSOAh8rvsUTSre0y74nu8QRYUt4a44lJJ6BpphJK7bEgYA==} + '@tiptap/extension-bullet-list@3.0.9': + resolution: {integrity: sha512-Aob5TVfrtoEzfTm3wl7lognmWia6EEilOxLihSGISCvI4FTndJg+mwhumduQeYCLWkF9i/DR87m2/3EbjR3R4Q==} peerDependencies: - '@tiptap/core': ^2.7.0 + '@tiptap/extension-list': ^3.0.9 - '@tiptap/extension-bold@2.26.1': - resolution: {integrity: sha512-zCce9PRuTNhadFir71luLo99HERDpGJ0EEflGm7RN8I1SnNi9gD5ooK42BOIQtejGCJqg3hTPZiYDJC2hXvckQ==} + '@tiptap/extension-code-block@3.0.9': + resolution: {integrity: sha512-H692k9sHIE3rR3S+BIknQXsLb8HSojk+7gQ5DV0hYajSzpJ02OUL4AnNlpMuSgZuaq+ljpN4sT8kCIzIE1kQxw==} peerDependencies: - '@tiptap/core': ^2.7.0 + '@tiptap/core': ^3.0.9 + '@tiptap/pm': ^3.0.9 - '@tiptap/extension-bubble-menu@2.26.1': - resolution: {integrity: sha512-oHevUcZbTMFOTpdCEo4YEDe044MB4P1ZrWyML8CGe5tnnKdlI9BN03AXpI1mEEa5CA3H1/eEckXx8EiCgYwQ3Q==} + '@tiptap/extension-code@3.0.9': + resolution: {integrity: sha512-jMo7crwLIefwy13WI2FzxlyJN9AbLNsESFbJuv/KPzjpN7uzPKYsE33Uy2IZD5hPoHtA5UmAUfbz0HzWtWy5Yw==} peerDependencies: - '@tiptap/core': ^2.7.0 - '@tiptap/pm': ^2.7.0 + '@tiptap/core': ^3.0.9 - '@tiptap/extension-bullet-list@2.26.1': - resolution: {integrity: sha512-HHakuV4ckYCDOnBbne088FvCEP4YICw+wgPBz/V2dfpiFYQ4WzT0LPK9s7OFMCN+ROraoug+1ryN1Z1KdIgujQ==} + '@tiptap/extension-document@3.0.9': + resolution: {integrity: sha512-DB/R5e6QvuGhY8EhCkfNjR2xQfz/TOWoxfQGhDuy5U+oK3WBwCcHq9t5+nbSCMHtKfi/i49aHKDvv7TQCpuP0w==} peerDependencies: - '@tiptap/core': ^2.7.0 + '@tiptap/core': ^3.0.9 - '@tiptap/extension-code-block@2.26.1': - resolution: {integrity: sha512-/TDDOwONl0qEUc4+B6V9NnWtSjz95eg7/8uCb8Y8iRbGvI9vT4/znRKofFxstvKmW4URu/H74/g0ywV57h0B+A==} + '@tiptap/extension-dropcursor@3.0.9': + resolution: {integrity: sha512-+P+1nfeCtPLj3OHNiATOL3UyM2omZ8+ac6MKm+FxunRAZZsHzbEFUYYdLF7prEmaf0z0c1k4LKSWpbrIX92pKA==} peerDependencies: - '@tiptap/core': ^2.7.0 - '@tiptap/pm': ^2.7.0 + '@tiptap/extensions': ^3.0.9 - '@tiptap/extension-code@2.26.1': - resolution: {integrity: sha512-GU9deB1A/Tr4FMPu71CvlcjGKwRhGYz60wQ8m4aM+ELZcVIcZRa1ebR8bExRIEWnvRztQuyRiCQzw2N0xQJ1QQ==} + '@tiptap/extension-floating-menu@3.0.9': + resolution: {integrity: sha512-WYQ3mW6G0zxoni6TegpQ46a1Qe1zj8Ev5sBH79H4Mbf0qsc7MOq07jLjipv9M0EJJPUi0cfkQlwfV41nH1ue/g==} peerDependencies: - '@tiptap/core': ^2.7.0 + '@floating-ui/dom': ^1.0.0 + '@tiptap/core': ^3.0.9 + '@tiptap/pm': ^3.0.9 - '@tiptap/extension-document@2.26.1': - resolution: {integrity: sha512-2P2IZp1NRAE+21mRuFBiP3X2WKfZ6kUC23NJKpn8bcOamY3obYqCt0ltGPhE4eR8n8QAl2fI/3jIgjR07dC8ow==} + '@tiptap/extension-gapcursor@3.0.9': + resolution: {integrity: sha512-+jy7Z/V6nOtvWin+zJYYoRwEYDOHDlF34Ey1T7A8aRcJlPeAQhoB1Ek7R3Rd3nsuByz70IfQapDvkbhY1nkNvQ==} peerDependencies: - '@tiptap/core': ^2.7.0 + '@tiptap/extensions': ^3.0.9 - '@tiptap/extension-dropcursor@2.26.1': - resolution: {integrity: sha512-JkDQU2ZYFOuT5mNYb8OiWGwD1HcjbtmX8tLNugQbToECmz9WvVPqJmn7V/q8VGpP81iEECz/IsyRmuf2kSD4uA==} + '@tiptap/extension-hard-break@3.0.9': + resolution: {integrity: sha512-PWNYsUwVsMWt/R5/OWjfGb+7DQT0DvH+1owBimRq0pWZepg8qkz1jdPGgsRmUFyERRsXeEpgj3VaQfrgbyUfrA==} peerDependencies: - '@tiptap/core': ^2.7.0 - '@tiptap/pm': ^2.7.0 + '@tiptap/core': ^3.0.9 - '@tiptap/extension-floating-menu@2.26.1': - resolution: {integrity: sha512-OJF+H6qhQogVTMedAGSWuoL1RPe3LZYXONuFCVyzHnvvMpK+BP1vm180E2zDNFnn/DVA+FOrzNGpZW7YjoFH1w==} + '@tiptap/extension-heading@3.0.9': + resolution: {integrity: sha512-LRLCIt87fvDZ5CdkinzhkCwRz5ax6FlsjJzG32MJ3wXyvVslqeLXBvH28JFUZEyzgcd/SnYmYxnef5+yvAX61g==} peerDependencies: - '@tiptap/core': ^2.7.0 - '@tiptap/pm': ^2.7.0 + '@tiptap/core': ^3.0.9 - '@tiptap/extension-gapcursor@2.26.1': - resolution: {integrity: sha512-KOiMZc3PwJS3hR0nSq5d0TJi2jkNZkLZElcT6pCEnhRHzPH6dRMu9GM5Jj798ZRUy0T9UFcKJalFZaDxnmRnpg==} + '@tiptap/extension-horizontal-rule@3.0.9': + resolution: {integrity: sha512-jPNCOte0y9R3Y4PiEA/CRGgRk8WoL700Mnn8NPVHa4juUjvMl1qxL8hdnW/k8cxhrBA8tV0qcq82+/Vqq6jSfA==} peerDependencies: - '@tiptap/core': ^2.7.0 - '@tiptap/pm': ^2.7.0 + '@tiptap/core': ^3.0.9 + '@tiptap/pm': ^3.0.9 - '@tiptap/extension-hard-break@2.26.1': - resolution: {integrity: sha512-d6uStdNKi8kjPlHAyO59M6KGWATNwhLCD7dng0NXfwGndc22fthzIk/6j9F6ltQx30huy5qQram6j3JXwNACoA==} + '@tiptap/extension-italic@3.0.9': + resolution: {integrity: sha512-Gt4FbMtZerzKpit8+FvIjIQ3CBD559/FFC+kOT9y8JHlINeqWyh/bgHuaA/9/XtHphOQiA7NDwOiuPh4KIKpqA==} peerDependencies: - '@tiptap/core': ^2.7.0 + '@tiptap/core': ^3.0.9 - '@tiptap/extension-heading@2.26.1': - resolution: {integrity: sha512-KSzL8WZV3pjJG9ke4RaU70+B5UlYR2S6olNt5UCAawM+fi11mobVztiBoC19xtpSVqIXC1AmXOqUgnuSvmE4ZA==} + '@tiptap/extension-link@3.0.9': + resolution: {integrity: sha512-cOsG3vpct7/JuenxCePDj5dlaSUEe2eK/g/jlRixgW4Llx5DvG2yj8+gha4MHdCUp/MrUBR4M+NJk1dOOSKXGw==} peerDependencies: - '@tiptap/core': ^2.7.0 + '@tiptap/core': ^3.0.9 + '@tiptap/pm': ^3.0.9 - '@tiptap/extension-history@2.26.1': - resolution: {integrity: sha512-m6YR1gkkauIDo3PRl0gP+7Oc4n5OqDzcjVh6LvWREmZP8nmi94hfseYbqOXUb6RPHIc0JKF02eiRifT4MSd2nw==} + '@tiptap/extension-list-item@3.0.9': + resolution: {integrity: sha512-K+ogk1BH/eYhsK9nSTXNdIXlxQcXzty6h1QFiZNr9XmaLk+q4NZFHR5FVz3EJ7QXyw+Gv/2FQn+T2Q/GpbMxZQ==} peerDependencies: - '@tiptap/core': ^2.7.0 - '@tiptap/pm': ^2.7.0 + '@tiptap/extension-list': ^3.0.9 - '@tiptap/extension-horizontal-rule@2.26.1': - resolution: {integrity: sha512-mT6baqOhs/NakgrAeDeed194E/ZJFGL692H0C7f1N7WDRaWxUu2oR0LrnRqSH5OyPjELkzu6nQnNy0+0tFGHHg==} + '@tiptap/extension-list-keymap@3.0.9': + resolution: {integrity: sha512-naz4+EFzLN695f53GATiglPOc5SOLBm1DNhhUHZNlrUVfDtKmrdbo8t9a/NhAE6Ne/pfg5tbuS+OKuvbJaJcAg==} peerDependencies: - '@tiptap/core': ^2.7.0 - '@tiptap/pm': ^2.7.0 + '@tiptap/extension-list': ^3.0.9 - '@tiptap/extension-italic@2.26.1': - resolution: {integrity: sha512-pOs6oU4LyGO89IrYE4jbE8ZYsPwMMIiKkYfXcfeD9NtpGNBnjeVXXF5I9ndY2ANrCAgC8k58C3/powDRf0T2yA==} + '@tiptap/extension-list@3.0.9': + resolution: {integrity: sha512-y5JQoFmVR+6FhDdEz2oFIMkURSRSDhCtsrlNWdUpSTGnTAa2WZT7nEhHcIMSGvYU3t0fkfLQ9yTMSaQZFa5GLA==} peerDependencies: - '@tiptap/core': ^2.7.0 + '@tiptap/core': ^3.0.9 + '@tiptap/pm': ^3.0.9 - '@tiptap/extension-list-item@2.26.1': - resolution: {integrity: sha512-quOXckC73Luc3x+Dcm88YAEBW+Crh3x5uvtQOQtn2GEG91AshrvbnhGRiYnfvEN7UhWIS+FYI5liHFcRKSUKrQ==} + '@tiptap/extension-ordered-list@3.0.9': + resolution: {integrity: sha512-ACubdGc/y/rKPEgHTO7hDSg547wRRA+Es7c/rQgjrkpI///LBJQfixyUvNg2UNNPttNsavF/CUwhshCeo9MeBA==} peerDependencies: - '@tiptap/core': ^2.7.0 + '@tiptap/extension-list': ^3.0.9 - '@tiptap/extension-ordered-list@2.26.1': - resolution: {integrity: sha512-UHKNRxq6TBnXMGFSq91knD6QaHsyyOwLOsXMzupmKM5Su0s+CRXEjfav3qKlbb9e4m7D7S/a0aPm8nC9KIXNhQ==} + '@tiptap/extension-paragraph@3.0.9': + resolution: {integrity: sha512-K5zGg4zLxxqAG0BgtRpLvKclYSGoSSuU1Fza0M5MwUgrFA0S2q4JnLB1czQ77S4pfb3hpScIe50fwJzZmIUEQw==} peerDependencies: - '@tiptap/core': ^2.7.0 + '@tiptap/core': ^3.0.9 - '@tiptap/extension-paragraph@2.26.1': - resolution: {integrity: sha512-UezvM9VDRAVJlX1tykgHWSD1g3MKfVMWWZ+Tg+PE4+kizOwoYkRWznVPgCAxjmyHajxpCKRXgqTZkOxjJ9Kjzg==} + '@tiptap/extension-placeholder@3.0.9': + resolution: {integrity: sha512-OgDVijDrNFDJpe/1/yMx6VFEmGBt0vE6ZWw5kGkM4NVfOxhRvv6mSZXio269dc9oBSjmyTISKaI1JAYVCfyJIw==} peerDependencies: - '@tiptap/core': ^2.7.0 + '@tiptap/extensions': ^3.0.9 - '@tiptap/extension-placeholder@2.26.1': - resolution: {integrity: sha512-MBlqbkd+63btY7Qu+SqrXvWjPwooGZDsLTtl7jp52BczBl61cq9yygglt9XpM11TFMBdySgdLHBrLtQ0B7fBlw==} + '@tiptap/extension-strike@3.0.9': + resolution: {integrity: sha512-2TBQ9P/FGe+/34ckfwP+eCdb4vbxDVZ5qD0piDIR9Ws5QI5IdtW90pNO4roxiPeRdVFrhTbFPEIuL0tg4NQRmg==} peerDependencies: - '@tiptap/core': ^2.7.0 - '@tiptap/pm': ^2.7.0 + '@tiptap/core': ^3.0.9 - '@tiptap/extension-strike@2.26.1': - resolution: {integrity: sha512-CkoRH+pAi6MgdCh7K0cVZl4N2uR4pZdabXAnFSoLZRSg6imLvEUmWHfSi1dl3Z7JOvd3a4yZ4NxerQn5MWbJ7g==} + '@tiptap/extension-text@3.0.9': + resolution: {integrity: sha512-yWdz4aW1nu5YGcinxfu3FXiwMnP/7jp+s7dFXhq9m/6zhDUD2+qyUwhJfIU4Tcz+BGdVHqoNgOA3QXLMA6jyFA==} peerDependencies: - '@tiptap/core': ^2.7.0 + '@tiptap/core': ^3.0.9 - '@tiptap/extension-text-style@2.26.1': - resolution: {integrity: sha512-t9Nc/UkrbCfnSHEUi1gvUQ2ZPzvfdYFT5TExoV2DTiUCkhG6+mecT5bTVFGW3QkPmbToL+nFhGn4ZRMDD0SP3Q==} + '@tiptap/extension-underline@3.0.9': + resolution: {integrity: sha512-xLR5NbnxlEJmvfb4Aj8wCbTmh/ycnPsSDeP8+TAsdAYxypSA6BP6G0t4d4NWreqAq+tq6QV6Eh0+YDN0G1VZxw==} peerDependencies: - '@tiptap/core': ^2.7.0 + '@tiptap/core': ^3.0.9 - '@tiptap/extension-text@2.26.1': - resolution: {integrity: sha512-p2n8WVMd/2vckdJlol24acaTDIZAhI7qle5cM75bn01sOEZoFlSw6SwINOULrUCzNJsYb43qrLEibZb4j2LeQw==} + '@tiptap/extensions@3.0.9': + resolution: {integrity: sha512-IyTcPnZXUf0nxDkC+CCWh10vzn81Kq50euV/ivk8IyPr15hxPiT3Zk1LmCI10Pqf4Bwgz38XUIWtToDfIeEgpg==} peerDependencies: - '@tiptap/core': ^2.7.0 + '@tiptap/core': ^3.0.9 + '@tiptap/pm': ^3.0.9 - '@tiptap/pm@2.26.1': - resolution: {integrity: sha512-8aF+mY/vSHbGFqyG663ds84b+vca5Lge3tHdTMTKazxCnhXR9dn2oQJMnZ78YZvdRbkPkMJJHti9h3K7u2UQvw==} + '@tiptap/pm@3.0.9': + resolution: {integrity: sha512-cJdnpGyirRxwi6M4IkyapEK/jhcjFXdfX3uhJp/4uVH1dynNXalV0gE/YnH/yt55kzwvG9OUrwOQt+t1iXgNog==} - '@tiptap/react@2.26.1': - resolution: {integrity: sha512-Zxlwzi1iML7aELa+PyysFD2ncVo2mEcjTkhoDok9iTbMGpm1oU8hgR1i6iHrcSNQLfaRiW6M7HNhZZQPKIC9yw==} + '@tiptap/react@3.0.9': + resolution: {integrity: sha512-BbvWPSgYGvd9m8fPXKI81gf9KP+1SMCPpscbtbbhPyxiW2ziY+jwo+i7MwVI73P89hWAJCy/43UnOde438HmOA==} peerDependencies: - '@tiptap/core': ^2.7.0 - '@tiptap/pm': ^2.7.0 + '@tiptap/core': ^3.0.9 + '@tiptap/pm': ^3.0.9 react: ^17.0.0 || ^18.0.0 || ^19.0.0 react-dom: ^17.0.0 || ^18.0.0 || ^19.0.0 - '@tiptap/starter-kit@2.26.1': - resolution: {integrity: sha512-oziMGCds8SVQ3s5dRpBxVdEKZAmO/O//BjZ69mhA3q4vJdR0rnfLb5fTxSeQvHiqB878HBNn76kNaJrHrV35GA==} + '@tiptap/starter-kit@3.0.9': + resolution: {integrity: sha512-CYg6tV5fYOvkP1gyATkJJj+nFYmwjDKLipQc/r0D/tHKypxefENrm4G7mf4B78zsB/izfk5mW3iujvyeod6EcQ==} '@types/babel__core@7.20.5': resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} @@ -1593,6 +1614,9 @@ packages: linkify-it@5.0.0: resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==} + linkifyjs@4.3.2: + resolution: {integrity: sha512-NT1CJtq3hHIreOianA8aSXn6Cw0JzYOuDQbOrSPe7gqFnCpKP++MQe3ODgO3oh2GJFORkAAdqredOa60z63GbA==} + load-tsconfig@0.2.5: resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -2012,6 +2036,7 @@ packages: source-map@0.8.0-beta.0: resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} engines: {node: '>= 8'} + deprecated: The work that was done in this beta branch won't be included in future versions stackback@0.0.2: resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} @@ -2089,9 +2114,6 @@ packages: resolution: {integrity: sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==} engines: {node: '>=14.0.0'} - tippy.js@6.3.7: - resolution: {integrity: sha512-E1d3oP2emgJ9dRQZdf3Kkn0qJgI6ZLpyS5z6ZkY1DF3kaQaBsGZsndEpHwx+eC+tYM41HaSNvNtLx8tU57FzTQ==} - to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} @@ -2672,6 +2694,20 @@ snapshots: '@eslint/core': 0.15.1 levn: 0.4.1 + '@floating-ui/core@1.7.3': + dependencies: + '@floating-ui/utils': 0.2.10 + optional: true + + '@floating-ui/dom@1.7.3': + dependencies: + '@floating-ui/core': 1.7.3 + '@floating-ui/utils': 0.2.10 + optional: true + + '@floating-ui/utils@0.2.10': + optional: true + '@humanfs/core@0.19.1': {} '@humanfs/node@0.16.6': @@ -2723,8 +2759,6 @@ snapshots: '@pkgjs/parseargs@0.11.0': optional: true - '@popperjs/core@2.11.8': {} - '@remirror/core-constants@3.0.0': {} '@rolldown/pluginutils@1.0.0-beta.19': {} @@ -2789,109 +2823,123 @@ snapshots: '@rollup/rollup-win32-x64-msvc@4.45.0': optional: true - '@tiptap/core@2.26.1(@tiptap/pm@2.26.1)': + '@tiptap/core@3.0.9(@tiptap/pm@3.0.9)': dependencies: - '@tiptap/pm': 2.26.1 + '@tiptap/pm': 3.0.9 - '@tiptap/extension-blockquote@2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1))': + '@tiptap/extension-blockquote@3.0.9(@tiptap/core@3.0.9(@tiptap/pm@3.0.9))': dependencies: - '@tiptap/core': 2.26.1(@tiptap/pm@2.26.1) + '@tiptap/core': 3.0.9(@tiptap/pm@3.0.9) - '@tiptap/extension-bold@2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1))': + '@tiptap/extension-bold@3.0.9(@tiptap/core@3.0.9(@tiptap/pm@3.0.9))': dependencies: - '@tiptap/core': 2.26.1(@tiptap/pm@2.26.1) + '@tiptap/core': 3.0.9(@tiptap/pm@3.0.9) - '@tiptap/extension-bubble-menu@2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1))(@tiptap/pm@2.26.1)': + '@tiptap/extension-bubble-menu@3.0.9(@tiptap/core@3.0.9(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9)': dependencies: - '@tiptap/core': 2.26.1(@tiptap/pm@2.26.1) - '@tiptap/pm': 2.26.1 - tippy.js: 6.3.7 + '@floating-ui/dom': 1.7.3 + '@tiptap/core': 3.0.9(@tiptap/pm@3.0.9) + '@tiptap/pm': 3.0.9 + optional: true - '@tiptap/extension-bullet-list@2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1))': + '@tiptap/extension-bullet-list@3.0.9(@tiptap/extension-list@3.0.9(@tiptap/core@3.0.9(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9))': dependencies: - '@tiptap/core': 2.26.1(@tiptap/pm@2.26.1) + '@tiptap/extension-list': 3.0.9(@tiptap/core@3.0.9(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9) - '@tiptap/extension-code-block@2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1))(@tiptap/pm@2.26.1)': + '@tiptap/extension-code-block@3.0.9(@tiptap/core@3.0.9(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9)': dependencies: - '@tiptap/core': 2.26.1(@tiptap/pm@2.26.1) - '@tiptap/pm': 2.26.1 + '@tiptap/core': 3.0.9(@tiptap/pm@3.0.9) + '@tiptap/pm': 3.0.9 - '@tiptap/extension-code@2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1))': + '@tiptap/extension-code@3.0.9(@tiptap/core@3.0.9(@tiptap/pm@3.0.9))': dependencies: - '@tiptap/core': 2.26.1(@tiptap/pm@2.26.1) + '@tiptap/core': 3.0.9(@tiptap/pm@3.0.9) - '@tiptap/extension-document@2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1))': + '@tiptap/extension-document@3.0.9(@tiptap/core@3.0.9(@tiptap/pm@3.0.9))': dependencies: - '@tiptap/core': 2.26.1(@tiptap/pm@2.26.1) + '@tiptap/core': 3.0.9(@tiptap/pm@3.0.9) + + '@tiptap/extension-dropcursor@3.0.9(@tiptap/extensions@3.0.9(@tiptap/core@3.0.9(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9))': + dependencies: + '@tiptap/extensions': 3.0.9(@tiptap/core@3.0.9(@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.0.9(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9)': + dependencies: + '@floating-ui/dom': 1.7.3 + '@tiptap/core': 3.0.9(@tiptap/pm@3.0.9) + '@tiptap/pm': 3.0.9 + optional: true - '@tiptap/extension-dropcursor@2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1))(@tiptap/pm@2.26.1)': + '@tiptap/extension-gapcursor@3.0.9(@tiptap/extensions@3.0.9(@tiptap/core@3.0.9(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9))': dependencies: - '@tiptap/core': 2.26.1(@tiptap/pm@2.26.1) - '@tiptap/pm': 2.26.1 + '@tiptap/extensions': 3.0.9(@tiptap/core@3.0.9(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9) - '@tiptap/extension-floating-menu@2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1))(@tiptap/pm@2.26.1)': + '@tiptap/extension-hard-break@3.0.9(@tiptap/core@3.0.9(@tiptap/pm@3.0.9))': dependencies: - '@tiptap/core': 2.26.1(@tiptap/pm@2.26.1) - '@tiptap/pm': 2.26.1 - tippy.js: 6.3.7 + '@tiptap/core': 3.0.9(@tiptap/pm@3.0.9) - '@tiptap/extension-gapcursor@2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1))(@tiptap/pm@2.26.1)': + '@tiptap/extension-heading@3.0.9(@tiptap/core@3.0.9(@tiptap/pm@3.0.9))': dependencies: - '@tiptap/core': 2.26.1(@tiptap/pm@2.26.1) - '@tiptap/pm': 2.26.1 + '@tiptap/core': 3.0.9(@tiptap/pm@3.0.9) - '@tiptap/extension-hard-break@2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1))': + '@tiptap/extension-horizontal-rule@3.0.9(@tiptap/core@3.0.9(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9)': dependencies: - '@tiptap/core': 2.26.1(@tiptap/pm@2.26.1) + '@tiptap/core': 3.0.9(@tiptap/pm@3.0.9) + '@tiptap/pm': 3.0.9 - '@tiptap/extension-heading@2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1))': + '@tiptap/extension-italic@3.0.9(@tiptap/core@3.0.9(@tiptap/pm@3.0.9))': dependencies: - '@tiptap/core': 2.26.1(@tiptap/pm@2.26.1) + '@tiptap/core': 3.0.9(@tiptap/pm@3.0.9) - '@tiptap/extension-history@2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1))(@tiptap/pm@2.26.1)': + '@tiptap/extension-link@3.0.9(@tiptap/core@3.0.9(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9)': dependencies: - '@tiptap/core': 2.26.1(@tiptap/pm@2.26.1) - '@tiptap/pm': 2.26.1 + '@tiptap/core': 3.0.9(@tiptap/pm@3.0.9) + '@tiptap/pm': 3.0.9 + linkifyjs: 4.3.2 - '@tiptap/extension-horizontal-rule@2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1))(@tiptap/pm@2.26.1)': + '@tiptap/extension-list-item@3.0.9(@tiptap/extension-list@3.0.9(@tiptap/core@3.0.9(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9))': dependencies: - '@tiptap/core': 2.26.1(@tiptap/pm@2.26.1) - '@tiptap/pm': 2.26.1 + '@tiptap/extension-list': 3.0.9(@tiptap/core@3.0.9(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9) - '@tiptap/extension-italic@2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1))': + '@tiptap/extension-list-keymap@3.0.9(@tiptap/extension-list@3.0.9(@tiptap/core@3.0.9(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9))': dependencies: - '@tiptap/core': 2.26.1(@tiptap/pm@2.26.1) + '@tiptap/extension-list': 3.0.9(@tiptap/core@3.0.9(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9) - '@tiptap/extension-list-item@2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1))': + '@tiptap/extension-list@3.0.9(@tiptap/core@3.0.9(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9)': dependencies: - '@tiptap/core': 2.26.1(@tiptap/pm@2.26.1) + '@tiptap/core': 3.0.9(@tiptap/pm@3.0.9) + '@tiptap/pm': 3.0.9 - '@tiptap/extension-ordered-list@2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1))': + '@tiptap/extension-ordered-list@3.0.9(@tiptap/extension-list@3.0.9(@tiptap/core@3.0.9(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9))': dependencies: - '@tiptap/core': 2.26.1(@tiptap/pm@2.26.1) + '@tiptap/extension-list': 3.0.9(@tiptap/core@3.0.9(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9) - '@tiptap/extension-paragraph@2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1))': + '@tiptap/extension-paragraph@3.0.9(@tiptap/core@3.0.9(@tiptap/pm@3.0.9))': dependencies: - '@tiptap/core': 2.26.1(@tiptap/pm@2.26.1) + '@tiptap/core': 3.0.9(@tiptap/pm@3.0.9) - '@tiptap/extension-placeholder@2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1))(@tiptap/pm@2.26.1)': + '@tiptap/extension-placeholder@3.0.9(@tiptap/extensions@3.0.9(@tiptap/core@3.0.9(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9))': dependencies: - '@tiptap/core': 2.26.1(@tiptap/pm@2.26.1) - '@tiptap/pm': 2.26.1 + '@tiptap/extensions': 3.0.9(@tiptap/core@3.0.9(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9) - '@tiptap/extension-strike@2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1))': + '@tiptap/extension-strike@3.0.9(@tiptap/core@3.0.9(@tiptap/pm@3.0.9))': dependencies: - '@tiptap/core': 2.26.1(@tiptap/pm@2.26.1) + '@tiptap/core': 3.0.9(@tiptap/pm@3.0.9) - '@tiptap/extension-text-style@2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1))': + '@tiptap/extension-text@3.0.9(@tiptap/core@3.0.9(@tiptap/pm@3.0.9))': dependencies: - '@tiptap/core': 2.26.1(@tiptap/pm@2.26.1) + '@tiptap/core': 3.0.9(@tiptap/pm@3.0.9) - '@tiptap/extension-text@2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1))': + '@tiptap/extension-underline@3.0.9(@tiptap/core@3.0.9(@tiptap/pm@3.0.9))': dependencies: - '@tiptap/core': 2.26.1(@tiptap/pm@2.26.1) + '@tiptap/core': 3.0.9(@tiptap/pm@3.0.9) - '@tiptap/pm@2.26.1': + '@tiptap/extensions@3.0.9(@tiptap/core@3.0.9(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9)': + dependencies: + '@tiptap/core': 3.0.9(@tiptap/pm@3.0.9) + '@tiptap/pm': 3.0.9 + + '@tiptap/pm@3.0.9': dependencies: prosemirror-changeset: 2.3.1 prosemirror-collab: 1.3.1 @@ -2912,41 +2960,47 @@ snapshots: prosemirror-transform: 1.10.4 prosemirror-view: 1.40.0 - '@tiptap/react@2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1))(@tiptap/pm@2.26.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@tiptap/react@3.0.9(@floating-ui/dom@1.7.3)(@tiptap/core@3.0.9(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@tiptap/core': 2.26.1(@tiptap/pm@2.26.1) - '@tiptap/extension-bubble-menu': 2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1))(@tiptap/pm@2.26.1) - '@tiptap/extension-floating-menu': 2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1))(@tiptap/pm@2.26.1) - '@tiptap/pm': 2.26.1 + '@tiptap/core': 3.0.9(@tiptap/pm@3.0.9) + '@tiptap/pm': 3.0.9 '@types/use-sync-external-store': 0.0.6 fast-deep-equal: 3.1.3 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) use-sync-external-store: 1.5.0(react@18.3.1) - - '@tiptap/starter-kit@2.26.1': - dependencies: - '@tiptap/core': 2.26.1(@tiptap/pm@2.26.1) - '@tiptap/extension-blockquote': 2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1)) - '@tiptap/extension-bold': 2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1)) - '@tiptap/extension-bullet-list': 2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1)) - '@tiptap/extension-code': 2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1)) - '@tiptap/extension-code-block': 2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1))(@tiptap/pm@2.26.1) - '@tiptap/extension-document': 2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1)) - '@tiptap/extension-dropcursor': 2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1))(@tiptap/pm@2.26.1) - '@tiptap/extension-gapcursor': 2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1))(@tiptap/pm@2.26.1) - '@tiptap/extension-hard-break': 2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1)) - '@tiptap/extension-heading': 2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1)) - '@tiptap/extension-history': 2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1))(@tiptap/pm@2.26.1) - '@tiptap/extension-horizontal-rule': 2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1))(@tiptap/pm@2.26.1) - '@tiptap/extension-italic': 2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1)) - '@tiptap/extension-list-item': 2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1)) - '@tiptap/extension-ordered-list': 2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1)) - '@tiptap/extension-paragraph': 2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1)) - '@tiptap/extension-strike': 2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1)) - '@tiptap/extension-text': 2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1)) - '@tiptap/extension-text-style': 2.26.1(@tiptap/core@2.26.1(@tiptap/pm@2.26.1)) - '@tiptap/pm': 2.26.1 + optionalDependencies: + '@tiptap/extension-bubble-menu': 3.0.9(@tiptap/core@3.0.9(@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.0.9(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9) + transitivePeerDependencies: + - '@floating-ui/dom' + + '@tiptap/starter-kit@3.0.9': + dependencies: + '@tiptap/core': 3.0.9(@tiptap/pm@3.0.9) + '@tiptap/extension-blockquote': 3.0.9(@tiptap/core@3.0.9(@tiptap/pm@3.0.9)) + '@tiptap/extension-bold': 3.0.9(@tiptap/core@3.0.9(@tiptap/pm@3.0.9)) + '@tiptap/extension-bullet-list': 3.0.9(@tiptap/extension-list@3.0.9(@tiptap/core@3.0.9(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9)) + '@tiptap/extension-code': 3.0.9(@tiptap/core@3.0.9(@tiptap/pm@3.0.9)) + '@tiptap/extension-code-block': 3.0.9(@tiptap/core@3.0.9(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9) + '@tiptap/extension-document': 3.0.9(@tiptap/core@3.0.9(@tiptap/pm@3.0.9)) + '@tiptap/extension-dropcursor': 3.0.9(@tiptap/extensions@3.0.9(@tiptap/core@3.0.9(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9)) + '@tiptap/extension-gapcursor': 3.0.9(@tiptap/extensions@3.0.9(@tiptap/core@3.0.9(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9)) + '@tiptap/extension-hard-break': 3.0.9(@tiptap/core@3.0.9(@tiptap/pm@3.0.9)) + '@tiptap/extension-heading': 3.0.9(@tiptap/core@3.0.9(@tiptap/pm@3.0.9)) + '@tiptap/extension-horizontal-rule': 3.0.9(@tiptap/core@3.0.9(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9) + '@tiptap/extension-italic': 3.0.9(@tiptap/core@3.0.9(@tiptap/pm@3.0.9)) + '@tiptap/extension-link': 3.0.9(@tiptap/core@3.0.9(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9) + '@tiptap/extension-list': 3.0.9(@tiptap/core@3.0.9(@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.0.9(@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.0.9(@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.0.9(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9)) + '@tiptap/extension-paragraph': 3.0.9(@tiptap/core@3.0.9(@tiptap/pm@3.0.9)) + '@tiptap/extension-strike': 3.0.9(@tiptap/core@3.0.9(@tiptap/pm@3.0.9)) + '@tiptap/extension-text': 3.0.9(@tiptap/core@3.0.9(@tiptap/pm@3.0.9)) + '@tiptap/extension-underline': 3.0.9(@tiptap/core@3.0.9(@tiptap/pm@3.0.9)) + '@tiptap/extensions': 3.0.9(@tiptap/core@3.0.9(@tiptap/pm@3.0.9))(@tiptap/pm@3.0.9) + '@tiptap/pm': 3.0.9 '@types/babel__core@7.20.5': dependencies: @@ -3749,6 +3803,8 @@ snapshots: dependencies: uc.micro: 2.1.0 + linkifyjs@4.3.2: {} + load-tsconfig@0.2.5: {} locate-path@6.0.0: @@ -4262,10 +4318,6 @@ snapshots: tinyspy@3.0.2: {} - tippy.js@6.3.7: - dependencies: - '@popperjs/core': 2.11.8 - to-regex-range@5.0.1: dependencies: is-number: 7.0.0 From 3007f5635c760884039431e2de6518d599bd1c3b Mon Sep 17 00:00:00 2001 From: Danny Hoek Date: Mon, 4 Aug 2025 17:52:24 +0200 Subject: [PATCH 3/3] fix: mod-a behaviour --- package/src/footnotes/footnote.ts | 26 ++++++++++++++++++++++++++ package/src/footnotes/footnotes.ts | 26 +------------------------- package/src/footnotes/rules.ts | 8 ++------ 3 files changed, 29 insertions(+), 31 deletions(-) diff --git a/package/src/footnotes/footnote.ts b/package/src/footnotes/footnote.ts index 8b8d5d1..050f802 100644 --- a/package/src/footnotes/footnote.ts +++ b/package/src/footnotes/footnote.ts @@ -104,6 +104,31 @@ const Footnote = ListItem.extend({ }, addKeyboardShortcuts() { return { + // when inside a footnote, Mod-a should select only the footnote content + "Mod-a": ({ editor }) => { + try { + const { selection } = editor.state; + const { $from } = selection; + + for (let depth = $from.depth; depth >= 0; depth--) { + const node = $from.node(depth); + if (node.type.name === "footnote") { + const start = $from.start(depth); + const end = $from.end(depth); + + editor.commands.setTextSelection({ + from: start + 1, + to: end - 1, + }); + return true; + } + } + + return false; + } catch (e) { + return false; + } + }, // when the user presses tab, adjust the text selection to be at the end of the next footnote Tab: ({ editor }) => { try { @@ -157,6 +182,7 @@ const Footnote = ListItem.extend({ }, }; }, + }); export default Footnote; diff --git a/package/src/footnotes/footnotes.ts b/package/src/footnotes/footnotes.ts index de2ea11..e7853d0 100644 --- a/package/src/footnotes/footnotes.ts +++ b/package/src/footnotes/footnotes.ts @@ -28,31 +28,7 @@ const Footnotes = OrderedList.extend({ }, addKeyboardShortcuts() { - return { - // override the default behavior of Mod-a: - // rather than selecting the whole text content of the editor, only select the text inside the current footnote - "Mod-a": ({ editor }) => { - try { - const { selection } = editor.state; - const { $from } = selection; - // footnote listItems are at depth 2, we are getting the start & end position of the parent list item from the current cursor position - const start = $from.start(2); - const startNode = editor.$pos(start); - - if (startNode.node.type.name != "footnote") return false; - - const end = $from.end(2); - - editor.commands.setTextSelection({ - from: start + 1, - to: end - 1, - }); - return true; - } catch (e) { - return false; - } - }, - }; + return {}; }, addCommands() { return {}; diff --git a/package/src/footnotes/rules.ts b/package/src/footnotes/rules.ts index 1762023..8c85518 100644 --- a/package/src/footnotes/rules.ts +++ b/package/src/footnotes/rules.ts @@ -13,12 +13,8 @@ const FootnoteRules = Extension.create({ filterTransaction(tr) { const { from, to } = tr.selection; - // allow transactions on the whole document - const minPos = TextSelection.atStart(tr.doc).from; - const maxPos = TextSelection.atEnd(tr.doc).to; - const resolvedFrom = minMax(0, minPos, maxPos); - const resolvedEnd = minMax(tr.doc.content.size, minPos, maxPos); - if (from == resolvedFrom && to == resolvedEnd) return true; + // Allow full document selections (Mod-a/Ctrl-a) + if (from === 0 && to === tr.doc.content.size) return true; let selectedFootnotes = false; let selectedContent = false;