@dxos/plugin-markdown 0.8.2-main.fbd8ed0 → 0.8.2-staging.42af850
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/{MarkdownContainer-KKWICAKV.mjs → MarkdownContainer-5IEINNQB.mjs} +299 -262
- package/dist/lib/browser/MarkdownContainer-5IEINNQB.mjs.map +7 -0
- package/dist/lib/browser/MarkdownPreview-YW5CS3ID.mjs +87 -0
- package/dist/lib/{node-esm/MarkdownPreview-KYWRMBRM.mjs.map → browser/MarkdownPreview-YW5CS3ID.mjs.map} +1 -1
- package/dist/lib/browser/anchor-sort-VS4OZVPP.mjs +32 -0
- package/dist/lib/browser/anchor-sort-VS4OZVPP.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-serializer-MPJQUYTQ.mjs → app-graph-serializer-V6RLEHVY.mjs} +3 -3
- package/dist/lib/browser/{artifact-definition-DAF3YCVL.mjs → artifact-definition-5NAODQLG.mjs} +61 -14
- package/dist/lib/browser/artifact-definition-5NAODQLG.mjs.map +7 -0
- package/dist/lib/browser/{chunk-S42YXFZ7.mjs → chunk-77NGW7EO.mjs} +5 -6
- package/dist/lib/browser/chunk-77NGW7EO.mjs.map +7 -0
- package/dist/lib/browser/chunk-ACAID3XF.mjs +20 -0
- package/dist/lib/browser/chunk-ACAID3XF.mjs.map +7 -0
- package/dist/lib/browser/{chunk-TUCSFCS5.mjs → chunk-C5RABVIX.mjs} +2 -2
- package/dist/lib/browser/{chunk-XP2ZPCLI.mjs → chunk-ECSM56YC.mjs} +15 -22
- package/dist/lib/browser/chunk-ECSM56YC.mjs.map +7 -0
- package/dist/lib/browser/{chunk-NAGMSX77.mjs → chunk-QVJETNGS.mjs} +2 -2
- package/dist/lib/{node-esm/chunk-ETXPC5VP.mjs.map → browser/chunk-QVJETNGS.mjs.map} +1 -1
- package/dist/lib/browser/index.mjs +29 -17
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/intent-resolver-4GDYST4Y.mjs +65 -0
- package/dist/lib/browser/intent-resolver-4GDYST4Y.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-surface-EMQV3GVI.mjs → react-surface-QE4SKXBT.mjs} +75 -62
- package/dist/lib/browser/react-surface-QE4SKXBT.mjs.map +7 -0
- package/dist/lib/browser/{settings-GPB6WOIU.mjs → settings-W5CK4PXP.mjs} +2 -2
- package/dist/lib/browser/{state-XTP5IP3W.mjs → state-KI6PJ6DT.mjs} +2 -2
- package/dist/lib/browser/types/index.mjs +1 -1
- package/dist/lib/node/{MarkdownContainer-LBI6ZESS.cjs → MarkdownContainer-LSNNPNRB.cjs} +304 -267
- package/dist/lib/node/MarkdownContainer-LSNNPNRB.cjs.map +7 -0
- package/dist/lib/node/MarkdownPreview-G34HSQEB.cjs +110 -0
- package/dist/lib/node/{MarkdownPreview-O3BR4PZW.cjs.map → MarkdownPreview-G34HSQEB.cjs.map} +1 -1
- package/dist/lib/node/{thread-NWBGBGOR.cjs → anchor-sort-NHVF23EU.cjs} +15 -20
- package/dist/lib/node/anchor-sort-NHVF23EU.cjs.map +7 -0
- package/dist/lib/node/{app-graph-serializer-Z7UJYSSL.cjs → app-graph-serializer-CLALIYN3.cjs} +9 -9
- package/dist/lib/node/{artifact-definition-UIZSL2AL.cjs → artifact-definition-VEAHK7BX.cjs} +65 -19
- package/dist/lib/node/artifact-definition-VEAHK7BX.cjs.map +7 -0
- package/dist/lib/node/{chunk-AJHB57YQ.cjs → chunk-C4HR7UXE.cjs} +15 -15
- package/dist/lib/node/chunk-C4HR7UXE.cjs.map +7 -0
- package/dist/lib/node/{chunk-BWRBWEKN.cjs → chunk-G7RBJX22.cjs} +8 -9
- package/dist/lib/node/chunk-G7RBJX22.cjs.map +7 -0
- package/dist/lib/node/{chunk-DZXTXSXX.cjs → chunk-IFYSBQE5.cjs} +5 -5
- package/dist/lib/node/{chunk-DZXTXSXX.cjs.map → chunk-IFYSBQE5.cjs.map} +1 -1
- package/dist/lib/node/{chunk-EO5H4OZJ.cjs → chunk-RQS4KBMG.cjs} +13 -20
- package/dist/lib/node/chunk-RQS4KBMG.cjs.map +7 -0
- package/dist/lib/node/{chunk-4525YF72.cjs → chunk-ZDTL47I7.cjs} +6 -6
- package/dist/lib/node/index.cjs +41 -29
- package/dist/lib/node/index.cjs.map +3 -3
- package/dist/lib/node/intent-resolver-AUZVK3NZ.cjs +78 -0
- package/dist/lib/node/intent-resolver-AUZVK3NZ.cjs.map +7 -0
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/{react-surface-REHX3ABQ.cjs → react-surface-WJZTEBYO.cjs} +84 -71
- package/dist/lib/node/react-surface-WJZTEBYO.cjs.map +7 -0
- package/dist/lib/node/{settings-SF6JDJG6.cjs → settings-IRKU3WPM.cjs} +6 -6
- package/dist/lib/node/{state-K4IPZTRO.cjs → state-KKDRAG7X.cjs} +6 -6
- package/dist/lib/node/types/index.cjs +7 -7
- package/dist/lib/node/types/index.cjs.map +1 -1
- package/dist/lib/node-esm/{MarkdownContainer-62XZY5EP.mjs → MarkdownContainer-UZSLXMWO.mjs} +299 -262
- package/dist/lib/node-esm/MarkdownContainer-UZSLXMWO.mjs.map +7 -0
- package/dist/lib/node-esm/MarkdownPreview-TCV7BI32.mjs +88 -0
- package/dist/lib/{browser/MarkdownPreview-FVSYVJGN.mjs.map → node-esm/MarkdownPreview-TCV7BI32.mjs.map} +1 -1
- package/dist/lib/node-esm/anchor-sort-G2HLCYFK.mjs +33 -0
- package/dist/lib/node-esm/anchor-sort-G2HLCYFK.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-serializer-DDMFMNYI.mjs → app-graph-serializer-C3RNTQGM.mjs} +3 -3
- package/dist/lib/node-esm/{artifact-definition-ER3446S7.mjs → artifact-definition-7TIJW2CO.mjs} +61 -14
- package/dist/lib/node-esm/artifact-definition-7TIJW2CO.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-PDD5B7EO.mjs → chunk-6RPARLIK.mjs} +5 -6
- package/dist/lib/node-esm/chunk-6RPARLIK.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-T5Z5BIOF.mjs → chunk-EIUTPXGL.mjs} +10 -10
- package/dist/lib/node-esm/chunk-EIUTPXGL.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-ETXPC5VP.mjs → chunk-JXXDCSMW.mjs} +2 -2
- package/dist/lib/{browser/chunk-NAGMSX77.mjs.map → node-esm/chunk-JXXDCSMW.mjs.map} +1 -1
- package/dist/lib/node-esm/{chunk-66XM3JMR.mjs → chunk-NCMPVEXO.mjs} +15 -22
- package/dist/lib/node-esm/chunk-NCMPVEXO.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-CXTVDT5U.mjs → chunk-TCFJNUAE.mjs} +2 -2
- package/dist/lib/node-esm/index.mjs +29 -17
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/intent-resolver-FTNXUNI2.mjs +66 -0
- package/dist/lib/node-esm/intent-resolver-FTNXUNI2.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-surface-FA7JYF2A.mjs → react-surface-XNM3YDFB.mjs} +75 -62
- package/dist/lib/node-esm/react-surface-XNM3YDFB.mjs.map +7 -0
- package/dist/lib/node-esm/{settings-2DT2C4RA.mjs → settings-MK7D7LHQ.mjs} +2 -2
- package/dist/lib/node-esm/{state-7VFYPF6Z.mjs → state-LLGVRYKL.mjs} +2 -2
- package/dist/lib/node-esm/types/index.mjs +1 -1
- package/dist/types/src/MarkdownPlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/anchor-sort.d.ts +6 -0
- package/dist/types/src/capabilities/anchor-sort.d.ts.map +1 -0
- package/dist/types/src/capabilities/artifact-definition.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts +4 -4
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/components/MarkdownContainer.d.ts +3 -1
- package/dist/types/src/components/MarkdownContainer.d.ts.map +1 -1
- package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts +3 -3
- package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts.map +1 -1
- package/dist/types/src/components/MarkdownPreview/MarkdownPreview.stories.d.ts +0 -104
- package/dist/types/src/components/MarkdownPreview/MarkdownPreview.stories.d.ts.map +1 -1
- package/dist/types/src/components/Suggestions.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/extensions.d.ts +4 -1
- package/dist/types/src/extensions.d.ts.map +1 -1
- package/dist/types/src/types/schema.d.ts +1 -314
- package/dist/types/src/types/schema.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +7 -109
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/package.json +47 -40
- package/src/MarkdownPlugin.tsx +17 -7
- package/src/capabilities/anchor-sort.ts +30 -0
- package/src/capabilities/artifact-definition.ts +43 -7
- package/src/capabilities/index.ts +1 -1
- package/src/capabilities/intent-resolver.ts +23 -28
- package/src/capabilities/react-surface.tsx +7 -0
- package/src/components/MarkdownContainer.tsx +16 -3
- package/src/components/MarkdownEditor/MarkdownEditor.tsx +8 -29
- package/src/components/MarkdownPreview/MarkdownPreview.stories.tsx +0 -1
- package/src/components/Suggestions.stories.tsx +40 -15
- package/src/components/Toolbar.stories.tsx +2 -2
- package/src/extensions.tsx +40 -11
- package/src/types/schema.ts +7 -13
- package/src/util.tsx +2 -2
- package/dist/lib/browser/MarkdownContainer-KKWICAKV.mjs.map +0 -7
- package/dist/lib/browser/MarkdownPreview-FVSYVJGN.mjs +0 -81
- package/dist/lib/browser/artifact-definition-DAF3YCVL.mjs.map +0 -7
- package/dist/lib/browser/chunk-JJY5LKZS.mjs +0 -20
- package/dist/lib/browser/chunk-JJY5LKZS.mjs.map +0 -7
- package/dist/lib/browser/chunk-S42YXFZ7.mjs.map +0 -7
- package/dist/lib/browser/chunk-XP2ZPCLI.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-PVKVTAFF.mjs +0 -81
- package/dist/lib/browser/intent-resolver-PVKVTAFF.mjs.map +0 -7
- package/dist/lib/browser/react-surface-EMQV3GVI.mjs.map +0 -7
- package/dist/lib/browser/thread-KW43PJ53.mjs +0 -37
- package/dist/lib/browser/thread-KW43PJ53.mjs.map +0 -7
- package/dist/lib/node/MarkdownContainer-LBI6ZESS.cjs.map +0 -7
- package/dist/lib/node/MarkdownPreview-O3BR4PZW.cjs +0 -104
- package/dist/lib/node/artifact-definition-UIZSL2AL.cjs.map +0 -7
- package/dist/lib/node/chunk-AJHB57YQ.cjs.map +0 -7
- package/dist/lib/node/chunk-BWRBWEKN.cjs.map +0 -7
- package/dist/lib/node/chunk-EO5H4OZJ.cjs.map +0 -7
- package/dist/lib/node/intent-resolver-ND7PSRJX.cjs +0 -94
- package/dist/lib/node/intent-resolver-ND7PSRJX.cjs.map +0 -7
- package/dist/lib/node/react-surface-REHX3ABQ.cjs.map +0 -7
- package/dist/lib/node/thread-NWBGBGOR.cjs.map +0 -7
- package/dist/lib/node-esm/MarkdownContainer-62XZY5EP.mjs.map +0 -7
- package/dist/lib/node-esm/MarkdownPreview-KYWRMBRM.mjs +0 -82
- package/dist/lib/node-esm/artifact-definition-ER3446S7.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-66XM3JMR.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-PDD5B7EO.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-T5Z5BIOF.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-5BF5PLSN.mjs +0 -82
- package/dist/lib/node-esm/intent-resolver-5BF5PLSN.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-FA7JYF2A.mjs.map +0 -7
- package/dist/lib/node-esm/thread-D2E6W44K.mjs +0 -38
- package/dist/lib/node-esm/thread-D2E6W44K.mjs.map +0 -7
- package/dist/types/src/capabilities/thread.d.ts +0 -6
- package/dist/types/src/capabilities/thread.d.ts.map +0 -1
- package/src/capabilities/thread.ts +0 -35
- /package/dist/lib/browser/{app-graph-serializer-MPJQUYTQ.mjs.map → app-graph-serializer-V6RLEHVY.mjs.map} +0 -0
- /package/dist/lib/browser/{chunk-TUCSFCS5.mjs.map → chunk-C5RABVIX.mjs.map} +0 -0
- /package/dist/lib/browser/{settings-GPB6WOIU.mjs.map → settings-W5CK4PXP.mjs.map} +0 -0
- /package/dist/lib/browser/{state-XTP5IP3W.mjs.map → state-KI6PJ6DT.mjs.map} +0 -0
- /package/dist/lib/node/{app-graph-serializer-Z7UJYSSL.cjs.map → app-graph-serializer-CLALIYN3.cjs.map} +0 -0
- /package/dist/lib/node/{chunk-4525YF72.cjs.map → chunk-ZDTL47I7.cjs.map} +0 -0
- /package/dist/lib/node/{settings-SF6JDJG6.cjs.map → settings-IRKU3WPM.cjs.map} +0 -0
- /package/dist/lib/node/{state-K4IPZTRO.cjs.map → state-KKDRAG7X.cjs.map} +0 -0
- /package/dist/lib/node-esm/{app-graph-serializer-DDMFMNYI.mjs.map → app-graph-serializer-C3RNTQGM.mjs.map} +0 -0
- /package/dist/lib/node-esm/{chunk-CXTVDT5U.mjs.map → chunk-TCFJNUAE.mjs.map} +0 -0
- /package/dist/lib/node-esm/{settings-2DT2C4RA.mjs.map → settings-MK7D7LHQ.mjs.map} +0 -0
- /package/dist/lib/node-esm/{state-7VFYPF6Z.mjs.map → state-LLGVRYKL.mjs.map} +0 -0
|
@@ -16,16 +16,16 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
16
|
return to;
|
|
17
17
|
};
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var
|
|
20
|
-
__export(
|
|
19
|
+
var chunk_G7RBJX22_exports = {};
|
|
20
|
+
__export(chunk_G7RBJX22_exports, {
|
|
21
21
|
getAbstract: () => getAbstract,
|
|
22
22
|
getFallbackName: () => getFallbackName,
|
|
23
23
|
isMarkdownProperties: () => isMarkdownProperties,
|
|
24
24
|
serializer: () => serializer,
|
|
25
25
|
setFallbackName: () => setFallbackName
|
|
26
26
|
});
|
|
27
|
-
module.exports = __toCommonJS(
|
|
28
|
-
var
|
|
27
|
+
module.exports = __toCommonJS(chunk_G7RBJX22_exports);
|
|
28
|
+
var import_chunk_RQS4KBMG = require("./chunk-RQS4KBMG.cjs");
|
|
29
29
|
var import_async = require("@dxos/async");
|
|
30
30
|
var import_echo = require("@dxos/react-client/echo");
|
|
31
31
|
var import_schema = require("@dxos/schema");
|
|
@@ -54,13 +54,12 @@ var serializer = {
|
|
|
54
54
|
},
|
|
55
55
|
deserialize: async ({ content: serialized }) => {
|
|
56
56
|
const { name, fallbackName, content } = JSON.parse(serialized);
|
|
57
|
-
return (0, import_echo.createObject)((0, import_echo.live)(
|
|
57
|
+
return (0, import_echo.createObject)((0, import_echo.live)(import_chunk_RQS4KBMG.DocumentType, {
|
|
58
58
|
name,
|
|
59
59
|
fallbackName,
|
|
60
|
-
content:
|
|
60
|
+
content: import_echo.Ref.make((0, import_echo.live)(import_schema.DataType.Text, {
|
|
61
61
|
content
|
|
62
|
-
}))
|
|
63
|
-
threads: []
|
|
62
|
+
}))
|
|
64
63
|
}));
|
|
65
64
|
}
|
|
66
65
|
};
|
|
@@ -72,4 +71,4 @@ var serializer = {
|
|
|
72
71
|
serializer,
|
|
73
72
|
setFallbackName
|
|
74
73
|
});
|
|
75
|
-
//# sourceMappingURL=chunk-
|
|
74
|
+
//# sourceMappingURL=chunk-G7RBJX22.cjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/util.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { debounce } from '@dxos/async';\nimport { type TypedObjectSerializer } from '@dxos/plugin-space/types';\nimport { live, createObject, isEchoObject, loadObjectReferences, Ref } from '@dxos/react-client/echo';\nimport { DataType } from '@dxos/schema';\n\nimport { DocumentType, type MarkdownProperties } from './types';\n\nexport const isMarkdownProperties = (data: unknown): data is MarkdownProperties =>\n (isEchoObject(data) as boolean)\n ? true\n : data && typeof data === 'object'\n ? 'title' in data && typeof data.title === 'string'\n : false;\n\nconst nonTitleChars = /[^\\w ]/g;\n\nexport const getFallbackName = (content: string) => {\n return content.substring(0, 31).split('\\n')[0].replaceAll(nonTitleChars, '').trim();\n};\n\nexport const getAbstract = (content: string) => {\n return content.substring(0, 128).split('\\n')[0].replaceAll(nonTitleChars, '').trim();\n};\n\nexport const setFallbackName = debounce((doc: DocumentType, content: string) => {\n const name = getFallbackName(content);\n if (doc.fallbackName !== name) {\n doc.fallbackName = name;\n }\n}, 200);\n\nexport const serializer: TypedObjectSerializer<DocumentType> = {\n serialize: async ({ object }): Promise<string> => {\n const content = await loadObjectReferences(object, (doc) => doc.content);\n return JSON.stringify({ name: object.name, fallbackName: object.fallbackName, content: content.target?.content });\n },\n\n deserialize: async ({ content: serialized }) => {\n const { name, fallbackName, content } = JSON.parse(serialized);\n return createObject(\n live(DocumentType, { name, fallbackName, content: Ref.make(live(DataType.Text, { content })) }),\n );\n },\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,mBAAyB;AAEzB,kBAA4E;AAC5E,oBAAyB;AAIlB,IAAMA,uBAAuB,CAACC,aAClCC,0BAAaD,IAAAA,IACV,OACAA,QAAQ,OAAOA,SAAS,WACtB,WAAWA,QAAQ,OAAOA,KAAKE,UAAU,WACzC;AAER,IAAMC,gBAAgB;AAEf,IAAMC,kBAAkB,CAACC,YAAAA;AAC9B,SAAOA,QAAQC,UAAU,GAAG,EAAA,EAAIC,MAAM,IAAA,EAAM,CAAA,EAAGC,WAAWL,eAAe,EAAA,EAAIM,KAAI;AACnF;AAEO,IAAMC,cAAc,CAACL,YAAAA;AAC1B,SAAOA,QAAQC,UAAU,GAAG,GAAA,EAAKC,MAAM,IAAA,EAAM,CAAA,EAAGC,WAAWL,eAAe,EAAA,EAAIM,KAAI;AACpF;AAEO,IAAME,sBAAkBC,uBAAS,CAACC,KAAmBR,YAAAA;AAC1D,QAAMS,OAAOV,gBAAgBC,OAAAA;AAC7B,MAAIQ,IAAIE,iBAAiBD,MAAM;AAC7BD,QAAIE,eAAeD;EACrB;AACF,GAAG,GAAA;AAEI,IAAME,aAAkD;EAC7DC,WAAW,OAAO,EAAEC,OAAM,MAAE;AAC1B,UAAMb,UAAU,UAAMc,kCAAqBD,QAAQ,CAACL,QAAQA,IAAIR,OAAO;AACvE,WAAOe,KAAKC,UAAU;MAAEP,MAAMI,OAAOJ;MAAMC,cAAcG,OAAOH;MAAcV,SAASA,QAAQiB,QAAQjB;IAAQ,CAAA;EACjH;EAEAkB,aAAa,OAAO,EAAElB,SAASmB,WAAU,MAAE;AACzC,UAAM,EAAEV,MAAMC,cAAcV,QAAO,IAAKe,KAAKK,MAAMD,UAAAA;AACnD,eAAOE,8BACLC,kBAAKC,oCAAc;MAAEd;MAAMC;MAAcV,SAASwB,gBAAIC,SAAKH,kBAAKI,uBAASC,MAAM;QAAE3B;MAAQ,CAAA,CAAA;IAAI,CAAA,CAAA;EAEjG;AACF;",
|
|
6
|
+
"names": ["isMarkdownProperties", "data", "isEchoObject", "title", "nonTitleChars", "getFallbackName", "content", "substring", "split", "replaceAll", "trim", "getAbstract", "setFallbackName", "debounce", "doc", "name", "fallbackName", "serializer", "serialize", "object", "loadObjectReferences", "JSON", "stringify", "target", "deserialize", "serialized", "parse", "createObject", "live", "DocumentType", "Ref", "make", "DataType", "Text"]
|
|
7
|
+
}
|
|
@@ -16,20 +16,20 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
16
|
return to;
|
|
17
17
|
};
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var
|
|
20
|
-
__export(
|
|
19
|
+
var chunk_IFYSBQE5_exports = {};
|
|
20
|
+
__export(chunk_IFYSBQE5_exports, {
|
|
21
21
|
MarkdownCapabilities: () => MarkdownCapabilities
|
|
22
22
|
});
|
|
23
|
-
module.exports = __toCommonJS(
|
|
23
|
+
module.exports = __toCommonJS(chunk_IFYSBQE5_exports);
|
|
24
24
|
var import_chunk_ZU5OIHCY = require("./chunk-ZU5OIHCY.cjs");
|
|
25
25
|
var import_app_framework = require("@dxos/app-framework");
|
|
26
|
-
var MarkdownCapabilities;
|
|
27
26
|
(function(MarkdownCapabilities2) {
|
|
28
27
|
MarkdownCapabilities2.State = (0, import_app_framework.defineCapability)(`${import_chunk_ZU5OIHCY.MARKDOWN_PLUGIN}/capability/state`);
|
|
29
28
|
MarkdownCapabilities2.Extensions = (0, import_app_framework.defineCapability)(`${import_chunk_ZU5OIHCY.MARKDOWN_PLUGIN}/capability/extensions`);
|
|
30
29
|
})(MarkdownCapabilities || (MarkdownCapabilities = {}));
|
|
30
|
+
var MarkdownCapabilities;
|
|
31
31
|
// Annotate the CommonJS export names for ESM import in node:
|
|
32
32
|
0 && (module.exports = {
|
|
33
33
|
MarkdownCapabilities
|
|
34
34
|
});
|
|
35
|
-
//# sourceMappingURL=chunk-
|
|
35
|
+
//# sourceMappingURL=chunk-IFYSBQE5.cjs.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/capabilities/capabilities.ts"],
|
|
4
4
|
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { defineCapability } from '@dxos/app-framework';\nimport { type EditorViewMode, type EditorStateStore } from '@dxos/react-ui-editor';\n\nimport { MARKDOWN_PLUGIN } from '../meta';\nimport { type MarkdownExtensionProvider, type MarkdownPluginState } from '../types';\n\nexport namespace MarkdownCapabilities {\n export const State = defineCapability<{\n state: MarkdownPluginState;\n editorState: EditorStateStore;\n getViewMode: (id: string) => EditorViewMode;\n setViewMode: (id: string, viewMode: EditorViewMode) => void;\n }>(`${MARKDOWN_PLUGIN}/capability/state`);\n\n export const Extensions = defineCapability<MarkdownExtensionProvider[]>(`${MARKDOWN_PLUGIN}/capability/extensions`);\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAIA,2BAAiC
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAIA,2BAAiC;UAMhBA,uBAAAA;wBACFC,YAAQC,uCAKlB,GAAGC,qCAAAA,mBAAkC;wBAE3BC,iBAAaF,uCAA8C,GAAGC,qCAAAA,wBAAuC;AACpH,GATiBH,yBAAAA,uBAAAA,CAAAA,EAAAA;;",
|
|
6
6
|
"names": ["MarkdownCapabilities", "State", "defineCapability", "MARKDOWN_PLUGIN", "Extensions"]
|
|
7
7
|
}
|
|
@@ -16,8 +16,8 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
16
|
return to;
|
|
17
17
|
};
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var
|
|
20
|
-
__export(
|
|
19
|
+
var chunk_RQS4KBMG_exports = {};
|
|
20
|
+
__export(chunk_RQS4KBMG_exports, {
|
|
21
21
|
DocumentSchema: () => DocumentSchema,
|
|
22
22
|
DocumentType: () => DocumentType,
|
|
23
23
|
MarkdownAction: () => MarkdownAction,
|
|
@@ -25,13 +25,12 @@ __export(chunk_EO5H4OZJ_exports, {
|
|
|
25
25
|
createDocument: () => createDocument,
|
|
26
26
|
isEditorModel: () => isEditorModel
|
|
27
27
|
});
|
|
28
|
-
module.exports = __toCommonJS(
|
|
28
|
+
module.exports = __toCommonJS(chunk_RQS4KBMG_exports);
|
|
29
29
|
var import_chunk_ZU5OIHCY = require("./chunk-ZU5OIHCY.cjs");
|
|
30
30
|
var import_effect = require("effect");
|
|
31
31
|
var import_echo = require("@dxos/echo");
|
|
32
32
|
var import_echo_schema = require("@dxos/echo-schema");
|
|
33
33
|
var import_live_object = require("@dxos/live-object");
|
|
34
|
-
var import_types = require("@dxos/plugin-space/types");
|
|
35
34
|
var import_schema = require("@dxos/schema");
|
|
36
35
|
var import_effect2 = require("effect");
|
|
37
36
|
var import_echo2 = require("@dxos/echo");
|
|
@@ -39,30 +38,23 @@ var import_react_ui_editor = require("@dxos/react-ui-editor");
|
|
|
39
38
|
var DocumentSchema = import_effect.Schema.Struct({
|
|
40
39
|
name: import_effect.Schema.optional(import_effect.Schema.String),
|
|
41
40
|
fallbackName: import_effect.Schema.optional(import_effect.Schema.String),
|
|
42
|
-
content:
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
"name",
|
|
49
|
-
"fallbackName"
|
|
50
|
-
]
|
|
51
|
-
});
|
|
52
|
-
var DocumentType = DocumentSchema.pipe(import_echo.Type.def({
|
|
41
|
+
content: import_echo.Type.Ref(import_schema.DataType.Text)
|
|
42
|
+
}).pipe(import_echo_schema.LabelAnnotation.set([
|
|
43
|
+
"name",
|
|
44
|
+
"fallbackName"
|
|
45
|
+
]));
|
|
46
|
+
var DocumentType = DocumentSchema.pipe(import_echo.Type.Obj({
|
|
53
47
|
typename: "dxos.org/type/Document",
|
|
54
48
|
version: "0.1.0"
|
|
55
49
|
}));
|
|
56
50
|
var createDocument = ({ name, content }) => (0, import_live_object.live)(DocumentType, {
|
|
57
51
|
name,
|
|
58
|
-
content:
|
|
52
|
+
content: import_echo.Ref.make((0, import_live_object.live)(import_schema.DataType.Text, {
|
|
59
53
|
content
|
|
60
|
-
}))
|
|
61
|
-
threads: []
|
|
54
|
+
}))
|
|
62
55
|
});
|
|
63
56
|
var isEditorModel = (data) => data && typeof data === "object" && "id" in data && typeof data.id === "string" && "text" in data && typeof data.text === "string";
|
|
64
57
|
var MARKDOWN_ACTION = `${import_chunk_ZU5OIHCY.MARKDOWN_PLUGIN}/action`;
|
|
65
|
-
var MarkdownAction;
|
|
66
58
|
(function(MarkdownAction2) {
|
|
67
59
|
class Create extends import_effect2.Schema.TaggedClass()(MARKDOWN_ACTION, {
|
|
68
60
|
input: import_effect2.Schema.Struct({
|
|
@@ -97,6 +89,7 @@ var MarkdownSettingsSchema = import_effect2.Schema.mutable(import_effect2.Schema
|
|
|
97
89
|
numberedHeadings: import_effect2.Schema.optional(import_effect2.Schema.Boolean),
|
|
98
90
|
folding: import_effect2.Schema.optional(import_effect2.Schema.Boolean)
|
|
99
91
|
}));
|
|
92
|
+
var MarkdownAction;
|
|
100
93
|
// Annotate the CommonJS export names for ESM import in node:
|
|
101
94
|
0 && (module.exports = {
|
|
102
95
|
DocumentSchema,
|
|
@@ -106,4 +99,4 @@ var MarkdownSettingsSchema = import_effect2.Schema.mutable(import_effect2.Schema
|
|
|
106
99
|
createDocument,
|
|
107
100
|
isEditorModel
|
|
108
101
|
});
|
|
109
|
-
//# sourceMappingURL=chunk-
|
|
102
|
+
//# sourceMappingURL=chunk-RQS4KBMG.cjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
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 { Type, Ref } from '@dxos/echo';\nimport { LabelAnnotation } from '@dxos/echo-schema';\nimport { live } from '@dxos/live-object';\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 live(DocumentType, { name, content: Ref.make(live(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,oBAAuB;AAEvB,kBAA0B;AAC1B,yBAAgC;AAChC,yBAAqB;AACrB,oBAAyB;ACLzB,IAAAA,iBAAuB;AAEvB,IAAAC,eAAqB;AAErB,6BAAgE;ADGzD,IAAMC,iBAAiBC,qBAAOC,OAAO;EAC1CC,MAAMF,qBAAOG,SAASH,qBAAOI,MAAM;EACnCC,cAAcL,qBAAOG,SAASH,qBAAOI,MAAM;EAC3CE,SAASC,iBAAKC,IAAIC,uBAASC,IAAI;AACjC,CAAA,EAAGC,KAAKC,mCAAgBC,IAAI;EAAC;EAAQ;CAAe,CAAA;AAE7C,IAAMC,eAAef,eAAeY,KACzCJ,iBAAKQ,IAAI;EACPC,UAAU;EACVC,SAAS;AACX,CAAA,CAAA;AAKK,IAAMC,iBAAiB,CAAC,EAAEhB,MAAMI,QAAO,UAC5Ca,yBAAKL,cAAc;EAAEZ;EAAMI,SAASE,gBAAIY,SAAKD,yBAAKV,uBAASC,MAAM;IAAEJ;EAAQ,CAAA,CAAA;AAAI,CAAA;AAM1E,IAAMe,gBAAgB,CAACC,SAC5BA,QACA,OAAOA,SAAS,YAChB,QAAQA,QACR,OAAOA,KAAKC,OAAO,YACnB,UAAUD,QACV,OAAOA,KAAKE,SAAS;AC1BvB,IAAMC,kBAAkB,GAAGC,qCAAAA;UAEVC,iBAAAA;EACR,MAAMC,eAAe5B,eAAAA,OAAO6B,YAAW,EAAWJ,iBAAiB;IACxEK,OAAO9B,eAAAA,OAAOC,OAAO;MACnB8B,SAASxB,aAAAA,KAAKyB;MACd9B,MAAMF,eAAAA,OAAOG,SAASH,eAAAA,OAAOI,MAAM;MACnCE,SAASN,eAAAA,OAAOG,SAASH,eAAAA,OAAOI,MAAM;IACxC,CAAA;IACA6B,QAAQjC,eAAAA,OAAOC,OAAO;MACpBiC,QAAQpB;IACV,CAAA;EACF,CAAA,EAAA;EAAI;kBATSc,SAAAA;EAWN,MAAMO,oBAAoBnC,eAAAA,OAAO6B,YAAW,EAAgB,GAAGJ,eAAAA,kBAAiC;IACrGK,OAAO9B,eAAAA,OAAOC,OAAO;MACnBsB,IAAIvB,eAAAA,OAAOI;MACXgC,UAAUC;IACZ,CAAA;IACAJ,QAAQjC,eAAAA,OAAOsC;EACjB,CAAA,EAAA;EAAI;kBANSH,cAAAA;AAOf,GAnBiBR,mBAAAA,iBAAAA,CAAAA,EAAAA;AAqCV,IAAMY,yBAAyBvC,eAAAA,OAAOwC,QAC3CxC,eAAAA,OAAOC,OAAO;EACZwC,iBAAiBJ;EACjBK,iBAAiB1C,eAAAA,OAAOG,SAASwC,sCAAAA;EACjCC,cAAc5C,eAAAA,OAAOG,SAASH,eAAAA,OAAO6C,OAAO;EAC5CC,OAAO9C,eAAAA,OAAOG,SAASH,eAAAA,OAAO6C,OAAO;EACrCE,SAAS/C,eAAAA,OAAOG,SAASH,eAAAA,OAAO6C,OAAO;EACvCG,YAAYhD,eAAAA,OAAOG,SAASH,eAAAA,OAAOI,MAAM;;EAEzC6C,kBAAkBjD,eAAAA,OAAOG,SAASH,eAAAA,OAAO6C,OAAO;EAChDK,SAASlD,eAAAA,OAAOG,SAASH,eAAAA,OAAO6C,OAAO;AACzC,CAAA,CAAA;;",
|
|
6
|
+
"names": ["import_effect", "import_echo", "DocumentSchema", "Schema", "Struct", "name", "optional", "String", "fallbackName", "content", "Type", "Ref", "DataType", "Text", "pipe", "LabelAnnotation", "set", "DocumentType", "Obj", "typename", "version", "createDocument", "live", "make", "isEditorModel", "data", "id", "text", "MARKDOWN_ACTION", "MARKDOWN_PLUGIN", "MarkdownAction", "Create", "TaggedClass", "input", "spaceId", "SpaceId", "output", "object", "SetViewMode", "viewMode", "EditorViewMode", "Void", "MarkdownSettingsSchema", "mutable", "defaultViewMode", "editorInputMode", "EditorInputMode", "experimental", "Boolean", "debug", "toolbar", "typewriter", "numberedHeadings", "folding"]
|
|
7
|
+
}
|
|
@@ -16,17 +16,17 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
16
|
return to;
|
|
17
17
|
};
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var
|
|
20
|
-
__export(
|
|
19
|
+
var chunk_ZDTL47I7_exports = {};
|
|
20
|
+
__export(chunk_ZDTL47I7_exports, {
|
|
21
21
|
translations_default: () => translations_default
|
|
22
22
|
});
|
|
23
|
-
module.exports = __toCommonJS(
|
|
24
|
-
var
|
|
23
|
+
module.exports = __toCommonJS(chunk_ZDTL47I7_exports);
|
|
24
|
+
var import_chunk_RQS4KBMG = require("./chunk-RQS4KBMG.cjs");
|
|
25
25
|
var import_chunk_ZU5OIHCY = require("./chunk-ZU5OIHCY.cjs");
|
|
26
26
|
var translations_default = [
|
|
27
27
|
{
|
|
28
28
|
"en-US": {
|
|
29
|
-
[
|
|
29
|
+
[import_chunk_RQS4KBMG.DocumentType.typename]: {
|
|
30
30
|
"typename label": "Document",
|
|
31
31
|
"object name placeholder": "New document"
|
|
32
32
|
},
|
|
@@ -61,4 +61,4 @@ var translations_default = [
|
|
|
61
61
|
0 && (module.exports = {
|
|
62
62
|
translations_default
|
|
63
63
|
});
|
|
64
|
-
//# sourceMappingURL=chunk-
|
|
64
|
+
//# sourceMappingURL=chunk-ZDTL47I7.cjs.map
|
package/dist/lib/node/index.cjs
CHANGED
|
@@ -19,22 +19,22 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
19
19
|
var node_exports = {};
|
|
20
20
|
__export(node_exports, {
|
|
21
21
|
MARKDOWN_PLUGIN: () => import_chunk_ZU5OIHCY.MARKDOWN_PLUGIN,
|
|
22
|
-
MarkdownCapabilities: () =>
|
|
22
|
+
MarkdownCapabilities: () => import_chunk_IFYSBQE5.MarkdownCapabilities,
|
|
23
23
|
MarkdownEvents: () => MarkdownEvents,
|
|
24
24
|
MarkdownPlugin: () => MarkdownPlugin,
|
|
25
|
-
getAbstract: () =>
|
|
26
|
-
getFallbackName: () =>
|
|
27
|
-
isMarkdownProperties: () =>
|
|
25
|
+
getAbstract: () => import_chunk_G7RBJX22.getAbstract,
|
|
26
|
+
getFallbackName: () => import_chunk_G7RBJX22.getFallbackName,
|
|
27
|
+
isMarkdownProperties: () => import_chunk_G7RBJX22.isMarkdownProperties,
|
|
28
28
|
meta: () => import_chunk_ZU5OIHCY.meta,
|
|
29
|
-
serializer: () =>
|
|
30
|
-
setFallbackName: () =>
|
|
29
|
+
serializer: () => import_chunk_G7RBJX22.serializer,
|
|
30
|
+
setFallbackName: () => import_chunk_G7RBJX22.setFallbackName
|
|
31
31
|
});
|
|
32
32
|
module.exports = __toCommonJS(node_exports);
|
|
33
|
-
var
|
|
34
|
-
var
|
|
35
|
-
var
|
|
36
|
-
var
|
|
37
|
-
var
|
|
33
|
+
var import_chunk_ZDTL47I7 = require("./chunk-ZDTL47I7.cjs");
|
|
34
|
+
var import_chunk_C4HR7UXE = require("./chunk-C4HR7UXE.cjs");
|
|
35
|
+
var import_chunk_IFYSBQE5 = require("./chunk-IFYSBQE5.cjs");
|
|
36
|
+
var import_chunk_G7RBJX22 = require("./chunk-G7RBJX22.cjs");
|
|
37
|
+
var import_chunk_RQS4KBMG = require("./chunk-RQS4KBMG.cjs");
|
|
38
38
|
var import_chunk_ZU5OIHCY = require("./chunk-ZU5OIHCY.cjs");
|
|
39
39
|
var import_app_framework = require("@dxos/app-framework");
|
|
40
40
|
var import_app_framework2 = require("@dxos/app-framework");
|
|
@@ -43,25 +43,26 @@ var import_live_object = require("@dxos/live-object");
|
|
|
43
43
|
var import_plugin_client = require("@dxos/plugin-client");
|
|
44
44
|
var import_plugin_space = require("@dxos/plugin-space");
|
|
45
45
|
var import_types = require("@dxos/plugin-space/types");
|
|
46
|
+
var import_echo = require("@dxos/react-client/echo");
|
|
46
47
|
var import_react_ui_editor = require("@dxos/react-ui-editor");
|
|
47
48
|
var import_schema = require("@dxos/schema");
|
|
48
|
-
var MarkdownEvents;
|
|
49
49
|
(function(MarkdownEvents2) {
|
|
50
50
|
MarkdownEvents2.SetupExtensions = import_app_framework.Events.createStateEvent(`${import_chunk_ZU5OIHCY.MARKDOWN_PLUGIN}/setup-extensions`);
|
|
51
51
|
})(MarkdownEvents || (MarkdownEvents = {}));
|
|
52
|
+
var MarkdownEvents;
|
|
52
53
|
var MarkdownPlugin = () => (0, import_app_framework2.definePlugin)(import_chunk_ZU5OIHCY.meta, [
|
|
53
54
|
(0, import_app_framework2.defineModule)({
|
|
54
55
|
id: `${import_chunk_ZU5OIHCY.meta.id}/module/translations`,
|
|
55
56
|
activatesOn: import_app_framework2.Events.SetupTranslations,
|
|
56
57
|
activate: () => (0, import_app_framework2.contributes)(import_app_framework2.Capabilities.Translations, [
|
|
57
|
-
...
|
|
58
|
+
...import_chunk_ZDTL47I7.translations_default,
|
|
58
59
|
...import_react_ui_editor.translations
|
|
59
60
|
])
|
|
60
61
|
}),
|
|
61
62
|
(0, import_app_framework2.defineModule)({
|
|
62
63
|
id: `${import_chunk_ZU5OIHCY.meta.id}/module/settings`,
|
|
63
64
|
activatesOn: import_app_framework2.Events.SetupSettings,
|
|
64
|
-
activate:
|
|
65
|
+
activate: import_chunk_C4HR7UXE.MarkdownSettings
|
|
65
66
|
}),
|
|
66
67
|
(0, import_app_framework2.defineModule)({
|
|
67
68
|
id: `${import_chunk_ZU5OIHCY.meta.id}/module/state`,
|
|
@@ -69,25 +70,35 @@ var MarkdownPlugin = () => (0, import_app_framework2.definePlugin)(import_chunk_
|
|
|
69
70
|
// Should this be a different event?
|
|
70
71
|
// Should settings store be renamed to be more generic?
|
|
71
72
|
activatesOn: import_app_framework2.Events.SetupSettings,
|
|
72
|
-
activate:
|
|
73
|
+
activate: import_chunk_C4HR7UXE.MarkdownState
|
|
73
74
|
}),
|
|
74
75
|
(0, import_app_framework2.defineModule)({
|
|
75
76
|
id: `${import_chunk_ZU5OIHCY.meta.id}/module/metadata`,
|
|
76
77
|
activatesOn: import_app_framework2.Events.SetupMetadata,
|
|
77
78
|
activate: () => (0, import_app_framework2.contributes)(import_app_framework2.Capabilities.Metadata, {
|
|
78
|
-
id:
|
|
79
|
+
id: import_chunk_RQS4KBMG.DocumentType.typename,
|
|
79
80
|
metadata: {
|
|
80
|
-
label: (object) => (0, import_echo_schema.isInstanceOf)(
|
|
81
|
+
label: (object) => (0, import_echo_schema.isInstanceOf)(import_chunk_RQS4KBMG.DocumentType, object) ? object.name || object.fallbackName : void 0,
|
|
81
82
|
icon: "ph--text-aa--regular",
|
|
82
83
|
graphProps: {
|
|
83
84
|
managesAutofocus: true
|
|
84
85
|
},
|
|
85
86
|
// TODO(wittjosiah): Move out of metadata.
|
|
86
87
|
loadReferences: async (doc) => await import_live_object.RefArray.loadAll([
|
|
87
|
-
doc.content
|
|
88
|
-
...doc.threads
|
|
88
|
+
doc.content
|
|
89
89
|
]),
|
|
90
|
-
serializer:
|
|
90
|
+
serializer: import_chunk_G7RBJX22.serializer,
|
|
91
|
+
// TODO(wittjosiah): Consider how to do generic comments without these.
|
|
92
|
+
comments: "anchored",
|
|
93
|
+
selectionMode: "multi-range",
|
|
94
|
+
getAnchorLabel: (doc, anchor) => {
|
|
95
|
+
if (doc.content) {
|
|
96
|
+
const [start, end] = anchor.split(":");
|
|
97
|
+
return (0, import_echo.getTextInRange)((0, import_echo.createDocAccessor)(doc.content.target, [
|
|
98
|
+
"content"
|
|
99
|
+
]), start, end);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
91
102
|
}
|
|
92
103
|
})
|
|
93
104
|
}),
|
|
@@ -95,8 +106,8 @@ var MarkdownPlugin = () => (0, import_app_framework2.definePlugin)(import_chunk_
|
|
|
95
106
|
id: `${import_chunk_ZU5OIHCY.meta.id}/module/object-form`,
|
|
96
107
|
activatesOn: import_plugin_client.ClientEvents.SetupSchema,
|
|
97
108
|
activate: () => (0, import_app_framework2.contributes)(import_plugin_space.SpaceCapabilities.ObjectForm, (0, import_types.defineObjectForm)({
|
|
98
|
-
objectSchema:
|
|
99
|
-
getIntent: (_, { space }) => (0, import_app_framework2.createIntent)(
|
|
109
|
+
objectSchema: import_chunk_RQS4KBMG.DocumentType,
|
|
110
|
+
getIntent: (_, { space }) => (0, import_app_framework2.createIntent)(import_chunk_RQS4KBMG.MarkdownAction.Create, {
|
|
100
111
|
spaceId: space.id
|
|
101
112
|
})
|
|
102
113
|
}))
|
|
@@ -115,27 +126,28 @@ var MarkdownPlugin = () => (0, import_app_framework2.definePlugin)(import_chunk_
|
|
|
115
126
|
activatesBefore: [
|
|
116
127
|
MarkdownEvents.SetupExtensions
|
|
117
128
|
],
|
|
118
|
-
activate:
|
|
129
|
+
activate: import_chunk_C4HR7UXE.ReactSurface
|
|
119
130
|
}),
|
|
120
131
|
(0, import_app_framework2.defineModule)({
|
|
121
132
|
id: `${import_chunk_ZU5OIHCY.meta.id}/module/intent-resolver`,
|
|
122
133
|
activatesOn: import_app_framework2.Events.SetupIntentResolver,
|
|
123
|
-
activate:
|
|
134
|
+
activate: import_chunk_C4HR7UXE.IntentResolver
|
|
124
135
|
}),
|
|
125
136
|
(0, import_app_framework2.defineModule)({
|
|
126
137
|
id: `${import_chunk_ZU5OIHCY.meta.id}/module/app-graph-serializer`,
|
|
127
138
|
activatesOn: import_app_framework2.Events.AppGraphReady,
|
|
128
|
-
activate:
|
|
139
|
+
activate: import_chunk_C4HR7UXE.AppGraphSerializer
|
|
129
140
|
}),
|
|
130
141
|
(0, import_app_framework2.defineModule)({
|
|
131
|
-
id: `${import_chunk_ZU5OIHCY.meta.id}/module/
|
|
132
|
-
|
|
133
|
-
|
|
142
|
+
id: `${import_chunk_ZU5OIHCY.meta.id}/module/anchor-sort`,
|
|
143
|
+
// TODO(wittjosiah): More relevant event?
|
|
144
|
+
activatesOn: import_app_framework2.Events.AppGraphReady,
|
|
145
|
+
activate: import_chunk_C4HR7UXE.AnchorSort
|
|
134
146
|
}),
|
|
135
147
|
(0, import_app_framework2.defineModule)({
|
|
136
148
|
id: `${import_chunk_ZU5OIHCY.meta.id}/module/artifact-definition`,
|
|
137
149
|
activatesOn: import_app_framework2.Events.SetupArtifactDefinition,
|
|
138
|
-
activate:
|
|
150
|
+
activate: import_chunk_C4HR7UXE.ArtifactDefinition
|
|
139
151
|
})
|
|
140
152
|
]);
|
|
141
153
|
// Annotate the CommonJS export names for ESM import in node:
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/events.ts", "../../../src/MarkdownPlugin.tsx"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Events } from '@dxos/app-framework';\n\nimport { MARKDOWN_PLUGIN } from './meta';\n\nexport namespace MarkdownEvents {\n export const SetupExtensions = Events.createStateEvent(`${MARKDOWN_PLUGIN}/setup-extensions`);\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes, createIntent, defineModule, definePlugin, Events } from '@dxos/app-framework';\nimport { isInstanceOf, type BaseObject } from '@dxos/echo-schema';\nimport { RefArray } from '@dxos/live-object';\nimport { ClientCapabilities, ClientEvents } from '@dxos/plugin-client';\nimport { SpaceCapabilities
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,2BAAuB;ACAvB,IAAAA,wBAA4F;AAC5F,yBAA8C;AAC9C,yBAAyB;AACzB,2BAAiD;AACjD,
|
|
6
|
-
"names": ["import_app_framework", "MarkdownEvents", "SetupExtensions", "Events", "createStateEvent", "MARKDOWN_PLUGIN", "MarkdownPlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "SetupTranslations", "activate", "contributes", "Capabilities", "Translations", "translations", "editorTranslations", "SetupSettings", "MarkdownSettings", "MarkdownState", "SetupMetadata", "Metadata", "DocumentType", "typename", "metadata", "label", "object", "isInstanceOf", "name", "fallbackName", "undefined", "icon", "graphProps", "managesAutofocus", "loadReferences", "doc", "RefArray", "loadAll", "content", "
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Events } from '@dxos/app-framework';\n\nimport { MARKDOWN_PLUGIN } from './meta';\n\nexport namespace MarkdownEvents {\n export const SetupExtensions = Events.createStateEvent(`${MARKDOWN_PLUGIN}/setup-extensions`);\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes, createIntent, defineModule, definePlugin, Events } from '@dxos/app-framework';\nimport { isInstanceOf, type BaseObject } from '@dxos/echo-schema';\nimport { RefArray } from '@dxos/live-object';\nimport { ClientCapabilities, ClientEvents } from '@dxos/plugin-client';\nimport { SpaceCapabilities } from '@dxos/plugin-space';\nimport { defineObjectForm } from '@dxos/plugin-space/types';\nimport { createDocAccessor, getTextInRange } from '@dxos/react-client/echo';\nimport { translations as editorTranslations } from '@dxos/react-ui-editor';\nimport { DataType } from '@dxos/schema';\n\nimport {\n AnchorSort,\n AppGraphSerializer,\n ArtifactDefinition,\n IntentResolver,\n MarkdownState,\n MarkdownSettings,\n ReactSurface,\n} from './capabilities';\nimport { MarkdownEvents } from './events';\nimport { meta } from './meta';\nimport translations from './translations';\nimport { DocumentType, MarkdownAction } from './types';\nimport { serializer } from './util';\n\nexport const MarkdownPlugin = () =>\n definePlugin(meta, [\n defineModule({\n id: `${meta.id}/module/translations`,\n activatesOn: Events.SetupTranslations,\n activate: () => contributes(Capabilities.Translations, [...translations, ...editorTranslations]),\n }),\n defineModule({\n id: `${meta.id}/module/settings`,\n activatesOn: Events.SetupSettings,\n activate: MarkdownSettings,\n }),\n defineModule({\n id: `${meta.id}/module/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: Events.SetupSettings,\n activate: MarkdownState,\n }),\n defineModule({\n id: `${meta.id}/module/metadata`,\n activatesOn: Events.SetupMetadata,\n activate: () =>\n contributes(Capabilities.Metadata, {\n id: DocumentType.typename,\n metadata: {\n label: (object: any) =>\n isInstanceOf(DocumentType, object) ? object.name || object.fallbackName : undefined,\n icon: 'ph--text-aa--regular',\n graphProps: {\n managesAutofocus: true,\n },\n // TODO(wittjosiah): Move out of metadata.\n loadReferences: async (doc: DocumentType) => await RefArray.loadAll<BaseObject>([doc.content]),\n serializer,\n // TODO(wittjosiah): Consider how to do generic comments without these.\n comments: 'anchored',\n selectionMode: 'multi-range',\n getAnchorLabel: (doc: DocumentType, anchor: string): string | undefined => {\n if (doc.content) {\n const [start, end] = anchor.split(':');\n return getTextInRange(createDocAccessor(doc.content.target!, ['content']), start, end);\n }\n },\n },\n }),\n }),\n defineModule({\n id: `${meta.id}/module/object-form`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () =>\n contributes(\n SpaceCapabilities.ObjectForm,\n defineObjectForm({\n objectSchema: DocumentType,\n getIntent: (_, { space }) => createIntent(MarkdownAction.Create, { spaceId: space.id }),\n }),\n ),\n }),\n defineModule({\n id: `${meta.id}/module/schema`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () => contributes(ClientCapabilities.Schema, [DataType.Text]),\n }),\n defineModule({\n id: `${meta.id}/module/react-surface`,\n activatesOn: Events.SetupReactSurface,\n // TODO(wittjosiah): Should occur before the editor is loaded when surfaces activation is more granular.\n activatesBefore: [MarkdownEvents.SetupExtensions],\n activate: ReactSurface,\n }),\n defineModule({\n id: `${meta.id}/module/intent-resolver`,\n activatesOn: Events.SetupIntentResolver,\n activate: IntentResolver,\n }),\n defineModule({\n id: `${meta.id}/module/app-graph-serializer`,\n activatesOn: Events.AppGraphReady,\n activate: AppGraphSerializer,\n }),\n defineModule({\n id: `${meta.id}/module/anchor-sort`,\n // TODO(wittjosiah): More relevant event?\n activatesOn: Events.AppGraphReady,\n activate: AnchorSort,\n }),\n defineModule({\n id: `${meta.id}/module/artifact-definition`,\n activatesOn: Events.SetupArtifactDefinition,\n activate: ArtifactDefinition,\n }),\n ]);\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,2BAAuB;ACAvB,IAAAA,wBAA4F;AAC5F,yBAA8C;AAC9C,yBAAyB;AACzB,2BAAiD;AACjD,0BAAkC;AAClC,mBAAiC;AACjC,kBAAkD;AAClD,6BAAmD;AACnD,oBAAyB;UDJRC,iBAAAA;kBACFC,kBAAkBC,4BAAOC,iBAAiB,GAAGC,qCAAAA,mBAAkC;AAC9F,GAFiBJ,mBAAAA,iBAAAA,CAAAA,EAAAA;;ACqBV,IAAMK,iBAAiB,UAC5BC,oCAAaC,4BAAM;MACjBC,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaR,sBAAAA,OAAOS;IACpBC,UAAU,UAAMC,mCAAYC,mCAAaC,cAAc;SAAIC;SAAiBC,uBAAAA;KAAmB;EACjG,CAAA;MACAT,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaR,sBAAAA,OAAOgB;IACpBN,UAAUO;EACZ,CAAA;MACAX,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;;;;IAIdC,aAAaR,sBAAAA,OAAOgB;IACpBN,UAAUQ;EACZ,CAAA;MACAZ,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaR,sBAAAA,OAAOmB;IACpBT,UAAU,UACRC,mCAAYC,mCAAaQ,UAAU;MACjCb,IAAIc,mCAAaC;MACjBC,UAAU;QACRC,OAAO,CAACC,eACNC,iCAAaL,oCAAcI,MAAAA,IAAUA,OAAOE,QAAQF,OAAOG,eAAeC;QAC5EC,MAAM;QACNC,YAAY;UACVC,kBAAkB;QACpB;;QAEAC,gBAAgB,OAAOC,QAAsB,MAAMC,4BAASC,QAAoB;UAACF,IAAIG;SAAQ;QAC7FC;;QAEAC,UAAU;QACVC,eAAe;QACfC,gBAAgB,CAACP,KAAmBQ,WAAAA;AAClC,cAAIR,IAAIG,SAAS;AACf,kBAAM,CAACM,OAAOC,GAAAA,IAAOF,OAAOG,MAAM,GAAA;AAClC,uBAAOC,gCAAeC,+BAAkBb,IAAIG,QAAQW,QAAS;cAAC;aAAU,GAAGL,OAAOC,GAAAA;UACpF;QACF;MACF;IACF,CAAA;EACJ,CAAA;MACAtC,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAayC,kCAAaC;IAC1BxC,UAAU,UACRC,mCACEwC,sCAAkBC,gBAClBC,+BAAiB;MACfC,cAAcjC;MACdkC,WAAW,CAACC,GAAG,EAAEC,MAAK,UAAOC,oCAAaC,qCAAeC,QAAQ;QAAEC,SAASJ,MAAMlD;MAAG,CAAA;IACvF,CAAA,CAAA;EAEN,CAAA;MACAD,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAayC,kCAAaC;IAC1BxC,UAAU,UAAMC,mCAAYmD,wCAAmBC,QAAQ;MAACC,uBAASC;KAAK;EACxE,CAAA;MACA3D,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaR,sBAAAA,OAAOkE;;IAEpBC,iBAAiB;MAACrE,eAAeC;;IACjCW,UAAU0D;EACZ,CAAA;MACA9D,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaR,sBAAAA,OAAOqE;IACpB3D,UAAU4D;EACZ,CAAA;MACAhE,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaR,sBAAAA,OAAOuE;IACpB7D,UAAU8D;EACZ,CAAA;MACAlE,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;;IAEdC,aAAaR,sBAAAA,OAAOuE;IACpB7D,UAAU+D;EACZ,CAAA;MACAnE,oCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaR,sBAAAA,OAAO0E;IACpBhE,UAAUiE;EACZ,CAAA;CACD;",
|
|
6
|
+
"names": ["import_app_framework", "MarkdownEvents", "SetupExtensions", "Events", "createStateEvent", "MARKDOWN_PLUGIN", "MarkdownPlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "SetupTranslations", "activate", "contributes", "Capabilities", "Translations", "translations", "editorTranslations", "SetupSettings", "MarkdownSettings", "MarkdownState", "SetupMetadata", "Metadata", "DocumentType", "typename", "metadata", "label", "object", "isInstanceOf", "name", "fallbackName", "undefined", "icon", "graphProps", "managesAutofocus", "loadReferences", "doc", "RefArray", "loadAll", "content", "serializer", "comments", "selectionMode", "getAnchorLabel", "anchor", "start", "end", "split", "getTextInRange", "createDocAccessor", "target", "ClientEvents", "SetupSchema", "SpaceCapabilities", "ObjectForm", "defineObjectForm", "objectSchema", "getIntent", "_", "space", "createIntent", "MarkdownAction", "Create", "spaceId", "ClientCapabilities", "Schema", "DataType", "Text", "SetupReactSurface", "activatesBefore", "ReactSurface", "SetupIntentResolver", "IntentResolver", "AppGraphReady", "AppGraphSerializer", "AnchorSort", "SetupArtifactDefinition", "ArtifactDefinition"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var intent_resolver_AUZVK3NZ_exports = {};
|
|
20
|
+
__export(intent_resolver_AUZVK3NZ_exports, {
|
|
21
|
+
default: () => intent_resolver_default
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(intent_resolver_AUZVK3NZ_exports);
|
|
24
|
+
var import_chunk_IFYSBQE5 = require("./chunk-IFYSBQE5.cjs");
|
|
25
|
+
var import_chunk_RQS4KBMG = require("./chunk-RQS4KBMG.cjs");
|
|
26
|
+
var import_chunk_ZU5OIHCY = require("./chunk-ZU5OIHCY.cjs");
|
|
27
|
+
var import_automerge = require("@automerge/automerge");
|
|
28
|
+
var import_effect = require("effect");
|
|
29
|
+
var import_app_framework = require("@dxos/app-framework");
|
|
30
|
+
var import_echo_schema = require("@dxos/echo-schema");
|
|
31
|
+
var import_live_object = require("@dxos/live-object");
|
|
32
|
+
var import_echo = require("@dxos/react-client/echo");
|
|
33
|
+
var import_schema = require("@dxos/schema");
|
|
34
|
+
var intent_resolver_default = (context) => (0, import_app_framework.contributes)(import_app_framework.Capabilities.IntentResolver, [
|
|
35
|
+
(0, import_app_framework.createResolver)({
|
|
36
|
+
intent: import_chunk_RQS4KBMG.MarkdownAction.Create,
|
|
37
|
+
resolve: ({ name, content }) => {
|
|
38
|
+
const doc = (0, import_live_object.live)(import_chunk_RQS4KBMG.DocumentType, {
|
|
39
|
+
name,
|
|
40
|
+
content: import_echo.Ref.make((0, import_live_object.live)(import_schema.DataType.Text, {
|
|
41
|
+
content: content ?? ""
|
|
42
|
+
}))
|
|
43
|
+
});
|
|
44
|
+
return {
|
|
45
|
+
data: {
|
|
46
|
+
object: doc
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
}),
|
|
51
|
+
(0, import_app_framework.createResolver)({
|
|
52
|
+
intent: import_chunk_RQS4KBMG.MarkdownAction.SetViewMode,
|
|
53
|
+
resolve: ({ id, viewMode }) => {
|
|
54
|
+
const { state } = context.getCapability(import_chunk_IFYSBQE5.MarkdownCapabilities.State);
|
|
55
|
+
state.viewMode[id] = viewMode;
|
|
56
|
+
}
|
|
57
|
+
}),
|
|
58
|
+
(0, import_app_framework.createResolver)({
|
|
59
|
+
intent: import_app_framework.CollaborationActions.InsertContent,
|
|
60
|
+
filter: (data) => (0, import_echo_schema.isInstanceOf)(import_chunk_RQS4KBMG.DocumentType, data.target),
|
|
61
|
+
resolve: async ({ target, object: objectRef, at, label }) => {
|
|
62
|
+
const text = await target.content.load();
|
|
63
|
+
const accessor = (0, import_echo.createDocAccessor)(text, [
|
|
64
|
+
"content"
|
|
65
|
+
]);
|
|
66
|
+
const { start, end } = (0, import_effect.pipe)(import_effect.Option.fromNullable(at), import_effect.Option.flatMap((at2) => import_effect.Option.fromNullable((0, import_echo.getRangeFromCursor)(accessor, at2))), import_effect.Option.getOrElse(() => ({
|
|
67
|
+
start: text.content.length - 1,
|
|
68
|
+
end: text.content.length - 1
|
|
69
|
+
})));
|
|
70
|
+
accessor.handle.change((doc) => {
|
|
71
|
+
const ref = `[${label ?? "Generated content"}]](${objectRef.dxn.toString()})
|
|
72
|
+
`;
|
|
73
|
+
import_automerge.next.splice(doc, accessor.path.slice(), start, end - start, ref);
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
})
|
|
77
|
+
]);
|
|
78
|
+
//# sourceMappingURL=intent-resolver-AUZVK3NZ.cjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
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 { isInstanceOf } from '@dxos/echo-schema';\nimport { live } from '@dxos/live-object';\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 = live(DocumentType, {\n name,\n content: Ref.make(live(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 } => isInstanceOf(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,uBAA0B;AAC1B,oBAA0C;AAE1C,2BAMO;AACP,yBAA6B;AAC7B,yBAAqB;AACrB,kBAA2D;AAC3D,oBAAyB;AAKzB,IAAA,0BAAe,CAACA,gBACdC,kCAAYC,kCAAaC,gBAAgB;MACvCC,qCAAe;IACbC,QAAQC,qCAAeC;IACvBC,SAAS,CAAC,EAAEC,MAAMC,QAAO,MAAE;AACzB,YAAMC,UAAMC,yBAAKC,oCAAc;QAC7BJ;QACAC,SAASI,gBAAIC,SAAKH,yBAAKI,uBAASC,MAAM;UAAEP,SAASA,WAAW;QAAG,CAAA,CAAA;MACjE,CAAA;AAEA,aAAO;QAAEQ,MAAM;UAAEC,QAAQR;QAAI;MAAE;IACjC;EACF,CAAA;MACAP,qCAAe;IACbC,QAAQC,qCAAec;IACvBZ,SAAS,CAAC,EAAEa,IAAIC,SAAQ,MAAE;AACxB,YAAM,EAAEC,MAAK,IAAKvB,QAAQwB,cAAcC,2CAAqBC,KAAK;AAClEH,YAAMD,SAASD,EAAAA,IAAMC;IACvB;EACF,CAAA;MACAlB,qCAAe;IACbC,QAAQsB,0CAAqBC;IAC7BC,QAAQ,CACNX,aAGGY,iCAAajB,oCAAcK,KAAKa,MAAM;IAC3CvB,SAAS,OAAO,EAAEuB,QAAQZ,QAAQa,WAAWC,IAAIC,MAAK,MAAE;AACtD,YAAMC,OAAO,MAAMJ,OAAOrB,QAAQ0B,KAAI;AACtC,YAAMC,eAAWC,+BAAkBH,MAAM;QAAC;OAAU;AACpD,YAAM,EAAEI,OAAOC,IAAG,QAAKC,oBACrBC,qBAAOC,aAAaV,EAAAA,GACpBS,qBAAOE,QAAQ,CAACX,QAAOS,qBAAOC,iBAAaE,gCAAmBR,UAAUJ,GAAAA,CAAAA,CAAAA,GACxES,qBAAOI,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,yBAAAA,KAAEC,OAAO3C,KAAK0B,SAASkB,KAAKC,MAAK,GAAIjB,OAAOC,MAAMD,OAAOW,GAAAA;MAC3D,CAAA;IACF;EACF,CAAA;CACD;",
|
|
6
|
+
"names": ["context", "contributes", "Capabilities", "IntentResolver", "createResolver", "intent", "MarkdownAction", "Create", "resolve", "name", "content", "doc", "live", "DocumentType", "Ref", "make", "DataType", "Text", "data", "object", "SetViewMode", "id", "viewMode", "state", "getCapability", "MarkdownCapabilities", "State", "CollaborationActions", "InsertContent", "filter", "isInstanceOf", "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
|
+
}
|