From d696d549ba0cd18c37f12a08c42ea0e67f28cc4f Mon Sep 17 00:00:00 2001 From: leekelleher Date: Mon, 30 Sep 2024 17:45:57 +0100 Subject: [PATCH] Installed Tiptap's StarterKit package https://tiptap.dev/docs/editor/extensions/functionality/starterkit This is to steamline the number of direct dependencies. --- src/Umbraco.Web.UI.Client/package-lock.json | 191 ++++++++++-------- src/Umbraco.Web.UI.Client/package.json | 20 +- .../src/external/tiptap/index.ts | 9 +- .../input-tiptap/input-tiptap.element.ts | 22 +- .../extensions/core/blockquote.extension.ts | 6 - .../tiptap/extensions/core/bold.extension.ts | 6 - .../extensions/core/code-block.extension.ts | 6 - .../extensions/core/heading.extension.ts | 6 - .../core/horizontal-rule.extension.ts | 6 - .../extensions/core/italic.extension.ts | 6 - .../tiptap/extensions/core/list.extension.ts | 6 - .../rte/tiptap/extensions/core/manifests.ts | 109 +--------- .../extensions/core/strike.extension.ts | 6 - .../rte/tiptap/extensions/manifests.ts | 13 +- 14 files changed, 123 insertions(+), 289 deletions(-) delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/extensions/core/blockquote.extension.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/extensions/core/bold.extension.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/extensions/core/code-block.extension.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/extensions/core/heading.extension.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/extensions/core/horizontal-rule.extension.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/extensions/core/italic.extension.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/extensions/core/list.extension.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/extensions/core/strike.extension.ts diff --git a/src/Umbraco.Web.UI.Client/package-lock.json b/src/Umbraco.Web.UI.Client/package-lock.json index 1e261c3d8f..a11cae44d9 100644 --- a/src/Umbraco.Web.UI.Client/package-lock.json +++ b/src/Umbraco.Web.UI.Client/package-lock.json @@ -13,36 +13,20 @@ ], "dependencies": { "@tiptap/core": "^2.7.4", - "@tiptap/extension-blockquote": "^2.7.4", - "@tiptap/extension-bold": "^2.7.4", - "@tiptap/extension-bullet-list": "^2.7.4", - "@tiptap/extension-code": "^2.7.4", - "@tiptap/extension-code-block": "^2.7.4", - "@tiptap/extension-document": "^2.7.4", - "@tiptap/extension-dropcursor": "^2.7.4", - "@tiptap/extension-gapcursor": "^2.7.4", - "@tiptap/extension-hard-break": "^2.7.4", - "@tiptap/extension-heading": "^2.7.4", - "@tiptap/extension-history": "^2.7.4", - "@tiptap/extension-horizontal-rule": "^2.7.4", "@tiptap/extension-image": "^2.7.4", - "@tiptap/extension-italic": "^2.7.4", "@tiptap/extension-link": "^2.7.4", - "@tiptap/extension-list-item": "^2.7.4", - "@tiptap/extension-ordered-list": "^2.7.4", - "@tiptap/extension-paragraph": "^2.7.4", "@tiptap/extension-placeholder": "^2.7.4", - "@tiptap/extension-strike": "^2.7.4", "@tiptap/extension-subscript": "^2.7.4", "@tiptap/extension-superscript": "^2.7.4", "@tiptap/extension-table": "^2.7.4", "@tiptap/extension-table-cell": "^2.7.4", "@tiptap/extension-table-header": "^2.7.4", "@tiptap/extension-table-row": "^2.7.4", - "@tiptap/extension-text": "^2.7.4", "@tiptap/extension-text-align": "^2.7.4", + "@tiptap/extension-text-style": "^2.8.0", "@tiptap/extension-underline": "^2.7.4", "@tiptap/pm": "^2.7.4", + "@tiptap/starter-kit": "^2.8.0", "@types/diff": "^5.2.1", "@types/dompurify": "^3.0.5", "@types/uuid": "^10.0.0", @@ -6490,9 +6474,9 @@ } }, "node_modules/@tiptap/core": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/@tiptap/core/-/core-2.7.4.tgz", - "integrity": "sha512-1VTQdNQChgxdVC8+b8QEW6cUxPSD9EDTzg9YRSLWtTtUDQ09sRSVs7eHIn1LcRHVs6PwcAsNgKE4FSjBw0sRlg==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/@tiptap/core/-/core-2.8.0.tgz", + "integrity": "sha512-xsqDI4BNzYRWRtBq7+/38ThhqEr7uG9Njip1x+9/wgR3vWPBFnBkYJTz6jSxS35NRE6BSnERm4/B/vrLuY1Hdw==", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" @@ -6502,9 +6486,9 @@ } }, "node_modules/@tiptap/extension-blockquote": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/@tiptap/extension-blockquote/-/extension-blockquote-2.7.4.tgz", - "integrity": "sha512-N6rhiwVRpsxRz4Qt8cvKgpqjBxdi8GTbU/v2MV/BTONWb7Ch9ajv9HO6koEDdOeb77JVhpWztzYysTjJo2KTyQ==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/@tiptap/extension-blockquote/-/extension-blockquote-2.8.0.tgz", + "integrity": "sha512-m3CKrOIvV7fY1Ak2gYf5LkKiz6AHxHpg6wxfVaJvdBqXgLyVtHo552N+A4oSHOSRbB4AG9EBQ2NeBM8cdEQ4MA==", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" @@ -6514,9 +6498,9 @@ } }, "node_modules/@tiptap/extension-bold": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/@tiptap/extension-bold/-/extension-bold-2.7.4.tgz", - "integrity": "sha512-Yq2ErekgpsOLCGYfQc1H3tUdmecKHDBWTPesVtqg0ct/3ZbKskhFoR6bPQWZH/ZRXQb1ARA+aMp/iqM/hqm+KQ==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/@tiptap/extension-bold/-/extension-bold-2.8.0.tgz", + "integrity": "sha512-U1YkZBxDkSLNvPNiqxB5g42IeJHr27C7zDb/yGQN2xL4UBeg4O9xVhCFfe32f6tLwivSL0dar4ScElpaCJuqow==", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" @@ -6526,21 +6510,23 @@ } }, "node_modules/@tiptap/extension-bullet-list": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/@tiptap/extension-bullet-list/-/extension-bullet-list-2.7.4.tgz", - "integrity": "sha512-uO08vui6uEgLEgLIYJSLrUb2An3u0If8XRW0Z0kB13zpwQ9pq0S1JOc0KwPTDPeIrgLQ7OOH87/bM9rGUFC3AQ==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/@tiptap/extension-bullet-list/-/extension-bullet-list-2.8.0.tgz", + "integrity": "sha512-H4O2X0ozbc/ce9/XF1H98sqWVUdtt7jzy7hMBunwmY8ZxI4dHtcRkeg81CZbpKTqOqRrMCLWjE3M2tgiDXrDkA==", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^2.7.0" + "@tiptap/core": "^2.7.0", + "@tiptap/extension-list-item": "^2.7.0", + "@tiptap/extension-text-style": "^2.7.0" } }, "node_modules/@tiptap/extension-code": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/@tiptap/extension-code/-/extension-code-2.7.4.tgz", - "integrity": "sha512-GB7gR8tV1fz+70wcSN+hLVm1qET/YmkxIaOfczHEOLLH7Td0C3kyQ5Q+eQ8KN0Ds7NBHFXn3zn051Q8gk9+5tw==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/@tiptap/extension-code/-/extension-code-2.8.0.tgz", + "integrity": "sha512-VSFn3sFF6qPpOGkXFhik8oYRH5iByVJpFEFd/duIEftmS0MdPzkbSItOpN3mc9xsJ5dCX80LYaResSj5hr5zkA==", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" @@ -6550,9 +6536,9 @@ } }, "node_modules/@tiptap/extension-code-block": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/@tiptap/extension-code-block/-/extension-code-block-2.7.4.tgz", - "integrity": "sha512-jRKVAEdy3G0SMphWXCTk9SnMuTmJE6blXglU66H89j9R+hG+G0dHfOWhlubhUy6nI2BLy8jJ/isnOzg97iZuQw==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/@tiptap/extension-code-block/-/extension-code-block-2.8.0.tgz", + "integrity": "sha512-POuA5Igx+Dto0DTazoBFAQTj/M/FCdkqRVD9Uhsxhv49swPyANTJRr05vgbgtHB+NDDsZfCawVh7pI0IAD/O0w==", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" @@ -6563,9 +6549,9 @@ } }, "node_modules/@tiptap/extension-document": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/@tiptap/extension-document/-/extension-document-2.7.4.tgz", - "integrity": "sha512-Vsq9e/uW7k/5l1K9bCmuccBSrHhK3i0fbfnTp33G1byTCizheUo3UWFl8MSDammlhRkW/soIZFGdflsj5AJWog==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/@tiptap/extension-document/-/extension-document-2.8.0.tgz", + "integrity": "sha512-mp7Isx1sVc/ifeW4uW/PexGQ9exN3NRUOebSpnLfqXeWYk4y1RS1PA/3+IHkOPVetbnapgPjFx/DswlCP3XLjA==", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" @@ -6575,9 +6561,9 @@ } }, "node_modules/@tiptap/extension-dropcursor": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/@tiptap/extension-dropcursor/-/extension-dropcursor-2.7.4.tgz", - "integrity": "sha512-hhE0RTluEEFxfqh8/jpmQRgy5AipTcd+WMK5cBw2zCa9If/qhY0EvysydEPwDU7yDEa13NDqV63x5oN9GKv2pg==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/@tiptap/extension-dropcursor/-/extension-dropcursor-2.8.0.tgz", + "integrity": "sha512-rAFvx44YuT6dtS1c+ALw0ROAGI16l5L1HxquL4hR1gtxDcTieST5xhw5bkshXlmrlfotZXPrhokzqA7qjhZtJw==", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" @@ -6588,9 +6574,9 @@ } }, "node_modules/@tiptap/extension-gapcursor": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/@tiptap/extension-gapcursor/-/extension-gapcursor-2.7.4.tgz", - "integrity": "sha512-1HTaCR6kcw5PvUJWEGKQ/Eh2HPXUmN6k1LK0rgJC4CxqiFxNNnPKGED9LcYheJbyMYk0Fz3rtaulxd3ipdIOsQ==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/@tiptap/extension-gapcursor/-/extension-gapcursor-2.8.0.tgz", + "integrity": "sha512-Be1LWCmvteQInOnNVN+HTqc1XWsj1bCl+Q7et8qqNjtGtTaCbdCp8ppcH1SKJxNTM/RLUtPyJ8FDgOTj51ixCA==", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" @@ -6601,9 +6587,9 @@ } }, "node_modules/@tiptap/extension-hard-break": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/@tiptap/extension-hard-break/-/extension-hard-break-2.7.4.tgz", - "integrity": "sha512-ut81vNPQyDYi8LhOzPfFZGnPToYGQbBR6bvFE0e8WY9sRfvUZHr/GvkMjPuWuA8M5sBMqS5cLNyqPrI8h4R7Jg==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/@tiptap/extension-hard-break/-/extension-hard-break-2.8.0.tgz", + "integrity": "sha512-vqiIfviNiCmy/pJTHuDSCAGL2O4QDEdDmAvGJu8oRmElUrnlg8DbJUfKvn6DWQHNSQwRb+LDrwWlzAYj1K9u6A==", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" @@ -6613,9 +6599,9 @@ } }, "node_modules/@tiptap/extension-heading": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/@tiptap/extension-heading/-/extension-heading-2.7.4.tgz", - "integrity": "sha512-ZLFHhFvmDD6YKPf4wftZd4wtT510yHjzG90A14wyKCpm0Bq9wOYzx4Q+owvlp5vMwenqHuq3KGz4Sf3w6N5gkw==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/@tiptap/extension-heading/-/extension-heading-2.8.0.tgz", + "integrity": "sha512-4inWgrTPiqlivPmEHFOM5ck2UsmOsbKKPtqga6bALvWPmCv24S6/EBwFp8Jz4YABabXDnkviihmGu0LpP9D69w==", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" @@ -6625,9 +6611,9 @@ } }, "node_modules/@tiptap/extension-history": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/@tiptap/extension-history/-/extension-history-2.7.4.tgz", - "integrity": "sha512-xRgGXNrtjDGVOeLeZzGqw4/OtwIoloLU3QLn/qaOggVS7jr1HVTqMHw4nZVcUJfnB/UQ90yl53hBKZ8z3AxcCA==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/@tiptap/extension-history/-/extension-history-2.8.0.tgz", + "integrity": "sha512-u5YS0J5Egsxt8TUWMMAC3QhPZaak+IzQeyHch4gtqxftx96tprItY7AD/A3pGDF2uCSnN+SZrk6yVexm6EncDw==", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" @@ -6638,9 +6624,9 @@ } }, "node_modules/@tiptap/extension-horizontal-rule": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/@tiptap/extension-horizontal-rule/-/extension-horizontal-rule-2.7.4.tgz", - "integrity": "sha512-6mKkiGK9O+eGDeewpUHGyM2Xjlp69Oy+N/0o5zdzfN84YqVPqLV+Y7ub6fMxZUvmRt6L0kuv/ZoDoxeUk+QNKg==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/@tiptap/extension-horizontal-rule/-/extension-horizontal-rule-2.8.0.tgz", + "integrity": "sha512-Sn/MI8WVFBoIYSIHA9NJryJIyCEzZdRysau8pC5TFnfifre0QV1ksPz2bgF+DyCD69ozQiRdBBHDEwKe47ZbfQ==", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" @@ -6663,9 +6649,9 @@ } }, "node_modules/@tiptap/extension-italic": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/@tiptap/extension-italic/-/extension-italic-2.7.4.tgz", - "integrity": "sha512-j/86hNMRd2PbJX6DOs7CbrYgFJSXvZMnWkYRRol7XEELvEuIWoAgyJrW5HkDbVxmGfWPnLlqsoW7iTHml7P+Bg==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/@tiptap/extension-italic/-/extension-italic-2.8.0.tgz", + "integrity": "sha512-PwwSE2LTYiHI47NJnsfhBmPiLE8IXZYqaSoNPU6flPrk1KxEzqvRI1joKZBmD9wuqzmHJ93VFIeZcC+kfwi8ZA==", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" @@ -6691,9 +6677,9 @@ } }, "node_modules/@tiptap/extension-list-item": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/@tiptap/extension-list-item/-/extension-list-item-2.7.4.tgz", - "integrity": "sha512-2EiXAtkZdCUHCfYRQsslniQhUzvo8zEm+M6JHcsIRBRf27iE+nXrD6jq1WH2ZIUNLDUs4JsJhtc89aoSYkJGKw==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/@tiptap/extension-list-item/-/extension-list-item-2.8.0.tgz", + "integrity": "sha512-o7OGymGxB0B9x3x2prp3KBDYFuBYGc5sW69O672jk8G52DqhzzndgPnkk0qUn8nXAUKuDGbJmpmHVA2kagqnRg==", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" @@ -6703,21 +6689,23 @@ } }, "node_modules/@tiptap/extension-ordered-list": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/@tiptap/extension-ordered-list/-/extension-ordered-list-2.7.4.tgz", - "integrity": "sha512-Y7fnw3lTyOd1h6t5hKSkYqbJXteafIviRdmrQ/ERRayojV934DjRPBeMQnYcArE6nI178/wLI9YMt1HSMJklRw==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/@tiptap/extension-ordered-list/-/extension-ordered-list-2.8.0.tgz", + "integrity": "sha512-sCvNbcTS1+5QTTXwUPFa10vf5I1pr8sGcOTIh0G+a5ZkS5+6FxT12k7VLzPt39QyNbOi+77U2o4Xr4XyaEkfSg==", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^2.7.0" + "@tiptap/core": "^2.7.0", + "@tiptap/extension-list-item": "^2.7.0", + "@tiptap/extension-text-style": "^2.7.0" } }, "node_modules/@tiptap/extension-paragraph": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/@tiptap/extension-paragraph/-/extension-paragraph-2.7.4.tgz", - "integrity": "sha512-Pv3zsyuE+RItlkZVFcjcnz+Omp/UCEO03n9daeHljMUl7Rt775fXtcTNKPqO65f2B2MPBxrSdJpTsoMK0bbcjA==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/@tiptap/extension-paragraph/-/extension-paragraph-2.8.0.tgz", + "integrity": "sha512-XgxxNNbuBF48rAGwv7/s6as92/xjm/lTZIGTq9aG13ClUKFtgdel7C33SpUCcxg3cO2WkEyllXVyKUiauFZw/A==", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" @@ -6740,9 +6728,9 @@ } }, "node_modules/@tiptap/extension-strike": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/@tiptap/extension-strike/-/extension-strike-2.7.4.tgz", - "integrity": "sha512-ELMFUCE9MlF0qsGzHJl0AxzGUVyS9rglk6pzidoB0iU1LuzUa/K1el5ID2ksSFdq2+STK17rOWQxUiv3X8C7gw==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/@tiptap/extension-strike/-/extension-strike-2.8.0.tgz", + "integrity": "sha512-ezkDiXxQ3ME/dDMMM7tAMkKRi6UWw7tIu+Mx7Os0z8HCGpVBk1gFhLlhEd8I5rJaPZr4tK1wtSehMA9bscFGQw==", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" @@ -6825,9 +6813,9 @@ } }, "node_modules/@tiptap/extension-text": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/@tiptap/extension-text/-/extension-text-2.7.4.tgz", - "integrity": "sha512-1bF9LdfUumqXOz0A6xnOo7UHx+YLshxjMnjoMXjv7cOFOjdHbLmwKNTKGd2ltoCy3bSajoCPhPZL2Id89XDZfQ==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/@tiptap/extension-text/-/extension-text-2.8.0.tgz", + "integrity": "sha512-EDAdFFzWOvQfVy7j3qkKhBpOeE5thkJaBemSWfXI93/gMVc0ZCdLi24mDvNNgUHlT+RjlIoQq908jZaaxLKN2A==", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" @@ -6848,6 +6836,18 @@ "@tiptap/core": "^2.7.0" } }, + "node_modules/@tiptap/extension-text-style": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/@tiptap/extension-text-style/-/extension-text-style-2.8.0.tgz", + "integrity": "sha512-jJp0vcZ2Ty7RvIL0VU6dm1y+fTfXq1lN2GwtYzYM0ueFuESa+Qo8ticYOImyWZ3wGJGVrjn7OV9r0ReW0/NYkQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "^2.7.0" + } + }, "node_modules/@tiptap/extension-underline": { "version": "2.7.4", "resolved": "https://registry.npmjs.org/@tiptap/extension-underline/-/extension-underline-2.7.4.tgz", @@ -6861,9 +6861,9 @@ } }, "node_modules/@tiptap/pm": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/@tiptap/pm/-/pm-2.7.4.tgz", - "integrity": "sha512-YXjgPLN6/msTkKakuzgBm6Dd/Li3ORtysSki3fHnOFcy8R4c5JZLkYECQk6aJHsxvl/vGvNgaJy5yCDbhnaTAg==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/@tiptap/pm/-/pm-2.8.0.tgz", + "integrity": "sha512-eMGpRooUMvKz/vOpnKKppApMSoNM325HxTdAJvTlVAmuHp5bOY5kyY1kfUlePRiVx1t1UlFcXs3kecFwkkBD3Q==", "dependencies": { "prosemirror-changeset": "^2.2.1", "prosemirror-collab": "^1.3.1", @@ -6889,6 +6889,37 @@ "url": "https://github.com/sponsors/ueberdosis" } }, + "node_modules/@tiptap/starter-kit": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/@tiptap/starter-kit/-/starter-kit-2.8.0.tgz", + "integrity": "sha512-r7UwaTrECkQoheWVZKFDqtL5tBx07x7IFT+prfgnsVlYFutGWskVVqzCDvD3BDmrg5PzeCWYZrQGlPaLib7tjg==", + "dependencies": { + "@tiptap/core": "^2.8.0", + "@tiptap/extension-blockquote": "^2.8.0", + "@tiptap/extension-bold": "^2.8.0", + "@tiptap/extension-bullet-list": "^2.8.0", + "@tiptap/extension-code": "^2.8.0", + "@tiptap/extension-code-block": "^2.8.0", + "@tiptap/extension-document": "^2.8.0", + "@tiptap/extension-dropcursor": "^2.8.0", + "@tiptap/extension-gapcursor": "^2.8.0", + "@tiptap/extension-hard-break": "^2.8.0", + "@tiptap/extension-heading": "^2.8.0", + "@tiptap/extension-history": "^2.8.0", + "@tiptap/extension-horizontal-rule": "^2.8.0", + "@tiptap/extension-italic": "^2.8.0", + "@tiptap/extension-list-item": "^2.8.0", + "@tiptap/extension-ordered-list": "^2.8.0", + "@tiptap/extension-paragraph": "^2.8.0", + "@tiptap/extension-strike": "^2.8.0", + "@tiptap/extension-text": "^2.8.0", + "@tiptap/pm": "^2.8.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + } + }, "node_modules/@tootallnate/quickjs-emscripten": { "version": "0.23.0", "resolved": "https://registry.npmjs.org/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz", diff --git a/src/Umbraco.Web.UI.Client/package.json b/src/Umbraco.Web.UI.Client/package.json index 1c1d071407..5a8122f56e 100644 --- a/src/Umbraco.Web.UI.Client/package.json +++ b/src/Umbraco.Web.UI.Client/package.json @@ -195,36 +195,20 @@ }, "dependencies": { "@tiptap/core": "^2.7.4", - "@tiptap/extension-blockquote": "^2.7.4", - "@tiptap/extension-bold": "^2.7.4", - "@tiptap/extension-bullet-list": "^2.7.4", - "@tiptap/extension-code": "^2.7.4", - "@tiptap/extension-code-block": "^2.7.4", - "@tiptap/extension-document": "^2.7.4", - "@tiptap/extension-dropcursor": "^2.7.4", - "@tiptap/extension-gapcursor": "^2.7.4", - "@tiptap/extension-hard-break": "^2.7.4", - "@tiptap/extension-heading": "^2.7.4", - "@tiptap/extension-history": "^2.7.4", - "@tiptap/extension-horizontal-rule": "^2.7.4", "@tiptap/extension-image": "^2.7.4", - "@tiptap/extension-italic": "^2.7.4", "@tiptap/extension-link": "^2.7.4", - "@tiptap/extension-list-item": "^2.7.4", - "@tiptap/extension-ordered-list": "^2.7.4", - "@tiptap/extension-paragraph": "^2.7.4", "@tiptap/extension-placeholder": "^2.7.4", - "@tiptap/extension-strike": "^2.7.4", "@tiptap/extension-subscript": "^2.7.4", "@tiptap/extension-superscript": "^2.7.4", "@tiptap/extension-table": "^2.7.4", "@tiptap/extension-table-cell": "^2.7.4", "@tiptap/extension-table-header": "^2.7.4", "@tiptap/extension-table-row": "^2.7.4", - "@tiptap/extension-text": "^2.7.4", "@tiptap/extension-text-align": "^2.7.4", + "@tiptap/extension-text-style": "^2.8.0", "@tiptap/extension-underline": "^2.7.4", "@tiptap/pm": "^2.7.4", + "@tiptap/starter-kit": "^2.8.0", "@types/diff": "^5.2.1", "@types/dompurify": "^3.0.5", "@types/uuid": "^10.0.0", diff --git a/src/Umbraco.Web.UI.Client/src/external/tiptap/index.ts b/src/Umbraco.Web.UI.Client/src/external/tiptap/index.ts index d7daf5502a..16db5db676 100644 --- a/src/Umbraco.Web.UI.Client/src/external/tiptap/index.ts +++ b/src/Umbraco.Web.UI.Client/src/external/tiptap/index.ts @@ -1,13 +1,8 @@ // REQUIRED EXTENSIONS export * from '@tiptap/core'; -export { Document } from '@tiptap/extension-document'; -export { Dropcursor } from '@tiptap/extension-dropcursor'; -export { Gapcursor } from '@tiptap/extension-gapcursor'; -export { HardBreak } from '@tiptap/extension-hard-break'; -export { History } from '@tiptap/extension-history'; -export { Paragraph } from '@tiptap/extension-paragraph'; +export { StarterKit } from '@tiptap/starter-kit'; export { Placeholder } from '@tiptap/extension-placeholder'; -export { Text } from '@tiptap/extension-text'; +export { TextStyle } from '@tiptap/extension-text-style'; // OPTIONAL EXTENSIONS export { Blockquote } from '@tiptap/extension-blockquote'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/components/input-tiptap/input-tiptap.element.ts b/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/components/input-tiptap/input-tiptap.element.ts index cb1d68b538..631d04fc9e 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/components/input-tiptap/input-tiptap.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/components/input-tiptap/input-tiptap.element.ts @@ -2,17 +2,7 @@ import type { UmbTiptapExtensionApi, UmbTiptapToolbarValue } from '../../extensi import { css, customElement, html, property, state, when } from '@umbraco-cms/backoffice/external/lit'; import { loadManifestApi } from '@umbraco-cms/backoffice/extension-api'; import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry'; -import { - Document, - Dropcursor, - Editor, - Gapcursor, - HardBreak, - History, - Paragraph, - Placeholder, - Text, -} from '@umbraco-cms/backoffice/external/tiptap'; +import { Editor, Placeholder, StarterKit, TextStyle } from '@umbraco-cms/backoffice/external/tiptap'; import { UmbChangeEvent } from '@umbraco-cms/backoffice/event'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; import { UmbFormControlMixin } from '@umbraco-cms/backoffice/validation'; @@ -26,12 +16,7 @@ const elementName = 'umb-input-tiptap'; @customElement(elementName) export class UmbInputTiptapElement extends UmbFormControlMixin(UmbLitElement) { readonly #requiredExtensions = [ - Document, - Dropcursor, - Gapcursor, - HardBreak, - History, - Paragraph, + StarterKit, Placeholder.configure({ placeholder: ({ node }) => { if (node.type.name === 'heading') { @@ -41,7 +26,7 @@ export class UmbInputTiptapElement extends UmbFormControlMixin('dimensions'); + console.log(this.configuration, dimensions); if (dimensions?.width) this.setAttribute('style', `max-width: ${dimensions.width}px;`); if (dimensions?.height) element.setAttribute('style', `max-height: ${dimensions.height}px;`); diff --git a/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/extensions/core/blockquote.extension.ts b/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/extensions/core/blockquote.extension.ts deleted file mode 100644 index 8d605978bd..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/extensions/core/blockquote.extension.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { UmbTiptapExtensionApiBase } from '../types.js'; -import { Blockquote } from '@umbraco-cms/backoffice/external/tiptap'; - -export default class UmbTiptapBlockquoteExtensionApi extends UmbTiptapExtensionApiBase { - getTiptapExtensions = () => [Blockquote]; -} diff --git a/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/extensions/core/bold.extension.ts b/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/extensions/core/bold.extension.ts deleted file mode 100644 index 824b62c874..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/extensions/core/bold.extension.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { UmbTiptapExtensionApiBase } from '../types.js'; -import { Bold } from '@umbraco-cms/backoffice/external/tiptap'; - -export default class UmbTiptapBoldExtensionApi extends UmbTiptapExtensionApiBase { - getTiptapExtensions = () => [Bold]; -} diff --git a/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/extensions/core/code-block.extension.ts b/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/extensions/core/code-block.extension.ts deleted file mode 100644 index 2c1310ba3b..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/extensions/core/code-block.extension.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { UmbTiptapExtensionApiBase } from '../types.js'; -import { Code, CodeBlock } from '@umbraco-cms/backoffice/external/tiptap'; - -export default class UmbTiptapCodeBlockExtensionApi extends UmbTiptapExtensionApiBase { - getTiptapExtensions = () => [Code, CodeBlock]; -} diff --git a/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/extensions/core/heading.extension.ts b/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/extensions/core/heading.extension.ts deleted file mode 100644 index 255d8832a9..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/extensions/core/heading.extension.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { UmbTiptapExtensionApiBase } from '../types.js'; -import { Heading } from '@umbraco-cms/backoffice/external/tiptap'; - -export default class UmbTiptapHeading1ExtensionApi extends UmbTiptapExtensionApiBase { - getTiptapExtensions = () => [Heading]; -} diff --git a/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/extensions/core/horizontal-rule.extension.ts b/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/extensions/core/horizontal-rule.extension.ts deleted file mode 100644 index 1d78bc9c96..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/extensions/core/horizontal-rule.extension.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { UmbTiptapExtensionApiBase } from '../types.js'; -import { HorizontalRule } from '@umbraco-cms/backoffice/external/tiptap'; - -export default class UmbTiptapHorizontalRuleExtensionApi extends UmbTiptapExtensionApiBase { - getTiptapExtensions = () => [HorizontalRule]; -} diff --git a/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/extensions/core/italic.extension.ts b/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/extensions/core/italic.extension.ts deleted file mode 100644 index 5eccccf8dd..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/extensions/core/italic.extension.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { UmbTiptapExtensionApiBase } from '../types.js'; -import { Italic } from '@umbraco-cms/backoffice/external/tiptap'; - -export default class UmbTiptapItalicExtensionApi extends UmbTiptapExtensionApiBase { - getTiptapExtensions = () => [Italic]; -} diff --git a/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/extensions/core/list.extension.ts b/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/extensions/core/list.extension.ts deleted file mode 100644 index 1391383388..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/extensions/core/list.extension.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { UmbTiptapExtensionApiBase } from '../types.js'; -import { BulletList, ListItem, OrderedList } from '@umbraco-cms/backoffice/external/tiptap'; - -export default class UmbTiptapListExtensionApi extends UmbTiptapExtensionApiBase { - getTiptapExtensions = () => [BulletList, OrderedList, ListItem]; -} diff --git a/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/extensions/core/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/extensions/core/manifests.ts index 88bd91bcf0..12ff89ce56 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/extensions/core/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/extensions/core/manifests.ts @@ -1,51 +1,11 @@ import type { ManifestTiptapExtension } from '../tiptap-extension.js'; export const manifests: Array = [ - { - type: 'tiptapExtension', - kind: 'button', - alias: 'Umb.Tiptap.Blockquote', - name: 'Blockquote Tiptap Extension', - api: () => import('./blockquote.extension.js'), - weight: 995, - meta: { - icon: 'icon-blockquote', - label: 'Blockquote', - group: '#tiptap_extGroup_structure', - }, - }, - { - type: 'tiptapExtension', - kind: 'button', - alias: 'Umb.Tiptap.Bold', - name: 'Bold Tiptap Extension', - api: () => import('./bold.extension.js'), - weight: 999, - meta: { - icon: 'icon-bold', - label: 'Bold', - group: '#tiptap_extGroup_formatting', - }, - }, - { - type: 'tiptapExtension', - kind: 'button', - alias: 'Umb.Tiptap.CodeBlock', - name: 'Code Block Tiptap Extension', - api: () => import('./code-block.extension.js'), - weight: 994, - meta: { - icon: 'icon-code', - label: 'Code Block', - group: '#tiptap_extGroup_structure', - }, - }, { type: 'tiptapExtension', alias: 'Umb.Tiptap.Embed', name: 'Embed Tiptap Extension', api: () => import('./embedded-media.extension.js'), - weight: 70, meta: { icon: 'icon-embed', label: '#general_embed', @@ -57,7 +17,6 @@ export const manifests: Array = [ alias: 'Umb.Tiptap.Link', name: 'Link Tiptap Extension', api: () => import('./link.extension.js'), - weight: 102, meta: { icon: 'icon-link', label: '#defaultdialogs_urlLinkPicker', @@ -69,26 +28,12 @@ export const manifests: Array = [ alias: 'Umb.Tiptap.Figure', name: 'Figure Tiptap Extension', api: () => import('./figure.extension.js'), - weight: 955, meta: { icon: 'icon-frame', label: 'Figure', group: '#tiptap_extGroup_media', }, }, - { - type: 'tiptapExtension', - kind: 'button', - alias: 'Umb.Tiptap.HorizontalRule', - name: 'Horizontal Rule Tiptap Extension', - api: () => import('./horizontal-rule.extension.js'), - weight: 991, - meta: { - icon: 'icon-horizontal-rule', - label: 'Horizontal Rule', - group: '#tiptap_extGroup_structure', - }, - }, { type: 'tiptapExtension', alias: 'Umb.Tiptap.Image', @@ -100,39 +45,12 @@ export const manifests: Array = [ group: '#tiptap_extGroup_media', }, }, - { - type: 'tiptapExtension', - kind: 'button', - alias: 'Umb.Tiptap.Italic', - name: 'Italic Tiptap Extension', - api: () => import('./italic.extension.js'), - weight: 998, - meta: { - icon: 'icon-italic', - label: 'Italic', - group: '#tiptap_extGroup_formatting', - }, - }, - { - type: 'tiptapExtension', - kind: 'button', - alias: 'Umb.Tiptap.Strike', - name: 'Strike Tiptap Extension', - api: () => import('./strike.extension.js'), - weight: 998, - meta: { - icon: 'icon-strikethrough', - label: 'Strike', - group: '#tiptap_extGroup_formatting', - }, - }, { type: 'tiptapExtension', kind: 'button', alias: 'Umb.Tiptap.Subscript', name: 'Subscript Tiptap Extension', api: () => import('./subscript.extension.js'), - weight: 1010, meta: { icon: 'icon-subscript', label: 'Subscript', @@ -145,7 +63,6 @@ export const manifests: Array = [ alias: 'Umb.Tiptap.Superscript', name: 'Superscript Tiptap Extension', api: () => import('./superscript.extension.js'), - weight: 1011, meta: { icon: 'icon-superscript', label: 'Superscript', @@ -158,7 +75,6 @@ export const manifests: Array = [ alias: 'Umb.Tiptap.Table', name: 'Table Tiptap Extension', api: () => import('./table.extension.js'), - weight: 909, meta: { icon: 'icon-table', label: 'Table', @@ -171,35 +87,12 @@ export const manifests: Array = [ alias: 'Umb.Tiptap.Underline', name: 'Underline Tiptap Extension', api: () => import('./underline.extension.js'), - weight: 997, meta: { icon: 'icon-underline', label: 'Underline', group: '#tiptap_extGroup_formatting', }, }, - { - type: 'tiptapExtension', - alias: 'Umb.Tiptap.Heading', - name: 'Heading Tiptap Extension', - api: () => import('./heading.extension.js'), - meta: { - icon: 'icon-heading-1', - label: 'Heading', - group: '#tiptap_extGroup_formatting', - }, - }, - { - type: 'tiptapExtension', - alias: 'Umb.Tiptap.List', - name: 'List Tiptap Extension', - api: () => import('./list.extension.js'), - meta: { - icon: 'icon-ordered-list', - label: 'Ordered List', - group: '#tiptap_extGroup_structure', - }, - }, { type: 'tiptapExtension', alias: 'Umb.Tiptap.TextAlign', @@ -208,7 +101,7 @@ export const manifests: Array = [ meta: { icon: 'icon-text-align-justify', label: 'Text Align', - group: '#tiptap_extGroup_structure', + group: '#tiptap_extGroup_formatting', }, }, ]; diff --git a/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/extensions/core/strike.extension.ts b/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/extensions/core/strike.extension.ts deleted file mode 100644 index 88096bacfe..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/extensions/core/strike.extension.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { UmbTiptapExtensionApiBase } from '../types.js'; -import { Strike } from '@umbraco-cms/backoffice/external/tiptap'; - -export default class UmbTiptapStrikeExtensionApi extends UmbTiptapExtensionApiBase { - getTiptapExtensions = () => [Strike]; -} diff --git a/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/extensions/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/extensions/manifests.ts index c5daba1fa6..9effd9786d 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/extensions/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/rte/tiptap/extensions/manifests.ts @@ -1,10 +1,7 @@ import type { ManifestTiptapExtension } from './tiptap-extension.js'; import { manifests as core } from './core/manifests.js'; import { manifests as toolbar } from './toolbar/manifests.js'; -import type { - ManifestTiptapToolbarExtension, - ManifestTiptapToolbarExtensionButtonKind, -} from './tiptap-toolbar-extension.js'; +import type { ManifestTiptapToolbarExtension } from './tiptap-toolbar-extension.js'; import type { UmbExtensionManifestKind } from '@umbraco-cms/backoffice/extension-registry'; const kinds: Array = [ @@ -19,14 +16,13 @@ const kinds: Array = [ }, ]; -const umbToolbarExtensions: Array = [ +const umbToolbarExtensions: Array = [ { type: 'tiptapToolbarExtension', kind: 'button', alias: 'Umb.Tiptap.Toolbar.CodeEditor', name: 'Code Editor Tiptap Extension', api: () => import('./umb/code-editor.extension.js'), - weight: 1000, meta: { alias: 'umb-code-editor', icon: 'icon-code', @@ -39,7 +35,6 @@ const umbToolbarExtensions: Array import('./umb/link.extension.js'), - weight: 102, meta: { alias: 'umbLink', icon: 'icon-link', @@ -52,7 +47,6 @@ const umbToolbarExtensions: Array import('./umb/mediapicker.extension.js'), - weight: 80, meta: { alias: 'umbMedia', icon: 'icon-picture', @@ -65,7 +59,6 @@ const umbToolbarExtensions: Array import('./umb/embedded-media.extension.js'), - weight: 70, meta: { alias: 'umbEmbeddedMedia', icon: 'icon-embed', @@ -82,7 +75,7 @@ const umbExtensions: Array = [ api: () => import('./umb/media-upload.extension.js'), meta: { icon: 'icon-image-up', - label: 'Media upload', + label: 'Media Upload', group: '#tiptap_extGroup_media', }, },