diff --git a/app/story/page.tsx b/app/story/page.tsx
index ec799ea..9f10bf3 100644
--- a/app/story/page.tsx
+++ b/app/story/page.tsx
@@ -1,10 +1,6 @@
import { headers } from 'next/headers'
-import dynamic from 'next/dynamic'
import Layout from 'src/components/Layout'
-
-const Editor = dynamic(() => import('src/components/story/StoryEditor'), {
- ssr: false,
-})
+import PostEditor from 'src/components/story/PostEditor'
export default function Story() {
const requestCookie = headers().get('cookie')
@@ -14,7 +10,7 @@ export default function Story() {
sidebarContentRight={
Promoted
}
sidebarContentLeft={Reactions
}
>
-
+
)
diff --git a/package.json b/package.json
index 7474085..9e14f5a 100644
--- a/package.json
+++ b/package.json
@@ -24,12 +24,31 @@
"@editorjs/paragraph": "^2.8.0",
"@editorjs/table": "^2.0.2",
"@firstcontributions/editorjs-codeflask": "https://github.com/firstcontributions/editorjs-codeflask",
+ "@radix-ui/react-popover": "^1.0.6",
"@react-icons/all-files": "^4.1.0",
"@sentry/nextjs": "^7.37.0",
+ "@tiptap/core": "^2.1.7",
+ "@tiptap/extension-color": "^2.1.7",
+ "@tiptap/extension-highlight": "^2.1.7",
+ "@tiptap/extension-horizontal-rule": "^2.1.7",
+ "@tiptap/extension-image": "^2.1.7",
+ "@tiptap/extension-link": "^2.1.7",
+ "@tiptap/extension-placeholder": "^2.1.7",
+ "@tiptap/extension-task-item": "^2.1.7",
+ "@tiptap/extension-task-list": "^2.1.7",
+ "@tiptap/extension-text-style": "^2.1.7",
+ "@tiptap/extension-typography": "^2.1.7",
+ "@tiptap/extension-underline": "^2.1.7",
+ "@tiptap/pm": "^2.1.7",
+ "@tiptap/react": "^2.1.7",
+ "@tiptap/starter-kit": "^2.1.7",
+ "@tiptap/suggestion": "^2.1.7",
+ "clsx": "^2.0.0",
"dayjs": "^1.11.5",
"form-data": "^4.0.0",
"formidable": "^2.0.1",
"install": "^0.13.0",
+ "lucide-react": "^0.269.0",
"md5": "^2.3.0",
"multiparty": "^4.2.3",
"next": "^13.1.1",
@@ -37,11 +56,18 @@
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-error-boundary": "^3.1.4",
+ "react-markdown": "^8.0.7",
+ "react-moveable": "^0.54.1",
"react-relay": "main",
"react-virtuoso": "^2.18.0",
"relay-runtime": "main",
"simple-oauth2": "^4.3.0",
- "string-strip-html": "^9.1.12"
+ "sonner": "^0.7.0",
+ "string-strip-html": "^9.1.12",
+ "tailwind-merge": "^1.14.0",
+ "tippy.js": "^6.3.7",
+ "tiptap-markdown": "^0.8.2",
+ "use-debounce": "^9.0.4"
},
"devDependencies": {
"@storybook/addon-essentials": "7.2.3",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 3c0af1b..cfbf804 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -32,12 +32,66 @@ dependencies:
'@firstcontributions/editorjs-codeflask':
specifier: https://github.com/firstcontributions/editorjs-codeflask
version: github.com/firstcontributions/editorjs-codeflask/98ed1cffbe048c2ff752fc843019fe277b04c738(prismjs@1.24.1)(webpack@5.88.2)
+ '@radix-ui/react-popover':
+ specifier: ^1.0.6
+ version: 1.0.6(@types/react@17.0.39)(react-dom@18.2.0)(react@18.2.0)
'@react-icons/all-files':
specifier: ^4.1.0
version: 4.1.0(react@18.2.0)
'@sentry/nextjs':
specifier: ^7.37.0
version: 7.37.0(next@13.1.1)(react@18.2.0)(webpack@5.88.2)
+ '@tiptap/core':
+ specifier: ^2.1.7
+ version: 2.1.7(@tiptap/pm@2.1.7)
+ '@tiptap/extension-color':
+ specifier: ^2.1.7
+ version: 2.1.7(@tiptap/core@2.1.7)(@tiptap/extension-text-style@2.1.7)
+ '@tiptap/extension-highlight':
+ specifier: ^2.1.7
+ version: 2.1.7(@tiptap/core@2.1.7)
+ '@tiptap/extension-horizontal-rule':
+ specifier: ^2.1.7
+ version: 2.1.7(@tiptap/core@2.1.7)(@tiptap/pm@2.1.7)
+ '@tiptap/extension-image':
+ specifier: ^2.1.7
+ version: 2.1.7(@tiptap/core@2.1.7)
+ '@tiptap/extension-link':
+ specifier: ^2.1.7
+ version: 2.1.7(@tiptap/core@2.1.7)(@tiptap/pm@2.1.7)
+ '@tiptap/extension-placeholder':
+ specifier: ^2.1.7
+ version: 2.1.7(@tiptap/core@2.1.7)(@tiptap/pm@2.1.7)
+ '@tiptap/extension-task-item':
+ specifier: ^2.1.7
+ version: 2.1.7(@tiptap/core@2.1.7)(@tiptap/pm@2.1.7)
+ '@tiptap/extension-task-list':
+ specifier: ^2.1.7
+ version: 2.1.7(@tiptap/core@2.1.7)
+ '@tiptap/extension-text-style':
+ specifier: ^2.1.7
+ version: 2.1.7(@tiptap/core@2.1.7)
+ '@tiptap/extension-typography':
+ specifier: ^2.1.7
+ version: 2.1.7(@tiptap/core@2.1.7)
+ '@tiptap/extension-underline':
+ specifier: ^2.1.7
+ version: 2.1.7(@tiptap/core@2.1.7)
+ '@tiptap/pm':
+ specifier: ^2.1.7
+ version: 2.1.7
+ '@tiptap/react':
+ specifier: ^2.1.7
+ version: 2.1.7(@tiptap/core@2.1.7)(@tiptap/pm@2.1.7)(react-dom@18.2.0)(react@18.2.0)
+ '@tiptap/starter-kit':
+ specifier: ^2.1.7
+ version: 2.1.7(@tiptap/pm@2.1.7)
+ '@tiptap/suggestion':
+ specifier: ^2.1.7
+ version: 2.1.7(@tiptap/core@2.1.7)(@tiptap/pm@2.1.7)
+ clsx:
+ specifier: ^2.0.0
+ version: 2.0.0
dayjs:
specifier: ^1.11.5
version: 1.11.5
@@ -50,6 +104,9 @@ dependencies:
install:
specifier: ^0.13.0
version: 0.13.0
+ lucide-react:
+ specifier: ^0.269.0
+ version: 0.269.0(react@18.2.0)
md5:
specifier: ^2.3.0
version: 2.3.0
@@ -71,21 +128,42 @@ dependencies:
react-error-boundary:
specifier: ^3.1.4
version: 3.1.4(react@18.2.0)
+ react-markdown:
+ specifier: ^8.0.7
+ version: 8.0.7(@types/react@17.0.39)(react@18.2.0)
+ react-moveable:
+ specifier: ^0.54.1
+ version: 0.54.1
react-relay:
specifier: main
- version: 0.0.0-main-7ac172e9(react@18.2.0)
+ version: 0.0.0-main-5d0887b2(react@18.2.0)
react-virtuoso:
specifier: ^2.18.0
version: 2.18.0(react-dom@18.2.0)(react@18.2.0)
relay-runtime:
specifier: main
- version: 0.0.0-main-7ac172e9
+ version: 0.0.0-main-5d0887b2
simple-oauth2:
specifier: ^4.3.0
version: 4.3.0
+ sonner:
+ specifier: ^0.7.0
+ version: 0.7.0(react-dom@18.2.0)(react@18.2.0)
string-strip-html:
specifier: ^9.1.12
version: 9.1.12
+ tailwind-merge:
+ specifier: ^1.14.0
+ version: 1.14.0
+ tippy.js:
+ specifier: ^6.3.7
+ version: 6.3.7
+ tiptap-markdown:
+ specifier: ^0.8.2
+ version: 0.8.2(@tiptap/core@2.1.7)
+ use-debounce:
+ specifier: ^9.0.4
+ version: 9.0.4(react@18.2.0)
devDependencies:
'@storybook/addon-essentials':
@@ -1619,6 +1697,12 @@ packages:
resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==}
dev: true
+ /@cfcs/core@0.0.6:
+ resolution: {integrity: sha512-FxfJMwoLB8MEMConeXUCqtMGqxdtePQxRBOiGip9ULcYYam3WfCgoY6xdnMaSkYvRvmosp5iuG+TiPofm65+Pw==}
+ dependencies:
+ '@egjs/component': 3.0.4
+ dev: false
+
/@codexteam/icons@0.1.0:
resolution: {integrity: sha512-jW1fWnwtWzcP4FBGsaodbJY3s1ZaRU+IJy1pvJ7ygNQxkQinybJcwXoyt0a5mWwu/4w30A42EWhCrZn8lp4fdw==}
dev: false
@@ -1630,6 +1714,10 @@ packages:
dev: true
optional: true
+ /@daybrush/utils@1.13.0:
+ resolution: {integrity: sha512-ALK12C6SQNNHw1enXK+UO8bdyQ+jaWNQ1Af7Z3FNxeAwjYhQT7do+TRE4RASAJ3ObaS2+TJ7TXR3oz2Gzbw0PQ==}
+ dev: false
+
/@discoveryjs/json-ext@0.5.7:
resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==}
engines: {node: '>=10.0.0'}
@@ -1669,6 +1757,24 @@ packages:
resolution: {integrity: sha512-Ws5c9kmYsbWTBJ1WKSZRN+ATrqFFzjf/zggVu8AI/mVcNvSYUiEVqibLtbh5RLHiDGkELRZ9Bw5PQfVCg7yuBw==}
dev: false
+ /@egjs/agent@2.4.3:
+ resolution: {integrity: sha512-XvksSENe8wPeFlEVouvrOhKdx8HMniJ3by7sro2uPF3M6QqWwjzVcmvwoPtdjiX8O1lfRoLhQMp1a7NGlVTdIA==}
+ dev: false
+
+ /@egjs/children-differ@1.0.1:
+ resolution: {integrity: sha512-DRvyqMf+CPCOzAopQKHtW+X8iN6Hy6SFol+/7zCUiE5y4P/OB8JP8FtU4NxtZwtafvSL4faD5KoQYPj3JHzPFQ==}
+ dependencies:
+ '@egjs/list-differ': 1.0.1
+ dev: false
+
+ /@egjs/component@3.0.4:
+ resolution: {integrity: sha512-sXA7bGbIeLF2OAw/vpka66c6QBBUPcA4UUhR4WGJfnp2XWdiI8QrnJGJMr/UxpE/xnevX9tN3jvNPlW8WkHl3g==}
+ dev: false
+
+ /@egjs/list-differ@1.0.1:
+ resolution: {integrity: sha512-OTFTDQcWS+1ZREOdCWuk5hCBgYO4OsD30lXcOCyVOAjXMhgL5rBRDnt/otb6Nz8CzU0L/igdcaQBDLWc4t9gvg==}
+ dev: false
+
/@emotion/use-insertion-effect-with-fallbacks@1.0.1(react@18.2.0):
resolution: {integrity: sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw==}
peerDependencies:
@@ -1888,14 +1994,12 @@ packages:
resolution: {integrity: sha512-jk3WqquEJRlcyu7997NtR5PibI+y5bi+LS3hPmguVClypenMsCY3CBa3LAQnozRCtCrYWSEtAdiskpamuJRFOQ==}
dependencies:
'@floating-ui/utils': 0.1.1
- dev: true
/@floating-ui/dom@1.5.1:
resolution: {integrity: sha512-KwvVcPSXg6mQygvA1TjbN/gh///36kKtllIF8SUm0qpFj8+rvYrpvlYdL1JoA71SHpDqgSSdGOSoQ0Mp3uY5aw==}
dependencies:
'@floating-ui/core': 1.4.1
'@floating-ui/utils': 0.1.1
- dev: true
/@floating-ui/react-dom@2.0.1(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-rZtAmSht4Lry6gdhAJDrCp/6rKN7++JnL1/Anbr/DdeyYXQPxvg/ivrbYvJulbRf4vL8b212suwMM2lxbv+RQA==}
@@ -1906,11 +2010,9 @@ packages:
'@floating-ui/dom': 1.5.1
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
- dev: true
/@floating-ui/utils@0.1.1:
resolution: {integrity: sha512-m0G6wlnhm/AX0H12IOWtK8gASEMffnX08RtKkCgTdHb9JpHKGloI7icFfLg9ZmQeavcvR0PKmzxClyuFPSjKWw==}
- dev: true
/@hapi/boom@9.1.4:
resolution: {integrity: sha512-Ls1oH8jaN1vNsqcaHVYJrKmgMcKsC1wcp8bujvXrHaAqD2iDYq3HoOwsxwo09Cuda5R5nC0o0IxlrlTuvPuzSw==}
@@ -2441,6 +2543,10 @@ packages:
webpack: 5.88.2(@swc/core@1.3.78)(esbuild@0.18.20)
dev: true
+ /@popperjs/core@2.11.8:
+ resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==}
+ dev: false
+
/@radix-ui/number@1.0.1:
resolution: {integrity: sha512-T5gIdVO2mmPW3NNhjNgEP3cqMXjXL9UbO0BzWcXfvdBs+BohbQxvd/K5hSVKmn9/lbTdsQVKbUcP5WLCwvUbBg==}
dependencies:
@@ -2451,7 +2557,6 @@ packages:
resolution: {integrity: sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==}
dependencies:
'@babel/runtime': 7.22.10
- dev: true
/@radix-ui/react-arrow@1.0.3(@types/react@17.0.39)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-wSP+pHsB/jQRaL6voubsQ/ZlrGBHHrOjmBnr19hxYgtS0WvAFwZhK2WP/YY5yF9uKECCEEDGxuLxq1NBK51wFA==}
@@ -2471,7 +2576,6 @@ packages:
'@types/react': 17.0.39
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
- dev: true
/@radix-ui/react-collection@1.0.3(@types/react@17.0.39)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-3SzW+0PW7yBBoQlT8wNcGtaxaD0XSu0uLUFgrtHY08Acx05TaHaOmVLR73c0j/cqpDy53KBMO7s0dx2wmOIDIA==}
@@ -2508,7 +2612,6 @@ packages:
'@babel/runtime': 7.22.10
'@types/react': 17.0.39
react: 18.2.0
- dev: true
/@radix-ui/react-context@1.0.1(@types/react@17.0.39)(react@18.2.0):
resolution: {integrity: sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==}
@@ -2522,7 +2625,6 @@ packages:
'@babel/runtime': 7.22.10
'@types/react': 17.0.39
react: 18.2.0
- dev: true
/@radix-ui/react-direction@1.0.1(@types/react@17.0.39)(react@18.2.0):
resolution: {integrity: sha512-RXcvnXgyvYvBEOhCBuddKecVkoMiI10Jcm5cTI7abJRAHYfFxeu+FBQs/DvdxSYucxR5mna0dNsL6QFlds5TMA==}
@@ -2560,7 +2662,6 @@ packages:
'@types/react': 17.0.39
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
- dev: true
/@radix-ui/react-focus-guards@1.0.1(@types/react@17.0.39)(react@18.2.0):
resolution: {integrity: sha512-Rect2dWbQ8waGzhMavsIbmSVCgYxkXLxxR3ZvCX79JOglzdEy4JXMb98lq4hPxUbLr77nP0UOGf4rcMU+s1pUA==}
@@ -2574,7 +2675,6 @@ packages:
'@babel/runtime': 7.22.10
'@types/react': 17.0.39
react: 18.2.0
- dev: true
/@radix-ui/react-focus-scope@1.0.3(@types/react@17.0.39)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-upXdPfqI4islj2CslyfUBNlaJCPybbqRHAi1KER7Isel9Q2AtSJ0zRBZv8mWQiFXD2nyAJ4BhC3yXgZ6kMBSrQ==}
@@ -2596,7 +2696,6 @@ packages:
'@types/react': 17.0.39
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
- dev: true
/@radix-ui/react-id@1.0.1(@types/react@17.0.39)(react@18.2.0):
resolution: {integrity: sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ==}
@@ -2611,7 +2710,40 @@ packages:
'@radix-ui/react-use-layout-effect': 1.0.1(@types/react@17.0.39)(react@18.2.0)
'@types/react': 17.0.39
react: 18.2.0
- dev: true
+
+ /@radix-ui/react-popover@1.0.6(@types/react@17.0.39)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-cZ4defGpkZ0qTRtlIBzJLSzL6ht7ofhhW4i1+pkemjV1IKXm0wgCRnee154qlV6r9Ttunmh2TNZhMfV2bavUyA==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ react-dom: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.22.10
+ '@radix-ui/primitive': 1.0.1
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@17.0.39)(react@18.2.0)
+ '@radix-ui/react-context': 1.0.1(@types/react@17.0.39)(react@18.2.0)
+ '@radix-ui/react-dismissable-layer': 1.0.4(@types/react@17.0.39)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-focus-guards': 1.0.1(@types/react@17.0.39)(react@18.2.0)
+ '@radix-ui/react-focus-scope': 1.0.3(@types/react@17.0.39)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-id': 1.0.1(@types/react@17.0.39)(react@18.2.0)
+ '@radix-ui/react-popper': 1.1.2(@types/react@17.0.39)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-portal': 1.0.3(@types/react@17.0.39)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-presence': 1.0.1(@types/react@17.0.39)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-primitive': 1.0.3(@types/react@17.0.39)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-slot': 1.0.2(@types/react@17.0.39)(react@18.2.0)
+ '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@17.0.39)(react@18.2.0)
+ '@types/react': 17.0.39
+ aria-hidden: 1.2.3
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ react-remove-scroll: 2.5.5(@types/react@17.0.39)(react@18.2.0)
+ dev: false
/@radix-ui/react-popper@1.1.2(@types/react@17.0.39)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-1CnGGfFi/bbqtJZZ0P/NQY20xdG3E0LALJaLUEoKwPLwl6PPPfbeiCqMVQnhoFRAxjJj4RpBRJzDmUgsex2tSg==}
@@ -2640,7 +2772,6 @@ packages:
'@types/react': 17.0.39
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
- dev: true
/@radix-ui/react-portal@1.0.3(@types/react@17.0.39)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-xLYZeHrWoPmA5mEKEfZZevoVRK/Q43GfzRXkWV6qawIWWK8t6ifIiLQdd7rmQ4Vk1bmI21XhqF9BN3jWf+phpA==}
@@ -2660,7 +2791,27 @@ packages:
'@types/react': 17.0.39
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
- dev: true
+
+ /@radix-ui/react-presence@1.0.1(@types/react@17.0.39)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ react-dom: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.22.10
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@17.0.39)(react@18.2.0)
+ '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@17.0.39)(react@18.2.0)
+ '@types/react': 17.0.39
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ dev: false
/@radix-ui/react-primitive@1.0.3(@types/react@17.0.39)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==}
@@ -2680,7 +2831,6 @@ packages:
'@types/react': 17.0.39
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
- dev: true
/@radix-ui/react-select@1.2.2(@types/react@17.0.39)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-zI7McXr8fNaSrUY9mZe4x/HC0jTLY9fWNhO1oLWYMQGDXuV4UCivIGTxwioSzO0ZCYX9iSLyWmAh/1TOmX3Cnw==}
@@ -2735,7 +2885,6 @@ packages:
'@radix-ui/react-compose-refs': 1.0.1(@types/react@17.0.39)(react@18.2.0)
'@types/react': 17.0.39
react: 18.2.0
- dev: true
/@radix-ui/react-use-callback-ref@1.0.1(@types/react@17.0.39)(react@18.2.0):
resolution: {integrity: sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==}
@@ -2749,7 +2898,6 @@ packages:
'@babel/runtime': 7.22.10
'@types/react': 17.0.39
react: 18.2.0
- dev: true
/@radix-ui/react-use-controllable-state@1.0.1(@types/react@17.0.39)(react@18.2.0):
resolution: {integrity: sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==}
@@ -2764,7 +2912,6 @@ packages:
'@radix-ui/react-use-callback-ref': 1.0.1(@types/react@17.0.39)(react@18.2.0)
'@types/react': 17.0.39
react: 18.2.0
- dev: true
/@radix-ui/react-use-escape-keydown@1.0.3(@types/react@17.0.39)(react@18.2.0):
resolution: {integrity: sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg==}
@@ -2779,7 +2926,6 @@ packages:
'@radix-ui/react-use-callback-ref': 1.0.1(@types/react@17.0.39)(react@18.2.0)
'@types/react': 17.0.39
react: 18.2.0
- dev: true
/@radix-ui/react-use-layout-effect@1.0.1(@types/react@17.0.39)(react@18.2.0):
resolution: {integrity: sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==}
@@ -2793,7 +2939,6 @@ packages:
'@babel/runtime': 7.22.10
'@types/react': 17.0.39
react: 18.2.0
- dev: true
/@radix-ui/react-use-previous@1.0.1(@types/react@17.0.39)(react@18.2.0):
resolution: {integrity: sha512-cV5La9DPwiQ7S0gf/0qiD6YgNqM5Fk97Kdrlc5yBcrF3jyEZQwm7vYFqMo4IfeHgJXsRaMvLABFtd0OVEmZhDw==}
@@ -2822,7 +2967,6 @@ packages:
'@radix-ui/rect': 1.0.1
'@types/react': 17.0.39
react: 18.2.0
- dev: true
/@radix-ui/react-use-size@1.0.1(@types/react@17.0.39)(react@18.2.0):
resolution: {integrity: sha512-ibay+VqrgcaI6veAojjofPATwledXiSmX+C0KrBk/xgpX9rBzPV3OsfwlhQdUOFbh+LKQorLYT+xTXW9V8yd0g==}
@@ -2837,7 +2981,6 @@ packages:
'@radix-ui/react-use-layout-effect': 1.0.1(@types/react@17.0.39)(react@18.2.0)
'@types/react': 17.0.39
react: 18.2.0
- dev: true
/@radix-ui/react-visually-hidden@1.0.3(@types/react@17.0.39)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-D4w41yN5YRKtu464TLnByKzMDG/JlMPHtfZgQAu9v6mNakUqGUI9vUrfQKz8NK41VMm/xbZbh76NUTVtIYqOMA==}
@@ -2863,7 +3006,6 @@ packages:
resolution: {integrity: sha512-fyrgCaedtvMg9NK3en0pnOYJdtfwxUcNolezkNPUsoX57X8oQk+NkqcvzHXD2uKNij6GXmWU9NDru2IWjrO4BQ==}
dependencies:
'@babel/runtime': 7.22.10
- dev: true
/@react-icons/all-files@4.1.0(react@18.2.0):
resolution: {integrity: sha512-hxBI2UOuVaI3O/BhQfhtb4kcGn9ft12RWAFVMUeNjqqhLsHvFtzIkFaptBJpFDANTKoDfdVoHTKZDlwKCACbMQ==}
@@ -2873,6 +3015,34 @@ packages:
react: 18.2.0
dev: false
+ /@remirror/core-constants@2.0.2:
+ resolution: {integrity: sha512-dyHY+sMF0ihPus3O27ODd4+agdHMEmuRdyiZJ2CCWjPV5UFmn17ZbElvk6WOGVE4rdCJKZQCrPV2BcikOMLUGQ==}
+ dev: false
+
+ /@remirror/core-helpers@3.0.0:
+ resolution: {integrity: sha512-tusEgQJIqg4qKj6HSBUFcyRnWnziw3neh4T9wOmsPGHFC3w9kl5KSrDb9UAgE8uX6y32FnS7vJ955mWOl3n50A==}
+ dependencies:
+ '@remirror/core-constants': 2.0.2
+ '@remirror/types': 1.0.1
+ '@types/object.omit': 3.0.0
+ '@types/object.pick': 1.3.2
+ '@types/throttle-debounce': 2.1.0
+ case-anything: 2.1.13
+ dash-get: 1.0.2
+ deepmerge: 4.3.1
+ fast-deep-equal: 3.1.3
+ make-error: 1.3.6
+ object.omit: 3.0.0
+ object.pick: 1.3.0
+ throttle-debounce: 3.0.1
+ dev: false
+
+ /@remirror/types@1.0.1:
+ resolution: {integrity: sha512-VlZQxwGnt1jtQ18D6JqdIF+uFZo525WEqrfp9BOc3COPpK4+AWCgdnAWL+ho6imWcoINlGjR/+3b6y5C1vBVEA==}
+ dependencies:
+ type-fest: 2.19.0
+ dev: false
+
/@rollup/plugin-commonjs@24.0.0(rollup@2.78.0):
resolution: {integrity: sha512-0w0wyykzdyRRPHOb0cQt14mIBLujfAv6GgP6g8nvg/iBxEm112t3YPPq+Buqe2+imvElTka+bjNlJ/gB56TD8g==}
engines: {node: '>=14.0.0'}
@@ -2910,6 +3080,25 @@ packages:
resolution: {integrity: sha512-0xd7qez0AQ+MbHatZTlI1gu5vkG8r7MYRUJAHPAHJBmGLs16zpkrpAVLvjQKQOqaXPDUBwOiJzNc00znHSCVBw==}
dev: true
+ /@scena/dragscroll@1.4.0:
+ resolution: {integrity: sha512-3O8daaZD9VXA9CP3dra6xcgt/qrm0mg0xJCwiX6druCteQ9FFsXffkF8PrqxY4Z4VJ58fFKEa0RlKqbsi/XnRA==}
+ dependencies:
+ '@daybrush/utils': 1.13.0
+ '@scena/event-emitter': 1.0.5
+ dev: false
+
+ /@scena/event-emitter@1.0.5:
+ resolution: {integrity: sha512-AzY4OTb0+7ynefmWFQ6hxDdk0CySAq/D4efljfhtRHCOP7MBF9zUfhKG3TJiroVjASqVgkRJFdenS8ArZo6Olg==}
+ dependencies:
+ '@daybrush/utils': 1.13.0
+ dev: false
+
+ /@scena/matrix@1.1.1:
+ resolution: {integrity: sha512-JVKBhN0tm2Srl+Yt+Ywqu0oLgLcdemDQlD1OxmN9jaCTwaFPZ7tY8n6dhVgMEaR9qcR7r+kAlMXnSfNyYdE+Vg==}
+ dependencies:
+ '@daybrush/utils': 1.13.0
+ dev: false
+
/@sentry/browser@7.37.0:
resolution: {integrity: sha512-EMlSo4Ebtryd5id2nC31dwcLigwYPWjrAYt36vUJ/L47oXetaH4dndK6wqYyxR2sl8uP2GlsQUnWpGLHKyG3ww==}
engines: {node: '>=8'}
@@ -4449,6 +4638,354 @@ packages:
'@testing-library/dom': 9.3.1
dev: true
+ /@tiptap/core@2.1.7(@tiptap/pm@2.1.7):
+ resolution: {integrity: sha512-1pqTwlTnwTKQSNQmmTWhs2lwdvd+hFFNFZnrRAfvZhQZA6qPmPmKMNTcYmK38Tn4axKth6mhBamzTJgMZFI7ng==}
+ peerDependencies:
+ '@tiptap/pm': ^2.0.0
+ dependencies:
+ '@tiptap/pm': 2.1.7
+ dev: false
+
+ /@tiptap/extension-blockquote@2.1.7(@tiptap/core@2.1.7):
+ resolution: {integrity: sha512-oAsUU1c0DDZKHwK7/uCtYpnTUQt0o3w+SsJSv4S2vlSHidiFl9gCQGozUQ/Alzc7GO1Y95rOscL28DJXgXESQg==}
+ peerDependencies:
+ '@tiptap/core': ^2.0.0
+ dependencies:
+ '@tiptap/core': 2.1.7(@tiptap/pm@2.1.7)
+ dev: false
+
+ /@tiptap/extension-bold@2.1.7(@tiptap/core@2.1.7):
+ resolution: {integrity: sha512-GZV2D91WENkWd1W29vM4kyGWObcxOKQrY8MuCvTdxni1kobEc/LPZzQ1XiQmiNTvXTMcBz5ckLpezdjASV1dNg==}
+ peerDependencies:
+ '@tiptap/core': ^2.0.0
+ dependencies:
+ '@tiptap/core': 2.1.7(@tiptap/pm@2.1.7)
+ dev: false
+
+ /@tiptap/extension-bubble-menu@2.1.7(@tiptap/core@2.1.7)(@tiptap/pm@2.1.7):
+ resolution: {integrity: sha512-VcwwUgiG17TEDZda1JBbyKCHLIBTu8B2OAzYrnd4ZqeRs5KTVAB279o/TVjsLVgEfC+c7IWwhhaPPMoXn/lJ3g==}
+ peerDependencies:
+ '@tiptap/core': ^2.0.0
+ '@tiptap/pm': ^2.0.0
+ dependencies:
+ '@tiptap/core': 2.1.7(@tiptap/pm@2.1.7)
+ '@tiptap/pm': 2.1.7
+ tippy.js: 6.3.7
+ dev: false
+
+ /@tiptap/extension-bullet-list@2.1.7(@tiptap/core@2.1.7):
+ resolution: {integrity: sha512-BReix1wkGNH12DSWGnWPKNu4do92Avh98aLkRS1o1V1Y49/+YGMYtfBXB9obq40o0WqKvk4MoM+rhKbfEc44Gg==}
+ peerDependencies:
+ '@tiptap/core': ^2.0.0
+ dependencies:
+ '@tiptap/core': 2.1.7(@tiptap/pm@2.1.7)
+ dev: false
+
+ /@tiptap/extension-code-block@2.1.7(@tiptap/core@2.1.7)(@tiptap/pm@2.1.7):
+ resolution: {integrity: sha512-uiasfWCIQuk34vGoIENqAJOHf9m3hAkcELnb9T6+uNxA3O7PUZQqBVN/27oEipj7j15pqua50D6C1jql9kFe0g==}
+ peerDependencies:
+ '@tiptap/core': ^2.0.0
+ '@tiptap/pm': ^2.0.0
+ dependencies:
+ '@tiptap/core': 2.1.7(@tiptap/pm@2.1.7)
+ '@tiptap/pm': 2.1.7
+ dev: false
+
+ /@tiptap/extension-code@2.1.7(@tiptap/core@2.1.7):
+ resolution: {integrity: sha512-g0IA6Q6DFZE0AEOMXAV1mktl/XzIO3s1h/haPIKZ8GNes522qhBr9FYc5OUPQCCbgYjL7soTGzxA/W5Jk3f2AQ==}
+ peerDependencies:
+ '@tiptap/core': ^2.0.0
+ dependencies:
+ '@tiptap/core': 2.1.7(@tiptap/pm@2.1.7)
+ dev: false
+
+ /@tiptap/extension-color@2.1.7(@tiptap/core@2.1.7)(@tiptap/extension-text-style@2.1.7):
+ resolution: {integrity: sha512-NLspH5taSpZP60rXJjDKu8AP9VDd+dlqz4guxvijtuPEePw87Fzidxx9w6X0uYQfx1O0xdPFq3UodlDz591scA==}
+ peerDependencies:
+ '@tiptap/core': ^2.0.0
+ '@tiptap/extension-text-style': ^2.0.0
+ dependencies:
+ '@tiptap/core': 2.1.7(@tiptap/pm@2.1.7)
+ '@tiptap/extension-text-style': 2.1.7(@tiptap/core@2.1.7)
+ dev: false
+
+ /@tiptap/extension-document@2.1.7(@tiptap/core@2.1.7):
+ resolution: {integrity: sha512-tZyoPPmvzti7PEnyulXomEtINd/Oi2S84uOt6gw7DTCnDq5bF5sn1IfN8Icqp9t4jDwyLXy2TL0Zg/sR0a2Ibg==}
+ peerDependencies:
+ '@tiptap/core': ^2.0.0
+ dependencies:
+ '@tiptap/core': 2.1.7(@tiptap/pm@2.1.7)
+ dev: false
+
+ /@tiptap/extension-dropcursor@2.1.7(@tiptap/core@2.1.7)(@tiptap/pm@2.1.7):
+ resolution: {integrity: sha512-hNk2BuLnNSXlGOQphlzdpFKCKo7uHUFjWuBfzF1S9FMAQgcN7eTia+cCClmXABYfVLW4fT14PC1KiuGjxi9MuA==}
+ peerDependencies:
+ '@tiptap/core': ^2.0.0
+ '@tiptap/pm': ^2.0.0
+ dependencies:
+ '@tiptap/core': 2.1.7(@tiptap/pm@2.1.7)
+ '@tiptap/pm': 2.1.7
+ dev: false
+
+ /@tiptap/extension-floating-menu@2.1.7(@tiptap/core@2.1.7)(@tiptap/pm@2.1.7):
+ resolution: {integrity: sha512-K0bO7JKHAvgLM5MkhNgoYcD6SB0Z2tNIFhZHs5SCTuhg7dwduMSM3pC6QBrJGUk99DGsKuMPYQn3c2oG7MLbyQ==}
+ peerDependencies:
+ '@tiptap/core': ^2.0.0
+ '@tiptap/pm': ^2.0.0
+ dependencies:
+ '@tiptap/core': 2.1.7(@tiptap/pm@2.1.7)
+ '@tiptap/pm': 2.1.7
+ tippy.js: 6.3.7
+ dev: false
+
+ /@tiptap/extension-gapcursor@2.1.7(@tiptap/core@2.1.7)(@tiptap/pm@2.1.7):
+ resolution: {integrity: sha512-7eoInzzk1sssoD3RMkwFC86U15Ja4ANve+8wIC+xhN4R3Oe3PY3lFbp1GQxCmaJj8b3rtjNKIQZ2zO0PH58afA==}
+ peerDependencies:
+ '@tiptap/core': ^2.0.0
+ '@tiptap/pm': ^2.0.0
+ dependencies:
+ '@tiptap/core': 2.1.7(@tiptap/pm@2.1.7)
+ '@tiptap/pm': 2.1.7
+ dev: false
+
+ /@tiptap/extension-hard-break@2.1.7(@tiptap/core@2.1.7):
+ resolution: {integrity: sha512-6gFXXlCGAdXjy27BW29q4yfCQPAEFd18k7zRTnbd4aE/zIWUtLqdiTfI3kotUMab9Tt9/z1BRmCbEUxRsf1Nww==}
+ peerDependencies:
+ '@tiptap/core': ^2.0.0
+ dependencies:
+ '@tiptap/core': 2.1.7(@tiptap/pm@2.1.7)
+ dev: false
+
+ /@tiptap/extension-heading@2.1.7(@tiptap/core@2.1.7):
+ resolution: {integrity: sha512-jMeTqtq3kbMFtMvUb3SeIt4FFM3W+b6TAw5H4Qd6z3gYsAU3GahRK67MtbJfPmznUkZfimrqW9VCaBezScfrsQ==}
+ peerDependencies:
+ '@tiptap/core': ^2.0.0
+ dependencies:
+ '@tiptap/core': 2.1.7(@tiptap/pm@2.1.7)
+ dev: false
+
+ /@tiptap/extension-highlight@2.1.7(@tiptap/core@2.1.7):
+ resolution: {integrity: sha512-3EXrnf1BQSdOe/iqzcTIr5Tf0NOhPQ+y1B9nMi/40v3MD8WzRBLaqj0lvpwO7xMAdgxm6IiL/XFYU41n9yFl/Q==}
+ peerDependencies:
+ '@tiptap/core': ^2.0.0
+ dependencies:
+ '@tiptap/core': 2.1.7(@tiptap/pm@2.1.7)
+ dev: false
+
+ /@tiptap/extension-history@2.1.7(@tiptap/core@2.1.7)(@tiptap/pm@2.1.7):
+ resolution: {integrity: sha512-8SIEKSImrIkqJThym1bPD13sC4/76UrG+piQ30xKQU4B7zUFCbutvrwYuQHSRvaEt8BPdTv2LWIK+wBkIgbWVA==}
+ peerDependencies:
+ '@tiptap/core': ^2.0.0
+ '@tiptap/pm': ^2.0.0
+ dependencies:
+ '@tiptap/core': 2.1.7(@tiptap/pm@2.1.7)
+ '@tiptap/pm': 2.1.7
+ dev: false
+
+ /@tiptap/extension-horizontal-rule@2.1.7(@tiptap/core@2.1.7)(@tiptap/pm@2.1.7):
+ resolution: {integrity: sha512-hJupsDxDVmjmKI/Ewl/gtiyUx52Y3wRUhT8dCXNOA5eldmPXN23E2Fa2BC8XB47dyc5pubyNcLuqaLeaZ5hedw==}
+ peerDependencies:
+ '@tiptap/core': ^2.0.0
+ '@tiptap/pm': ^2.0.0
+ dependencies:
+ '@tiptap/core': 2.1.7(@tiptap/pm@2.1.7)
+ '@tiptap/pm': 2.1.7
+ dev: false
+
+ /@tiptap/extension-image@2.1.7(@tiptap/core@2.1.7):
+ resolution: {integrity: sha512-aWa/NPMc1U9Z6xuV0gk1O1nk4H7BAwQMwqXWdvUQCJhmW5+LJPdEiKvt3P6j+ClIN7sdyokZCgr6eGr817qTLA==}
+ peerDependencies:
+ '@tiptap/core': ^2.0.0
+ dependencies:
+ '@tiptap/core': 2.1.7(@tiptap/pm@2.1.7)
+ dev: false
+
+ /@tiptap/extension-italic@2.1.7(@tiptap/core@2.1.7):
+ resolution: {integrity: sha512-7e37f+OFqisdY19nWIthbSNHMJy4+4dec06rUICPrkiuFaADj5HjUQr0dyWpL/LkZh92Wf/rWgp4V/lEwon3jA==}
+ peerDependencies:
+ '@tiptap/core': ^2.0.0
+ dependencies:
+ '@tiptap/core': 2.1.7(@tiptap/pm@2.1.7)
+ dev: false
+
+ /@tiptap/extension-link@2.1.7(@tiptap/core@2.1.7)(@tiptap/pm@2.1.7):
+ resolution: {integrity: sha512-NDfoMCkThng1B530pMg5y69+eWoghZXK2uCntrJH7Rs8jNeGMyt9wGIOd7N8ZYz0oJ2ZYKzZjS0RANdBDS17DA==}
+ peerDependencies:
+ '@tiptap/core': ^2.0.0
+ '@tiptap/pm': ^2.0.0
+ dependencies:
+ '@tiptap/core': 2.1.7(@tiptap/pm@2.1.7)
+ '@tiptap/pm': 2.1.7
+ linkifyjs: 4.1.1
+ dev: false
+
+ /@tiptap/extension-list-item@2.1.7(@tiptap/core@2.1.7):
+ resolution: {integrity: sha512-hd/E4qQopBXWa6kdFY19qFVgqj4fzdPgAnzdXJ2XW7bC6O2CusmHphRRZ5FBsuspYTN/6/fv0i0jK9rSGlsEyA==}
+ peerDependencies:
+ '@tiptap/core': ^2.0.0
+ dependencies:
+ '@tiptap/core': 2.1.7(@tiptap/pm@2.1.7)
+ dev: false
+
+ /@tiptap/extension-ordered-list@2.1.7(@tiptap/core@2.1.7):
+ resolution: {integrity: sha512-3XIXqbZmYkNzF+8PQ2jcCOCj0lpC3y9HGM/+joPIunhiUiktrIgpbUDv2E1Gq5lJHYqthIeujniI2dB85tkwJQ==}
+ peerDependencies:
+ '@tiptap/core': ^2.0.0
+ dependencies:
+ '@tiptap/core': 2.1.7(@tiptap/pm@2.1.7)
+ dev: false
+
+ /@tiptap/extension-paragraph@2.1.7(@tiptap/core@2.1.7):
+ resolution: {integrity: sha512-cLqX27hNrXrwZCKrIW8OC3rW2+MT8hhS37+cdqOxZo5hUqQ9EF/puwS0w8uUZ7B3awX9Jm1QZDMjjERLkcmobw==}
+ peerDependencies:
+ '@tiptap/core': ^2.0.0
+ dependencies:
+ '@tiptap/core': 2.1.7(@tiptap/pm@2.1.7)
+ dev: false
+
+ /@tiptap/extension-placeholder@2.1.7(@tiptap/core@2.1.7)(@tiptap/pm@2.1.7):
+ resolution: {integrity: sha512-IiBoItYYNS7hb/zmPitw3w6Cylmp9qX+zW+QKe3lDkCNPeKxyQr86AnVLcQYOuXg62cLV9dp+4azZzHoz9SOcg==}
+ peerDependencies:
+ '@tiptap/core': ^2.0.0
+ '@tiptap/pm': ^2.0.0
+ dependencies:
+ '@tiptap/core': 2.1.7(@tiptap/pm@2.1.7)
+ '@tiptap/pm': 2.1.7
+ dev: false
+
+ /@tiptap/extension-strike@2.1.7(@tiptap/core@2.1.7):
+ resolution: {integrity: sha512-ONLXYnuZGM2EoGcxkyvJSDMBeAp7K6l83UXkK9TSj+VpEEDdeV7m8mJs8/vACJjJxD5HMN61+EPgU7VTEukQCA==}
+ peerDependencies:
+ '@tiptap/core': ^2.0.0
+ dependencies:
+ '@tiptap/core': 2.1.7(@tiptap/pm@2.1.7)
+ dev: false
+
+ /@tiptap/extension-task-item@2.1.7(@tiptap/core@2.1.7)(@tiptap/pm@2.1.7):
+ resolution: {integrity: sha512-4wFLZmhYqr87SEI/Qgk3FiH+qfp6IOmuYVhpL5zGLa6p+ytUdmPH3+zOaD1rthn5JiRU9KwYWFvTo2f+/O0NAg==}
+ peerDependencies:
+ '@tiptap/core': ^2.0.0
+ '@tiptap/pm': ^2.0.0
+ dependencies:
+ '@tiptap/core': 2.1.7(@tiptap/pm@2.1.7)
+ '@tiptap/pm': 2.1.7
+ dev: false
+
+ /@tiptap/extension-task-list@2.1.7(@tiptap/core@2.1.7):
+ resolution: {integrity: sha512-eerV8pbGuYoFji6arWk+LBsIfURXPWNSLi1ZCuPfXP6N8sAV3fNT+VDm6RlGQwadQNae7rnibNClk67+55h9Zg==}
+ peerDependencies:
+ '@tiptap/core': ^2.0.0
+ dependencies:
+ '@tiptap/core': 2.1.7(@tiptap/pm@2.1.7)
+ dev: false
+
+ /@tiptap/extension-text-style@2.1.7(@tiptap/core@2.1.7):
+ resolution: {integrity: sha512-0QhEMDiDqMpyBGRt6o4GvbN9cUibZe4LT9e0ujarT6ElSe2fbtwGPnXSXApUtgHDDwHw95M5ZVxX/H5cjyjw1g==}
+ peerDependencies:
+ '@tiptap/core': ^2.0.0
+ dependencies:
+ '@tiptap/core': 2.1.7(@tiptap/pm@2.1.7)
+ dev: false
+
+ /@tiptap/extension-text@2.1.7(@tiptap/core@2.1.7):
+ resolution: {integrity: sha512-3xaMMMNydLgoS+o+yOvaZF04ui9spJwJZl8VyYgcJKVGGLGRlWHrireXN5/OqXG2jLb/jWqXVx5idppQjX+PMA==}
+ peerDependencies:
+ '@tiptap/core': ^2.0.0
+ dependencies:
+ '@tiptap/core': 2.1.7(@tiptap/pm@2.1.7)
+ dev: false
+
+ /@tiptap/extension-typography@2.1.7(@tiptap/core@2.1.7):
+ resolution: {integrity: sha512-/K07CeIxwJ2t0amjIrxpQkfPJqTlRoA8YIVd6O1iqriINZVS0EK2IJAaE/PNVQNnUYhyU+0Z2/Xie3SlCP7PVQ==}
+ peerDependencies:
+ '@tiptap/core': ^2.0.0
+ dependencies:
+ '@tiptap/core': 2.1.7(@tiptap/pm@2.1.7)
+ dev: false
+
+ /@tiptap/extension-underline@2.1.7(@tiptap/core@2.1.7):
+ resolution: {integrity: sha512-mL95afyEJvg+C2yrTVn7QltfyE9ja1+94+OUkRBbB8PN3N6HvfSL4K/QSqecOLQ38bSQm/6ZGPkBLDkDGhGPdw==}
+ peerDependencies:
+ '@tiptap/core': ^2.0.0
+ dependencies:
+ '@tiptap/core': 2.1.7(@tiptap/pm@2.1.7)
+ dev: false
+
+ /@tiptap/pm@2.1.7:
+ resolution: {integrity: sha512-RBVb/k9OjmClwdVl7fpekFgUsLAm1U+5I4w1qA2tj7L/hSPOuPzaEHwCqDYe0b2PR5dd8h0nylS9qXuXVlfwfQ==}
+ dependencies:
+ prosemirror-changeset: 2.2.1
+ prosemirror-collab: 1.3.1
+ prosemirror-commands: 1.5.2
+ prosemirror-dropcursor: 1.8.1
+ prosemirror-gapcursor: 1.3.2
+ prosemirror-history: 1.3.2
+ prosemirror-inputrules: 1.2.1
+ prosemirror-keymap: 1.2.2
+ prosemirror-markdown: 1.11.2
+ prosemirror-menu: 1.2.4
+ prosemirror-model: 1.19.3
+ prosemirror-schema-basic: 1.2.2
+ prosemirror-schema-list: 1.3.0
+ prosemirror-state: 1.4.3
+ prosemirror-tables: 1.3.4
+ prosemirror-trailing-node: 2.0.7(prosemirror-model@1.19.3)(prosemirror-state@1.4.3)(prosemirror-view@1.31.7)
+ prosemirror-transform: 1.7.5
+ prosemirror-view: 1.31.7
+ dev: false
+
+ /@tiptap/react@2.1.7(@tiptap/core@2.1.7)(@tiptap/pm@2.1.7)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-jCs5z/rXZ7mEOTPcJ+r/OSTtLOGBahS7D3xDu3pRX4P0wtWHlprsdptxxlWjkBHLav01XXJ+OtGZTfhWBio1QQ==}
+ peerDependencies:
+ '@tiptap/core': ^2.0.0
+ '@tiptap/pm': ^2.0.0
+ react: ^17.0.0 || ^18.0.0
+ react-dom: ^17.0.0 || ^18.0.0
+ dependencies:
+ '@tiptap/core': 2.1.7(@tiptap/pm@2.1.7)
+ '@tiptap/extension-bubble-menu': 2.1.7(@tiptap/core@2.1.7)(@tiptap/pm@2.1.7)
+ '@tiptap/extension-floating-menu': 2.1.7(@tiptap/core@2.1.7)(@tiptap/pm@2.1.7)
+ '@tiptap/pm': 2.1.7
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ dev: false
+
+ /@tiptap/starter-kit@2.1.7(@tiptap/pm@2.1.7):
+ resolution: {integrity: sha512-z2cmJRSC7ImaTGWrHv+xws9y1wIG0OCPosBYpmpwlEfA3JG3axWFmVRJlWnsQV4eSMi3QY3vaPgBAnrR4IxRhQ==}
+ dependencies:
+ '@tiptap/core': 2.1.7(@tiptap/pm@2.1.7)
+ '@tiptap/extension-blockquote': 2.1.7(@tiptap/core@2.1.7)
+ '@tiptap/extension-bold': 2.1.7(@tiptap/core@2.1.7)
+ '@tiptap/extension-bullet-list': 2.1.7(@tiptap/core@2.1.7)
+ '@tiptap/extension-code': 2.1.7(@tiptap/core@2.1.7)
+ '@tiptap/extension-code-block': 2.1.7(@tiptap/core@2.1.7)(@tiptap/pm@2.1.7)
+ '@tiptap/extension-document': 2.1.7(@tiptap/core@2.1.7)
+ '@tiptap/extension-dropcursor': 2.1.7(@tiptap/core@2.1.7)(@tiptap/pm@2.1.7)
+ '@tiptap/extension-gapcursor': 2.1.7(@tiptap/core@2.1.7)(@tiptap/pm@2.1.7)
+ '@tiptap/extension-hard-break': 2.1.7(@tiptap/core@2.1.7)
+ '@tiptap/extension-heading': 2.1.7(@tiptap/core@2.1.7)
+ '@tiptap/extension-history': 2.1.7(@tiptap/core@2.1.7)(@tiptap/pm@2.1.7)
+ '@tiptap/extension-horizontal-rule': 2.1.7(@tiptap/core@2.1.7)(@tiptap/pm@2.1.7)
+ '@tiptap/extension-italic': 2.1.7(@tiptap/core@2.1.7)
+ '@tiptap/extension-list-item': 2.1.7(@tiptap/core@2.1.7)
+ '@tiptap/extension-ordered-list': 2.1.7(@tiptap/core@2.1.7)
+ '@tiptap/extension-paragraph': 2.1.7(@tiptap/core@2.1.7)
+ '@tiptap/extension-strike': 2.1.7(@tiptap/core@2.1.7)
+ '@tiptap/extension-text': 2.1.7(@tiptap/core@2.1.7)
+ transitivePeerDependencies:
+ - '@tiptap/pm'
+ dev: false
+
+ /@tiptap/suggestion@2.1.7(@tiptap/core@2.1.7)(@tiptap/pm@2.1.7):
+ resolution: {integrity: sha512-FKlXFMWf9rCnNJQsUfeX6WpS2VUs2O98ENkyhfV8ehCB7X5+57mkkxJxl/88SMbjZL+FbWPBKLaiOvsXfIUoww==}
+ peerDependencies:
+ '@tiptap/core': ^2.0.0
+ '@tiptap/pm': ^2.0.0
+ dependencies:
+ '@tiptap/core': 2.1.7(@tiptap/pm@2.1.7)
+ '@tiptap/pm': 2.1.7
+ dev: false
+
/@types/aria-query@5.0.1:
resolution: {integrity: sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==}
dev: true
@@ -4501,6 +5038,12 @@ packages:
'@types/node': 17.0.15
dev: true
+ /@types/debug@4.1.8:
+ resolution: {integrity: sha512-/vPO1EPOs306Cvhwv7KfVfYvOJqA/S/AXjaHQiJboCZzcNDb+TIJFN9/2C9DZ//ijSKWioNyUxD792QmDJ+HKQ==}
+ dependencies:
+ '@types/ms': 0.7.31
+ dev: false
+
/@types/detect-port@1.3.3:
resolution: {integrity: sha512-bV/jQlAJ/nPY3XqSatkGpu+nGzou+uSwrH1cROhn+jBFg47yaNH+blW4C7p9KhopC7QxCv/6M86s37k8dMk0Yg==}
dev: true
@@ -4574,6 +5117,12 @@ packages:
'@types/node': 17.0.15
dev: true
+ /@types/hast@2.3.5:
+ resolution: {integrity: sha512-SvQi0L/lNpThgPoleH53cdjB3y9zpLlVjRbqB3rH8hx1jiRSBGAhyjV3H+URFjNVRqt2EdYNrbZE5IsGlNfpRg==}
+ dependencies:
+ '@types/unist': 2.0.7
+ dev: false
+
/@types/html-minifier-terser@6.1.0:
resolution: {integrity: sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==}
dev: true
@@ -4612,10 +5161,31 @@ packages:
resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==}
dev: true
- /@types/lodash@4.14.197:
+ /@types/linkify-it@3.0.2:
+ resolution: {integrity: sha512-HZQYqbiFVWufzCwexrvh694SOim8z2d+xJl5UNamcvQFejLY/2YUtzXHYi3cHdI7PMlS8ejH2slRAOJQ32aNbA==}
+ dev: false
+
+ /@types/lodash@4.14.197:
resolution: {integrity: sha512-BMVOiWs0uNxHVlHBgzTIqJYmj+PgCo4euloGF+5m4okL3rEYzM2EEv78mw8zWSMM57dM7kVIgJ2QDvwHSoCI5g==}
dev: true
+ /@types/markdown-it@12.2.3:
+ resolution: {integrity: sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==}
+ dependencies:
+ '@types/linkify-it': 3.0.2
+ '@types/mdurl': 1.0.2
+ dev: false
+
+ /@types/mdast@3.0.12:
+ resolution: {integrity: sha512-DT+iNIRNX884cx0/Q1ja7NyUPpZuv0KPyL5rGNxm1WC1OtHstl7n4Jb7nk+xacNShQMbczJjt8uFzznpp6kYBg==}
+ dependencies:
+ '@types/unist': 2.0.7
+ dev: false
+
+ /@types/mdurl@1.0.2:
+ resolution: {integrity: sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA==}
+ dev: false
+
/@types/mdx@2.0.6:
resolution: {integrity: sha512-sVcwEG10aFU2KcM7cIA0M410UPv/DesOPyG8zMVk0QUDexHA3lYmGucpEpZ2dtWWhi2ip3CG+5g/iH0PwoW4Fw==}
dev: true
@@ -4632,6 +5202,10 @@ packages:
resolution: {integrity: sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==}
dev: true
+ /@types/ms@0.7.31:
+ resolution: {integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==}
+ dev: false
+
/@types/multiparty@0.0.33:
resolution: {integrity: sha512-Il6cJUpSqgojT7NxbVJUvXkCblm50/yEJYtblISDsNIeNYf4yMAhdizzidUk6h8pJ8yhwK/3Fkb+3Dwcgtwl8w==}
dependencies:
@@ -4656,6 +5230,14 @@ packages:
resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==}
dev: true
+ /@types/object.omit@3.0.0:
+ resolution: {integrity: sha512-I27IoPpH250TUzc9FzXd0P1BV/BMJuzqD3jOz98ehf9dQqGkxlq+hO1bIqZGWqCg5bVOy0g4AUVJtnxe0klDmw==}
+ dev: false
+
+ /@types/object.pick@1.3.2:
+ resolution: {integrity: sha512-sn7L+qQ6RLPdXRoiaE7bZ/Ek+o4uICma/lBFPyJEKDTPTBP1W8u0c4baj3EiS4DiqLs+Hk+KUGvMVJtAw3ePJg==}
+ dev: false
+
/@types/parse-json@4.0.0:
resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==}
dev: true
@@ -4670,7 +5252,6 @@ packages:
/@types/prop-types@15.7.5:
resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==}
- dev: true
/@types/qs@6.9.7:
resolution: {integrity: sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==}
@@ -4693,7 +5274,6 @@ packages:
'@types/prop-types': 15.7.5
'@types/scheduler': 0.16.3
csstype: 3.1.2
- dev: true
/@types/relay-runtime@14.1.4:
resolution: {integrity: sha512-463BgnIkwthKkRsBNNwU9xJ2z5qJkX9l6qCtiMO01KOm+f4V8n8Z4kLHzn7d2qXYBdRgReisi6DlG7wrwACEFQ==}
@@ -4701,7 +5281,6 @@ packages:
/@types/scheduler@0.16.3:
resolution: {integrity: sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==}
- dev: true
/@types/semver@7.5.0:
resolution: {integrity: sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==}
@@ -4730,9 +5309,12 @@ packages:
resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==}
dev: true
+ /@types/throttle-debounce@2.1.0:
+ resolution: {integrity: sha512-5eQEtSCoESnh2FsiLTxE121IiE60hnMqcb435fShf4bpLRjEu1Eoekht23y6zXS9Ts3l+Szu3TARnTsA0GkOkQ==}
+ dev: false
+
/@types/unist@2.0.7:
resolution: {integrity: sha512-cputDpIbFgLUaGQn6Vqg3/YsJwxUwHLO13v3i5ouxT4lat0khip9AEWxtERujXV9wxIB1EyF97BSJFt6vpdI8g==}
- dev: true
/@types/yargs-parser@21.0.0:
resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==}
@@ -5313,14 +5895,12 @@ packages:
/argparse@2.0.1:
resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
- dev: true
/aria-hidden@1.2.3:
resolution: {integrity: sha512-xcLxITLe2HYa1cnYnwCjkOO1PqUHQpozB8x9AR0OgWN2woOBi5kSDVxKfd0b7sb1hw5qFeJhXm9H1nu3xSfLeQ==}
engines: {node: '>=10'}
dependencies:
tslib: 2.6.2
- dev: true
/aria-query@5.1.3:
resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==}
@@ -5661,6 +6241,10 @@ packages:
babel-preset-current-node-syntax: 1.0.1(@babel/core@7.22.10)
dev: true
+ /bail@2.0.2:
+ resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==}
+ dev: false
+
/balanced-match@1.0.2:
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
@@ -5934,6 +6518,11 @@ packages:
/caniuse-lite@1.0.30001521:
resolution: {integrity: sha512-fnx1grfpEOvDGH+V17eccmNjucGUnCbP6KL+l5KqBIerp26WK/+RQ7CIDE37KGJjaPyqWXXlFUyKiWmvdNNKmQ==}
+ /case-anything@2.1.13:
+ resolution: {integrity: sha512-zlOQ80VrQ2Ue+ymH5OuM/DlDq64mEm+B9UTdHULv5osUMD6HalNTblf2b1u/m6QecjsnOkBpqVZ+XPwIVsy7Ng==}
+ engines: {node: '>=12.13'}
+ dev: false
+
/case-sensitive-paths-webpack-plugin@2.4.0:
resolution: {integrity: sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==}
engines: {node: '>=4'}
@@ -5968,6 +6557,10 @@ packages:
engines: {node: '>=10'}
dev: true
+ /character-entities@2.0.2:
+ resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==}
+ dev: false
+
/charenc@0.0.2:
resolution: {integrity: sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==}
dev: false
@@ -6099,6 +6692,11 @@ packages:
engines: {node: '>=0.8'}
dev: true
+ /clsx@2.0.0:
+ resolution: {integrity: sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==}
+ engines: {node: '>=6'}
+ dev: false
+
/co@4.6.0:
resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==}
engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'}
@@ -6150,6 +6748,10 @@ packages:
dependencies:
delayed-stream: 1.0.0
+ /comma-separated-tokens@2.0.3:
+ resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==}
+ dev: false
+
/commander@2.20.3:
resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
@@ -6320,6 +6922,10 @@ packages:
sha.js: 2.4.11
dev: true
+ /crelt@1.0.6:
+ resolution: {integrity: sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==}
+ dev: false
+
/cross-env@7.0.3:
resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==}
engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'}
@@ -6394,6 +7000,19 @@ packages:
nth-check: 2.1.1
dev: true
+ /css-styled@1.0.8:
+ resolution: {integrity: sha512-tCpP7kLRI8dI95rCh3Syl7I+v7PP+2JYOzWkl0bUEoSbJM+u8ITbutjlQVf0NC2/g4ULROJPi16sfwDIO8/84g==}
+ dependencies:
+ '@daybrush/utils': 1.13.0
+ dev: false
+
+ /css-to-mat@1.1.1:
+ resolution: {integrity: sha512-kvpxFYZb27jRd2vium35G7q5XZ2WJ9rWjDUMNT36M3Hc41qCrLXFM5iEKMGXcrPsKfXEN+8l/riB4QzwwwiEyQ==}
+ dependencies:
+ '@daybrush/utils': 1.13.0
+ '@scena/matrix': 1.1.1
+ dev: false
+
/css-what@6.1.0:
resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==}
engines: {node: '>= 6'}
@@ -6406,12 +7025,15 @@ packages:
/csstype@3.1.2:
resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==}
- dev: true
/damerau-levenshtein@1.0.8:
resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==}
dev: true
+ /dash-get@1.0.2:
+ resolution: {integrity: sha512-4FbVrHDwfOASx7uQVxeiCTo7ggSdYZbqs8lH+WU6ViypPlDbe9y6IP5VVUDQBv9DcnyaiPT5XT0UWHgJ64zLeQ==}
+ dev: false
+
/data-uri-to-buffer@4.0.1:
resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==}
engines: {node: '>= 12'}
@@ -6454,6 +7076,12 @@ packages:
dependencies:
ms: 2.1.2
+ /decode-named-character-reference@1.0.2:
+ resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==}
+ dependencies:
+ character-entities: 2.0.2
+ dev: false
+
/dedent@0.7.0:
resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==}
dev: true
@@ -6497,7 +7125,6 @@ packages:
/deepmerge@4.3.1:
resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
engines: {node: '>=0.10.0'}
- dev: true
/default-browser-id@3.0.0:
resolution: {integrity: sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==}
@@ -6561,7 +7188,6 @@ packages:
/dequal@2.0.3:
resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
engines: {node: '>=6'}
- dev: true
/des.js@1.1.0:
resolution: {integrity: sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==}
@@ -6587,7 +7213,6 @@ packages:
/detect-node-es@1.1.0:
resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==}
- dev: true
/detect-package-manager@2.0.1:
resolution: {integrity: sha512-j/lJHyoLlWi6G1LDdLgvUtz60Zo5GEj+sVYtTVXnYLDPuzgC3llMxonXym9zIwhhUII8vjdw0LXxavpLqTbl1A==}
@@ -6622,6 +7247,11 @@ packages:
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dev: true
+ /diff@5.1.0:
+ resolution: {integrity: sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==}
+ engines: {node: '>=0.3.1'}
+ dev: false
+
/diffie-hellman@5.0.3:
resolution: {integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==}
dependencies:
@@ -6802,6 +7432,11 @@ packages:
resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==}
dev: true
+ /entities@3.0.1:
+ resolution: {integrity: sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==}
+ engines: {node: '>=0.12'}
+ dev: false
+
/envinfo@7.10.0:
resolution: {integrity: sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw==}
engines: {node: '>=4'}
@@ -6993,7 +7628,6 @@ packages:
/escape-string-regexp@4.0.0:
resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
engines: {node: '>=10'}
- dev: true
/escodegen@2.1.0:
resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==}
@@ -7557,7 +8191,6 @@ packages:
/extend@3.0.2:
resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
- dev: true
/extract-zip@1.7.0:
resolution: {integrity: sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==}
@@ -7855,6 +8488,10 @@ packages:
resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==}
dev: true
+ /framework-utils@1.1.0:
+ resolution: {integrity: sha512-KAfqli5PwpFJ8o3psRNs8svpMGyCSAe8nmGcjQ0zZBWN2H6dZDnq+ABp3N3hdUmFeMrLtjOCTXD4yplUJIWceg==}
+ dev: false
+
/fresh@0.5.2:
resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==}
engines: {node: '>= 0.6'}
@@ -7928,6 +8565,13 @@ packages:
resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
engines: {node: '>=6.9.0'}
+ /gesto@1.19.1:
+ resolution: {integrity: sha512-ofWVEdqmnpFm3AFf7aoclhoayseb3OkwSiXbXusKYu/99iN5HgeWP+SWqdghQ5TFlOgP5Zlz+6SY8mP2V0kFaQ==}
+ dependencies:
+ '@daybrush/utils': 1.13.0
+ '@scena/event-emitter': 1.0.5
+ dev: false
+
/get-caller-file@2.0.5:
resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
engines: {node: 6.* || 8.* || >= 10.*}
@@ -7945,7 +8589,6 @@ packages:
/get-nonce@1.0.1:
resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==}
engines: {node: '>=6'}
- dev: true
/get-npm-tarball-url@2.0.3:
resolution: {integrity: sha512-R/PW6RqyaBQNWYaSyfrh54/qtcnOp22FHCCiRhSSZj0FP3KQWCsxxt0DzIdVTbwTqe9CtQfvl/FPD4UIPt4pqw==}
@@ -8198,6 +8841,10 @@ packages:
minimalistic-assert: 1.0.1
dev: true
+ /hast-util-whitespace@2.0.1:
+ resolution: {integrity: sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==}
+ dev: false
+
/he@1.2.0:
resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==}
hasBin: true
@@ -8412,6 +9059,10 @@ packages:
/inherits@2.0.4:
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
+ /inline-style-parser@0.1.1:
+ resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==}
+ dev: false
+
/install@0.13.0:
resolution: {integrity: sha512-zDml/jzr2PKU9I8J/xyZBQn8rPCAY//UOYNmR01XwNwyfhEWObo2SWfSl1+0tm1u6PhxLwDnfsT/6jB7OUxqFA==}
engines: {node: '>= 0.10'}
@@ -8502,6 +9153,11 @@ packages:
resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==}
dev: false
+ /is-buffer@2.0.5:
+ resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==}
+ engines: {node: '>=4'}
+ dev: false
+
/is-callable@1.2.7:
resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
engines: {node: '>= 0.4'}
@@ -8529,6 +9185,13 @@ packages:
hasBin: true
dev: true
+ /is-extendable@1.0.1:
+ resolution: {integrity: sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ is-plain-object: 2.0.4
+ dev: false
+
/is-extglob@2.1.1:
resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
engines: {node: '>=0.10.0'}
@@ -8618,12 +9281,16 @@ packages:
engines: {node: '>=8'}
dev: true
+ /is-plain-obj@4.1.0:
+ resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==}
+ engines: {node: '>=12'}
+ dev: false
+
/is-plain-object@2.0.4:
resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==}
engines: {node: '>=0.10.0'}
dependencies:
isobject: 3.0.1
- dev: true
/is-plain-object@5.0.0:
resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==}
@@ -8728,7 +9395,6 @@ packages:
/isobject@3.0.1:
resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==}
engines: {node: '>=0.10.0'}
- dev: true
/istanbul-lib-coverage@3.2.0:
resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==}
@@ -9349,6 +10015,19 @@ packages:
object.values: 1.1.6
dev: true
+ /keycode@2.2.1:
+ resolution: {integrity: sha512-Rdgz9Hl9Iv4QKi8b0OlCRQEzp4AgVxyCtz5S/+VIHezDmrDhkp2N2TqBWOLz0/gbeREXOOiI9/4b8BY9uw2vFg==}
+ dev: false
+
+ /keycon@1.4.0:
+ resolution: {integrity: sha512-p1NAIxiRMH3jYfTeXRs2uWbVJ1WpEjpi8ktzUyBJsX7/wn2qu2VRXktneBLNtKNxJmlUYxRi9gOJt1DuthXR7A==}
+ dependencies:
+ '@cfcs/core': 0.0.6
+ '@daybrush/utils': 1.13.0
+ '@scena/event-emitter': 1.0.5
+ keycode: 2.2.1
+ dev: false
+
/kind-of@6.0.3:
resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==}
engines: {node: '>=0.10.0'}
@@ -9359,6 +10038,11 @@ packages:
engines: {node: '>=6'}
dev: true
+ /kleur@4.1.5:
+ resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==}
+ engines: {node: '>=6'}
+ dev: false
+
/klona@2.0.6:
resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==}
engines: {node: '>= 8'}
@@ -9416,6 +10100,16 @@ packages:
resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
dev: true
+ /linkify-it@4.0.1:
+ resolution: {integrity: sha512-C7bfi1UZmoj8+PQx22XyeXCuBlokoyWQL5pWSP+EI6nzRylyThouddufc2c1NDIcP9k5agmN9fLpA7VNJfIiqw==}
+ dependencies:
+ uc.micro: 1.0.6
+ dev: false
+
+ /linkifyjs@4.1.1:
+ resolution: {integrity: sha512-zFN/CTVmbcVef+WaDXT63dNzzkfRBKT1j464NJQkV7iSgJU0sLBus9W0HBwnXK13/hf168pbrx/V/bjEHOXNHA==}
+ dev: false
+
/lint-staged@13.0.2:
resolution: {integrity: sha512-qQLfLTh9z34eMzfEHENC+QBskZfxjomrf+snF3xJ4BzilORbD989NLqQ00ughsF/A+PT41e87+WsMFabf9++pQ==}
engines: {node: ^14.13.1 || >=16.0.0}
@@ -9592,6 +10286,14 @@ packages:
resolution: {integrity: sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ==}
dev: false
+ /lucide-react@0.269.0(react@18.2.0):
+ resolution: {integrity: sha512-+ViEb/2eJJt43/CtxpTfvqu/8gzK49cSUdeuqRuFYiZmX9AvwfumtETM4plhXHymfHb6/mVbHg9uIlc13y+uew==}
+ peerDependencies:
+ react: ^16.5.1 || ^17.0.0 || ^18.0.0
+ dependencies:
+ react: 18.2.0
+ dev: false
+
/lz-string@1.5.0:
resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==}
hasBin: true
@@ -9626,6 +10328,10 @@ packages:
semver: 7.5.4
dev: true
+ /make-error@1.3.6:
+ resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==}
+ dev: false
+
/makeerror@1.0.12:
resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==}
dependencies:
@@ -9636,6 +10342,21 @@ packages:
resolution: {integrity: sha512-0aF7ZmVon1igznGI4VS30yugpduQW3y3GkcgGJOp7d8x8QrizhigUxjI/m2UojsXXto+jLAH3KSz+xOJTiORjg==}
dev: true
+ /markdown-it-task-lists@2.1.1:
+ resolution: {integrity: sha512-TxFAc76Jnhb2OUu+n3yz9RMu4CwGfaT788br6HhEDlvWfdeJcLUsxk1Hgw2yJio0OXsxv7pyIPmvECY7bMbluA==}
+ dev: false
+
+ /markdown-it@13.0.1:
+ resolution: {integrity: sha512-lTlxriVoy2criHP0JKRhO2VDG9c2ypWCsT237eDiLqi09rmbKoUetyGHq2uOIRoRS//kfoJckS0eUzzkDR+k2Q==}
+ hasBin: true
+ dependencies:
+ argparse: 2.0.1
+ entities: 3.0.1
+ linkify-it: 4.0.1
+ mdurl: 1.0.1
+ uc.micro: 1.0.6
+ dev: false
+
/markdown-to-jsx@7.3.2(react@18.2.0):
resolution: {integrity: sha512-B+28F5ucp83aQm+OxNrPkS8z0tMKaeHiy0lHJs3LqCyDQFtWuenaIrkaVTgAm1pf1AU85LXltva86hlaT17i8Q==}
engines: {node: '>= 10'}
@@ -9667,10 +10388,60 @@ packages:
unist-util-visit: 2.0.3
dev: true
+ /mdast-util-definitions@5.1.2:
+ resolution: {integrity: sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==}
+ dependencies:
+ '@types/mdast': 3.0.12
+ '@types/unist': 2.0.7
+ unist-util-visit: 4.1.2
+ dev: false
+
+ /mdast-util-from-markdown@1.3.1:
+ resolution: {integrity: sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==}
+ dependencies:
+ '@types/mdast': 3.0.12
+ '@types/unist': 2.0.7
+ decode-named-character-reference: 1.0.2
+ mdast-util-to-string: 3.2.0
+ micromark: 3.2.0
+ micromark-util-decode-numeric-character-reference: 1.1.0
+ micromark-util-decode-string: 1.1.0
+ micromark-util-normalize-identifier: 1.1.0
+ micromark-util-symbol: 1.1.0
+ micromark-util-types: 1.1.0
+ unist-util-stringify-position: 3.0.3
+ uvu: 0.5.6
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /mdast-util-to-hast@12.3.0:
+ resolution: {integrity: sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==}
+ dependencies:
+ '@types/hast': 2.3.5
+ '@types/mdast': 3.0.12
+ mdast-util-definitions: 5.1.2
+ micromark-util-sanitize-uri: 1.2.0
+ trim-lines: 3.0.1
+ unist-util-generated: 2.0.1
+ unist-util-position: 4.0.4
+ unist-util-visit: 4.1.2
+ dev: false
+
/mdast-util-to-string@1.1.0:
resolution: {integrity: sha512-jVU0Nr2B9X3MU4tSK7JP1CMkSvOj7X5l/GboG1tKRw52lLF1x2Ju92Ms9tNetCcbfX3hzlM73zYo2NKkWSfF/A==}
dev: true
+ /mdast-util-to-string@3.2.0:
+ resolution: {integrity: sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==}
+ dependencies:
+ '@types/mdast': 3.0.12
+ dev: false
+
+ /mdurl@1.0.1:
+ resolution: {integrity: sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==}
+ dev: false
+
/media-typer@0.3.0:
resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==}
engines: {node: '>= 0.6'}
@@ -9706,6 +10477,181 @@ packages:
engines: {node: '>= 0.6'}
dev: true
+ /micromark-core-commonmark@1.1.0:
+ resolution: {integrity: sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==}
+ dependencies:
+ decode-named-character-reference: 1.0.2
+ micromark-factory-destination: 1.1.0
+ micromark-factory-label: 1.1.0
+ micromark-factory-space: 1.1.0
+ micromark-factory-title: 1.1.0
+ micromark-factory-whitespace: 1.1.0
+ micromark-util-character: 1.2.0
+ micromark-util-chunked: 1.1.0
+ micromark-util-classify-character: 1.1.0
+ micromark-util-html-tag-name: 1.2.0
+ micromark-util-normalize-identifier: 1.1.0
+ micromark-util-resolve-all: 1.1.0
+ micromark-util-subtokenize: 1.1.0
+ micromark-util-symbol: 1.1.0
+ micromark-util-types: 1.1.0
+ uvu: 0.5.6
+ dev: false
+
+ /micromark-factory-destination@1.1.0:
+ resolution: {integrity: sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==}
+ dependencies:
+ micromark-util-character: 1.2.0
+ micromark-util-symbol: 1.1.0
+ micromark-util-types: 1.1.0
+ dev: false
+
+ /micromark-factory-label@1.1.0:
+ resolution: {integrity: sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==}
+ dependencies:
+ micromark-util-character: 1.2.0
+ micromark-util-symbol: 1.1.0
+ micromark-util-types: 1.1.0
+ uvu: 0.5.6
+ dev: false
+
+ /micromark-factory-space@1.1.0:
+ resolution: {integrity: sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==}
+ dependencies:
+ micromark-util-character: 1.2.0
+ micromark-util-types: 1.1.0
+ dev: false
+
+ /micromark-factory-title@1.1.0:
+ resolution: {integrity: sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==}
+ dependencies:
+ micromark-factory-space: 1.1.0
+ micromark-util-character: 1.2.0
+ micromark-util-symbol: 1.1.0
+ micromark-util-types: 1.1.0
+ dev: false
+
+ /micromark-factory-whitespace@1.1.0:
+ resolution: {integrity: sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==}
+ dependencies:
+ micromark-factory-space: 1.1.0
+ micromark-util-character: 1.2.0
+ micromark-util-symbol: 1.1.0
+ micromark-util-types: 1.1.0
+ dev: false
+
+ /micromark-util-character@1.2.0:
+ resolution: {integrity: sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==}
+ dependencies:
+ micromark-util-symbol: 1.1.0
+ micromark-util-types: 1.1.0
+ dev: false
+
+ /micromark-util-chunked@1.1.0:
+ resolution: {integrity: sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==}
+ dependencies:
+ micromark-util-symbol: 1.1.0
+ dev: false
+
+ /micromark-util-classify-character@1.1.0:
+ resolution: {integrity: sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==}
+ dependencies:
+ micromark-util-character: 1.2.0
+ micromark-util-symbol: 1.1.0
+ micromark-util-types: 1.1.0
+ dev: false
+
+ /micromark-util-combine-extensions@1.1.0:
+ resolution: {integrity: sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==}
+ dependencies:
+ micromark-util-chunked: 1.1.0
+ micromark-util-types: 1.1.0
+ dev: false
+
+ /micromark-util-decode-numeric-character-reference@1.1.0:
+ resolution: {integrity: sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==}
+ dependencies:
+ micromark-util-symbol: 1.1.0
+ dev: false
+
+ /micromark-util-decode-string@1.1.0:
+ resolution: {integrity: sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==}
+ dependencies:
+ decode-named-character-reference: 1.0.2
+ micromark-util-character: 1.2.0
+ micromark-util-decode-numeric-character-reference: 1.1.0
+ micromark-util-symbol: 1.1.0
+ dev: false
+
+ /micromark-util-encode@1.1.0:
+ resolution: {integrity: sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==}
+ dev: false
+
+ /micromark-util-html-tag-name@1.2.0:
+ resolution: {integrity: sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==}
+ dev: false
+
+ /micromark-util-normalize-identifier@1.1.0:
+ resolution: {integrity: sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==}
+ dependencies:
+ micromark-util-symbol: 1.1.0
+ dev: false
+
+ /micromark-util-resolve-all@1.1.0:
+ resolution: {integrity: sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==}
+ dependencies:
+ micromark-util-types: 1.1.0
+ dev: false
+
+ /micromark-util-sanitize-uri@1.2.0:
+ resolution: {integrity: sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==}
+ dependencies:
+ micromark-util-character: 1.2.0
+ micromark-util-encode: 1.1.0
+ micromark-util-symbol: 1.1.0
+ dev: false
+
+ /micromark-util-subtokenize@1.1.0:
+ resolution: {integrity: sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==}
+ dependencies:
+ micromark-util-chunked: 1.1.0
+ micromark-util-symbol: 1.1.0
+ micromark-util-types: 1.1.0
+ uvu: 0.5.6
+ dev: false
+
+ /micromark-util-symbol@1.1.0:
+ resolution: {integrity: sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==}
+ dev: false
+
+ /micromark-util-types@1.1.0:
+ resolution: {integrity: sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==}
+ dev: false
+
+ /micromark@3.2.0:
+ resolution: {integrity: sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==}
+ dependencies:
+ '@types/debug': 4.1.8
+ debug: 4.3.4
+ decode-named-character-reference: 1.0.2
+ micromark-core-commonmark: 1.1.0
+ micromark-factory-space: 1.1.0
+ micromark-util-character: 1.2.0
+ micromark-util-chunked: 1.1.0
+ micromark-util-combine-extensions: 1.1.0
+ micromark-util-decode-numeric-character-reference: 1.1.0
+ micromark-util-encode: 1.1.0
+ micromark-util-normalize-identifier: 1.1.0
+ micromark-util-resolve-all: 1.1.0
+ micromark-util-sanitize-uri: 1.2.0
+ micromark-util-subtokenize: 1.1.0
+ micromark-util-symbol: 1.1.0
+ micromark-util-types: 1.1.0
+ uvu: 0.5.6
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
/micromatch@4.0.5:
resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
engines: {node: '>=8.6'}
@@ -9832,7 +10778,6 @@ packages:
/mri@1.2.0:
resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==}
engines: {node: '>=4'}
- dev: true
/ms@2.0.0:
resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
@@ -10137,6 +11082,20 @@ packages:
es-abstract: 1.22.1
dev: true
+ /object.omit@3.0.0:
+ resolution: {integrity: sha512-EO+BCv6LJfu+gBIF3ggLicFebFLN5zqzz/WWJlMFfkMyGth+oBkhxzDl0wx2W4GkLzuQs/FsSkXZb2IMWQqmBQ==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ is-extendable: 1.0.1
+ dev: false
+
+ /object.pick@1.3.0:
+ resolution: {integrity: sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ isobject: 3.0.1
+ dev: false
+
/object.values@1.1.6:
resolution: {integrity: sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==}
engines: {node: '>= 0.4'}
@@ -10217,10 +11176,20 @@ packages:
wcwidth: 1.0.1
dev: true
+ /orderedmap@2.1.1:
+ resolution: {integrity: sha512-TvAWxi0nDe1j/rtMcWcIj94+Ffe6n7zhow33h40SKxmsmozs6dz/e+EajymfoFcHd7sxNn8yHM8839uixMOV6g==}
+ dev: false
+
/os-browserify@0.3.0:
resolution: {integrity: sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==}
dev: true
+ /overlap-area@1.1.0:
+ resolution: {integrity: sha512-3dlJgJCaVeXH0/eZjYVJvQiLVVrPO4U1ZGqlATtx6QGO3b5eNM6+JgUKa7oStBTdYuGTk7gVoABCW6Tp+dhRdw==}
+ dependencies:
+ '@daybrush/utils': 1.13.0
+ dev: false
+
/p-limit@2.3.0:
resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==}
engines: {node: '>=6'}
@@ -10716,7 +11685,153 @@ packages:
loose-envify: 1.4.0
object-assign: 4.1.1
react-is: 16.13.1
- dev: true
+
+ /property-information@6.2.0:
+ resolution: {integrity: sha512-kma4U7AFCTwpqq5twzC1YVIDXSqg6qQK6JN0smOw8fgRy1OkMi0CYSzFmsy6dnqSenamAtj0CyXMUJ1Mf6oROg==}
+ dev: false
+
+ /prosemirror-changeset@2.2.1:
+ resolution: {integrity: sha512-J7msc6wbxB4ekDFj+n9gTW/jav/p53kdlivvuppHsrZXCaQdVgRghoZbSS3kwrRyAstRVQ4/+u5k7YfLgkkQvQ==}
+ dependencies:
+ prosemirror-transform: 1.7.5
+ dev: false
+
+ /prosemirror-collab@1.3.1:
+ resolution: {integrity: sha512-4SnynYR9TTYaQVXd/ieUvsVV4PDMBzrq2xPUWutHivDuOshZXqQ5rGbZM84HEaXKbLdItse7weMGOUdDVcLKEQ==}
+ dependencies:
+ prosemirror-state: 1.4.3
+ dev: false
+
+ /prosemirror-commands@1.5.2:
+ resolution: {integrity: sha512-hgLcPaakxH8tu6YvVAaILV2tXYsW3rAdDR8WNkeKGcgeMVQg3/TMhPdVoh7iAmfgVjZGtcOSjKiQaoeKjzd2mQ==}
+ dependencies:
+ prosemirror-model: 1.19.3
+ prosemirror-state: 1.4.3
+ prosemirror-transform: 1.7.5
+ dev: false
+
+ /prosemirror-dropcursor@1.8.1:
+ resolution: {integrity: sha512-M30WJdJZLyXHi3N8vxN6Zh5O8ZBbQCz0gURTfPmTIBNQ5pxrdU7A58QkNqfa98YEjSAL1HUyyU34f6Pm5xBSGw==}
+ dependencies:
+ prosemirror-state: 1.4.3
+ prosemirror-transform: 1.7.5
+ prosemirror-view: 1.31.7
+ dev: false
+
+ /prosemirror-gapcursor@1.3.2:
+ resolution: {integrity: sha512-wtjswVBd2vaQRrnYZaBCbyDqr232Ed4p2QPtRIUK5FuqHYKGWkEwl08oQM4Tw7DOR0FsasARV5uJFvMZWxdNxQ==}
+ dependencies:
+ prosemirror-keymap: 1.2.2
+ prosemirror-model: 1.19.3
+ prosemirror-state: 1.4.3
+ prosemirror-view: 1.31.7
+ dev: false
+
+ /prosemirror-history@1.3.2:
+ resolution: {integrity: sha512-/zm0XoU/N/+u7i5zepjmZAEnpvjDtzoPWW6VmKptcAnPadN/SStsBjMImdCEbb3seiNTpveziPTIrXQbHLtU1g==}
+ dependencies:
+ prosemirror-state: 1.4.3
+ prosemirror-transform: 1.7.5
+ prosemirror-view: 1.31.7
+ rope-sequence: 1.3.4
+ dev: false
+
+ /prosemirror-inputrules@1.2.1:
+ resolution: {integrity: sha512-3LrWJX1+ULRh5SZvbIQlwZafOXqp1XuV21MGBu/i5xsztd+9VD15x6OtN6mdqSFI7/8Y77gYUbQ6vwwJ4mr6QQ==}
+ dependencies:
+ prosemirror-state: 1.4.3
+ prosemirror-transform: 1.7.5
+ dev: false
+
+ /prosemirror-keymap@1.2.2:
+ resolution: {integrity: sha512-EAlXoksqC6Vbocqc0GtzCruZEzYgrn+iiGnNjsJsH4mrnIGex4qbLdWWNza3AW5W36ZRrlBID0eM6bdKH4OStQ==}
+ dependencies:
+ prosemirror-state: 1.4.3
+ w3c-keyname: 2.2.8
+ dev: false
+
+ /prosemirror-markdown@1.11.2:
+ resolution: {integrity: sha512-Eu5g4WPiCdqDTGhdSsG9N6ZjACQRYrsAkrF9KYfdMaCmjIApH75aVncsWYOJvEk2i1B3i8jZppv3J/tnuHGiUQ==}
+ dependencies:
+ markdown-it: 13.0.1
+ prosemirror-model: 1.19.3
+ dev: false
+
+ /prosemirror-menu@1.2.4:
+ resolution: {integrity: sha512-S/bXlc0ODQup6aiBbWVsX/eM+xJgCTAfMq/nLqaO5ID/am4wS0tTCIkzwytmao7ypEtjj39i7YbJjAgO20mIqA==}
+ dependencies:
+ crelt: 1.0.6
+ prosemirror-commands: 1.5.2
+ prosemirror-history: 1.3.2
+ prosemirror-state: 1.4.3
+ dev: false
+
+ /prosemirror-model@1.19.3:
+ resolution: {integrity: sha512-tgSnwN7BS7/UM0sSARcW+IQryx2vODKX4MI7xpqY2X+iaepJdKBPc7I4aACIsDV/LTaTjt12Z56MhDr9LsyuZQ==}
+ dependencies:
+ orderedmap: 2.1.1
+ dev: false
+
+ /prosemirror-schema-basic@1.2.2:
+ resolution: {integrity: sha512-/dT4JFEGyO7QnNTe9UaKUhjDXbTNkiWTq/N4VpKaF79bBjSExVV2NXmJpcM7z/gD7mbqNjxbmWW5nf1iNSSGnw==}
+ dependencies:
+ prosemirror-model: 1.19.3
+ dev: false
+
+ /prosemirror-schema-list@1.3.0:
+ resolution: {integrity: sha512-Hz/7gM4skaaYfRPNgr421CU4GSwotmEwBVvJh5ltGiffUJwm7C8GfN/Bc6DR1EKEp5pDKhODmdXXyi9uIsZl5A==}
+ dependencies:
+ prosemirror-model: 1.19.3
+ prosemirror-state: 1.4.3
+ prosemirror-transform: 1.7.5
+ dev: false
+
+ /prosemirror-state@1.4.3:
+ resolution: {integrity: sha512-goFKORVbvPuAQaXhpbemJFRKJ2aixr+AZMGiquiqKxaucC6hlpHNZHWgz5R7dS4roHiwq9vDctE//CZ++o0W1Q==}
+ dependencies:
+ prosemirror-model: 1.19.3
+ prosemirror-transform: 1.7.5
+ prosemirror-view: 1.31.7
+ dev: false
+
+ /prosemirror-tables@1.3.4:
+ resolution: {integrity: sha512-z6uLSQ1BLC3rgbGwZmpfb+xkdvD7W/UOsURDfognZFYaTtc0gsk7u/t71Yijp2eLflVpffMk6X0u0+u+MMDvIw==}
+ dependencies:
+ prosemirror-keymap: 1.2.2
+ prosemirror-model: 1.19.3
+ prosemirror-state: 1.4.3
+ prosemirror-transform: 1.7.5
+ prosemirror-view: 1.31.7
+ dev: false
+
+ /prosemirror-trailing-node@2.0.7(prosemirror-model@1.19.3)(prosemirror-state@1.4.3)(prosemirror-view@1.31.7):
+ resolution: {integrity: sha512-8zcZORYj/8WEwsGo6yVCRXFMOfBo0Ub3hCUvmoWIZYfMP26WqENU0mpEP27w7mt8buZWuGrydBewr0tOArPb1Q==}
+ peerDependencies:
+ prosemirror-model: ^1.19.0
+ prosemirror-state: ^1.4.2
+ prosemirror-view: ^1.31.2
+ dependencies:
+ '@remirror/core-constants': 2.0.2
+ '@remirror/core-helpers': 3.0.0
+ escape-string-regexp: 4.0.0
+ prosemirror-model: 1.19.3
+ prosemirror-state: 1.4.3
+ prosemirror-view: 1.31.7
+ dev: false
+
+ /prosemirror-transform@1.7.5:
+ resolution: {integrity: sha512-U/fWB6frEzY7dzwJUo+ir8dU1JEanaI/RwL12Imy9js/527N0v/IRUKewocP1kTq998JNT18IGtThaDLwLOBxQ==}
+ dependencies:
+ prosemirror-model: 1.19.3
+ dev: false
+
+ /prosemirror-view@1.31.7:
+ resolution: {integrity: sha512-Pr7w93yOYmxQwzGIRSaNLZ/1uM6YjnenASzN2H6fO6kGekuzRbgZ/4bHbBTd1u4sIQmL33/TcGmzxxidyPwCjg==}
+ dependencies:
+ prosemirror-model: 1.19.3
+ prosemirror-state: 1.4.3
+ prosemirror-transform: 1.7.5
+ dev: false
/proxy-addr@2.0.7:
resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==}
@@ -10913,6 +12028,13 @@ packages:
tween-functions: 1.2.0
dev: true
+ /react-css-styled@1.1.9:
+ resolution: {integrity: sha512-M7fJZ3IWFaIHcZEkoFOnkjdiUFmwd8d+gTh2bpqMOcnxy/0Gsykw4dsL4QBiKsxcGow6tETUa4NAUcmJF+/nfw==}
+ dependencies:
+ css-styled: 1.0.8
+ framework-utils: 1.1.0
+ dev: false
+
/react-docgen-typescript@2.2.2(typescript@4.5.5):
resolution: {integrity: sha512-tvg2ZtOpOi6QDwsb3GZhOjDkkX0h8Z2gipvTg6OVMUyoYoURhEiRNePT8NZItTVCDh39JJHnLdfCOkzoLbFnTg==}
peerDependencies:
@@ -10993,15 +12115,59 @@ packages:
/react-is@18.2.0:
resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==}
- dev: true
+
+ /react-markdown@8.0.7(@types/react@17.0.39)(react@18.2.0):
+ resolution: {integrity: sha512-bvWbzG4MtOU62XqBx3Xx+zB2raaFFsq4mYiAzfjXJMEz2sixgeAfraA3tvzULF02ZdOMUOKTBFFaZJDDrq+BJQ==}
+ peerDependencies:
+ '@types/react': '>=16'
+ react: '>=16'
+ dependencies:
+ '@types/hast': 2.3.5
+ '@types/prop-types': 15.7.5
+ '@types/react': 17.0.39
+ '@types/unist': 2.0.7
+ comma-separated-tokens: 2.0.3
+ hast-util-whitespace: 2.0.1
+ prop-types: 15.8.1
+ property-information: 6.2.0
+ react: 18.2.0
+ react-is: 18.2.0
+ remark-parse: 10.0.2
+ remark-rehype: 10.1.0
+ space-separated-tokens: 2.0.2
+ style-to-object: 0.4.2
+ unified: 10.1.2
+ unist-util-visit: 4.1.2
+ vfile: 5.3.7
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /react-moveable@0.54.1:
+ resolution: {integrity: sha512-Kj2ifw9nk3LZvu7ezhst8Z5WBPRr+yVv9oROwrBirFlHmwGHHZXUGk5Gaezu+JGqqNRsQJncVMW5Uf68KSSOvg==}
+ dependencies:
+ '@daybrush/utils': 1.13.0
+ '@egjs/agent': 2.4.3
+ '@egjs/children-differ': 1.0.1
+ '@egjs/list-differ': 1.0.1
+ '@scena/dragscroll': 1.4.0
+ '@scena/event-emitter': 1.0.5
+ '@scena/matrix': 1.1.1
+ css-to-mat: 1.1.1
+ framework-utils: 1.1.0
+ gesto: 1.19.1
+ overlap-area: 1.1.0
+ react-css-styled: 1.1.9
+ react-selecto: 1.26.0
+ dev: false
/react-refresh@0.11.0:
resolution: {integrity: sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==}
engines: {node: '>=0.10.0'}
dev: true
- /react-relay@0.0.0-main-7ac172e9(react@18.2.0):
- resolution: {integrity: sha512-rPIMitKAG9HL1wmzLUOXnbkgpackOIBvUGbpWSGQqdaxsarnoA6gEBC3EvT2qlPmPvY9Nvc+wKscA5KoD/SLQA==}
+ /react-relay@0.0.0-main-5d0887b2(react@18.2.0):
+ resolution: {integrity: sha512-TTErWQiUmilbpWB8HgCQ+iHLxO/1gzmEyue3efFPf2f7Z50cQnUN3JHEyOJqtFQx2UNE1SZKcaEBBqXbh2u3dA==}
peerDependencies:
react: ^16.9.0 || ^17 || ^18
dependencies:
@@ -11010,7 +12176,7 @@ packages:
invariant: 2.2.4
nullthrows: 1.1.1
react: 18.2.0
- relay-runtime: 0.0.0-main-7ac172e9
+ relay-runtime: 0.0.0-main-5d0887b2
transitivePeerDependencies:
- encoding
dev: false
@@ -11029,7 +12195,6 @@ packages:
react: 18.2.0
react-style-singleton: 2.2.1(@types/react@17.0.39)(react@18.2.0)
tslib: 2.6.2
- dev: true
/react-remove-scroll@2.5.5(@types/react@17.0.39)(react@18.2.0):
resolution: {integrity: sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==}
@@ -11048,7 +12213,12 @@ packages:
tslib: 2.6.2
use-callback-ref: 1.3.0(@types/react@17.0.39)(react@18.2.0)
use-sidecar: 1.1.2(@types/react@17.0.39)(react@18.2.0)
- dev: true
+
+ /react-selecto@1.26.0:
+ resolution: {integrity: sha512-aBTZEYA68uE+o8TytNjTb2GpIn4oKEv0U4LIow3cspJQlF/PdAnBwkq9UuiKVuFluu5kfLQ7Keu3S2Tihlmw0g==}
+ dependencies:
+ selecto: 1.26.0
+ dev: false
/react-style-singleton@2.2.1(@types/react@17.0.39)(react@18.2.0):
resolution: {integrity: sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==}
@@ -11065,7 +12235,6 @@ packages:
invariant: 2.2.4
react: 18.2.0
tslib: 2.6.2
- dev: true
/react-virtuoso@2.18.0(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-BxMW9as2dPOP4YFkry/oNjQMEn3cOgEjHLb7Fg8oubOgRAfiukp1Co41QFD9ZMXZBNBZNTI2E5BwC5pol31mTg==}
@@ -11257,8 +12426,8 @@ packages:
hasBin: true
dev: true
- /relay-runtime@0.0.0-main-7ac172e9:
- resolution: {integrity: sha512-SwcnUQU/VOCxQF7CnFWRYky1KE521zrdzr1dLsjQDS0PejBMCpZ4lYBsrtFDO3xzp30X1AfVxxaXNBjFEKEgHw==}
+ /relay-runtime@0.0.0-main-5d0887b2:
+ resolution: {integrity: sha512-/k31altGHsgUgcoh9S0LT1ISrkWMIYvfyh3xf3kIht8oLMGFTjZais7oOHJHyO6Buc4LkylDI+FCPSN2xkHjlw==}
dependencies:
'@babel/runtime': 7.22.10
fbjs: 3.0.5
@@ -11298,6 +12467,25 @@ packages:
unist-util-visit: 2.0.3
dev: true
+ /remark-parse@10.0.2:
+ resolution: {integrity: sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw==}
+ dependencies:
+ '@types/mdast': 3.0.12
+ mdast-util-from-markdown: 1.3.1
+ unified: 10.1.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /remark-rehype@10.1.0:
+ resolution: {integrity: sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==}
+ dependencies:
+ '@types/hast': 2.3.5
+ '@types/mdast': 3.0.12
+ mdast-util-to-hast: 12.3.0
+ unified: 10.1.2
+ dev: false
+
/remark-slug@6.1.0:
resolution: {integrity: sha512-oGCxDF9deA8phWvxFuyr3oSJsdyUAxMFbA0mZ7Y1Sas+emILtO+e5WutF9564gDsEN4IXaQXm5pFo6MLH+YmwQ==}
dependencies:
@@ -11438,6 +12626,10 @@ packages:
fsevents: 2.3.2
dev: false
+ /rope-sequence@1.3.4:
+ resolution: {integrity: sha512-UT5EDe2cu2E/6O4igUr5PSFs23nvvukicWHx6GnOPlHAiiYbzNuCRQCuiUdHJQcqKalLKlrYJnjY0ySGsXNQXQ==}
+ dev: false
+
/run-parallel@1.2.0:
resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
dependencies:
@@ -11450,6 +12642,13 @@ packages:
tslib: 2.6.2
dev: true
+ /sade@1.8.1:
+ resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==}
+ engines: {node: '>=6'}
+ dependencies:
+ mri: 1.2.0
+ dev: false
+
/safe-array-concat@1.0.0:
resolution: {integrity: sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==}
engines: {node: '>=0.4'}
@@ -11530,6 +12729,21 @@ packages:
ajv-keywords: 5.1.0(ajv@8.12.0)
dev: true
+ /selecto@1.26.0:
+ resolution: {integrity: sha512-cEFKdv5rmkF6pf2OScQJllaNp4UJy/FvviB40ZaMSHrQCxC72X/Q6uhzW1tlb2RE+0danvUNJTs64cI9VXtUyg==}
+ dependencies:
+ '@daybrush/utils': 1.13.0
+ '@egjs/children-differ': 1.0.1
+ '@scena/dragscroll': 1.4.0
+ '@scena/event-emitter': 1.0.5
+ css-styled: 1.0.8
+ css-to-mat: 1.1.1
+ framework-utils: 1.1.0
+ gesto: 1.19.1
+ keycon: 1.4.0
+ overlap-area: 1.1.0
+ dev: false
+
/semver@5.7.2:
resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==}
hasBin: true
@@ -11715,6 +12929,16 @@ packages:
is-fullwidth-code-point: 4.0.0
dev: true
+ /sonner@0.7.0(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-vAlXCrE6/183yt64ktIUnPv85RmAPYiicl5z35fDDFhWRIUpg7N62TsiIbHjwGuxbVJu/5hYlh92HHImsS27dA==}
+ peerDependencies:
+ react: ^18.0.0
+ react-dom: ^18.0.0
+ dependencies:
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ dev: false
+
/source-map-js@1.0.2:
resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
engines: {node: '>=0.10.0'}
@@ -11745,6 +12969,10 @@ packages:
resolution: {integrity: sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==}
dev: true
+ /space-separated-tokens@2.0.2:
+ resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==}
+ dev: false
+
/spdx-correct@3.2.0:
resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==}
dependencies:
@@ -12002,6 +13230,12 @@ packages:
webpack: 5.88.2(@swc/core@1.3.78)(esbuild@0.18.20)
dev: true
+ /style-to-object@0.4.2:
+ resolution: {integrity: sha512-1JGpfPB3lo42ZX8cuPrheZbfQ6kqPPnPHlKMyeRYtfKD+0jG+QsXgXN57O/dvJlzlB2elI6dGmrPnl5VPQFPaA==}
+ dependencies:
+ inline-style-parser: 0.1.1
+ dev: false
+
/styled-jsx@5.1.1(@babel/core@7.22.10)(react@18.2.0):
resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==}
engines: {node: '>= 12.0.0'}
@@ -12069,6 +13303,10 @@ packages:
resolution: {integrity: sha512-AsS729u2RHUfEra9xJrE39peJcc2stq2+poBXX8bcM08Y6g9j/i/PUzwNQqkaJde7Ntg1TO7bSREbR5sdosQ+g==}
dev: true
+ /tailwind-merge@1.14.0:
+ resolution: {integrity: sha512-3mFKyCo/MBcgyOTlrY8T7odzZFx+w+qKSMAmdFzRvqBfLlSigU6TZnlFHK0lkMwj9Bj8OYU+9yW9lmGuS0QEnQ==}
+ dev: false
+
/tailwind-scrollbar@2.0.1(tailwindcss@3.3.3):
resolution: {integrity: sha512-OcR7qHBbux4k+k6bWqnEQFYFooLK/F4dhkBz6nvswIoaA9ancZ5h20e0tyV7ifSWLDCUBtpG+1NHRA8HMRH/wg==}
engines: {node: '>=12.13.0'}
@@ -12235,6 +13473,11 @@ packages:
any-promise: 1.3.0
dev: true
+ /throttle-debounce@3.0.1:
+ resolution: {integrity: sha512-dTEWWNu6JmeVXY0ZYoPuH5cRIwc0MeGbJwah9KUNYSJwommQpCzTySTpEe8Gs1J23aeWEuAobe4Ag7EHVt/LOg==}
+ engines: {node: '>=10'}
+ dev: false
+
/through2@2.0.5:
resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==}
dependencies:
@@ -12256,6 +13499,24 @@ packages:
/tiny-invariant@1.3.1:
resolution: {integrity: sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==}
+ /tippy.js@6.3.7:
+ resolution: {integrity: sha512-E1d3oP2emgJ9dRQZdf3Kkn0qJgI6ZLpyS5z6ZkY1DF3kaQaBsGZsndEpHwx+eC+tYM41HaSNvNtLx8tU57FzTQ==}
+ dependencies:
+ '@popperjs/core': 2.11.8
+ dev: false
+
+ /tiptap-markdown@0.8.2(@tiptap/core@2.1.7):
+ resolution: {integrity: sha512-RyfpnH475+FYVh1fCiWF9+wBvA8T6X3PqxZR1MApEewxkoQ5kREQFiVwjZiez9qUQk/Bxu3RerFSJot65V6cbQ==}
+ peerDependencies:
+ '@tiptap/core': ^2.0.3
+ dependencies:
+ '@tiptap/core': 2.1.7(@tiptap/pm@2.1.7)
+ '@types/markdown-it': 12.2.3
+ markdown-it: 13.0.1
+ markdown-it-task-lists: 2.1.1
+ prosemirror-markdown: 1.11.2
+ dev: false
+
/tmpl@1.0.5:
resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==}
dev: true
@@ -12282,6 +13543,14 @@ packages:
/tr46@0.0.3:
resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
+ /trim-lines@3.0.1:
+ resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==}
+ dev: false
+
+ /trough@2.1.0:
+ resolution: {integrity: sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==}
+ dev: false
+
/ts-dedent@2.2.0:
resolution: {integrity: sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==}
engines: {node: '>=6.10'}
@@ -12394,7 +13663,6 @@ packages:
/type-fest@2.19.0:
resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==}
engines: {node: '>=12.20'}
- dev: true
/type-is@1.6.18:
resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==}
@@ -12455,6 +13723,10 @@ packages:
/ua-parser-js@1.0.35:
resolution: {integrity: sha512-fKnGuqmTBnIE+/KXSzCn4db8RTigUzw1AN0DmdU6hJovUTbYJKyqj+8Mt1c4VfRDnOVJnENmfYkIPZ946UrSAA==}
+ /uc.micro@1.0.6:
+ resolution: {integrity: sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==}
+ dev: false
+
/uglify-js@3.17.4:
resolution: {integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==}
engines: {node: '>=0.8.0'}
@@ -12502,6 +13774,18 @@ packages:
engines: {node: '>=4'}
dev: true
+ /unified@10.1.2:
+ resolution: {integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==}
+ dependencies:
+ '@types/unist': 2.0.7
+ bail: 2.0.2
+ extend: 3.0.2
+ is-buffer: 2.0.5
+ is-plain-obj: 4.1.0
+ trough: 2.1.0
+ vfile: 5.3.7
+ dev: false
+
/unique-string@2.0.0:
resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==}
engines: {node: '>=8'}
@@ -12509,10 +13793,32 @@ packages:
crypto-random-string: 2.0.0
dev: true
+ /unist-util-generated@2.0.1:
+ resolution: {integrity: sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==}
+ dev: false
+
/unist-util-is@4.1.0:
resolution: {integrity: sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==}
dev: true
+ /unist-util-is@5.2.1:
+ resolution: {integrity: sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==}
+ dependencies:
+ '@types/unist': 2.0.7
+ dev: false
+
+ /unist-util-position@4.0.4:
+ resolution: {integrity: sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==}
+ dependencies:
+ '@types/unist': 2.0.7
+ dev: false
+
+ /unist-util-stringify-position@3.0.3:
+ resolution: {integrity: sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==}
+ dependencies:
+ '@types/unist': 2.0.7
+ dev: false
+
/unist-util-visit-parents@3.1.1:
resolution: {integrity: sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==}
dependencies:
@@ -12520,6 +13826,13 @@ packages:
unist-util-is: 4.1.0
dev: true
+ /unist-util-visit-parents@5.1.3:
+ resolution: {integrity: sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==}
+ dependencies:
+ '@types/unist': 2.0.7
+ unist-util-is: 5.2.1
+ dev: false
+
/unist-util-visit@2.0.3:
resolution: {integrity: sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==}
dependencies:
@@ -12528,6 +13841,14 @@ packages:
unist-util-visit-parents: 3.1.1
dev: true
+ /unist-util-visit@4.1.2:
+ resolution: {integrity: sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==}
+ dependencies:
+ '@types/unist': 2.0.7
+ unist-util-is: 5.2.1
+ unist-util-visit-parents: 5.1.3
+ dev: false
+
/universalify@2.0.0:
resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==}
engines: {node: '>= 10.0.0'}
@@ -12587,7 +13908,15 @@ packages:
'@types/react': 17.0.39
react: 18.2.0
tslib: 2.6.2
- dev: true
+
+ /use-debounce@9.0.4(react@18.2.0):
+ resolution: {integrity: sha512-6X8H/mikbrt0XE8e+JXRtZ8yYVvKkdYRfmIhWZYsP8rcNs9hk3APV8Ua2mFkKRLcJKVdnX2/Vwrmg2GWKUQEaQ==}
+ engines: {node: '>= 10.0.0'}
+ peerDependencies:
+ react: '>=16.8.0'
+ dependencies:
+ react: 18.2.0
+ dev: false
/use-resize-observer@9.1.0(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-R25VqO9Wb3asSD4eqtcxk8sJalvIOYBqS8MNZlpDSQ4l4xMQxC/J7Id9HoTqPq8FwULIn0PVW+OAqF2dyYbjow==}
@@ -12614,7 +13943,6 @@ packages:
detect-node-es: 1.1.0
react: 18.2.0
tslib: 2.6.2
- dev: true
/util-deprecate@1.0.2:
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
@@ -12643,6 +13971,17 @@ packages:
hasBin: true
dev: true
+ /uvu@0.5.6:
+ resolution: {integrity: sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==}
+ engines: {node: '>=8'}
+ hasBin: true
+ dependencies:
+ dequal: 2.0.3
+ diff: 5.1.0
+ kleur: 4.1.5
+ sade: 1.8.1
+ dev: false
+
/v8-compile-cache@2.4.0:
resolution: {integrity: sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==}
dev: true
@@ -12668,10 +14007,30 @@ packages:
engines: {node: '>= 0.8'}
dev: true
+ /vfile-message@3.1.4:
+ resolution: {integrity: sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==}
+ dependencies:
+ '@types/unist': 2.0.7
+ unist-util-stringify-position: 3.0.3
+ dev: false
+
+ /vfile@5.3.7:
+ resolution: {integrity: sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==}
+ dependencies:
+ '@types/unist': 2.0.7
+ is-buffer: 2.0.5
+ unist-util-stringify-position: 3.0.3
+ vfile-message: 3.1.4
+ dev: false
+
/vm-browserify@1.1.2:
resolution: {integrity: sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==}
dev: true
+ /w3c-keyname@2.2.8:
+ resolution: {integrity: sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==}
+ dev: false
+
/walker@1.0.8:
resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==}
dependencies:
diff --git a/src/components/story/PostEditor.tsx b/src/components/story/PostEditor.tsx
new file mode 100644
index 0000000..2fab588
--- /dev/null
+++ b/src/components/story/PostEditor.tsx
@@ -0,0 +1,93 @@
+'use client'
+
+import { useEditor, EditorContent, JSONContent } from '@tiptap/react'
+import { TiptapExtensions } from './extensions'
+import DEFAULT_EDITOR_CONTENT from './defaultContent'
+import Button from '../Button'
+import { useCallback, useState } from 'react'
+import {
+ Environment,
+ graphql,
+ RelayEnvironmentProvider,
+ useMutation,
+} from 'react-relay'
+import { getCurrentEnvironment } from 'src/relay/environment'
+
+const Tiptap = () => {
+ const [editorContent, setEditorContent] = useState(null)
+ const editor = useEditor({
+ extensions: TiptapExtensions,
+ content: DEFAULT_EDITOR_CONTENT,
+ onUpdate: ({ editor }) => {
+ setEditorContent(editor.getJSON())
+ },
+ })
+
+ const [commitMutation] = useMutation(
+ graphql`
+ mutation StoryEditorCreateMutation($input: StoryInput!) {
+ createStory(story: $input) {
+ id
+ }
+ }
+ `
+ )
+
+ const getTitle = (editorContent: JSONContent[]) => {
+ const titleBlock = editorContent.find(
+ (block) => block.type === 'heading'
+ )?.content
+ if (titleBlock && titleBlock.length > 0) {
+ return titleBlock[0].text
+ }
+ }
+
+ const getAbstract = (editorContent: JSONContent[]) => {
+ const paragraphs = editorContent.filter(
+ (block) => block.type === 'paragraph' && block?.content?.length
+ )
+ return paragraphs.map((paragraph) => paragraph.content[0].text).join(' ')
+ }
+
+ const handleStorySubmit = useCallback(async () => {
+ console.log(editorContent)
+ if (editorContent) {
+ const postTitle = getTitle(editorContent.content)
+ const abstractContent = getAbstract(editorContent.content)
+ commitMutation({
+ variables: {
+ input: {
+ title: postTitle,
+ contentJson: JSON.stringify(editorContent),
+ abstractContent: abstractContent,
+ urlSuffix: postTitle
+ ?.toLowerCase()
+ .replaceAll(' ', '-')
+ .substring(0, 32),
+ thumbnail: '',
+ },
+ },
+ })
+ }
+ }, [editorContent, commitMutation])
+
+ return (
+
+
+
+
+ )
+}
+
+export default function PostEditor({
+ requestCookie,
+}: {
+ requestCookie: string | null
+}) {
+ const environment = getCurrentEnvironment(requestCookie ?? '') as Environment
+ return (
+
+
+
+ )
+}
diff --git a/src/components/story/PostViewer.tsx b/src/components/story/PostViewer.tsx
new file mode 100644
index 0000000..6a2f21b
--- /dev/null
+++ b/src/components/story/PostViewer.tsx
@@ -0,0 +1,19 @@
+import { useEditor, EditorContent } from '@tiptap/react'
+import { TiptapExtensions } from './extensions'
+import DEFAULT_EDITOR_CONTENT from './defaultContent'
+
+const Tiptap = () => {
+ const editor = useEditor({
+ extensions: TiptapExtensions,
+ editable: false,
+ content: DEFAULT_EDITOR_CONTENT,
+ })
+
+ return (
+
+
+
+ )
+}
+
+export default Tiptap
diff --git a/src/components/story/defaultContent.ts b/src/components/story/defaultContent.ts
new file mode 100644
index 0000000..5541149
--- /dev/null
+++ b/src/components/story/defaultContent.ts
@@ -0,0 +1,21 @@
+const DEFAULT_EDITOR_CONTENT = {
+ type: 'doc',
+ content: [
+ {
+ type: 'heading',
+ attrs: { level: 1 },
+ content: [{ type: 'text', text: 'Title of the post' }],
+ },
+ {
+ type: 'paragraph',
+ content: [
+ {
+ type: 'text',
+ text: 'Content of the post',
+ },
+ ],
+ },
+ ],
+}
+
+export default DEFAULT_EDITOR_CONTENT
diff --git a/src/components/story/extensions/index.ts b/src/components/story/extensions/index.ts
new file mode 100644
index 0000000..9f53ee4
--- /dev/null
+++ b/src/components/story/extensions/index.ts
@@ -0,0 +1,120 @@
+import StarterKit from '@tiptap/starter-kit'
+import HorizontalRule from '@tiptap/extension-horizontal-rule'
+import TiptapLink from '@tiptap/extension-link'
+import Placeholder from '@tiptap/extension-placeholder'
+import TiptapUnderline from '@tiptap/extension-underline'
+import Typography from '@tiptap/extension-typography'
+import TextStyle from '@tiptap/extension-text-style'
+import { Color } from '@tiptap/extension-color'
+import TaskItem from '@tiptap/extension-task-item'
+import TaskList from '@tiptap/extension-task-list'
+import { Markdown } from 'tiptap-markdown'
+import Highlight from '@tiptap/extension-highlight'
+import { InputRule } from '@tiptap/core'
+
+export const TiptapExtensions = [
+ StarterKit.configure({
+ bulletList: {
+ HTMLAttributes: {
+ class: 'list-disc list-outside leading-3 -mt-2',
+ },
+ },
+ orderedList: {
+ HTMLAttributes: {
+ class: 'list-decimal list-outside leading-3 -mt-2',
+ },
+ },
+ listItem: {
+ HTMLAttributes: {
+ class: 'leading-normal -mb-2',
+ },
+ },
+ blockquote: {
+ HTMLAttributes: {
+ class: 'border-l-4 border-stone-700',
+ },
+ },
+ codeBlock: {
+ HTMLAttributes: {
+ class:
+ 'rounded-sm bg-stone-100 p-5 font-mono font-medium text-stone-800',
+ },
+ },
+ code: {
+ HTMLAttributes: {
+ class:
+ 'rounded-md bg-stone-200 px-1.5 py-1 font-mono font-medium text-stone-900',
+ spellcheck: 'false',
+ },
+ },
+ horizontalRule: false,
+ dropcursor: {
+ color: '#DBEAFE',
+ width: 4,
+ },
+ gapcursor: false,
+ }),
+ // patch to fix horizontal rule bug: https://github.com/ueberdosis/tiptap/pull/3859#issuecomment-1536799740
+ HorizontalRule.extend({
+ addInputRules() {
+ return [
+ new InputRule({
+ find: /^(?:---|—-|___\s|\*\*\*\s)$/u,
+ handler: ({ state, range }) => {
+ const attributes = {}
+
+ const { tr } = state
+ const start = range.from
+ const end = range.to
+
+ tr.insert(start - 1, this.type.create(attributes)).delete(
+ tr.mapping.map(start),
+ tr.mapping.map(end)
+ )
+ },
+ }),
+ ]
+ },
+ }).configure({
+ HTMLAttributes: {
+ class: 'mt-4 mb-6 border-t border-stone-300',
+ },
+ }),
+ TiptapLink.configure({
+ HTMLAttributes: {
+ class:
+ 'text-stone-400 underline underline-offset-[3px] hover:text-stone-600 transition-colors cursor-pointer',
+ },
+ }),
+ Placeholder.configure({
+ placeholder: ({ node }) => {
+ if (node.type.name === 'heading') {
+ return `Heading ${node.attrs.level}`
+ }
+ return "Press '/' for commands"
+ },
+ includeChildren: true,
+ }),
+ TiptapUnderline,
+ Typography,
+ TextStyle,
+ Color,
+ Highlight.configure({
+ multicolor: true,
+ }),
+ TaskList.configure({
+ HTMLAttributes: {
+ class: 'not-prose pl-2',
+ },
+ }),
+ TaskItem.configure({
+ HTMLAttributes: {
+ class: 'flex items-start my-4',
+ },
+ nested: true,
+ }),
+ Markdown.configure({
+ html: false,
+ transformCopiedText: true,
+ }),
+]
diff --git a/src/styles/globals.css b/src/styles/globals.css
index a8c619a..3c3f4b5 100644
--- a/src/styles/globals.css
+++ b/src/styles/globals.css
@@ -6,10 +6,45 @@
@apply text-gray-300;
}
+.tiptap > * + * {
+ margin-top: 0.75em;
+}
+.tiptap ul, .tiptap ol {
+ padding: 0 1rem;
+}
+.tiptap h1, .tiptap h2, .tiptap h3, .tiptap h4, .tiptap h5, .tiptap h6 {
+ line-height: 1.1;
+}
+.tiptap code {
+ background-color: rgba(97, 97, 97, 0.1);
+ color: #616161;
+}
+.tiptap pre {
+ background: #0d0d0d;
+ color: #fff;
+ font-family: 'JetBrainsMono', monospace;
+ padding: 0.75rem 1rem;
+ border-radius: 0.5rem;
+}
+.tiptap pre code {
+ color: inherit;
+ padding: 0;
+ background: none;
+ font-size: 0.8rem;
+}
+.tiptap img {
+ max-width: 100%;
+ height: auto;
+}
+.tiptap hr {
+ margin: 1rem 0;
+}
+.tiptap blockquote {
+ padding-left: 1rem;
+ border-left: 2px solid rgba(13, 13, 13, 0.1);
+}
- .dark .ce-inline-tool,
- .dark .ce-toolbar__plus,
- .dark .ce-toolbar__settings-btn {
- @apply text-gray-400;
- color: #aaa;
- }
\ No newline at end of file
+.ProseMirror-focused {
+ border: none;
+ outline: none;
+}
\ No newline at end of file