@dxos/plugin-markdown 0.8.4-main.7996785055 → 0.8.4-main.8baae0fced
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-LXBXN3OW.mjs +32 -0
- package/dist/lib/neutral/EditableMarkdownCard-LXBXN3OW.mjs.map +7 -0
- package/dist/lib/{node-esm/MarkdownContainer-25WFZLCC.mjs → neutral/MarkdownArticle-Z4QRU3WD.mjs} +25 -25
- package/dist/lib/neutral/MarkdownArticle-Z4QRU3WD.mjs.map +7 -0
- package/dist/lib/neutral/MarkdownCard-INMBLUL4.mjs +102 -0
- package/dist/lib/neutral/MarkdownCard-INMBLUL4.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/neutral/MarkdownSettings-YCTZJL5V.mjs +32 -0
- package/dist/lib/neutral/MarkdownSettings-YCTZJL5V.mjs.map +7 -0
- package/dist/lib/{browser/anchor-sort-PSCEA6EJ.mjs → neutral/anchor-sort-L4VCKDO6.mjs} +5 -7
- package/dist/lib/neutral/anchor-sort-L4VCKDO6.mjs.map +7 -0
- package/dist/lib/{browser/app-graph-serializer-DAVFEX7R.mjs → neutral/app-graph-serializer-YI72EEVM.mjs} +11 -19
- package/dist/lib/neutral/app-graph-serializer-YI72EEVM.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/{browser → neutral}/blueprints/index.mjs +2 -4
- 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-5JWFZVBC.mjs +8 -0
- package/dist/lib/neutral/chunk-5JWFZVBC.mjs.map +7 -0
- package/dist/lib/{browser/chunk-RYZHVXZ5.mjs → neutral/chunk-ISCL3BB2.mjs} +3 -8
- package/dist/lib/neutral/chunk-ISCL3BB2.mjs.map +7 -0
- package/dist/lib/neutral/chunk-J5LGTIGS.mjs +10 -0
- package/dist/lib/neutral/chunk-KDN4GKG2.mjs +98 -0
- package/dist/lib/neutral/chunk-KDN4GKG2.mjs.map +7 -0
- package/dist/lib/{browser/chunk-ZN75YHSV.mjs → neutral/chunk-LXNSKCPD.mjs} +8 -14
- package/dist/lib/neutral/chunk-LXNSKCPD.mjs.map +7 -0
- package/dist/lib/neutral/chunk-SOLAMEK3.mjs +276 -0
- package/dist/lib/neutral/chunk-SOLAMEK3.mjs.map +7 -0
- package/dist/lib/neutral/comment-config-7VTHRUIZ.mjs +30 -0
- package/dist/lib/neutral/comment-config-7VTHRUIZ.mjs.map +7 -0
- package/dist/lib/neutral/components/index.mjs +370 -0
- 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-QD27F6E7.mjs → neutral/create-3PGJ2NEK.mjs} +6 -8
- package/dist/lib/neutral/create-3PGJ2NEK.mjs.map +7 -0
- package/dist/lib/neutral/create-markdown-5LS46GMH.mjs +20 -0
- package/dist/lib/neutral/create-markdown-5LS46GMH.mjs.map +7 -0
- package/dist/lib/neutral/create-object-ZA6VXLJJ.mjs +27 -0
- package/dist/lib/neutral/create-object-ZA6VXLJJ.mjs.map +7 -0
- package/dist/lib/neutral/hooks/index.mjs +321 -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-YDABYPCA.mjs → neutral/open-WCYGBLAG.mjs} +6 -7
- package/dist/lib/neutral/open-WCYGBLAG.mjs.map +7 -0
- package/dist/lib/{browser/operation-handler-W3QXMMMQ.mjs → neutral/operation-handler-2ARMPBGZ.mjs} +4 -8
- package/dist/lib/neutral/operation-handler-2ARMPBGZ.mjs.map +7 -0
- package/dist/lib/neutral/operations/index.mjs +8 -0
- package/dist/lib/neutral/plugin.mjs +16 -0
- package/dist/lib/neutral/plugin.mjs.map +7 -0
- package/dist/lib/{browser/react-surface-N7FV3PXH.mjs → neutral/react-surface-SG4YNXBS.mjs} +33 -34
- package/dist/lib/neutral/react-surface-SG4YNXBS.mjs.map +7 -0
- package/dist/lib/{browser/scroll-to-anchor-3CGV3XI7.mjs → neutral/scroll-to-anchor-6FIOKVKT.mjs} +8 -10
- package/dist/lib/neutral/scroll-to-anchor-6FIOKVKT.mjs.map +7 -0
- package/dist/lib/neutral/set-view-mode-37RSPFEN.mjs +24 -0
- package/dist/lib/neutral/set-view-mode-37RSPFEN.mjs.map +7 -0
- package/dist/lib/{browser/settings-3UMXG4TP.mjs → neutral/settings-TDGDLCUR.mjs} +7 -11
- package/dist/lib/neutral/settings-TDGDLCUR.mjs.map +7 -0
- package/dist/lib/{browser/state-IYKJ6EV3.mjs → neutral/state-5COCF5PN.mjs} +6 -10
- package/dist/lib/neutral/state-5COCF5PN.mjs.map +7 -0
- package/dist/lib/neutral/testing.mjs +19 -0
- package/dist/lib/neutral/testing.mjs.map +7 -0
- package/dist/lib/neutral/translations.mjs +43 -0
- package/dist/lib/neutral/translations.mjs.map +7 -0
- package/dist/lib/neutral/types/index.mjs +16 -0
- package/dist/lib/{browser/update-WKAMI4AD.mjs → neutral/update-markdown-5EDRD3SH.mjs} +9 -10
- package/dist/lib/neutral/update-markdown-5EDRD3SH.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 -0
- package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +1 -0
- package/dist/types/src/capabilities/artifact-definition.d.ts.map +1 -0
- package/dist/types/src/capabilities/blueprint-definition.d.ts +6 -0
- package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -0
- 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 +22 -7
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/node.d.ts +10 -0
- package/dist/types/src/capabilities/node.d.ts.map +1 -0
- package/dist/types/src/capabilities/{operation-handler/operation-handler.d.ts → operation-handler.d.ts} +1 -1
- package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -0
- package/dist/types/src/capabilities/{settings/settings.d.ts → settings.d.ts} +1 -2
- package/dist/types/src/capabilities/settings.d.ts.map +1 -0
- package/dist/types/src/capabilities/state.d.ts +6 -0
- package/dist/types/src/capabilities/state.d.ts.map +1 -0
- package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts +29 -23
- package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts.map +1 -1
- package/dist/types/src/components/MarkdownEditor/MarkdownEditor.stories.d.ts +2 -2
- 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 +2 -6
- package/dist/types/src/components/MarkdownEditor/MarkdownEditorToolbar.d.ts.map +1 -1
- package/dist/types/src/components/MarkdownSettings/MarkdownSettings.d.ts +6 -0
- package/dist/types/src/components/MarkdownSettings/MarkdownSettings.d.ts.map +1 -0
- package/dist/types/src/components/MarkdownSettings/MarkdownSettings.stories.d.ts +94 -0
- package/dist/types/src/components/MarkdownSettings/MarkdownSettings.stories.d.ts.map +1 -0
- package/dist/types/src/components/MarkdownSettings/index.d.ts +2 -0
- package/dist/types/src/components/MarkdownSettings/index.d.ts.map +1 -0
- package/dist/types/src/components/index.d.ts +2 -0
- package/dist/types/src/components/index.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/index.d.ts +3 -0
- package/dist/types/src/containers/EditableMarkdownCard/index.d.ts.map +1 -0
- package/dist/types/src/containers/MarkdownArticle/MarkdownArticle.d.ts +36 -0
- 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 +1 -1
- 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/index.d.ts +1 -2
- package/dist/types/src/containers/MarkdownCard/index.d.ts.map +1 -1
- package/dist/types/src/containers/MarkdownCard/snippet.d.ts +7 -5
- package/dist/types/src/containers/MarkdownCard/snippet.d.ts.map +1 -1
- package/dist/types/src/containers/index.d.ts +3 -3
- 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 +4 -2
- 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 -3
- package/dist/types/src/index.d.ts.map +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 -63
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/Markdown.d.ts +15 -15
- 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} +6 -3
- package/dist/types/src/types/MarkdownOperation.d.ts.map +1 -0
- package/dist/types/src/types/Settings.d.ts +17 -0
- package/dist/types/src/types/Settings.d.ts.map +1 -0
- package/dist/types/src/types/index.d.ts +5 -3
- 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 +2 -2
- package/dist/types/src/util.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +123 -90
- package/src/MarkdownPlugin.node.ts +20 -0
- package/src/MarkdownPlugin.test.ts +26 -0
- package/src/MarkdownPlugin.tsx +12 -55
- package/src/MarkdownPlugin.workerd.ts +19 -0
- package/src/blueprints/markdown-blueprint.ts +8 -9
- package/src/capabilities/{anchor-sort/anchor-sort.ts → anchor-sort.ts} +1 -1
- package/src/capabilities/{app-graph-serializer/app-graph-serializer.ts → app-graph-serializer.ts} +6 -7
- package/src/capabilities/{artifact-definition/artifact-definition.ts → artifact-definition.ts} +5 -6
- package/src/capabilities/{blueprint-definition/blueprint-definition.ts → blueprint-definition.ts} +3 -1
- package/src/capabilities/comment-config.ts +32 -0
- package/src/capabilities/create-object.ts +30 -0
- package/src/capabilities/index.ts +16 -7
- package/src/capabilities/{operation-handler/index.ts → node.ts} +3 -1
- package/src/capabilities/{operation-handler/operation-handler.ts → operation-handler.ts} +2 -2
- package/src/capabilities/react-surface.tsx +127 -0
- package/src/capabilities/{settings/settings.ts → settings.ts} +2 -2
- package/src/capabilities/{state/state.ts → state.ts} +5 -5
- package/src/components/MarkdownEditor/MarkdownEditor.stories.tsx +24 -19
- package/src/components/MarkdownEditor/MarkdownEditor.tsx +100 -87
- package/src/components/MarkdownEditor/MarkdownEditorContent.tsx +10 -14
- package/src/components/MarkdownEditor/MarkdownEditorToolbar.tsx +6 -17
- package/src/components/MarkdownSettings/MarkdownSettings.stories.tsx +40 -0
- package/src/components/MarkdownSettings/MarkdownSettings.tsx +35 -0
- package/src/components/MarkdownSettings/index.ts +5 -0
- package/src/components/index.ts +4 -0
- package/src/containers/EditableMarkdownCard/EditableMarkdownCard.tsx +42 -0
- package/src/containers/EditableMarkdownCard/index.ts +6 -0
- package/src/containers/{MarkdownContainer/MarkdownContainer.stories.tsx → MarkdownArticle/MarkdownArticle.stories.tsx} +15 -13
- package/src/containers/{MarkdownContainer/MarkdownContainer.tsx → MarkdownArticle/MarkdownArticle.tsx} +38 -26
- package/src/containers/MarkdownArticle/index.ts +6 -0
- package/src/containers/MarkdownCard/MarkdownCard.stories.tsx +10 -10
- package/src/containers/MarkdownCard/MarkdownCard.tsx +25 -15
- package/src/containers/MarkdownCard/index.ts +1 -3
- package/src/containers/MarkdownCard/snippet.ts +27 -48
- package/src/containers/index.ts +3 -3
- package/src/hooks/useEditorMenuOptions.ts +2 -2
- package/src/hooks/useExtensions.tsx +14 -13
- package/src/hooks/useLinkQuery.ts +33 -27
- package/src/index.ts +2 -6
- package/src/meta.ts +5 -1
- package/src/operations/create-markdown.ts +3 -5
- package/src/operations/create.conversations.json +1 -1
- package/src/operations/create.test.ts +25 -22
- package/src/operations/create.ts +3 -4
- package/src/operations/index.ts +2 -4
- package/src/operations/open.ts +3 -3
- package/src/operations/scroll-to-anchor.ts +3 -5
- package/src/operations/set-view-mode.ts +3 -5
- package/src/operations/{update.ts → update-markdown.ts} +3 -3
- package/src/operations/update.conversations.json +1 -1
- package/src/operations/update.test.ts +45 -48
- package/src/plugin.ts +11 -0
- package/src/testing.ts +8 -3
- package/src/translations.ts +25 -38
- package/src/types/Markdown.ts +11 -21
- package/src/types/MarkdownCapabilities.ts +51 -0
- package/src/types/MarkdownEvents.ts +14 -0
- package/src/{operations/definitions.ts → types/MarkdownOperation.ts} +6 -3
- package/src/types/Settings.ts +65 -0
- package/src/types/index.ts +6 -4
- package/src/types/types.ts +4 -1
- package/src/util.tsx +4 -4
- package/dist/lib/browser/MarkdownCard-ZHQBD4AV.mjs +0 -122
- package/dist/lib/browser/MarkdownCard-ZHQBD4AV.mjs.map +0 -7
- package/dist/lib/browser/MarkdownContainer-XEUOYBPA.mjs +0 -125
- package/dist/lib/browser/MarkdownContainer-XEUOYBPA.mjs.map +0 -7
- package/dist/lib/browser/MarkdownSettings-OD7AJSSJ.mjs +0 -106
- package/dist/lib/browser/MarkdownSettings-OD7AJSSJ.mjs.map +0 -7
- package/dist/lib/browser/anchor-sort-PSCEA6EJ.mjs.map +0 -7
- package/dist/lib/browser/app-graph-serializer-DAVFEX7R.mjs.map +0 -7
- package/dist/lib/browser/blueprint-definition-LHVNOMJT.mjs +0 -19
- package/dist/lib/browser/blueprint-definition-LHVNOMJT.mjs.map +0 -7
- package/dist/lib/browser/chunk-5VT6IW5B.mjs +0 -84
- package/dist/lib/browser/chunk-5VT6IW5B.mjs.map +0 -7
- package/dist/lib/browser/chunk-CJSWKCKU.mjs +0 -60
- package/dist/lib/browser/chunk-CJSWKCKU.mjs.map +0 -7
- package/dist/lib/browser/chunk-G6BRWY3G.mjs +0 -158
- package/dist/lib/browser/chunk-G6BRWY3G.mjs.map +0 -7
- package/dist/lib/browser/chunk-M2XFCKXA.mjs +0 -8
- package/dist/lib/browser/chunk-M2XFCKXA.mjs.map +0 -7
- package/dist/lib/browser/chunk-RYZHVXZ5.mjs.map +0 -7
- package/dist/lib/browser/chunk-XWYF5LFE.mjs +0 -8
- package/dist/lib/browser/chunk-XWYF5LFE.mjs.map +0 -7
- package/dist/lib/browser/chunk-YALLVET2.mjs +0 -757
- package/dist/lib/browser/chunk-YALLVET2.mjs.map +0 -7
- package/dist/lib/browser/chunk-ZN75YHSV.mjs.map +0 -7
- package/dist/lib/browser/cli/index.mjs +0 -44
- package/dist/lib/browser/cli/index.mjs.map +0 -7
- package/dist/lib/browser/create-QD27F6E7.mjs.map +0 -7
- package/dist/lib/browser/create-markdown-LEAJPLHT.mjs +0 -22
- package/dist/lib/browser/create-markdown-LEAJPLHT.mjs.map +0 -7
- package/dist/lib/browser/index.mjs +0 -164
- package/dist/lib/browser/index.mjs.map +0 -7
- package/dist/lib/browser/meta.json +0 -1
- package/dist/lib/browser/open-YDABYPCA.mjs.map +0 -7
- package/dist/lib/browser/operation-handler-W3QXMMMQ.mjs.map +0 -7
- package/dist/lib/browser/operations/index.mjs +0 -13
- package/dist/lib/browser/react-surface-N7FV3PXH.mjs.map +0 -7
- package/dist/lib/browser/scroll-to-anchor-3CGV3XI7.mjs.map +0 -7
- package/dist/lib/browser/set-view-mode-XLD3RXW4.mjs +0 -26
- package/dist/lib/browser/set-view-mode-XLD3RXW4.mjs.map +0 -7
- package/dist/lib/browser/settings-3UMXG4TP.mjs.map +0 -7
- package/dist/lib/browser/state-IYKJ6EV3.mjs.map +0 -7
- package/dist/lib/browser/types/index.mjs +0 -14
- package/dist/lib/browser/update-WKAMI4AD.mjs.map +0 -7
- package/dist/lib/node-esm/MarkdownCard-VB3NHVX4.mjs +0 -123
- package/dist/lib/node-esm/MarkdownCard-VB3NHVX4.mjs.map +0 -7
- package/dist/lib/node-esm/MarkdownContainer-25WFZLCC.mjs.map +0 -7
- package/dist/lib/node-esm/MarkdownSettings-U7GJ4OP3.mjs +0 -107
- package/dist/lib/node-esm/MarkdownSettings-U7GJ4OP3.mjs.map +0 -7
- package/dist/lib/node-esm/anchor-sort-6GD4SGQL.mjs +0 -35
- package/dist/lib/node-esm/anchor-sort-6GD4SGQL.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-serializer-JURUUUBI.mjs +0 -64
- package/dist/lib/node-esm/app-graph-serializer-JURUUUBI.mjs.map +0 -7
- package/dist/lib/node-esm/blueprint-definition-3LUZEJ4Z.mjs +0 -20
- package/dist/lib/node-esm/blueprint-definition-3LUZEJ4Z.mjs.map +0 -7
- package/dist/lib/node-esm/blueprints/index.mjs +0 -11
- package/dist/lib/node-esm/chunk-6LHNAAMP.mjs +0 -159
- package/dist/lib/node-esm/chunk-6LHNAAMP.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-CRUJMQR2.mjs +0 -758
- package/dist/lib/node-esm/chunk-CRUJMQR2.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-CW4FZNMZ.mjs +0 -29
- package/dist/lib/node-esm/chunk-CW4FZNMZ.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-EPNCYA73.mjs +0 -85
- package/dist/lib/node-esm/chunk-EPNCYA73.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-FC3GPLJG.mjs +0 -61
- package/dist/lib/node-esm/chunk-FC3GPLJG.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-G6W4DJBM.mjs +0 -51
- package/dist/lib/node-esm/chunk-G6W4DJBM.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-JLOCBILO.mjs +0 -10
- package/dist/lib/node-esm/chunk-JLOCBILO.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-YWQQYV76.mjs +0 -10
- package/dist/lib/node-esm/chunk-YWQQYV76.mjs.map +0 -7
- package/dist/lib/node-esm/cli/index.mjs +0 -45
- package/dist/lib/node-esm/cli/index.mjs.map +0 -7
- package/dist/lib/node-esm/create-X7H4LYI5.mjs +0 -31
- package/dist/lib/node-esm/create-X7H4LYI5.mjs.map +0 -7
- package/dist/lib/node-esm/create-markdown-7POKQDVQ.mjs +0 -23
- package/dist/lib/node-esm/create-markdown-7POKQDVQ.mjs.map +0 -7
- package/dist/lib/node-esm/index.mjs +0 -165
- 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-FZVFWXC7.mjs +0 -22
- package/dist/lib/node-esm/open-FZVFWXC7.mjs.map +0 -7
- package/dist/lib/node-esm/operation-handler-TP26H7QE.mjs +0 -18
- package/dist/lib/node-esm/operation-handler-TP26H7QE.mjs.map +0 -7
- package/dist/lib/node-esm/operations/index.mjs +0 -14
- package/dist/lib/node-esm/react-surface-XSKLSF6A.mjs +0 -121
- package/dist/lib/node-esm/react-surface-XSKLSF6A.mjs.map +0 -7
- package/dist/lib/node-esm/scroll-to-anchor-KWBJLM5Q.mjs +0 -50
- package/dist/lib/node-esm/scroll-to-anchor-KWBJLM5Q.mjs.map +0 -7
- package/dist/lib/node-esm/set-view-mode-FFEKYLU3.mjs +0 -27
- package/dist/lib/node-esm/set-view-mode-FFEKYLU3.mjs.map +0 -7
- package/dist/lib/node-esm/settings-UAN22O42.mjs +0 -39
- package/dist/lib/node-esm/settings-UAN22O42.mjs.map +0 -7
- package/dist/lib/node-esm/state-62IBFPTK.mjs +0 -49
- package/dist/lib/node-esm/state-62IBFPTK.mjs.map +0 -7
- package/dist/lib/node-esm/types/index.mjs +0 -15
- package/dist/lib/node-esm/update-WPEFBY4M.mjs +0 -46
- package/dist/lib/node-esm/update-WPEFBY4M.mjs.map +0 -7
- package/dist/types/src/capabilities/anchor-sort/anchor-sort.d.ts.map +0 -1
- package/dist/types/src/capabilities/anchor-sort/index.d.ts +0 -3
- package/dist/types/src/capabilities/anchor-sort/index.d.ts.map +0 -1
- package/dist/types/src/capabilities/app-graph-serializer/app-graph-serializer.d.ts.map +0 -1
- package/dist/types/src/capabilities/app-graph-serializer/index.d.ts +0 -3
- package/dist/types/src/capabilities/app-graph-serializer/index.d.ts.map +0 -1
- package/dist/types/src/capabilities/artifact-definition/artifact-definition.d.ts.map +0 -1
- package/dist/types/src/capabilities/artifact-definition/index.d.ts +0 -3
- package/dist/types/src/capabilities/artifact-definition/index.d.ts.map +0 -1
- package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts +0 -6
- package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts.map +0 -1
- package/dist/types/src/capabilities/blueprint-definition/index.d.ts +0 -3
- package/dist/types/src/capabilities/blueprint-definition/index.d.ts.map +0 -1
- package/dist/types/src/capabilities/operation-handler/index.d.ts +0 -4
- package/dist/types/src/capabilities/operation-handler/index.d.ts.map +0 -1
- package/dist/types/src/capabilities/operation-handler/operation-handler.d.ts.map +0 -1
- package/dist/types/src/capabilities/react-surface/index.d.ts +0 -3
- package/dist/types/src/capabilities/react-surface/index.d.ts.map +0 -1
- package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +0 -1
- package/dist/types/src/capabilities/settings/index.d.ts +0 -3
- package/dist/types/src/capabilities/settings/index.d.ts.map +0 -1
- package/dist/types/src/capabilities/settings/settings.d.ts.map +0 -1
- package/dist/types/src/capabilities/state/index.d.ts +0 -3
- package/dist/types/src/capabilities/state/index.d.ts.map +0 -1
- package/dist/types/src/capabilities/state/state.d.ts +0 -6
- package/dist/types/src/capabilities/state/state.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 +0 -30
- package/dist/types/src/containers/MarkdownContainer/MarkdownContainer.d.ts.map +0 -1
- package/dist/types/src/containers/MarkdownContainer/MarkdownContainer.stories.d.ts +0 -89
- 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/containers/MarkdownSettings/MarkdownSettings.d.ts +0 -8
- package/dist/types/src/containers/MarkdownSettings/MarkdownSettings.d.ts.map +0 -1
- package/dist/types/src/containers/MarkdownSettings/index.d.ts +0 -3
- package/dist/types/src/containers/MarkdownSettings/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 -34
- 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/anchor-sort/index.ts +0 -7
- package/src/capabilities/app-graph-serializer/index.ts +0 -7
- package/src/capabilities/artifact-definition/index.ts +0 -7
- package/src/capabilities/blueprint-definition/index.ts +0 -7
- package/src/capabilities/react-surface/index.ts +0 -7
- package/src/capabilities/react-surface/react-surface.tsx +0 -120
- package/src/capabilities/settings/index.ts +0 -7
- package/src/capabilities/state/index.ts +0 -7
- package/src/cli/index.ts +0 -5
- package/src/cli/plugin.ts +0 -40
- package/src/containers/MarkdownContainer/index.ts +0 -6
- package/src/containers/MarkdownSettings/MarkdownSettings.tsx +0 -122
- package/src/containers/MarkdownSettings/index.ts +0 -7
- package/src/types/capabilities.ts +0 -50
- package/src/types/events.ts +0 -14
- /package/dist/lib/{browser → neutral}/blueprints/index.mjs.map +0 -0
- /package/dist/lib/{browser/operations/index.mjs.map → neutral/chunk-J5LGTIGS.mjs.map} +0 -0
- /package/dist/lib/{browser/types → neutral}/index.mjs.map +0 -0
- /package/dist/lib/{node-esm/blueprints/index.mjs.map → neutral/meta.mjs.map} +0 -0
- /package/dist/lib/{node-esm → neutral}/operations/index.mjs.map +0 -0
- /package/dist/lib/{node-esm → neutral}/types/index.mjs.map +0 -0
- /package/dist/types/src/capabilities/{anchor-sort/anchor-sort.d.ts → anchor-sort.d.ts} +0 -0
- /package/dist/types/src/capabilities/{app-graph-serializer/app-graph-serializer.d.ts → app-graph-serializer.d.ts} +0 -0
- /package/dist/types/src/capabilities/{artifact-definition/artifact-definition.d.ts → artifact-definition.d.ts} +0 -0
- /package/dist/types/src/capabilities/{react-surface/react-surface.d.ts → react-surface.d.ts} +0 -0
package/LICENSE
CHANGED
|
@@ -1,8 +1,105 @@
|
|
|
1
|
-
|
|
2
|
-
Copyright (c) 2022 DXOS
|
|
1
|
+
# Functional Source License, Version 1.1, ALv2 Future License
|
|
3
2
|
|
|
4
|
-
|
|
3
|
+
## Abbreviation
|
|
5
4
|
|
|
6
|
-
|
|
5
|
+
FSL-1.1-Apache-2.0
|
|
7
6
|
|
|
8
|
-
|
|
7
|
+
## Notice
|
|
8
|
+
|
|
9
|
+
Copyright 2026 DXOS
|
|
10
|
+
|
|
11
|
+
## Terms and Conditions
|
|
12
|
+
|
|
13
|
+
### Licensor ("We")
|
|
14
|
+
|
|
15
|
+
The party offering the Software under these Terms and Conditions.
|
|
16
|
+
|
|
17
|
+
### The Software
|
|
18
|
+
|
|
19
|
+
The "Software" is each version of the software that we make available under
|
|
20
|
+
these Terms and Conditions, as indicated by our inclusion of these Terms and
|
|
21
|
+
Conditions with the Software.
|
|
22
|
+
|
|
23
|
+
### License Grant
|
|
24
|
+
|
|
25
|
+
Subject to your compliance with this License Grant and the Patents,
|
|
26
|
+
Redistribution and Trademark clauses below, we hereby grant you the right to
|
|
27
|
+
use, copy, modify, create derivative works, publicly perform, publicly display
|
|
28
|
+
and redistribute the Software for any Permitted Purpose identified below.
|
|
29
|
+
|
|
30
|
+
### Permitted Purpose
|
|
31
|
+
|
|
32
|
+
A Permitted Purpose is any purpose other than a Competing Use. A Competing Use
|
|
33
|
+
means making the Software available to others in a commercial product or
|
|
34
|
+
service that:
|
|
35
|
+
|
|
36
|
+
1. substitutes for the Software;
|
|
37
|
+
|
|
38
|
+
2. substitutes for any other product or service we offer using the Software
|
|
39
|
+
that exists as of the date we make the Software available; or
|
|
40
|
+
|
|
41
|
+
3. offers the same or substantially similar functionality as the Software.
|
|
42
|
+
|
|
43
|
+
Permitted Purposes specifically include using the Software:
|
|
44
|
+
|
|
45
|
+
1. for your internal use and access;
|
|
46
|
+
|
|
47
|
+
2. for non-commercial education;
|
|
48
|
+
|
|
49
|
+
3. for non-commercial research; and
|
|
50
|
+
|
|
51
|
+
4. in connection with professional services that you provide to a licensee
|
|
52
|
+
using the Software in accordance with these Terms and Conditions.
|
|
53
|
+
|
|
54
|
+
### Patents
|
|
55
|
+
|
|
56
|
+
To the extent your use for a Permitted Purpose would necessarily infringe our
|
|
57
|
+
patents, the license grant above includes a license under our patents. If you
|
|
58
|
+
make a claim against any party that the Software infringes or contributes to
|
|
59
|
+
the infringement of any patent, then your patent license to the Software ends
|
|
60
|
+
immediately.
|
|
61
|
+
|
|
62
|
+
### Redistribution
|
|
63
|
+
|
|
64
|
+
The Terms and Conditions apply to all copies, modifications and derivatives of
|
|
65
|
+
the Software.
|
|
66
|
+
|
|
67
|
+
If you redistribute any copies, modifications or derivatives of the Software,
|
|
68
|
+
you must include a copy of or a link to these Terms and Conditions and not
|
|
69
|
+
remove any copyright notices provided in or with the Software.
|
|
70
|
+
|
|
71
|
+
### Disclaimer
|
|
72
|
+
|
|
73
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND WITHOUT WARRANTIES OF ANY KIND, EXPRESS OR
|
|
74
|
+
IMPLIED, INCLUDING WITHOUT LIMITATION WARRANTIES OF FITNESS FOR A PARTICULAR
|
|
75
|
+
PURPOSE, MERCHANTABILITY, TITLE OR NON-INFRINGEMENT.
|
|
76
|
+
|
|
77
|
+
IN NO EVENT WILL WE HAVE ANY LIABILITY TO YOU ARISING OUT OF OR RELATED TO THE
|
|
78
|
+
SOFTWARE, INCLUDING INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES,
|
|
79
|
+
EVEN IF WE HAVE BEEN INFORMED OF THEIR POSSIBILITY IN ADVANCE.
|
|
80
|
+
|
|
81
|
+
### Trademarks
|
|
82
|
+
|
|
83
|
+
Except for displaying the License Details and identifying us as the origin of
|
|
84
|
+
the Software, you have no right under these Terms and Conditions to use our
|
|
85
|
+
trademarks, trade names, service marks or product names.
|
|
86
|
+
|
|
87
|
+
## Grant of Future License
|
|
88
|
+
|
|
89
|
+
We hereby irrevocably grant you an additional license to use the Software under
|
|
90
|
+
the Apache License, Version 2.0 that is effective on the second anniversary of
|
|
91
|
+
the date we make the Software available. On or after that date, you may use the
|
|
92
|
+
Software under the Apache License, Version 2.0, in which case the following
|
|
93
|
+
will apply:
|
|
94
|
+
|
|
95
|
+
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
|
|
96
|
+
this file except in compliance with the License.
|
|
97
|
+
|
|
98
|
+
You may obtain a copy of the License at
|
|
99
|
+
|
|
100
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
101
|
+
|
|
102
|
+
Unless required by applicable law or agreed to in writing, software distributed
|
|
103
|
+
under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
|
|
104
|
+
CONDITIONS OF ANY KIND, either express or implied. See the License for the
|
|
105
|
+
specific language governing permissions and limitations under the License.
|
package/README.md
CHANGED
|
@@ -12,4 +12,4 @@ Surface plugin for Stack entities.
|
|
|
12
12
|
|
|
13
13
|
Your ideas, issues, and code are most welcome. Please take a look at our [community code of conduct](https://github.com/dxos/dxos/blob/main/CODE_OF_CONDUCT.md), the [issue guide](https://github.com/dxos/dxos/blob/main/CONTRIBUTING.md#submitting-issues), and the [PR contribution guide](https://github.com/dxos/dxos/blob/main/CONTRIBUTING.md#submitting-prs).
|
|
14
14
|
|
|
15
|
-
License: [
|
|
15
|
+
License: [FSL-1.1-Apache-2.0](./LICENSE) Copyright 2023 © DXOS
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
2
|
+
|
|
3
|
+
// src/containers/EditableMarkdownCard/EditableMarkdownCard.tsx
|
|
4
|
+
import React from "react";
|
|
5
|
+
import { Obj } from "@dxos/echo";
|
|
6
|
+
import { useObject } from "@dxos/react-client/echo";
|
|
7
|
+
import { Card } from "@dxos/react-ui";
|
|
8
|
+
import { Editor } from "@dxos/react-ui-editor";
|
|
9
|
+
import { Text } from "@dxos/schema";
|
|
10
|
+
import { MarkdownEditor, MarkdownEditorProvider } from "#components";
|
|
11
|
+
import { Markdown } from "#types";
|
|
12
|
+
var EditableMarkdownCard = ({ subject }) => {
|
|
13
|
+
const id = Obj.getDXN(subject).toString();
|
|
14
|
+
const [docContent] = useObject(Obj.instanceOf(Markdown.Document, subject) ? subject.content : void 0, "content");
|
|
15
|
+
const [textContent] = useObject(Obj.instanceOf(Text.Text, subject) ? subject : void 0, "content");
|
|
16
|
+
const initialValue = docContent ?? textContent;
|
|
17
|
+
return /* @__PURE__ */ React.createElement(Card.Section, {
|
|
18
|
+
classNames: "overflow-hidden"
|
|
19
|
+
}, /* @__PURE__ */ React.createElement(MarkdownEditorProvider, {
|
|
20
|
+
id,
|
|
21
|
+
object: subject,
|
|
22
|
+
viewMode: "source"
|
|
23
|
+
}, (editorRootProps) => /* @__PURE__ */ React.createElement(Editor.Root, editorRootProps, /* @__PURE__ */ React.createElement(MarkdownEditor.Content, {
|
|
24
|
+
compact: true,
|
|
25
|
+
initialValue
|
|
26
|
+
}))));
|
|
27
|
+
};
|
|
28
|
+
export {
|
|
29
|
+
EditableMarkdownCard,
|
|
30
|
+
EditableMarkdownCard as default
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=EditableMarkdownCard-LXBXN3OW.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/containers/EditableMarkdownCard/EditableMarkdownCard.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2026 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Obj } from '@dxos/echo';\nimport { useObject } from '@dxos/react-client/echo';\nimport { Card } from '@dxos/react-ui';\nimport { Editor } from '@dxos/react-ui-editor';\nimport { Text } from '@dxos/schema';\n\nimport { MarkdownEditor, MarkdownEditorProvider } from '#components';\nimport { Markdown } from '#types';\n\nexport type EditableMarkdownCardProps = { subject: Markdown.Document | Text.Text };\n\n/**\n * Full-bleed editable variant of {@link MarkdownCard}. Activated by the host\n * passing `editable: true` on the card surface data (e.g. plugin-board cells).\n * Renders a plain editor (no app-graph toolbar / file upload / link queries)\n * so it stays self-contained inside the card; the regular MarkdownArticle\n * remains the canonical surface for full article views.\n */\nexport const EditableMarkdownCard = ({ subject }: EditableMarkdownCardProps) => {\n const id = Obj.getDXN(subject).toString();\n const [docContent] = useObject(Obj.instanceOf(Markdown.Document, subject) ? subject.content : undefined, 'content');\n const [textContent] = useObject(Obj.instanceOf(Text.Text, subject) ? subject : undefined, 'content');\n const initialValue = docContent ?? textContent;\n\n return (\n <Card.Section classNames='overflow-hidden'>\n <MarkdownEditorProvider id={id} object={subject} viewMode='source'>\n {(editorRootProps) => (\n <Editor.Root {...editorRootProps}>\n <MarkdownEditor.Content compact initialValue={initialValue} />\n </Editor.Root>\n )}\n </MarkdownEditorProvider>\n </Card.Section>\n );\n};\n"],
|
|
5
|
+
"mappings": ";;;AAIA,OAAOA,WAAW;AAElB,SAASC,WAAW;AACpB,SAASC,iBAAiB;AAC1B,SAASC,YAAY;AACrB,SAASC,cAAc;AACvB,SAASC,YAAY;AAErB,SAASC,gBAAgBC,8BAA8B;AACvD,SAASC,gBAAgB;AAWlB,IAAMC,uBAAuB,CAAC,EAAEC,QAAO,MAA6B;AACzE,QAAMC,KAAKV,IAAIW,OAAOF,OAAAA,EAASG,SAAQ;AACvC,QAAM,CAACC,UAAAA,IAAcZ,UAAUD,IAAIc,WAAWP,SAASQ,UAAUN,OAAAA,IAAWA,QAAQO,UAAUC,QAAW,SAAA;AACzG,QAAM,CAACC,WAAAA,IAAejB,UAAUD,IAAIc,WAAWV,KAAKA,MAAMK,OAAAA,IAAWA,UAAUQ,QAAW,SAAA;AAC1F,QAAME,eAAeN,cAAcK;AAEnC,SACE,sBAAA,cAAChB,KAAKkB,SAAO;IAACC,YAAW;KACvB,sBAAA,cAACf,wBAAAA;IAAuBI;IAAQY,QAAQb;IAASc,UAAS;KACvD,CAACC,oBACA,sBAAA,cAACrB,OAAOsB,MAASD,iBACf,sBAAA,cAACnB,eAAeqB,SAAO;IAACC,SAAAA;IAAQR;;AAM5C;",
|
|
6
|
+
"names": ["React", "Obj", "useObject", "Card", "Editor", "Text", "MarkdownEditor", "MarkdownEditorProvider", "Markdown", "EditableMarkdownCard", "subject", "id", "getDXN", "toString", "docContent", "instanceOf", "Document", "content", "undefined", "textContent", "initialValue", "Section", "classNames", "object", "viewMode", "editorRootProps", "Root", "Content", "compact"]
|
|
7
|
+
}
|
package/dist/lib/{node-esm/MarkdownContainer-25WFZLCC.mjs → neutral/MarkdownArticle-Z4QRU3WD.mjs}
RENAMED
|
@@ -1,15 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
MarkdownEditor,
|
|
4
|
-
useLinkQuery
|
|
5
|
-
} from "./chunk-CRUJMQR2.mjs";
|
|
6
|
-
import {
|
|
7
|
-
MarkdownCapabilities,
|
|
8
|
-
Markdown_exports
|
|
9
|
-
} from "./chunk-EPNCYA73.mjs";
|
|
10
|
-
import "./chunk-CW4FZNMZ.mjs";
|
|
1
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
11
2
|
|
|
12
|
-
// src/containers/
|
|
3
|
+
// src/containers/MarkdownArticle/MarkdownArticle.tsx
|
|
13
4
|
import { Atom } from "@effect-atom/atom-react";
|
|
14
5
|
import React, { forwardRef, useCallback, useMemo } from "react";
|
|
15
6
|
import { useCapabilities, useOperationInvoker } from "@dxos/app-framework/ui";
|
|
@@ -19,23 +10,29 @@ import { Obj } from "@dxos/echo";
|
|
|
19
10
|
import { useActionRunner } from "@dxos/plugin-graph";
|
|
20
11
|
import { useObject } from "@dxos/react-client/echo";
|
|
21
12
|
import { Panel } from "@dxos/react-ui";
|
|
13
|
+
import { Editor } from "@dxos/react-ui-editor";
|
|
22
14
|
import { Text } from "@dxos/schema";
|
|
23
|
-
|
|
15
|
+
import { MarkdownEditor, MarkdownEditorProvider } from "#components";
|
|
16
|
+
import { useLinkQuery } from "#hooks";
|
|
17
|
+
import { Markdown, MarkdownCapabilities } from "#types";
|
|
18
|
+
var MarkdownArticle = /* @__PURE__ */ forwardRef(({ role, subject: object, id, attendableId, settings, extensionProviders, onSelectObject, viewMode, ...props }, forwardedRef) => {
|
|
24
19
|
const db = Obj.isObject(object) ? Obj.getDatabase(object) : void 0;
|
|
25
|
-
const [docContent] = useObject(Obj.instanceOf(
|
|
20
|
+
const [docContent] = useObject(Obj.instanceOf(Markdown.Document, object) ? object.content : void 0, "content");
|
|
26
21
|
const [textContent] = useObject(Obj.instanceOf(Text.Text, object) ? object : void 0, "content");
|
|
27
22
|
const initialValue = docContent ?? textContent;
|
|
28
23
|
const otherExtensionProviders = useCapabilities(MarkdownCapabilities.Extensions);
|
|
29
24
|
const extensions = useMemo(() => {
|
|
30
|
-
if (!Obj.instanceOf(
|
|
25
|
+
if (!Obj.instanceOf(Markdown.Document, object) && !Obj.instanceOf(Text.Text, object)) {
|
|
31
26
|
return [];
|
|
32
27
|
}
|
|
28
|
+
const document = Obj.instanceOf(Markdown.Document, object) ? object : void 0;
|
|
33
29
|
return [
|
|
34
30
|
...otherExtensionProviders ?? [],
|
|
35
31
|
...extensionProviders ?? []
|
|
36
32
|
].flat().reduce((acc, provider) => {
|
|
37
33
|
const extension = typeof provider === "function" ? provider({
|
|
38
|
-
document
|
|
34
|
+
document,
|
|
35
|
+
viewMode
|
|
39
36
|
}) : provider;
|
|
40
37
|
if (extension) {
|
|
41
38
|
acc.push(extension);
|
|
@@ -45,7 +42,8 @@ var MarkdownContainer = /* @__PURE__ */ forwardRef(({ role, subject: object, id,
|
|
|
45
42
|
}, [
|
|
46
43
|
extensionProviders,
|
|
47
44
|
otherExtensionProviders,
|
|
48
|
-
object
|
|
45
|
+
object,
|
|
46
|
+
viewMode
|
|
49
47
|
]);
|
|
50
48
|
const { graph } = useAppGraph();
|
|
51
49
|
const runAction = useActionRunner();
|
|
@@ -86,28 +84,30 @@ var MarkdownContainer = /* @__PURE__ */ forwardRef(({ role, subject: object, id,
|
|
|
86
84
|
subject: [
|
|
87
85
|
targetId
|
|
88
86
|
],
|
|
89
|
-
pivotId: attendableId
|
|
87
|
+
pivotId: attendableId,
|
|
88
|
+
// TODO(wittjosiah): This should probably pre-validate.
|
|
89
|
+
navigation: "immediate"
|
|
90
90
|
});
|
|
91
91
|
}
|
|
92
92
|
}, [
|
|
93
93
|
onSelectObject,
|
|
94
94
|
invokePromise,
|
|
95
|
-
|
|
96
|
-
id
|
|
95
|
+
attendableId
|
|
97
96
|
]);
|
|
98
|
-
return /* @__PURE__ */ React.createElement(
|
|
97
|
+
return /* @__PURE__ */ React.createElement(MarkdownEditorProvider, {
|
|
99
98
|
id,
|
|
100
99
|
attendableId,
|
|
101
100
|
object,
|
|
102
101
|
compact: role !== "article",
|
|
103
102
|
extensions,
|
|
104
103
|
settings,
|
|
104
|
+
viewMode,
|
|
105
105
|
onAction: runAction,
|
|
106
106
|
onFileUpload: handleFileUpload,
|
|
107
107
|
onLinkQuery: handleLinkQuery,
|
|
108
108
|
onSelectObject: handleSelectObject,
|
|
109
109
|
...props
|
|
110
|
-
}, /* @__PURE__ */ React.createElement(Panel.Root, {
|
|
110
|
+
}, (editorRootProps) => /* @__PURE__ */ React.createElement(Editor.Root, editorRootProps, /* @__PURE__ */ React.createElement(Panel.Root, {
|
|
111
111
|
role,
|
|
112
112
|
ref: forwardedRef
|
|
113
113
|
}, settings.toolbar && /* @__PURE__ */ React.createElement(Panel.Toolbar, {
|
|
@@ -117,10 +117,10 @@ var MarkdownContainer = /* @__PURE__ */ forwardRef(({ role, subject: object, id,
|
|
|
117
117
|
customActions
|
|
118
118
|
})), /* @__PURE__ */ React.createElement(Panel.Content, null, /* @__PURE__ */ React.createElement(MarkdownEditor.Content, {
|
|
119
119
|
initialValue
|
|
120
|
-
}), /* @__PURE__ */ React.createElement(MarkdownEditor.Blocks, null))));
|
|
120
|
+
}), /* @__PURE__ */ React.createElement(MarkdownEditor.Blocks, null)))));
|
|
121
121
|
});
|
|
122
122
|
export {
|
|
123
|
-
|
|
124
|
-
|
|
123
|
+
MarkdownArticle,
|
|
124
|
+
MarkdownArticle as default
|
|
125
125
|
};
|
|
126
|
-
//# sourceMappingURL=
|
|
126
|
+
//# sourceMappingURL=MarkdownArticle-Z4QRU3WD.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/containers/MarkdownArticle/MarkdownArticle.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { type Extension } from '@codemirror/state';\nimport { Atom } from '@effect-atom/atom-react';\nimport React, { forwardRef, useCallback, useMemo } from 'react';\n\nimport { useCapabilities, useOperationInvoker } from '@dxos/app-framework/ui';\nimport { AppCapabilities, LayoutOperation } from '@dxos/app-toolkit';\nimport { AppSurface, useAppGraph } from '@dxos/app-toolkit/ui';\nimport { Obj } from '@dxos/echo';\nimport { useActionRunner } from '@dxos/plugin-graph';\nimport { useObject } from '@dxos/react-client/echo';\nimport { Panel } from '@dxos/react-ui';\nimport { type SelectionManager } from '@dxos/react-ui-attention';\nimport { Editor } from '@dxos/react-ui-editor';\nimport { Text } from '@dxos/schema';\n\nimport {\n MarkdownEditor,\n MarkdownEditorProvider,\n type MarkdownEditorContentProps,\n type MarkdownEditorProviderProps,\n} from '#components';\nimport { useLinkQuery } from '#hooks';\nimport { Markdown, MarkdownCapabilities, type MarkdownPluginState } from '#types';\n\nexport type MarkdownArticleProps = AppSurface.ObjectArticleProps<\n Markdown.Document | Text.Text,\n {\n id: string;\n settings: Markdown.Settings;\n selectionManager?: SelectionManager;\n } & Pick<MarkdownPluginState, 'extensionProviders'> &\n Pick<MarkdownEditorProviderProps, 'viewMode' | 'onSelectObject' | 'onViewModeChange'> &\n Pick<MarkdownEditorContentProps, 'editorStateStore'>\n>;\n\nexport const MarkdownArticle = forwardRef<HTMLDivElement, MarkdownArticleProps>(\n (\n { role, subject: object, id, attendableId, settings, extensionProviders, onSelectObject, viewMode, ...props },\n forwardedRef,\n ) => {\n const db = Obj.isObject(object) ? Obj.getDatabase(object) : undefined;\n const [docContent] = useObject(Obj.instanceOf(Markdown.Document, object) ? object.content : undefined, 'content');\n const [textContent] = useObject(Obj.instanceOf(Text.Text, object) ? object : undefined, 'content');\n const initialValue = docContent ?? textContent;\n\n // Extensions from other plugins.\n const otherExtensionProviders = useCapabilities(MarkdownCapabilities.Extensions);\n const extensions = useMemo<Extension[]>(() => {\n if (!Obj.instanceOf(Markdown.Document, object) && !Obj.instanceOf(Text.Text, object)) {\n return [];\n }\n\n const document = Obj.instanceOf(Markdown.Document, object) ? object : undefined;\n return [...(otherExtensionProviders ?? []), ...(extensionProviders ?? [])]\n .flat()\n .reduce((acc: Extension[], provider) => {\n const extension = typeof provider === 'function' ? provider({ document, viewMode }) : provider;\n if (extension) {\n acc.push(extension);\n }\n\n return acc;\n }, []);\n }, [extensionProviders, otherExtensionProviders, object, viewMode]);\n\n // Toolbar actions from app graph.\n const { graph } = useAppGraph();\n const runAction = useActionRunner();\n const customActions = useMemo(() => {\n return Atom.make((get) => {\n const actions = get(graph.actions(attendableId ?? id));\n const nodes = actions.filter((action) => action.properties.disposition === 'toolbar');\n const edges = nodes.map((node) => ({ source: 'root', target: node.id, relation: 'child' }));\n return { nodes, edges };\n });\n }, [graph]);\n\n // File upload.\n const [upload] = useCapabilities(AppCapabilities.FileUploader);\n const handleFileUpload = useMemo(() => {\n if (!db || !upload) {\n return undefined;\n }\n\n return async (file: File) => upload(db, file);\n }, [db, upload]);\n\n // Query for @ refs.\n const handleLinkQuery = useLinkQuery(db);\n\n // Open linked objects.\n const { invokePromise } = useOperationInvoker();\n const handleSelectObject = useCallback(\n (targetId: string) => {\n if (onSelectObject) {\n onSelectObject(targetId);\n } else {\n void invokePromise?.(LayoutOperation.Open, {\n subject: [targetId],\n pivotId: attendableId,\n // TODO(wittjosiah): This should probably pre-validate.\n navigation: 'immediate',\n });\n }\n },\n [onSelectObject, invokePromise, attendableId],\n );\n\n return (\n <MarkdownEditorProvider\n id={id}\n attendableId={attendableId}\n object={object}\n compact={role !== 'article'}\n extensions={extensions}\n settings={settings}\n viewMode={viewMode}\n onAction={runAction}\n onFileUpload={handleFileUpload}\n onLinkQuery={handleLinkQuery}\n onSelectObject={handleSelectObject}\n {...props}\n >\n {(editorRootProps) => (\n <Editor.Root {...editorRootProps}>\n <Panel.Root role={role} ref={forwardedRef}>\n {settings.toolbar && (\n <Panel.Toolbar classNames='bg-toolbar-surface'>\n <MarkdownEditor.Toolbar classNames='dx-document' customActions={customActions} />\n </Panel.Toolbar>\n )}\n <Panel.Content>\n <MarkdownEditor.Content initialValue={initialValue} />\n <MarkdownEditor.Blocks />\n </Panel.Content>\n </Panel.Root>\n </Editor.Root>\n )}\n </MarkdownEditorProvider>\n );\n },\n);\n"],
|
|
5
|
+
"mappings": ";;;AAKA,SAASA,YAAY;AACrB,OAAOC,SAASC,YAAYC,aAAaC,eAAe;AAExD,SAASC,iBAAiBC,2BAA2B;AACrD,SAASC,iBAAiBC,uBAAuB;AACjD,SAAqBC,mBAAmB;AACxC,SAASC,WAAW;AACpB,SAASC,uBAAuB;AAChC,SAASC,iBAAiB;AAC1B,SAASC,aAAa;AAEtB,SAASC,cAAc;AACvB,SAASC,YAAY;AAErB,SACEC,gBACAC,8BAGK;AACP,SAASC,oBAAoB;AAC7B,SAASC,UAAUC,4BAAsD;AAalE,IAAMC,kBAAkBnB,2BAC7B,CACE,EAAEoB,MAAMC,SAASC,QAAQC,IAAIC,cAAcC,UAAUC,oBAAoBC,gBAAgBC,UAAU,GAAGC,MAAAA,GACtGC,iBAAAA;AAEA,QAAMC,KAAKvB,IAAIwB,SAASV,MAAAA,IAAUd,IAAIyB,YAAYX,MAAAA,IAAUY;AAC5D,QAAM,CAACC,UAAAA,IAAczB,UAAUF,IAAI4B,WAAWnB,SAASoB,UAAUf,MAAAA,IAAUA,OAAOgB,UAAUJ,QAAW,SAAA;AACvG,QAAM,CAACK,WAAAA,IAAe7B,UAAUF,IAAI4B,WAAWvB,KAAKA,MAAMS,MAAAA,IAAUA,SAASY,QAAW,SAAA;AACxF,QAAMM,eAAeL,cAAcI;AAGnC,QAAME,0BAA0BtC,gBAAgBe,qBAAqBwB,UAAU;AAC/E,QAAMC,aAAazC,QAAqB,MAAA;AACtC,QAAI,CAACM,IAAI4B,WAAWnB,SAASoB,UAAUf,MAAAA,KAAW,CAACd,IAAI4B,WAAWvB,KAAKA,MAAMS,MAAAA,GAAS;AACpF,aAAO,CAAA;IACT;AAEA,UAAMsB,WAAWpC,IAAI4B,WAAWnB,SAASoB,UAAUf,MAAAA,IAAUA,SAASY;AACtE,WAAO;SAAKO,2BAA2B,CAAA;SAASf,sBAAsB,CAAA;MACnEmB,KAAI,EACJC,OAAO,CAACC,KAAkBC,aAAAA;AACzB,YAAMC,YAAY,OAAOD,aAAa,aAAaA,SAAS;QAAEJ;QAAUhB;MAAS,CAAA,IAAKoB;AACtF,UAAIC,WAAW;AACbF,YAAIG,KAAKD,SAAAA;MACX;AAEA,aAAOF;IACT,GAAG,CAAA,CAAE;EACT,GAAG;IAACrB;IAAoBe;IAAyBnB;IAAQM;GAAS;AAGlE,QAAM,EAAEuB,MAAK,IAAK5C,YAAAA;AAClB,QAAM6C,YAAY3C,gBAAAA;AAClB,QAAM4C,gBAAgBnD,QAAQ,MAAA;AAC5B,WAAOJ,KAAKwD,KAAK,CAACC,QAAAA;AAChB,YAAMC,UAAUD,IAAIJ,MAAMK,QAAQhC,gBAAgBD,EAAAA,CAAAA;AAClD,YAAMkC,QAAQD,QAAQE,OAAO,CAACC,WAAWA,OAAOC,WAAWC,gBAAgB,SAAA;AAC3E,YAAMC,QAAQL,MAAMM,IAAI,CAACC,UAAU;QAAEC,QAAQ;QAAQC,QAAQF,KAAKzC;QAAI4C,UAAU;MAAQ,EAAA;AACxF,aAAO;QAAEV;QAAOK;MAAM;IACxB,CAAA;EACF,GAAG;IAACX;GAAM;AAGV,QAAM,CAACiB,MAAAA,IAAUjE,gBAAgBE,gBAAgBgE,YAAY;AAC7D,QAAMC,mBAAmBpE,QAAQ,MAAA;AAC/B,QAAI,CAAC6B,MAAM,CAACqC,QAAQ;AAClB,aAAOlC;IACT;AAEA,WAAO,OAAOqC,SAAeH,OAAOrC,IAAIwC,IAAAA;EAC1C,GAAG;IAACxC;IAAIqC;GAAO;AAGf,QAAMI,kBAAkBxD,aAAae,EAAAA;AAGrC,QAAM,EAAE0C,cAAa,IAAKrE,oBAAAA;AAC1B,QAAMsE,qBAAqBzE,YACzB,CAAC0E,aAAAA;AACC,QAAIhD,gBAAgB;AAClBA,qBAAegD,QAAAA;IACjB,OAAO;AACL,WAAKF,gBAAgBnE,gBAAgBsE,MAAM;QACzCvD,SAAS;UAACsD;;QACVE,SAASrD;;QAETsD,YAAY;MACd,CAAA;IACF;EACF,GACA;IAACnD;IAAgB8C;IAAejD;GAAa;AAG/C,SACE,sBAAA,cAACT,wBAAAA;IACCQ;IACAC;IACAF;IACAyD,SAAS3D,SAAS;IAClBuB;IACAlB;IACAG;IACAoD,UAAU5B;IACV6B,cAAcX;IACdY,aAAaV;IACb7C,gBAAgB+C;IACf,GAAG7C;KAEH,CAACsD,oBACA,sBAAA,cAACvE,OAAOwE,MAASD,iBACf,sBAAA,cAACxE,MAAMyE,MAAI;IAAChE;IAAYiE,KAAKvD;KAC1BL,SAAS6D,WACR,sBAAA,cAAC3E,MAAM4E,SAAO;IAACC,YAAW;KACxB,sBAAA,cAAC1E,eAAeyE,SAAO;IAACC,YAAW;IAAcnC;OAGrD,sBAAA,cAAC1C,MAAM8E,SAAO,MACZ,sBAAA,cAAC3E,eAAe2E,SAAO;IAACjD;MACxB,sBAAA,cAAC1B,eAAe4E,QAAM,IAAA,CAAA,CAAA,CAAA,CAAA;AAOpC,CAAA;",
|
|
6
|
+
"names": ["Atom", "React", "forwardRef", "useCallback", "useMemo", "useCapabilities", "useOperationInvoker", "AppCapabilities", "LayoutOperation", "useAppGraph", "Obj", "useActionRunner", "useObject", "Panel", "Editor", "Text", "MarkdownEditor", "MarkdownEditorProvider", "useLinkQuery", "Markdown", "MarkdownCapabilities", "MarkdownArticle", "role", "subject", "object", "id", "attendableId", "settings", "extensionProviders", "onSelectObject", "viewMode", "props", "forwardedRef", "db", "isObject", "getDatabase", "undefined", "docContent", "instanceOf", "Document", "content", "textContent", "initialValue", "otherExtensionProviders", "Extensions", "extensions", "document", "flat", "reduce", "acc", "provider", "extension", "push", "graph", "runAction", "customActions", "make", "get", "actions", "nodes", "filter", "action", "properties", "disposition", "edges", "map", "node", "source", "target", "relation", "upload", "FileUploader", "handleFileUpload", "file", "handleLinkQuery", "invokePromise", "handleSelectObject", "targetId", "Open", "pivotId", "navigation", "compact", "onAction", "onFileUpload", "onLinkQuery", "editorRootProps", "Root", "ref", "toolbar", "Toolbar", "classNames", "Content", "Blocks"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import {
|
|
2
|
+
getContentSnippet
|
|
3
|
+
} from "./chunk-KDN4GKG2.mjs";
|
|
4
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
5
|
+
|
|
6
|
+
// src/containers/MarkdownCard/MarkdownCard.tsx
|
|
7
|
+
import React, { useMemo } from "react";
|
|
8
|
+
import { Obj } from "@dxos/echo";
|
|
9
|
+
import { Card, useTranslation } from "@dxos/react-ui";
|
|
10
|
+
import { Editor } from "@dxos/react-ui-editor";
|
|
11
|
+
import { Text } from "@dxos/schema";
|
|
12
|
+
import { mx } from "@dxos/ui-theme";
|
|
13
|
+
import { MarkdownEditor, MarkdownEditorProvider } from "#components";
|
|
14
|
+
import { meta } from "#meta";
|
|
15
|
+
import { Markdown } from "#types";
|
|
16
|
+
|
|
17
|
+
// src/containers/MarkdownCard/snippet.ts
|
|
18
|
+
import { EditorState } from "@codemirror/state";
|
|
19
|
+
import { EditorView } from "@codemirror/view";
|
|
20
|
+
var snippet = ({ height, scale = 1 }) => {
|
|
21
|
+
return [
|
|
22
|
+
EditorState.readOnly.of(true),
|
|
23
|
+
EditorView.editable.of(false),
|
|
24
|
+
EditorState.transactionFilter.of((tr) => {
|
|
25
|
+
if (tr.selection) {
|
|
26
|
+
return [];
|
|
27
|
+
}
|
|
28
|
+
return tr;
|
|
29
|
+
}),
|
|
30
|
+
EditorView.theme({
|
|
31
|
+
// Outer editor element: clip to the caller-specified height.
|
|
32
|
+
"&": {
|
|
33
|
+
maxHeight: `${height}px`,
|
|
34
|
+
overflow: "hidden"
|
|
35
|
+
},
|
|
36
|
+
".cm-scroller": {
|
|
37
|
+
// Prevent scroll; scale up the inner clip so the final pixel height matches `height`.
|
|
38
|
+
maxHeight: `${height / scale}px`,
|
|
39
|
+
overflow: "hidden !important",
|
|
40
|
+
padding: "0"
|
|
41
|
+
},
|
|
42
|
+
".cm-content": {
|
|
43
|
+
// zoom (unlike transform: scale) affects layout, so line-wrapping fills the full visual width of the container.
|
|
44
|
+
zoom: scale,
|
|
45
|
+
margin: "0",
|
|
46
|
+
padding: "0"
|
|
47
|
+
}
|
|
48
|
+
})
|
|
49
|
+
];
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
// src/containers/MarkdownCard/MarkdownCard.tsx
|
|
53
|
+
var MarkdownCard = ({ subject }) => {
|
|
54
|
+
const { t } = useTranslation(meta.id);
|
|
55
|
+
const snippet2 = useMemo(() => getSnippet(subject), [
|
|
56
|
+
subject
|
|
57
|
+
]);
|
|
58
|
+
const extensions = useMemo(() => [
|
|
59
|
+
snippet({
|
|
60
|
+
height: 300,
|
|
61
|
+
scale: 0.8
|
|
62
|
+
})
|
|
63
|
+
], []);
|
|
64
|
+
const info = getInfo(subject);
|
|
65
|
+
return /* @__PURE__ */ React.createElement(Card.Content, null, snippet2 && /* @__PURE__ */ React.createElement(Card.Section, {
|
|
66
|
+
className: "relative px-1"
|
|
67
|
+
}, /* @__PURE__ */ React.createElement(MarkdownEditorProvider, {
|
|
68
|
+
id: subject.id,
|
|
69
|
+
viewMode: "readonly",
|
|
70
|
+
extensions
|
|
71
|
+
}, (editorRootProps) => /* @__PURE__ */ React.createElement(Editor.Root, editorRootProps, /* @__PURE__ */ React.createElement(MarkdownEditor.Content, {
|
|
72
|
+
initialValue: snippet2,
|
|
73
|
+
slots: {
|
|
74
|
+
content: {
|
|
75
|
+
className: "m-0"
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}))), /* @__PURE__ */ React.createElement("div", {
|
|
79
|
+
className: mx("z-10 absolute bottom-0 inset-x-0 h-12 w-full", "bg-gradient-to-b from-transparent to-(--surface-bg) pointer-events-none")
|
|
80
|
+
})), /* @__PURE__ */ React.createElement(Card.Section, null, /* @__PURE__ */ React.createElement(Card.Text, {
|
|
81
|
+
classNames: "px-1.5 text-xs text-description"
|
|
82
|
+
}, info.words, " ", t("words.label", {
|
|
83
|
+
count: info.words
|
|
84
|
+
}))));
|
|
85
|
+
};
|
|
86
|
+
var getSnippet = (subject, fallback, maxLines = 16) => {
|
|
87
|
+
if (Obj.instanceOf(Markdown.Document, subject)) {
|
|
88
|
+
return Obj.getDescription(subject) || getContentSnippet(subject.content?.target?.content ?? fallback, maxLines);
|
|
89
|
+
} else if (Obj.instanceOf(Text.Text, subject)) {
|
|
90
|
+
return getContentSnippet(subject.content ?? fallback, maxLines);
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
var getInfo = (subject) => {
|
|
94
|
+
const text = (Obj.instanceOf(Markdown.Document, subject) ? subject.content?.target?.content : subject.content) ?? "";
|
|
95
|
+
return {
|
|
96
|
+
words: text.split(" ").length
|
|
97
|
+
};
|
|
98
|
+
};
|
|
99
|
+
export {
|
|
100
|
+
MarkdownCard as default
|
|
101
|
+
};
|
|
102
|
+
//# sourceMappingURL=MarkdownCard-INMBLUL4.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/containers/MarkdownCard/MarkdownCard.tsx", "../../../src/containers/MarkdownCard/snippet.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useMemo } from 'react';\n\nimport { Obj } from '@dxos/echo';\nimport { Card, useTranslation } from '@dxos/react-ui';\nimport { Editor } from '@dxos/react-ui-editor';\nimport { Text } from '@dxos/schema';\nimport { mx } from '@dxos/ui-theme';\n\nimport { MarkdownEditor, MarkdownEditorProvider } from '#components';\nimport { meta } from '#meta';\nimport { Markdown } from '#types';\n\nimport { getContentSnippet } from '../../util';\nimport { snippet as snippetExtension } from './snippet';\n\nexport type MarkdownCardProps = { subject: Markdown.Document | Text.Text };\n\nexport const MarkdownCard = ({ subject }: MarkdownCardProps) => {\n const { t } = useTranslation(meta.id);\n const snippet = useMemo(() => getSnippet(subject), [subject]);\n const extensions = useMemo(() => [snippetExtension({ height: 300, scale: 0.8 })], []);\n const info = getInfo(subject);\n\n return (\n <Card.Content>\n {snippet && (\n <Card.Section className='relative px-1'>\n <MarkdownEditorProvider id={subject.id} viewMode='readonly' extensions={extensions}>\n {(editorRootProps) => (\n <Editor.Root {...editorRootProps}>\n <MarkdownEditor.Content initialValue={snippet} slots={{ content: { className: 'm-0' } }} />\n </Editor.Root>\n )}\n </MarkdownEditorProvider>\n <div\n className={mx(\n 'z-10 absolute bottom-0 inset-x-0 h-12 w-full',\n 'bg-gradient-to-b from-transparent to-(--surface-bg) pointer-events-none',\n )}\n />\n </Card.Section>\n )}\n <Card.Section>\n <Card.Text classNames='px-1.5 text-xs text-description'>\n {info.words} {t('words.label', { count: info.words })}\n </Card.Text>\n </Card.Section>\n </Card.Content>\n );\n};\n\nconst getSnippet = (subject: Markdown.Document | Text.Text, fallback?: string, maxLines = 16) => {\n if (Obj.instanceOf(Markdown.Document, subject)) {\n return Obj.getDescription(subject) || getContentSnippet(subject.content?.target?.content ?? fallback, maxLines);\n } else if (Obj.instanceOf(Text.Text, subject)) {\n return getContentSnippet(subject.content ?? fallback, maxLines);\n }\n};\n\nconst getInfo = (subject: Markdown.Document | Text.Text) => {\n const text = (Obj.instanceOf(Markdown.Document, subject) ? subject.content?.target?.content : subject.content) ?? '';\n return { words: text.split(' ').length };\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { EditorState } from '@codemirror/state';\nimport { EditorView } from '@codemirror/view';\n\nexport type SnippetOptions = {\n /** Maximum height of the editor in pixels. Overflowing content is hidden. */\n height: number;\n /** Zoom factor applied to the editor (e.g. 0.5 renders at 50%). @default 1 */\n scale?: number;\n};\n\n/**\n * CodeMirror extension for rendering a non-scrollable snippet of editor content.\n * Constrains the editor to the given height via CSS `max-height`, wraps long\n * lines (`pre-wrap`), and disables scrolling entirely.\n *\n * NOTE: Uses CSS `zoom` rather than `transform: scale` because `zoom` affects\n * layout, so line wrapping fills the full visual width of the container.\n * `transform: scale` only scales paint output, leaving empty space on the right.\n */\nexport const snippet = ({ height, scale = 1 }: SnippetOptions) => {\n return [\n EditorState.readOnly.of(true),\n EditorView.editable.of(false),\n EditorState.transactionFilter.of((tr) => {\n if (tr.selection) {\n return [];\n } // Drop any selection changes.\n return tr;\n }),\n EditorView.theme({\n // Outer editor element: clip to the caller-specified height.\n '&': {\n maxHeight: `${height}px`,\n overflow: 'hidden',\n },\n '.cm-scroller': {\n // Prevent scroll; scale up the inner clip so the final pixel height matches `height`.\n maxHeight: `${height / scale}px`,\n overflow: 'hidden !important',\n padding: '0',\n },\n '.cm-content': {\n // zoom (unlike transform: scale) affects layout, so line-wrapping fills the full visual width of the container.\n zoom: scale,\n margin: '0',\n padding: '0',\n },\n }),\n ];\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;AAIA,OAAOA,SAASC,eAAe;AAE/B,SAASC,WAAW;AACpB,SAASC,MAAMC,sBAAsB;AACrC,SAASC,cAAc;AACvB,SAASC,YAAY;AACrB,SAASC,UAAU;AAEnB,SAASC,gBAAgBC,8BAA8B;AACvD,SAASC,YAAY;AACrB,SAASC,gBAAgB;;;ACVzB,SAASC,mBAAmB;AAC5B,SAASC,kBAAkB;AAkBpB,IAAMC,UAAU,CAAC,EAAEC,QAAQC,QAAQ,EAAC,MAAkB;AAC3D,SAAO;IACLJ,YAAYK,SAASC,GAAG,IAAA;IACxBL,WAAWM,SAASD,GAAG,KAAA;IACvBN,YAAYQ,kBAAkBF,GAAG,CAACG,OAAAA;AAChC,UAAIA,GAAGC,WAAW;AAChB,eAAO,CAAA;MACT;AACA,aAAOD;IACT,CAAA;IACAR,WAAWU,MAAM;;MAEf,KAAK;QACHC,WAAW,GAAGT,MAAAA;QACdU,UAAU;MACZ;MACA,gBAAgB;;QAEdD,WAAW,GAAGT,SAASC,KAAAA;QACvBS,UAAU;QACVC,SAAS;MACX;MACA,eAAe;;QAEbC,MAAMX;QACNY,QAAQ;QACRF,SAAS;MACX;IACF,CAAA;;AAEJ;;;ADhCO,IAAMG,eAAe,CAAC,EAAEC,QAAO,MAAqB;AACzD,QAAM,EAAEC,EAAC,IAAKC,eAAeC,KAAKC,EAAE;AACpC,QAAMC,WAAUC,QAAQ,MAAMC,WAAWP,OAAAA,GAAU;IAACA;GAAQ;AAC5D,QAAMQ,aAAaF,QAAQ,MAAM;IAACG,QAAiB;MAAEC,QAAQ;MAAKC,OAAO;IAAI,CAAA;KAAK,CAAA,CAAE;AACpF,QAAMC,OAAOC,QAAQb,OAAAA;AAErB,SACE,sBAAA,cAACc,KAAKC,SAAO,MACVV,YACC,sBAAA,cAACS,KAAKE,SAAO;IAACC,WAAU;KACtB,sBAAA,cAACC,wBAAAA;IAAuBd,IAAIJ,QAAQI;IAAIe,UAAS;IAAWX;KACzD,CAACY,oBACA,sBAAA,cAACC,OAAOC,MAASF,iBACf,sBAAA,cAACG,eAAeR,SAAO;IAACS,cAAcnB;IAASoB,OAAO;MAAEC,SAAS;QAAET,WAAW;MAAM;IAAE;QAI5F,sBAAA,cAACU,OAAAA;IACCV,WAAWW,GACT,gDACA,yEAAA;OAKR,sBAAA,cAACd,KAAKE,SAAO,MACX,sBAAA,cAACF,KAAKe,MAAI;IAACC,YAAW;KACnBlB,KAAKmB,OAAM,KAAE9B,EAAE,eAAe;IAAE+B,OAAOpB,KAAKmB;EAAM,CAAA,CAAA,CAAA,CAAA;AAK7D;AAEA,IAAMxB,aAAa,CAACP,SAAwCiC,UAAmBC,WAAW,OAAE;AAC1F,MAAIC,IAAIC,WAAWC,SAASC,UAAUtC,OAAAA,GAAU;AAC9C,WAAOmC,IAAII,eAAevC,OAAAA,KAAYwC,kBAAkBxC,QAAQ0B,SAASe,QAAQf,WAAWO,UAAUC,QAAAA;EACxG,WAAWC,IAAIC,WAAWP,KAAKA,MAAM7B,OAAAA,GAAU;AAC7C,WAAOwC,kBAAkBxC,QAAQ0B,WAAWO,UAAUC,QAAAA;EACxD;AACF;AAEA,IAAMrB,UAAU,CAACb,YAAAA;AACf,QAAM0C,QAAQP,IAAIC,WAAWC,SAASC,UAAUtC,OAAAA,IAAWA,QAAQ0B,SAASe,QAAQf,UAAU1B,QAAQ0B,YAAY;AAClH,SAAO;IAAEK,OAAOW,KAAKC,MAAM,GAAA,EAAKC;EAAO;AACzC;",
|
|
6
|
+
"names": ["React", "useMemo", "Obj", "Card", "useTranslation", "Editor", "Text", "mx", "MarkdownEditor", "MarkdownEditorProvider", "meta", "Markdown", "EditorState", "EditorView", "snippet", "height", "scale", "readOnly", "of", "editable", "transactionFilter", "tr", "selection", "theme", "maxHeight", "overflow", "padding", "zoom", "margin", "MarkdownCard", "subject", "t", "useTranslation", "meta", "id", "snippet", "useMemo", "getSnippet", "extensions", "snippetExtension", "height", "scale", "info", "getInfo", "Card", "Content", "Section", "className", "MarkdownEditorProvider", "viewMode", "editorRootProps", "Editor", "Root", "MarkdownEditor", "initialValue", "slots", "content", "div", "mx", "Text", "classNames", "words", "count", "fallback", "maxLines", "Obj", "instanceOf", "Markdown", "Document", "getDescription", "getContentSnippet", "target", "text", "split", "length"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
2
|
+
|
|
3
|
+
// src/MarkdownPlugin.tsx
|
|
4
|
+
import { Plugin } from "@dxos/app-framework";
|
|
5
|
+
import { AppActivationEvents, AppPlugin } from "@dxos/app-toolkit";
|
|
6
|
+
import { translations as editorTranslations } from "@dxos/react-ui-editor/translations";
|
|
7
|
+
import { Text } from "@dxos/schema";
|
|
8
|
+
import { AnchorSort, AppGraphSerializer, BlueprintDefinition, CommentConfig, CreateObject, MarkdownSettings, MarkdownState, OperationHandler, ReactSurface } from "#capabilities";
|
|
9
|
+
import { meta } from "#meta";
|
|
10
|
+
import { translations } from "#translations";
|
|
11
|
+
import { Markdown, MarkdownEvents } from "#types";
|
|
12
|
+
var MarkdownPlugin = Plugin.define(meta).pipe(AppPlugin.addBlueprintDefinitionModule({
|
|
13
|
+
activate: BlueprintDefinition
|
|
14
|
+
}), AppPlugin.addCommentConfigModule({
|
|
15
|
+
activate: CommentConfig
|
|
16
|
+
}), AppPlugin.addCreateObjectModule({
|
|
17
|
+
activate: CreateObject
|
|
18
|
+
}), AppPlugin.addOperationHandlerModule({
|
|
19
|
+
activate: OperationHandler
|
|
20
|
+
}), AppPlugin.addSchemaModule({
|
|
21
|
+
schema: [
|
|
22
|
+
Markdown.Document,
|
|
23
|
+
Text.Text
|
|
24
|
+
]
|
|
25
|
+
}), AppPlugin.addSurfaceModule({
|
|
26
|
+
activate: ReactSurface,
|
|
27
|
+
firesBeforeActivation: [
|
|
28
|
+
MarkdownEvents.SetupExtensions
|
|
29
|
+
]
|
|
30
|
+
}), AppPlugin.addTranslationsModule({
|
|
31
|
+
translations: [
|
|
32
|
+
...translations,
|
|
33
|
+
...editorTranslations
|
|
34
|
+
]
|
|
35
|
+
}), Plugin.addModule({
|
|
36
|
+
activatesOn: AppActivationEvents.SetupSettings,
|
|
37
|
+
activate: MarkdownSettings
|
|
38
|
+
}), Plugin.addModule({
|
|
39
|
+
id: "state",
|
|
40
|
+
// TODO(wittjosiah): Does not integrate with settings store.
|
|
41
|
+
// Should this be a different event?
|
|
42
|
+
// Should settings store be renamed to be more generic?
|
|
43
|
+
activatesOn: AppActivationEvents.SetupSettings,
|
|
44
|
+
activate: MarkdownState
|
|
45
|
+
}), Plugin.addModule({
|
|
46
|
+
activatesOn: AppActivationEvents.AppGraphReady,
|
|
47
|
+
activate: AppGraphSerializer
|
|
48
|
+
}), Plugin.addModule({
|
|
49
|
+
// TODO(wittjosiah): More relevant event?
|
|
50
|
+
activatesOn: AppActivationEvents.AppGraphReady,
|
|
51
|
+
activate: AnchorSort
|
|
52
|
+
}), Plugin.make);
|
|
53
|
+
var MarkdownPlugin_default = MarkdownPlugin;
|
|
54
|
+
export {
|
|
55
|
+
MarkdownPlugin,
|
|
56
|
+
MarkdownPlugin_default as default
|
|
57
|
+
};
|
|
58
|
+
//# sourceMappingURL=MarkdownPlugin.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/MarkdownPlugin.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Plugin } from '@dxos/app-framework';\nimport { AppActivationEvents, AppPlugin } from '@dxos/app-toolkit';\nimport { translations as editorTranslations } from '@dxos/react-ui-editor/translations';\nimport { Text } from '@dxos/schema';\n\nimport {\n AnchorSort,\n AppGraphSerializer,\n BlueprintDefinition,\n CommentConfig,\n CreateObject,\n MarkdownSettings,\n MarkdownState,\n OperationHandler,\n ReactSurface,\n} from '#capabilities';\nimport { meta } from '#meta';\nimport { translations } from '#translations';\nimport { Markdown, MarkdownEvents } from '#types';\n\nexport const MarkdownPlugin = Plugin.define(meta).pipe(\n AppPlugin.addBlueprintDefinitionModule({ activate: BlueprintDefinition }),\n AppPlugin.addCommentConfigModule({ activate: CommentConfig }),\n AppPlugin.addCreateObjectModule({ activate: CreateObject }),\n AppPlugin.addOperationHandlerModule({ activate: OperationHandler }),\n AppPlugin.addSchemaModule({ schema: [Markdown.Document, Text.Text] }),\n AppPlugin.addSurfaceModule({\n activate: ReactSurface,\n firesBeforeActivation: [MarkdownEvents.SetupExtensions],\n }),\n AppPlugin.addTranslationsModule({ translations: [...translations, ...editorTranslations] }),\n Plugin.addModule({\n activatesOn: AppActivationEvents.SetupSettings,\n activate: MarkdownSettings,\n }),\n Plugin.addModule({\n id: 'state',\n // TODO(wittjosiah): Does not integrate with settings store.\n // Should this be a different event?\n // Should settings store be renamed to be more generic?\n activatesOn: AppActivationEvents.SetupSettings,\n activate: MarkdownState,\n }),\n Plugin.addModule({\n activatesOn: AppActivationEvents.AppGraphReady,\n activate: AppGraphSerializer,\n }),\n Plugin.addModule({\n // TODO(wittjosiah): More relevant event?\n activatesOn: AppActivationEvents.AppGraphReady,\n activate: AnchorSort,\n }),\n Plugin.make,\n);\n\nexport default MarkdownPlugin;\n"],
|
|
5
|
+
"mappings": ";;;AAIA,SAASA,cAAc;AACvB,SAASC,qBAAqBC,iBAAiB;AAC/C,SAASC,gBAAgBC,0BAA0B;AACnD,SAASC,YAAY;AAErB,SACEC,YACAC,oBACAC,qBACAC,eACAC,cACAC,kBACAC,eACAC,kBACAC,oBACK;AACP,SAASC,YAAY;AACrB,SAASZ,oBAAoB;AAC7B,SAASa,UAAUC,sBAAsB;AAElC,IAAMC,iBAAiBlB,OAAOmB,OAAOJ,IAAAA,EAAMK,KAChDlB,UAAUmB,6BAA6B;EAAEC,UAAUd;AAAoB,CAAA,GACvEN,UAAUqB,uBAAuB;EAAED,UAAUb;AAAc,CAAA,GAC3DP,UAAUsB,sBAAsB;EAAEF,UAAUZ;AAAa,CAAA,GACzDR,UAAUuB,0BAA0B;EAAEH,UAAUT;AAAiB,CAAA,GACjEX,UAAUwB,gBAAgB;EAAEC,QAAQ;IAACX,SAASY;IAAUvB,KAAKA;;AAAM,CAAA,GACnEH,UAAU2B,iBAAiB;EACzBP,UAAUR;EACVgB,uBAAuB;IAACb,eAAec;;AACzC,CAAA,GACA7B,UAAU8B,sBAAsB;EAAE7B,cAAc;OAAIA;OAAiBC;;AAAoB,CAAA,GACzFJ,OAAOiC,UAAU;EACfC,aAAajC,oBAAoBkC;EACjCb,UAAUX;AACZ,CAAA,GACAX,OAAOiC,UAAU;EACfG,IAAI;;;;EAIJF,aAAajC,oBAAoBkC;EACjCb,UAAUV;AACZ,CAAA,GACAZ,OAAOiC,UAAU;EACfC,aAAajC,oBAAoBoC;EACjCf,UAAUf;AACZ,CAAA,GACAP,OAAOiC,UAAU;;EAEfC,aAAajC,oBAAoBoC;EACjCf,UAAUhB;AACZ,CAAA,GACAN,OAAOsC,IAAI;AAGb,IAAA,yBAAepB;",
|
|
6
|
+
"names": ["Plugin", "AppActivationEvents", "AppPlugin", "translations", "editorTranslations", "Text", "AnchorSort", "AppGraphSerializer", "BlueprintDefinition", "CommentConfig", "CreateObject", "MarkdownSettings", "MarkdownState", "OperationHandler", "ReactSurface", "meta", "Markdown", "MarkdownEvents", "MarkdownPlugin", "define", "pipe", "addBlueprintDefinitionModule", "activate", "addCommentConfigModule", "addCreateObjectModule", "addOperationHandlerModule", "addSchemaModule", "schema", "Document", "addSurfaceModule", "firesBeforeActivation", "SetupExtensions", "addTranslationsModule", "addModule", "activatesOn", "SetupSettings", "id", "AppGraphReady", "make"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
2
|
+
|
|
3
|
+
// src/MarkdownPlugin.node.ts
|
|
4
|
+
import { Plugin } from "@dxos/app-framework";
|
|
5
|
+
import { AppPlugin } from "@dxos/app-toolkit";
|
|
6
|
+
import { Text } from "@dxos/schema";
|
|
7
|
+
import { CreateObject, OperationHandler } from "#capabilities";
|
|
8
|
+
import { meta } from "#meta";
|
|
9
|
+
import { Markdown } from "#types";
|
|
10
|
+
var MarkdownPlugin = Plugin.define(meta).pipe(AppPlugin.addCreateObjectModule({
|
|
11
|
+
activate: CreateObject
|
|
12
|
+
}), AppPlugin.addOperationHandlerModule({
|
|
13
|
+
activate: OperationHandler
|
|
14
|
+
}), AppPlugin.addSchemaModule({
|
|
15
|
+
schema: [
|
|
16
|
+
Markdown.Document,
|
|
17
|
+
Text.Text
|
|
18
|
+
]
|
|
19
|
+
}), Plugin.make);
|
|
20
|
+
var MarkdownPlugin_node_default = MarkdownPlugin;
|
|
21
|
+
export {
|
|
22
|
+
MarkdownPlugin,
|
|
23
|
+
MarkdownPlugin_node_default as default
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=MarkdownPlugin.node.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/MarkdownPlugin.node.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2026 DXOS.org\n//\n\nimport { Plugin } from '@dxos/app-framework';\nimport { AppPlugin } from '@dxos/app-toolkit';\nimport { Text } from '@dxos/schema';\n\nimport { CreateObject, OperationHandler } from '#capabilities';\nimport { meta } from '#meta';\nimport { Markdown } from '#types';\n\nexport const MarkdownPlugin = Plugin.define(meta).pipe(\n AppPlugin.addCreateObjectModule({ activate: CreateObject }),\n AppPlugin.addOperationHandlerModule({ activate: OperationHandler }),\n AppPlugin.addSchemaModule({ schema: [Markdown.Document, Text.Text] }),\n Plugin.make,\n);\n\nexport default MarkdownPlugin;\n"],
|
|
5
|
+
"mappings": ";;;AAIA,SAASA,cAAc;AACvB,SAASC,iBAAiB;AAC1B,SAASC,YAAY;AAErB,SAASC,cAAcC,wBAAwB;AAC/C,SAASC,YAAY;AACrB,SAASC,gBAAgB;AAElB,IAAMC,iBAAiBP,OAAOQ,OAAOH,IAAAA,EAAMI,KAChDR,UAAUS,sBAAsB;EAAEC,UAAUR;AAAa,CAAA,GACzDF,UAAUW,0BAA0B;EAAED,UAAUP;AAAiB,CAAA,GACjEH,UAAUY,gBAAgB;EAAEC,QAAQ;IAACR,SAASS;IAAUb,KAAKA;;AAAM,CAAA,GACnEF,OAAOgB,IAAI;AAGb,IAAA,8BAAeT;",
|
|
6
|
+
"names": ["Plugin", "AppPlugin", "Text", "CreateObject", "OperationHandler", "meta", "Markdown", "MarkdownPlugin", "define", "pipe", "addCreateObjectModule", "activate", "addOperationHandlerModule", "addSchemaModule", "schema", "Document", "make"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
2
|
+
|
|
3
|
+
// src/MarkdownPlugin.workerd.ts
|
|
4
|
+
import { Plugin } from "@dxos/app-framework";
|
|
5
|
+
import { AppPlugin } from "@dxos/app-toolkit";
|
|
6
|
+
import { Text } from "@dxos/schema";
|
|
7
|
+
import { OperationHandler } from "#capabilities";
|
|
8
|
+
import { meta } from "#meta";
|
|
9
|
+
import { Markdown } from "#types";
|
|
10
|
+
var MarkdownPlugin = Plugin.define(meta).pipe(AppPlugin.addOperationHandlerModule({
|
|
11
|
+
activate: OperationHandler
|
|
12
|
+
}), AppPlugin.addSchemaModule({
|
|
13
|
+
schema: [
|
|
14
|
+
Markdown.Document,
|
|
15
|
+
Text.Text
|
|
16
|
+
]
|
|
17
|
+
}), Plugin.make);
|
|
18
|
+
var MarkdownPlugin_workerd_default = MarkdownPlugin;
|
|
19
|
+
export {
|
|
20
|
+
MarkdownPlugin,
|
|
21
|
+
MarkdownPlugin_workerd_default as default
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=MarkdownPlugin.workerd.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/MarkdownPlugin.workerd.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2026 DXOS.org\n//\n\nimport { Plugin } from '@dxos/app-framework';\nimport { AppPlugin } from '@dxos/app-toolkit';\nimport { Text } from '@dxos/schema';\n\nimport { OperationHandler } from '#capabilities';\nimport { meta } from '#meta';\nimport { Markdown } from '#types';\n\nexport const MarkdownPlugin = Plugin.define(meta).pipe(\n AppPlugin.addOperationHandlerModule({ activate: OperationHandler }),\n AppPlugin.addSchemaModule({ schema: [Markdown.Document, Text.Text] }),\n Plugin.make,\n);\n\nexport default MarkdownPlugin;\n"],
|
|
5
|
+
"mappings": ";;;AAIA,SAASA,cAAc;AACvB,SAASC,iBAAiB;AAC1B,SAASC,YAAY;AAErB,SAASC,wBAAwB;AACjC,SAASC,YAAY;AACrB,SAASC,gBAAgB;AAElB,IAAMC,iBAAiBN,OAAOO,OAAOH,IAAAA,EAAMI,KAChDP,UAAUQ,0BAA0B;EAAEC,UAAUP;AAAiB,CAAA,GACjEF,UAAUU,gBAAgB;EAAEC,QAAQ;IAACP,SAASQ;IAAUX,KAAKA;;AAAM,CAAA,GACnEF,OAAOc,IAAI;AAGb,IAAA,iCAAeR;",
|
|
6
|
+
"names": ["Plugin", "AppPlugin", "Text", "OperationHandler", "meta", "Markdown", "MarkdownPlugin", "define", "pipe", "addOperationHandlerModule", "activate", "addSchemaModule", "schema", "Document", "make"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
2
|
+
|
|
3
|
+
// src/components/MarkdownSettings/MarkdownSettings.tsx
|
|
4
|
+
import React from "react";
|
|
5
|
+
import { Input } from "@dxos/react-ui";
|
|
6
|
+
import { Settings as SettingsForm } from "@dxos/react-ui-form";
|
|
7
|
+
import { meta } from "#meta";
|
|
8
|
+
import { Markdown } from "#types";
|
|
9
|
+
var SnippetsField = ({ value, onChange, readonly }) => /* @__PURE__ */ React.createElement(Input.TextArea, {
|
|
10
|
+
disabled: readonly,
|
|
11
|
+
rows: 5,
|
|
12
|
+
value: value ?? "",
|
|
13
|
+
onChange: (event) => onChange(event.target.value)
|
|
14
|
+
});
|
|
15
|
+
var MarkdownSettings = ({ settings, onSettingsChange }) => {
|
|
16
|
+
return /* @__PURE__ */ React.createElement(SettingsForm.Viewport, null, /* @__PURE__ */ React.createElement(SettingsForm.Section, {
|
|
17
|
+
title: meta.name ?? "Editor"
|
|
18
|
+
}, /* @__PURE__ */ React.createElement(SettingsForm.FieldSet, {
|
|
19
|
+
readonly: !onSettingsChange,
|
|
20
|
+
schema: Markdown.Settings,
|
|
21
|
+
visible: (path, values) => path !== "snippets" || !!values.debug,
|
|
22
|
+
fieldMap: {
|
|
23
|
+
snippets: SnippetsField
|
|
24
|
+
},
|
|
25
|
+
values: settings,
|
|
26
|
+
onValuesChanged: (values) => onSettingsChange?.(() => values)
|
|
27
|
+
})));
|
|
28
|
+
};
|
|
29
|
+
export {
|
|
30
|
+
MarkdownSettings as default
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=MarkdownSettings-YCTZJL5V.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/components/MarkdownSettings/MarkdownSettings.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { type AppSurface } from '@dxos/app-toolkit/ui';\nimport { Input } from '@dxos/react-ui';\nimport { Settings as SettingsForm, type SettingsFieldProps } from '@dxos/react-ui-form';\n\nimport { meta } from '#meta';\nimport { Markdown } from '#types';\n\nexport type MarkdownSettingsProps = AppSurface.SettingsArticleProps<Markdown.Settings>;\n\nconst SnippetsField = ({ value, onChange, readonly }: SettingsFieldProps<string | undefined>) => (\n <Input.TextArea disabled={readonly} rows={5} value={value ?? ''} onChange={(event) => onChange(event.target.value)} />\n);\n\nexport const MarkdownSettings = ({ settings, onSettingsChange }: MarkdownSettingsProps) => {\n return (\n <SettingsForm.Viewport>\n <SettingsForm.Section title={meta.name ?? 'Editor'}>\n <SettingsForm.FieldSet\n readonly={!onSettingsChange}\n schema={Markdown.Settings}\n visible={(path, values) => path !== 'snippets' || !!values.debug}\n fieldMap={{ snippets: SnippetsField }}\n values={settings}\n onValuesChanged={(values) => onSettingsChange?.(() => values)}\n />\n </SettingsForm.Section>\n </SettingsForm.Viewport>\n );\n};\n"],
|
|
5
|
+
"mappings": ";;;AAIA,OAAOA,WAAW;AAGlB,SAASC,aAAa;AACtB,SAASC,YAAYC,oBAA6C;AAElE,SAASC,YAAY;AACrB,SAASC,gBAAgB;AAIzB,IAAMC,gBAAgB,CAAC,EAAEC,OAAOC,UAAUC,SAAQ,MAChD,sBAAA,cAACR,MAAMS,UAAQ;EAACC,UAAUF;EAAUG,MAAM;EAAGL,OAAOA,SAAS;EAAIC,UAAU,CAACK,UAAUL,SAASK,MAAMC,OAAOP,KAAK;;AAG5G,IAAMQ,mBAAmB,CAAC,EAAEC,UAAUC,iBAAgB,MAAyB;AACpF,SACE,sBAAA,cAACd,aAAae,UAAQ,MACpB,sBAAA,cAACf,aAAagB,SAAO;IAACC,OAAOhB,KAAKiB,QAAQ;KACxC,sBAAA,cAAClB,aAAamB,UAAQ;IACpBb,UAAU,CAACQ;IACXM,QAAQlB,SAASH;IACjBsB,SAAS,CAACC,MAAMC,WAAWD,SAAS,cAAc,CAAC,CAACC,OAAOC;IAC3DC,UAAU;MAAEC,UAAUvB;IAAc;IACpCoB,QAAQV;IACRc,iBAAiB,CAACJ,WAAWT,mBAAmB,MAAMS,MAAAA;;AAKhE;",
|
|
6
|
+
"names": ["React", "Input", "Settings", "SettingsForm", "meta", "Markdown", "SnippetsField", "value", "onChange", "readonly", "TextArea", "disabled", "rows", "event", "target", "MarkdownSettings", "settings", "onSettingsChange", "Viewport", "Section", "title", "name", "FieldSet", "schema", "visible", "path", "values", "debug", "fieldMap", "snippets", "onValuesChanged"]
|
|
7
|
+
}
|