@dxos/plugin-markdown 0.6.8-main.046e6cf
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +8 -0
- package/README.md +15 -0
- package/dist/lib/browser/DocumentCard-CDWDPILF.mjs +11 -0
- package/dist/lib/browser/DocumentCard-CDWDPILF.mjs.map +7 -0
- package/dist/lib/browser/DocumentEditor-VMHFHWOQ.mjs +11 -0
- package/dist/lib/browser/DocumentEditor-VMHFHWOQ.mjs.map +7 -0
- package/dist/lib/browser/MarkdownEditor-KYUQ45PC.mjs +10 -0
- package/dist/lib/browser/MarkdownEditor-KYUQ45PC.mjs.map +7 -0
- package/dist/lib/browser/chunk-4GGD6YJO.mjs +19 -0
- package/dist/lib/browser/chunk-4GGD6YJO.mjs.map +7 -0
- package/dist/lib/browser/chunk-6ZL2GJCQ.mjs +177 -0
- package/dist/lib/browser/chunk-6ZL2GJCQ.mjs.map +7 -0
- package/dist/lib/browser/chunk-DX3K37SM.mjs +86 -0
- package/dist/lib/browser/chunk-DX3K37SM.mjs.map +7 -0
- package/dist/lib/browser/chunk-MDX3MAMP.mjs +119 -0
- package/dist/lib/browser/chunk-MDX3MAMP.mjs.map +7 -0
- package/dist/lib/browser/chunk-PZDW7KVZ.mjs +172 -0
- package/dist/lib/browser/chunk-PZDW7KVZ.mjs.map +7 -0
- package/dist/lib/browser/chunk-RETREORA.mjs +39 -0
- package/dist/lib/browser/chunk-RETREORA.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +506 -0
- package/dist/lib/browser/index.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -0
- package/dist/lib/browser/meta.mjs +9 -0
- package/dist/lib/browser/meta.mjs.map +7 -0
- package/dist/lib/browser/types/index.mjs +12 -0
- package/dist/lib/browser/types/index.mjs.map +7 -0
- package/dist/lib/node/DocumentCard-SOTFILJY.cjs +32 -0
- package/dist/lib/node/DocumentCard-SOTFILJY.cjs.map +7 -0
- package/dist/lib/node/DocumentEditor-CUKHGS5R.cjs +29 -0
- package/dist/lib/node/DocumentEditor-CUKHGS5R.cjs.map +7 -0
- package/dist/lib/node/MarkdownEditor-GGFCD26C.cjs +31 -0
- package/dist/lib/node/MarkdownEditor-GGFCD26C.cjs.map +7 -0
- package/dist/lib/node/chunk-FW5O2I25.cjs +114 -0
- package/dist/lib/node/chunk-FW5O2I25.cjs.map +7 -0
- package/dist/lib/node/chunk-IUQ2SKGY.cjs +202 -0
- package/dist/lib/node/chunk-IUQ2SKGY.cjs.map +7 -0
- package/dist/lib/node/chunk-TGMR2CKU.cjs +52 -0
- package/dist/lib/node/chunk-TGMR2CKU.cjs.map +7 -0
- package/dist/lib/node/chunk-TO3FCKT7.cjs +202 -0
- package/dist/lib/node/chunk-TO3FCKT7.cjs.map +7 -0
- package/dist/lib/node/chunk-TZDYK4MV.cjs +151 -0
- package/dist/lib/node/chunk-TZDYK4MV.cjs.map +7 -0
- package/dist/lib/node/chunk-VYLYUDDI.cjs +58 -0
- package/dist/lib/node/chunk-VYLYUDDI.cjs.map +7 -0
- package/dist/lib/node/index.cjs +517 -0
- package/dist/lib/node/index.cjs.map +7 -0
- package/dist/lib/node/meta.cjs +30 -0
- package/dist/lib/node/meta.cjs.map +7 -0
- package/dist/lib/node/meta.json +1 -0
- package/dist/lib/node/types/index.cjs +34 -0
- package/dist/lib/node/types/index.cjs.map +7 -0
- package/dist/types/src/MarkdownPlugin.d.ts +4 -0
- package/dist/types/src/MarkdownPlugin.d.ts.map +1 -0
- package/dist/types/src/components/DocumentCard.d.ts +16 -0
- package/dist/types/src/components/DocumentCard.d.ts.map +1 -0
- package/dist/types/src/components/DocumentEditor.d.ts +14 -0
- package/dist/types/src/components/DocumentEditor.d.ts.map +1 -0
- package/dist/types/src/components/HeadingMenu.d.ts +13 -0
- package/dist/types/src/components/HeadingMenu.d.ts.map +1 -0
- package/dist/types/src/components/Layout.d.ts +6 -0
- package/dist/types/src/components/Layout.d.ts.map +1 -0
- package/dist/types/src/components/MarkdownEditor.d.ts +19 -0
- package/dist/types/src/components/MarkdownEditor.d.ts.map +1 -0
- package/dist/types/src/components/MarkdownEditor.stories.d.ts +27 -0
- package/dist/types/src/components/MarkdownEditor.stories.d.ts.map +1 -0
- package/dist/types/src/components/MarkdownSettings.d.ts +6 -0
- package/dist/types/src/components/MarkdownSettings.d.ts.map +1 -0
- package/dist/types/src/components/Toolbar.stories.d.ts +9 -0
- package/dist/types/src/components/Toolbar.stories.d.ts.map +1 -0
- package/dist/types/src/components/index.d.ts +13 -0
- package/dist/types/src/components/index.d.ts.map +1 -0
- package/dist/types/src/extensions.d.ts +20 -0
- package/dist/types/src/extensions.d.ts.map +1 -0
- package/dist/types/src/index.d.ts +6 -0
- package/dist/types/src/index.d.ts.map +1 -0
- package/dist/types/src/meta.d.ts +15 -0
- package/dist/types/src/meta.d.ts.map +1 -0
- package/dist/types/src/translations.d.ts +29 -0
- package/dist/types/src/translations.d.ts.map +1 -0
- package/dist/types/src/types/document.d.ts +97 -0
- package/dist/types/src/types/document.d.ts.map +1 -0
- package/dist/types/src/types/index.d.ts +3 -0
- package/dist/types/src/types/index.d.ts.map +1 -0
- package/dist/types/src/types/types.d.ts +42 -0
- package/dist/types/src/types/types.d.ts.map +1 -0
- package/dist/types/src/util.d.ts +11 -0
- package/dist/types/src/util.d.ts.map +1 -0
- package/package.json +94 -0
- package/src/MarkdownPlugin.tsx +341 -0
- package/src/components/DocumentCard.tsx +107 -0
- package/src/components/DocumentEditor.tsx +140 -0
- package/src/components/HeadingMenu.tsx +46 -0
- package/src/components/Layout.tsx +27 -0
- package/src/components/MarkdownEditor.stories.tsx +55 -0
- package/src/components/MarkdownEditor.tsx +241 -0
- package/src/components/MarkdownSettings.tsx +105 -0
- package/src/components/Toolbar.stories.tsx +118 -0
- package/src/components/index.ts +21 -0
- package/src/extensions.tsx +175 -0
- package/src/index.ts +11 -0
- package/src/meta.tsx +19 -0
- package/src/translations.ts +36 -0
- package/src/types/document.ts +17 -0
- package/src/types/index.ts +6 -0
- package/src/types/types.ts +75 -0
- package/src/util.tsx +48 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"inputs":{"packages/plugins/plugin-markdown/src/extensions.tsx":{"bytes":17110,"imports":[{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react-dom/client","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-editor","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-markdown/src/meta.tsx":{"bytes":2114,"imports":[{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-markdown/src/components/DocumentCard.tsx":{"bytes":11958,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-card","kind":"import-statement","external":true},{"path":"@dxos/react-ui-editor","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-markdown/src/extensions.tsx","kind":"import-statement","original":"../extensions"},{"path":"packages/plugins/plugin-markdown/src/meta.tsx","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-markdown/src/components/MarkdownEditor.tsx":{"bytes":25450,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-attention","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-editor","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-markdown/src/meta.tsx","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-markdown/src/types/document.ts":{"bytes":2402,"imports":[{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-markdown/src/types/types.ts":{"bytes":3789,"imports":[{"path":"packages/plugins/plugin-markdown/src/meta.tsx","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-markdown/src/types/index.ts":{"bytes":591,"imports":[{"path":"packages/plugins/plugin-markdown/src/types/document.ts","kind":"import-statement","original":"./document"},{"path":"packages/plugins/plugin-markdown/src/types/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"packages/plugins/plugin-markdown/src/util.tsx":{"bytes":6329,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-markdown/src/types/index.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"packages/plugins/plugin-markdown/src/components/DocumentEditor.tsx":{"bytes":14766,"imports":[{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-client/halo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-editor","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-markdown/src/components/MarkdownEditor.tsx","kind":"import-statement","original":"./MarkdownEditor"},{"path":"packages/plugins/plugin-markdown/src/extensions.tsx","kind":"import-statement","original":"../extensions"},{"path":"packages/plugins/plugin-markdown/src/util.tsx","kind":"import-statement","original":"../util"}],"format":"esm"},"packages/plugins/plugin-markdown/src/components/HeadingMenu.tsx":{"bytes":5241,"imports":[{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-markdown/src/components/Layout.tsx":{"bytes":3294,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-editor","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-markdown/src/components/MarkdownSettings.tsx":{"bytes":12506,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/plugin-settings","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-editor","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-markdown/src/meta.tsx","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-markdown/src/components/index.ts":{"bytes":2441,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-markdown/src/components/DocumentCard.tsx","kind":"import-statement","original":"./DocumentCard"},{"path":"packages/plugins/plugin-markdown/src/components/DocumentEditor.tsx","kind":"import-statement","original":"./DocumentEditor"},{"path":"packages/plugins/plugin-markdown/src/components/MarkdownEditor.tsx","kind":"import-statement","original":"./MarkdownEditor"},{"path":"packages/plugins/plugin-markdown/src/components/HeadingMenu.tsx","kind":"import-statement","original":"./HeadingMenu"},{"path":"packages/plugins/plugin-markdown/src/components/Layout.tsx","kind":"import-statement","original":"./Layout"},{"path":"packages/plugins/plugin-markdown/src/components/MarkdownSettings.tsx","kind":"import-statement","original":"./MarkdownSettings"},{"path":"packages/plugins/plugin-markdown/src/components/DocumentCard.tsx","kind":"dynamic-import","original":"./DocumentCard"},{"path":"packages/plugins/plugin-markdown/src/components/DocumentEditor.tsx","kind":"dynamic-import","original":"./DocumentEditor"},{"path":"packages/plugins/plugin-markdown/src/components/MarkdownEditor.tsx","kind":"dynamic-import","original":"./MarkdownEditor"}],"format":"esm"},"packages/plugins/plugin-markdown/src/translations.ts":{"bytes":4765,"imports":[{"path":"packages/plugins/plugin-markdown/src/meta.tsx","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-markdown/src/MarkdownPlugin.tsx":{"bytes":47202,"imports":[{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/local-storage","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-editor","kind":"import-statement","external":true},{"path":"@dxos/react-ui-mosaic","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-markdown/src/components/index.ts","kind":"import-statement","original":"./components"},{"path":"packages/plugins/plugin-markdown/src/meta.tsx","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-markdown/src/translations.ts","kind":"import-statement","original":"./translations"},{"path":"packages/plugins/plugin-markdown/src/types/index.ts","kind":"import-statement","original":"./types"},{"path":"packages/plugins/plugin-markdown/src/types/index.ts","kind":"import-statement","original":"./types"},{"path":"packages/plugins/plugin-markdown/src/util.tsx","kind":"import-statement","original":"./util"}],"format":"esm"},"packages/plugins/plugin-markdown/src/index.ts":{"bytes":969,"imports":[{"path":"packages/plugins/plugin-markdown/src/MarkdownPlugin.tsx","kind":"import-statement","original":"./MarkdownPlugin"},{"path":"packages/plugins/plugin-markdown/src/MarkdownPlugin.tsx","kind":"import-statement","original":"./MarkdownPlugin"},{"path":"packages/plugins/plugin-markdown/src/types/index.ts","kind":"import-statement","original":"./types"},{"path":"packages/plugins/plugin-markdown/src/util.tsx","kind":"import-statement","original":"./util"}],"format":"esm"}},"outputs":{"packages/plugins/plugin-markdown/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":34283},"packages/plugins/plugin-markdown/dist/lib/browser/index.mjs":{"imports":[{"path":"packages/plugins/plugin-markdown/dist/lib/browser/chunk-DX3K37SM.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-markdown/dist/lib/browser/chunk-6ZL2GJCQ.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-markdown/dist/lib/browser/chunk-RETREORA.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-markdown/dist/lib/browser/chunk-MDX3MAMP.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-markdown/dist/lib/browser/chunk-PZDW7KVZ.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-markdown/dist/lib/browser/chunk-4GGD6YJO.mjs","kind":"import-statement"},{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/local-storage","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-editor","kind":"import-statement","external":true},{"path":"@dxos/react-ui-mosaic","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-editor","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/plugin-settings","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-editor","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-markdown/dist/lib/browser/DocumentCard-CDWDPILF.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-markdown/dist/lib/browser/DocumentEditor-VMHFHWOQ.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-markdown/dist/lib/browser/MarkdownEditor-KYUQ45PC.mjs","kind":"dynamic-import"}],"exports":["DocumentType","MarkdownAction","MarkdownPlugin","TextType","default","getFallbackName","isMarkdownProperties","markdownExtensionPlugins","serializer","setFallbackName"],"entryPoint":"packages/plugins/plugin-markdown/src/index.ts","inputs":{"packages/plugins/plugin-markdown/src/MarkdownPlugin.tsx":{"bytesInOutput":12162},"packages/plugins/plugin-markdown/src/components/index.ts":{"bytesInOutput":267},"packages/plugins/plugin-markdown/src/components/HeadingMenu.tsx":{"bytesInOutput":258},"packages/plugins/plugin-markdown/src/components/Layout.tsx":{"bytesInOutput":196},"packages/plugins/plugin-markdown/src/components/MarkdownSettings.tsx":{"bytesInOutput":3477},"packages/plugins/plugin-markdown/src/translations.ts":{"bytesInOutput":1463},"packages/plugins/plugin-markdown/src/index.ts":{"bytesInOutput":34}},"bytes":19045},"packages/plugins/plugin-markdown/dist/lib/browser/meta.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/plugin-markdown/dist/lib/browser/meta.mjs":{"imports":[{"path":"packages/plugins/plugin-markdown/dist/lib/browser/chunk-4GGD6YJO.mjs","kind":"import-statement"}],"exports":["MARKDOWN_PLUGIN","default"],"entryPoint":"packages/plugins/plugin-markdown/src/meta.tsx","inputs":{},"bytes":165},"packages/plugins/plugin-markdown/dist/lib/browser/types/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/plugin-markdown/dist/lib/browser/types/index.mjs":{"imports":[{"path":"packages/plugins/plugin-markdown/dist/lib/browser/chunk-RETREORA.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-markdown/dist/lib/browser/chunk-4GGD6YJO.mjs","kind":"import-statement"}],"exports":["DocumentType","MarkdownAction","TextType"],"entryPoint":"packages/plugins/plugin-markdown/src/types/index.ts","inputs":{},"bytes":210},"packages/plugins/plugin-markdown/dist/lib/browser/DocumentCard-CDWDPILF.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/plugin-markdown/dist/lib/browser/DocumentCard-CDWDPILF.mjs":{"imports":[{"path":"packages/plugins/plugin-markdown/dist/lib/browser/chunk-DX3K37SM.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-markdown/dist/lib/browser/chunk-MDX3MAMP.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-markdown/dist/lib/browser/chunk-4GGD6YJO.mjs","kind":"import-statement"}],"exports":["DocumentCard","default"],"entryPoint":"packages/plugins/plugin-markdown/src/components/DocumentCard.tsx","inputs":{},"bytes":254},"packages/plugins/plugin-markdown/dist/lib/browser/chunk-DX3K37SM.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6298},"packages/plugins/plugin-markdown/dist/lib/browser/chunk-DX3K37SM.mjs":{"imports":[{"path":"packages/plugins/plugin-markdown/dist/lib/browser/chunk-MDX3MAMP.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-markdown/dist/lib/browser/chunk-4GGD6YJO.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-card","kind":"import-statement","external":true},{"path":"@dxos/react-ui-editor","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true}],"exports":["DocumentCard","DocumentCard_default"],"inputs":{"packages/plugins/plugin-markdown/src/components/DocumentCard.tsx":{"bytesInOutput":2854}},"bytes":3140},"packages/plugins/plugin-markdown/dist/lib/browser/MarkdownEditor-KYUQ45PC.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/plugin-markdown/dist/lib/browser/MarkdownEditor-KYUQ45PC.mjs":{"imports":[{"path":"packages/plugins/plugin-markdown/dist/lib/browser/chunk-PZDW7KVZ.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-markdown/dist/lib/browser/chunk-4GGD6YJO.mjs","kind":"import-statement"}],"exports":["MarkdownEditor","default"],"entryPoint":"packages/plugins/plugin-markdown/src/components/MarkdownEditor.tsx","inputs":{},"bytes":233},"packages/plugins/plugin-markdown/dist/lib/browser/DocumentEditor-VMHFHWOQ.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/plugin-markdown/dist/lib/browser/DocumentEditor-VMHFHWOQ.mjs":{"imports":[{"path":"packages/plugins/plugin-markdown/dist/lib/browser/chunk-6ZL2GJCQ.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-markdown/dist/lib/browser/chunk-RETREORA.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-markdown/dist/lib/browser/chunk-MDX3MAMP.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-markdown/dist/lib/browser/chunk-PZDW7KVZ.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-markdown/dist/lib/browser/chunk-4GGD6YJO.mjs","kind":"import-statement"}],"exports":["default"],"entryPoint":"packages/plugins/plugin-markdown/src/components/DocumentEditor.tsx","inputs":{},"bytes":290},"packages/plugins/plugin-markdown/dist/lib/browser/chunk-6ZL2GJCQ.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":11004},"packages/plugins/plugin-markdown/dist/lib/browser/chunk-6ZL2GJCQ.mjs":{"imports":[{"path":"packages/plugins/plugin-markdown/dist/lib/browser/chunk-RETREORA.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-markdown/dist/lib/browser/chunk-MDX3MAMP.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-markdown/dist/lib/browser/chunk-PZDW7KVZ.mjs","kind":"import-statement"},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-client/halo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-editor","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true}],"exports":["DocumentEditor_default","getFallbackName","isMarkdownProperties","markdownExtensionPlugins","serializer","setFallbackName"],"inputs":{"packages/plugins/plugin-markdown/src/components/DocumentEditor.tsx":{"bytesInOutput":3283},"packages/plugins/plugin-markdown/src/util.tsx":{"bytesInOutput":1246}},"bytes":5102},"packages/plugins/plugin-markdown/dist/lib/browser/chunk-RETREORA.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":3570},"packages/plugins/plugin-markdown/dist/lib/browser/chunk-RETREORA.mjs":{"imports":[{"path":"packages/plugins/plugin-markdown/dist/lib/browser/chunk-4GGD6YJO.mjs","kind":"import-statement"},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true}],"exports":["DocumentType","MarkdownAction","TextType"],"inputs":{"packages/plugins/plugin-markdown/src/types/document.ts":{"bytesInOutput":499},"packages/plugins/plugin-markdown/src/types/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-markdown/src/types/types.ts":{"bytesInOutput":340}},"bytes":1114},"packages/plugins/plugin-markdown/dist/lib/browser/chunk-MDX3MAMP.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":8611},"packages/plugins/plugin-markdown/dist/lib/browser/chunk-MDX3MAMP.mjs":{"imports":[{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react-dom/client","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-editor","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["createBaseExtensions"],"inputs":{"packages/plugins/plugin-markdown/src/extensions.tsx":{"bytesInOutput":4087}},"bytes":4222},"packages/plugins/plugin-markdown/dist/lib/browser/chunk-PZDW7KVZ.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":13414},"packages/plugins/plugin-markdown/dist/lib/browser/chunk-PZDW7KVZ.mjs":{"imports":[{"path":"packages/plugins/plugin-markdown/dist/lib/browser/chunk-4GGD6YJO.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-attention","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-editor","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["MarkdownEditor","MarkdownEditor_default"],"inputs":{"packages/plugins/plugin-markdown/src/components/MarkdownEditor.tsx":{"bytesInOutput":6165}},"bytes":6394},"packages/plugins/plugin-markdown/dist/lib/browser/chunk-4GGD6YJO.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1044},"packages/plugins/plugin-markdown/dist/lib/browser/chunk-4GGD6YJO.mjs":{"imports":[{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["MARKDOWN_PLUGIN","meta_default"],"inputs":{"packages/plugins/plugin-markdown/src/meta.tsx":{"bytesInOutput":501}},"bytes":641}}}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var DocumentCard_SOTFILJY_exports = {};
|
|
20
|
+
__export(DocumentCard_SOTFILJY_exports, {
|
|
21
|
+
DocumentCard: () => import_chunk_FW5O2I25.DocumentCard,
|
|
22
|
+
default: () => import_chunk_FW5O2I25.DocumentCard_default
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(DocumentCard_SOTFILJY_exports);
|
|
25
|
+
var import_chunk_FW5O2I25 = require("./chunk-FW5O2I25.cjs");
|
|
26
|
+
var import_chunk_TZDYK4MV = require("./chunk-TZDYK4MV.cjs");
|
|
27
|
+
var import_chunk_TGMR2CKU = require("./chunk-TGMR2CKU.cjs");
|
|
28
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
29
|
+
0 && (module.exports = {
|
|
30
|
+
DocumentCard
|
|
31
|
+
});
|
|
32
|
+
//# sourceMappingURL=DocumentCard-SOTFILJY.cjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["DocumentCard-SOTFILJY.cjs"],
|
|
4
|
+
"sourcesContent": ["import {\n DocumentCard,\n DocumentCard_default\n} from \"./chunk-FW5O2I25.cjs\";\nimport \"./chunk-TZDYK4MV.cjs\";\nimport \"./chunk-TGMR2CKU.cjs\";\nexport {\n DocumentCard,\n DocumentCard_default as default\n};\n//# sourceMappingURL=DocumentCard-SOTFILJY.cjs.map\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAGO;AACP,4BAAO;AACP,4BAAO;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var DocumentEditor_CUKHGS5R_exports = {};
|
|
20
|
+
__export(DocumentEditor_CUKHGS5R_exports, {
|
|
21
|
+
default: () => import_chunk_IUQ2SKGY.DocumentEditor_default
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(DocumentEditor_CUKHGS5R_exports);
|
|
24
|
+
var import_chunk_IUQ2SKGY = require("./chunk-IUQ2SKGY.cjs");
|
|
25
|
+
var import_chunk_VYLYUDDI = require("./chunk-VYLYUDDI.cjs");
|
|
26
|
+
var import_chunk_TZDYK4MV = require("./chunk-TZDYK4MV.cjs");
|
|
27
|
+
var import_chunk_TO3FCKT7 = require("./chunk-TO3FCKT7.cjs");
|
|
28
|
+
var import_chunk_TGMR2CKU = require("./chunk-TGMR2CKU.cjs");
|
|
29
|
+
//# sourceMappingURL=DocumentEditor-CUKHGS5R.cjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["DocumentEditor-CUKHGS5R.cjs"],
|
|
4
|
+
"sourcesContent": ["import {\n DocumentEditor_default\n} from \"./chunk-IUQ2SKGY.cjs\";\nimport \"./chunk-VYLYUDDI.cjs\";\nimport \"./chunk-TZDYK4MV.cjs\";\nimport \"./chunk-TO3FCKT7.cjs\";\nimport \"./chunk-TGMR2CKU.cjs\";\nexport {\n DocumentEditor_default as default\n};\n//# sourceMappingURL=DocumentEditor-CUKHGS5R.cjs.map\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAEO;AACP,4BAAO;AACP,4BAAO;AACP,4BAAO;AACP,4BAAO;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var MarkdownEditor_GGFCD26C_exports = {};
|
|
20
|
+
__export(MarkdownEditor_GGFCD26C_exports, {
|
|
21
|
+
MarkdownEditor: () => import_chunk_TO3FCKT7.MarkdownEditor,
|
|
22
|
+
default: () => import_chunk_TO3FCKT7.MarkdownEditor_default
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(MarkdownEditor_GGFCD26C_exports);
|
|
25
|
+
var import_chunk_TO3FCKT7 = require("./chunk-TO3FCKT7.cjs");
|
|
26
|
+
var import_chunk_TGMR2CKU = require("./chunk-TGMR2CKU.cjs");
|
|
27
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
28
|
+
0 && (module.exports = {
|
|
29
|
+
MarkdownEditor
|
|
30
|
+
});
|
|
31
|
+
//# sourceMappingURL=MarkdownEditor-GGFCD26C.cjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["MarkdownEditor-GGFCD26C.cjs"],
|
|
4
|
+
"sourcesContent": ["import {\n MarkdownEditor,\n MarkdownEditor_default\n} from \"./chunk-TO3FCKT7.cjs\";\nimport \"./chunk-TGMR2CKU.cjs\";\nexport {\n MarkdownEditor,\n MarkdownEditor_default as default\n};\n//# sourceMappingURL=MarkdownEditor-GGFCD26C.cjs.map\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAGO;AACP,4BAAO;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var chunk_FW5O2I25_exports = {};
|
|
30
|
+
__export(chunk_FW5O2I25_exports, {
|
|
31
|
+
DocumentCard: () => DocumentCard,
|
|
32
|
+
DocumentCard_default: () => DocumentCard_default
|
|
33
|
+
});
|
|
34
|
+
module.exports = __toCommonJS(chunk_FW5O2I25_exports);
|
|
35
|
+
var import_chunk_TZDYK4MV = require("./chunk-TZDYK4MV.cjs");
|
|
36
|
+
var import_chunk_TGMR2CKU = require("./chunk-TGMR2CKU.cjs");
|
|
37
|
+
var import_react = __toESM(require("react"));
|
|
38
|
+
var import_echo = require("@dxos/react-client/echo");
|
|
39
|
+
var import_react_ui = require("@dxos/react-ui");
|
|
40
|
+
var import_react_ui_card = require("@dxos/react-ui-card");
|
|
41
|
+
var import_react_ui_editor = require("@dxos/react-ui-editor");
|
|
42
|
+
var import_react_ui_theme = require("@dxos/react-ui-theme");
|
|
43
|
+
var DocumentCard = /* @__PURE__ */ (0, import_react.forwardRef)(({ classNames, isDragging, draggableStyle, draggableProps, item: { id, object, color }, grow, settings, onSelect, onAction }, forwardRef2) => {
|
|
44
|
+
const { t } = (0, import_react_ui.useTranslation)(import_chunk_TGMR2CKU.MARKDOWN_PLUGIN);
|
|
45
|
+
const { themeMode } = (0, import_react_ui.useThemeContext)();
|
|
46
|
+
const { parentRef, focusAttributes } = (0, import_react_ui_editor.useTextEditor)(() => ({
|
|
47
|
+
initialValue: object.content?.content,
|
|
48
|
+
extensions: [
|
|
49
|
+
(0, import_react_ui_editor.createBasicExtensions)({
|
|
50
|
+
placeholder: t("editor placeholder")
|
|
51
|
+
}),
|
|
52
|
+
(0, import_react_ui_editor.createThemeExtensions)({
|
|
53
|
+
themeMode
|
|
54
|
+
}),
|
|
55
|
+
(0, import_react_ui_editor.createDataExtensions)({
|
|
56
|
+
id: object.id,
|
|
57
|
+
text: object.content && (0, import_echo.createDocAccessor)(object.content, [
|
|
58
|
+
"content"
|
|
59
|
+
])
|
|
60
|
+
}),
|
|
61
|
+
(0, import_chunk_TZDYK4MV.createBaseExtensions)({
|
|
62
|
+
document: object,
|
|
63
|
+
debug: settings.debug,
|
|
64
|
+
experimental: settings.experimental
|
|
65
|
+
})
|
|
66
|
+
]
|
|
67
|
+
}), [
|
|
68
|
+
object,
|
|
69
|
+
object.content,
|
|
70
|
+
themeMode
|
|
71
|
+
]);
|
|
72
|
+
return /* @__PURE__ */ import_react.default.createElement("div", {
|
|
73
|
+
role: "none",
|
|
74
|
+
ref: forwardRef2,
|
|
75
|
+
className: "flex w-full",
|
|
76
|
+
style: draggableStyle
|
|
77
|
+
}, /* @__PURE__ */ import_react.default.createElement(import_react_ui_card.Card.Root, {
|
|
78
|
+
classNames: (0, import_react_ui_theme.mx)("w-full snap-center", color, isDragging && "opacity-20", classNames),
|
|
79
|
+
grow
|
|
80
|
+
}, /* @__PURE__ */ import_react.default.createElement(import_react_ui_card.Card.Header, {
|
|
81
|
+
onDoubleClick: () => onSelect?.()
|
|
82
|
+
}, /* @__PURE__ */ import_react.default.createElement(import_react_ui_card.Card.DragHandle, draggableProps), /* @__PURE__ */ import_react.default.createElement(import_react_ui.Input.Root, null, /* @__PURE__ */ import_react.default.createElement(import_react_ui.Input.TextInput, {
|
|
83
|
+
variant: "subdued",
|
|
84
|
+
classNames: "p-0",
|
|
85
|
+
placeholder: t("document title placeholder"),
|
|
86
|
+
value: object.name,
|
|
87
|
+
onChange: (event) => object.name = event.target.value
|
|
88
|
+
})), /* @__PURE__ */ import_react.default.createElement(import_react_ui_card.Card.Menu, null, /* @__PURE__ */ import_react.default.createElement(import_react_ui.DropdownMenu.Item, {
|
|
89
|
+
onClick: () => onAction?.({
|
|
90
|
+
id,
|
|
91
|
+
action: "delete"
|
|
92
|
+
})
|
|
93
|
+
}, /* @__PURE__ */ import_react.default.createElement("span", {
|
|
94
|
+
className: "grow"
|
|
95
|
+
}, "Delete")), /* @__PURE__ */ import_react.default.createElement(import_react_ui.DropdownMenu.Item, {
|
|
96
|
+
onClick: () => onAction?.({
|
|
97
|
+
id,
|
|
98
|
+
action: "set-color"
|
|
99
|
+
})
|
|
100
|
+
}, /* @__PURE__ */ import_react.default.createElement("span", {
|
|
101
|
+
className: "grow"
|
|
102
|
+
}, "Change color")))), /* @__PURE__ */ import_react.default.createElement(import_react_ui_card.Card.Body, null, /* @__PURE__ */ import_react.default.createElement("div", {
|
|
103
|
+
...focusAttributes,
|
|
104
|
+
ref: parentRef,
|
|
105
|
+
className: (0, import_react_ui_theme.mx)(import_react_ui_theme.focusRing, "rounded-sm h-full p-1 text-sm")
|
|
106
|
+
}))));
|
|
107
|
+
});
|
|
108
|
+
var DocumentCard_default = DocumentCard;
|
|
109
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
110
|
+
0 && (module.exports = {
|
|
111
|
+
DocumentCard,
|
|
112
|
+
DocumentCard_default
|
|
113
|
+
});
|
|
114
|
+
//# sourceMappingURL=chunk-FW5O2I25.cjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/components/DocumentCard.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { forwardRef } from 'react';\n\nimport { createDocAccessor } from '@dxos/react-client/echo';\nimport { DropdownMenu, Input, useThemeContext, useTranslation } from '@dxos/react-ui';\nimport { Card } from '@dxos/react-ui-card';\nimport {\n createBasicExtensions,\n createDataExtensions,\n createThemeExtensions,\n useTextEditor,\n} from '@dxos/react-ui-editor';\nimport type { MosaicTileComponent } from '@dxos/react-ui-mosaic';\nimport { focusRing, mx } from '@dxos/react-ui-theme';\n\nimport { createBaseExtensions } from '../extensions';\nimport { MARKDOWN_PLUGIN } from '../meta';\nimport { type DocumentType, type MarkdownSettingsProps } from '../types';\n\nexport type DocumentItemProps = {\n id: string;\n object: DocumentType;\n color?: string;\n};\n\nexport type DocumentCardProps = {\n settings: MarkdownSettingsProps;\n};\n\n/**\n * @deprecated\n */\n// TODO(wittjosiah): Unify with DocumentEditor.\nexport const DocumentCard: MosaicTileComponent<DocumentItemProps, HTMLDivElement, DocumentCardProps> = forwardRef(\n (\n {\n classNames,\n isDragging,\n draggableStyle,\n draggableProps,\n item: { id, object, color },\n grow,\n settings,\n onSelect,\n onAction,\n },\n forwardRef,\n ) => {\n const { t } = useTranslation(MARKDOWN_PLUGIN);\n const { themeMode } = useThemeContext();\n const { parentRef, focusAttributes } = useTextEditor(\n () => ({\n initialValue: object.content?.content,\n extensions: [\n createBasicExtensions({ placeholder: t('editor placeholder') }),\n createThemeExtensions({ themeMode }),\n createDataExtensions({\n id: object.id,\n text: object.content && createDocAccessor(object.content, ['content']),\n }),\n createBaseExtensions({\n document: object,\n debug: settings.debug,\n experimental: settings.experimental,\n }),\n ],\n }),\n [object, object.content, themeMode],\n );\n\n return (\n <div role='none' ref={forwardRef} className='flex w-full' style={draggableStyle}>\n <Card.Root classNames={mx('w-full snap-center', color, isDragging && 'opacity-20', classNames)} grow={grow}>\n <Card.Header onDoubleClick={() => onSelect?.()}>\n <Card.DragHandle {...draggableProps} />\n <Input.Root>\n <Input.TextInput\n variant='subdued'\n classNames='p-0'\n placeholder={t('document title placeholder')}\n value={object.name}\n onChange={(event) => (object.name = event.target.value)}\n />\n </Input.Root>\n <Card.Menu>\n {/* TODO(burdon): Handle events/intents? */}\n <DropdownMenu.Item onClick={() => onAction?.({ id, action: 'delete' })}>\n <span className='grow'>Delete</span>\n </DropdownMenu.Item>\n <DropdownMenu.Item onClick={() => onAction?.({ id, action: 'set-color' })}>\n <span className='grow'>Change color</span>\n </DropdownMenu.Item>\n </Card.Menu>\n </Card.Header>\n <Card.Body>\n <div {...focusAttributes} ref={parentRef} className={mx(focusRing, 'rounded-sm h-full p-1 text-sm')} />\n </Card.Body>\n </Card.Root>\n </div>\n );\n },\n);\n\nexport default DocumentCard;\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,mBAAkC;AAElC,kBAAkC;AAClC,sBAAqE;AACrE,2BAAqB;AACrB,6BAKO;AAEP,4BAA8B;AAoBvB,IAAMA,eAA0FC,6CACrG,CACE,EACEC,YACAC,YACAC,gBACAC,gBACAC,MAAM,EAAEC,IAAIC,QAAQC,MAAK,GACzBC,MACAC,UACAC,UACAC,SAAQ,GAEVZ,gBAAAA;AAEA,QAAM,EAAEa,EAAC,QAAKC,gCAAeC,qCAAAA;AAC7B,QAAM,EAAEC,UAAS,QAAKC,iCAAAA;AACtB,QAAM,EAAEC,WAAWC,gBAAe,QAAKC,sCACrC,OAAO;IACLC,cAAcd,OAAOe,SAASA;IAC9BC,YAAY;UACVC,8CAAsB;QAAEC,aAAaZ,EAAE,oBAAA;MAAsB,CAAA;UAC7Da,8CAAsB;QAAEV;MAAU,CAAA;UAClCW,6CAAqB;QACnBrB,IAAIC,OAAOD;QACXsB,MAAMrB,OAAOe,eAAWO,+BAAkBtB,OAAOe,SAAS;UAAC;SAAU;MACvE,CAAA;UACAQ,4CAAqB;QACnBC,UAAUxB;QACVyB,OAAOtB,SAASsB;QAChBC,cAAcvB,SAASuB;MACzB,CAAA;;EAEJ,IACA;IAAC1B;IAAQA,OAAOe;IAASN;GAAU;AAGrC,SACE,6BAAAkB,QAAA,cAACC,OAAAA;IAAIC,MAAK;IAAOC,KAAKrC;IAAYsC,WAAU;IAAcC,OAAOpC;KAC/D,6BAAA+B,QAAA,cAACM,0BAAKC,MAAI;IAACxC,gBAAYyC,0BAAG,sBAAsBlC,OAAON,cAAc,cAAcD,UAAAA;IAAaQ;KAC9F,6BAAAyB,QAAA,cAACM,0BAAKG,QAAM;IAACC,eAAe,MAAMjC,WAAAA;KAChC,6BAAAuB,QAAA,cAACM,0BAAKK,YAAezC,cAAAA,GACrB,6BAAA8B,QAAA,cAACY,sBAAML,MAAI,MACT,6BAAAP,QAAA,cAACY,sBAAMC,WAAS;IACdC,SAAQ;IACR/C,YAAW;IACXwB,aAAaZ,EAAE,4BAAA;IACfoC,OAAO1C,OAAO2C;IACdC,UAAU,CAACC,UAAW7C,OAAO2C,OAAOE,MAAMC,OAAOJ;OAGrD,6BAAAf,QAAA,cAACM,0BAAKc,MAAI,MAER,6BAAApB,QAAA,cAACqB,6BAAaC,MAAI;IAACC,SAAS,MAAM7C,WAAW;MAAEN;MAAIoD,QAAQ;IAAS,CAAA;KAClE,6BAAAxB,QAAA,cAACyB,QAAAA;IAAKrB,WAAU;KAAO,QAAA,CAAA,GAEzB,6BAAAJ,QAAA,cAACqB,6BAAaC,MAAI;IAACC,SAAS,MAAM7C,WAAW;MAAEN;MAAIoD,QAAQ;IAAY,CAAA;KACrE,6BAAAxB,QAAA,cAACyB,QAAAA;IAAKrB,WAAU;KAAO,cAAA,CAAA,CAAA,CAAA,GAI7B,6BAAAJ,QAAA,cAACM,0BAAKoB,MAAI,MACR,6BAAA1B,QAAA,cAACC,OAAAA;IAAK,GAAGhB;IAAiBkB,KAAKnB;IAAWoB,eAAWI,0BAAGmB,iCAAW,+BAAA;;AAK7E,CAAA;AAGF,IAAA,uBAAe9D;",
|
|
6
|
+
"names": ["DocumentCard", "forwardRef", "classNames", "isDragging", "draggableStyle", "draggableProps", "item", "id", "object", "color", "grow", "settings", "onSelect", "onAction", "t", "useTranslation", "MARKDOWN_PLUGIN", "themeMode", "useThemeContext", "parentRef", "focusAttributes", "useTextEditor", "initialValue", "content", "extensions", "createBasicExtensions", "placeholder", "createThemeExtensions", "createDataExtensions", "text", "createDocAccessor", "createBaseExtensions", "document", "debug", "experimental", "React", "div", "role", "ref", "className", "style", "Card", "Root", "mx", "Header", "onDoubleClick", "DragHandle", "Input", "TextInput", "variant", "value", "name", "onChange", "event", "target", "Menu", "DropdownMenu", "Item", "onClick", "action", "span", "Body", "focusRing"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var chunk_IUQ2SKGY_exports = {};
|
|
30
|
+
__export(chunk_IUQ2SKGY_exports, {
|
|
31
|
+
DocumentEditor_default: () => DocumentEditor_default,
|
|
32
|
+
getFallbackName: () => getFallbackName,
|
|
33
|
+
isMarkdownProperties: () => isMarkdownProperties,
|
|
34
|
+
markdownExtensionPlugins: () => markdownExtensionPlugins,
|
|
35
|
+
serializer: () => serializer,
|
|
36
|
+
setFallbackName: () => setFallbackName
|
|
37
|
+
});
|
|
38
|
+
module.exports = __toCommonJS(chunk_IUQ2SKGY_exports);
|
|
39
|
+
var import_chunk_VYLYUDDI = require("./chunk-VYLYUDDI.cjs");
|
|
40
|
+
var import_chunk_TZDYK4MV = require("./chunk-TZDYK4MV.cjs");
|
|
41
|
+
var import_chunk_TO3FCKT7 = require("./chunk-TO3FCKT7.cjs");
|
|
42
|
+
var import_view = require("@codemirror/view");
|
|
43
|
+
var import_react = __toESM(require("react"));
|
|
44
|
+
var import_app_framework = require("@dxos/app-framework");
|
|
45
|
+
var import_echo = require("@dxos/react-client/echo");
|
|
46
|
+
var import_halo = require("@dxos/react-client/halo");
|
|
47
|
+
var import_react_ui_editor = require("@dxos/react-ui-editor");
|
|
48
|
+
var import_async = require("@dxos/async");
|
|
49
|
+
var import_echo2 = require("@dxos/react-client/echo");
|
|
50
|
+
var isMarkdownProperties = (data) => (0, import_echo2.isEchoObject)(data) ? true : data && typeof data === "object" ? "title" in data && typeof data.title === "string" : false;
|
|
51
|
+
var markdownExtensionPlugins = (plugins) => {
|
|
52
|
+
return plugins.filter((plugin) => Boolean(plugin.provides?.markdown));
|
|
53
|
+
};
|
|
54
|
+
var nonTitleChars = /[^\w ]/g;
|
|
55
|
+
var getFallbackName = (content) => {
|
|
56
|
+
return content.substring(0, 31).split("\n")[0].replaceAll(nonTitleChars, "").trim();
|
|
57
|
+
};
|
|
58
|
+
var setFallbackName = (0, import_async.debounce)((doc, content) => {
|
|
59
|
+
const name = getFallbackName(content);
|
|
60
|
+
if (doc.fallbackName !== name) {
|
|
61
|
+
doc.fallbackName = name;
|
|
62
|
+
}
|
|
63
|
+
}, 200);
|
|
64
|
+
var serializer = {
|
|
65
|
+
serialize: async ({ object }) => {
|
|
66
|
+
const content = await (0, import_echo2.loadObjectReferences)(object, (doc) => doc.content);
|
|
67
|
+
return JSON.stringify({
|
|
68
|
+
name: object.name,
|
|
69
|
+
content: content.content
|
|
70
|
+
});
|
|
71
|
+
},
|
|
72
|
+
deserialize: async ({ content: serialized }) => {
|
|
73
|
+
const { name, content } = JSON.parse(serialized);
|
|
74
|
+
return (0, import_echo2.createEchoObject)((0, import_echo2.create)(import_chunk_VYLYUDDI.DocumentType, {
|
|
75
|
+
name,
|
|
76
|
+
content: (0, import_echo2.create)(import_chunk_VYLYUDDI.TextType, {
|
|
77
|
+
content
|
|
78
|
+
}),
|
|
79
|
+
threads: []
|
|
80
|
+
}));
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
var DocumentEditor = ({ document: doc, extensionProviders = [], viewMode, settings, ...props }) => {
|
|
84
|
+
const space = (0, import_echo.getSpace)(doc);
|
|
85
|
+
const identity = (0, import_halo.useIdentity)();
|
|
86
|
+
const dispatch = (0, import_app_framework.useIntentDispatcher)();
|
|
87
|
+
const baseExtensions = (0, import_react.useMemo)(() => {
|
|
88
|
+
return (0, import_chunk_TZDYK4MV.createBaseExtensions)({
|
|
89
|
+
viewMode,
|
|
90
|
+
settings,
|
|
91
|
+
document: doc,
|
|
92
|
+
dispatch
|
|
93
|
+
});
|
|
94
|
+
}, [
|
|
95
|
+
doc,
|
|
96
|
+
viewMode,
|
|
97
|
+
dispatch,
|
|
98
|
+
settings,
|
|
99
|
+
settings.folding,
|
|
100
|
+
settings.numberedHeadings
|
|
101
|
+
]);
|
|
102
|
+
const providerExtensions = (0, import_react.useMemo)(() => extensionProviders.reduce((acc, provider) => {
|
|
103
|
+
const provided = typeof provider === "function" ? provider({
|
|
104
|
+
document: doc
|
|
105
|
+
}) : provider;
|
|
106
|
+
acc.push(...provided);
|
|
107
|
+
return acc;
|
|
108
|
+
}, []), [
|
|
109
|
+
extensionProviders
|
|
110
|
+
]);
|
|
111
|
+
const extensions = (0, import_react.useMemo)(() => [
|
|
112
|
+
// NOTE: Data extensions must be first so that automerge is updated before other extensions compute their state.
|
|
113
|
+
(0, import_react_ui_editor.createDataExtensions)({
|
|
114
|
+
id: doc.id,
|
|
115
|
+
text: doc.content && (0, import_echo.createDocAccessor)(doc.content, [
|
|
116
|
+
"content"
|
|
117
|
+
]),
|
|
118
|
+
space,
|
|
119
|
+
identity
|
|
120
|
+
}),
|
|
121
|
+
(0, import_react_ui_editor.state)(import_react_ui_editor.localStorageStateStoreAdapter),
|
|
122
|
+
(0, import_react_ui_editor.listener)({
|
|
123
|
+
onChange: (text) => {
|
|
124
|
+
setFallbackName(doc, text);
|
|
125
|
+
}
|
|
126
|
+
}),
|
|
127
|
+
providerExtensions,
|
|
128
|
+
baseExtensions
|
|
129
|
+
], [
|
|
130
|
+
doc,
|
|
131
|
+
doc.content,
|
|
132
|
+
space,
|
|
133
|
+
baseExtensions,
|
|
134
|
+
providerExtensions,
|
|
135
|
+
identity
|
|
136
|
+
]);
|
|
137
|
+
const initialValue = (0, import_react.useMemo)(() => doc.content?.content, [
|
|
138
|
+
doc.content
|
|
139
|
+
]);
|
|
140
|
+
(0, import_react.useEffect)(() => {
|
|
141
|
+
if (!doc.fallbackName && doc.content?.content) {
|
|
142
|
+
doc.fallbackName = getFallbackName(doc.content.content);
|
|
143
|
+
}
|
|
144
|
+
}, [
|
|
145
|
+
doc,
|
|
146
|
+
doc.content
|
|
147
|
+
]);
|
|
148
|
+
const {
|
|
149
|
+
scrollTo
|
|
150
|
+
/*, selection */
|
|
151
|
+
} = (0, import_react.useMemo)(() => {
|
|
152
|
+
const { scrollTo: scrollTo2, selection } = import_react_ui_editor.localStorageStateStoreAdapter.getState(doc.id) ?? {};
|
|
153
|
+
return {
|
|
154
|
+
scrollTo: scrollTo2?.from ? import_view.EditorView.scrollIntoView(scrollTo2.from, {
|
|
155
|
+
y: "start",
|
|
156
|
+
yMargin: 0
|
|
157
|
+
}) : void 0,
|
|
158
|
+
selection
|
|
159
|
+
};
|
|
160
|
+
}, [
|
|
161
|
+
doc
|
|
162
|
+
]);
|
|
163
|
+
const fileManagerPlugin = (0, import_app_framework.useResolvePlugin)(import_app_framework.parseFileManagerPlugin);
|
|
164
|
+
const handleFileUpload = (0, import_react.useMemo)(() => {
|
|
165
|
+
if (space === void 0) {
|
|
166
|
+
return void 0;
|
|
167
|
+
}
|
|
168
|
+
if (fileManagerPlugin?.provides.file.upload === void 0) {
|
|
169
|
+
return void 0;
|
|
170
|
+
}
|
|
171
|
+
return async (file) => {
|
|
172
|
+
return fileManagerPlugin?.provides?.file?.upload?.(file, space);
|
|
173
|
+
};
|
|
174
|
+
}, [
|
|
175
|
+
fileManagerPlugin,
|
|
176
|
+
space
|
|
177
|
+
]);
|
|
178
|
+
return /* @__PURE__ */ import_react.default.createElement(import_chunk_TO3FCKT7.MarkdownEditor_default, {
|
|
179
|
+
id: (0, import_echo.fullyQualifiedId)(doc),
|
|
180
|
+
initialValue,
|
|
181
|
+
extensions,
|
|
182
|
+
scrollTo,
|
|
183
|
+
// TODO(wittjosiah): Ensure selection is within the document.
|
|
184
|
+
// selection={selection}
|
|
185
|
+
onFileUpload: handleFileUpload,
|
|
186
|
+
inputMode: settings.editorInputMode,
|
|
187
|
+
toolbar: settings.toolbar,
|
|
188
|
+
viewMode,
|
|
189
|
+
...props
|
|
190
|
+
});
|
|
191
|
+
};
|
|
192
|
+
var DocumentEditor_default = DocumentEditor;
|
|
193
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
194
|
+
0 && (module.exports = {
|
|
195
|
+
DocumentEditor_default,
|
|
196
|
+
getFallbackName,
|
|
197
|
+
isMarkdownProperties,
|
|
198
|
+
markdownExtensionPlugins,
|
|
199
|
+
serializer,
|
|
200
|
+
setFallbackName
|
|
201
|
+
});
|
|
202
|
+
//# sourceMappingURL=chunk-IUQ2SKGY.cjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/components/DocumentEditor.tsx", "../../../src/util.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { EditorView } from '@codemirror/view';\nimport React, { useEffect, useMemo } from 'react';\n\nimport { useResolvePlugin, parseFileManagerPlugin, useIntentDispatcher } from '@dxos/app-framework';\nimport { createDocAccessor, fullyQualifiedId, getSpace } from '@dxos/react-client/echo';\nimport { useIdentity } from '@dxos/react-client/halo';\nimport {\n createDataExtensions,\n listener,\n localStorageStateStoreAdapter,\n state,\n type Extension,\n} from '@dxos/react-ui-editor';\n\nimport MarkdownEditor, { type MarkdownEditorProps } from './MarkdownEditor';\nimport { createBaseExtensions } from '../extensions';\nimport { type DocumentType, type MarkdownPluginState, type MarkdownSettingsProps } from '../types';\nimport { getFallbackName, setFallbackName } from '../util';\n\ntype DocumentEditorProps = {\n document: DocumentType;\n settings: MarkdownSettingsProps;\n} & Omit<MarkdownEditorProps, 'id' | 'inputMode' | 'toolbar' | 'extensions'> &\n Pick<MarkdownPluginState, 'extensionProviders'>;\n\n/**\n * Editor for a `DocumentType`.\n */\nconst DocumentEditor = ({\n document: doc,\n extensionProviders = [],\n viewMode,\n settings,\n ...props\n}: DocumentEditorProps) => {\n const space = getSpace(doc);\n const identity = useIdentity();\n const dispatch = useIntentDispatcher();\n\n const baseExtensions = useMemo(() => {\n // TODO(wittjosiah): Autocomplete is not working and this query is causing performance issues.\n // const query = space?.db.query(Filter.schema(DocumentType));\n // query?.subscribe();\n return createBaseExtensions({\n viewMode,\n settings,\n document: doc,\n dispatch,\n // query,\n });\n }, [doc, viewMode, dispatch, settings, settings.folding, settings.numberedHeadings]);\n\n const providerExtensions = useMemo(\n () =>\n extensionProviders.reduce((acc: Extension[], provider) => {\n const provided = typeof provider === 'function' ? provider({ document: doc }) : provider;\n acc.push(...provided);\n return acc;\n }, []),\n [extensionProviders],\n );\n\n const extensions = useMemo(\n () => [\n // NOTE: Data extensions must be first so that automerge is updated before other extensions compute their state.\n createDataExtensions({\n id: doc.id,\n text: doc.content && createDocAccessor(doc.content, ['content']),\n space,\n identity,\n }),\n state(localStorageStateStoreAdapter),\n listener({\n onChange: (text) => {\n setFallbackName(doc, text);\n },\n }),\n providerExtensions,\n baseExtensions,\n ],\n [doc, doc.content, space, baseExtensions, providerExtensions, identity],\n );\n\n const initialValue = useMemo(() => doc.content?.content, [doc.content]);\n\n // Migrate gradually to `fallbackName`.\n useEffect(() => {\n if (!doc.fallbackName && doc.content?.content) {\n doc.fallbackName = getFallbackName(doc.content.content);\n }\n }, [doc, doc.content]);\n\n const { scrollTo /*, selection */ } = useMemo(() => {\n const { scrollTo, selection } = localStorageStateStoreAdapter.getState(doc.id) ?? {};\n return {\n scrollTo: scrollTo?.from ? EditorView.scrollIntoView(scrollTo.from, { y: 'start', yMargin: 0 }) : undefined,\n selection,\n };\n }, [doc]);\n\n const fileManagerPlugin = useResolvePlugin(parseFileManagerPlugin);\n\n const handleFileUpload = useMemo(() => {\n if (space === undefined) {\n return undefined;\n }\n\n if (fileManagerPlugin?.provides.file.upload === undefined) {\n return undefined;\n }\n\n return async (file: File) => {\n return fileManagerPlugin?.provides?.file?.upload?.(file, space);\n };\n }, [fileManagerPlugin, space]);\n\n return (\n <MarkdownEditor\n id={fullyQualifiedId(doc)}\n initialValue={initialValue}\n extensions={extensions}\n scrollTo={scrollTo}\n // TODO(wittjosiah): Ensure selection is within the document.\n // selection={selection}\n onFileUpload={handleFileUpload}\n inputMode={settings.editorInputMode}\n toolbar={settings.toolbar}\n viewMode={viewMode}\n {...props}\n />\n );\n};\n\nexport default DocumentEditor;\n\nexport type DocumentEditor = typeof DocumentEditor;\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Plugin } from '@dxos/app-framework';\nimport { debounce } from '@dxos/async';\nimport { type TypedObjectSerializer } from '@dxos/plugin-space/types';\nimport { create, createEchoObject, isEchoObject, loadObjectReferences } from '@dxos/react-client/echo';\n\nimport { DocumentType, type MarkdownProperties, type MarkdownExtensionProvides, TextType } from './types';\n\nexport const isMarkdownProperties = (data: unknown): data is MarkdownProperties =>\n isEchoObject(data)\n ? true\n : data && typeof data === 'object'\n ? 'title' in data && typeof data.title === 'string'\n : false;\n\ntype MarkdownExtensionPlugin = Plugin<MarkdownExtensionProvides>;\n\nexport const markdownExtensionPlugins = (plugins: Plugin[]): MarkdownExtensionPlugin[] => {\n return (plugins as MarkdownExtensionPlugin[]).filter((plugin) => Boolean(plugin.provides?.markdown));\n};\n\nconst nonTitleChars = /[^\\w ]/g;\n\nexport const getFallbackName = (content: string) => {\n return content.substring(0, 31).split('\\n')[0].replaceAll(nonTitleChars, '').trim();\n};\n\nexport const setFallbackName = debounce((doc: DocumentType, content: string) => {\n const name = getFallbackName(content);\n if (doc.fallbackName !== name) {\n doc.fallbackName = name;\n }\n}, 200);\n\nexport const serializer: TypedObjectSerializer<DocumentType> = {\n serialize: async ({ object }): Promise<string> => {\n const content = await loadObjectReferences(object, (doc) => doc.content);\n return JSON.stringify({ name: object.name, content: content.content });\n },\n\n deserialize: async ({ content: serialized }) => {\n const { name, content } = JSON.parse(serialized);\n return createEchoObject(create(DocumentType, { name, content: create(TextType, { content }), threads: [] }));\n },\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["import_echo", "isMarkdownProperties", "data", "isEchoObject", "title", "markdownExtensionPlugins", "plugins", "filter", "plugin", "Boolean", "provides", "markdown", "nonTitleChars", "getFallbackName", "content", "substring", "split", "replaceAll", "trim", "setFallbackName", "debounce", "doc", "name", "fallbackName", "serializer", "serialize", "object", "loadObjectReferences", "JSON", "stringify", "deserialize", "serialized", "parse", "createEchoObject", "create", "DocumentType", "TextType", "threads", "DocumentEditor", "document", "extensionProviders", "viewMode", "settings", "props", "space", "getSpace", "identity", "useIdentity", "dispatch", "useIntentDispatcher", "baseExtensions", "useMemo", "createBaseExtensions", "folding", "numberedHeadings", "providerExtensions", "reduce", "acc", "provider", "provided", "push", "extensions", "createDataExtensions", "id", "text", "createDocAccessor", "state", "localStorageStateStoreAdapter", "listener", "onChange", "initialValue", "useEffect", "scrollTo", "selection", "getState", "from", "EditorView", "scrollIntoView", "y", "yMargin", "undefined", "fileManagerPlugin", "useResolvePlugin", "parseFileManagerPlugin", "handleFileUpload", "file", "upload", "React", "MarkdownEditor", "fullyQualifiedId", "onFileUpload", "inputMode", "editorInputMode", "toolbar"]
|
|
7
|
+
}
|