@dxos/plugin-markdown 0.8.4-main.422d1c7879 → 0.8.4-main.43cb759274
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 +102 -5
- package/README.md +1 -1
- package/dist/lib/neutral/EditableMarkdownCard-AW7MD35U.mjs +34 -0
- package/dist/lib/neutral/EditableMarkdownCard-AW7MD35U.mjs.map +7 -0
- package/dist/lib/neutral/MarkdownArticle-Z4QRU3WD.mjs +126 -0
- package/dist/lib/neutral/MarkdownArticle-Z4QRU3WD.mjs.map +7 -0
- package/dist/lib/neutral/MarkdownCard-36P4AHYL.mjs +107 -0
- package/dist/lib/neutral/MarkdownCard-36P4AHYL.mjs.map +7 -0
- package/dist/lib/neutral/MarkdownPlugin.mjs +58 -0
- package/dist/lib/neutral/MarkdownPlugin.mjs.map +7 -0
- package/dist/lib/neutral/MarkdownPlugin.node.mjs +25 -0
- package/dist/lib/neutral/MarkdownPlugin.node.mjs.map +7 -0
- package/dist/lib/neutral/MarkdownPlugin.workerd.mjs +23 -0
- package/dist/lib/neutral/MarkdownPlugin.workerd.mjs.map +7 -0
- package/dist/lib/{browser/MarkdownSettings-62YSRY7L.mjs → neutral/MarkdownSettings-YCTZJL5V.mjs} +4 -4
- package/dist/lib/neutral/MarkdownSettings-YCTZJL5V.mjs.map +7 -0
- package/dist/lib/neutral/anchor-sort-37GOHBLW.mjs +32 -0
- package/dist/lib/neutral/anchor-sort-37GOHBLW.mjs.map +7 -0
- package/dist/lib/neutral/app-graph-serializer-EN5E3BMG.mjs +56 -0
- package/dist/lib/neutral/app-graph-serializer-EN5E3BMG.mjs.map +7 -0
- package/dist/lib/neutral/blueprint-definition-33OK2KUL.mjs +15 -0
- package/dist/lib/neutral/blueprint-definition-33OK2KUL.mjs.map +7 -0
- package/dist/lib/neutral/blueprints/index.mjs +8 -0
- package/dist/lib/neutral/capabilities/index.mjs +25 -0
- package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
- package/dist/lib/neutral/capabilities/node.mjs +11 -0
- package/dist/lib/neutral/capabilities/node.mjs.map +7 -0
- package/dist/lib/neutral/chunk-36QFEVOZ.mjs +30 -0
- package/dist/lib/neutral/chunk-36QFEVOZ.mjs.map +7 -0
- package/dist/lib/neutral/chunk-A45UVZEH.mjs +285 -0
- package/dist/lib/neutral/chunk-A45UVZEH.mjs.map +7 -0
- package/dist/lib/neutral/chunk-E5NVTEKQ.mjs +8 -0
- package/dist/lib/neutral/chunk-E5NVTEKQ.mjs.map +7 -0
- package/dist/lib/neutral/chunk-KDN4GKG2.mjs +98 -0
- package/dist/lib/neutral/chunk-KDN4GKG2.mjs.map +7 -0
- package/dist/lib/{browser/blueprints/index.mjs → neutral/chunk-LXNSKCPD.mjs} +10 -17
- package/dist/lib/neutral/chunk-LXNSKCPD.mjs.map +7 -0
- package/dist/lib/neutral/comment-config-ZEA66BUR.mjs +31 -0
- package/dist/lib/neutral/comment-config-ZEA66BUR.mjs.map +7 -0
- package/dist/lib/{browser → neutral/components}/index.mjs +19 -280
- package/dist/lib/neutral/components/index.mjs.map +7 -0
- package/dist/lib/neutral/containers/index.mjs +13 -0
- package/dist/lib/neutral/containers/index.mjs.map +7 -0
- package/dist/lib/{browser/create-YL5ELZWP.mjs → neutral/create-HONLDBVT.mjs} +7 -9
- package/dist/lib/neutral/create-HONLDBVT.mjs.map +7 -0
- package/dist/lib/{browser/create-markdown-LU5IDKMH.mjs → neutral/create-markdown-UCPD2Z3V.mjs} +5 -7
- package/dist/lib/neutral/create-markdown-UCPD2Z3V.mjs.map +7 -0
- package/dist/lib/neutral/create-object-VU3KX663.mjs +28 -0
- package/dist/lib/neutral/create-object-VU3KX663.mjs.map +7 -0
- package/dist/lib/neutral/hooks/index.mjs +316 -0
- package/dist/lib/neutral/hooks/index.mjs.map +7 -0
- package/dist/lib/neutral/index.mjs +42 -0
- package/dist/lib/neutral/meta.json +1 -0
- package/dist/lib/neutral/meta.mjs +8 -0
- package/dist/lib/{browser/open-AFSOZZ6G.mjs → neutral/open-VVDMNJ7J.mjs} +5 -6
- package/dist/lib/neutral/open-VVDMNJ7J.mjs.map +7 -0
- package/dist/lib/neutral/operation-handler-2ARMPBGZ.mjs +13 -0
- package/dist/lib/neutral/operation-handler-2ARMPBGZ.mjs.map +7 -0
- package/dist/lib/neutral/operations/index.mjs +8 -0
- package/dist/lib/neutral/operations/index.mjs.map +7 -0
- package/dist/lib/neutral/plugin.mjs +16 -0
- package/dist/lib/neutral/plugin.mjs.map +7 -0
- package/dist/lib/neutral/react-surface-EMYFM37T.mjs +119 -0
- package/dist/lib/neutral/react-surface-EMYFM37T.mjs.map +7 -0
- package/dist/lib/{browser/scroll-to-anchor-IPXV32A6.mjs → neutral/scroll-to-anchor-Y3P676QG.mjs} +7 -9
- package/dist/lib/neutral/scroll-to-anchor-Y3P676QG.mjs.map +7 -0
- package/dist/lib/neutral/set-view-mode-JZB7UXIF.mjs +24 -0
- package/dist/lib/neutral/set-view-mode-JZB7UXIF.mjs.map +7 -0
- package/dist/lib/neutral/settings-TDGDLCUR.mjs +34 -0
- package/dist/lib/neutral/settings-TDGDLCUR.mjs.map +7 -0
- package/dist/lib/neutral/state-5COCF5PN.mjs +44 -0
- package/dist/lib/neutral/state-5COCF5PN.mjs.map +7 -0
- package/dist/lib/neutral/testing.mjs +30 -0
- package/dist/lib/neutral/testing.mjs.map +7 -0
- package/dist/lib/neutral/translations.mjs +44 -0
- package/dist/lib/neutral/translations.mjs.map +7 -0
- package/dist/lib/neutral/types/index.mjs +16 -0
- package/dist/lib/neutral/types/index.mjs.map +7 -0
- package/dist/lib/{browser/update-HZNVYBMO.mjs → neutral/update-markdown-F25F4EPF.mjs} +8 -9
- package/dist/lib/neutral/update-markdown-F25F4EPF.mjs.map +7 -0
- package/dist/types/src/MarkdownPlugin.d.ts +1 -0
- package/dist/types/src/MarkdownPlugin.d.ts.map +1 -1
- package/dist/types/src/{cli/plugin.d.ts → MarkdownPlugin.node.d.ts} +2 -1
- package/dist/types/src/MarkdownPlugin.node.d.ts.map +1 -0
- package/dist/types/src/MarkdownPlugin.test.d.ts +2 -0
- package/dist/types/src/MarkdownPlugin.test.d.ts.map +1 -0
- package/dist/types/src/MarkdownPlugin.workerd.d.ts +4 -0
- package/dist/types/src/MarkdownPlugin.workerd.d.ts.map +1 -0
- package/dist/types/src/blueprints/markdown-blueprint.d.ts +2 -2
- package/dist/types/src/blueprints/markdown-blueprint.d.ts.map +1 -1
- package/dist/types/src/capabilities/anchor-sort.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +1 -1
- package/dist/types/src/capabilities/blueprint-definition.d.ts +2 -2
- package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -1
- package/dist/types/src/capabilities/comment-config.d.ts +12 -0
- package/dist/types/src/capabilities/comment-config.d.ts.map +1 -0
- package/dist/types/src/capabilities/create-object.d.ts +11 -0
- package/dist/types/src/capabilities/create-object.d.ts.map +1 -0
- package/dist/types/src/capabilities/index.d.ts +16 -3
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/node.d.ts +7 -1
- package/dist/types/src/capabilities/node.d.ts.map +1 -1
- package/dist/types/src/capabilities/operation-handler.d.ts +1 -1
- package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/capabilities/settings.d.ts.map +1 -1
- package/dist/types/src/capabilities/state.d.ts +2 -2
- package/dist/types/src/capabilities/state.d.ts.map +1 -1
- package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts +13 -5
- package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts.map +1 -1
- package/dist/types/src/components/MarkdownEditor/MarkdownEditor.stories.d.ts.map +1 -1
- package/dist/types/src/components/MarkdownEditor/MarkdownEditorContent.d.ts +2 -1
- package/dist/types/src/components/MarkdownEditor/MarkdownEditorContent.d.ts.map +1 -1
- package/dist/types/src/components/MarkdownEditor/MarkdownEditorToolbar.d.ts +1 -1
- package/dist/types/src/components/MarkdownEditor/MarkdownEditorToolbar.d.ts.map +1 -1
- package/dist/types/src/components/MarkdownSettings/MarkdownSettings.d.ts.map +1 -1
- package/dist/types/src/components/MarkdownSettings/MarkdownSettings.stories.d.ts +46 -46
- package/dist/types/src/components/MarkdownSettings/MarkdownSettings.stories.d.ts.map +1 -1
- package/dist/types/src/containers/EditableMarkdownCard/EditableMarkdownCard.d.ts +15 -0
- package/dist/types/src/containers/EditableMarkdownCard/EditableMarkdownCard.d.ts.map +1 -0
- package/dist/types/src/containers/EditableMarkdownCard/EditableMarkdownCard.stories.d.ts +9 -0
- package/dist/types/src/containers/EditableMarkdownCard/EditableMarkdownCard.stories.d.ts.map +1 -0
- package/dist/types/src/containers/EditableMarkdownCard/index.d.ts +3 -0
- package/dist/types/src/containers/EditableMarkdownCard/index.d.ts.map +1 -0
- package/dist/types/src/containers/{MarkdownContainer/MarkdownContainer.d.ts → MarkdownArticle/MarkdownArticle.d.ts} +14 -10
- package/dist/types/src/containers/MarkdownArticle/MarkdownArticle.d.ts.map +1 -0
- package/dist/types/src/containers/MarkdownArticle/MarkdownArticle.stories.d.ts +97 -0
- package/dist/types/src/containers/MarkdownArticle/MarkdownArticle.stories.d.ts.map +1 -0
- package/dist/types/src/containers/MarkdownArticle/index.d.ts +3 -0
- package/dist/types/src/containers/MarkdownArticle/index.d.ts.map +1 -0
- package/dist/types/src/containers/MarkdownCard/MarkdownCard.d.ts.map +1 -1
- package/dist/types/src/containers/MarkdownCard/MarkdownCard.stories.d.ts +1 -1
- package/dist/types/src/containers/MarkdownCard/MarkdownCard.stories.d.ts.map +1 -1
- package/dist/types/src/containers/MarkdownCard/snippet.d.ts.map +1 -1
- package/dist/types/src/containers/index.d.ts +3 -2
- package/dist/types/src/containers/index.d.ts.map +1 -1
- package/dist/types/src/hooks/useEditorMenuOptions.d.ts.map +1 -1
- package/dist/types/src/hooks/useExtensions.d.ts +2 -1
- package/dist/types/src/hooks/useExtensions.d.ts.map +1 -1
- package/dist/types/src/hooks/useLinkQuery.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +2 -4
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts +1 -1
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/operations/create-markdown.d.ts +3 -3
- package/dist/types/src/operations/create-markdown.d.ts.map +1 -1
- package/dist/types/src/operations/create.d.ts +3 -3
- package/dist/types/src/operations/create.d.ts.map +1 -1
- package/dist/types/src/operations/index.d.ts +1 -2
- package/dist/types/src/operations/index.d.ts.map +1 -1
- package/dist/types/src/operations/open.d.ts +3 -3
- package/dist/types/src/operations/open.d.ts.map +1 -1
- package/dist/types/src/operations/scroll-to-anchor.d.ts +3 -3
- package/dist/types/src/operations/scroll-to-anchor.d.ts.map +1 -1
- package/dist/types/src/operations/set-view-mode.d.ts +3 -3
- package/dist/types/src/operations/set-view-mode.d.ts.map +1 -1
- package/dist/types/src/operations/update-markdown.d.ts +5 -0
- package/dist/types/src/operations/update-markdown.d.ts.map +1 -0
- package/dist/types/src/plugin.d.ts +4 -0
- package/dist/types/src/plugin.d.ts.map +1 -0
- package/dist/types/src/testing.d.ts +1 -0
- package/dist/types/src/testing.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +70 -51
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/Markdown.d.ts +12 -10
- package/dist/types/src/types/Markdown.d.ts.map +1 -1
- package/dist/types/src/types/MarkdownCapabilities.d.ts +32 -0
- package/dist/types/src/types/MarkdownCapabilities.d.ts.map +1 -0
- package/dist/types/src/types/MarkdownEvents.d.ts +3 -0
- package/dist/types/src/types/MarkdownEvents.d.ts.map +1 -0
- package/dist/types/src/{operations/definitions.d.ts → types/MarkdownOperation.d.ts} +17 -17
- package/dist/types/src/types/MarkdownOperation.d.ts.map +1 -0
- package/dist/types/src/types/Settings.d.ts +14 -1
- package/dist/types/src/types/Settings.d.ts.map +1 -1
- package/dist/types/src/types/index.d.ts +3 -2
- package/dist/types/src/types/index.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +1 -0
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/src/util.d.ts +1 -1
- package/dist/types/src/util.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +125 -91
- package/src/MarkdownPlugin.node.ts +20 -0
- package/src/MarkdownPlugin.test.ts +26 -0
- package/src/MarkdownPlugin.tsx +8 -52
- package/src/MarkdownPlugin.workerd.ts +19 -0
- package/src/blueprints/markdown-blueprint.ts +8 -9
- package/src/capabilities/anchor-sort.ts +2 -2
- package/src/capabilities/app-graph-serializer.ts +9 -10
- package/src/capabilities/blueprint-definition.ts +2 -0
- package/src/capabilities/comment-config.ts +33 -0
- package/src/capabilities/create-object.ts +31 -0
- package/src/capabilities/index.ts +4 -1
- package/src/capabilities/node.ts +3 -1
- package/src/capabilities/operation-handler.ts +1 -1
- package/src/capabilities/react-surface.tsx +17 -10
- package/src/capabilities/state.ts +4 -4
- package/src/components/MarkdownEditor/MarkdownEditor.stories.tsx +5 -4
- package/src/components/MarkdownEditor/MarkdownEditor.tsx +35 -28
- package/src/components/MarkdownEditor/MarkdownEditorContent.tsx +4 -3
- package/src/components/MarkdownEditor/MarkdownEditorToolbar.tsx +2 -2
- package/src/components/MarkdownSettings/MarkdownSettings.stories.tsx +2 -1
- package/src/components/MarkdownSettings/MarkdownSettings.tsx +3 -3
- package/src/containers/EditableMarkdownCard/EditableMarkdownCard.stories.tsx +86 -0
- package/src/containers/EditableMarkdownCard/EditableMarkdownCard.tsx +44 -0
- package/src/containers/EditableMarkdownCard/index.ts +6 -0
- package/src/containers/{MarkdownContainer/MarkdownContainer.stories.tsx → MarkdownArticle/MarkdownArticle.stories.tsx} +14 -8
- package/src/containers/{MarkdownContainer/MarkdownContainer.tsx → MarkdownArticle/MarkdownArticle.tsx} +7 -6
- package/src/containers/MarkdownArticle/index.ts +6 -0
- package/src/containers/MarkdownCard/MarkdownCard.stories.tsx +8 -7
- package/src/containers/MarkdownCard/MarkdownCard.tsx +27 -20
- package/src/containers/MarkdownCard/snippet.ts +3 -1
- package/src/containers/index.ts +3 -2
- package/src/hooks/useExtensions.tsx +12 -8
- package/src/hooks/useLinkQuery.ts +19 -34
- package/src/index.ts +2 -7
- package/src/meta.ts +17 -7
- package/src/operations/create-markdown.ts +3 -4
- package/src/operations/create.conversations.json +1 -1
- package/src/operations/create.test.ts +10 -12
- package/src/operations/create.ts +5 -6
- package/src/operations/index.ts +2 -4
- package/src/operations/open.ts +3 -3
- package/src/operations/scroll-to-anchor.ts +3 -4
- package/src/operations/set-view-mode.ts +3 -4
- package/src/operations/{update.ts → update-markdown.ts} +3 -3
- package/src/operations/update.conversations.json +1 -1
- package/src/operations/update.test.ts +10 -12
- package/src/plugin.ts +11 -0
- package/src/testing.ts +22 -9
- package/src/translations.ts +4 -3
- package/src/types/Markdown.ts +9 -10
- package/src/types/MarkdownCapabilities.ts +51 -0
- package/src/types/MarkdownEvents.ts +14 -0
- package/src/{operations/definitions.ts → types/MarkdownOperation.ts} +24 -11
- package/src/types/Settings.ts +23 -3
- package/src/types/index.ts +3 -2
- package/src/types/types.ts +4 -1
- package/src/util.tsx +2 -2
- package/dist/lib/browser/MarkdownSettings-62YSRY7L.mjs.map +0 -7
- package/dist/lib/browser/blueprints/index.mjs.map +0 -7
- package/dist/lib/browser/chunk-4KOZEH2H.mjs +0 -121
- package/dist/lib/browser/chunk-4KOZEH2H.mjs.map +0 -7
- package/dist/lib/browser/chunk-QFPZONKP.mjs +0 -158
- package/dist/lib/browser/chunk-QFPZONKP.mjs.map +0 -7
- package/dist/lib/browser/cli/index.mjs +0 -39
- package/dist/lib/browser/cli/index.mjs.map +0 -7
- package/dist/lib/browser/create-YL5ELZWP.mjs.map +0 -7
- package/dist/lib/browser/create-markdown-LU5IDKMH.mjs.map +0 -7
- package/dist/lib/browser/index.mjs.map +0 -7
- package/dist/lib/browser/meta.json +0 -1
- package/dist/lib/browser/open-AFSOZZ6G.mjs.map +0 -7
- package/dist/lib/browser/operations/index.mjs +0 -14
- package/dist/lib/browser/operations/index.mjs.map +0 -7
- package/dist/lib/browser/scroll-to-anchor-IPXV32A6.mjs.map +0 -7
- package/dist/lib/browser/set-view-mode-2QWB24RR.mjs +0 -26
- package/dist/lib/browser/set-view-mode-2QWB24RR.mjs.map +0 -7
- package/dist/lib/browser/types/index.mjs +0 -16
- package/dist/lib/browser/update-HZNVYBMO.mjs.map +0 -7
- package/dist/lib/node-esm/MarkdownSettings-QMPISOEU.mjs +0 -33
- package/dist/lib/node-esm/MarkdownSettings-QMPISOEU.mjs.map +0 -7
- package/dist/lib/node-esm/blueprints/index.mjs +0 -52
- package/dist/lib/node-esm/blueprints/index.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-3OPDJJJH.mjs +0 -122
- package/dist/lib/node-esm/chunk-3OPDJJJH.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +0 -11
- package/dist/lib/node-esm/chunk-JUGS6RKO.mjs +0 -159
- package/dist/lib/node-esm/chunk-JUGS6RKO.mjs.map +0 -7
- package/dist/lib/node-esm/cli/index.mjs +0 -40
- package/dist/lib/node-esm/cli/index.mjs.map +0 -7
- package/dist/lib/node-esm/create-SMQAIM3V.mjs +0 -31
- package/dist/lib/node-esm/create-SMQAIM3V.mjs.map +0 -7
- package/dist/lib/node-esm/create-markdown-X2OASYKG.mjs +0 -23
- package/dist/lib/node-esm/create-markdown-X2OASYKG.mjs.map +0 -7
- package/dist/lib/node-esm/index.mjs +0 -633
- package/dist/lib/node-esm/index.mjs.map +0 -7
- package/dist/lib/node-esm/meta.json +0 -1
- package/dist/lib/node-esm/open-SRWLLOKE.mjs +0 -22
- package/dist/lib/node-esm/open-SRWLLOKE.mjs.map +0 -7
- package/dist/lib/node-esm/operations/index.mjs +0 -15
- package/dist/lib/node-esm/operations/index.mjs.map +0 -7
- package/dist/lib/node-esm/scroll-to-anchor-M76GXKYQ.mjs +0 -50
- package/dist/lib/node-esm/scroll-to-anchor-M76GXKYQ.mjs.map +0 -7
- package/dist/lib/node-esm/set-view-mode-6BB6KIDS.mjs +0 -27
- package/dist/lib/node-esm/set-view-mode-6BB6KIDS.mjs.map +0 -7
- package/dist/lib/node-esm/types/index.mjs +0 -17
- package/dist/lib/node-esm/update-4CELTLXK.mjs +0 -46
- package/dist/lib/node-esm/update-4CELTLXK.mjs.map +0 -7
- package/dist/types/src/capabilities/artifact-definition.d.ts +0 -5
- package/dist/types/src/capabilities/artifact-definition.d.ts.map +0 -1
- package/dist/types/src/cli/index.d.ts +0 -2
- package/dist/types/src/cli/index.d.ts.map +0 -1
- package/dist/types/src/cli/plugin.d.ts.map +0 -1
- package/dist/types/src/containers/MarkdownContainer/MarkdownContainer.d.ts.map +0 -1
- package/dist/types/src/containers/MarkdownContainer/MarkdownContainer.stories.d.ts +0 -77
- package/dist/types/src/containers/MarkdownContainer/MarkdownContainer.stories.d.ts.map +0 -1
- package/dist/types/src/containers/MarkdownContainer/index.d.ts +0 -3
- package/dist/types/src/containers/MarkdownContainer/index.d.ts.map +0 -1
- package/dist/types/src/operations/definitions.d.ts.map +0 -1
- package/dist/types/src/operations/update.d.ts +0 -5
- package/dist/types/src/operations/update.d.ts.map +0 -1
- package/dist/types/src/types/capabilities.d.ts +0 -33
- package/dist/types/src/types/capabilities.d.ts.map +0 -1
- package/dist/types/src/types/events.d.ts +0 -5
- package/dist/types/src/types/events.d.ts.map +0 -1
- package/src/capabilities/artifact-definition.ts +0 -110
- package/src/cli/index.ts +0 -5
- package/src/cli/plugin.ts +0 -39
- package/src/containers/MarkdownContainer/index.ts +0 -6
- package/src/types/capabilities.ts +0 -50
- package/src/types/events.ts +0 -14
- /package/dist/lib/{browser/types → neutral/blueprints}/index.mjs.map +0 -0
- /package/dist/lib/{browser → neutral}/chunk-J5LGTIGS.mjs +0 -0
- /package/dist/lib/{browser → neutral}/chunk-J5LGTIGS.mjs.map +0 -0
- /package/dist/lib/{node-esm/types → neutral}/index.mjs.map +0 -0
- /package/dist/lib/{node-esm/chunk-HSLMI22Q.mjs.map → neutral/meta.mjs.map} +0 -0
|
@@ -26,34 +26,41 @@ export const MarkdownCard = ({ subject }: MarkdownCardProps) => {
|
|
|
26
26
|
const info = getInfo(subject);
|
|
27
27
|
|
|
28
28
|
return (
|
|
29
|
-
<Card.
|
|
29
|
+
<Card.Body>
|
|
30
30
|
{snippet && (
|
|
31
|
-
<Card.Section className='relative
|
|
32
|
-
<
|
|
33
|
-
{
|
|
34
|
-
|
|
35
|
-
<
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
'z-10 absolute bottom-0 inset-x-0 h-12 w-full',
|
|
43
|
-
'bg-gradient-to-b from-transparent to-(--surface-bg) pointer-events-none',
|
|
44
|
-
)}
|
|
45
|
-
/>
|
|
31
|
+
<Card.Section className='relative'>
|
|
32
|
+
<Card.Row fullWidth>
|
|
33
|
+
<MarkdownEditorProvider id={subject.id} viewMode='readonly' extensions={extensions}>
|
|
34
|
+
{(editorRootProps) => (
|
|
35
|
+
<Editor.Root {...editorRootProps}>
|
|
36
|
+
<MarkdownEditor.Content initialValue={snippet} slots={{ content: { className: 'px-2!' } }} />
|
|
37
|
+
</Editor.Root>
|
|
38
|
+
)}
|
|
39
|
+
</MarkdownEditorProvider>
|
|
40
|
+
<Fade />
|
|
41
|
+
</Card.Row>
|
|
46
42
|
</Card.Section>
|
|
47
43
|
)}
|
|
48
44
|
<Card.Section>
|
|
49
|
-
<Card.
|
|
50
|
-
|
|
51
|
-
|
|
45
|
+
<Card.Row fullWidth>
|
|
46
|
+
<Card.Text classNames='px-2 text-xs text-description'>
|
|
47
|
+
{info.words} {t('words.label', { count: info.words })}
|
|
48
|
+
</Card.Text>
|
|
49
|
+
</Card.Row>
|
|
52
50
|
</Card.Section>
|
|
53
|
-
</Card.
|
|
51
|
+
</Card.Body>
|
|
54
52
|
);
|
|
55
53
|
};
|
|
56
54
|
|
|
55
|
+
const Fade = () => (
|
|
56
|
+
<div
|
|
57
|
+
className={mx(
|
|
58
|
+
'z-10 absolute bottom-0 inset-x-0 h-12 w-full',
|
|
59
|
+
'bg-gradient-to-b from-transparent to-(--surface-bg) pointer-events-none',
|
|
60
|
+
)}
|
|
61
|
+
/>
|
|
62
|
+
);
|
|
63
|
+
|
|
57
64
|
const getSnippet = (subject: Markdown.Document | Text.Text, fallback?: string, maxLines = 16) => {
|
|
58
65
|
if (Obj.instanceOf(Markdown.Document, subject)) {
|
|
59
66
|
return Obj.getDescription(subject) || getContentSnippet(subject.content?.target?.content ?? fallback, maxLines);
|
|
@@ -26,7 +26,9 @@ export const snippet = ({ height, scale = 1 }: SnippetOptions) => {
|
|
|
26
26
|
EditorState.readOnly.of(true),
|
|
27
27
|
EditorView.editable.of(false),
|
|
28
28
|
EditorState.transactionFilter.of((tr) => {
|
|
29
|
-
if (tr.selection)
|
|
29
|
+
if (tr.selection) {
|
|
30
|
+
return [];
|
|
31
|
+
} // Drop any selection changes.
|
|
30
32
|
return tr;
|
|
31
33
|
}),
|
|
32
34
|
EditorView.theme({
|
package/src/containers/index.ts
CHANGED
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
|
|
5
5
|
import { type ComponentType, lazy } from 'react';
|
|
6
6
|
|
|
7
|
-
export type {
|
|
7
|
+
export type { MarkdownArticleProps } from './MarkdownArticle';
|
|
8
8
|
|
|
9
9
|
export const MarkdownCard: ComponentType<any> = lazy(() => import('./MarkdownCard'));
|
|
10
|
-
export const
|
|
10
|
+
export const EditableMarkdownCard: ComponentType<any> = lazy(() => import('./EditableMarkdownCard'));
|
|
11
|
+
export const MarkdownArticle: ComponentType<any> = lazy(() => import('./MarkdownArticle'));
|
|
@@ -20,11 +20,9 @@ import {
|
|
|
20
20
|
Cursor,
|
|
21
21
|
type EditorStateStore,
|
|
22
22
|
EditorView,
|
|
23
|
-
type EditorViewMode,
|
|
24
23
|
type Extension,
|
|
25
24
|
InputModeExtensions,
|
|
26
25
|
type PreviewOptions,
|
|
27
|
-
type RenderCallback,
|
|
28
26
|
createDataExtensions,
|
|
29
27
|
decorateMarkdown,
|
|
30
28
|
documentId,
|
|
@@ -35,8 +33,9 @@ import {
|
|
|
35
33
|
preview,
|
|
36
34
|
replacer,
|
|
37
35
|
selectionState,
|
|
38
|
-
|
|
36
|
+
snippets,
|
|
39
37
|
} from '@dxos/ui-editor';
|
|
38
|
+
import { type EditorViewMode, type RenderCallback } from '@dxos/ui-editor/types';
|
|
40
39
|
import { isTruthy, safeUrl } from '@dxos/util';
|
|
41
40
|
|
|
42
41
|
import { Markdown } from '#types';
|
|
@@ -113,7 +112,6 @@ export const useExtensions = ({
|
|
|
113
112
|
settings?.editorInputMode,
|
|
114
113
|
settings?.folding,
|
|
115
114
|
settings?.numberedHeadings,
|
|
116
|
-
settings?.typewriter,
|
|
117
115
|
platform,
|
|
118
116
|
onSelectObject,
|
|
119
117
|
],
|
|
@@ -188,9 +186,9 @@ const createBaseExtensions = ({
|
|
|
188
186
|
}
|
|
189
187
|
|
|
190
188
|
if (settings?.debug) {
|
|
191
|
-
const items = settings.
|
|
189
|
+
const items = settings.snippets?.split(/[,\n]/) ?? '';
|
|
192
190
|
if (items) {
|
|
193
|
-
extensions.push(
|
|
191
|
+
extensions.push(snippets({ items }));
|
|
194
192
|
}
|
|
195
193
|
}
|
|
196
194
|
|
|
@@ -202,12 +200,18 @@ const selectionChange = (selectionManager: SelectionManager) => {
|
|
|
202
200
|
const id = update.state.facet(documentId);
|
|
203
201
|
const cursorConverter = update.state.facet(Cursor.converter);
|
|
204
202
|
const selection = update.state.selection;
|
|
203
|
+
// NOTE: Filter on numeric offsets BEFORE converting to cursor strings.
|
|
204
|
+
// Cursors are opaque (Automerge-encoded), so a lexicographic `to > from`
|
|
205
|
+
// comparison is nondeterministic — it would let some cursor-placements
|
|
206
|
+
// (where from === to numerically) through and reject genuine selections
|
|
207
|
+
// depending on encoding, which made the comment button's enabled state
|
|
208
|
+
// appear random across different lines.
|
|
205
209
|
const ranges = selection.ranges
|
|
210
|
+
.filter((range) => range.to > range.from)
|
|
206
211
|
.map((range) => ({
|
|
207
212
|
from: cursorConverter.toCursor(range.from),
|
|
208
213
|
to: cursorConverter.toCursor(range.to),
|
|
209
|
-
}))
|
|
210
|
-
.filter(({ from, to }) => to > from);
|
|
214
|
+
}));
|
|
211
215
|
|
|
212
216
|
selectionManager.updateMultiRange(id, ranges);
|
|
213
217
|
}, 100);
|
|
@@ -5,11 +5,9 @@
|
|
|
5
5
|
import * as Option from 'effect/Option';
|
|
6
6
|
import { useCallback, useMemo } from 'react';
|
|
7
7
|
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import { type
|
|
11
|
-
import { EntityKind, SystemTypeAnnotation, getTypeAnnotation } from '@dxos/echo/internal';
|
|
12
|
-
import { toLocalizedString, useTranslation } from '@dxos/react-ui';
|
|
8
|
+
import { Annotation, type Database, Filter, Obj, Query, Type } from '@dxos/echo';
|
|
9
|
+
import { EntityKind, HiddenAnnotation, getTypeAnnotation } from '@dxos/echo/internal';
|
|
10
|
+
import { type Label, toLocalizedString, useTranslation } from '@dxos/react-ui';
|
|
13
11
|
import { type EditorMenuGroup, type EditorMenuItem } from '@dxos/react-ui-editor';
|
|
14
12
|
import { insertAtCursor, insertAtLineStart } from '@dxos/ui-editor';
|
|
15
13
|
|
|
@@ -18,19 +16,12 @@ import { Markdown } from '../types';
|
|
|
18
16
|
export const useLinkQuery = (db: Database.Database | undefined) => {
|
|
19
17
|
const { t } = useTranslation();
|
|
20
18
|
|
|
21
|
-
const manager = usePluginManager();
|
|
22
|
-
const resolve = useCallback(
|
|
23
|
-
(typename: string) =>
|
|
24
|
-
manager.capabilities.getAll(AppCapabilities.Metadata).find(({ id }) => id === typename)?.metadata ?? {},
|
|
25
|
-
[manager],
|
|
26
|
-
);
|
|
27
|
-
|
|
28
19
|
const filter = useMemo(
|
|
29
20
|
() =>
|
|
30
21
|
Filter.or(
|
|
31
|
-
...(db
|
|
32
|
-
.filter((schema) => getTypeAnnotation(schema)?.kind !== EntityKind.Relation)
|
|
33
|
-
.filter((schema) => !
|
|
22
|
+
...(db ? db.graph.registry.list().filter(Type.isType) : [])
|
|
23
|
+
.filter((schema) => getTypeAnnotation(Type.getSchema(schema))?.kind !== EntityKind.Relation)
|
|
24
|
+
.filter((schema) => !HiddenAnnotation.get(Type.getSchema(schema)).pipe(Option.getOrElse(() => false)))
|
|
34
25
|
.map((schema) => Filter.typename(Type.getTypename(schema))),
|
|
35
26
|
),
|
|
36
27
|
[db],
|
|
@@ -42,32 +33,26 @@ export const useLinkQuery = (db: Database.Database | undefined) => {
|
|
|
42
33
|
const name = query?.startsWith('@') ? query.slice(1).toLowerCase() : (query?.toLowerCase() ?? '');
|
|
43
34
|
const results = await db?.query(Query.select(filter)).run();
|
|
44
35
|
|
|
45
|
-
|
|
46
|
-
const getLabel = (object: any) => {
|
|
47
|
-
const label = Obj.getLabel(object);
|
|
48
|
-
if (label) {
|
|
49
|
-
return label;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
// TODO(wittjosiah): Remove metadata labels.
|
|
36
|
+
const getLabel = (object: Obj.Unknown): Label => {
|
|
53
37
|
const type = Obj.getTypename(object)!;
|
|
54
|
-
|
|
55
|
-
return metadata.label?.(object) || ['object-name.placeholder', { ns: type, defaultValue: 'New object' }];
|
|
38
|
+
return Obj.getLabel(object) ?? ['object-name.placeholder', { ns: type, defaultValue: 'New object' }];
|
|
56
39
|
};
|
|
57
40
|
|
|
58
41
|
const items =
|
|
59
42
|
results
|
|
60
43
|
?.filter((object) => toLocalizedString(getLabel(object), t).toLowerCase().includes(name))
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
const
|
|
44
|
+
.map((object: Obj.Unknown): EditorMenuItem => {
|
|
45
|
+
const type = Obj.getType(object);
|
|
46
|
+
const icon = type
|
|
47
|
+
? Option.getOrUndefined(Annotation.IconAnnotation.get(Type.getSchema(type)))?.icon
|
|
48
|
+
: undefined;
|
|
64
49
|
const label = toLocalizedString(getLabel(object), t);
|
|
65
50
|
return {
|
|
66
51
|
id: object.id,
|
|
67
52
|
label,
|
|
68
|
-
icon
|
|
53
|
+
icon,
|
|
69
54
|
onSelect: ({ view, head }) => {
|
|
70
|
-
const link = `[${label}](${Obj.
|
|
55
|
+
const link = `[${label}](${Obj.getURI(object)})`;
|
|
71
56
|
// "@@" inserts a block embed on its own line instead of an inline link.
|
|
72
57
|
if (query?.startsWith('@')) {
|
|
73
58
|
insertAtLineStart(view, head, `!${link}\n`);
|
|
@@ -81,13 +66,13 @@ export const useLinkQuery = (db: Database.Database | undefined) => {
|
|
|
81
66
|
// Add "Create new document" option at the end.
|
|
82
67
|
const createItem: EditorMenuItem = {
|
|
83
68
|
id: 'create-document',
|
|
84
|
-
label: ['add-object.label', { ns: Markdown.Document
|
|
69
|
+
label: ['add-object.label', { ns: Type.getTypename(Markdown.Document) }],
|
|
85
70
|
icon: 'ph--plus--regular',
|
|
86
71
|
onSelect: ({ view, head }) => {
|
|
87
72
|
const doc = Markdown.make({ name: name || undefined });
|
|
88
73
|
db?.add(doc);
|
|
89
|
-
const label = name || t('object-name.placeholder', { ns: Markdown.Document
|
|
90
|
-
const link = `[${label}](${Obj.
|
|
74
|
+
const label = name || t('object-name.placeholder', { ns: Type.getTypename(Markdown.Document) });
|
|
75
|
+
const link = `[${label}](${Obj.getURI(doc)})`;
|
|
91
76
|
if (query?.startsWith('@')) {
|
|
92
77
|
insertAtLineStart(view, head, `!${link}\n`);
|
|
93
78
|
} else {
|
|
@@ -101,7 +86,7 @@ export const useLinkQuery = (db: Database.Database | undefined) => {
|
|
|
101
86
|
{ id: 'create', items: [createItem] },
|
|
102
87
|
];
|
|
103
88
|
},
|
|
104
|
-
[db, filter,
|
|
89
|
+
[db, filter, t],
|
|
105
90
|
);
|
|
106
91
|
|
|
107
92
|
return handleLinkQuery;
|
package/src/index.ts
CHANGED
|
@@ -2,13 +2,8 @@
|
|
|
2
2
|
// Copyright 2023 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
export
|
|
6
|
-
|
|
5
|
+
export * from './blueprints';
|
|
7
6
|
export * from './meta';
|
|
7
|
+
export * from './operations';
|
|
8
8
|
export * from './types';
|
|
9
9
|
export * from './util';
|
|
10
|
-
|
|
11
|
-
export * from './MarkdownPlugin';
|
|
12
|
-
|
|
13
|
-
export { MarkdownEditor, MarkdownEditorProvider } from './components';
|
|
14
|
-
export type { MarkdownEditorEditorRootProps } from './components';
|
package/src/meta.ts
CHANGED
|
@@ -2,18 +2,28 @@
|
|
|
2
2
|
// Copyright 2023 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
import {
|
|
5
|
+
import { Plugin } from '@dxos/app-framework';
|
|
6
|
+
import { DXN } from '@dxos/keys';
|
|
6
7
|
import { trim } from '@dxos/util';
|
|
7
8
|
|
|
8
|
-
export const meta
|
|
9
|
-
|
|
9
|
+
export const meta = Plugin.makeMeta({
|
|
10
|
+
key: DXN.make('org.dxos.plugin.markdown'),
|
|
10
11
|
name: 'Markdown',
|
|
12
|
+
author: 'DXOS',
|
|
11
13
|
description: trim`
|
|
12
|
-
|
|
13
|
-
|
|
14
|
+
A full-featured markdown editor for authoring documents in your space. Edits flow through a collaborative CodeMirror surface backed by ECHO Text, so every keystroke replicates to other peers in real time without merge conflicts or lost work.
|
|
15
|
+
|
|
16
|
+
Documents can be opened in source, preview, or read-only mode and rendered as a full-surface article or as embeddable cards. An optional formatting toolbar exposes headings, lists, links, and other common markdown actions, and dispositional toolbar actions contributed by other plugins are surfaced inline alongside it.
|
|
17
|
+
|
|
18
|
+
The editor integrates with the rest of the workspace through @ references that link to any ECHO object, image and file uploads stored in the active space, and anchored comment threads on text ranges. Comments can optionally be routed to an AI agent on every message or only on @mention.
|
|
19
|
+
|
|
20
|
+
A built-in blueprint exposes create, open, and update operations as tools for AI agents. Updates are applied as compact find-and-replace diffs against the document, making it safe for agents to edit large documents incrementally while you continue collaborating.
|
|
14
21
|
`,
|
|
15
22
|
icon: 'ph--text-aa--regular',
|
|
16
23
|
iconHue: 'indigo',
|
|
17
24
|
source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-markdown',
|
|
18
|
-
screenshots: [
|
|
19
|
-
|
|
25
|
+
screenshots: [
|
|
26
|
+
'https://customer-5rxcjpyab08avpmn.cloudflarestream.com/cdf2656365bb1fd327c1fc2105d75e5a/iframe?poster=https%3A%2F%2Fcustomer-5rxcjpyab08avpmn.cloudflarestream.com%2Fcdf2656365bb1fd327c1fc2105d75e5a%2Fthumbnails%2Fthumbnail.jpg%3Ftime%3D%26height%3D600',
|
|
27
|
+
'https://dxos.network/plugin-details-markdown-dark.png',
|
|
28
|
+
],
|
|
29
|
+
});
|
|
@@ -4,12 +4,11 @@
|
|
|
4
4
|
|
|
5
5
|
import * as Effect from 'effect/Effect';
|
|
6
6
|
|
|
7
|
-
import { Operation } from '@dxos/
|
|
7
|
+
import { Operation } from '@dxos/compute';
|
|
8
8
|
|
|
9
|
-
import { Markdown } from '../types';
|
|
10
|
-
import { CreateMarkdown } from './definitions';
|
|
9
|
+
import { Markdown, MarkdownOperation } from '../types';
|
|
11
10
|
|
|
12
|
-
const handler: Operation.WithHandler<typeof CreateMarkdown> = CreateMarkdown.pipe(
|
|
11
|
+
const handler: Operation.WithHandler<typeof MarkdownOperation.CreateMarkdown> = MarkdownOperation.CreateMarkdown.pipe(
|
|
13
12
|
Operation.withHandler(({ name, content }) =>
|
|
14
13
|
Effect.succeed({
|
|
15
14
|
object: Markdown.make({ name, content }),
|