From f7f41555ec87aa8f05f0789280b15ed4947ebf4b Mon Sep 17 00:00:00 2001 From: Sumit Jain Date: Sat, 28 Dec 2024 16:59:11 +0530 Subject: [PATCH 1/4] feat: add Milkdown MarkdownEditor component and related styles --- dashboard/package.json | 4 + .../common/MarkdownEditor/MarkdownEditor.tsx | 37 + .../common/MarkdownEditor/markdown.css | 7 + dashboard/yarn.lock | 1250 ++++++++++++++++- 4 files changed, 1296 insertions(+), 2 deletions(-) create mode 100644 dashboard/src/components/common/MarkdownEditor/MarkdownEditor.tsx create mode 100644 dashboard/src/components/common/MarkdownEditor/markdown.css diff --git a/dashboard/package.json b/dashboard/package.json index 50a9ef8..956e378 100644 --- a/dashboard/package.json +++ b/dashboard/package.json @@ -18,6 +18,10 @@ "@mdx-js/mdx": "^3.1.0", "@mdx-js/react": "^3.1.0", "@mdx-js/rollup": "^3.1.0", + "@milkdown/crepe": "^7.5.9", + "@milkdown/kit": "^7.5.9", + "@milkdown/react": "^7.5.9", + "@milkdown/theme-nord": "^7.5.9", "@radix-ui/react-accordion": "^1.1.2", "@radix-ui/react-alert-dialog": "^1.0.4", "@radix-ui/react-avatar": "^1.0.3", diff --git a/dashboard/src/components/common/MarkdownEditor/MarkdownEditor.tsx b/dashboard/src/components/common/MarkdownEditor/MarkdownEditor.tsx new file mode 100644 index 0000000..7a22fee --- /dev/null +++ b/dashboard/src/components/common/MarkdownEditor/MarkdownEditor.tsx @@ -0,0 +1,37 @@ +import { Crepe } from '@milkdown/crepe'; +import '@milkdown/crepe/theme/common/style.css' +import '@milkdown/crepe/theme/frame.css'; +import { useEffect } from 'react'; +import { Editor } from '@milkdown/kit/core'; +import './markdown.css' + +export interface MarkdownEditorProps { + value: string; + setCrepeInstance: React.Dispatch | null>> +} + +const MarkdownEditor = ({ value, setCrepeInstance }: MarkdownEditorProps) => { + + useEffect(() => { + const crepe = new Crepe({ + root: '#editor', + defaultValue: value, + }).create() + setCrepeInstance(crepe); + + return () => { + crepe.then((editor) => { + editor.destroy(); + }); + }; + }, []); + + return ( +
+ {/* The editor will be initialized here */} +
+ + ); +}; + +export default MarkdownEditor \ No newline at end of file diff --git a/dashboard/src/components/common/MarkdownEditor/markdown.css b/dashboard/src/components/common/MarkdownEditor/markdown.css new file mode 100644 index 0000000..7bbf3ba --- /dev/null +++ b/dashboard/src/components/common/MarkdownEditor/markdown.css @@ -0,0 +1,7 @@ +.milkdown .ProseMirror { + padding:0 !important; +} +.milkdown .ProseMirror h1, .milkdown .ProseMirror h2, .milkdown .ProseMirror h3, .milkdown .ProseMirror h4, .milkdown .ProseMirror h5, .milkdown .ProseMirror h6 { + font-family: inherit; + font-weight: 600; +} \ No newline at end of file diff --git a/dashboard/yarn.lock b/dashboard/yarn.lock index a8edf41..f0041ad 100644 --- a/dashboard/yarn.lock +++ b/dashboard/yarn.lock @@ -20,6 +20,237 @@ resolved "https://registry.yarnpkg.com/@antfu/ni/-/ni-0.21.12.tgz#54d33cf0e6d35cb2ec12ab3d5092e4904540b7c0" integrity sha512-2aDL3WUv8hMJb2L3r/PIQWsTLyq7RQr3v9xD16fiz6O8ys1xEyLhhTOv8gxtZvJiTzjTF5pHoArvRdesGL1DMQ== +"@atomico/hooks@^4.1.2": + version "4.4.1" + resolved "https://registry.yarnpkg.com/@atomico/hooks/-/hooks-4.4.1.tgz#cd9f7aece04d8436c7e008825f5f2b042fc2052c" + integrity sha512-Q5q7X6tdCoqov75mAIAeTXUqHJGx/alfBCmYSwdEsWmAdGeDWmikB2UkWJwtJ32n13MMY5Ny+VNiiaEHLafdoA== + dependencies: + "@atomico/use-attributes" "^2.0.1" + "@atomico/use-child-nodes" "^1.0.1" + "@atomico/use-click-coordinates" "^1.0.1" + "@atomico/use-click-press" "^1.0.1" + "@atomico/use-copy" "^1.0.1" + "@atomico/use-css-light-dom" "^1.0.1" + "@atomico/use-current-value" "^1.0.1" + "@atomico/use-debounce-state" "^1.0.1" + "@atomico/use-disabled" "^2.0.1" + "@atomico/use-drag-resize" "^1.0.0" + "@atomico/use-form" "^1.0.1" + "@atomico/use-internals" "^1.0.1" + "@atomico/use-intersection-observer" "^1.1.0" + "@atomico/use-keyboard" "^1.1.0" + "@atomico/use-listener" "^1.1.0" + "@atomico/use-media-query" "^1.0.1" + "@atomico/use-mutation-observer" "^2.0.2" + "@atomico/use-parallax" "^1.0.1" + "@atomico/use-parent" "^1.1.1" + "@atomico/use-prop-proxy" "^1.0.1" + "@atomico/use-reflect-event" "^1.0.1" + "@atomico/use-render" "^1.1.1" + "@atomico/use-resize-observer" "^1.1.0" + "@atomico/use-resize-state" "^1.0.1" + "@atomico/use-responsive-state" "^1.0.1" + "@atomico/use-router" "^1.2.0" + "@atomico/use-script" "^1.0.1" + "@atomico/use-slot" "^1.0.2" + "@atomico/use-value-history" "^1.0.1" + +"@atomico/use-attributes@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@atomico/use-attributes/-/use-attributes-2.0.1.tgz#94cd46aef6dbf8964b82061d9f1dabf0aebe21b6" + integrity sha512-YmnUYJAoQsNmY0zK55E7DijvvSl5EilWirHVzyeRVacphKAWYiphj5S0lz+8d2ZQDebw/noWG8PdSLsk84z3wA== + dependencies: + "@atomico/use-mutation-observer" "*" + +"@atomico/use-child-nodes@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@atomico/use-child-nodes/-/use-child-nodes-1.0.1.tgz#25c3fadc6497e7e2f5cdd511fc0ba945e6208001" + integrity sha512-Mjz0al79bh2TrLB6wuNImylhePtVQ5PpGYrVazGwzzmlBSRh1LYJq0QcvcvlUw2DKPkd697yFVaNgMwtQMrkjQ== + +"@atomico/use-click-coordinates@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@atomico/use-click-coordinates/-/use-click-coordinates-1.0.1.tgz#846deffd47f8cd9c16d50dc178d60c54f68c3c7c" + integrity sha512-u+6DpSDsFyby5+krDF4a+8xhDibFmCNPUTMRElYey9/D+khgBiw9anuYniKJyplXMkI5ns3ev7dxMQPMfMj5lA== + dependencies: + "@atomico/use-current-value" "*" + "@atomico/use-listener" "*" + +"@atomico/use-click-press@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@atomico/use-click-press/-/use-click-press-1.0.1.tgz#c77868cb79976d6f02afec978d5379b9b81e3d0a" + integrity sha512-vLhoStp1RXX0AysqolS8RYd1vSDKhOJU9QK45D/vtu4uqb1pZoT7sWMcQUIR7XgM4xoUkEI8Z/8ej1UrLpZhyA== + dependencies: + "@atomico/use-listener" "*" + +"@atomico/use-copy@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@atomico/use-copy/-/use-copy-1.0.1.tgz#36d8da2618842820230e22d538e7b63b12587c9c" + integrity sha512-ces7MxytvCpDuGHHpeap2uZ+CJeKi++tWMKK5uwQ8LjsyuFAi7EP/JkBmaSoQzYp4N9uWlNkJnL9zJfoi+CaQQ== + +"@atomico/use-css-light-dom@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@atomico/use-css-light-dom/-/use-css-light-dom-1.0.1.tgz#f093dc32c2d685ad08ef8ae315327f914c1e864b" + integrity sha512-sClSNYbrnTTUqW9LiJrSi5BjVyPP1bxWWvWT+kiYIU+e6UX6gaR7wCoZ8m7B/ezTukMXjcQdOLlq4RsqxUGnXQ== + +"@atomico/use-current-value@*", "@atomico/use-current-value@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@atomico/use-current-value/-/use-current-value-1.0.1.tgz#880f11d5ded2b12d2df9379029c6664ead21ab93" + integrity sha512-d59warzhAmWyOi2VSWzXH1hw3Pafnao30y5h0D6IFs+NMPibLLybeupdwHqtsjTQlAov7Ak7Q940tzKdgGasDw== + +"@atomico/use-debounce-state@*", "@atomico/use-debounce-state@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@atomico/use-debounce-state/-/use-debounce-state-1.0.1.tgz#cfab0ac2114ce32d3dd82daf958624e000e94398" + integrity sha512-vCBGP0nDxxU+RTJ4yHI0JeGeWawEf/6UMj5X0tt0Gk5XKLE/kqKBgWG0uFUh33bbhW1eXuGboeB+/qcm2b8FYw== + +"@atomico/use-disabled@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@atomico/use-disabled/-/use-disabled-2.0.1.tgz#f0a19e574449ede64b2ca361d108bef003167e76" + integrity sha512-73IcqP2Rpd41j5TVjB823J/J5q6i1F2ZEs2BZuDRy0YRbUYAkDsi+agsuqWWiWNAxezI4zc+wYWj8GOeqilXNA== + dependencies: + "@atomico/use-mutation-observer" "*" + "@atomico/use-parent" "*" + +"@atomico/use-drag-resize@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@atomico/use-drag-resize/-/use-drag-resize-1.0.0.tgz#841d5622b43d181cecaac3055300ea5da976ee58" + integrity sha512-+wSCARzFmOrURQKbqS0ki+fyQdNnQQosg3/Ov/PJMFLkdkCyHw9lgNjIhyHRo71AqN2hudiLC1Gtfgs5oQe/fA== + dependencies: + "@atomico/use-debounce-state" "*" + "@atomico/use-listener" "*" + +"@atomico/use-form@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@atomico/use-form/-/use-form-1.0.1.tgz#44235dbfd4a814d80ed8cf546f5b3f59e34e8ec2" + integrity sha512-N3RTdUHQlJsJNF4fPV3qj1fK9HPYRrKIYyq410PGICfm4VrTsU2Dbl/eBBnWXIH3MT4VXpUsy3jRk3EFJ8wYDA== + dependencies: + "@atomico/use-listener" "*" + "@atomico/use-parent" "*" + "@atomico/use-render" "*" + +"@atomico/use-internals@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@atomico/use-internals/-/use-internals-1.0.1.tgz#2eca8c798250982dccfbd1ca9ac1f90710792360" + integrity sha512-qLHWzW/lsq9KyoC6v8HM+WiVsbGd2oUy7rl4x/dsouEW/E9qcTsTVeB8tMGL6O+ixYq5fj9BxCuGl49sU2zqIQ== + +"@atomico/use-intersection-observer@*", "@atomico/use-intersection-observer@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@atomico/use-intersection-observer/-/use-intersection-observer-1.1.0.tgz#6c6bf845f8c60f11ae4a909ddf6350965baa27ff" + integrity sha512-0p1X6PSpoztM1wcL0wcO//g2fODSwqWETS4cL+X+3nW5Yjc5d++kjvHq0q2GvhN4VvCAZX9jod3I8iM2eXWWZg== + +"@atomico/use-keyboard@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@atomico/use-keyboard/-/use-keyboard-1.1.0.tgz#d386b418640ad6168928832535778c7eab4b5a02" + integrity sha512-VGA2jDh5nD361IColbRztN4/Wcydhx0MhLZ9emIPtvPsfzUyOdI7mm47OvlnzliaCUnu96G2DuMih9AnR+XzeA== + dependencies: + "@atomico/use-current-value" "*" + "@atomico/use-listener" "*" + +"@atomico/use-listener@*", "@atomico/use-listener@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@atomico/use-listener/-/use-listener-1.1.0.tgz#8db9cd9355320cb79f1147e96518ecca1a3c220b" + integrity sha512-d7LcW/Rvokfpb/FBBDaBedLygNJmIaznIgDc2xkUxfQFiXyzMAzsNAAHzY0ZEddiYKtxdbkwrZotDDWkhC6/ug== + dependencies: + "@atomico/use-current-value" "*" + +"@atomico/use-media-query@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@atomico/use-media-query/-/use-media-query-1.0.1.tgz#214e4e9d609cda3d80790ad6ae3a640826945e03" + integrity sha512-7mWFsfs1PzoFXjpa08SZuAN5Ut9UXGNSc/5U9odAJgGvSRnbAoVTguDpHsHVyEAKVt6lRGJPGIytWaVpuzyyWg== + +"@atomico/use-mutation-observer@*", "@atomico/use-mutation-observer@^2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@atomico/use-mutation-observer/-/use-mutation-observer-2.0.2.tgz#fcf83fbefa65350580e934479f8cd263372475ca" + integrity sha512-l5upQLTMSDvwCEq0oXL56vKtmg4SykKSMcNJsgA503hZ35AXmB0LJMz4+dfBCVcahxV7kT0RUnAb9ZE0Q+8rwA== + dependencies: + "@atomico/use-current-value" "*" + "@atomico/use-ref-values" "*" + +"@atomico/use-parallax@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@atomico/use-parallax/-/use-parallax-1.0.1.tgz#dc4ceb0dcae57080e116cceb8e01d3474614d1d1" + integrity sha512-0swK5Wr6ZD19gCql9iDSE8FlhJ67Ji+odVzhu4CdmU909e1B4Ob16rU5UuHnbDphAh2NZQ780O9CRhuxOUqWRw== + dependencies: + "@atomico/use-debounce-state" "*" + "@atomico/use-intersection-observer" "*" + "@atomico/use-listener" "*" + +"@atomico/use-parent@*", "@atomico/use-parent@^1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@atomico/use-parent/-/use-parent-1.1.1.tgz#5157854363cfaaad60a0e3e10b281f0a0ce873a8" + integrity sha512-a/gaEH9lVUgoc/ufyLCTjAZiOjRLBtZQLTV4V2DD9MKHQQsL6PColeDk9Qbf6RONo77cfJ60MN+ctjhu98Y8Ow== + +"@atomico/use-prop-proxy@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@atomico/use-prop-proxy/-/use-prop-proxy-1.0.1.tgz#51910110f661010d77c61b7eece2208bfd60e8bb" + integrity sha512-20j1nn8HL52iSo6Y0v210/I90+usm3N7VNcHOYQIjRhiB7YwOqAJhKlbWQwXSEV5pFBhwUGu+Ks9FQdvJG3Esg== + dependencies: + "@atomico/use-current-value" "*" + +"@atomico/use-ref-values@*": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@atomico/use-ref-values/-/use-ref-values-1.0.1.tgz#6678ed5784db4fe9629d9b47d53bb86668d95bf1" + integrity sha512-IFuwav8IkZ9uSFGscPiubYZnfSbdz2yV4xXdEClBq6IiViP0j8cBisE6YB7eAATJ/EHf7uhIBQGL5LOCk8Vi7A== + +"@atomico/use-reflect-event@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@atomico/use-reflect-event/-/use-reflect-event-1.0.1.tgz#41b2004c03da61b127c0d216f6928ac5543ed3cb" + integrity sha512-HFAREdUlGp48PlhQ9UNfPX7DNI6GgqfmK61yoq3/F9KJow/48ZYnEPlyYy1/GxAeHOTnCK4C8OhclHH2jg8Gzw== + dependencies: + "@atomico/use-listener" "*" + +"@atomico/use-render@*", "@atomico/use-render@^1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@atomico/use-render/-/use-render-1.1.1.tgz#1b3902e293dd2f4ad871896fab6d727a0d243dd0" + integrity sha512-SkXTapKVDU/8PzP2z3psOPi3hoKWckSo0T/Q/HSxeu7TGbIpLTsn9jugWZG/rqzTOToOnhLaZ8s0qEEXCsL7ag== + +"@atomico/use-resize-observer@*", "@atomico/use-resize-observer@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@atomico/use-resize-observer/-/use-resize-observer-1.1.0.tgz#3b71a2614e9f395e7b2a7a1497b9a82c6ba8cae7" + integrity sha512-NcFs6G4dFwckO4IPrCzEpPEn1btuHZlHrrvaJnDCW+mf0UuEynwpCUD/264rkVIp5jfdAq4WTE3CBmBm7Nk89g== + dependencies: + "@atomico/use-current-value" "*" + +"@atomico/use-resize-state@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@atomico/use-resize-state/-/use-resize-state-1.0.1.tgz#858a17549f4f3971c2c19131633847cffa9a178b" + integrity sha512-4gAklY6MxluHCPvC+4oM1c4ArqzDhPRMoSx1egM4OopEew9MwPJymKCCKbKpMe0SIjayAZv9Y2ZdYopn0xrwhQ== + dependencies: + "@atomico/use-resize-observer" "*" + "@uppercod/match-media" "*" + +"@atomico/use-responsive-state@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@atomico/use-responsive-state/-/use-responsive-state-1.0.1.tgz#6d2145c2cd029eb71c37b626d9f1ece6de106d2a" + integrity sha512-OXjVEBtZRAO5S+mEHe7Lb0r3eDonzGhDCLK1slQwc0N09oxUbz18lSrOPvWB05ezL9fitrxfY+auAIB7AIAUPA== + dependencies: + "@uppercod/match-media" "^1.1.0" + +"@atomico/use-router@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@atomico/use-router/-/use-router-1.2.0.tgz#354f419f594138a73304cd03ef8ee79bce7e8879" + integrity sha512-FgrS4g/4usVZFw+rukVUnlHdV6oNUPXW/+2syB0Tbe+XlrXZQlCpu2yw79B3TNazlky5uAnXLEdRbrPtkWzjxA== + dependencies: + "@atomico/use-current-value" "*" + "@atomico/use-listener" "*" + "@uppercod/exp-route" "^1.4.2" + +"@atomico/use-script@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@atomico/use-script/-/use-script-1.0.1.tgz#ea23fe1bfece8a458d9a4fb2d04836200948d64c" + integrity sha512-FXVlQrXVfkbqHzgOkkoE9RmuTlZ2m6Kp64JgM1+jsHL+LpHFtAI7vIRnzyfGA0XvLXESgU8391qPY5z8lxpY7Q== + +"@atomico/use-slot@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@atomico/use-slot/-/use-slot-1.0.2.tgz#0e92818c3e7267790b8f70d67a667885a822d421" + integrity sha512-FLtqpbG1p4c3HSOWiNiGlj6cRbzZks+Nmu04uOZE1gZWqUgun024rqHKLsYcsNlumjPvr4Z/XtioUoFEZuowtQ== + dependencies: + "@atomico/use-listener" "*" + +"@atomico/use-value-history@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@atomico/use-value-history/-/use-value-history-1.0.1.tgz#74ba40c382936f835c80435d2e67235216f32286" + integrity sha512-a0mtNNQ7AXOtJF93ySqp0sw1AQg6GiAEtoThpePEH/CCU07tyW2lKsAINU4/SYxZKYhyMbqBTuziK4D7gixFXg== + "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.25.9", "@babel/code-frame@^7.26.0": version "7.26.2" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.26.2.tgz#4b5fab97d33338eff916235055f0ebc21e573a85" @@ -250,6 +481,341 @@ "@babel/helper-string-parser" "^7.25.9" "@babel/helper-validator-identifier" "^7.25.9" +"@codemirror/autocomplete@^6.0.0", "@codemirror/autocomplete@^6.3.2", "@codemirror/autocomplete@^6.7.1": + version "6.18.4" + resolved "https://registry.yarnpkg.com/@codemirror/autocomplete/-/autocomplete-6.18.4.tgz#4394f55d6771727179f2e28a871ef46bbbeb11b1" + integrity sha512-sFAphGQIqyQZfP2ZBsSHV7xQvo9Py0rV0dW7W3IMRdS+zDuNb2l3no78CvUaWKGfzFjI4FTrLdUSj86IGb2hRA== + dependencies: + "@codemirror/language" "^6.0.0" + "@codemirror/state" "^6.0.0" + "@codemirror/view" "^6.17.0" + "@lezer/common" "^1.0.0" + +"@codemirror/commands@^6.0.0", "@codemirror/commands@^6.2.4": + version "6.7.1" + resolved "https://registry.yarnpkg.com/@codemirror/commands/-/commands-6.7.1.tgz#04561e95bc0779eaa49efd63e916c4efb3bbf6d6" + integrity sha512-llTrboQYw5H4THfhN4U3qCnSZ1SOJ60ohhz+SzU0ADGtwlc533DtklQP0vSFaQuCPDn3BPpOd1GbbnUtwNjsrw== + dependencies: + "@codemirror/language" "^6.0.0" + "@codemirror/state" "^6.4.0" + "@codemirror/view" "^6.27.0" + "@lezer/common" "^1.1.0" + +"@codemirror/lang-angular@^0.1.0": + version "0.1.3" + resolved "https://registry.yarnpkg.com/@codemirror/lang-angular/-/lang-angular-0.1.3.tgz#83035e7e9e1f0e2ba466e83d778407b519089a28" + integrity sha512-xgeWGJQQl1LyStvndWtruUvb4SnBZDAu/gvFH/ZU+c0W25tQR8e5hq7WTwiIY2dNxnf+49mRiGI/9yxIwB6f5w== + dependencies: + "@codemirror/lang-html" "^6.0.0" + "@codemirror/lang-javascript" "^6.1.2" + "@codemirror/language" "^6.0.0" + "@lezer/common" "^1.2.0" + "@lezer/highlight" "^1.0.0" + "@lezer/lr" "^1.3.3" + +"@codemirror/lang-cpp@^6.0.0": + version "6.0.2" + resolved "https://registry.yarnpkg.com/@codemirror/lang-cpp/-/lang-cpp-6.0.2.tgz#076c98340c3beabde016d7d83e08eebe17254ef9" + integrity sha512-6oYEYUKHvrnacXxWxYa6t4puTlbN3dgV662BDfSH8+MfjQjVmP697/KYTDOqpxgerkvoNm7q5wlFMBeX8ZMocg== + dependencies: + "@codemirror/language" "^6.0.0" + "@lezer/cpp" "^1.0.0" + +"@codemirror/lang-css@^6.0.0", "@codemirror/lang-css@^6.2.0": + version "6.3.1" + resolved "https://registry.yarnpkg.com/@codemirror/lang-css/-/lang-css-6.3.1.tgz#763ca41aee81bb2431be55e3cfcc7cc8e91421a3" + integrity sha512-kr5fwBGiGtmz6l0LSJIbno9QrifNMUusivHbnA1H6Dmqy4HZFte3UAICix1VuKo0lMPKQr2rqB+0BkKi/S3Ejg== + dependencies: + "@codemirror/autocomplete" "^6.0.0" + "@codemirror/language" "^6.0.0" + "@codemirror/state" "^6.0.0" + "@lezer/common" "^1.0.2" + "@lezer/css" "^1.1.7" + +"@codemirror/lang-go@^6.0.0": + version "6.0.1" + resolved "https://registry.yarnpkg.com/@codemirror/lang-go/-/lang-go-6.0.1.tgz#598222c90f56eae28d11069c612ca64d0306b057" + integrity sha512-7fNvbyNylvqCphW9HD6WFnRpcDjr+KXX/FgqXy5H5ZS0eC5edDljukm/yNgYkwTsgp2busdod50AOTIy6Jikfg== + dependencies: + "@codemirror/autocomplete" "^6.0.0" + "@codemirror/language" "^6.6.0" + "@codemirror/state" "^6.0.0" + "@lezer/common" "^1.0.0" + "@lezer/go" "^1.0.0" + +"@codemirror/lang-html@^6.0.0": + version "6.4.9" + resolved "https://registry.yarnpkg.com/@codemirror/lang-html/-/lang-html-6.4.9.tgz#d586f2cc9c341391ae07d1d7c545990dfa069727" + integrity sha512-aQv37pIMSlueybId/2PVSP6NPnmurFDVmZwzc7jszd2KAF8qd4VBbvNYPXWQq90WIARjsdVkPbw29pszmHws3Q== + dependencies: + "@codemirror/autocomplete" "^6.0.0" + "@codemirror/lang-css" "^6.0.0" + "@codemirror/lang-javascript" "^6.0.0" + "@codemirror/language" "^6.4.0" + "@codemirror/state" "^6.0.0" + "@codemirror/view" "^6.17.0" + "@lezer/common" "^1.0.0" + "@lezer/css" "^1.1.0" + "@lezer/html" "^1.3.0" + +"@codemirror/lang-java@^6.0.0": + version "6.0.1" + resolved "https://registry.yarnpkg.com/@codemirror/lang-java/-/lang-java-6.0.1.tgz#03bd06334da7c8feb9dff6db01ac6d85bd2e48bb" + integrity sha512-OOnmhH67h97jHzCuFaIEspbmsT98fNdhVhmA3zCxW0cn7l8rChDhZtwiwJ/JOKXgfm4J+ELxQihxaI7bj7mJRg== + dependencies: + "@codemirror/language" "^6.0.0" + "@lezer/java" "^1.0.0" + +"@codemirror/lang-javascript@^6.0.0", "@codemirror/lang-javascript@^6.1.2": + version "6.2.2" + resolved "https://registry.yarnpkg.com/@codemirror/lang-javascript/-/lang-javascript-6.2.2.tgz#7141090b22994bef85bcc5608a3bc1257f2db2ad" + integrity sha512-VGQfY+FCc285AhWuwjYxQyUQcYurWlxdKYT4bqwr3Twnd5wP5WSeu52t4tvvuWmljT4EmgEgZCqSieokhtY8hg== + dependencies: + "@codemirror/autocomplete" "^6.0.0" + "@codemirror/language" "^6.6.0" + "@codemirror/lint" "^6.0.0" + "@codemirror/state" "^6.0.0" + "@codemirror/view" "^6.17.0" + "@lezer/common" "^1.0.0" + "@lezer/javascript" "^1.0.0" + +"@codemirror/lang-json@^6.0.0": + version "6.0.1" + resolved "https://registry.yarnpkg.com/@codemirror/lang-json/-/lang-json-6.0.1.tgz#0a0be701a5619c4b0f8991f9b5e95fe33f462330" + integrity sha512-+T1flHdgpqDDlJZ2Lkil/rLiRy684WMLc74xUnjJH48GQdfJo/pudlTRreZmKwzP8/tGdKf83wlbAdOCzlJOGQ== + dependencies: + "@codemirror/language" "^6.0.0" + "@lezer/json" "^1.0.0" + +"@codemirror/lang-less@^6.0.0": + version "6.0.2" + resolved "https://registry.yarnpkg.com/@codemirror/lang-less/-/lang-less-6.0.2.tgz#2e3d82a3ddb8710e6409689cd4a28c66558d0cb8" + integrity sha512-EYdQTG22V+KUUk8Qq582g7FMnCZeEHsyuOJisHRft/mQ+ZSZ2w51NupvDUHiqtsOy7It5cHLPGfHQLpMh9bqpQ== + dependencies: + "@codemirror/lang-css" "^6.2.0" + "@codemirror/language" "^6.0.0" + "@lezer/common" "^1.2.0" + "@lezer/highlight" "^1.0.0" + "@lezer/lr" "^1.0.0" + +"@codemirror/lang-liquid@^6.0.0": + version "6.2.2" + resolved "https://registry.yarnpkg.com/@codemirror/lang-liquid/-/lang-liquid-6.2.2.tgz#5b5a2391ac14b6af85c520b8b81ea1f344d40a62" + integrity sha512-7Dm841fk37+JQW6j2rI1/uGkJyESrjzyhiIkaLjbbR0U6aFFQvMrJn35WxQreRMADMhzkyVkZM4467OR7GR8nQ== + dependencies: + "@codemirror/autocomplete" "^6.0.0" + "@codemirror/lang-html" "^6.0.0" + "@codemirror/language" "^6.0.0" + "@codemirror/state" "^6.0.0" + "@codemirror/view" "^6.0.0" + "@lezer/common" "^1.0.0" + "@lezer/highlight" "^1.0.0" + "@lezer/lr" "^1.3.1" + +"@codemirror/lang-markdown@^6.0.0": + version "6.3.1" + resolved "https://registry.yarnpkg.com/@codemirror/lang-markdown/-/lang-markdown-6.3.1.tgz#067e4e18993fa3520e2a980d2dce5fe23dd245a0" + integrity sha512-y3sSPuQjBKZQbQwe3ZJKrSW6Silyl9PnrU/Mf0m2OQgIlPoSYTtOvEL7xs94SVMkb8f4x+SQFnzXPdX4Wk2lsg== + dependencies: + "@codemirror/autocomplete" "^6.7.1" + "@codemirror/lang-html" "^6.0.0" + "@codemirror/language" "^6.3.0" + "@codemirror/state" "^6.0.0" + "@codemirror/view" "^6.0.0" + "@lezer/common" "^1.2.1" + "@lezer/markdown" "^1.0.0" + +"@codemirror/lang-php@^6.0.0": + version "6.0.1" + resolved "https://registry.yarnpkg.com/@codemirror/lang-php/-/lang-php-6.0.1.tgz#fa34cc75562178325861a5731f79bd621f57ffaa" + integrity sha512-ublojMdw/PNWa7qdN5TMsjmqkNuTBD3k6ndZ4Z0S25SBAiweFGyY68AS3xNcIOlb6DDFDvKlinLQ40vSLqf8xA== + dependencies: + "@codemirror/lang-html" "^6.0.0" + "@codemirror/language" "^6.0.0" + "@codemirror/state" "^6.0.0" + "@lezer/common" "^1.0.0" + "@lezer/php" "^1.0.0" + +"@codemirror/lang-python@^6.0.0": + version "6.1.6" + resolved "https://registry.yarnpkg.com/@codemirror/lang-python/-/lang-python-6.1.6.tgz#0c55e7e2dfa85b68be93b9692e5d3f76f284bbb2" + integrity sha512-ai+01WfZhWqM92UqjnvorkxosZ2aq2u28kHvr+N3gu012XqY2CThD67JPMHnGceRfXPDBmn1HnyqowdpF57bNg== + dependencies: + "@codemirror/autocomplete" "^6.3.2" + "@codemirror/language" "^6.8.0" + "@codemirror/state" "^6.0.0" + "@lezer/common" "^1.2.1" + "@lezer/python" "^1.1.4" + +"@codemirror/lang-rust@^6.0.0": + version "6.0.1" + resolved "https://registry.yarnpkg.com/@codemirror/lang-rust/-/lang-rust-6.0.1.tgz#d6829fc7baa39a15bcd174a41a9e0a1bf7cf6ba8" + integrity sha512-344EMWFBzWArHWdZn/NcgkwMvZIWUR1GEBdwG8FEp++6o6vT6KL9V7vGs2ONsKxxFUPXKI0SPcWhyYyl2zPYxQ== + dependencies: + "@codemirror/language" "^6.0.0" + "@lezer/rust" "^1.0.0" + +"@codemirror/lang-sass@^6.0.0": + version "6.0.2" + resolved "https://registry.yarnpkg.com/@codemirror/lang-sass/-/lang-sass-6.0.2.tgz#38c1b0a1326cc9f5cb2741d2cd51cfbcd7abc0b2" + integrity sha512-l/bdzIABvnTo1nzdY6U+kPAC51czYQcOErfzQ9zSm9D8GmNPD0WTW8st/CJwBTPLO8jlrbyvlSEcN20dc4iL0Q== + dependencies: + "@codemirror/lang-css" "^6.2.0" + "@codemirror/language" "^6.0.0" + "@codemirror/state" "^6.0.0" + "@lezer/common" "^1.0.2" + "@lezer/sass" "^1.0.0" + +"@codemirror/lang-sql@^6.0.0": + version "6.8.0" + resolved "https://registry.yarnpkg.com/@codemirror/lang-sql/-/lang-sql-6.8.0.tgz#1ae68ad49f378605ff88a4cc428ba667ce056068" + integrity sha512-aGLmY4OwGqN3TdSx3h6QeA1NrvaYtF7kkoWR/+W7/JzB0gQtJ+VJxewlnE3+VImhA4WVlhmkJr109PefOOhjLg== + dependencies: + "@codemirror/autocomplete" "^6.0.0" + "@codemirror/language" "^6.0.0" + "@codemirror/state" "^6.0.0" + "@lezer/common" "^1.2.0" + "@lezer/highlight" "^1.0.0" + "@lezer/lr" "^1.0.0" + +"@codemirror/lang-vue@^0.1.1": + version "0.1.3" + resolved "https://registry.yarnpkg.com/@codemirror/lang-vue/-/lang-vue-0.1.3.tgz#bf79b9152cc18b4903d64c1f67e186ae045c8a97" + integrity sha512-QSKdtYTDRhEHCfo5zOShzxCmqKJvgGrZwDQSdbvCRJ5pRLWBS7pD/8e/tH44aVQT6FKm0t6RVNoSUWHOI5vNug== + dependencies: + "@codemirror/lang-html" "^6.0.0" + "@codemirror/lang-javascript" "^6.1.2" + "@codemirror/language" "^6.0.0" + "@lezer/common" "^1.2.0" + "@lezer/highlight" "^1.0.0" + "@lezer/lr" "^1.3.1" + +"@codemirror/lang-wast@^6.0.0": + version "6.0.2" + resolved "https://registry.yarnpkg.com/@codemirror/lang-wast/-/lang-wast-6.0.2.tgz#d2b14175e5e80d7878cbbb29e20ec90dc12d3a2b" + integrity sha512-Imi2KTpVGm7TKuUkqyJ5NRmeFWF7aMpNiwHnLQe0x9kmrxElndyH0K6H/gXtWwY6UshMRAhpENsgfpSwsgmC6Q== + dependencies: + "@codemirror/language" "^6.0.0" + "@lezer/common" "^1.2.0" + "@lezer/highlight" "^1.0.0" + "@lezer/lr" "^1.0.0" + +"@codemirror/lang-xml@^6.0.0": + version "6.1.0" + resolved "https://registry.yarnpkg.com/@codemirror/lang-xml/-/lang-xml-6.1.0.tgz#e3e786e1a89fdc9520efe75c1d6d3de1c40eb91c" + integrity sha512-3z0blhicHLfwi2UgkZYRPioSgVTo9PV5GP5ducFH6FaHy0IAJRg+ixj5gTR1gnT/glAIC8xv4w2VL1LoZfs+Jg== + dependencies: + "@codemirror/autocomplete" "^6.0.0" + "@codemirror/language" "^6.4.0" + "@codemirror/state" "^6.0.0" + "@codemirror/view" "^6.0.0" + "@lezer/common" "^1.0.0" + "@lezer/xml" "^1.0.0" + +"@codemirror/lang-yaml@^6.0.0": + version "6.1.2" + resolved "https://registry.yarnpkg.com/@codemirror/lang-yaml/-/lang-yaml-6.1.2.tgz#c84280c68fa7af456a355d91183b5e537e9b7038" + integrity sha512-dxrfG8w5Ce/QbT7YID7mWZFKhdhsaTNOYjOkSIMt1qmC4VQnXSDSYVHHHn8k6kJUfIhtLo8t1JJgltlxWdsITw== + dependencies: + "@codemirror/autocomplete" "^6.0.0" + "@codemirror/language" "^6.0.0" + "@codemirror/state" "^6.0.0" + "@lezer/common" "^1.2.0" + "@lezer/highlight" "^1.2.0" + "@lezer/lr" "^1.0.0" + "@lezer/yaml" "^1.0.0" + +"@codemirror/language-data@^6.3.1": + version "6.5.1" + resolved "https://registry.yarnpkg.com/@codemirror/language-data/-/language-data-6.5.1.tgz#5cb9413d5225ef27a577c23781bbc0b36c58bb67" + integrity sha512-0sWxeUSNlBr6OmkqybUTImADFUP0M3P0IiSde4nc24bz/6jIYzqYSgkOSLS+CBIoW1vU8Q9KUWXscBXeoMVC9w== + dependencies: + "@codemirror/lang-angular" "^0.1.0" + "@codemirror/lang-cpp" "^6.0.0" + "@codemirror/lang-css" "^6.0.0" + "@codemirror/lang-go" "^6.0.0" + "@codemirror/lang-html" "^6.0.0" + "@codemirror/lang-java" "^6.0.0" + "@codemirror/lang-javascript" "^6.0.0" + "@codemirror/lang-json" "^6.0.0" + "@codemirror/lang-less" "^6.0.0" + "@codemirror/lang-liquid" "^6.0.0" + "@codemirror/lang-markdown" "^6.0.0" + "@codemirror/lang-php" "^6.0.0" + "@codemirror/lang-python" "^6.0.0" + "@codemirror/lang-rust" "^6.0.0" + "@codemirror/lang-sass" "^6.0.0" + "@codemirror/lang-sql" "^6.0.0" + "@codemirror/lang-vue" "^0.1.1" + "@codemirror/lang-wast" "^6.0.0" + "@codemirror/lang-xml" "^6.0.0" + "@codemirror/lang-yaml" "^6.0.0" + "@codemirror/language" "^6.0.0" + "@codemirror/legacy-modes" "^6.4.0" + +"@codemirror/language@^6.0.0", "@codemirror/language@^6.10.1", "@codemirror/language@^6.3.0", "@codemirror/language@^6.4.0", "@codemirror/language@^6.6.0", "@codemirror/language@^6.8.0": + version "6.10.8" + resolved "https://registry.yarnpkg.com/@codemirror/language/-/language-6.10.8.tgz#3e3a346a2b0a8cf63ee1cfe03349eb1965dce5f9" + integrity sha512-wcP8XPPhDH2vTqf181U8MbZnW+tDyPYy0UzVOa+oHORjyT+mhhom9vBd7dApJwoDz9Nb/a8kHjJIsuA/t8vNFw== + dependencies: + "@codemirror/state" "^6.0.0" + "@codemirror/view" "^6.23.0" + "@lezer/common" "^1.1.0" + "@lezer/highlight" "^1.0.0" + "@lezer/lr" "^1.0.0" + style-mod "^4.0.0" + +"@codemirror/legacy-modes@^6.4.0": + version "6.4.2" + resolved "https://registry.yarnpkg.com/@codemirror/legacy-modes/-/legacy-modes-6.4.2.tgz#723a55aae21304d4c112575943d3467c9040d217" + integrity sha512-HsvWu08gOIIk303eZQCal4H4t65O/qp1V4ul4zVa3MHK5FJ0gz3qz3O55FIkm+aQUcshUOjBx38t2hPiJwW5/g== + dependencies: + "@codemirror/language" "^6.0.0" + +"@codemirror/lint@^6.0.0": + version "6.8.4" + resolved "https://registry.yarnpkg.com/@codemirror/lint/-/lint-6.8.4.tgz#7d8aa5d1a6dec89ffcc23ad45ddca2e12e90982d" + integrity sha512-u4q7PnZlJUojeRe8FJa/njJcMctISGgPQ4PnWsd9268R4ZTtU+tfFYmwkBvgcrK2+QQ8tYFVALVb5fVJykKc5A== + dependencies: + "@codemirror/state" "^6.0.0" + "@codemirror/view" "^6.35.0" + crelt "^1.0.5" + +"@codemirror/search@^6.0.0": + version "6.5.8" + resolved "https://registry.yarnpkg.com/@codemirror/search/-/search-6.5.8.tgz#b59b3659b46184cc75d6108d7c050a4ca344c3a0" + integrity sha512-PoWtZvo7c1XFeZWmmyaOp2G0XVbOnm+fJzvghqGAktBW3cufwJUWvSCcNG0ppXiBEM05mZu6RhMtXPv2hpllig== + dependencies: + "@codemirror/state" "^6.0.0" + "@codemirror/view" "^6.0.0" + crelt "^1.0.5" + +"@codemirror/state@^6.0.0", "@codemirror/state@^6.4.0", "@codemirror/state@^6.4.1", "@codemirror/state@^6.5.0": + version "6.5.0" + resolved "https://registry.yarnpkg.com/@codemirror/state/-/state-6.5.0.tgz#e98dde85620618651543152fe1c2483300a0ccc9" + integrity sha512-MwBHVK60IiIHDcoMet78lxt6iw5gJOGSbNbOIVBHWVXIH4/Nq1+GQgLLGgI1KlnN86WDXsPudVaqYHKBIx7Eyw== + dependencies: + "@marijn/find-cluster-break" "^1.0.0" + +"@codemirror/theme-one-dark@^6.1.2": + version "6.1.2" + resolved "https://registry.yarnpkg.com/@codemirror/theme-one-dark/-/theme-one-dark-6.1.2.tgz#fcef9f9cfc17a07836cb7da17c9f6d7231064df8" + integrity sha512-F+sH0X16j/qFLMAfbciKTxVOwkdAS336b7AXTKOZhy8BR3eH/RelsnLgLFINrpST63mmN2OuwUt0W2ndUgYwUA== + dependencies: + "@codemirror/language" "^6.0.0" + "@codemirror/state" "^6.0.0" + "@codemirror/view" "^6.0.0" + "@lezer/highlight" "^1.0.0" + +"@codemirror/view@^6.0.0", "@codemirror/view@^6.16.0", "@codemirror/view@^6.17.0", "@codemirror/view@^6.23.0", "@codemirror/view@^6.27.0", "@codemirror/view@^6.35.0": + version "6.36.1" + resolved "https://registry.yarnpkg.com/@codemirror/view/-/view-6.36.1.tgz#3c543b8fd72c96b30c4b2b1464d1ebce7e0c5c4b" + integrity sha512-miD1nyT4m4uopZaDdO2uXU/LLHliKNYL9kB1C1wJHrunHLm/rpkb5QVSokqgw9hFqEZakrdlb/VGWX8aYZTslQ== + dependencies: + "@codemirror/state" "^6.5.0" + style-mod "^4.1.0" + w3c-keyname "^2.2.4" + "@dagrejs/dagre@^1.0.2": version "1.1.4" resolved "https://registry.yarnpkg.com/@dagrejs/dagre/-/dagre-1.1.4.tgz#66f9c0e2b558308f2c268f60e2c28f22ee17e339" @@ -421,7 +987,7 @@ dependencies: "@floating-ui/utils" "^0.2.8" -"@floating-ui/dom@^1.0.0": +"@floating-ui/dom@^1.0.0", "@floating-ui/dom@^1.5.1": version "1.6.12" resolved "https://registry.yarnpkg.com/@floating-ui/dom/-/dom-1.6.12.tgz#6333dcb5a8ead3b2bf82f33d6bc410e95f54e556" integrity sha512-NP83c0HjokcGVEMeoStg317VD9W7eDlGK7457dMBANbKA6GJZdc7rjujdgqzTaz93jkGgc5P/jeWbaCHnMNc+w== @@ -522,6 +1088,155 @@ "@jridgewell/resolve-uri" "^3.1.0" "@jridgewell/sourcemap-codec" "^1.4.14" +"@lezer/common@^1.0.0", "@lezer/common@^1.0.2", "@lezer/common@^1.1.0", "@lezer/common@^1.2.0", "@lezer/common@^1.2.1": + version "1.2.3" + resolved "https://registry.yarnpkg.com/@lezer/common/-/common-1.2.3.tgz#138fcddab157d83da557554851017c6c1e5667fd" + integrity sha512-w7ojc8ejBqr2REPsWxJjrMFsA/ysDCFICn8zEOR9mrqzOu2amhITYuLD8ag6XZf0CFXDrhKqw7+tW8cX66NaDA== + +"@lezer/cpp@^1.0.0": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@lezer/cpp/-/cpp-1.1.2.tgz#1db93b09e011e8a7a08c347c9d5b7749971253bf" + integrity sha512-macwKtyeUO0EW86r3xWQCzOV9/CF8imJLpJlPv3sDY57cPGeUZ8gXWOWNlJr52TVByMV3PayFQCA5SHEERDmVQ== + dependencies: + "@lezer/common" "^1.2.0" + "@lezer/highlight" "^1.0.0" + "@lezer/lr" "^1.0.0" + +"@lezer/css@^1.1.0", "@lezer/css@^1.1.7": + version "1.1.9" + resolved "https://registry.yarnpkg.com/@lezer/css/-/css-1.1.9.tgz#404563d361422c5a1fe917295f1527ee94845ed1" + integrity sha512-TYwgljcDv+YrV0MZFFvYFQHCfGgbPMR6nuqLabBdmZoFH3EP1gvw8t0vae326Ne3PszQkbXfVBjCnf3ZVCr0bA== + dependencies: + "@lezer/common" "^1.2.0" + "@lezer/highlight" "^1.0.0" + "@lezer/lr" "^1.0.0" + +"@lezer/go@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@lezer/go/-/go-1.0.0.tgz#26cd2463f8583e630f52e714dca6d7420c5f7d7e" + integrity sha512-co9JfT3QqX1YkrMmourYw2Z8meGC50Ko4d54QEcQbEYpvdUvN4yb0NBZdn/9ertgvjsySxHsKzH3lbm3vqJ4Jw== + dependencies: + "@lezer/common" "^1.2.0" + "@lezer/highlight" "^1.0.0" + "@lezer/lr" "^1.0.0" + +"@lezer/highlight@^1.0.0", "@lezer/highlight@^1.1.3", "@lezer/highlight@^1.2.0": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@lezer/highlight/-/highlight-1.2.1.tgz#596fa8f9aeb58a608be0a563e960c373cbf23f8b" + integrity sha512-Z5duk4RN/3zuVO7Jq0pGLJ3qynpxUVsh7IbUbGj88+uV2ApSAn6kWg2au3iJb+0Zi7kKtqffIESgNcRXWZWmSA== + dependencies: + "@lezer/common" "^1.0.0" + +"@lezer/html@^1.3.0": + version "1.3.10" + resolved "https://registry.yarnpkg.com/@lezer/html/-/html-1.3.10.tgz#1be9a029a6fe835c823b20a98a449a630416b2af" + integrity sha512-dqpT8nISx/p9Do3AchvYGV3qYc4/rKr3IBZxlHmpIKam56P47RSHkSF5f13Vu9hebS1jM0HmtJIwLbWz1VIY6w== + dependencies: + "@lezer/common" "^1.2.0" + "@lezer/highlight" "^1.0.0" + "@lezer/lr" "^1.0.0" + +"@lezer/java@^1.0.0": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@lezer/java/-/java-1.1.3.tgz#9efd6a29b4142d07f211076a6fb5e8061c85e147" + integrity sha512-yHquUfujwg6Yu4Fd1GNHCvidIvJwi/1Xu2DaKl/pfWIA2c1oXkVvawH3NyXhCaFx4OdlYBVX5wvz2f7Aoa/4Xw== + dependencies: + "@lezer/common" "^1.2.0" + "@lezer/highlight" "^1.0.0" + "@lezer/lr" "^1.0.0" + +"@lezer/javascript@^1.0.0": + version "1.4.21" + resolved "https://registry.yarnpkg.com/@lezer/javascript/-/javascript-1.4.21.tgz#8ebf7d1f891c70e3d00864f5a03ac42c75d19492" + integrity sha512-lL+1fcuxWYPURMM/oFZLEDm0XuLN128QPV+VuGtKpeaOGdcl9F2LYC3nh1S9LkPqx9M0mndZFdXCipNAZpzIkQ== + dependencies: + "@lezer/common" "^1.2.0" + "@lezer/highlight" "^1.1.3" + "@lezer/lr" "^1.3.0" + +"@lezer/json@^1.0.0": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@lezer/json/-/json-1.0.2.tgz#bdc849e174113e2d9a569a5e6fb1a27e2f703eaf" + integrity sha512-xHT2P4S5eeCYECyKNPhr4cbEL9tc8w83SPwRC373o9uEdrvGKTZoJVAGxpOsZckMlEh9W23Pc72ew918RWQOBQ== + dependencies: + "@lezer/common" "^1.2.0" + "@lezer/highlight" "^1.0.0" + "@lezer/lr" "^1.0.0" + +"@lezer/lr@^1.0.0", "@lezer/lr@^1.1.0", "@lezer/lr@^1.3.0", "@lezer/lr@^1.3.1", "@lezer/lr@^1.3.3", "@lezer/lr@^1.4.0": + version "1.4.2" + resolved "https://registry.yarnpkg.com/@lezer/lr/-/lr-1.4.2.tgz#931ea3dea8e9de84e90781001dae30dea9ff1727" + integrity sha512-pu0K1jCIdnQ12aWNaAVU5bzi7Bd1w54J3ECgANPmYLtQKP0HBj2cE/5coBD66MT10xbtIuUr7tg0Shbsvk0mDA== + dependencies: + "@lezer/common" "^1.0.0" + +"@lezer/markdown@^1.0.0": + version "1.3.2" + resolved "https://registry.yarnpkg.com/@lezer/markdown/-/markdown-1.3.2.tgz#9d648b2a6cb47523f3d7ab494eee8c7be4f1ea9e" + integrity sha512-Wu7B6VnrKTbBEohqa63h5vxXjiC4pO5ZQJ/TDbhJxPQaaIoRD/6UVDhSDtVsCwVZV12vvN9KxuLL3ATMnlG0oQ== + dependencies: + "@lezer/common" "^1.0.0" + "@lezer/highlight" "^1.0.0" + +"@lezer/php@^1.0.0": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@lezer/php/-/php-1.0.2.tgz#7c291631fc1e7f7efe99977522bc48bdc732658a" + integrity sha512-GN7BnqtGRpFyeoKSEqxvGvhJQiI4zkgmYnDk/JIyc7H7Ifc1tkPnUn/R2R8meH3h/aBf5rzjvU8ZQoyiNDtDrA== + dependencies: + "@lezer/common" "^1.2.0" + "@lezer/highlight" "^1.0.0" + "@lezer/lr" "^1.1.0" + +"@lezer/python@^1.1.4": + version "1.1.15" + resolved "https://registry.yarnpkg.com/@lezer/python/-/python-1.1.15.tgz#14a21b3bf1997d1b578f0bb959bf2062641798a2" + integrity sha512-aVQ43m2zk4FZYedCqL0KHPEUsqZOrmAvRhkhHlVPnDD1HODDyyQv5BRIuod4DadkgBEZd53vQOtXTonNbEgjrQ== + dependencies: + "@lezer/common" "^1.2.0" + "@lezer/highlight" "^1.0.0" + "@lezer/lr" "^1.0.0" + +"@lezer/rust@^1.0.0": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@lezer/rust/-/rust-1.0.2.tgz#cc9a75605d67182a0e799ac40b1965a61dcc6ef0" + integrity sha512-Lz5sIPBdF2FUXcWeCu1//ojFAZqzTQNRga0aYv6dYXqJqPfMdCAI0NzajWUd4Xijj1IKJLtjoXRPMvTKWBcqKg== + dependencies: + "@lezer/common" "^1.2.0" + "@lezer/highlight" "^1.0.0" + "@lezer/lr" "^1.0.0" + +"@lezer/sass@^1.0.0": + version "1.0.7" + resolved "https://registry.yarnpkg.com/@lezer/sass/-/sass-1.0.7.tgz#e90066b1d386eee6160edc88a39293844e4ba106" + integrity sha512-8HLlOkuX/SMHOggI2DAsXUw38TuURe+3eQ5hiuk9QmYOUyC55B1dYEIMkav5A4IELVaW4e1T4P9WRiI5ka4mdw== + dependencies: + "@lezer/common" "^1.2.0" + "@lezer/highlight" "^1.0.0" + "@lezer/lr" "^1.0.0" + +"@lezer/xml@^1.0.0": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@lezer/xml/-/xml-1.0.5.tgz#4bb7fd3e527f41b78372477aa753f035b41c3846" + integrity sha512-VFouqOzmUWfIg+tfmpcdV33ewtK+NSwd4ngSe1aG7HFb4BN0ExyY1b8msp+ndFrnlG4V4iC8yXacjFtrwERnaw== + dependencies: + "@lezer/common" "^1.2.0" + "@lezer/highlight" "^1.0.0" + "@lezer/lr" "^1.0.0" + +"@lezer/yaml@^1.0.0": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@lezer/yaml/-/yaml-1.0.3.tgz#b23770ab42b390056da6b187d861b998fd60b1ff" + integrity sha512-GuBLekbw9jDBDhGur82nuwkxKQ+a3W5H0GfaAthDXcAu+XdpS43VlnxA9E9hllkpSP5ellRDKjLLj7Lu9Wr6xA== + dependencies: + "@lezer/common" "^1.2.0" + "@lezer/highlight" "^1.0.0" + "@lezer/lr" "^1.4.0" + +"@marijn/find-cluster-break@^1.0.0": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@marijn/find-cluster-break/-/find-cluster-break-1.0.2.tgz#775374306116d51c0c500b8c4face0f9a04752d8" + integrity sha512-l0h88YhZFyKdXIFNfSWpyjStDjGHwZ/U7iobcK1cQQD8sejsONdQtTVU+1wVN1PBw40PiiHB1vA5S7VTfQiP9g== + "@mdx-js/mdx@^3.0.0", "@mdx-js/mdx@^3.1.0": version "3.1.0" resolved "https://registry.yarnpkg.com/@mdx-js/mdx/-/mdx-3.1.0.tgz#10235cab8ad7d356c262e8c21c68df5850a97dc3" @@ -569,6 +1284,269 @@ source-map "^0.7.0" vfile "^6.0.0" +"@milkdown/components@7.5.9": + version "7.5.9" + resolved "https://registry.yarnpkg.com/@milkdown/components/-/components-7.5.9.tgz#9d9bc996f6c55e07bc9e9e506736c5e83cfd254e" + integrity sha512-HO9cSW6rZDkOA9H9W7otQBPYc7BEYtylcsyMVr3rMKC8lTwoD+m/djBUHA39j3ZSFyCA1f2FeUWsI6neOpfx4Q== + dependencies: + "@atomico/hooks" "^4.1.2" + "@floating-ui/dom" "^1.5.1" + "@milkdown/exception" "7.5.9" + "@types/lodash.debounce" "^4.0.7" + "@types/lodash.throttle" "^4.1.9" + atomico "^1.75.1" + clsx "^2.0.0" + lodash.debounce "^4.0.8" + lodash.throttle "^4.1.1" + tslib "^2.5.0" + unist-util-visit "^5.0.0" + +"@milkdown/core@7.5.9": + version "7.5.9" + resolved "https://registry.yarnpkg.com/@milkdown/core/-/core-7.5.9.tgz#8802618f9a237666f798331a859fe122916b8470" + integrity sha512-SEoOBVhLxTjpDhEn7BwpVdN/DQ05RGpCax5rOj2ldLdYt4rpQNNkITtZFMoEKjakbd7wtuLd10xJKtGgm+VzZw== + dependencies: + "@milkdown/exception" "7.5.9" + remark-parse "^11.0.0" + remark-stringify "^11.0.0" + tslib "^2.5.0" + unified "^11.0.3" + +"@milkdown/crepe@^7.5.9": + version "7.5.9" + resolved "https://registry.yarnpkg.com/@milkdown/crepe/-/crepe-7.5.9.tgz#ecea05990c39f0fa06b6013b538db57f75329937" + integrity sha512-yQEyB29w22tN1YSFIIrUSSge8IM1idontcqiLt7ojhw78mJ2/pCvCdEhYLyiw0v34QOoJxMlhHVdo/MatqzVmQ== + dependencies: + "@codemirror/commands" "^6.2.4" + "@codemirror/language" "^6.10.1" + "@codemirror/language-data" "^6.3.1" + "@codemirror/state" "^6.4.1" + "@codemirror/theme-one-dark" "^6.1.2" + "@codemirror/view" "^6.16.0" + "@milkdown/kit" "7.5.9" + atomico "^1.75.1" + clsx "^2.0.0" + codemirror "^6.0.1" + nanoid "^5.0.0" + tslib "^2.5.0" + +"@milkdown/ctx@7.5.9": + version "7.5.9" + resolved "https://registry.yarnpkg.com/@milkdown/ctx/-/ctx-7.5.9.tgz#5e7251dd8bb300c7911f689d31a671e26a540a28" + integrity sha512-xMobLTHxza6qRxGBJujupIJwnY/Lr6wWzDMKZJF10vw8VZWwRHIwH+VwAgOmHTbZqiKXkLW39ogNjwUCoMumBw== + dependencies: + "@milkdown/exception" "7.5.9" + tslib "^2.5.0" + +"@milkdown/exception@7.5.9": + version "7.5.9" + resolved "https://registry.yarnpkg.com/@milkdown/exception/-/exception-7.5.9.tgz#57e72c15f94af67d5a5f6ba2604eae52c1367287" + integrity sha512-9g+WpiRjgLsVlHt7DotlUmKK9oT6Lsr5TgxE0NdDvtr81CC43mgNtoekI6rg/PatEBBXifDK1GJJ4LKnRSseVQ== + dependencies: + tslib "^2.5.0" + +"@milkdown/kit@7.5.9", "@milkdown/kit@^7.5.9": + version "7.5.9" + resolved "https://registry.yarnpkg.com/@milkdown/kit/-/kit-7.5.9.tgz#c0d05c5b688b9a592940d4988173a7bd38390229" + integrity sha512-AxDX15+lVw5zAdFO73KE3VT/8TNzkkHfsGC6Nm5hv3qgTARNuTKs5m7o0PwhdlPoPH9JJjDdy0v0Eqw5LFxkbA== + dependencies: + "@milkdown/components" "7.5.9" + "@milkdown/core" "7.5.9" + "@milkdown/ctx" "7.5.9" + "@milkdown/plugin-block" "7.5.9" + "@milkdown/plugin-clipboard" "7.5.9" + "@milkdown/plugin-cursor" "7.5.9" + "@milkdown/plugin-history" "7.5.9" + "@milkdown/plugin-indent" "7.5.9" + "@milkdown/plugin-listener" "7.5.9" + "@milkdown/plugin-slash" "7.5.9" + "@milkdown/plugin-tooltip" "7.5.9" + "@milkdown/plugin-trailing" "7.5.9" + "@milkdown/plugin-upload" "7.5.9" + "@milkdown/preset-commonmark" "7.5.9" + "@milkdown/preset-gfm" "7.5.9" + "@milkdown/prose" "7.5.9" + "@milkdown/transformer" "7.5.9" + "@milkdown/utils" "7.5.9" + tslib "^2.5.0" + +"@milkdown/plugin-block@7.5.9": + version "7.5.9" + resolved "https://registry.yarnpkg.com/@milkdown/plugin-block/-/plugin-block-7.5.9.tgz#ff1fe675d545d7219a97ee03167ff236e4693fd1" + integrity sha512-YosoNhxXsE1/NZQzuoY+E37TU+rQSjCCg33EgCPqjwGr+3Js7dTFo3Pw8d13tLFyNhfFYXcsZeaA4LUV1v+ucw== + dependencies: + "@floating-ui/dom" "^1.5.1" + "@milkdown/exception" "7.5.9" + "@milkdown/utils" "7.5.9" + "@types/lodash.throttle" "^4.1.9" + lodash.throttle "^4.1.1" + tslib "^2.5.0" + +"@milkdown/plugin-clipboard@7.5.9": + version "7.5.9" + resolved "https://registry.yarnpkg.com/@milkdown/plugin-clipboard/-/plugin-clipboard-7.5.9.tgz#695a59433f5ec39f9ab299519111b3830cf3efeb" + integrity sha512-LAwVf4vS0G0ncwFrsGv/k6Htk/hOL+AkZI1nqMeFSLbv1GLHAJoZxYkQ7hHYL3FHxWjCZNNOs2Y9Wrs4zf06pg== + dependencies: + "@milkdown/utils" "7.5.9" + tslib "^2.5.0" + +"@milkdown/plugin-cursor@7.5.9": + version "7.5.9" + resolved "https://registry.yarnpkg.com/@milkdown/plugin-cursor/-/plugin-cursor-7.5.9.tgz#8e6b75329dd090ab0cd63ea5f97dcf880488972a" + integrity sha512-xwfHVVuowys8g3kn9WvsDoK4fPkesQIX5ciPfAeS+X5PmE/gMYpH0AYKqIbpZlwttmO8YgkUfHXIFQmcVVumiA== + dependencies: + "@milkdown/utils" "7.5.9" + tslib "^2.5.0" + +"@milkdown/plugin-history@7.5.9": + version "7.5.9" + resolved "https://registry.yarnpkg.com/@milkdown/plugin-history/-/plugin-history-7.5.9.tgz#8816521e49519bc86f73de29a16b731684795fbd" + integrity sha512-1bQw7kQuMRlRfb+lTjHw2dGPxjeKj5rTfsJAhp1FIIbUXFQOzNXwvBbhNi+eHyo9gP/VaRWe/MAUvB9aSZZZTw== + dependencies: + "@milkdown/utils" "7.5.9" + tslib "^2.5.0" + +"@milkdown/plugin-indent@7.5.9": + version "7.5.9" + resolved "https://registry.yarnpkg.com/@milkdown/plugin-indent/-/plugin-indent-7.5.9.tgz#32fe4a8204d5c04e218f513c95f0d95ea6bbba54" + integrity sha512-9gVzftuGaIEcCKa6ZfVoTjR9f0L2fn0/QRY7R85p8YXdFNo2ta/Ot07a2iHrxXQV2xFD6e8/L3giS1STLoh2mQ== + dependencies: + "@milkdown/utils" "7.5.9" + tslib "^2.5.0" + +"@milkdown/plugin-listener@7.5.9": + version "7.5.9" + resolved "https://registry.yarnpkg.com/@milkdown/plugin-listener/-/plugin-listener-7.5.9.tgz#5e103cd97e37db3e3a95ed4052b87e4ffa7f3eab" + integrity sha512-UljHyZLmOranNF/QVZ4Jpc67tr/CsYgW/ctgnZEWg3ldgZicuZrwlTzPYym3KJkNpIYcqYeuMvmV9cO9nrivvw== + dependencies: + "@milkdown/utils" "7.5.9" + "@types/lodash.debounce" "^4.0.7" + lodash.debounce "^4.0.8" + tslib "^2.5.0" + +"@milkdown/plugin-slash@7.5.9": + version "7.5.9" + resolved "https://registry.yarnpkg.com/@milkdown/plugin-slash/-/plugin-slash-7.5.9.tgz#f9a7f9a9a3d46182029da3eeb205f7469cfb035e" + integrity sha512-luGKs/3ztVjxxfW6hFo+ngu/HT8YHmwakCAOdA+8Sg1LwM9pVWEkSTPnxRaDBDif3hf8GdF6nTPsot3qIT6LtA== + dependencies: + "@floating-ui/dom" "^1.5.1" + "@milkdown/exception" "7.5.9" + "@milkdown/utils" "7.5.9" + "@types/lodash.debounce" "^4.0.7" + lodash.debounce "^4.0.8" + tslib "^2.5.0" + +"@milkdown/plugin-tooltip@7.5.9": + version "7.5.9" + resolved "https://registry.yarnpkg.com/@milkdown/plugin-tooltip/-/plugin-tooltip-7.5.9.tgz#7885da5fc4ddb54dbb1b5f762145ea154cf296ee" + integrity sha512-kot5o3CDA7VaZ+lDnGQRQD5SEsqdXfhaoD9oiJCAmRkrIeBXnb7jeBEO0O9VciGQe3b1AZkirH+ARfrJMd23hg== + dependencies: + "@floating-ui/dom" "^1.5.1" + "@milkdown/exception" "7.5.9" + "@milkdown/utils" "7.5.9" + "@types/lodash.debounce" "^4.0.7" + lodash.debounce "^4.0.8" + tippy.js "^6.3.7" + tslib "^2.5.0" + +"@milkdown/plugin-trailing@7.5.9": + version "7.5.9" + resolved "https://registry.yarnpkg.com/@milkdown/plugin-trailing/-/plugin-trailing-7.5.9.tgz#0460070ad04253f67a6a83c46cfdbe855a54d1c4" + integrity sha512-8XFs2qodFbsUhA8gDaLvdG80y7ArYCDzdVGt/1IQFxhHbsZhmezzrrbb1alvZBolPhqTw8kfDWOo9AXQaNDgLA== + dependencies: + "@milkdown/utils" "7.5.9" + tslib "^2.5.0" + +"@milkdown/plugin-upload@7.5.9": + version "7.5.9" + resolved "https://registry.yarnpkg.com/@milkdown/plugin-upload/-/plugin-upload-7.5.9.tgz#6064eefc2cfbd1f9bf9e00899d43704a3e9b2bb2" + integrity sha512-VH4Bwj8Tq8gV0u10/CabOsRstwvl5t6nUKdgSin7DuMJMkuxfuqlQzvnI30wclY+ZZUz7A9p1TNzOoaD6qUdjA== + dependencies: + "@milkdown/exception" "7.5.9" + "@milkdown/utils" "7.5.9" + tslib "^2.5.0" + +"@milkdown/preset-commonmark@7.5.9": + version "7.5.9" + resolved "https://registry.yarnpkg.com/@milkdown/preset-commonmark/-/preset-commonmark-7.5.9.tgz#8933994d62b2e1cf2c6d51cc2040d4bdcff3ada2" + integrity sha512-RWs3qkj5DdLy7/LaGztc7lRlyI6KS6a/5Afrkcgo/mcWTQqpYPQxVq0oTwJsYyaRfuwxqJeXu2i/UPcdHA7Ifw== + dependencies: + "@milkdown/exception" "7.5.9" + "@milkdown/utils" "7.5.9" + "@sindresorhus/slugify" "^2.2.0" + remark-inline-links "^7.0.0" + tslib "^2.5.0" + unist-util-visit "^5.0.0" + +"@milkdown/preset-gfm@7.5.9": + version "7.5.9" + resolved "https://registry.yarnpkg.com/@milkdown/preset-gfm/-/preset-gfm-7.5.9.tgz#b33fe15ed141d1d7701f2fa59588494c3621ab4d" + integrity sha512-rtPcCT8HnL+BUW4H+740y6h+ZKrP9jLrGEihVGjCeAkRH4TFEMhFnFNGWRT8JMxpCN0VHQKy44s6Wsa82yp9Uw== + dependencies: + "@milkdown/exception" "7.5.9" + "@milkdown/utils" "7.5.9" + prosemirror-safari-ime-span "^1.0.1" + remark-gfm "^4.0.0" + tslib "^2.5.0" + +"@milkdown/prose@7.5.9": + version "7.5.9" + resolved "https://registry.yarnpkg.com/@milkdown/prose/-/prose-7.5.9.tgz#2f7be3d5a4879f446d6994c39e8cfa533c8e56c7" + integrity sha512-y8/9mt3gXeyThK9v5joZYfsGbyQjCCRGWKZgvpYu97P+98ht6sNFqtRxvVasirqrJGLCzx8RsJAC6tSe2e/wCQ== + dependencies: + "@milkdown/exception" "7.5.9" + prosemirror-changeset "^2.2.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-model "^1.19.3" + prosemirror-schema-list "^1.3.0" + prosemirror-state "^1.4.3" + prosemirror-tables "^1.3.7" + prosemirror-transform "^1.7.5" + prosemirror-view "^1.31.7" + tslib "^2.5.0" + +"@milkdown/react@^7.5.9": + version "7.5.9" + resolved "https://registry.yarnpkg.com/@milkdown/react/-/react-7.5.9.tgz#68e2d4430d3a7e2c4e37b76134dcbec6f9dc37b3" + integrity sha512-qj8BS+Q2dbHlfKkPBVCnD05GrlG3vQVxYk+DTvIiLMYLppEe8XzSbE8ml4mqngRjOfhjenpcL7BTWBCMwj+qVw== + dependencies: + "@milkdown/utils" "7.5.9" + tslib "^2.5.0" + +"@milkdown/theme-nord@^7.5.9": + version "7.5.9" + resolved "https://registry.yarnpkg.com/@milkdown/theme-nord/-/theme-nord-7.5.9.tgz#a31b0923493f5f4cdcdc19521d93b869eb4a0dd2" + integrity sha512-aVWyBvrhMyVRX7yzkArQ6XeNbgKjVawAANKDgyAatgph79DpfOYFu4MsCy765uxxIMmHINTD+iJLTlgIDRri5A== + dependencies: + clsx "^2.0.0" + tslib "^2.5.0" + +"@milkdown/transformer@7.5.9": + version "7.5.9" + resolved "https://registry.yarnpkg.com/@milkdown/transformer/-/transformer-7.5.9.tgz#3628e326deb79d742ca0ac60e9b6739ea1c00419" + integrity sha512-JwR5QvppncouRVcdx8/2RfTEvb2GtG2QdO9urZomrDnF0uJC6nNM/8dreOuD0fMYWPJmi/RgD+V6fMmro75E8Q== + dependencies: + "@milkdown/exception" "7.5.9" + remark "^15.0.1" + remark-parse "^11.0.0" + remark-stringify "^11.0.0" + tslib "^2.5.0" + unified "^11.0.3" + +"@milkdown/utils@7.5.9": + version "7.5.9" + resolved "https://registry.yarnpkg.com/@milkdown/utils/-/utils-7.5.9.tgz#9107b4de4d7000468cba981ee3e431a56be021ac" + integrity sha512-udxaIdKm6pOiNACIKR7+NQ7Vj+QivhA5jcRqksEuQOfDFQBFcGaAhGEEiU1cKwE7fmP2ayigfD0IZ01rjLS2fA== + dependencies: + "@milkdown/exception" "7.5.9" + nanoid "^5.0.0" + tslib "^2.5.0" + "@nodelib/fs.scandir@2.1.5": version "2.1.5" resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" @@ -595,6 +1573,11 @@ resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== +"@popperjs/core@^2.9.0": + version "2.11.8" + resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.8.tgz#6b79032e760a0899cd4204710beede972a3a185f" + integrity sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A== + "@radix-ui/number@1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@radix-ui/number/-/number-1.0.1.tgz#644161a3557f46ed38a042acf4a770e826021674" @@ -1656,6 +2639,21 @@ resolved "https://registry.yarnpkg.com/@shikijs/vscode-textmate/-/vscode-textmate-9.3.1.tgz#afda31f8f42cab70a26f3603f52eae3f1c35d2f7" integrity sha512-79QfK1393x9Ho60QFyLti+QfdJzRQCVLFb97kOIV7Eo9vQU/roINgk7m24uv0a7AUvN//RDH36FLjjK48v0s9g== +"@sindresorhus/slugify@^2.2.0": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@sindresorhus/slugify/-/slugify-2.2.1.tgz#fa2e2e25d6e1e74a2eeb5e2c37f5ccc516ed2c4b" + integrity sha512-MkngSCRZ8JdSOCHRaYd+D01XhvU3Hjy6MGl06zhOk614hp9EOAp5gIkBeQg7wtmxpitU6eAL4kdiRMcJa2dlrw== + dependencies: + "@sindresorhus/transliterate" "^1.0.0" + escape-string-regexp "^5.0.0" + +"@sindresorhus/transliterate@^1.0.0": + version "1.6.0" + resolved "https://registry.yarnpkg.com/@sindresorhus/transliterate/-/transliterate-1.6.0.tgz#2309fff65a868047e6d2dd70dec747c5b36a8327" + integrity sha512-doH1gimEu3A46VX6aVxpHTeHrytJAG6HgdxntYnCFiIFHEM/ZGpG8KiZGBChchjQmG0XFIBL552kBTjVcMZXwQ== + dependencies: + escape-string-regexp "^5.0.0" + "@socket.io/component-emitter@~3.1.0": version "3.1.2" resolved "https://registry.yarnpkg.com/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz#821f8442f4175d8f0467b9daf26e3a18e2d02af2" @@ -1988,6 +2986,25 @@ resolved "https://registry.yarnpkg.com/@types/katex/-/katex-0.16.7.tgz#03ab680ab4fa4fbc6cb46ecf987ecad5d8019868" integrity sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ== +"@types/lodash.debounce@^4.0.7": + version "4.0.9" + resolved "https://registry.yarnpkg.com/@types/lodash.debounce/-/lodash.debounce-4.0.9.tgz#0f5f21c507bce7521b5e30e7a24440975ac860a5" + integrity sha512-Ma5JcgTREwpLRwMM+XwBR7DaWe96nC38uCBDFKZWbNKD+osjVzdpnUSwBcqCptrp16sSOLBAUb50Car5I0TCsQ== + dependencies: + "@types/lodash" "*" + +"@types/lodash.throttle@^4.1.9": + version "4.1.9" + resolved "https://registry.yarnpkg.com/@types/lodash.throttle/-/lodash.throttle-4.1.9.tgz#f17a6ae084f7c0117bd7df145b379537bc9615c5" + integrity sha512-PCPVfpfueguWZQB7pJQK890F2scYKoDUL3iM522AptHWn7d5NQmeS/LTEHIcLr5PaTzl3dK2Z0xSUHHTHwaL5g== + dependencies: + "@types/lodash" "*" + +"@types/lodash@*": + version "4.17.13" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.17.13.tgz#786e2d67cfd95e32862143abe7463a7f90c300eb" + integrity sha512-lfx+dftrEZcdBPczf9d0Qv0x+j/rfNCMuC6OcfXmO8gkfeNAY88PgKUbvG56whcN23gc27yenwF6oJZXGFpYxg== + "@types/mdast@^4.0.0": version "4.0.4" resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-4.0.4.tgz#7ccf72edd2f1aa7dd3437e180c64373585804dd6" @@ -2086,6 +3103,16 @@ resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== +"@uppercod/exp-route@^1.4.2": + version "1.4.2" + resolved "https://registry.yarnpkg.com/@uppercod/exp-route/-/exp-route-1.4.2.tgz#4a19a3d7b8f20fb23963b526feec476145643a4e" + integrity sha512-rRljihqBd3fBdWSKi4F+ev7OVJfjQyXSfwAxtjaA6PUcpBPbT0GjlJrXKa3wcFAMqE5brAjW0rMxTpXwbKv0pQ== + +"@uppercod/match-media@*", "@uppercod/match-media@^1.1.0": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@uppercod/match-media/-/match-media-1.1.1.tgz#0d50a56212c41f69fb1d383a4acc5e5dceca5f7d" + integrity sha512-ITGhdyxadb1ypwow3TkXGdF6vWAmRZWxxfUysZz2kvsGjgaCNSuJzbfLTeWEC+BeL651U18RwZlgpX93ZCRTFg== + "@vitejs/plugin-react@^4.0.1": version "4.3.3" resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-4.3.3.tgz#28301ac6d7aaf20b73a418ee5c65b05519b4836c" @@ -2193,6 +3220,11 @@ asynckit@^0.4.0: resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== +atomico@^1.75.1: + version "1.79.2" + resolved "https://registry.yarnpkg.com/atomico/-/atomico-1.79.2.tgz#eebff0e65fe12fdf2d751f57ec66e8057e923ddc" + integrity sha512-mshhLRMeIltNYbnQnqgnrvJ/uDa8XDfTQcjw3ymOygQqwHIQ4Sp0LcNYMCbACkV3DtV+eDXb9szwU4qMUuGwYQ== + attr-accept@^2.2.4: version "2.2.5" resolved "https://registry.yarnpkg.com/attr-accept/-/attr-accept-2.2.5.tgz#d7061d958e6d4f97bf8665c68b75851a0713ab5e" @@ -2420,6 +3452,11 @@ clsx@1.2.1, clsx@^1.2.1: resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.2.1.tgz#0ddc4a20a549b59c93a4116bb26f5294ca17dc12" integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg== +clsx@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.1.1.tgz#eed397c9fd8bd882bfb18deab7102049a2f32999" + integrity sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA== + cmdk@^0.2.0: version "0.2.1" resolved "https://registry.yarnpkg.com/cmdk/-/cmdk-0.2.1.tgz#aa8e1332bb0b8d8484e793017c82537351188d9a" @@ -2432,6 +3469,19 @@ code-block-writer@^12.0.0: resolved "https://registry.yarnpkg.com/code-block-writer/-/code-block-writer-12.0.0.tgz#4dd58946eb4234105aff7f0035977b2afdc2a770" integrity sha512-q4dMFMlXtKR3XNBHyMHt/3pwYNA69EDk00lloMOaaUMKPUXBw6lpXtbu3MMVG6/uOihGnRDOlkyqsONEUj60+w== +codemirror@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/codemirror/-/codemirror-6.0.1.tgz#62b91142d45904547ee3e0e0e4c1a79158035a29" + integrity sha512-J8j+nZ+CdWmIeFIGXEFbFPtpiYacFMDR8GlHK3IyHQJMCaVRfGx9NT+Hxivv1ckLWPvNdZqndbr/7lVhrf/Svg== + dependencies: + "@codemirror/autocomplete" "^6.0.0" + "@codemirror/commands" "^6.0.0" + "@codemirror/language" "^6.0.0" + "@codemirror/lint" "^6.0.0" + "@codemirror/search" "^6.0.0" + "@codemirror/state" "^6.0.0" + "@codemirror/view" "^6.0.0" + collapse-white-space@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-2.1.0.tgz#640257174f9f42c740b40f3b55ee752924feefca" @@ -2501,6 +3551,11 @@ cosmiconfig@^8.1.3: parse-json "^5.2.0" path-type "^4.0.0" +crelt@^1.0.5: + version "1.0.6" + resolved "https://registry.yarnpkg.com/crelt/-/crelt-1.0.6.tgz#7cc898ea74e190fb6ef9dae57f8f81cf7302df72" + integrity sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g== + cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: version "7.0.5" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.5.tgz#910aac880ff5243da96b728bc6521a5f6c2f2f82" @@ -3808,6 +4863,11 @@ lodash._reinterpolate@^3.0.0: resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" integrity sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA== +lodash.debounce@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" + integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== + lodash.isplainobject@^4.0.6: version "4.0.6" resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" @@ -3833,6 +4893,11 @@ lodash.templatesettings@^4.0.0: dependencies: lodash._reinterpolate "^3.0.0" +lodash.throttle@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz#c23e91b710242ac70c37f1e1cda9274cc39bf2f4" + integrity sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ== + lodash@^4.17.21: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" @@ -3885,6 +4950,15 @@ markdown-table@^3.0.0: resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-3.0.4.tgz#fe44d6d410ff9d6f2ea1797a3f60aa4d2b631c2a" integrity sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw== +mdast-util-definitions@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/mdast-util-definitions/-/mdast-util-definitions-6.0.0.tgz#c1bb706e5e76bb93f9a09dd7af174002ae69ac24" + integrity sha512-scTllyX6pnYNZH/AIp/0ePz6s4cZtARxImwoPJ7kS42n+MnVsI4XbnG6d4ibehRIldYMWM2LD7ImQblVhUejVQ== + dependencies: + "@types/mdast" "^4.0.0" + "@types/unist" "^3.0.0" + unist-util-visit "^5.0.0" + mdast-util-find-and-replace@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.1.tgz#a6fc7b62f0994e973490e45262e4bc07607b04e0" @@ -4586,6 +5660,11 @@ nanoid@^3.3.7: resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== +nanoid@^5.0.0: + version "5.0.9" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-5.0.9.tgz#977dcbaac055430ce7b1e19cf0130cea91a20e50" + integrity sha512-Aooyr6MXU6HpvvWXKoVoXwKMs/KyVakWwg7xQfv5/S/RIgJMy0Ifa45H9qqYy7pTCszrHzP21Uk4PZq2HpEM8Q== + natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" @@ -4701,6 +5780,11 @@ ora@^6.1.2: strip-ansi "^7.0.1" wcwidth "^1.0.1" +orderedmap@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/orderedmap/-/orderedmap-2.1.1.tgz#61481269c44031c449915497bf5a4ad273c512d2" + integrity sha512-TvAWxi0nDe1j/rtMcWcIj94+Ffe6n7zhow33h40SKxmsmozs6dz/e+EajymfoFcHd7sxNn8yHM8839uixMOV6g== + p-limit@^3.0.2: version "3.1.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" @@ -4911,6 +5995,127 @@ property-information@^6.0.0: resolved "https://registry.yarnpkg.com/property-information/-/property-information-6.5.0.tgz#6212fbb52ba757e92ef4fb9d657563b933b7ffec" integrity sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig== +prosemirror-changeset@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/prosemirror-changeset/-/prosemirror-changeset-2.2.1.tgz#dae94b63aec618fac7bb9061648e6e2a79988383" + integrity sha512-J7msc6wbxB4ekDFj+n9gTW/jav/p53kdlivvuppHsrZXCaQdVgRghoZbSS3kwrRyAstRVQ4/+u5k7YfLgkkQvQ== + dependencies: + prosemirror-transform "^1.0.0" + +prosemirror-commands@^1.5.2: + version "1.6.2" + resolved "https://registry.yarnpkg.com/prosemirror-commands/-/prosemirror-commands-1.6.2.tgz#d9cf6654912442cff47daa1677eb43ebd0b1f117" + integrity sha512-0nDHH++qcf/BuPLYvmqZTUUsPJUCPBUXt0J1ErTcDIS369CTp773itzLGIgIXG4LJXOlwYCr44+Mh4ii6MP1QA== + dependencies: + prosemirror-model "^1.0.0" + prosemirror-state "^1.0.0" + prosemirror-transform "^1.10.2" + +prosemirror-dropcursor@^1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/prosemirror-dropcursor/-/prosemirror-dropcursor-1.8.1.tgz#49b9fb2f583e0d0f4021ff87db825faa2be2832d" + integrity sha512-M30WJdJZLyXHi3N8vxN6Zh5O8ZBbQCz0gURTfPmTIBNQ5pxrdU7A58QkNqfa98YEjSAL1HUyyU34f6Pm5xBSGw== + dependencies: + prosemirror-state "^1.0.0" + prosemirror-transform "^1.1.0" + prosemirror-view "^1.1.0" + +prosemirror-gapcursor@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/prosemirror-gapcursor/-/prosemirror-gapcursor-1.3.2.tgz#5fa336b83789c6199a7341c9493587e249215cb4" + integrity sha512-wtjswVBd2vaQRrnYZaBCbyDqr232Ed4p2QPtRIUK5FuqHYKGWkEwl08oQM4Tw7DOR0FsasARV5uJFvMZWxdNxQ== + dependencies: + prosemirror-keymap "^1.0.0" + prosemirror-model "^1.0.0" + prosemirror-state "^1.0.0" + prosemirror-view "^1.0.0" + +prosemirror-history@^1.3.2: + version "1.4.1" + resolved "https://registry.yarnpkg.com/prosemirror-history/-/prosemirror-history-1.4.1.tgz#cc370a46fb629e83a33946a0e12612e934ab8b98" + integrity sha512-2JZD8z2JviJrboD9cPuX/Sv/1ChFng+xh2tChQ2X4bB2HeK+rra/bmJ3xGntCcjhOqIzSDG6Id7e8RJ9QPXLEQ== + dependencies: + prosemirror-state "^1.2.2" + prosemirror-transform "^1.0.0" + prosemirror-view "^1.31.0" + rope-sequence "^1.3.0" + +prosemirror-inputrules@^1.2.1: + version "1.4.0" + resolved "https://registry.yarnpkg.com/prosemirror-inputrules/-/prosemirror-inputrules-1.4.0.tgz#ef1519bb2cb0d1e0cec74bad1a97f1c1555068bb" + integrity sha512-6ygpPRuTJ2lcOXs9JkefieMst63wVJBgHZGl5QOytN7oSZs3Co/BYbc3Yx9zm9H37Bxw8kVzCnDsihsVsL4yEg== + dependencies: + prosemirror-state "^1.0.0" + prosemirror-transform "^1.0.0" + +prosemirror-keymap@^1.0.0, prosemirror-keymap@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/prosemirror-keymap/-/prosemirror-keymap-1.2.2.tgz#14a54763a29c7b2704f561088ccf3384d14eb77e" + integrity sha512-EAlXoksqC6Vbocqc0GtzCruZEzYgrn+iiGnNjsJsH4mrnIGex4qbLdWWNza3AW5W36ZRrlBID0eM6bdKH4OStQ== + dependencies: + prosemirror-state "^1.0.0" + w3c-keyname "^2.2.0" + +prosemirror-model@^1.0.0, prosemirror-model@^1.19.3, prosemirror-model@^1.20.0, prosemirror-model@^1.21.0, prosemirror-model@^1.24.1: + version "1.24.1" + resolved "https://registry.yarnpkg.com/prosemirror-model/-/prosemirror-model-1.24.1.tgz#b445e4f9b9cfc8c1a699215057b506842ebff1a9" + integrity sha512-YM053N+vTThzlWJ/AtPtF1j0ebO36nvbmDy4U7qA2XQB8JVaQp1FmB9Jhrps8s+z+uxhhVTny4m20ptUvhk0Mg== + dependencies: + orderedmap "^2.0.0" + +prosemirror-safari-ime-span@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/prosemirror-safari-ime-span/-/prosemirror-safari-ime-span-1.0.2.tgz#20c9dcb33dfd68b2e59de8923b6506f9dc07c356" + integrity sha512-QJqD8s1zE/CuK56kDsUhndh5hiHh/gFnAuPOA9ytva2s85/ZEt2tNWeALTJN48DtWghSKOmiBsvVn2OlnJ5H2w== + dependencies: + prosemirror-state "^1.4.3" + prosemirror-view "^1.33.8" + +prosemirror-schema-list@^1.3.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/prosemirror-schema-list/-/prosemirror-schema-list-1.5.0.tgz#f05ddbe2e71efc9157a0dbedf80761c08bda5192" + integrity sha512-gg1tAfH1sqpECdhIHOA/aLg2VH3ROKBWQ4m8Qp9mBKrOxQRW61zc+gMCI8nh22gnBzd1t2u1/NPLmO3nAa3ssg== + dependencies: + prosemirror-model "^1.0.0" + prosemirror-state "^1.0.0" + prosemirror-transform "^1.7.3" + +prosemirror-state@^1.0.0, prosemirror-state@^1.2.2, prosemirror-state@^1.4.3: + version "1.4.3" + resolved "https://registry.yarnpkg.com/prosemirror-state/-/prosemirror-state-1.4.3.tgz#94aecf3ffd54ec37e87aa7179d13508da181a080" + integrity sha512-goFKORVbvPuAQaXhpbemJFRKJ2aixr+AZMGiquiqKxaucC6hlpHNZHWgz5R7dS4roHiwq9vDctE//CZ++o0W1Q== + dependencies: + prosemirror-model "^1.0.0" + prosemirror-transform "^1.0.0" + prosemirror-view "^1.27.0" + +prosemirror-tables@^1.3.7: + version "1.6.2" + resolved "https://registry.yarnpkg.com/prosemirror-tables/-/prosemirror-tables-1.6.2.tgz#cec9e9ac6ecf81d67147c19ab39125d56c8351ae" + integrity sha512-97dKocVLrEVTQjZ4GBLdrrMw7Gv3no8H8yMwf5IRM9OoHrzbWpcH5jJxYgNQIRCtdIqwDctT1HdMHrGTiwp1dQ== + dependencies: + prosemirror-keymap "^1.2.2" + prosemirror-model "^1.24.1" + prosemirror-state "^1.4.3" + prosemirror-transform "^1.10.2" + prosemirror-view "^1.37.1" + +prosemirror-transform@^1.0.0, prosemirror-transform@^1.1.0, prosemirror-transform@^1.10.2, prosemirror-transform@^1.7.3, prosemirror-transform@^1.7.5: + version "1.10.2" + resolved "https://registry.yarnpkg.com/prosemirror-transform/-/prosemirror-transform-1.10.2.tgz#8ebac4e305b586cd96595aa028118c9191bbf052" + integrity sha512-2iUq0wv2iRoJO/zj5mv8uDUriOHWzXRnOTVgCzSXnktS/2iQRa3UUQwVlkBlYZFtygw6Nh1+X4mGqoYBINn5KQ== + dependencies: + prosemirror-model "^1.21.0" + +prosemirror-view@^1.0.0, prosemirror-view@^1.1.0, prosemirror-view@^1.27.0, prosemirror-view@^1.31.0, prosemirror-view@^1.31.7, prosemirror-view@^1.33.8, prosemirror-view@^1.37.1: + version "1.37.1" + resolved "https://registry.yarnpkg.com/prosemirror-view/-/prosemirror-view-1.37.1.tgz#3ccd67cd3d831eb37a2505dd34151932462172fb" + integrity sha512-MEAnjOdXU1InxEmhjgmEzQAikaS6lF3hD64MveTPpjOGNTl87iRLA1HupC/DEV6YuK7m4Q9DHFNTjwIVtqz5NA== + dependencies: + prosemirror-model "^1.20.0" + prosemirror-state "^1.0.0" + prosemirror-transform "^1.1.0" + proxy-from-env@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" @@ -5331,6 +6536,15 @@ remark-github-blockquote-alert@^1.0.0: dependencies: unist-util-visit "^5.0.0" +remark-inline-links@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/remark-inline-links/-/remark-inline-links-7.0.0.tgz#77fbff8061abc3d0ec34187ab71678a710df05e1" + integrity sha512-4uj1pPM+F495ySZhTIB6ay2oSkTsKgmYaKk/q5HIdhX2fuyLEegpjWa0VdJRJ01sgOqAFo7MBKdDUejIYBMVMQ== + dependencies: + "@types/mdast" "^4.0.0" + mdast-util-definitions "^6.0.0" + unist-util-visit "^5.0.0" + remark-math@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/remark-math/-/remark-math-6.0.0.tgz#0acdf74675f1c195fea6efffa78582f7ed7fc0d7" @@ -5379,6 +6593,16 @@ remark-stringify@^11.0.0: mdast-util-to-markdown "^2.0.0" unified "^11.0.0" +remark@^15.0.1: + version "15.0.1" + resolved "https://registry.yarnpkg.com/remark/-/remark-15.0.1.tgz#ac7e7563260513b66426bc47f850e7aa5862c37c" + integrity sha512-Eht5w30ruCXgFmxVUSlNWQ9iiimq07URKeFS3hNc8cUWy1llX4KDWfyEDZRycMc+znsN9Ux5/tJ/BFdgdOwA3A== + dependencies: + "@types/mdast" "^4.0.0" + remark-parse "^11.0.0" + remark-stringify "^11.0.0" + unified "^11.0.0" + resolve-from@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" @@ -5441,6 +6665,11 @@ rollup@^4.23.0: "@rollup/rollup-win32-x64-msvc" "4.29.1" fsevents "~2.3.2" +rope-sequence@^1.3.0: + version "1.3.4" + resolved "https://registry.yarnpkg.com/rope-sequence/-/rope-sequence-1.3.4.tgz#df85711aaecd32f1e756f76e43a415171235d425" + integrity sha512-UT5EDe2cu2E/6O4igUr5PSFs23nvvukicWHx6GnOPlHAiiYbzNuCRQCuiUdHJQcqKalLKlrYJnjY0ySGsXNQXQ== + run-parallel@^1.1.9: version "1.2.0" resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" @@ -5648,6 +6877,11 @@ strip-json-comments@^3.1.1: resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== +style-mod@^4.0.0, style-mod@^4.1.0: + version "4.1.2" + resolved "https://registry.yarnpkg.com/style-mod/-/style-mod-4.1.2.tgz#ca238a1ad4786520f7515a8539d5a63691d7bf67" + integrity sha512-wnD1HyVqpJUI2+eKZ+eo1UwghftP6yuFheBqqe+bWCotBjC2K1YnteJILRMs3SM4V/0dLEW1SC27MWP5y+mwmw== + style-to-object@^0.4.0: version "0.4.4" resolved "https://registry.yarnpkg.com/style-to-object/-/style-to-object-0.4.4.tgz#266e3dfd56391a7eefb7770423612d043c3f33ec" @@ -5769,6 +7003,13 @@ tiny-invariant@^1.3.3: resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.3.3.tgz#46680b7a873a0d5d10005995eb90a70d74d60127" integrity sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg== +tippy.js@^6.3.7: + version "6.3.7" + resolved "https://registry.yarnpkg.com/tippy.js/-/tippy.js-6.3.7.tgz#8ccfb651d642010ed9a32ff29b0e9e19c5b8c61c" + integrity sha512-E1d3oP2emgJ9dRQZdf3Kkn0qJgI6ZLpyS5z6ZkY1DF3kaQaBsGZsndEpHwx+eC+tYM41HaSNvNtLx8tU57FzTQ== + dependencies: + "@popperjs/core" "^2.9.0" + to-regex-range@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" @@ -5808,7 +7049,7 @@ tsconfig-paths@^4.2.0: minimist "^1.2.6" strip-bom "^3.0.0" -tslib@^2.0.0, tslib@^2.0.1, tslib@^2.1.0, tslib@^2.4.0, tslib@^2.6.2, tslib@^2.7.0: +tslib@^2.0.0, tslib@^2.0.1, tslib@^2.1.0, tslib@^2.4.0, tslib@^2.5.0, tslib@^2.6.2, tslib@^2.7.0: version "2.8.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== @@ -5998,6 +7239,11 @@ vite@^6.0.5: optionalDependencies: fsevents "~2.3.3" +w3c-keyname@^2.2.0, w3c-keyname@^2.2.4: + version "2.2.8" + resolved "https://registry.yarnpkg.com/w3c-keyname/-/w3c-keyname-2.2.8.tgz#7b17c8c6883d4e8b86ac8aba79d39e880f8869c5" + integrity sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ== + wcwidth@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" From 49a2540ae2a49b439ed2ec48928ab653f03363ab Mon Sep 17 00:00:00 2001 From: Sumit Jain Date: Sat, 28 Dec 2024 17:00:24 +0530 Subject: [PATCH 2/4] feat: add FormHelperText component and refactor APIClientContent and ViewDocs components for improved functionality --- .../src/components/common/Checkbox/Check.tsx | 2 +- .../common/Forms/FormControl/FormElement.tsx | 4 + .../features/APIClient/APIClientContent.tsx | 5 +- dashboard/src/pages/features/docs/Footer.tsx | 157 ++++++++++++------ dashboard/src/pages/features/docs/Navbar.tsx | 107 ++++++++---- .../src/pages/features/docs/PageContent.tsx | 47 ++++-- dashboard/src/pages/features/docs/Sidebar.tsx | 121 +++++++++----- .../src/pages/features/docs/ViewDocs.tsx | 78 ++++----- dashboard/src/utils/removeFrappeFields.ts | 24 +++ 9 files changed, 342 insertions(+), 203 deletions(-) create mode 100644 dashboard/src/utils/removeFrappeFields.ts diff --git a/dashboard/src/components/common/Checkbox/Check.tsx b/dashboard/src/components/common/Checkbox/Check.tsx index 9385f1d..8a023e9 100644 --- a/dashboard/src/components/common/Checkbox/Check.tsx +++ b/dashboard/src/components/common/Checkbox/Check.tsx @@ -23,7 +23,7 @@ export const Check = ({ name, label, controllerProps, alignWithLabel = false, ru name={name} rules={rules} render={({ field: { name, onChange, ref, value } }) => ( - + )} {...controllerProps} /> diff --git a/dashboard/src/components/common/Forms/FormControl/FormElement.tsx b/dashboard/src/components/common/Forms/FormControl/FormElement.tsx index fdf44d5..4780cc4 100644 --- a/dashboard/src/components/common/Forms/FormControl/FormElement.tsx +++ b/dashboard/src/components/common/Forms/FormControl/FormElement.tsx @@ -62,3 +62,7 @@ export const FormElement = ({ name, label, children, tooltip, ...props }: FormEl ) }; + +export const FormHelperText = ({ children }: { children: React.ReactNode }) => { + return
{children}
+} \ No newline at end of file diff --git a/dashboard/src/components/features/APIClient/APIClientContent.tsx b/dashboard/src/components/features/APIClient/APIClientContent.tsx index 8472e78..eea2be4 100644 --- a/dashboard/src/components/features/APIClient/APIClientContent.tsx +++ b/dashboard/src/components/features/APIClient/APIClientContent.tsx @@ -137,10 +137,7 @@ const APIClientContent = ({ endpoint, open, parameters }: APIClientContentProps) return obj } else { - return Object.keys(data)?.filter((key) => !(key.includes('key') || key.includes('value'))).reduce((acc, key) => { - acc[key] = data[key] - return acc - }, {} as Record) + return data } } diff --git a/dashboard/src/pages/features/docs/Footer.tsx b/dashboard/src/pages/features/docs/Footer.tsx index 628ecc2..32a015d 100644 --- a/dashboard/src/pages/features/docs/Footer.tsx +++ b/dashboard/src/pages/features/docs/Footer.tsx @@ -1,68 +1,78 @@ -import { CommitDocs } from "@/types/commit/CommitDocs"; -import { DocsFooterItem } from "./docs"; import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@/components/ui/tooltip"; import { Bird, Github, Linkedin, Send, Slack, Twitter, Youtube } from "lucide-react"; +import { useGetCommitDocsDetails } from "@/components/features/meta_apps/useGetCommitDocsDetails"; -export const Footer = ({ commit_docs, footer_items }: { commit_docs: Omit, footer_items: Record }) => { +export const Footer = ({ ID }: { ID: string }) => { - const social_links = { - 'raven': commit_docs.raven, - 'twitter': commit_docs.twitter_url, - 'linkedin': commit_docs.linkedin, - 'slack': commit_docs.slack, - 'github': commit_docs.github, - 'youtube': commit_docs.youtube, - 'telegram': commit_docs.telegram, - } - return ( -
-
-
-
-
- {commit_docs.light_mode_logo && ( - Logo - )} - {commit_docs.header && ( -

{commit_docs.header}

- )} -
+ const { data, isLoading } = useGetCommitDocsDetails(ID); -
- {Object.keys(footer_items).map((section) => ( -
-
{section}
- -
- ))} -
+ if (data) { + const commit_docs = data.commit_docs; + const footer_items = data.footer_items + + const social_links = { + 'raven': commit_docs.raven, + 'twitter': commit_docs.twitter_url, + 'linkedin': commit_docs.linkedin, + 'slack': commit_docs.slack, + 'github': commit_docs.github, + 'youtube': commit_docs.youtube, + 'telegram': commit_docs.telegram, + } + return ( +
+
+
+
+
+ {commit_docs.light_mode_logo && ( + Logo + )} + {commit_docs.header && ( +

{commit_docs.header}

+ )} +
+ +
+ {Object.keys(footer_items).map((section) => ( +
+
{section}
+ +
+ ))} +
-
- {Object.entries(social_links).map(([field, url]) => - url ? : null - )} +
+ {Object.entries(social_links).map(([field, url]) => + url ? : null + )} +
+
+ Copyright © {new Date().getFullYear()} {commit_docs.company_name}, Build with commit. +
-
- Copyright © {new Date().getFullYear()} {commit_docs.company_name}, Build with commit. -
-
-
- ) +
+ ) + } + if (isLoading) { + return ; + } + return null } @@ -101,4 +111,41 @@ const SocialMediaIcon: React.FC = ({ field, url }) => { ); +}; + +const FooterSkeleton = () => { + return ( +
+
+
+ {/* Links Section Skeleton */} +
+
+
    +
  • +
  • +
  • +
+
+
+
+
    +
  • +
  • +
  • +
+
+ {/* Social Media Icons Skeleton */} +
+
+
+
+
+
+
+
+
+
+
+ ); }; \ No newline at end of file diff --git a/dashboard/src/pages/features/docs/Navbar.tsx b/dashboard/src/pages/features/docs/Navbar.tsx index ce88d29..b980cd0 100644 --- a/dashboard/src/pages/features/docs/Navbar.tsx +++ b/dashboard/src/pages/features/docs/Navbar.tsx @@ -4,50 +4,60 @@ import { Input } from "@/components/ui/input"; import { DocsNavbarItem } from "./docs"; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from "@/components/ui/dropdown-menu"; import { ChevronDown, Search } from "lucide-react"; +import { useGetCommitDocsDetails } from "@/components/features/meta_apps/useGetCommitDocsDetails"; -export const Navbar = ({ navbar_items }: { navbar_items: Record }) => { - return ( -
-
-
+export const Navbar = ({ ID }: { ID: string }) => { + const { data, isLoading } = useGetCommitDocsDetails(ID); + if (data) { + const navbar_items = data.navbar_items; + return ( +
-
-
- {/* Left side: Search bar */} -
- - -
- {/* Right side: Navbar items */} -
- {Object.keys(navbar_items).reverse().map((key) => ( -
- {navbar_items[key]?.type === 'Button' ? ( - - ) : ( - - )} -
- ))} +
+
+
+
+ {/* Left side: Search bar */} +
+ + +
+ {/* Right side: Navbar items */} +
+ {Object.keys(navbar_items).reverse().map((key) => ( +
+ {navbar_items[key]?.type === 'Button' ? ( + + ) : ( + + )} +
+ ))} +
-
- ); + ); + } + if (isLoading) { + return ; + } + return null }; + const MenuButton = ({ item }: { item: DocsNavbarItem }) => { return ( @@ -71,4 +81,31 @@ const MenuButton = ({ item }: { item: DocsNavbarItem }) => { ); -}; \ No newline at end of file +}; + +const NavbarSkeleton = () => { + return ( +
+
+
+
+
+
+ {/* Left side: Search bar skeleton */} +
+
+
+
+ {/* Right side: Navbar items skeleton */} +
+
+
+
+
+
+
+
+
+
+ ); +}; diff --git a/dashboard/src/pages/features/docs/PageContent.tsx b/dashboard/src/pages/features/docs/PageContent.tsx index 071165a..caaaa30 100644 --- a/dashboard/src/pages/features/docs/PageContent.tsx +++ b/dashboard/src/pages/features/docs/PageContent.tsx @@ -1,11 +1,13 @@ import { ErrorBanner } from "@/components/common/ErrorBanner/ErrorBanner"; import { FullPageLoader } from "@/components/common/FullPageLoader/FullPageLoader"; -import { OnThisPage } from "@/components/features/documentation/OnThisPage"; import { CommitDocsPage } from "@/types/commit/CommitDocsPage"; import { useFrappeGetCall } from "frappe-react-sdk"; -import { lazy, Suspense } from "react"; +import { useState } from "react"; +import { Renderer } from "./Renderer"; +import { EditorComponent } from "./EditorComponent"; +import { useGetCommitDocsDetails } from "@/components/features/meta_apps/useGetCommitDocsDetails"; +import { useParams } from "react-router-dom"; -const MDXRenderer = lazy(() => import('@/components/common/MarkdownRenderer/MDX')); export interface PageData { doc: CommitDocsPage toc_obj: TocObj @@ -24,14 +26,34 @@ export interface TocObj { [key: string]: TocItem; }; -export const PageContent = ({ selectedEndpoint, route_map }: { selectedEndpoint: string, route_map: Record }) => { +export const PageContent = ({ ID }: { ID: string }) => { + const { data } = useGetCommitDocsDetails(ID); + + const { pageID } = useParams(); + + if (data && pageID) { + return ( + + ) + } + return null; +} + +const PageContentFetch = ({ selectedEndpoint, route_map }: { selectedEndpoint: string, route_map: Record }) => { const selectedEndpointRoute = route_map[selectedEndpoint]; - const { data, error, isLoading } = useFrappeGetCall<{ message: PageData; }>("commit.commit.doctype.commit_docs_page.commit_docs_page.get_commit_docs_page", { + const { data, error, isLoading, mutate } = useFrappeGetCall<{ message: PageData; }>("commit.commit.doctype.commit_docs_page.commit_docs_page.get_commit_docs_page", { name: selectedEndpointRoute + }, undefined, { + revalidateOnFocus: false, + revalidateIfStale: false, + revalidateOnReconnect: false, + keepPreviousData: true }); + const [edit, setEdit] = useState(false); + if (isLoading) { return ; } @@ -44,18 +66,9 @@ export const PageContent = ({ selectedEndpoint, route_map }: { selectedEndpoint: if (data && data?.message) { return ( -
-
-
{data?.message?.doc?.title}
- }> - - -
-
- -
-
+ <> + {edit ? : } + ) } - } \ No newline at end of file diff --git a/dashboard/src/pages/features/docs/Sidebar.tsx b/dashboard/src/pages/features/docs/Sidebar.tsx index 00d19fb..51f661a 100644 --- a/dashboard/src/pages/features/docs/Sidebar.tsx +++ b/dashboard/src/pages/features/docs/Sidebar.tsx @@ -6,44 +6,45 @@ import { useState } from "react"; import classNames from "classnames"; import { cn } from "@/lib/utils"; import { ChevronDown, ChevronRight } from "lucide-react"; +import { useParams } from "react-router-dom"; +import { useGetCommitDocsDetails } from "@/components/features/meta_apps/useGetCommitDocsDetails"; -export const Sidebar = ({ - commit_docs, - sidebar_items, - selectedEndpoint, - setSelectedEndpoint, -}: { - commit_docs: Omit; - sidebar_items: Record; - selectedEndpoint: string; - setSelectedEndpoint: (selectedEndpoint: string) => void; -}) => { - return ( -
-
- {/* Header */} -
- {commit_docs.light_mode_logo && ( - logo - )} - {commit_docs.header &&
{commit_docs.header}
} +export const Sidebar = ({ ID }: { ID: string }) => { + + const { data, isLoading } = useGetCommitDocsDetails(ID); + + if (data) { + const commit_docs: CommitDocs = data.commit_docs; + const sidebar_items = data.sidebar_items; + return ( +
+
+ {/* Header */} +
+ {commit_docs.light_mode_logo && ( + logo + )} + {commit_docs.header &&
{commit_docs.header}
} +
+ {/* Sidebar Items */} + {Object.keys(sidebar_items).map((key) => ( + + ))}
- {/* Sidebar Items */} - {Object.keys(sidebar_items).map((key) => ( - - ))}
-
- ); + ); + } + if (isLoading) { + return ; + } }; -const SidebarGroup = ({ groupName, items, selectedEndpoint, setSelectedEndpoint }: { groupName: string, items: DocsSidebarItem[], selectedEndpoint: string, setSelectedEndpoint: (selectedEndpoint: string) => void }) => { +const SidebarGroup = ({ groupName, items }: { groupName: string, items: DocsSidebarItem[] }) => { const [isExpanded, setIsExpanded] = useState(true); return ( @@ -55,7 +56,7 @@ const SidebarGroup = ({ groupName, items, selectedEndpoint, setSelectedEndpoint {isExpanded && items.length > 0 && (
    {items.map((item) => ( - + ))}
)} @@ -63,17 +64,17 @@ const SidebarGroup = ({ groupName, items, selectedEndpoint, setSelectedEndpoint ) } -const SidebarItem = ({ item, selectedEndpoint, setSelectedEndpoint, className, level = 1 }: { item: DocsSidebarItem, selectedEndpoint: string, setSelectedEndpoint: (selectedEndpoint: string) => void, className?: string, level?: number }) => { +const SidebarItem = ({ item, className, level = 1 }: { item: DocsSidebarItem, className?: string, level?: number }) => { if (item.is_group_page && item.group_items?.length) { const [isExpanded, setIsExpanded] = useState(false); return (
  • - + {isExpanded && item.group_items.length &&
      {item.group_items.map((groupItem) => ( - + ))}
    } @@ -83,14 +84,15 @@ const SidebarItem = ({ item, selectedEndpoint, setSelectedEndpoint, className, l return (
  • - +
  • ) } -const SidebarTitle = ({ item, selectedEndpoint, setSelectedEndpoint, className, isExpanded, setIsExpanded }: { item: DocsSidebarItem, selectedEndpoint: string, setSelectedEndpoint: (selectedEndpoint: string) => void, className?: string, isExpanded?: boolean, setIsExpanded?: (isExpanded: boolean) => void }) => { +const SidebarTitle = ({ item, className, isExpanded, setIsExpanded }: { item: DocsSidebarItem, className?: string, isExpanded?: boolean, setIsExpanded?: (isExpanded: boolean) => void }) => { - const isSelected = item.route === selectedEndpoint; + const { pageID, ID } = useParams(); + const isSelected = item.route === pageID; const badgeClass = classNames({ 'text-[10px] px-1 py-0': true, @@ -119,19 +121,52 @@ const SidebarTitle = ({ item, selectedEndpoint, setSelectedEndpoint, className, isSelected ? 'border-blue-600 dark:border-primary-light text-blue-600 dark:text-primary-light' : '', className )} - onClick={item.is_group_page ? () => setIsExpanded && setIsExpanded(!isExpanded) : () => setSelectedEndpoint(item.route)} + onClick={item.is_group_page ? () => setIsExpanded && setIsExpanded(!isExpanded) : () => { }} >
    -
    + {item.is_group_page ?
    {item.icon && } {item.badge && {item.badge}}
    {item.title}
    -
    +
    : + {item.icon && } + {item.badge && {item.badge}} +
    + {item.title} +
    +
    } {item.is_group_page && item.group_items?.length ? {isExpanded ? : } : null}
    ) } + +const SidebarSkeleton = () => { + return ( +
    + {/* Header Skeleton */} +
    +
    +
    +
    + {/* Sidebar Groups Skeleton */} + {[...Array(5)].map((_, groupIndex) => ( +
    +
    +
    + +
    +
      + {[...Array(3 + Math.floor(Math.random() * 2))].map((_, itemIndex) => ( +
    • + ))} +
    +
    + ))} +
    + ); +}; \ No newline at end of file diff --git a/dashboard/src/pages/features/docs/ViewDocs.tsx b/dashboard/src/pages/features/docs/ViewDocs.tsx index 741ff47..0e8a4f6 100644 --- a/dashboard/src/pages/features/docs/ViewDocs.tsx +++ b/dashboard/src/pages/features/docs/ViewDocs.tsx @@ -1,6 +1,5 @@ import { ErrorBanner } from "@/components/common/ErrorBanner/ErrorBanner"; -import { FullPageLoader } from "@/components/common/FullPageLoader/FullPageLoader"; -import { useNavigate, useParams } from "react-router-dom"; +import { useParams } from "react-router-dom"; import { Sidebar } from "./Sidebar"; import { Navbar } from "./Navbar"; import { Footer } from "./Footer"; @@ -8,60 +7,43 @@ import { PageContent } from "./PageContent"; import { useGetCommitDocsDetails } from "@/components/features/meta_apps/useGetCommitDocsDetails"; const ViewDocs = () => { - const { ID, pageID } = useParams(); + const { ID } = useParams(); - if (ID && pageID) { - return ; + if (ID) { + return ; } return null; }; -const ViewDocsDetails = ({ ID, pageID }: { ID: string, pageID: string }) => { - const navigate = useNavigate(); +const ViewDocsDetails = ({ ID }: { ID: string }) => { - const { data, error, isLoading } = useGetCommitDocsDetails(ID); - - const onPageChange = (pageID: string) => { - navigate(`/docs/${ID}/${pageID}`); - } - - if (isLoading) { - return ; - } - if (error) { - return ; - } - - if (data) { - return ( -
    -
    - -
    -
    - {/* Sidebar */} - - - {/* Main Content */} -
    -
    - -
    -
    -
    - -