diff --git a/package-lock.json b/package-lock.json index 5f7cbe44..6cd0942b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,7 @@ "@aws-sdk/abort-controller": "3.303.0", "@aws-sdk/client-s3": "3.303.0", "@aws-sdk/lib-storage": "3.303.0", - "@hocuspocus/provider": "2.0.1", + "@hocuspocus/provider": "2.0.3", "formidable": "2.1.1", "i18next": "22.4.13", "mailgun.js": "8.2.1", @@ -36,35 +36,35 @@ "@solid-primitives/upload": "0.0.110", "@solidjs/meta": "0.28.2", "@thisbeyond/solid-select": "0.13.0", - "@tiptap/core": "2.0.1", - "@tiptap/extension-blockquote": "2.0.1", - "@tiptap/extension-bold": "2.0.1", - "@tiptap/extension-bubble-menu": "2.0.1", - "@tiptap/extension-bullet-list": "2.0.1", - "@tiptap/extension-character-count": "2.0.1", - "@tiptap/extension-collaboration": "2.0.1", - "@tiptap/extension-collaboration-cursor": "2.0.1", - "@tiptap/extension-document": "2.0.1", - "@tiptap/extension-dropcursor": "2.0.1", - "@tiptap/extension-floating-menu": "2.0.1", - "@tiptap/extension-focus": "2.0.1", - "@tiptap/extension-gapcursor": "2.0.1", - "@tiptap/extension-hard-break": "2.0.1", - "@tiptap/extension-heading": "2.0.1", - "@tiptap/extension-highlight": "2.0.1", - "@tiptap/extension-history": "2.0.1", - "@tiptap/extension-horizontal-rule": "2.0.1", - "@tiptap/extension-image": "2.0.1", - "@tiptap/extension-italic": "2.0.1", - "@tiptap/extension-link": "2.0.1", - "@tiptap/extension-list-item": "2.0.1", - "@tiptap/extension-ordered-list": "2.0.1", - "@tiptap/extension-paragraph": "2.0.1", - "@tiptap/extension-placeholder": "2.0.1", - "@tiptap/extension-strike": "2.0.1", - "@tiptap/extension-text": "2.0.1", - "@tiptap/extension-underline": "2.0.1", - "@tiptap/extension-youtube": "2.0.1", + "@tiptap/core": "2.0.3", + "@tiptap/extension-blockquote": "2.0.3", + "@tiptap/extension-bold": "2.0.3", + "@tiptap/extension-bubble-menu": "2.0.3", + "@tiptap/extension-bullet-list": "2.0.3", + "@tiptap/extension-character-count": "2.0.3", + "@tiptap/extension-collaboration": "2.0.3", + "@tiptap/extension-collaboration-cursor": "2.0.3", + "@tiptap/extension-document": "2.0.3", + "@tiptap/extension-dropcursor": "2.0.3", + "@tiptap/extension-floating-menu": "2.0.3", + "@tiptap/extension-focus": "2.0.3", + "@tiptap/extension-gapcursor": "2.0.3", + "@tiptap/extension-hard-break": "2.0.3", + "@tiptap/extension-heading": "2.0.3", + "@tiptap/extension-highlight": "2.0.3", + "@tiptap/extension-history": "2.0.3", + "@tiptap/extension-horizontal-rule": "2.0.3", + "@tiptap/extension-image": "2.0.3", + "@tiptap/extension-italic": "2.0.3", + "@tiptap/extension-link": "2.0.3", + "@tiptap/extension-list-item": "2.0.3", + "@tiptap/extension-ordered-list": "2.0.3", + "@tiptap/extension-paragraph": "2.0.3", + "@tiptap/extension-placeholder": "2.0.3", + "@tiptap/extension-strike": "2.0.3", + "@tiptap/extension-text": "2.0.3", + "@tiptap/extension-underline": "2.0.3", + "@tiptap/extension-youtube": "2.0.3", "@types/express": "4.17.17", "@types/node": "18.15.11", "@types/uuid": "9.0.1", @@ -131,7 +131,7 @@ "rollup-plugin-visualizer": "5.9.0", "sass": "1.60.0", "solid-js": "1.7.0", - "solid-tiptap": "0.5.1", + "solid-tiptap": "0.6.0", "solid-transition-group": "0.2.2", "sort-package-json": "2.4.1", "stylelint": "15.3.0", @@ -4391,19 +4391,19 @@ } }, "node_modules/@hocuspocus/common": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@hocuspocus/common/-/common-2.0.1.tgz", - "integrity": "sha512-KHF/e4LgE5C+df0Jgo+nZz19vfS9pQ13lrWBeynxYzmcpMln++U4TUZeZMSqlSTS/njg/LwDN/KdRxw6MZeR/g==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@hocuspocus/common/-/common-2.0.3.tgz", + "integrity": "sha512-m+aFLDuO/miQCcPNL4GtIVa2NFegoh6mkZ6Y6+ogOoIlI9MY7uvhJQziPDgZ7SQ9nlROUzc015hX/QpJWjZL4A==", "dependencies": { "lib0": "^0.2.47" } }, "node_modules/@hocuspocus/provider": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@hocuspocus/provider/-/provider-2.0.1.tgz", - "integrity": "sha512-3IFn8oFlGEPQhzswiCrMjuBa1+qKPphr2In8iSgkjZFfMiSDobAfYvQj281dZf7vuKZZ1rFn/s55TAWhDCAy0w==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@hocuspocus/provider/-/provider-2.0.3.tgz", + "integrity": "sha512-dPw0cYdBvKggqIWJyRK5i2u4wrndC/A3nFqmFhZUuPo5GuRKNHMCjX8z5wSFNS2vsHELMFsxmnm1+TnB2cAP2w==", "dependencies": { - "@hocuspocus/common": "^2.0.1", + "@hocuspocus/common": "^2.0.3", "@lifeomic/attempt": "^3.0.2", "lib0": "^0.2.47", "ws": "^7.5.9" @@ -5694,9 +5694,9 @@ } }, "node_modules/@tiptap/core": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@tiptap/core/-/core-2.0.1.tgz", - "integrity": "sha512-IY5K17e1YdlJIykCt3NuOyqK/SHyGwk2X7eyLYfZJGJwqzuPuf3y8X1zZQQN53t5UVfsgqsF9RweVEee40o1Aw==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/core/-/core-2.0.3.tgz", + "integrity": "sha512-jLyVIWAdjjlNzrsRhSE2lVL/7N8228/1R1QtaVU85UlMIwHFAcdzhD8FeiKkqxpTnGpaDVaTy7VNEtEgaYdCyA==", "dev": true, "funding": { "type": "github", @@ -5707,9 +5707,9 @@ } }, "node_modules/@tiptap/extension-blockquote": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@tiptap/extension-blockquote/-/extension-blockquote-2.0.1.tgz", - "integrity": "sha512-j4n5iTeBc/YIoW83nZPoc1/fKeoA32tPaOH/quQdtkBgXEM9r4PiK7NfsJxbFq7UGk0oa3ibRSiBxzODgZIVlw==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-blockquote/-/extension-blockquote-2.0.3.tgz", + "integrity": "sha512-rkUcFv2iL6f86DBBHoa4XdKNG2StvkJ7tfY9GoMpT46k3nxOaMTqak9/qZOo79TWxMLYtXzoxtKIkmWsbbcj4A==", "dev": true, "funding": { "type": "github", @@ -5720,9 +5720,9 @@ } }, "node_modules/@tiptap/extension-bold": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@tiptap/extension-bold/-/extension-bold-2.0.1.tgz", - "integrity": "sha512-SYzs0e3FcAmJbYQkQ+LLRnoBNrFvG0i2zc+lFbrSYVCiEpqb5QPz5mgmQvnrH/Sl89WewnoeMu7pLqVEpfAWuw==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-bold/-/extension-bold-2.0.3.tgz", + "integrity": "sha512-OGT62fMRovSSayjehumygFWTg2Qn0IDbqyMpigg/RUAsnoOI2yBZFVrdM2gk1StyoSay7gTn2MLw97IUfr7FXg==", "dev": true, "funding": { "type": "github", @@ -5733,9 +5733,9 @@ } }, "node_modules/@tiptap/extension-bubble-menu": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@tiptap/extension-bubble-menu/-/extension-bubble-menu-2.0.1.tgz", - "integrity": "sha512-ZA8T7+yjlHzEjBeOlWAqz/9XvBb/rJ7/PiYjM57UXuT/ZgPMPL7KXI/KtS7vaRCnmKaGL6EJ1tBcZhjU24vNzA==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-bubble-menu/-/extension-bubble-menu-2.0.3.tgz", + "integrity": "sha512-lPt1ELrYCuoQrQEUukqjp9xt38EwgPUwaKHI3wwt2Rbv+C6q1gmRsK1yeO/KqCNmFxNqF2p9ZF9srOnug/RZDQ==", "dev": true, "dependencies": { "tippy.js": "^6.3.7" @@ -5750,9 +5750,9 @@ } }, "node_modules/@tiptap/extension-bullet-list": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@tiptap/extension-bullet-list/-/extension-bullet-list-2.0.1.tgz", - "integrity": "sha512-IniXv9VgHkyWF2wJKxoILhNnJPwWNlIRW2LNSlXzkl70k0BsPGcAfiEIJtPqpVwh03QPc5v1y5UeuOOO6VQbqA==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-bullet-list/-/extension-bullet-list-2.0.3.tgz", + "integrity": "sha512-RtaLiRvZbMTOje+FW5bn+mYogiIgNxOm065wmyLPypnTbLSeHeYkoqVSqzZeqUn+7GLnwgn1shirUe6csVE/BA==", "dev": true, "funding": { "type": "github", @@ -5763,9 +5763,9 @@ } }, "node_modules/@tiptap/extension-character-count": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@tiptap/extension-character-count/-/extension-character-count-2.0.1.tgz", - "integrity": "sha512-mvSD7dTU/NhxQwcQyignDgtzXIf9iwAdfn0lyWOnbzjyUxMpS7cVqXZ1ZsjNRWxThpOeoiw4TjYRMMcfZfSlWQ==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-character-count/-/extension-character-count-2.0.3.tgz", + "integrity": "sha512-Ge4aUmgYOmQR/HLPkbQSFKEywyRu6IalHAQmH3laY6LB9qrmT90AoaiFnaVCDpphYFQ7RygnBXJMgjtJ3WpZmw==", "dev": true, "funding": { "type": "github", @@ -5777,9 +5777,9 @@ } }, "node_modules/@tiptap/extension-collaboration": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@tiptap/extension-collaboration/-/extension-collaboration-2.0.1.tgz", - "integrity": "sha512-317mxt/UymuQ+bWBz8h/p1IvPM+CPYH7b7jrcJhVgk1zFSsMr/6KfI0fHQJTM9Llfh1u+PD8Tk9Y9ChBYx5yIQ==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-collaboration/-/extension-collaboration-2.0.3.tgz", + "integrity": "sha512-oA+5Dx+L1GfFrP2tUol8lfKNrLitYgHBaBJbAiqh/QPKVuUiEWgFS2W1oYaSGmwYjzdPCVJqXyQLzSJvEdnBWQ==", "dev": true, "funding": { "type": "github", @@ -5792,9 +5792,9 @@ } }, "node_modules/@tiptap/extension-collaboration-cursor": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@tiptap/extension-collaboration-cursor/-/extension-collaboration-cursor-2.0.1.tgz", - "integrity": "sha512-BdwQkvLk/+qY3G1SU5J5psEA1EJf1LNt7Tk/xqWoYEcbfAlXGI09Xcz8gGuYZc6tF6f0BekrfeHdPAAQ94iwpQ==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-collaboration-cursor/-/extension-collaboration-cursor-2.0.3.tgz", + "integrity": "sha512-pBcsk3ZkK8IQK6UP/a7Y4rjZRW/anhxFaTCcTxrUvn/azqRI+mcCsRwbc5lNLzcYq5JVOHGROjriNmGGkIr5jA==", "dev": true, "funding": { "type": "github", @@ -5806,9 +5806,9 @@ } }, "node_modules/@tiptap/extension-document": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@tiptap/extension-document/-/extension-document-2.0.1.tgz", - "integrity": "sha512-9T14qBa6uKieJ+FCGm0nL9o8LTjwqlfc2pYQkkjXXWFivMXoVeL9rVIlarANgbJZKYsZ4L5tkyXcKQ32nZmMjg==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-document/-/extension-document-2.0.3.tgz", + "integrity": "sha512-PsYeNQQBYIU9ayz1R11Kv/kKNPFNIV8tApJ9pxelXjzcAhkjncNUazPN/dyho60mzo+WpsmS3ceTj/gK3bCtWA==", "dev": true, "funding": { "type": "github", @@ -5819,9 +5819,9 @@ } }, "node_modules/@tiptap/extension-dropcursor": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@tiptap/extension-dropcursor/-/extension-dropcursor-2.0.1.tgz", - "integrity": "sha512-OuqMhj13hPSdxc6G3xDmGvwe3AfczMQjAoSPakNW9pSSzrjJJa3Tr08kI+TyZDUm3vKM4af+lL/oCeXSupGAbQ==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-dropcursor/-/extension-dropcursor-2.0.3.tgz", + "integrity": "sha512-McthMrfusn6PjcaynJLheZJcXto8TaIW5iVitYh8qQrDXr31MALC/5GvWuiswmQ8bAXiWPwlLDYE/OJfwtggaw==", "dev": true, "funding": { "type": "github", @@ -5833,9 +5833,9 @@ } }, "node_modules/@tiptap/extension-floating-menu": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@tiptap/extension-floating-menu/-/extension-floating-menu-2.0.1.tgz", - "integrity": "sha512-gOf7FyromNyQpdaU/MWV99KMu6vypN+IlK8ViCBPvcM7w+e5eTh39wY/u5OquM7LsXd8KXLC2neq1XzQsAVmzw==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-floating-menu/-/extension-floating-menu-2.0.3.tgz", + "integrity": "sha512-zN1vRGRvyK3pO2aHRmQSOTpl4UJraXYwKYM009n6WviYKUNm0LPGo+VD4OAtdzUhPXyccnlsTv2p6LIqFty6Bg==", "dev": true, "dependencies": { "tippy.js": "^6.3.7" @@ -5850,9 +5850,9 @@ } }, "node_modules/@tiptap/extension-focus": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@tiptap/extension-focus/-/extension-focus-2.0.1.tgz", - "integrity": "sha512-/G+V2JG4GvhVv1+diZBNTdkKcictSJuygRHDqkAgm44nfvyUUQ0odqknpDSIV1pvSjukgcBxlcFedgdgcFrqyg==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-focus/-/extension-focus-2.0.3.tgz", + "integrity": "sha512-WTJEmbGyHK8F/v1k5/5viLAa7PqtNoWOO4Qt4PBoUPlFDW97QMEh5m8Cvqw/RtbxTiGDHz6T+I5IJsKXGJed/A==", "dev": true, "funding": { "type": "github", @@ -5864,9 +5864,9 @@ } }, "node_modules/@tiptap/extension-gapcursor": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@tiptap/extension-gapcursor/-/extension-gapcursor-2.0.1.tgz", - "integrity": "sha512-NZbT4BIpXlf3gxqQMsZ173bJreGfr43eBwR/tJ8nBLcgBmFKiDfRTW3Whj7+EGD6Ek6rqUX0EekKG93Wes+I4w==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-gapcursor/-/extension-gapcursor-2.0.3.tgz", + "integrity": "sha512-6I9EzzsYOyyqDvDvxIK6Rv3EXB+fHKFj8ntHO8IXmeNJ6pkhOinuXVsW6Yo7TcDYoTj4D5I2MNFAW2rIkgassw==", "dev": true, "funding": { "type": "github", @@ -5878,9 +5878,9 @@ } }, "node_modules/@tiptap/extension-hard-break": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@tiptap/extension-hard-break/-/extension-hard-break-2.0.1.tgz", - "integrity": "sha512-H8NdmOuYehuMMRd0iWOeyN8ukAebqu6BWbDiZUKm+yx+1b7woadVofojLnGlreQT2II3cC4g8D9J7JfrcQtbyg==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-hard-break/-/extension-hard-break-2.0.3.tgz", + "integrity": "sha512-RCln6ARn16jvKTjhkcAD5KzYXYS0xRMc0/LrHeV8TKdCd4Yd0YYHe0PU4F9gAgAfPQn7Dgt4uTVJLN11ICl8sQ==", "dev": true, "funding": { "type": "github", @@ -5891,9 +5891,9 @@ } }, "node_modules/@tiptap/extension-heading": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@tiptap/extension-heading/-/extension-heading-2.0.1.tgz", - "integrity": "sha512-JkwlePSyDraVrWisr5lE/yqK4FXm5YSiiQiIo/1W9vFLdMPsAbRCSZrBO4fV7gyppbFgQQikEWDgxYHshq/TOg==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-heading/-/extension-heading-2.0.3.tgz", + "integrity": "sha512-f0IEv5ms6aCzL80WeZ1qLCXTkRVwbpRr1qAETjg3gG4eoJN18+lZNOJYpyZy3P92C5KwF2T3Av00eFyVLIbb8Q==", "dev": true, "funding": { "type": "github", @@ -5904,9 +5904,9 @@ } }, "node_modules/@tiptap/extension-highlight": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@tiptap/extension-highlight/-/extension-highlight-2.0.1.tgz", - "integrity": "sha512-k9rJnAGzjXWQSN3RqSVPQfsbtFAgZu2AnwSFH2VQ2Ea7oiAUOaD7Qcqrs0PLo/CxLEuWPAbULNngXUXZVseMBA==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-highlight/-/extension-highlight-2.0.3.tgz", + "integrity": "sha512-NrtibY8cZkIjZMQuHRrKd4php+plOvAoSo8g3uVFu275I/Ixt5HqJ53R4voCXs8W8BOBRs2HS2QX8Cjh79XhtA==", "dev": true, "funding": { "type": "github", @@ -5917,9 +5917,9 @@ } }, "node_modules/@tiptap/extension-history": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@tiptap/extension-history/-/extension-history-2.0.1.tgz", - "integrity": "sha512-nT4XbZUEyi+xSnwIeG+JqfHmWhF+amCwYsr7oYM/oa/BFDGaRHaNIrS3D+DpzjRrKguuLDxyhZkJEu1K2Rjsqw==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-history/-/extension-history-2.0.3.tgz", + "integrity": "sha512-00KHIcJ8kivn2ARI6NQYphv2LfllVCXViHGm0EhzDW6NQxCrriJKE3tKDcTFCu7LlC5doMpq9Z6KXdljc4oVeQ==", "dev": true, "funding": { "type": "github", @@ -5931,9 +5931,9 @@ } }, "node_modules/@tiptap/extension-horizontal-rule": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@tiptap/extension-horizontal-rule/-/extension-horizontal-rule-2.0.1.tgz", - "integrity": "sha512-JNgu0ioOBhn3Djn8vd41y3DrqeEfWMLIWNRVO81OqQRvWZhpRwIUuDoRrzR45wxjymq9flc+iz7zuFW1kszpQA==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-horizontal-rule/-/extension-horizontal-rule-2.0.3.tgz", + "integrity": "sha512-SZRUSh07b/M0kJHNKnfBwBMWrZBEm/E2LrK1NbluwT3DBhE+gvwiEdBxgB32zKHNxaDEXUJwUIPNC3JSbKvPUA==", "dev": true, "funding": { "type": "github", @@ -5945,9 +5945,9 @@ } }, "node_modules/@tiptap/extension-image": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@tiptap/extension-image/-/extension-image-2.0.1.tgz", - "integrity": "sha512-FMXY0Y3nsDtAb1gNGidNhXnyJTZw6bOwYXg6jEV/K05HIz/svMQVkXLR04vSKczr7DWnlOmaJiqzge9Hc9WJ9Q==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-image/-/extension-image-2.0.3.tgz", + "integrity": "sha512-hS9ZJwz0md07EHsC+o4NuuJkhCZsZn7TuRz/2CvRSj2fWFIz+40CyNAHf/2J0qNugG9ommXaemetsADeEZP9ag==", "dev": true, "funding": { "type": "github", @@ -5958,9 +5958,9 @@ } }, "node_modules/@tiptap/extension-italic": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@tiptap/extension-italic/-/extension-italic-2.0.1.tgz", - "integrity": "sha512-lVIyKa3qjqD4rUKSzVghkS5xonJ8k+msvy5Sr5xd6duwEBOk7e0oKtXmdn7B1VBH64i/U3Cx0QRgDlEyukvV2Q==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-italic/-/extension-italic-2.0.3.tgz", + "integrity": "sha512-cfS5sW0gu7qf4ihwnLtW/QMTBrBEXaT0sJl3RwkhjIBg/65ywJKE5Nz9ewnQHmDeT18hvMJJ1VIb4j4ze9jj9A==", "dev": true, "funding": { "type": "github", @@ -5971,9 +5971,9 @@ } }, "node_modules/@tiptap/extension-link": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@tiptap/extension-link/-/extension-link-2.0.1.tgz", - "integrity": "sha512-C1m5UJEiRvuqTthGcSVGcg3+vMZLC1tELmxuA+YdHti3ZfZi1hAZc4dwWzOp6RcXdEljmHCCXOs6G5WQH1mReQ==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-link/-/extension-link-2.0.3.tgz", + "integrity": "sha512-H72tXQ5rkVCkAhFaf08fbEU7EBUCK0uocsqOF+4th9sOlrhfgyJtc8Jv5EXPDpxNgG5jixSqWBo0zKXQm9s9eg==", "dev": true, "dependencies": { "linkifyjs": "^4.1.0" @@ -5988,9 +5988,9 @@ } }, "node_modules/@tiptap/extension-list-item": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@tiptap/extension-list-item/-/extension-list-item-2.0.1.tgz", - "integrity": "sha512-WxLRcwhMGp12+hV1nLTRVxPJ3ZsjLzA3tyaYySBf6IQpmoikH8DbzvprwV30lHfYbZvcQWQJx3ECIcQdGbtPPg==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-list-item/-/extension-list-item-2.0.3.tgz", + "integrity": "sha512-p7cUsk0LpM1PfdAuFE8wYBNJ3gvA0UhNGR08Lo++rt9UaCeFLSN1SXRxg97c0oa5+Ski7SrCjIJ5Ynhz0viTjQ==", "dev": true, "funding": { "type": "github", @@ -6001,9 +6001,9 @@ } }, "node_modules/@tiptap/extension-ordered-list": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@tiptap/extension-ordered-list/-/extension-ordered-list-2.0.1.tgz", - "integrity": "sha512-7Q3hqAy2TYZ1p3J0GtEDcUJrbC/NxzWNF1H4zKW3VQGQhffUDNgHBk4uCLLVyf1A3vm50JmEAwQFrrwoozFmqQ==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-ordered-list/-/extension-ordered-list-2.0.3.tgz", + "integrity": "sha512-ZB3MpZh/GEy1zKgw7XDQF4FIwycZWNof1k9WbDZOI063Ch4qHZowhVttH2mTCELuyvTMM/o9a8CS7qMqQB48bw==", "dev": true, "funding": { "type": "github", @@ -6014,9 +6014,9 @@ } }, "node_modules/@tiptap/extension-paragraph": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@tiptap/extension-paragraph/-/extension-paragraph-2.0.1.tgz", - "integrity": "sha512-fVr5BZ7glyf/80vIO+GSQdeIcTvuXKGW9QvU0Mw8y1ek9Edd3MLWMxKdDurTswApnxIluvJFjmzp4XEogHHlhg==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-paragraph/-/extension-paragraph-2.0.3.tgz", + "integrity": "sha512-a+tKtmj4bU3GVCH1NE8VHWnhVexxX5boTVxsHIr4yGG3UoKo1c5AO7YMaeX2W5xB5iIA+BQqOPCDPEAx34dd2A==", "dev": true, "funding": { "type": "github", @@ -6027,9 +6027,9 @@ } }, "node_modules/@tiptap/extension-placeholder": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@tiptap/extension-placeholder/-/extension-placeholder-2.0.1.tgz", - "integrity": "sha512-Jc0SrZw6HQ6Ddxr58SAAw5QPYh2pgjc1OSfrKn7+zBzcZDMFLWWgx9lTRwlR5L5VqTEuWqatJCfDrgjbnE4hLw==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-placeholder/-/extension-placeholder-2.0.3.tgz", + "integrity": "sha512-Z42jo0termRAf0S0L8oxrts94IWX5waU4isS2CUw8xCUigYyCFslkhQXkWATO1qRbjNFLKN2C9qvCgGf4UeBrw==", "dev": true, "funding": { "type": "github", @@ -6041,9 +6041,9 @@ } }, "node_modules/@tiptap/extension-strike": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@tiptap/extension-strike/-/extension-strike-2.0.1.tgz", - "integrity": "sha512-gHNO47T5tbeFzhjJUn2Ob5RrqkG4joVyvUv3fFkSqpNngTIcqT5hJ7A3tDj2CKQGmUpU5SxM68sHMoIGpXdWIQ==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-strike/-/extension-strike-2.0.3.tgz", + "integrity": "sha512-RO4/EYe2iPD6ifDHORT8fF6O9tfdtnzxLGwZIKZXnEgtweH+MgoqevEzXYdS+54Wraq4TUQGNcsYhe49pv7Rlw==", "dev": true, "funding": { "type": "github", @@ -6054,9 +6054,9 @@ } }, "node_modules/@tiptap/extension-text": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@tiptap/extension-text/-/extension-text-2.0.1.tgz", - "integrity": "sha512-jwfpf71JZn04T4xcOMGJXCHTZoyvVtBusn6ZyRSQT4cVnDUgWcIbmIW5xccvGy8klBepBDS2ff+Nce3pxQnqug==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-text/-/extension-text-2.0.3.tgz", + "integrity": "sha512-LvzChcTCcPSMNLUjZe/A9SHXWGDHtvk73fR7CBqAeNU0MxhBPEBI03GFQ6RzW3xX0CmDmjpZoDxFMB+hDEtW1A==", "dev": true, "funding": { "type": "github", @@ -6067,9 +6067,9 @@ } }, "node_modules/@tiptap/extension-underline": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@tiptap/extension-underline/-/extension-underline-2.0.1.tgz", - "integrity": "sha512-y36CDKqXAOHKNNEZsku34okz/9j1VF3NtB0CyvbP/2xW4s5KXSj0ywTUZPqqK+fuN4YNUoENoykwsd0cnL/oNg==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-underline/-/extension-underline-2.0.3.tgz", + "integrity": "sha512-oMYa7qib/5wJjpUp79GZEe+E/iyf1oZBsgiG26IspEtVTHZmpn3+Ktud7l43y/hpTeEzFTKOF1/uVbayHtSERg==", "dev": true, "funding": { "type": "github", @@ -6080,9 +6080,9 @@ } }, "node_modules/@tiptap/extension-youtube": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@tiptap/extension-youtube/-/extension-youtube-2.0.1.tgz", - "integrity": "sha512-EiQI9e01f+ae8NVD1wNeoIb4XvB3hRKUEoCcnXfHQpDhq64jtsdQTXkOqHL/NDPMlQZftLNV4IjqWNUub1zPpQ==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-youtube/-/extension-youtube-2.0.3.tgz", + "integrity": "sha512-iZsMr+88I3hvfbJNLmiPsz2/8ZGpMucyCxRbrZGg1D6wBw4oiUhRPHzGJ3APlECzpanCjyQNMHIk/gvSDDX3ig==", "dev": true, "funding": { "type": "github", @@ -21210,17 +21210,17 @@ } }, "node_modules/solid-tiptap": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/solid-tiptap/-/solid-tiptap-0.5.1.tgz", - "integrity": "sha512-Ced19tF2iJZeZwk1Q5Hne+UaIy3dQxwBLNSfq+IkT3xffMlu2t2YXWSUWadRh85xgPw0hFwHiSEG2SPhhtV/0w==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/solid-tiptap/-/solid-tiptap-0.6.0.tgz", + "integrity": "sha512-79soXY4lSGkCdlfKalawGyvPE0kOvrKd7w9Zy3o3MY4dppti5Yd2RUVqyNPtYPpvCyqaLg+kofq81RRGl/Ql4Q==", "dev": true, "engines": { "node": ">=10" }, "peerDependencies": { - "@tiptap/core": "^2.0.0-beta.220", - "@tiptap/pm": "^2.0.0-beta.220", - "solid-js": "^1.2" + "@tiptap/core": "^2", + "@tiptap/pm": "^2", + "solid-js": "^1.7" } }, "node_modules/solid-transition-group": { @@ -26625,19 +26625,19 @@ "requires": {} }, "@hocuspocus/common": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@hocuspocus/common/-/common-2.0.1.tgz", - "integrity": "sha512-KHF/e4LgE5C+df0Jgo+nZz19vfS9pQ13lrWBeynxYzmcpMln++U4TUZeZMSqlSTS/njg/LwDN/KdRxw6MZeR/g==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@hocuspocus/common/-/common-2.0.3.tgz", + "integrity": "sha512-m+aFLDuO/miQCcPNL4GtIVa2NFegoh6mkZ6Y6+ogOoIlI9MY7uvhJQziPDgZ7SQ9nlROUzc015hX/QpJWjZL4A==", "requires": { "lib0": "^0.2.47" } }, "@hocuspocus/provider": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@hocuspocus/provider/-/provider-2.0.1.tgz", - "integrity": "sha512-3IFn8oFlGEPQhzswiCrMjuBa1+qKPphr2In8iSgkjZFfMiSDobAfYvQj281dZf7vuKZZ1rFn/s55TAWhDCAy0w==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@hocuspocus/provider/-/provider-2.0.3.tgz", + "integrity": "sha512-dPw0cYdBvKggqIWJyRK5i2u4wrndC/A3nFqmFhZUuPo5GuRKNHMCjX8z5wSFNS2vsHELMFsxmnm1+TnB2cAP2w==", "requires": { - "@hocuspocus/common": "^2.0.1", + "@hocuspocus/common": "^2.0.3", "@lifeomic/attempt": "^3.0.2", "lib0": "^0.2.47", "ws": "^7.5.9" @@ -27624,211 +27624,211 @@ "requires": {} }, "@tiptap/core": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@tiptap/core/-/core-2.0.1.tgz", - "integrity": "sha512-IY5K17e1YdlJIykCt3NuOyqK/SHyGwk2X7eyLYfZJGJwqzuPuf3y8X1zZQQN53t5UVfsgqsF9RweVEee40o1Aw==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/core/-/core-2.0.3.tgz", + "integrity": "sha512-jLyVIWAdjjlNzrsRhSE2lVL/7N8228/1R1QtaVU85UlMIwHFAcdzhD8FeiKkqxpTnGpaDVaTy7VNEtEgaYdCyA==", "dev": true, "requires": {} }, "@tiptap/extension-blockquote": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@tiptap/extension-blockquote/-/extension-blockquote-2.0.1.tgz", - "integrity": "sha512-j4n5iTeBc/YIoW83nZPoc1/fKeoA32tPaOH/quQdtkBgXEM9r4PiK7NfsJxbFq7UGk0oa3ibRSiBxzODgZIVlw==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-blockquote/-/extension-blockquote-2.0.3.tgz", + "integrity": "sha512-rkUcFv2iL6f86DBBHoa4XdKNG2StvkJ7tfY9GoMpT46k3nxOaMTqak9/qZOo79TWxMLYtXzoxtKIkmWsbbcj4A==", "dev": true, "requires": {} }, "@tiptap/extension-bold": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@tiptap/extension-bold/-/extension-bold-2.0.1.tgz", - "integrity": "sha512-SYzs0e3FcAmJbYQkQ+LLRnoBNrFvG0i2zc+lFbrSYVCiEpqb5QPz5mgmQvnrH/Sl89WewnoeMu7pLqVEpfAWuw==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-bold/-/extension-bold-2.0.3.tgz", + "integrity": "sha512-OGT62fMRovSSayjehumygFWTg2Qn0IDbqyMpigg/RUAsnoOI2yBZFVrdM2gk1StyoSay7gTn2MLw97IUfr7FXg==", "dev": true, "requires": {} }, "@tiptap/extension-bubble-menu": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@tiptap/extension-bubble-menu/-/extension-bubble-menu-2.0.1.tgz", - "integrity": "sha512-ZA8T7+yjlHzEjBeOlWAqz/9XvBb/rJ7/PiYjM57UXuT/ZgPMPL7KXI/KtS7vaRCnmKaGL6EJ1tBcZhjU24vNzA==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-bubble-menu/-/extension-bubble-menu-2.0.3.tgz", + "integrity": "sha512-lPt1ELrYCuoQrQEUukqjp9xt38EwgPUwaKHI3wwt2Rbv+C6q1gmRsK1yeO/KqCNmFxNqF2p9ZF9srOnug/RZDQ==", "dev": true, "requires": { "tippy.js": "^6.3.7" } }, "@tiptap/extension-bullet-list": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@tiptap/extension-bullet-list/-/extension-bullet-list-2.0.1.tgz", - "integrity": "sha512-IniXv9VgHkyWF2wJKxoILhNnJPwWNlIRW2LNSlXzkl70k0BsPGcAfiEIJtPqpVwh03QPc5v1y5UeuOOO6VQbqA==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-bullet-list/-/extension-bullet-list-2.0.3.tgz", + "integrity": "sha512-RtaLiRvZbMTOje+FW5bn+mYogiIgNxOm065wmyLPypnTbLSeHeYkoqVSqzZeqUn+7GLnwgn1shirUe6csVE/BA==", "dev": true, "requires": {} }, "@tiptap/extension-character-count": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@tiptap/extension-character-count/-/extension-character-count-2.0.1.tgz", - "integrity": "sha512-mvSD7dTU/NhxQwcQyignDgtzXIf9iwAdfn0lyWOnbzjyUxMpS7cVqXZ1ZsjNRWxThpOeoiw4TjYRMMcfZfSlWQ==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-character-count/-/extension-character-count-2.0.3.tgz", + "integrity": "sha512-Ge4aUmgYOmQR/HLPkbQSFKEywyRu6IalHAQmH3laY6LB9qrmT90AoaiFnaVCDpphYFQ7RygnBXJMgjtJ3WpZmw==", "dev": true, "requires": {} }, "@tiptap/extension-collaboration": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@tiptap/extension-collaboration/-/extension-collaboration-2.0.1.tgz", - "integrity": "sha512-317mxt/UymuQ+bWBz8h/p1IvPM+CPYH7b7jrcJhVgk1zFSsMr/6KfI0fHQJTM9Llfh1u+PD8Tk9Y9ChBYx5yIQ==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-collaboration/-/extension-collaboration-2.0.3.tgz", + "integrity": "sha512-oA+5Dx+L1GfFrP2tUol8lfKNrLitYgHBaBJbAiqh/QPKVuUiEWgFS2W1oYaSGmwYjzdPCVJqXyQLzSJvEdnBWQ==", "dev": true, "requires": {} }, "@tiptap/extension-collaboration-cursor": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@tiptap/extension-collaboration-cursor/-/extension-collaboration-cursor-2.0.1.tgz", - "integrity": "sha512-BdwQkvLk/+qY3G1SU5J5psEA1EJf1LNt7Tk/xqWoYEcbfAlXGI09Xcz8gGuYZc6tF6f0BekrfeHdPAAQ94iwpQ==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-collaboration-cursor/-/extension-collaboration-cursor-2.0.3.tgz", + "integrity": "sha512-pBcsk3ZkK8IQK6UP/a7Y4rjZRW/anhxFaTCcTxrUvn/azqRI+mcCsRwbc5lNLzcYq5JVOHGROjriNmGGkIr5jA==", "dev": true, "requires": {} }, "@tiptap/extension-document": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@tiptap/extension-document/-/extension-document-2.0.1.tgz", - "integrity": "sha512-9T14qBa6uKieJ+FCGm0nL9o8LTjwqlfc2pYQkkjXXWFivMXoVeL9rVIlarANgbJZKYsZ4L5tkyXcKQ32nZmMjg==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-document/-/extension-document-2.0.3.tgz", + "integrity": "sha512-PsYeNQQBYIU9ayz1R11Kv/kKNPFNIV8tApJ9pxelXjzcAhkjncNUazPN/dyho60mzo+WpsmS3ceTj/gK3bCtWA==", "dev": true, "requires": {} }, "@tiptap/extension-dropcursor": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@tiptap/extension-dropcursor/-/extension-dropcursor-2.0.1.tgz", - "integrity": "sha512-OuqMhj13hPSdxc6G3xDmGvwe3AfczMQjAoSPakNW9pSSzrjJJa3Tr08kI+TyZDUm3vKM4af+lL/oCeXSupGAbQ==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-dropcursor/-/extension-dropcursor-2.0.3.tgz", + "integrity": "sha512-McthMrfusn6PjcaynJLheZJcXto8TaIW5iVitYh8qQrDXr31MALC/5GvWuiswmQ8bAXiWPwlLDYE/OJfwtggaw==", "dev": true, "requires": {} }, "@tiptap/extension-floating-menu": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@tiptap/extension-floating-menu/-/extension-floating-menu-2.0.1.tgz", - "integrity": "sha512-gOf7FyromNyQpdaU/MWV99KMu6vypN+IlK8ViCBPvcM7w+e5eTh39wY/u5OquM7LsXd8KXLC2neq1XzQsAVmzw==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-floating-menu/-/extension-floating-menu-2.0.3.tgz", + "integrity": "sha512-zN1vRGRvyK3pO2aHRmQSOTpl4UJraXYwKYM009n6WviYKUNm0LPGo+VD4OAtdzUhPXyccnlsTv2p6LIqFty6Bg==", "dev": true, "requires": { "tippy.js": "^6.3.7" } }, "@tiptap/extension-focus": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@tiptap/extension-focus/-/extension-focus-2.0.1.tgz", - "integrity": "sha512-/G+V2JG4GvhVv1+diZBNTdkKcictSJuygRHDqkAgm44nfvyUUQ0odqknpDSIV1pvSjukgcBxlcFedgdgcFrqyg==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-focus/-/extension-focus-2.0.3.tgz", + "integrity": "sha512-WTJEmbGyHK8F/v1k5/5viLAa7PqtNoWOO4Qt4PBoUPlFDW97QMEh5m8Cvqw/RtbxTiGDHz6T+I5IJsKXGJed/A==", "dev": true, "requires": {} }, "@tiptap/extension-gapcursor": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@tiptap/extension-gapcursor/-/extension-gapcursor-2.0.1.tgz", - "integrity": "sha512-NZbT4BIpXlf3gxqQMsZ173bJreGfr43eBwR/tJ8nBLcgBmFKiDfRTW3Whj7+EGD6Ek6rqUX0EekKG93Wes+I4w==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-gapcursor/-/extension-gapcursor-2.0.3.tgz", + "integrity": "sha512-6I9EzzsYOyyqDvDvxIK6Rv3EXB+fHKFj8ntHO8IXmeNJ6pkhOinuXVsW6Yo7TcDYoTj4D5I2MNFAW2rIkgassw==", "dev": true, "requires": {} }, "@tiptap/extension-hard-break": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@tiptap/extension-hard-break/-/extension-hard-break-2.0.1.tgz", - "integrity": "sha512-H8NdmOuYehuMMRd0iWOeyN8ukAebqu6BWbDiZUKm+yx+1b7woadVofojLnGlreQT2II3cC4g8D9J7JfrcQtbyg==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-hard-break/-/extension-hard-break-2.0.3.tgz", + "integrity": "sha512-RCln6ARn16jvKTjhkcAD5KzYXYS0xRMc0/LrHeV8TKdCd4Yd0YYHe0PU4F9gAgAfPQn7Dgt4uTVJLN11ICl8sQ==", "dev": true, "requires": {} }, "@tiptap/extension-heading": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@tiptap/extension-heading/-/extension-heading-2.0.1.tgz", - "integrity": "sha512-JkwlePSyDraVrWisr5lE/yqK4FXm5YSiiQiIo/1W9vFLdMPsAbRCSZrBO4fV7gyppbFgQQikEWDgxYHshq/TOg==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-heading/-/extension-heading-2.0.3.tgz", + "integrity": "sha512-f0IEv5ms6aCzL80WeZ1qLCXTkRVwbpRr1qAETjg3gG4eoJN18+lZNOJYpyZy3P92C5KwF2T3Av00eFyVLIbb8Q==", "dev": true, "requires": {} }, "@tiptap/extension-highlight": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@tiptap/extension-highlight/-/extension-highlight-2.0.1.tgz", - "integrity": "sha512-k9rJnAGzjXWQSN3RqSVPQfsbtFAgZu2AnwSFH2VQ2Ea7oiAUOaD7Qcqrs0PLo/CxLEuWPAbULNngXUXZVseMBA==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-highlight/-/extension-highlight-2.0.3.tgz", + "integrity": "sha512-NrtibY8cZkIjZMQuHRrKd4php+plOvAoSo8g3uVFu275I/Ixt5HqJ53R4voCXs8W8BOBRs2HS2QX8Cjh79XhtA==", "dev": true, "requires": {} }, "@tiptap/extension-history": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@tiptap/extension-history/-/extension-history-2.0.1.tgz", - "integrity": "sha512-nT4XbZUEyi+xSnwIeG+JqfHmWhF+amCwYsr7oYM/oa/BFDGaRHaNIrS3D+DpzjRrKguuLDxyhZkJEu1K2Rjsqw==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-history/-/extension-history-2.0.3.tgz", + "integrity": "sha512-00KHIcJ8kivn2ARI6NQYphv2LfllVCXViHGm0EhzDW6NQxCrriJKE3tKDcTFCu7LlC5doMpq9Z6KXdljc4oVeQ==", "dev": true, "requires": {} }, "@tiptap/extension-horizontal-rule": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@tiptap/extension-horizontal-rule/-/extension-horizontal-rule-2.0.1.tgz", - "integrity": "sha512-JNgu0ioOBhn3Djn8vd41y3DrqeEfWMLIWNRVO81OqQRvWZhpRwIUuDoRrzR45wxjymq9flc+iz7zuFW1kszpQA==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-horizontal-rule/-/extension-horizontal-rule-2.0.3.tgz", + "integrity": "sha512-SZRUSh07b/M0kJHNKnfBwBMWrZBEm/E2LrK1NbluwT3DBhE+gvwiEdBxgB32zKHNxaDEXUJwUIPNC3JSbKvPUA==", "dev": true, "requires": {} }, "@tiptap/extension-image": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@tiptap/extension-image/-/extension-image-2.0.1.tgz", - "integrity": "sha512-FMXY0Y3nsDtAb1gNGidNhXnyJTZw6bOwYXg6jEV/K05HIz/svMQVkXLR04vSKczr7DWnlOmaJiqzge9Hc9WJ9Q==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-image/-/extension-image-2.0.3.tgz", + "integrity": "sha512-hS9ZJwz0md07EHsC+o4NuuJkhCZsZn7TuRz/2CvRSj2fWFIz+40CyNAHf/2J0qNugG9ommXaemetsADeEZP9ag==", "dev": true, "requires": {} }, "@tiptap/extension-italic": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@tiptap/extension-italic/-/extension-italic-2.0.1.tgz", - "integrity": "sha512-lVIyKa3qjqD4rUKSzVghkS5xonJ8k+msvy5Sr5xd6duwEBOk7e0oKtXmdn7B1VBH64i/U3Cx0QRgDlEyukvV2Q==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-italic/-/extension-italic-2.0.3.tgz", + "integrity": "sha512-cfS5sW0gu7qf4ihwnLtW/QMTBrBEXaT0sJl3RwkhjIBg/65ywJKE5Nz9ewnQHmDeT18hvMJJ1VIb4j4ze9jj9A==", "dev": true, "requires": {} }, "@tiptap/extension-link": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@tiptap/extension-link/-/extension-link-2.0.1.tgz", - "integrity": "sha512-C1m5UJEiRvuqTthGcSVGcg3+vMZLC1tELmxuA+YdHti3ZfZi1hAZc4dwWzOp6RcXdEljmHCCXOs6G5WQH1mReQ==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-link/-/extension-link-2.0.3.tgz", + "integrity": "sha512-H72tXQ5rkVCkAhFaf08fbEU7EBUCK0uocsqOF+4th9sOlrhfgyJtc8Jv5EXPDpxNgG5jixSqWBo0zKXQm9s9eg==", "dev": true, "requires": { "linkifyjs": "^4.1.0" } }, "@tiptap/extension-list-item": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@tiptap/extension-list-item/-/extension-list-item-2.0.1.tgz", - "integrity": "sha512-WxLRcwhMGp12+hV1nLTRVxPJ3ZsjLzA3tyaYySBf6IQpmoikH8DbzvprwV30lHfYbZvcQWQJx3ECIcQdGbtPPg==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-list-item/-/extension-list-item-2.0.3.tgz", + "integrity": "sha512-p7cUsk0LpM1PfdAuFE8wYBNJ3gvA0UhNGR08Lo++rt9UaCeFLSN1SXRxg97c0oa5+Ski7SrCjIJ5Ynhz0viTjQ==", "dev": true, "requires": {} }, "@tiptap/extension-ordered-list": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@tiptap/extension-ordered-list/-/extension-ordered-list-2.0.1.tgz", - "integrity": "sha512-7Q3hqAy2TYZ1p3J0GtEDcUJrbC/NxzWNF1H4zKW3VQGQhffUDNgHBk4uCLLVyf1A3vm50JmEAwQFrrwoozFmqQ==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-ordered-list/-/extension-ordered-list-2.0.3.tgz", + "integrity": "sha512-ZB3MpZh/GEy1zKgw7XDQF4FIwycZWNof1k9WbDZOI063Ch4qHZowhVttH2mTCELuyvTMM/o9a8CS7qMqQB48bw==", "dev": true, "requires": {} }, "@tiptap/extension-paragraph": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@tiptap/extension-paragraph/-/extension-paragraph-2.0.1.tgz", - "integrity": "sha512-fVr5BZ7glyf/80vIO+GSQdeIcTvuXKGW9QvU0Mw8y1ek9Edd3MLWMxKdDurTswApnxIluvJFjmzp4XEogHHlhg==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-paragraph/-/extension-paragraph-2.0.3.tgz", + "integrity": "sha512-a+tKtmj4bU3GVCH1NE8VHWnhVexxX5boTVxsHIr4yGG3UoKo1c5AO7YMaeX2W5xB5iIA+BQqOPCDPEAx34dd2A==", "dev": true, "requires": {} }, "@tiptap/extension-placeholder": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@tiptap/extension-placeholder/-/extension-placeholder-2.0.1.tgz", - "integrity": "sha512-Jc0SrZw6HQ6Ddxr58SAAw5QPYh2pgjc1OSfrKn7+zBzcZDMFLWWgx9lTRwlR5L5VqTEuWqatJCfDrgjbnE4hLw==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-placeholder/-/extension-placeholder-2.0.3.tgz", + "integrity": "sha512-Z42jo0termRAf0S0L8oxrts94IWX5waU4isS2CUw8xCUigYyCFslkhQXkWATO1qRbjNFLKN2C9qvCgGf4UeBrw==", "dev": true, "requires": {} }, "@tiptap/extension-strike": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@tiptap/extension-strike/-/extension-strike-2.0.1.tgz", - "integrity": "sha512-gHNO47T5tbeFzhjJUn2Ob5RrqkG4joVyvUv3fFkSqpNngTIcqT5hJ7A3tDj2CKQGmUpU5SxM68sHMoIGpXdWIQ==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-strike/-/extension-strike-2.0.3.tgz", + "integrity": "sha512-RO4/EYe2iPD6ifDHORT8fF6O9tfdtnzxLGwZIKZXnEgtweH+MgoqevEzXYdS+54Wraq4TUQGNcsYhe49pv7Rlw==", "dev": true, "requires": {} }, "@tiptap/extension-text": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@tiptap/extension-text/-/extension-text-2.0.1.tgz", - "integrity": "sha512-jwfpf71JZn04T4xcOMGJXCHTZoyvVtBusn6ZyRSQT4cVnDUgWcIbmIW5xccvGy8klBepBDS2ff+Nce3pxQnqug==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-text/-/extension-text-2.0.3.tgz", + "integrity": "sha512-LvzChcTCcPSMNLUjZe/A9SHXWGDHtvk73fR7CBqAeNU0MxhBPEBI03GFQ6RzW3xX0CmDmjpZoDxFMB+hDEtW1A==", "dev": true, "requires": {} }, "@tiptap/extension-underline": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@tiptap/extension-underline/-/extension-underline-2.0.1.tgz", - "integrity": "sha512-y36CDKqXAOHKNNEZsku34okz/9j1VF3NtB0CyvbP/2xW4s5KXSj0ywTUZPqqK+fuN4YNUoENoykwsd0cnL/oNg==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-underline/-/extension-underline-2.0.3.tgz", + "integrity": "sha512-oMYa7qib/5wJjpUp79GZEe+E/iyf1oZBsgiG26IspEtVTHZmpn3+Ktud7l43y/hpTeEzFTKOF1/uVbayHtSERg==", "dev": true, "requires": {} }, "@tiptap/extension-youtube": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@tiptap/extension-youtube/-/extension-youtube-2.0.1.tgz", - "integrity": "sha512-EiQI9e01f+ae8NVD1wNeoIb4XvB3hRKUEoCcnXfHQpDhq64jtsdQTXkOqHL/NDPMlQZftLNV4IjqWNUub1zPpQ==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-youtube/-/extension-youtube-2.0.3.tgz", + "integrity": "sha512-iZsMr+88I3hvfbJNLmiPsz2/8ZGpMucyCxRbrZGg1D6wBw4oiUhRPHzGJ3APlECzpanCjyQNMHIk/gvSDDX3ig==", "dev": true, "requires": {} }, @@ -38917,9 +38917,9 @@ } }, "solid-tiptap": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/solid-tiptap/-/solid-tiptap-0.5.1.tgz", - "integrity": "sha512-Ced19tF2iJZeZwk1Q5Hne+UaIy3dQxwBLNSfq+IkT3xffMlu2t2YXWSUWadRh85xgPw0hFwHiSEG2SPhhtV/0w==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/solid-tiptap/-/solid-tiptap-0.6.0.tgz", + "integrity": "sha512-79soXY4lSGkCdlfKalawGyvPE0kOvrKd7w9Zy3o3MY4dppti5Yd2RUVqyNPtYPpvCyqaLg+kofq81RRGl/Ql4Q==", "dev": true, "requires": {} }, diff --git a/package.json b/package.json index 42f8aff3..ee9657ea 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ "@aws-sdk/abort-controller": "3.303.0", "@aws-sdk/client-s3": "3.303.0", "@aws-sdk/lib-storage": "3.303.0", - "@hocuspocus/provider": "2.0.1", + "@hocuspocus/provider": "2.0.3", "formidable": "2.1.1", "i18next": "22.4.13", "mailgun.js": "8.2.1", @@ -56,35 +56,35 @@ "@solid-primitives/upload": "0.0.110", "@solidjs/meta": "0.28.2", "@thisbeyond/solid-select": "0.13.0", - "@tiptap/core": "2.0.1", - "@tiptap/extension-blockquote": "2.0.1", - "@tiptap/extension-bold": "2.0.1", - "@tiptap/extension-bubble-menu": "2.0.1", - "@tiptap/extension-bullet-list": "2.0.1", - "@tiptap/extension-character-count": "2.0.1", - "@tiptap/extension-collaboration": "2.0.1", - "@tiptap/extension-collaboration-cursor": "2.0.1", - "@tiptap/extension-document": "2.0.1", - "@tiptap/extension-dropcursor": "2.0.1", - "@tiptap/extension-floating-menu": "2.0.1", - "@tiptap/extension-focus": "2.0.1", - "@tiptap/extension-gapcursor": "2.0.1", - "@tiptap/extension-hard-break": "2.0.1", - "@tiptap/extension-heading": "2.0.1", - "@tiptap/extension-highlight": "2.0.1", - "@tiptap/extension-history": "2.0.1", - "@tiptap/extension-horizontal-rule": "2.0.1", - "@tiptap/extension-image": "2.0.1", - "@tiptap/extension-italic": "2.0.1", - "@tiptap/extension-link": "2.0.1", - "@tiptap/extension-list-item": "2.0.1", - "@tiptap/extension-ordered-list": "2.0.1", - "@tiptap/extension-paragraph": "2.0.1", - "@tiptap/extension-placeholder": "2.0.1", - "@tiptap/extension-strike": "2.0.1", - "@tiptap/extension-text": "2.0.1", - "@tiptap/extension-underline": "2.0.1", - "@tiptap/extension-youtube": "2.0.1", + "@tiptap/core": "2.0.3", + "@tiptap/extension-blockquote": "2.0.3", + "@tiptap/extension-bold": "2.0.3", + "@tiptap/extension-bubble-menu": "2.0.3", + "@tiptap/extension-bullet-list": "2.0.3", + "@tiptap/extension-character-count": "2.0.3", + "@tiptap/extension-collaboration": "2.0.3", + "@tiptap/extension-collaboration-cursor": "2.0.3", + "@tiptap/extension-document": "2.0.3", + "@tiptap/extension-dropcursor": "2.0.3", + "@tiptap/extension-floating-menu": "2.0.3", + "@tiptap/extension-focus": "2.0.3", + "@tiptap/extension-gapcursor": "2.0.3", + "@tiptap/extension-hard-break": "2.0.3", + "@tiptap/extension-heading": "2.0.3", + "@tiptap/extension-highlight": "2.0.3", + "@tiptap/extension-history": "2.0.3", + "@tiptap/extension-horizontal-rule": "2.0.3", + "@tiptap/extension-image": "2.0.3", + "@tiptap/extension-italic": "2.0.3", + "@tiptap/extension-link": "2.0.3", + "@tiptap/extension-list-item": "2.0.3", + "@tiptap/extension-ordered-list": "2.0.3", + "@tiptap/extension-paragraph": "2.0.3", + "@tiptap/extension-placeholder": "2.0.3", + "@tiptap/extension-strike": "2.0.3", + "@tiptap/extension-text": "2.0.3", + "@tiptap/extension-underline": "2.0.3", + "@tiptap/extension-youtube": "2.0.3", "@types/express": "4.17.17", "@types/node": "18.15.11", "@types/uuid": "9.0.1", @@ -151,7 +151,7 @@ "rollup-plugin-visualizer": "5.9.0", "sass": "1.60.0", "solid-js": "1.7.0", - "solid-tiptap": "0.5.1", + "solid-tiptap": "0.6.0", "solid-transition-group": "0.2.2", "sort-package-json": "2.4.1", "stylelint": "15.3.0", diff --git a/src/components/Editor/Editor.tsx b/src/components/Editor/Editor.tsx index bd3db52e..b2039eec 100644 --- a/src/components/Editor/Editor.tsx +++ b/src/components/Editor/Editor.tsx @@ -1,4 +1,3 @@ -import { createEffect } from 'solid-js' import { createTiptapEditor, useEditorHTML } from 'solid-tiptap' import { useLocalize } from '../../context/localize' import { Blockquote } from '@tiptap/extension-blockquote' @@ -89,6 +88,7 @@ export const Editor = (props: EditorProps) => { const editor = createTiptapEditor(() => ({ element: editorElRef.current, content: props.initialContent, + //onTransaction: handleEditorTransaction, extensions: [ Document, Text, @@ -106,15 +106,6 @@ export const Editor = (props: EditorProps) => { Heading.configure({ levels: [1, 2, 3] }), - BubbleMenu.configure({ - element: bubbleMenuRef.current - }), - FloatingMenu.configure({ - tippyOptions: { - placement: 'left' - }, - element: floatingMenuRef.current - }), BulletList, OrderedList, ListItem, @@ -138,16 +129,19 @@ export const Editor = (props: EditorProps) => { Highlight, Image, Youtube, - TrailingNode + TrailingNode, + BubbleMenu.configure({ + element: bubbleMenuRef.current + }), + FloatingMenu.configure({ + tippyOptions: { + placement: 'left' + }, + element: floatingMenuRef.current + }) ] })) - const html = useEditorHTML(() => editor()) - - createEffect(() => { - props.onChange(html()) - }) - return ( <>
(editorElRef.current = el)} /> diff --git a/src/components/Nav/HeaderAuth.tsx b/src/components/Nav/HeaderAuth.tsx index 0bbfa7e9..10153a3b 100644 --- a/src/components/Nav/HeaderAuth.tsx +++ b/src/components/Nav/HeaderAuth.tsx @@ -3,7 +3,7 @@ import { clsx } from 'clsx' import { router, useRouter } from '../../stores/router' import { Icon } from '../_shared/Icon' -import { createSignal, Show } from 'solid-js' +import { createMemo, createSignal, Show } from 'solid-js' import Notifications from './Notifications' import { ProfilePopup } from './ProfilePopup' import Userpic from '../Author/Userpic' @@ -40,12 +40,18 @@ export const HeaderAuth = (props: HeaderAuthProps) => { toggleWarnings() } + const isEditorPage = createMemo(() => page().route === 'create' || page().route === 'edit') + + const showNotifications = createMemo(() => isAuthenticated() && !isEditorPage()) + const showSaveButton = createMemo(() => isAuthenticated() && isEditorPage()) + const showCreatePostButton = createMemo(() => isAuthenticated() && !isEditorPage()) + return (
- + - +
@@ -64,7 +70,7 @@ export const HeaderAuth = (props: HeaderAuthProps) => {
- +
diff --git a/src/components/Views/Edit.tsx b/src/components/Views/Edit.tsx index ee6c2f89..ca93c713 100644 --- a/src/components/Views/Edit.tsx +++ b/src/components/Views/Edit.tsx @@ -55,18 +55,14 @@ export const EditView = (props: EditViewProps) => { const handleFormSubmit = async (e) => { e.preventDefault() - // const newShout = await apiClient.updateArticle({ - // article: { - // slug: form.slug, - // title: form.title, - // subtitle: form.subtitle, - // body: form.body, - // topics: form.selectedTopics.map((topic) => topic.slug), - // mainTopic: form.selectedTopics[0].slug - // } - // }) + const article = await apiClient.updateArticle({ + article: { + slug: props.shout.slug, + visibility: 'community' + } + }) - // openPage(getPagePath(router, 'article', { slug: newShout.slug })) + openPage(router, 'article', { slug: article.slug }) } const handleTitleInputChange = (e) => { @@ -92,6 +88,24 @@ export const EditView = (props: EditViewProps) => { setIsEditorPanelOPened(!isEditorPanelOPened()) } + const handleSaveButtonClick = async (e) => { + e.preventDefault() + + await apiClient.updateArticle({ + slug: props.shout.slug, + article: { + slug: form.slug, + title: form.title, + subtitle: form.subtitle, + body: form.body, + topics: form.selectedTopics.map((topic) => topic.slug), + mainTopic: form.selectedTopics[0].slug + } + }) + + openPage(router, 'drafts') + } + return ( <>
@@ -222,8 +236,13 @@ export const EditView = (props: EditViewProps) => { Проверьте ещё раз введённые данные, если всё верно, вы можете сохранить или опубликовать ваш текст

-
Назад + diff --git a/src/graphql/mutation/article-publish.ts b/src/graphql/mutation/article-publish.ts new file mode 100644 index 00000000..582c9086 --- /dev/null +++ b/src/graphql/mutation/article-publish.ts @@ -0,0 +1,16 @@ +import { gql } from '@urql/core' + +export default gql` + mutation UpdateShoutMutation($slug: String!) { + publishShout(slug: $slug) { + error + shout { + id + slug + title + subtitle + body + } + } + } +` diff --git a/src/graphql/mutation/article-update.ts b/src/graphql/mutation/article-update.ts index aaeedb7d..3da0ef20 100644 --- a/src/graphql/mutation/article-update.ts +++ b/src/graphql/mutation/article-update.ts @@ -1,29 +1,15 @@ import { gql } from '@urql/core' export default gql` - mutation UpdateShoutMutation($shout: Shout!) { - updateShout(input: $shout) { + mutation UpdateShoutMutation($slug: String!, $shout: ShoutInput!) { + updateShout(slug: $slug, inp: $shout) { error shout { - _id: slug + id slug title subtitle - image body - topics { - # id - title - slug - image - } - authors { - id - name - slug - userpic - caption - } } } } diff --git a/src/graphql/query/article-drafts-load-by.ts b/src/graphql/query/article-drafts-load-by.ts new file mode 100644 index 00000000..6fd57bfc --- /dev/null +++ b/src/graphql/query/article-drafts-load-by.ts @@ -0,0 +1,36 @@ +import { gql } from '@urql/core' + +export default gql` + query LoadDraftsQuery($options: LoadShoutsOptions) { + loadDrafts(options: $options) { + id + title + subtitle + slug + layout + cover + # community + mainTopic + topics { + # id + title + body + slug + stat { + _id: shouts + shouts + authors + followers + } + } + authors { + id + name + slug + userpic + } + createdAt + publishedAt + } + } +` diff --git a/src/graphql/types.gen.ts b/src/graphql/types.gen.ts index 7c3dc987..7954bc82 100644 --- a/src/graphql/types.gen.ts +++ b/src/graphql/types.gen.ts @@ -173,6 +173,7 @@ export type Mutation = { follow: Result getSession: AuthResult markAsRead: Result + publishShout: Result rateUser: Result registerUser: AuthResult sendLink: Result @@ -244,6 +245,10 @@ export type MutationMarkAsReadArgs = { ids: Array> } +export type MutationPublishShoutArgs = { + inp: ShoutInput +} + export type MutationRateUserArgs = { slug: Scalars['String'] value: Scalars['Int'] @@ -287,6 +292,7 @@ export type MutationUpdateReactionArgs = { export type MutationUpdateShoutArgs = { inp: ShoutInput + slug: Scalars['String'] } export type MutationUpdateTopicArgs = { @@ -325,6 +331,7 @@ export type Query = { isEmailUsed: Scalars['Boolean'] loadAuthorsBy: Array> loadChats: Result + loadDrafts: Array> loadMessagesBy: Result loadReactionsBy: Array> loadRecipients: Result @@ -332,6 +339,7 @@ export type Query = { loadShouts: Array> markdownBody: Scalars['String'] myFeed?: Maybe>> + publishShout: Array> searchMessages: Result searchRecipients: Result signIn: AuthResult @@ -368,6 +376,10 @@ export type QueryLoadChatsArgs = { offset?: InputMaybe } +export type QueryLoadDraftsArgs = { + options?: InputMaybe +} + export type QueryLoadMessagesByArgs = { by: MessagesBy limit?: InputMaybe @@ -401,6 +413,10 @@ export type QueryMyFeedArgs = { options?: InputMaybe } +export type QueryPublishShoutArgs = { + slug: Scalars['String'] +} + export type QuerySearchMessagesArgs = { by: MessagesBy limit?: InputMaybe diff --git a/src/utils/apiClient.ts b/src/utils/apiClient.ts index c4fa2880..5ba6056e 100644 --- a/src/utils/apiClient.ts +++ b/src/utils/apiClient.ts @@ -49,6 +49,7 @@ import shoutLoad from '../graphql/query/article-load' import loadRecipients from '../graphql/query/chat-recipients' import createMessage from '../graphql/mutation/create-chat-message' import updateProfile from '../graphql/mutation/update-profile' +import updateArticle from '../graphql/mutation/article-update' type ApiErrorCode = | 'unknown' @@ -240,6 +241,13 @@ export const apiClient = { console.debug('[createArticle]:', response.data) return response.data.createShout.shout }, + updateArticle: async ({ slug, article }: { slug: string; article: ShoutInput }): Promise => { + const response = await privateGraphQLClient + .mutation(updateArticle, { slug, shout: article }) + .toPromise() + console.debug('[updateArticle]:', response.data) + return response.data.updateArticle.shout + }, createReaction: async (input: ReactionInput) => { const response = await privateGraphQLClient.mutation(reactionCreate, { reaction: input }).toPromise() console.debug('[createReaction]:', response)