@dxos/plugin-markdown 0.8.3-staging.0fa589b → 0.8.4-main.1da679c
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/dist/lib/browser/{MarkdownPreview-F4PYFW5L.mjs → MarkdownCard-JLUQITYK.mjs} +18 -18
- package/dist/lib/browser/MarkdownCard-JLUQITYK.mjs.map +7 -0
- package/dist/lib/browser/{MarkdownContainer-EFWQ6DHD.mjs → MarkdownContainer-OZ5DHEIA.mjs} +282 -302
- package/dist/lib/browser/MarkdownContainer-OZ5DHEIA.mjs.map +7 -0
- package/dist/lib/browser/{anchor-sort-BMAN2ABT.mjs → anchor-sort-SUD373SW.mjs} +8 -8
- package/dist/lib/browser/anchor-sort-SUD373SW.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-serializer-EI6TEHRQ.mjs → app-graph-serializer-GH7JJZB7.mjs} +16 -17
- package/dist/lib/browser/app-graph-serializer-GH7JJZB7.mjs.map +7 -0
- package/dist/lib/browser/blueprint-definition-JSNGFAZB.mjs +11 -0
- package/dist/lib/browser/blueprint-definition-JSNGFAZB.mjs.map +7 -0
- package/dist/lib/browser/chunk-BEE7VQPU.mjs +78 -0
- package/dist/lib/browser/chunk-BEE7VQPU.mjs.map +7 -0
- package/dist/lib/browser/{chunk-LXSRQPEP.mjs → chunk-LAVZ2W6X.mjs} +9 -10
- package/dist/lib/browser/chunk-LAVZ2W6X.mjs.map +7 -0
- package/dist/lib/browser/chunk-ODB2PTBP.mjs +28 -0
- package/dist/lib/browser/chunk-ODB2PTBP.mjs.map +7 -0
- package/dist/lib/browser/chunk-OY6CGPOO.mjs +16 -0
- package/dist/lib/browser/chunk-OY6CGPOO.mjs.map +7 -0
- package/dist/lib/browser/chunk-SQLSKQRQ.mjs +22 -0
- package/dist/lib/browser/chunk-SQLSKQRQ.mjs.map +7 -0
- package/dist/lib/browser/chunk-UM2GILLR.mjs +102 -0
- package/dist/lib/browser/chunk-UM2GILLR.mjs.map +7 -0
- package/dist/lib/browser/{chunk-D767LUGU.mjs → chunk-Z7P6JGGW.mjs} +14 -12
- package/dist/lib/browser/chunk-Z7P6JGGW.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +38 -25
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/intent-resolver-SUBIHVU7.mjs +62 -0
- package/dist/lib/browser/intent-resolver-SUBIHVU7.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/{node-esm/react-surface-YHFOQTVO.mjs → browser/react-surface-JBQHF4GR.mjs} +64 -55
- package/dist/lib/browser/react-surface-JBQHF4GR.mjs.map +7 -0
- package/dist/lib/browser/{settings-PLH54VC7.mjs → settings-T5ZMC5TH.mjs} +8 -8
- package/dist/lib/browser/settings-T5ZMC5TH.mjs.map +7 -0
- package/dist/lib/browser/{state-KI6PJ6DT.mjs → state-6QODXCSZ.mjs} +10 -10
- package/dist/lib/browser/state-6QODXCSZ.mjs.map +7 -0
- package/dist/lib/browser/toolkit-GNADYSGW.mjs +74 -0
- package/dist/lib/browser/toolkit-GNADYSGW.mjs.map +7 -0
- package/dist/lib/browser/types/index.mjs +6 -14
- package/dist/lib/node-esm/{MarkdownPreview-KFDRV4GC.mjs → MarkdownCard-XL5EVSJ7.mjs} +18 -18
- package/dist/lib/node-esm/MarkdownCard-XL5EVSJ7.mjs.map +7 -0
- package/dist/lib/node-esm/{MarkdownContainer-O3SGMH4G.mjs → MarkdownContainer-Z4I23DPN.mjs} +282 -302
- package/dist/lib/node-esm/MarkdownContainer-Z4I23DPN.mjs.map +7 -0
- package/dist/lib/node-esm/{anchor-sort-BXL7BE67.mjs → anchor-sort-J2BK2XLZ.mjs} +8 -8
- package/dist/lib/node-esm/anchor-sort-J2BK2XLZ.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-serializer-F7DGNF3G.mjs → app-graph-serializer-LRYCXG7N.mjs} +16 -17
- package/dist/lib/node-esm/app-graph-serializer-LRYCXG7N.mjs.map +7 -0
- package/dist/lib/node-esm/blueprint-definition-KX3Y5JHC.mjs +12 -0
- package/dist/lib/node-esm/blueprint-definition-KX3Y5JHC.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-CB2R4YIY.mjs +17 -0
- package/dist/lib/node-esm/chunk-CB2R4YIY.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-FXILAQ5F.mjs +79 -0
- package/dist/lib/node-esm/chunk-FXILAQ5F.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-BWDDFDJY.mjs → chunk-J7A6TUB2.mjs} +14 -12
- package/dist/lib/node-esm/chunk-J7A6TUB2.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-KAXL7TWD.mjs +103 -0
- package/dist/lib/node-esm/chunk-KAXL7TWD.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-MJZPYYIH.mjs +24 -0
- package/dist/lib/node-esm/chunk-MJZPYYIH.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-K26TX5V4.mjs → chunk-O6EXWGGS.mjs} +9 -10
- package/dist/lib/node-esm/chunk-O6EXWGGS.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-VCG2U522.mjs +29 -0
- package/dist/lib/node-esm/chunk-VCG2U522.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +38 -25
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/intent-resolver-YZEGYWGA.mjs +63 -0
- package/dist/lib/node-esm/intent-resolver-YZEGYWGA.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/{browser/react-surface-4B5ELMEW.mjs → node-esm/react-surface-JOXUHXQJ.mjs} +65 -54
- package/dist/lib/node-esm/react-surface-JOXUHXQJ.mjs.map +7 -0
- package/dist/lib/node-esm/{settings-SIY33P3F.mjs → settings-LGG22OH4.mjs} +8 -8
- package/dist/lib/node-esm/settings-LGG22OH4.mjs.map +7 -0
- package/dist/lib/node-esm/{state-LLGVRYKL.mjs → state-W3PECOJX.mjs} +10 -10
- package/dist/lib/node-esm/state-W3PECOJX.mjs.map +7 -0
- package/dist/lib/node-esm/toolkit-ZCFWOGNH.mjs +75 -0
- package/dist/lib/node-esm/toolkit-ZCFWOGNH.mjs.map +7 -0
- package/dist/lib/node-esm/types/index.mjs +6 -14
- package/dist/types/src/MarkdownPlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/anchor-sort.d.ts +2 -2
- package/dist/types/src/capabilities/app-graph-serializer.d.ts +1 -1
- package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +1 -1
- package/dist/types/src/capabilities/artifact-definition.d.ts +1 -9
- package/dist/types/src/capabilities/artifact-definition.d.ts.map +1 -1
- package/dist/types/src/capabilities/blueprint-definition.d.ts +5 -0
- package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -0
- package/dist/types/src/capabilities/capabilities.d.ts +1 -1
- package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts +12 -10
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/capabilities/settings.d.ts +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/capabilities/toolkit.d.ts +4 -0
- package/dist/types/src/capabilities/toolkit.d.ts.map +1 -0
- package/dist/types/src/components/MarkdownCard/MarkdownCard.d.ts +7 -0
- package/dist/types/src/components/MarkdownCard/MarkdownCard.d.ts.map +1 -0
- package/dist/types/src/components/MarkdownCard/MarkdownCard.stories.d.ts +10 -0
- package/dist/types/src/components/MarkdownCard/MarkdownCard.stories.d.ts.map +1 -0
- package/dist/types/src/components/MarkdownCard/index.d.ts +4 -0
- package/dist/types/src/components/MarkdownCard/index.d.ts.map +1 -0
- package/dist/types/src/components/MarkdownContainer.d.ts +5 -5
- package/dist/types/src/components/MarkdownContainer.d.ts.map +1 -1
- package/dist/types/src/components/MarkdownContainer.stories.d.ts +51 -4
- package/dist/types/src/components/MarkdownContainer.stories.d.ts.map +1 -1
- package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts +2 -2
- package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts.map +1 -1
- package/dist/types/src/components/MarkdownEditor/MarkdownEditor.stories.d.ts +110 -12
- package/dist/types/src/components/MarkdownEditor/MarkdownEditor.stories.d.ts.map +1 -1
- package/dist/types/src/components/MarkdownSettings/MarkdownSettings.d.ts +2 -2
- package/dist/types/src/components/MarkdownSettings/MarkdownSettings.d.ts.map +1 -1
- package/dist/types/src/components/Suggestions.stories.d.ts +3 -3
- package/dist/types/src/components/Suggestions.stories.d.ts.map +1 -1
- package/dist/types/src/components/Toolbar.stories.d.ts +44 -7
- package/dist/types/src/components/Toolbar.stories.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +1 -1
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/events.d.ts.map +1 -1
- package/dist/types/src/extensions.d.ts +3 -5
- package/dist/types/src/extensions.d.ts.map +1 -1
- package/dist/types/src/functions/diff.d.ts +6 -0
- package/dist/types/src/functions/diff.d.ts.map +1 -0
- package/dist/types/src/functions/index.d.ts +3 -0
- package/dist/types/src/functions/index.d.ts.map +1 -0
- package/dist/types/src/functions/open.d.ts +7 -0
- package/dist/types/src/functions/open.d.ts.map +1 -0
- package/dist/types/src/index.d.ts +2 -1
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts +0 -1
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +36 -80
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/Markdown.d.ts +43 -0
- package/dist/types/src/types/Markdown.d.ts.map +1 -0
- package/dist/types/src/types/MarkdownAction.d.ts +33 -0
- package/dist/types/src/types/MarkdownAction.d.ts.map +1 -0
- package/dist/types/src/types/index.d.ts +2 -1
- package/dist/types/src/types/index.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +4 -59
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/src/util.d.ts +12 -3
- package/dist/types/src/util.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +51 -48
- package/src/MarkdownPlugin.tsx +22 -13
- package/src/capabilities/anchor-sort.ts +3 -3
- package/src/capabilities/app-graph-serializer.ts +10 -8
- package/src/capabilities/artifact-definition.ts +19 -24
- package/src/capabilities/blueprint-definition.ts +39 -0
- package/src/capabilities/capabilities.ts +5 -4
- package/src/capabilities/index.ts +3 -1
- package/src/capabilities/intent-resolver.ts +15 -21
- package/src/capabilities/react-surface.tsx +22 -20
- package/src/capabilities/settings.ts +3 -3
- package/src/capabilities/state.ts +8 -8
- package/src/capabilities/toolkit.ts +47 -0
- package/src/components/MarkdownCard/MarkdownCard.stories.tsx +79 -0
- package/src/components/{MarkdownPreview/MarkdownPreview.tsx → MarkdownCard/MarkdownCard.tsx} +21 -17
- package/src/components/MarkdownCard/index.ts +9 -0
- package/src/components/MarkdownContainer.stories.tsx +39 -31
- package/src/components/MarkdownContainer.tsx +36 -21
- package/src/components/MarkdownEditor/MarkdownEditor.stories.tsx +10 -7
- package/src/components/MarkdownEditor/MarkdownEditor.tsx +28 -30
- package/src/components/MarkdownSettings/MarkdownSettings.tsx +81 -78
- package/src/components/Suggestions.stories.tsx +36 -33
- package/src/components/Toolbar.stories.tsx +19 -14
- package/src/components/index.ts +1 -1
- package/src/events.ts +2 -2
- package/src/extensions.tsx +28 -52
- package/src/functions/diff.ts +35 -0
- package/src/functions/index.ts +6 -0
- package/src/functions/open.ts +30 -0
- package/src/hooks/useSelectCurrentThread.tsx +3 -3
- package/src/index.ts +4 -1
- package/src/meta.ts +7 -8
- package/src/translations.ts +10 -7
- package/src/types/Markdown.ts +56 -0
- package/src/types/MarkdownAction.ts +29 -0
- package/src/types/index.ts +2 -1
- package/src/types/types.ts +7 -51
- package/src/util.tsx +20 -6
- package/dist/lib/browser/MarkdownContainer-EFWQ6DHD.mjs.map +0 -7
- package/dist/lib/browser/MarkdownPreview-F4PYFW5L.mjs.map +0 -7
- package/dist/lib/browser/anchor-sort-BMAN2ABT.mjs.map +0 -7
- package/dist/lib/browser/app-graph-serializer-EI6TEHRQ.mjs.map +0 -7
- package/dist/lib/browser/artifact-definition-FQ2R6KPT.mjs +0 -145
- package/dist/lib/browser/artifact-definition-FQ2R6KPT.mjs.map +0 -7
- package/dist/lib/browser/chunk-354IBM5X.mjs +0 -20
- package/dist/lib/browser/chunk-354IBM5X.mjs.map +0 -7
- package/dist/lib/browser/chunk-D767LUGU.mjs.map +0 -7
- package/dist/lib/browser/chunk-JX6XNEHE.mjs +0 -22
- package/dist/lib/browser/chunk-JX6XNEHE.mjs.map +0 -7
- package/dist/lib/browser/chunk-LXSRQPEP.mjs.map +0 -7
- package/dist/lib/browser/chunk-N2D26K6W.mjs +0 -79
- package/dist/lib/browser/chunk-N2D26K6W.mjs.map +0 -7
- package/dist/lib/browser/chunk-QVJETNGS.mjs +0 -16
- package/dist/lib/browser/chunk-QVJETNGS.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-6ZOABX2J.mjs +0 -64
- package/dist/lib/browser/intent-resolver-6ZOABX2J.mjs.map +0 -7
- package/dist/lib/browser/react-surface-4B5ELMEW.mjs.map +0 -7
- package/dist/lib/browser/settings-PLH54VC7.mjs.map +0 -7
- package/dist/lib/browser/state-KI6PJ6DT.mjs.map +0 -7
- package/dist/lib/node/MarkdownContainer-KYGUEZIL.cjs +0 -783
- package/dist/lib/node/MarkdownContainer-KYGUEZIL.cjs.map +0 -7
- package/dist/lib/node/MarkdownPreview-GCJJCXY6.cjs +0 -103
- package/dist/lib/node/MarkdownPreview-GCJJCXY6.cjs.map +0 -7
- package/dist/lib/node/anchor-sort-V3T4SFFI.cjs +0 -48
- package/dist/lib/node/anchor-sort-V3T4SFFI.cjs.map +0 -7
- package/dist/lib/node/app-graph-serializer-E6BXEDEL.cjs +0 -65
- package/dist/lib/node/app-graph-serializer-E6BXEDEL.cjs.map +0 -7
- package/dist/lib/node/artifact-definition-U27MH5SC.cjs +0 -158
- package/dist/lib/node/artifact-definition-U27MH5SC.cjs.map +0 -7
- package/dist/lib/node/chunk-3HHV4MM6.cjs +0 -101
- package/dist/lib/node/chunk-3HHV4MM6.cjs.map +0 -7
- package/dist/lib/node/chunk-CJLYFGPI.cjs +0 -74
- package/dist/lib/node/chunk-CJLYFGPI.cjs.map +0 -7
- package/dist/lib/node/chunk-FU3XZZCO.cjs +0 -58
- package/dist/lib/node/chunk-FU3XZZCO.cjs.map +0 -7
- package/dist/lib/node/chunk-IFYSBQE5.cjs +0 -35
- package/dist/lib/node/chunk-IFYSBQE5.cjs.map +0 -7
- package/dist/lib/node/chunk-LQAC5HL7.cjs +0 -68
- package/dist/lib/node/chunk-LQAC5HL7.cjs.map +0 -7
- package/dist/lib/node/chunk-ZU5OIHCY.cjs +0 -45
- package/dist/lib/node/chunk-ZU5OIHCY.cjs.map +0 -7
- package/dist/lib/node/index.cjs +0 -165
- package/dist/lib/node/index.cjs.map +0 -7
- package/dist/lib/node/intent-resolver-OEFLRNEJ.cjs +0 -77
- package/dist/lib/node/intent-resolver-OEFLRNEJ.cjs.map +0 -7
- package/dist/lib/node/meta.json +0 -1
- package/dist/lib/node/react-surface-456HQ4KZ.cjs +0 -218
- package/dist/lib/node/react-surface-456HQ4KZ.cjs.map +0 -7
- package/dist/lib/node/settings-E3NUTXJ4.cjs +0 -42
- package/dist/lib/node/settings-E3NUTXJ4.cjs.map +0 -7
- package/dist/lib/node/state-KKDRAG7X.cjs +0 -51
- package/dist/lib/node/state-KKDRAG7X.cjs.map +0 -7
- package/dist/lib/node/types/index.cjs +0 -40
- package/dist/lib/node/types/index.cjs.map +0 -7
- package/dist/lib/node-esm/MarkdownContainer-O3SGMH4G.mjs.map +0 -7
- package/dist/lib/node-esm/MarkdownPreview-KFDRV4GC.mjs.map +0 -7
- package/dist/lib/node-esm/anchor-sort-BXL7BE67.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-serializer-F7DGNF3G.mjs.map +0 -7
- package/dist/lib/node-esm/artifact-definition-NQOHB6S5.mjs +0 -146
- package/dist/lib/node-esm/artifact-definition-NQOHB6S5.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-BWDDFDJY.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-JXXDCSMW.mjs +0 -17
- package/dist/lib/node-esm/chunk-JXXDCSMW.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-K26TX5V4.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-RX63ZNML.mjs +0 -24
- package/dist/lib/node-esm/chunk-RX63ZNML.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-T2Y2BT53.mjs +0 -80
- package/dist/lib/node-esm/chunk-T2Y2BT53.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-YOABAQ7A.mjs +0 -22
- package/dist/lib/node-esm/chunk-YOABAQ7A.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-CLMSVF2K.mjs +0 -65
- package/dist/lib/node-esm/intent-resolver-CLMSVF2K.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-YHFOQTVO.mjs.map +0 -7
- package/dist/lib/node-esm/settings-SIY33P3F.mjs.map +0 -7
- package/dist/lib/node-esm/state-LLGVRYKL.mjs.map +0 -7
- package/dist/types/src/components/MarkdownPreview/MarkdownPreview.d.ts +0 -6
- package/dist/types/src/components/MarkdownPreview/MarkdownPreview.d.ts.map +0 -1
- package/dist/types/src/components/MarkdownPreview/MarkdownPreview.stories.d.ts +0 -17
- package/dist/types/src/components/MarkdownPreview/MarkdownPreview.stories.d.ts.map +0 -1
- package/dist/types/src/components/MarkdownPreview/index.d.ts +0 -4
- package/dist/types/src/components/MarkdownPreview/index.d.ts.map +0 -1
- package/dist/types/src/types/schema.d.ts +0 -35
- package/dist/types/src/types/schema.d.ts.map +0 -1
- package/src/components/MarkdownPreview/MarkdownPreview.stories.tsx +0 -74
- package/src/components/MarkdownPreview/index.ts +0 -9
- package/src/types/schema.ts +0 -39
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
-
import {
|
|
3
|
-
MARKDOWN_PLUGIN
|
|
4
|
-
} from "./chunk-RX63ZNML.mjs";
|
|
5
|
-
|
|
6
|
-
// packages/plugins/plugin-markdown/src/types/schema.ts
|
|
7
|
-
import { Schema } from "effect";
|
|
8
|
-
import { Obj, Ref, Type } from "@dxos/echo";
|
|
9
|
-
import { LabelAnnotation } from "@dxos/echo-schema";
|
|
10
|
-
import { DataType } from "@dxos/schema";
|
|
11
|
-
var DocumentSchema = Schema.Struct({
|
|
12
|
-
name: Schema.optional(Schema.String),
|
|
13
|
-
fallbackName: Schema.optional(Schema.String),
|
|
14
|
-
content: Type.Ref(DataType.Text)
|
|
15
|
-
}).pipe(LabelAnnotation.set([
|
|
16
|
-
"name",
|
|
17
|
-
"fallbackName"
|
|
18
|
-
]));
|
|
19
|
-
var DocumentType = DocumentSchema.pipe(Type.Obj({
|
|
20
|
-
typename: "dxos.org/type/Document",
|
|
21
|
-
version: "0.1.0"
|
|
22
|
-
}));
|
|
23
|
-
var createDocument = ({ name, content }) => Obj.make(DocumentType, {
|
|
24
|
-
name,
|
|
25
|
-
content: Ref.make(Obj.make(DataType.Text, {
|
|
26
|
-
content
|
|
27
|
-
}))
|
|
28
|
-
});
|
|
29
|
-
var isEditorModel = (data) => data && typeof data === "object" && "id" in data && typeof data.id === "string" && "text" in data && typeof data.text === "string";
|
|
30
|
-
|
|
31
|
-
// packages/plugins/plugin-markdown/src/types/types.ts
|
|
32
|
-
import { Schema as Schema2 } from "effect";
|
|
33
|
-
import { Type as Type2 } from "@dxos/echo";
|
|
34
|
-
import { EditorInputMode, EditorViewMode } from "@dxos/react-ui-editor";
|
|
35
|
-
var MARKDOWN_ACTION = `${MARKDOWN_PLUGIN}/action`;
|
|
36
|
-
(function(MarkdownAction2) {
|
|
37
|
-
class Create extends Schema2.TaggedClass()(MARKDOWN_ACTION, {
|
|
38
|
-
input: Schema2.Struct({
|
|
39
|
-
spaceId: Type2.SpaceId,
|
|
40
|
-
name: Schema2.optional(Schema2.String),
|
|
41
|
-
content: Schema2.optional(Schema2.String)
|
|
42
|
-
}),
|
|
43
|
-
output: Schema2.Struct({
|
|
44
|
-
object: DocumentType
|
|
45
|
-
})
|
|
46
|
-
}) {
|
|
47
|
-
}
|
|
48
|
-
MarkdownAction2.Create = Create;
|
|
49
|
-
class SetViewMode extends Schema2.TaggedClass()(`${MARKDOWN_ACTION}/set-view-mode`, {
|
|
50
|
-
input: Schema2.Struct({
|
|
51
|
-
id: Schema2.String,
|
|
52
|
-
viewMode: EditorViewMode
|
|
53
|
-
}),
|
|
54
|
-
output: Schema2.Void
|
|
55
|
-
}) {
|
|
56
|
-
}
|
|
57
|
-
MarkdownAction2.SetViewMode = SetViewMode;
|
|
58
|
-
})(MarkdownAction || (MarkdownAction = {}));
|
|
59
|
-
var MarkdownSettingsSchema = Schema2.mutable(Schema2.Struct({
|
|
60
|
-
defaultViewMode: EditorViewMode,
|
|
61
|
-
editorInputMode: Schema2.optional(EditorInputMode),
|
|
62
|
-
experimental: Schema2.optional(Schema2.Boolean),
|
|
63
|
-
debug: Schema2.optional(Schema2.Boolean),
|
|
64
|
-
toolbar: Schema2.optional(Schema2.Boolean),
|
|
65
|
-
typewriter: Schema2.optional(Schema2.String),
|
|
66
|
-
// TODO(burdon): Per document settings.
|
|
67
|
-
numberedHeadings: Schema2.optional(Schema2.Boolean),
|
|
68
|
-
folding: Schema2.optional(Schema2.Boolean)
|
|
69
|
-
}));
|
|
70
|
-
var MarkdownAction;
|
|
71
|
-
|
|
72
|
-
export {
|
|
73
|
-
DocumentSchema,
|
|
74
|
-
DocumentType,
|
|
75
|
-
createDocument,
|
|
76
|
-
isEditorModel,
|
|
77
|
-
MarkdownSettingsSchema,
|
|
78
|
-
MarkdownAction
|
|
79
|
-
};
|
|
80
|
-
//# sourceMappingURL=chunk-T2Y2BT53.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/types/schema.ts", "../../../src/types/types.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { Obj, Ref, Type } from '@dxos/echo';\nimport { LabelAnnotation } from '@dxos/echo-schema';\nimport { DataType } from '@dxos/schema';\n\nexport const DocumentSchema = Schema.Struct({\n name: Schema.optional(Schema.String),\n fallbackName: Schema.optional(Schema.String),\n content: Type.Ref(DataType.Text),\n}).pipe(LabelAnnotation.set(['name', 'fallbackName']));\n\nexport const DocumentType = DocumentSchema.pipe(\n Type.Obj({\n typename: 'dxos.org/type/Document',\n version: '0.1.0',\n }),\n);\nexport type DocumentType = Schema.Schema.Type<typeof DocumentType>;\n\n// TODO(burdon): Replace when defaults are supported.\nexport const createDocument = ({ name, content }: { name: string; content: string }) =>\n Obj.make(DocumentType, { name, content: Ref.make(Obj.make(DataType.Text, { content })) });\n\n/**\n * Checks if an object conforms to the interface needed to render an editor.\n */\n// TODO(burdon): Normalize types (from FilesPlugin).\nexport const isEditorModel = (data: any): data is { id: string; text: string } =>\n data &&\n typeof data === 'object' &&\n 'id' in data &&\n typeof data.id === 'string' &&\n 'text' in data &&\n typeof data.text === 'string';\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { Type } from '@dxos/echo';\n// TODO(wittjosiah): This pulls in UI code into the types entrypoint.\nimport { type Extension, EditorInputMode, EditorViewMode } from '@dxos/react-ui-editor';\n\nimport { DocumentType } from './schema';\nimport { MARKDOWN_PLUGIN } from '../meta';\n\nconst MARKDOWN_ACTION = `${MARKDOWN_PLUGIN}/action`;\n\nexport namespace MarkdownAction {\n export class Create extends Schema.TaggedClass<Create>()(MARKDOWN_ACTION, {\n input: Schema.Struct({\n spaceId: Type.SpaceId,\n name: Schema.optional(Schema.String),\n content: Schema.optional(Schema.String),\n }),\n output: Schema.Struct({\n object: DocumentType,\n }),\n }) {}\n\n export class SetViewMode extends Schema.TaggedClass<SetViewMode>()(`${MARKDOWN_ACTION}/set-view-mode`, {\n input: Schema.Struct({\n id: Schema.String,\n viewMode: EditorViewMode,\n }),\n output: Schema.Void,\n }) {}\n}\n\nexport type MarkdownProperties = Record<string, any>;\n\n// TODO(burdon): Async.\nexport type MarkdownExtensionProvider = (props: { document?: DocumentType }) => Extension | undefined;\n\nexport type OnChange = (text: string) => void;\n\nexport type MarkdownPluginState = {\n // Codemirror extensions provided by other plugins.\n extensionProviders?: MarkdownExtensionProvider[];\n\n // TODO(burdon): Extend view mode per document to include scroll position, etc.\n // View mode per document.\n viewMode: Record<string, EditorViewMode>;\n};\n\nexport const MarkdownSettingsSchema = Schema.mutable(\n Schema.Struct({\n defaultViewMode: EditorViewMode,\n editorInputMode: Schema.optional(EditorInputMode),\n experimental: Schema.optional(Schema.Boolean),\n debug: Schema.optional(Schema.Boolean),\n toolbar: Schema.optional(Schema.Boolean),\n typewriter: Schema.optional(Schema.String),\n // TODO(burdon): Per document settings.\n numberedHeadings: Schema.optional(Schema.Boolean),\n folding: Schema.optional(Schema.Boolean),\n }),\n);\n\nexport type MarkdownSettingsProps = Schema.Schema.Type<typeof MarkdownSettingsSchema>;\n"],
|
|
5
|
-
"mappings": ";;;;;;AAIA,SAASA,cAAc;AAEvB,SAASC,KAAKC,KAAKC,YAAY;AAC/B,SAASC,uBAAuB;AAChC,SAASC,gBAAgB;AAElB,IAAMC,iBAAiBC,OAAOC,OAAO;EAC1CC,MAAMF,OAAOG,SAASH,OAAOI,MAAM;EACnCC,cAAcL,OAAOG,SAASH,OAAOI,MAAM;EAC3CE,SAASC,KAAKC,IAAIC,SAASC,IAAI;AACjC,CAAA,EAAGC,KAAKC,gBAAgBC,IAAI;EAAC;EAAQ;CAAe,CAAA;AAE7C,IAAMC,eAAef,eAAeY,KACzCJ,KAAKQ,IAAI;EACPC,UAAU;EACVC,SAAS;AACX,CAAA,CAAA;AAKK,IAAMC,iBAAiB,CAAC,EAAEhB,MAAMI,QAAO,MAC5CS,IAAII,KAAKL,cAAc;EAAEZ;EAAMI,SAASE,IAAIW,KAAKJ,IAAII,KAAKV,SAASC,MAAM;IAAEJ;EAAQ,CAAA,CAAA;AAAI,CAAA;AAMlF,IAAMc,gBAAgB,CAACC,SAC5BA,QACA,OAAOA,SAAS,YAChB,QAAQA,QACR,OAAOA,KAAKC,OAAO,YACnB,UAAUD,QACV,OAAOA,KAAKE,SAAS;;;AClCvB,SAASC,UAAAA,eAAc;AAEvB,SAASC,QAAAA,aAAY;AAErB,SAAyBC,iBAAiBC,sBAAsB;AAKhE,IAAMC,kBAAkB,GAAGC,eAAAA;UAEVC,iBAAAA;EACR,MAAMC,eAAeC,QAAOC,YAAW,EAAWL,iBAAiB;IACxEM,OAAOF,QAAOG,OAAO;MACnBC,SAASC,MAAKC;MACdC,MAAMP,QAAOQ,SAASR,QAAOS,MAAM;MACnCC,SAASV,QAAOQ,SAASR,QAAOS,MAAM;IACxC,CAAA;IACAE,QAAQX,QAAOG,OAAO;MACpBS,QAAQC;IACV,CAAA;EACF,CAAA,EAAA;EAAI;kBATSd,SAAAA;EAWN,MAAMe,oBAAoBd,QAAOC,YAAW,EAAgB,GAAGL,eAAAA,kBAAiC;IACrGM,OAAOF,QAAOG,OAAO;MACnBY,IAAIf,QAAOS;MACXO,UAAUC;IACZ,CAAA;IACAN,QAAQX,QAAOkB;EACjB,CAAA,EAAA;EAAI;kBANSJ,cAAAA;AAOf,GAnBiBhB,mBAAAA,iBAAAA,CAAAA,EAAAA;AAqCV,IAAMqB,yBAAyBnB,QAAOoB,QAC3CpB,QAAOG,OAAO;EACZkB,iBAAiBJ;EACjBK,iBAAiBtB,QAAOQ,SAASe,eAAAA;EACjCC,cAAcxB,QAAOQ,SAASR,QAAOyB,OAAO;EAC5CC,OAAO1B,QAAOQ,SAASR,QAAOyB,OAAO;EACrCE,SAAS3B,QAAOQ,SAASR,QAAOyB,OAAO;EACvCG,YAAY5B,QAAOQ,SAASR,QAAOS,MAAM;;EAEzCoB,kBAAkB7B,QAAOQ,SAASR,QAAOyB,OAAO;EAChDK,SAAS9B,QAAOQ,SAASR,QAAOyB,OAAO;AACzC,CAAA,CAAA;;",
|
|
6
|
-
"names": ["Schema", "Obj", "Ref", "Type", "LabelAnnotation", "DataType", "DocumentSchema", "Schema", "Struct", "name", "optional", "String", "fallbackName", "content", "Type", "Ref", "DataType", "Text", "pipe", "LabelAnnotation", "set", "DocumentType", "Obj", "typename", "version", "createDocument", "make", "isEditorModel", "data", "id", "text", "Schema", "Type", "EditorInputMode", "EditorViewMode", "MARKDOWN_ACTION", "MARKDOWN_PLUGIN", "MarkdownAction", "Create", "Schema", "TaggedClass", "input", "Struct", "spaceId", "Type", "SpaceId", "name", "optional", "String", "content", "output", "object", "DocumentType", "SetViewMode", "id", "viewMode", "EditorViewMode", "Void", "MarkdownSettingsSchema", "mutable", "defaultViewMode", "editorInputMode", "EditorInputMode", "experimental", "Boolean", "debug", "toolbar", "typewriter", "numberedHeadings", "folding"]
|
|
7
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
-
|
|
3
|
-
// packages/plugins/plugin-markdown/src/capabilities/index.ts
|
|
4
|
-
import { lazy } from "@dxos/app-framework";
|
|
5
|
-
var AnchorSort = lazy(() => import("./anchor-sort-BXL7BE67.mjs"));
|
|
6
|
-
var AppGraphSerializer = lazy(() => import("./app-graph-serializer-F7DGNF3G.mjs"));
|
|
7
|
-
var ArtifactDefinition = lazy(() => import("./artifact-definition-NQOHB6S5.mjs"));
|
|
8
|
-
var IntentResolver = lazy(() => import("./intent-resolver-CLMSVF2K.mjs"));
|
|
9
|
-
var ReactSurface = lazy(() => import("./react-surface-YHFOQTVO.mjs"));
|
|
10
|
-
var MarkdownSettings = lazy(() => import("./settings-SIY33P3F.mjs"));
|
|
11
|
-
var MarkdownState = lazy(() => import("./state-LLGVRYKL.mjs"));
|
|
12
|
-
|
|
13
|
-
export {
|
|
14
|
-
AnchorSort,
|
|
15
|
-
AppGraphSerializer,
|
|
16
|
-
ArtifactDefinition,
|
|
17
|
-
IntentResolver,
|
|
18
|
-
ReactSurface,
|
|
19
|
-
MarkdownSettings,
|
|
20
|
-
MarkdownState
|
|
21
|
-
};
|
|
22
|
-
//# sourceMappingURL=chunk-YOABAQ7A.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/capabilities/index.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { lazy } from '@dxos/app-framework';\n\nexport const AnchorSort = lazy(() => import('./anchor-sort'));\nexport const AppGraphSerializer = lazy(() => import('./app-graph-serializer'));\nexport const ArtifactDefinition = lazy(() => import('./artifact-definition'));\nexport const IntentResolver = lazy(() => import('./intent-resolver'));\nexport const ReactSurface = lazy(() => import('./react-surface'));\nexport const MarkdownSettings = lazy(() => import('./settings'));\nexport const MarkdownState = lazy(() => import('./state'));\n\nexport * from './capabilities';\n"],
|
|
5
|
-
"mappings": ";;;AAIA,SAASA,YAAY;AAEd,IAAMC,aAAaC,KAAK,MAAM,OAAO,4BAAA,CAAA;AACrC,IAAMC,qBAAqBD,KAAK,MAAM,OAAO,qCAAA,CAAA;AAC7C,IAAME,qBAAqBF,KAAK,MAAM,OAAO,oCAAA,CAAA;AAC7C,IAAMG,iBAAiBH,KAAK,MAAM,OAAO,gCAAA,CAAA;AACzC,IAAMI,eAAeJ,KAAK,MAAM,OAAO,8BAAA,CAAA;AACvC,IAAMK,mBAAmBL,KAAK,MAAM,OAAO,yBAAA,CAAA;AAC3C,IAAMM,gBAAgBN,KAAK,MAAM,OAAO,sBAAA,CAAA;",
|
|
6
|
-
"names": ["lazy", "AnchorSort", "lazy", "AppGraphSerializer", "ArtifactDefinition", "IntentResolver", "ReactSurface", "MarkdownSettings", "MarkdownState"]
|
|
7
|
-
}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
-
import {
|
|
3
|
-
MarkdownCapabilities
|
|
4
|
-
} from "./chunk-JXXDCSMW.mjs";
|
|
5
|
-
import {
|
|
6
|
-
DocumentType,
|
|
7
|
-
MarkdownAction
|
|
8
|
-
} from "./chunk-T2Y2BT53.mjs";
|
|
9
|
-
import "./chunk-RX63ZNML.mjs";
|
|
10
|
-
|
|
11
|
-
// packages/plugins/plugin-markdown/src/capabilities/intent-resolver.ts
|
|
12
|
-
import { next as A } from "@automerge/automerge";
|
|
13
|
-
import { Option, pipe } from "effect";
|
|
14
|
-
import { Capabilities, CollaborationActions, contributes, createResolver } from "@dxos/app-framework";
|
|
15
|
-
import { Obj } from "@dxos/echo";
|
|
16
|
-
import { createDocAccessor, getRangeFromCursor, Ref } from "@dxos/react-client/echo";
|
|
17
|
-
import { DataType } from "@dxos/schema";
|
|
18
|
-
var intent_resolver_default = (context) => contributes(Capabilities.IntentResolver, [
|
|
19
|
-
createResolver({
|
|
20
|
-
intent: MarkdownAction.Create,
|
|
21
|
-
resolve: ({ name, content }) => {
|
|
22
|
-
const doc = Obj.make(DocumentType, {
|
|
23
|
-
name,
|
|
24
|
-
content: Ref.make(Obj.make(DataType.Text, {
|
|
25
|
-
content: content ?? ""
|
|
26
|
-
}))
|
|
27
|
-
});
|
|
28
|
-
return {
|
|
29
|
-
data: {
|
|
30
|
-
object: doc
|
|
31
|
-
}
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
}),
|
|
35
|
-
createResolver({
|
|
36
|
-
intent: MarkdownAction.SetViewMode,
|
|
37
|
-
resolve: ({ id, viewMode }) => {
|
|
38
|
-
const { state } = context.getCapability(MarkdownCapabilities.State);
|
|
39
|
-
state.viewMode[id] = viewMode;
|
|
40
|
-
}
|
|
41
|
-
}),
|
|
42
|
-
createResolver({
|
|
43
|
-
intent: CollaborationActions.InsertContent,
|
|
44
|
-
filter: (data) => Obj.instanceOf(DocumentType, data.target),
|
|
45
|
-
resolve: async ({ target, object: objectRef, at, label }) => {
|
|
46
|
-
const text = await target.content.load();
|
|
47
|
-
const accessor = createDocAccessor(text, [
|
|
48
|
-
"content"
|
|
49
|
-
]);
|
|
50
|
-
const { start, end } = pipe(Option.fromNullable(at), Option.flatMap((at2) => Option.fromNullable(getRangeFromCursor(accessor, at2))), Option.getOrElse(() => ({
|
|
51
|
-
start: text.content.length - 1,
|
|
52
|
-
end: text.content.length - 1
|
|
53
|
-
})));
|
|
54
|
-
accessor.handle.change((doc) => {
|
|
55
|
-
const ref = `[${label ?? "Generated content"}]](${objectRef.dxn.toString()})
|
|
56
|
-
`;
|
|
57
|
-
A.splice(doc, accessor.path.slice(), start, end - start, ref);
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
})
|
|
61
|
-
]);
|
|
62
|
-
export {
|
|
63
|
-
intent_resolver_default as default
|
|
64
|
-
};
|
|
65
|
-
//# sourceMappingURL=intent-resolver-CLMSVF2K.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/capabilities/intent-resolver.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { next as A } from '@automerge/automerge';\nimport { Option, pipe, type Schema } from 'effect';\n\nimport {\n Capabilities,\n CollaborationActions,\n contributes,\n createResolver,\n type PluginContext,\n} from '@dxos/app-framework';\nimport { Obj } from '@dxos/echo';\nimport { createDocAccessor, getRangeFromCursor, Ref } from '@dxos/react-client/echo';\nimport { DataType } from '@dxos/schema';\n\nimport { MarkdownCapabilities } from './capabilities';\nimport { DocumentType, MarkdownAction } from '../types';\n\nexport default (context: PluginContext) =>\n contributes(Capabilities.IntentResolver, [\n createResolver({\n intent: MarkdownAction.Create,\n resolve: ({ name, content }) => {\n const doc = Obj.make(DocumentType, {\n name,\n content: Ref.make(Obj.make(DataType.Text, { content: content ?? '' })),\n });\n\n return { data: { object: doc } };\n },\n }),\n createResolver({\n intent: MarkdownAction.SetViewMode,\n resolve: ({ id, viewMode }) => {\n const { state } = context.getCapability(MarkdownCapabilities.State);\n state.viewMode[id] = viewMode;\n },\n }),\n createResolver({\n intent: CollaborationActions.InsertContent,\n filter: (\n data,\n ): data is Omit<Schema.Schema.Type<typeof CollaborationActions.InsertContent.fields.input>, 'target'> & {\n target: DocumentType;\n } => Obj.instanceOf(DocumentType, data.target),\n resolve: async ({ target, object: objectRef, at, label }) => {\n const text = await target.content.load();\n const accessor = createDocAccessor(text, ['content']);\n const { start, end } = pipe(\n Option.fromNullable(at),\n Option.flatMap((at) => Option.fromNullable(getRangeFromCursor(accessor, at))),\n Option.getOrElse(() => ({ start: text.content.length - 1, end: text.content.length - 1 })),\n );\n accessor.handle.change((doc) => {\n const ref = `[${label ?? 'Generated content'}]](${objectRef.dxn.toString()})\\n`;\n A.splice(doc, accessor.path.slice(), start, end - start, ref);\n });\n },\n }),\n ]);\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;AAIA,SAASA,QAAQC,SAAS;AAC1B,SAASC,QAAQC,YAAyB;AAE1C,SACEC,cACAC,sBACAC,aACAC,sBAEK;AACP,SAASC,WAAW;AACpB,SAASC,mBAAmBC,oBAAoBC,WAAW;AAC3D,SAASC,gBAAgB;AAKzB,IAAA,0BAAe,CAACC,YACdC,YAAYC,aAAaC,gBAAgB;EACvCC,eAAe;IACbC,QAAQC,eAAeC;IACvBC,SAAS,CAAC,EAAEC,MAAMC,QAAO,MAAE;AACzB,YAAMC,MAAMC,IAAIC,KAAKC,cAAc;QACjCL;QACAC,SAASK,IAAIF,KAAKD,IAAIC,KAAKG,SAASC,MAAM;UAAEP,SAASA,WAAW;QAAG,CAAA,CAAA;MACrE,CAAA;AAEA,aAAO;QAAEQ,MAAM;UAAEC,QAAQR;QAAI;MAAE;IACjC;EACF,CAAA;EACAP,eAAe;IACbC,QAAQC,eAAec;IACvBZ,SAAS,CAAC,EAAEa,IAAIC,SAAQ,MAAE;AACxB,YAAM,EAAEC,MAAK,IAAKvB,QAAQwB,cAAcC,qBAAqBC,KAAK;AAClEH,YAAMD,SAASD,EAAAA,IAAMC;IACvB;EACF,CAAA;EACAlB,eAAe;IACbC,QAAQsB,qBAAqBC;IAC7BC,QAAQ,CACNX,SAGGN,IAAIkB,WAAWhB,cAAcI,KAAKa,MAAM;IAC7CvB,SAAS,OAAO,EAAEuB,QAAQZ,QAAQa,WAAWC,IAAIC,MAAK,MAAE;AACtD,YAAMC,OAAO,MAAMJ,OAAOrB,QAAQ0B,KAAI;AACtC,YAAMC,WAAWC,kBAAkBH,MAAM;QAAC;OAAU;AACpD,YAAM,EAAEI,OAAOC,IAAG,IAAKC,KACrBC,OAAOC,aAAaV,EAAAA,GACpBS,OAAOE,QAAQ,CAACX,QAAOS,OAAOC,aAAaE,mBAAmBR,UAAUJ,GAAAA,CAAAA,CAAAA,GACxES,OAAOI,UAAU,OAAO;QAAEP,OAAOJ,KAAKzB,QAAQqC,SAAS;QAAGP,KAAKL,KAAKzB,QAAQqC,SAAS;MAAE,EAAA,CAAA;AAEzFV,eAASW,OAAOC,OAAO,CAACtC,QAAAA;AACtB,cAAMuC,MAAM,IAAIhB,SAAS,mBAAA,MAAyBF,UAAUmB,IAAIC,SAAQ,CAAA;;AACxEC,UAAEC,OAAO3C,KAAK0B,SAASkB,KAAKC,MAAK,GAAIjB,OAAOC,MAAMD,OAAOW,GAAAA;MAC3D,CAAA;IACF;EACF,CAAA;CACD;",
|
|
6
|
-
"names": ["next", "A", "Option", "pipe", "Capabilities", "CollaborationActions", "contributes", "createResolver", "Obj", "createDocAccessor", "getRangeFromCursor", "Ref", "DataType", "context", "contributes", "Capabilities", "IntentResolver", "createResolver", "intent", "MarkdownAction", "Create", "resolve", "name", "content", "doc", "Obj", "make", "DocumentType", "Ref", "DataType", "Text", "data", "object", "SetViewMode", "id", "viewMode", "state", "getCapability", "MarkdownCapabilities", "State", "CollaborationActions", "InsertContent", "filter", "instanceOf", "target", "objectRef", "at", "label", "text", "load", "accessor", "createDocAccessor", "start", "end", "pipe", "Option", "fromNullable", "flatMap", "getRangeFromCursor", "getOrElse", "length", "handle", "change", "ref", "dxn", "toString", "A", "splice", "path", "slice"]
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/capabilities/react-surface.tsx", "../../../src/components/index.ts", "../../../src/components/MarkdownSettings/MarkdownSettings.tsx"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { createSurface, contributes, Capabilities, useCapability } from '@dxos/app-framework';\nimport { Obj } from '@dxos/echo';\nimport { SettingsStore } from '@dxos/local-storage';\nimport { AttentionCapabilities } from '@dxos/plugin-attention';\nimport { fullyQualifiedId } from '@dxos/react-client/echo';\nimport { DataType } from '@dxos/schema';\n\nimport { MarkdownCapabilities } from './capabilities';\nimport { MarkdownContainer, MarkdownSettings, MarkdownPreview } from '../components';\nimport { MARKDOWN_PLUGIN } from '../meta';\nimport { DocumentType, isEditorModel, type MarkdownSettingsProps } from '../types';\n\nexport default () =>\n contributes(Capabilities.ReactSurface, [\n createSurface({\n id: `${MARKDOWN_PLUGIN}/document`,\n role: ['article', 'section', 'tabpanel'],\n filter: (data): data is { subject: DocumentType; variant: undefined } =>\n Obj.instanceOf(DocumentType, data.subject) && !data.variant,\n component: ({ data, role }) => {\n const selectionManager = useCapability(AttentionCapabilities.Selection);\n const settingsStore = useCapability(Capabilities.SettingsStore);\n const settings = settingsStore.getStore<MarkdownSettingsProps>(MARKDOWN_PLUGIN)!.value;\n const { state, editorState, getViewMode, setViewMode } = useCapability(MarkdownCapabilities.State);\n const viewMode = getViewMode(fullyQualifiedId(data.subject));\n\n return (\n <MarkdownContainer\n id={fullyQualifiedId(data.subject)}\n object={data.subject}\n role={role}\n settings={settings}\n selectionManager={selectionManager}\n extensionProviders={state.extensionProviders}\n viewMode={viewMode}\n editorStateStore={editorState}\n onViewModeChange={setViewMode}\n />\n );\n },\n }),\n createSurface({\n id: `${MARKDOWN_PLUGIN}/text`,\n role: ['article', 'section', 'tabpanel'],\n filter: (data): data is { id: string; subject: DataType.Text } =>\n typeof data.id === 'string' && Obj.instanceOf(DataType.Text, data.subject),\n component: ({ data, role }) => {\n const selectionManager = useCapability(AttentionCapabilities.Selection);\n const settingsStore = useCapability(Capabilities.SettingsStore);\n const settings = settingsStore.getStore<MarkdownSettingsProps>(MARKDOWN_PLUGIN)!.value;\n const { state, editorState, getViewMode, setViewMode } = useCapability(MarkdownCapabilities.State);\n\n return (\n <MarkdownContainer\n id={data.id}\n object={data.subject}\n role={role}\n settings={settings}\n selectionManager={selectionManager}\n extensionProviders={state.extensionProviders}\n viewMode={getViewMode(data.id)}\n editorStateStore={editorState}\n onViewModeChange={setViewMode}\n />\n );\n },\n }),\n createSurface({\n id: `${MARKDOWN_PLUGIN}/editor`,\n role: ['article', 'section'],\n filter: (data): data is { subject: { id: string; text: string } } => isEditorModel(data.subject),\n component: ({ data, role }) => {\n const selectionManager = useCapability(AttentionCapabilities.Selection);\n const settingsStore = useCapability(Capabilities.SettingsStore);\n const settings = settingsStore.getStore<MarkdownSettingsProps>(MARKDOWN_PLUGIN)!.value;\n const { state, editorState, getViewMode, setViewMode } = useCapability(MarkdownCapabilities.State);\n\n return (\n <MarkdownContainer\n id={data.subject.id}\n object={data.subject}\n role={role}\n settings={settings}\n selectionManager={selectionManager}\n extensionProviders={state.extensionProviders}\n viewMode={getViewMode(data.subject.id)}\n editorStateStore={editorState}\n onViewModeChange={setViewMode}\n />\n );\n },\n }),\n createSurface({\n id: `${MARKDOWN_PLUGIN}/plugin-settings`,\n role: 'article',\n filter: (data): data is { subject: SettingsStore<MarkdownSettingsProps> } =>\n data.subject instanceof SettingsStore && data.subject.prefix === MARKDOWN_PLUGIN,\n component: ({ data: { subject } }) => <MarkdownSettings settings={subject.value} />,\n }),\n createSurface({\n id: `${MARKDOWN_PLUGIN}/preview`,\n role: ['popover', 'card--kanban', 'card--document', 'card'],\n filter: (data): data is { subject: DocumentType | DataType.Text } =>\n Obj.instanceOf(DocumentType, data.subject) || Obj.instanceOf(DataType.Text, data.subject),\n component: ({ data, role }) => <MarkdownPreview {...data} role={role} />,\n }),\n ]);\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { lazy } from 'react';\n\nexport * from './MarkdownSettings';\n\nexport const MarkdownContainer = lazy(() => import('./MarkdownContainer'));\nexport const MarkdownPreview = lazy(() => import('./MarkdownPreview'));\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Input, Select, useTranslation } from '@dxos/react-ui';\nimport { type EditorInputMode, EditorInputModes, type EditorViewMode, EditorViewModes } from '@dxos/react-ui-editor';\nimport { DeprecatedFormContainer, DeprecatedFormInput } from '@dxos/react-ui-form';\n\nimport { MARKDOWN_PLUGIN } from '../../meta';\nimport { type MarkdownSettingsProps } from '../../types';\n\nexport const MarkdownSettings = ({ settings }: { settings: MarkdownSettingsProps }) => {\n const { t } = useTranslation(MARKDOWN_PLUGIN);\n\n // TODO(wittjosiah): Add skill test confirmation for entering vim mode.\n return (\n <DeprecatedFormContainer>\n <DeprecatedFormInput label={t('default view mode label')}>\n <Select.Root\n value={settings.defaultViewMode}\n onValueChange={(value) => {\n settings.defaultViewMode = value as EditorViewMode;\n }}\n >\n <Select.TriggerButton />\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n {EditorViewModes.map((mode) => (\n <Select.Option key={mode} value={mode}>\n {t(`${mode} mode label`, { ns: 'react-ui-editor' })}\n </Select.Option>\n ))}\n </Select.Viewport>\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n </DeprecatedFormInput>\n\n <DeprecatedFormInput label={t('editor input mode label')}>\n <Select.Root\n value={settings.editorInputMode ?? 'default'}\n onValueChange={(value) => {\n settings.editorInputMode = value as EditorInputMode;\n }}\n >\n <Select.TriggerButton placeholder={t('select editor input mode placeholder')} />\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n {EditorInputModes.map((mode) => (\n <Select.Option key={mode} value={mode}>\n {t(`settings editor input mode ${mode} label`)}\n </Select.Option>\n ))}\n </Select.Viewport>\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n </DeprecatedFormInput>\n\n <DeprecatedFormInput label={t('settings toolbar label')}>\n <Input.Switch checked={settings.toolbar} onCheckedChange={(checked) => (settings.toolbar = !!checked)} />\n </DeprecatedFormInput>\n\n <DeprecatedFormInput label={t('settings numbered headings label')}>\n <Input.Switch\n checked={settings.numberedHeadings}\n onCheckedChange={(checked) => (settings.numberedHeadings = !!checked)}\n />\n </DeprecatedFormInput>\n\n <DeprecatedFormInput label={t('settings folding label')}>\n <Input.Switch checked={settings.folding} onCheckedChange={(checked) => (settings.folding = !!checked)} />\n </DeprecatedFormInput>\n\n <DeprecatedFormInput label={t('settings experimental label')}>\n <Input.Switch\n checked={settings.experimental}\n onCheckedChange={(checked) => (settings.experimental = !!checked)}\n />\n </DeprecatedFormInput>\n\n <DeprecatedFormInput\n label={t('settings debug label')}\n secondary={\n settings.debug ? (\n <Input.Root>\n <Input.TextArea\n rows={5}\n value={settings.typewriter}\n onChange={({ target: { value } }) => (settings.typewriter = value)}\n placeholder={t('settings debug placeholder')}\n />\n </Input.Root>\n ) : undefined\n }\n >\n <Input.Switch checked={settings.debug} onCheckedChange={(checked) => (settings.debug = !!checked)} />\n </DeprecatedFormInput>\n </DeprecatedFormContainer>\n );\n};\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["React", "createSurface", "contributes", "Capabilities", "useCapability", "Obj", "SettingsStore", "AttentionCapabilities", "fullyQualifiedId", "DataType", "lazy", "React", "Input", "Select", "useTranslation", "EditorInputModes", "EditorViewModes", "DeprecatedFormContainer", "DeprecatedFormInput", "MarkdownSettings", "settings", "t", "useTranslation", "MARKDOWN_PLUGIN", "DeprecatedFormContainer", "DeprecatedFormInput", "label", "Select", "Root", "value", "defaultViewMode", "onValueChange", "TriggerButton", "Portal", "Content", "Viewport", "EditorViewModes", "map", "mode", "Option", "key", "ns", "editorInputMode", "placeholder", "EditorInputModes", "Input", "Switch", "checked", "toolbar", "onCheckedChange", "numberedHeadings", "folding", "experimental", "secondary", "debug", "TextArea", "rows", "typewriter", "onChange", "target", "undefined", "MarkdownContainer", "lazy", "MarkdownPreview", "contributes", "Capabilities", "ReactSurface", "createSurface", "id", "MARKDOWN_PLUGIN", "role", "filter", "data", "Obj", "instanceOf", "DocumentType", "subject", "variant", "component", "selectionManager", "useCapability", "AttentionCapabilities", "Selection", "settingsStore", "SettingsStore", "settings", "getStore", "value", "state", "editorState", "getViewMode", "setViewMode", "MarkdownCapabilities", "State", "viewMode", "fullyQualifiedId", "React", "MarkdownContainer", "object", "extensionProviders", "editorStateStore", "onViewModeChange", "DataType", "Text", "isEditorModel", "prefix", "MarkdownSettings", "MarkdownPreview"]
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/capabilities/settings.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes } from '@dxos/app-framework';\nimport { live } from '@dxos/live-object';\n\nimport { meta } from '../meta';\nimport { type MarkdownSettingsProps, MarkdownSettingsSchema } from '../types';\n\nexport default () => {\n const settings = live<MarkdownSettingsProps>({\n defaultViewMode: 'preview',\n toolbar: true,\n numberedHeadings: true,\n folding: true,\n experimental: false,\n });\n\n return contributes(Capabilities.Settings, {\n prefix: meta.id,\n schema: MarkdownSettingsSchema,\n value: settings,\n });\n};\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;AAIA,SAASA,cAAcC,mBAAmB;AAC1C,SAASC,YAAY;AAKrB,IAAA,mBAAe,MAAA;AACb,QAAMC,WAAWC,KAA4B;IAC3CC,iBAAiB;IACjBC,SAAS;IACTC,kBAAkB;IAClBC,SAAS;IACTC,cAAc;EAChB,CAAA;AAEA,SAAOC,YAAYC,aAAaC,UAAU;IACxCC,QAAQC,KAAKC;IACbC,QAAQC;IACRC,OAAOf;EACT,CAAA;AACF;",
|
|
6
|
-
"names": ["Capabilities", "contributes", "live", "settings", "live", "defaultViewMode", "toolbar", "numberedHeadings", "folding", "experimental", "contributes", "Capabilities", "Settings", "prefix", "meta", "id", "schema", "MarkdownSettingsSchema", "value"]
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/capabilities/state.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes, type PluginContext } from '@dxos/app-framework';\nimport { LocalStorageStore } from '@dxos/local-storage';\nimport { type EditorViewMode, createEditorStateStore } from '@dxos/react-ui-editor';\n\nimport { MarkdownCapabilities } from './capabilities';\nimport { MARKDOWN_PLUGIN } from '../meta';\nimport { type MarkdownPluginState, type MarkdownSettingsProps } from '../types';\n\nexport default (context: PluginContext) => {\n const state = new LocalStorageStore<MarkdownPluginState>(MARKDOWN_PLUGIN, { extensionProviders: [], viewMode: {} });\n state.prop({ key: 'viewMode', type: LocalStorageStore.json<{ [key: string]: EditorViewMode }>() });\n\n // TODO(wittjosiah): Fold into state.\n const editorState = createEditorStateStore(`${MARKDOWN_PLUGIN}/editor`);\n\n const getViewMode = (id: string) => {\n const defaultViewMode = context\n .getCapability(Capabilities.SettingsStore)\n .getStore<MarkdownSettingsProps>(MARKDOWN_PLUGIN)!.value.defaultViewMode;\n return (id && state.values.viewMode[id]) || defaultViewMode;\n };\n\n const setViewMode = (id: string, viewMode: EditorViewMode) => (state.values.viewMode[id] = viewMode);\n\n // Return object with methods.\n return contributes(MarkdownCapabilities.State, { state: state.values, editorState, getViewMode, setViewMode });\n};\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;AAIA,SAASA,cAAcC,mBAAuC;AAC9D,SAASC,yBAAyB;AAClC,SAA8BC,8BAA8B;AAM5D,IAAA,gBAAe,CAACC,YAAAA;AACd,QAAMC,QAAQ,IAAIC,kBAAuCC,iBAAiB;IAAEC,oBAAoB,CAAA;IAAIC,UAAU,CAAC;EAAE,CAAA;AACjHJ,QAAMK,KAAK;IAAEC,KAAK;IAAYC,MAAMN,kBAAkBO,KAAI;EAAsC,CAAA;AAGhG,QAAMC,cAAcC,uBAAuB,GAAGR,eAAAA,SAAwB;AAEtE,QAAMS,cAAc,CAACC,OAAAA;AACnB,UAAMC,kBAAkBd,QACrBe,cAAcC,aAAaC,aAAa,EACxCC,SAAgCf,eAAAA,EAAkBgB,MAAML;AAC3D,WAAQD,MAAMZ,MAAMmB,OAAOf,SAASQ,EAAAA,KAAQC;EAC9C;AAEA,QAAMO,cAAc,CAACR,IAAYR,aAA8BJ,MAAMmB,OAAOf,SAASQ,EAAAA,IAAMR;AAG3F,SAAOiB,YAAYC,qBAAqBC,OAAO;IAAEvB,OAAOA,MAAMmB;IAAQV;IAAaE;IAAaS;EAAY,CAAA;AAC9G;",
|
|
6
|
-
"names": ["Capabilities", "contributes", "LocalStorageStore", "createEditorStateStore", "context", "state", "LocalStorageStore", "MARKDOWN_PLUGIN", "extensionProviders", "viewMode", "prop", "key", "type", "json", "editorState", "createEditorStateStore", "getViewMode", "id", "defaultViewMode", "getCapability", "Capabilities", "SettingsStore", "getStore", "value", "values", "setViewMode", "contributes", "MarkdownCapabilities", "State"]
|
|
7
|
-
}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { type PreviewProps } from '@dxos/plugin-preview';
|
|
3
|
-
import { DataType } from '@dxos/schema';
|
|
4
|
-
import { DocumentType } from '../../types';
|
|
5
|
-
export declare const MarkdownPreview: ({ subject, role }: PreviewProps<DocumentType | DataType.Text>) => React.JSX.Element;
|
|
6
|
-
//# sourceMappingURL=MarkdownPreview.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MarkdownPreview.d.ts","sourceRoot":"","sources":["../../../../../src/components/MarkdownPreview/MarkdownPreview.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAI3C,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAIzD,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAGxC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAqB3C,eAAO,MAAM,eAAe,GAAI,mBAAmB,YAAY,CAAC,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,sBAiC5F,CAAC"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import '@dxos-theme';
|
|
2
|
-
import { type Meta } from '@storybook/react';
|
|
3
|
-
import { MarkdownPreview } from './MarkdownPreview';
|
|
4
|
-
declare const meta: Meta<typeof MarkdownPreview>;
|
|
5
|
-
export default meta;
|
|
6
|
-
export declare const Default: {
|
|
7
|
-
args: {
|
|
8
|
-
subject: import("@dxos/live-object").Live<import("@dxos/echo/Type").OfKind<import("@dxos/echo-schema").EntityKind.Object> & {
|
|
9
|
-
name?: string | undefined;
|
|
10
|
-
fallbackName?: string | undefined;
|
|
11
|
-
content: import("@dxos/echo-schema").Ref<import("@dxos/echo/Type").OfKind<import("@dxos/echo-schema").EntityKind.Object> & {
|
|
12
|
-
content: string;
|
|
13
|
-
}>;
|
|
14
|
-
}>;
|
|
15
|
-
};
|
|
16
|
-
};
|
|
17
|
-
//# sourceMappingURL=MarkdownPreview.stories.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MarkdownPreview.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/MarkdownPreview/MarkdownPreview.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,aAAa,CAAC;AAErB,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAY7C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAKpD,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,eAAe,CA6BtC,CAAC;AAEF,eAAe,IAAI,CAAC;AAepB,eAAO,MAAM,OAAO;;;;;;;;;;CAInB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/MarkdownPreview/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,cAAc,mBAAmB,CAAC;AAElC,eAAe,eAAe,CAAC"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { Schema } from 'effect';
|
|
2
|
-
import { Type } from '@dxos/echo';
|
|
3
|
-
export declare const DocumentSchema: Schema.Struct<{
|
|
4
|
-
name: Schema.optional<typeof Schema.String>;
|
|
5
|
-
fallbackName: Schema.optional<typeof Schema.String>;
|
|
6
|
-
content: Type.ref<Type.obj<Schema.Struct<{
|
|
7
|
-
content: typeof import("effect/Schema").String;
|
|
8
|
-
}>>>;
|
|
9
|
-
}>;
|
|
10
|
-
export declare const DocumentType: Type.obj<Schema.Struct<{
|
|
11
|
-
name: Schema.optional<typeof Schema.String>;
|
|
12
|
-
fallbackName: Schema.optional<typeof Schema.String>;
|
|
13
|
-
content: Type.ref<Type.obj<Schema.Struct<{
|
|
14
|
-
content: typeof import("effect/Schema").String;
|
|
15
|
-
}>>>;
|
|
16
|
-
}>>;
|
|
17
|
-
export type DocumentType = Schema.Schema.Type<typeof DocumentType>;
|
|
18
|
-
export declare const createDocument: ({ name, content }: {
|
|
19
|
-
name: string;
|
|
20
|
-
content: string;
|
|
21
|
-
}) => import("@dxos/live-object").Live<Type.OfKind<Type.Kind.Object> & {
|
|
22
|
-
name?: string | undefined;
|
|
23
|
-
fallbackName?: string | undefined;
|
|
24
|
-
content: import("@dxos/echo-schema").Ref<Type.OfKind<Type.Kind.Object> & {
|
|
25
|
-
content: string;
|
|
26
|
-
}>;
|
|
27
|
-
}>;
|
|
28
|
-
/**
|
|
29
|
-
* Checks if an object conforms to the interface needed to render an editor.
|
|
30
|
-
*/
|
|
31
|
-
export declare const isEditorModel: (data: any) => data is {
|
|
32
|
-
id: string;
|
|
33
|
-
text: string;
|
|
34
|
-
};
|
|
35
|
-
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../src/types/schema.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAY,IAAI,EAAE,MAAM,YAAY,CAAC;AAI5C,eAAO,MAAM,cAAc;;;;;;EAI2B,CAAC;AAEvD,eAAO,MAAM,YAAY;;;;;;GAKxB,CAAC;AACF,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,YAAY,CAAC,CAAC;AAGnE,eAAO,MAAM,cAAc,GAAI,mBAAmB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE;;;;;;EACQ,CAAC;AAE5F;;GAEG;AAEH,eAAO,MAAM,aAAa,GAAI,MAAM,GAAG,KAAG,IAAI,IAAI;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAM7C,CAAC"}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Copyright 2023 DXOS.org
|
|
3
|
-
//
|
|
4
|
-
|
|
5
|
-
import '@dxos-theme';
|
|
6
|
-
|
|
7
|
-
import { type Meta } from '@storybook/react';
|
|
8
|
-
import React from 'react';
|
|
9
|
-
|
|
10
|
-
import { IntentPlugin } from '@dxos/app-framework';
|
|
11
|
-
import { withPluginManager } from '@dxos/app-framework/testing';
|
|
12
|
-
import { Obj, Ref } from '@dxos/echo';
|
|
13
|
-
import { DocumentType } from '@dxos/plugin-markdown/types';
|
|
14
|
-
import { faker } from '@dxos/random';
|
|
15
|
-
import { Icon, Popover } from '@dxos/react-ui';
|
|
16
|
-
import { DataType } from '@dxos/schema';
|
|
17
|
-
import { withTheme, withLayout } from '@dxos/storybook-utils';
|
|
18
|
-
|
|
19
|
-
import { MarkdownPreview } from './MarkdownPreview';
|
|
20
|
-
import translations from '../../translations';
|
|
21
|
-
|
|
22
|
-
faker.seed(1234);
|
|
23
|
-
|
|
24
|
-
const meta: Meta<typeof MarkdownPreview> = {
|
|
25
|
-
title: 'plugins/plugin-markdown/MarkdownPreview',
|
|
26
|
-
component: MarkdownPreview,
|
|
27
|
-
render: ({ subject }) => {
|
|
28
|
-
return (
|
|
29
|
-
<Popover.Root open>
|
|
30
|
-
<Popover.Content>
|
|
31
|
-
<Popover.Viewport>
|
|
32
|
-
<MarkdownPreview subject={subject} role='popover' />
|
|
33
|
-
</Popover.Viewport>
|
|
34
|
-
<Popover.Arrow />
|
|
35
|
-
</Popover.Content>
|
|
36
|
-
<Popover.Trigger>
|
|
37
|
-
<Icon icon='ph--text-aa--regular' size={5} />
|
|
38
|
-
</Popover.Trigger>
|
|
39
|
-
</Popover.Root>
|
|
40
|
-
);
|
|
41
|
-
},
|
|
42
|
-
decorators: [
|
|
43
|
-
withPluginManager({
|
|
44
|
-
plugins: [IntentPlugin()],
|
|
45
|
-
}),
|
|
46
|
-
withTheme,
|
|
47
|
-
withLayout(),
|
|
48
|
-
],
|
|
49
|
-
parameters: {
|
|
50
|
-
layout: 'centered',
|
|
51
|
-
translations,
|
|
52
|
-
},
|
|
53
|
-
};
|
|
54
|
-
|
|
55
|
-
export default meta;
|
|
56
|
-
|
|
57
|
-
const data = (() => {
|
|
58
|
-
const document = Obj.make(DocumentType, {
|
|
59
|
-
name: faker.lorem.words(3),
|
|
60
|
-
content: Ref.make(
|
|
61
|
-
Obj.make(DataType.Text, {
|
|
62
|
-
content: faker.lorem.paragraphs(3),
|
|
63
|
-
}),
|
|
64
|
-
),
|
|
65
|
-
});
|
|
66
|
-
|
|
67
|
-
return { document };
|
|
68
|
-
})();
|
|
69
|
-
|
|
70
|
-
export const Default = {
|
|
71
|
-
args: {
|
|
72
|
-
subject: Obj.make(DocumentType, data.document),
|
|
73
|
-
},
|
|
74
|
-
};
|
package/src/types/schema.ts
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Copyright 2024 DXOS.org
|
|
3
|
-
//
|
|
4
|
-
|
|
5
|
-
import { Schema } from 'effect';
|
|
6
|
-
|
|
7
|
-
import { Obj, Ref, Type } from '@dxos/echo';
|
|
8
|
-
import { LabelAnnotation } from '@dxos/echo-schema';
|
|
9
|
-
import { DataType } from '@dxos/schema';
|
|
10
|
-
|
|
11
|
-
export const DocumentSchema = Schema.Struct({
|
|
12
|
-
name: Schema.optional(Schema.String),
|
|
13
|
-
fallbackName: Schema.optional(Schema.String),
|
|
14
|
-
content: Type.Ref(DataType.Text),
|
|
15
|
-
}).pipe(LabelAnnotation.set(['name', 'fallbackName']));
|
|
16
|
-
|
|
17
|
-
export const DocumentType = DocumentSchema.pipe(
|
|
18
|
-
Type.Obj({
|
|
19
|
-
typename: 'dxos.org/type/Document',
|
|
20
|
-
version: '0.1.0',
|
|
21
|
-
}),
|
|
22
|
-
);
|
|
23
|
-
export type DocumentType = Schema.Schema.Type<typeof DocumentType>;
|
|
24
|
-
|
|
25
|
-
// TODO(burdon): Replace when defaults are supported.
|
|
26
|
-
export const createDocument = ({ name, content }: { name: string; content: string }) =>
|
|
27
|
-
Obj.make(DocumentType, { name, content: Ref.make(Obj.make(DataType.Text, { content })) });
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* Checks if an object conforms to the interface needed to render an editor.
|
|
31
|
-
*/
|
|
32
|
-
// TODO(burdon): Normalize types (from FilesPlugin).
|
|
33
|
-
export const isEditorModel = (data: any): data is { id: string; text: string } =>
|
|
34
|
-
data &&
|
|
35
|
-
typeof data === 'object' &&
|
|
36
|
-
'id' in data &&
|
|
37
|
-
typeof data.id === 'string' &&
|
|
38
|
-
'text' in data &&
|
|
39
|
-
typeof data.text === 'string';
|