@dxos/plugin-markdown 0.8.4-main.21d9917 → 0.8.4-main.2244d791bb
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/MarkdownCard-Z6PWYEHJ.mjs +11 -0
- package/dist/lib/browser/MarkdownContainer-KGEX4KEN.mjs +11 -0
- package/dist/lib/browser/{anchor-sort-WQ3TL7ZI.mjs → anchor-sort-QCUZGON5.mjs} +5 -4
- package/dist/lib/browser/anchor-sort-QCUZGON5.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-serializer-ULZUJKOD.mjs → app-graph-serializer-6NGPRTY6.mjs} +7 -6
- package/dist/lib/browser/app-graph-serializer-6NGPRTY6.mjs.map +7 -0
- package/dist/lib/browser/blueprint-definition-HYSNAH6Z.mjs +17 -0
- package/dist/lib/browser/blueprint-definition-HYSNAH6Z.mjs.map +7 -0
- package/dist/lib/browser/blueprints/index.mjs +4 -4
- package/dist/lib/browser/{chunk-BX73DASG.mjs → chunk-IKUJPKAE.mjs} +130 -36
- package/dist/lib/browser/chunk-IKUJPKAE.mjs.map +7 -0
- package/dist/lib/browser/{chunk-JOXYQLKH.mjs → chunk-JODBECJA.mjs} +5 -3
- package/dist/lib/browser/chunk-JODBECJA.mjs.map +7 -0
- package/dist/lib/browser/{chunk-CUGDX7KA.mjs → chunk-KW4FLYZS.mjs} +2 -2
- package/dist/lib/browser/{chunk-FWQQW6KU.mjs → chunk-LIZX2OAT.mjs} +72 -38
- package/dist/lib/browser/chunk-LIZX2OAT.mjs.map +7 -0
- package/dist/lib/browser/{chunk-VQ3WOAB6.mjs → chunk-LRRS3L7O.mjs} +7 -9
- package/dist/lib/browser/chunk-LRRS3L7O.mjs.map +7 -0
- package/dist/lib/browser/{chunk-LMO5UVKL.mjs → chunk-PV7GW7CI.mjs} +3 -4
- package/dist/lib/browser/{chunk-LMO5UVKL.mjs.map → chunk-PV7GW7CI.mjs.map} +3 -3
- package/dist/lib/browser/{chunk-KDKXFKDN.mjs → chunk-YZKNND37.mjs} +8 -7
- package/dist/lib/browser/chunk-YZKNND37.mjs.map +7 -0
- package/dist/lib/browser/cli/index.mjs +11 -10
- package/dist/lib/browser/cli/index.mjs.map +3 -3
- package/dist/lib/browser/index.mjs +45 -42
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{operation-resolver-EGCWOQKJ.mjs → operation-resolver-EHCL5OS7.mjs} +5 -5
- package/dist/lib/browser/operation-resolver-EHCL5OS7.mjs.map +7 -0
- package/dist/lib/browser/{react-surface-64FZ7T7F.mjs → react-surface-SQVRMKCQ.mjs} +27 -27
- package/dist/lib/browser/react-surface-SQVRMKCQ.mjs.map +7 -0
- package/dist/lib/browser/{settings-JY5JE7MI.mjs → settings-4DDC3NMP.mjs} +5 -4
- package/dist/lib/browser/settings-4DDC3NMP.mjs.map +7 -0
- package/dist/lib/browser/{state-QE7VSJWJ.mjs → state-UIZ3X7RA.mjs} +2 -2
- package/dist/lib/browser/types/index.mjs +1 -1
- package/dist/lib/node-esm/{MarkdownCard-GMNXUWWR.mjs → MarkdownCard-NUGJRT43.mjs} +4 -5
- package/dist/lib/node-esm/{MarkdownContainer-LUSMORP2.mjs → MarkdownContainer-6D7OHAZA.mjs} +4 -5
- package/dist/lib/node-esm/{anchor-sort-G7D5TAI6.mjs → anchor-sort-ABOJXSU6.mjs} +5 -4
- package/dist/lib/node-esm/anchor-sort-ABOJXSU6.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-serializer-W5YMQP7P.mjs → app-graph-serializer-OYKI3LW2.mjs} +7 -6
- package/dist/lib/node-esm/app-graph-serializer-OYKI3LW2.mjs.map +7 -0
- package/dist/lib/node-esm/blueprint-definition-SOC744SQ.mjs +18 -0
- package/dist/lib/node-esm/blueprint-definition-SOC744SQ.mjs.map +7 -0
- package/dist/lib/node-esm/blueprints/index.mjs +4 -4
- package/dist/lib/node-esm/{chunk-KXEQCFMB.mjs → chunk-A5WB5WP7.mjs} +7 -9
- package/dist/lib/node-esm/chunk-A5WB5WP7.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-EYAFC4N7.mjs → chunk-BMKFZ5WK.mjs} +72 -38
- package/dist/lib/node-esm/chunk-BMKFZ5WK.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-W3IIKDV5.mjs → chunk-GXEX67UI.mjs} +2 -2
- package/dist/lib/node-esm/{chunk-PRV35A7Z.mjs → chunk-KG7JF7PJ.mjs} +3 -4
- package/dist/lib/node-esm/{chunk-PRV35A7Z.mjs.map → chunk-KG7JF7PJ.mjs.map} +3 -3
- package/dist/lib/node-esm/{chunk-44VJC3QF.mjs → chunk-PPGVKPFP.mjs} +5 -3
- package/dist/lib/node-esm/chunk-PPGVKPFP.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-3JYPCC7M.mjs → chunk-U4W25KQQ.mjs} +8 -7
- package/dist/lib/node-esm/chunk-U4W25KQQ.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-D4BCFPKK.mjs → chunk-WJRTAU55.mjs} +130 -36
- package/dist/lib/node-esm/chunk-WJRTAU55.mjs.map +7 -0
- package/dist/lib/node-esm/cli/index.mjs +11 -10
- package/dist/lib/node-esm/cli/index.mjs.map +3 -3
- package/dist/lib/node-esm/index.mjs +45 -42
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{operation-resolver-2HIS2AQZ.mjs → operation-resolver-ILDFG244.mjs} +5 -5
- package/dist/lib/node-esm/operation-resolver-ILDFG244.mjs.map +7 -0
- package/dist/lib/node-esm/{react-surface-PKEVHTJK.mjs → react-surface-5DVOPYF3.mjs} +27 -27
- package/dist/lib/node-esm/react-surface-5DVOPYF3.mjs.map +7 -0
- package/dist/lib/node-esm/{settings-4UGMPIRY.mjs → settings-MHB4FPJU.mjs} +5 -4
- package/dist/lib/node-esm/settings-MHB4FPJU.mjs.map +7 -0
- package/dist/lib/node-esm/{state-LXE5XIN4.mjs → state-B2JSHJKS.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/blueprints/functions/create.d.ts.map +1 -1
- package/dist/types/src/blueprints/functions/index.d.ts +41 -3
- package/dist/types/src/blueprints/functions/index.d.ts.map +1 -1
- package/dist/types/src/blueprints/functions/open.d.ts +8 -1
- package/dist/types/src/blueprints/functions/open.d.ts.map +1 -1
- package/dist/types/src/blueprints/functions/update.d.ts +16 -3
- package/dist/types/src/blueprints/functions/update.d.ts.map +1 -1
- package/dist/types/src/blueprints/index.d.ts +1 -1
- package/dist/types/src/blueprints/index.d.ts.map +1 -1
- package/dist/types/src/blueprints/markdown-blueprint.d.ts +3 -20
- package/dist/types/src/blueprints/markdown-blueprint.d.ts.map +1 -1
- package/dist/types/src/capabilities/anchor-sort/anchor-sort.d.ts +3 -2
- package/dist/types/src/capabilities/anchor-sort/anchor-sort.d.ts.map +1 -1
- package/dist/types/src/capabilities/anchor-sort/index.d.ts +1 -1
- package/dist/types/src/capabilities/anchor-sort/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-serializer/app-graph-serializer.d.ts +2 -2
- package/dist/types/src/capabilities/app-graph-serializer/app-graph-serializer.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-serializer/index.d.ts +1 -1
- package/dist/types/src/capabilities/app-graph-serializer/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/artifact-definition/artifact-definition.d.ts.map +1 -1
- package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts +3 -7
- package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts.map +1 -1
- package/dist/types/src/capabilities/blueprint-definition/index.d.ts +1 -1
- package/dist/types/src/capabilities/blueprint-definition/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/operation-resolver/index.d.ts +1 -1
- package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +2 -2
- package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface/index.d.ts +1 -1
- package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface/react-surface.d.ts +2 -2
- package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -1
- package/dist/types/src/capabilities/settings/index.d.ts +1 -1
- package/dist/types/src/capabilities/settings/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/settings/settings.d.ts +3 -2
- package/dist/types/src/capabilities/settings/settings.d.ts.map +1 -1
- package/dist/types/src/cli/plugin.d.ts.map +1 -1
- package/dist/types/src/components/MarkdownCard/MarkdownCard.d.ts.map +1 -1
- package/dist/types/src/components/MarkdownContainer.d.ts +1 -1
- package/dist/types/src/components/MarkdownContainer.d.ts.map +1 -1
- package/dist/types/src/components/MarkdownContainer.stories.d.ts +29 -0
- package/dist/types/src/components/MarkdownContainer.stories.d.ts.map +1 -1
- package/dist/types/src/components/MarkdownEditor/FileUpload.d.ts +2 -2
- package/dist/types/src/components/MarkdownEditor/FileUpload.d.ts.map +1 -1
- package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts.map +1 -1
- package/dist/types/src/components/MarkdownEditor/MarkdownEditorToolbar.d.ts +2 -2
- package/dist/types/src/components/MarkdownEditor/MarkdownEditorToolbar.d.ts.map +1 -1
- package/dist/types/src/hooks/useExtensions.d.ts +2 -2
- package/dist/types/src/hooks/useExtensions.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +1 -0
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +29 -0
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/MarkdownAction.d.ts +1 -1
- package/dist/types/src/types/events.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +66 -59
- package/src/MarkdownPlugin.tsx +26 -25
- package/src/blueprints/functions/create.conversations.json +1 -1
- package/src/blueprints/functions/create.test.ts +23 -56
- package/src/blueprints/functions/create.ts +3 -2
- package/src/blueprints/functions/index.ts +11 -3
- package/src/blueprints/functions/open.ts +9 -9
- package/src/blueprints/functions/update.conversations.json +1 -1
- package/src/blueprints/functions/update.test.ts +132 -66
- package/src/blueprints/functions/update.ts +53 -12
- package/src/blueprints/index.ts +1 -1
- package/src/blueprints/markdown-blueprint.ts +14 -6
- package/src/capabilities/anchor-sort/anchor-sort.ts +3 -2
- package/src/capabilities/app-graph-serializer/app-graph-serializer.ts +4 -3
- package/src/capabilities/artifact-definition/artifact-definition.ts +2 -2
- package/src/capabilities/blueprint-definition/blueprint-definition.ts +6 -14
- package/src/capabilities/operation-resolver/operation-resolver.ts +3 -3
- package/src/capabilities/react-surface/react-surface.tsx +12 -10
- package/src/capabilities/settings/settings.ts +3 -2
- package/src/cli/plugin.ts +5 -4
- package/src/components/MarkdownCard/MarkdownCard.stories.tsx +1 -1
- package/src/components/MarkdownCard/MarkdownCard.tsx +7 -5
- package/src/components/MarkdownContainer.stories.tsx +5 -5
- package/src/components/MarkdownContainer.tsx +6 -4
- package/src/components/MarkdownEditor/FileUpload.tsx +2 -2
- package/src/components/MarkdownEditor/MarkdownEditor.stories.tsx +2 -2
- package/src/components/MarkdownEditor/MarkdownEditor.tsx +17 -11
- package/src/components/MarkdownEditor/MarkdownEditorToolbar.tsx +2 -2
- package/src/components/MarkdownSettings/MarkdownSettings.tsx +24 -24
- package/src/components/Suggestions.stories.tsx +3 -3
- package/src/hooks/useExtensions.tsx +5 -4
- package/src/hooks/useLinkQuery.ts +3 -3
- package/src/hooks/useSelectCurrentThread.tsx +3 -3
- package/src/index.ts +2 -0
- package/src/testing.ts +1 -1
- package/src/translations.ts +2 -0
- package/src/types/events.ts +3 -2
- package/dist/lib/browser/MarkdownCard-HFNNE4B4.mjs +0 -12
- package/dist/lib/browser/MarkdownContainer-V7EAADMF.mjs +0 -12
- package/dist/lib/browser/anchor-sort-WQ3TL7ZI.mjs.map +0 -7
- package/dist/lib/browser/app-graph-serializer-ULZUJKOD.mjs.map +0 -7
- package/dist/lib/browser/blueprint-definition-TLV4PNZW.mjs +0 -19
- package/dist/lib/browser/blueprint-definition-TLV4PNZW.mjs.map +0 -7
- package/dist/lib/browser/chunk-BX73DASG.mjs.map +0 -7
- package/dist/lib/browser/chunk-FWQQW6KU.mjs.map +0 -7
- package/dist/lib/browser/chunk-JOXYQLKH.mjs.map +0 -7
- package/dist/lib/browser/chunk-KDKXFKDN.mjs.map +0 -7
- package/dist/lib/browser/chunk-S45ULIOG.mjs +0 -101
- package/dist/lib/browser/chunk-S45ULIOG.mjs.map +0 -7
- package/dist/lib/browser/chunk-VQ3WOAB6.mjs.map +0 -7
- package/dist/lib/browser/operation-resolver-EGCWOQKJ.mjs.map +0 -7
- package/dist/lib/browser/react-surface-64FZ7T7F.mjs.map +0 -7
- package/dist/lib/browser/settings-JY5JE7MI.mjs.map +0 -7
- package/dist/lib/node-esm/anchor-sort-G7D5TAI6.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-serializer-W5YMQP7P.mjs.map +0 -7
- package/dist/lib/node-esm/blueprint-definition-HYFA7BKQ.mjs +0 -20
- package/dist/lib/node-esm/blueprint-definition-HYFA7BKQ.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-3JYPCC7M.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-44VJC3QF.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-D4BCFPKK.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-EYAFC4N7.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-KXEQCFMB.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-SDTYEGGL.mjs +0 -102
- package/dist/lib/node-esm/chunk-SDTYEGGL.mjs.map +0 -7
- package/dist/lib/node-esm/operation-resolver-2HIS2AQZ.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-PKEVHTJK.mjs.map +0 -7
- package/dist/lib/node-esm/settings-4UGMPIRY.mjs.map +0 -7
- /package/dist/lib/browser/{MarkdownCard-HFNNE4B4.mjs.map → MarkdownCard-Z6PWYEHJ.mjs.map} +0 -0
- /package/dist/lib/browser/{MarkdownContainer-V7EAADMF.mjs.map → MarkdownContainer-KGEX4KEN.mjs.map} +0 -0
- /package/dist/lib/browser/{chunk-CUGDX7KA.mjs.map → chunk-KW4FLYZS.mjs.map} +0 -0
- /package/dist/lib/browser/{state-QE7VSJWJ.mjs.map → state-UIZ3X7RA.mjs.map} +0 -0
- /package/dist/lib/node-esm/{MarkdownCard-GMNXUWWR.mjs.map → MarkdownCard-NUGJRT43.mjs.map} +0 -0
- /package/dist/lib/node-esm/{MarkdownContainer-LUSMORP2.mjs.map → MarkdownContainer-6D7OHAZA.mjs.map} +0 -0
- /package/dist/lib/node-esm/{chunk-W3IIKDV5.mjs.map → chunk-GXEX67UI.mjs.map} +0 -0
- /package/dist/lib/node-esm/{state-LXE5XIN4.mjs.map → state-B2JSHJKS.mjs.map} +0 -0
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import {
|
|
2
|
+
MarkdownCard,
|
|
3
|
+
MarkdownCard_default
|
|
4
|
+
} from "./chunk-LRRS3L7O.mjs";
|
|
5
|
+
import "./chunk-IKUJPKAE.mjs";
|
|
6
|
+
import "./chunk-PV7GW7CI.mjs";
|
|
7
|
+
export {
|
|
8
|
+
MarkdownCard,
|
|
9
|
+
MarkdownCard_default as default
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=MarkdownCard-Z6PWYEHJ.mjs.map
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import {
|
|
2
|
+
MarkdownContainer,
|
|
3
|
+
MarkdownContainer_default
|
|
4
|
+
} from "./chunk-YZKNND37.mjs";
|
|
5
|
+
import "./chunk-IKUJPKAE.mjs";
|
|
6
|
+
import "./chunk-PV7GW7CI.mjs";
|
|
7
|
+
export {
|
|
8
|
+
MarkdownContainer,
|
|
9
|
+
MarkdownContainer_default as default
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=MarkdownContainer-KGEX4KEN.mjs.map
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Markdown_exports
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-PV7GW7CI.mjs";
|
|
4
4
|
|
|
5
5
|
// src/capabilities/anchor-sort/anchor-sort.ts
|
|
6
6
|
import * as Effect from "effect/Effect";
|
|
7
|
-
import { Capability
|
|
7
|
+
import { Capability } from "@dxos/app-framework";
|
|
8
|
+
import { AppCapabilities } from "@dxos/app-toolkit";
|
|
8
9
|
import { Relation } from "@dxos/echo";
|
|
9
10
|
import { createDocAccessor, getRangeFromCursor } from "@dxos/echo-db";
|
|
10
|
-
var anchor_sort_default = Capability.makeModule(() => Effect.succeed(Capability.contributes(
|
|
11
|
+
var anchor_sort_default = Capability.makeModule(() => Effect.succeed(Capability.contributes(AppCapabilities.AnchorSort, {
|
|
11
12
|
key: Markdown_exports.Document.typename,
|
|
12
13
|
sort: (anchorA, anchorB) => {
|
|
13
14
|
const doc = Relation.getTarget(anchorA);
|
|
@@ -29,4 +30,4 @@ var anchor_sort_default = Capability.makeModule(() => Effect.succeed(Capability.
|
|
|
29
30
|
export {
|
|
30
31
|
anchor_sort_default as default
|
|
31
32
|
};
|
|
32
|
-
//# sourceMappingURL=anchor-sort-
|
|
33
|
+
//# sourceMappingURL=anchor-sort-QCUZGON5.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/anchor-sort/anchor-sort.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability } from '@dxos/app-framework';\nimport { AppCapabilities } from '@dxos/app-toolkit';\nimport { Relation } from '@dxos/echo';\nimport { createDocAccessor, getRangeFromCursor } from '@dxos/echo-db';\nimport { type AnchoredTo } from '@dxos/types';\n\nimport { Markdown } from '../../types';\n\nexport default Capability.makeModule(() =>\n Effect.succeed(\n Capability.contributes(AppCapabilities.AnchorSort, {\n key: Markdown.Document.typename,\n sort: (anchorA: AnchoredTo.AnchoredTo, anchorB: AnchoredTo.AnchoredTo) => {\n const doc = Relation.getTarget(anchorA) as Markdown.Document;\n const accessor = doc.content.target ? createDocAccessor(doc.content.target, ['content']) : undefined;\n if (doc !== Relation.getTarget(anchorB) || !accessor) {\n return 0;\n }\n\n const getStartPosition = (cursor: string | undefined) => {\n const range = cursor ? getRangeFromCursor(accessor, cursor) : undefined;\n return range?.start ?? Number.MAX_SAFE_INTEGER;\n };\n\n const posA = getStartPosition(anchorA.anchor);\n const posB = getStartPosition(anchorB.anchor);\n return posA - posB;\n },\n }),\n ),\n);\n"],
|
|
5
|
+
"mappings": ";;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,uBAAuB;AAChC,SAASC,gBAAgB;AACzB,SAASC,mBAAmBC,0BAA0B;AAKtD,IAAA,sBAAeC,WAAWC,WAAW,MAC5BC,eACLF,WAAWG,YAAYC,gBAAgBC,YAAY;EACjDC,KAAKC,iBAASC,SAASC;EACvBC,MAAM,CAACC,SAAgCC,YAAAA;AACrC,UAAMC,MAAMC,SAASC,UAAUJ,OAAAA;AAC/B,UAAMK,WAAWH,IAAII,QAAQC,SAASC,kBAAkBN,IAAII,QAAQC,QAAQ;MAAC;KAAU,IAAIE;AAC3F,QAAIP,QAAQC,SAASC,UAAUH,OAAAA,KAAY,CAACI,UAAU;AACpD,aAAO;IACT;AAEA,UAAMK,mBAAmB,CAACC,WAAAA;AACxB,YAAMC,QAAQD,SAASE,mBAAmBR,UAAUM,MAAAA,IAAUF;AAC9D,aAAOG,OAAOE,SAASC,OAAOC;IAChC;AAEA,UAAMC,OAAOP,iBAAiBV,QAAQkB,MAAM;AAC5C,UAAMC,OAAOT,iBAAiBT,QAAQiB,MAAM;AAC5C,WAAOD,OAAOE;EAChB;AACF,CAAA,CAAA,CAAA;",
|
|
6
|
+
"names": ["Effect", "Capability", "AppCapabilities", "Relation", "createDocAccessor", "getRangeFromCursor", "Capability", "makeModule", "succeed", "contributes", "AppCapabilities", "AnchorSort", "key", "Markdown", "Document", "typename", "sort", "anchorA", "anchorB", "doc", "Relation", "getTarget", "accessor", "content", "target", "createDocAccessor", "undefined", "getStartPosition", "cursor", "range", "getRangeFromCursor", "start", "Number", "MAX_SAFE_INTEGER", "posA", "anchor", "posB"]
|
|
7
|
+
}
|
package/dist/lib/browser/{app-graph-serializer-ULZUJKOD.mjs → app-graph-serializer-6NGPRTY6.mjs}
RENAMED
|
@@ -1,21 +1,22 @@
|
|
|
1
1
|
import {
|
|
2
2
|
translations
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-JODBECJA.mjs";
|
|
4
4
|
import {
|
|
5
5
|
MarkdownOperation,
|
|
6
6
|
Markdown_exports
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-PV7GW7CI.mjs";
|
|
8
8
|
|
|
9
9
|
// src/capabilities/app-graph-serializer/app-graph-serializer.ts
|
|
10
10
|
import * as Effect from "effect/Effect";
|
|
11
|
-
import {
|
|
11
|
+
import { Capabilities, Capability } from "@dxos/app-framework";
|
|
12
|
+
import { AppCapabilities } from "@dxos/app-toolkit";
|
|
12
13
|
import { Obj } from "@dxos/echo";
|
|
13
14
|
import { SpaceOperation } from "@dxos/plugin-space/types";
|
|
14
15
|
import { isSpace } from "@dxos/react-client/echo";
|
|
15
16
|
import { Collection } from "@dxos/schema";
|
|
16
17
|
var app_graph_serializer_default = Capability.makeModule(Effect.fnUntraced(function* () {
|
|
17
18
|
const capabilities = yield* Capability.Service;
|
|
18
|
-
return Capability.contributes(
|
|
19
|
+
return Capability.contributes(AppCapabilities.AppGraphSerializer, [
|
|
19
20
|
{
|
|
20
21
|
inputType: Markdown_exports.Document.typename,
|
|
21
22
|
outputType: "text/markdown",
|
|
@@ -35,7 +36,7 @@ var app_graph_serializer_default = Capability.makeModule(Effect.fnUntraced(funct
|
|
|
35
36
|
if (!space || !target) {
|
|
36
37
|
return;
|
|
37
38
|
}
|
|
38
|
-
const { invokePromise } = capabilities.get(
|
|
39
|
+
const { invokePromise } = capabilities.get(Capabilities.OperationInvoker);
|
|
39
40
|
const createResult = await invokePromise(MarkdownOperation.Create, {
|
|
40
41
|
name: data.name,
|
|
41
42
|
content: data.data
|
|
@@ -55,4 +56,4 @@ var app_graph_serializer_default = Capability.makeModule(Effect.fnUntraced(funct
|
|
|
55
56
|
export {
|
|
56
57
|
app_graph_serializer_default as default
|
|
57
58
|
};
|
|
58
|
-
//# sourceMappingURL=app-graph-serializer-
|
|
59
|
+
//# sourceMappingURL=app-graph-serializer-6NGPRTY6.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/app-graph-serializer/app-graph-serializer.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { AppCapabilities } from '@dxos/app-toolkit';\nimport { Obj } from '@dxos/echo';\nimport { SpaceOperation } from '@dxos/plugin-space/types';\nimport { isSpace } from '@dxos/react-client/echo';\nimport { Collection } from '@dxos/schema';\n\nimport { translations } from '../../translations';\nimport { Markdown, MarkdownOperation } from '../../types';\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n // Get context for lazy capability access in callbacks.\n const capabilities = yield* Capability.Service;\n\n return Capability.contributes(AppCapabilities.AppGraphSerializer, [\n {\n inputType: Markdown.Document.typename,\n outputType: 'text/markdown',\n // Reconcile with metadata serializers.\n serialize: async (node) => {\n const doc = node.data;\n const content = await doc.content.load();\n return {\n name:\n doc.name ||\n doc.fallbackName ||\n translations[0]['en-US'][Markdown.Document.typename]['object name placeholder'],\n data: content.content,\n type: 'text/markdown',\n };\n },\n deserialize: async (data, ancestors) => {\n const space = ancestors.find(isSpace);\n const target =\n ancestors.findLast((ancestor) => Obj.instanceOf(Collection.Collection, ancestor)) ??\n space?.properties[Collection.Collection.typename]?.target;\n if (!space || !target) {\n return;\n }\n\n const { invokePromise } = capabilities.get(Capabilities.OperationInvoker);\n const createResult = await invokePromise(MarkdownOperation.Create, { name: data.name, content: data.data });\n if (!createResult.data?.object) {\n return undefined;\n }\n await invokePromise(SpaceOperation.AddObject, { target, object: createResult.data.object });\n\n return createResult.data.object;\n },\n },\n ]);\n }),\n);\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,cAAcC,kBAAkB;AACzC,SAASC,uBAAuB;AAChC,SAASC,WAAW;AACpB,SAASC,sBAAsB;AAC/B,SAASC,eAAe;AACxB,SAASC,kBAAkB;AAK3B,IAAA,+BAAeC,WAAWC,WACjBC,kBAAW,aAAA;AAEhB,QAAMC,eAAe,OAAOH,WAAWI;AAEvC,SAAOJ,WAAWK,YAAYC,gBAAgBC,oBAAoB;IAChE;MACEC,WAAWC,iBAASC,SAASC;MAC7BC,YAAY;;MAEZC,WAAW,OAAOC,SAAAA;AAChB,cAAMC,MAAMD,KAAKE;AACjB,cAAMC,UAAU,MAAMF,IAAIE,QAAQC,KAAI;AACtC,eAAO;UACLC,MACEJ,IAAII,QACJJ,IAAIK,gBACJC,aAAa,CAAA,EAAG,OAAA,EAASZ,iBAASC,SAASC,QAAQ,EAAE,yBAAA;UACvDK,MAAMC,QAAQA;UACdK,MAAM;QACR;MACF;MACAC,aAAa,OAAOP,MAAMQ,cAAAA;AACxB,cAAMC,QAAQD,UAAUE,KAAKC,OAAAA;AAC7B,cAAMC,SACJJ,UAAUK,SAAS,CAACC,aAAaC,IAAIC,WAAWC,WAAWA,YAAYH,QAAAA,CAAAA,KACvEL,OAAOS,WAAWD,WAAWA,WAAWtB,QAAQ,GAAGiB;AACrD,YAAI,CAACH,SAAS,CAACG,QAAQ;AACrB;QACF;AAEA,cAAM,EAAEO,cAAa,IAAKhC,aAAaiC,IAAIC,aAAaC,gBAAgB;AACxE,cAAMC,eAAe,MAAMJ,cAAcK,kBAAkBC,QAAQ;UAAEtB,MAAMH,KAAKG;UAAMF,SAASD,KAAKA;QAAK,CAAA;AACzG,YAAI,CAACuB,aAAavB,MAAM0B,QAAQ;AAC9B,iBAAOC;QACT;AACA,cAAMR,cAAcS,eAAeC,WAAW;UAAEjB;UAAQc,QAAQH,aAAavB,KAAK0B;QAAO,CAAA;AAEzF,eAAOH,aAAavB,KAAK0B;MAC3B;IACF;GACD;AACH,CAAA,CAAA;",
|
|
6
|
+
"names": ["Effect", "Capabilities", "Capability", "AppCapabilities", "Obj", "SpaceOperation", "isSpace", "Collection", "Capability", "makeModule", "fnUntraced", "capabilities", "Service", "contributes", "AppCapabilities", "AppGraphSerializer", "inputType", "Markdown", "Document", "typename", "outputType", "serialize", "node", "doc", "data", "content", "load", "name", "fallbackName", "translations", "type", "deserialize", "ancestors", "space", "find", "isSpace", "target", "findLast", "ancestor", "Obj", "instanceOf", "Collection", "properties", "invokePromise", "get", "Capabilities", "OperationInvoker", "createResult", "MarkdownOperation", "Create", "object", "undefined", "SpaceOperation", "AddObject"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import {
|
|
2
|
+
markdown_blueprint_default
|
|
3
|
+
} from "./chunk-LIZX2OAT.mjs";
|
|
4
|
+
import "./chunk-PV7GW7CI.mjs";
|
|
5
|
+
|
|
6
|
+
// src/capabilities/blueprint-definition/blueprint-definition.ts
|
|
7
|
+
import * as Effect from "effect/Effect";
|
|
8
|
+
import { Capability } from "@dxos/app-framework";
|
|
9
|
+
import { AppCapabilities } from "@dxos/app-toolkit";
|
|
10
|
+
var blueprintDefinition = Capability.makeModule(() => Effect.succeed([
|
|
11
|
+
Capability.contributes(AppCapabilities.BlueprintDefinition, markdown_blueprint_default)
|
|
12
|
+
]));
|
|
13
|
+
var blueprint_definition_default = blueprintDefinition;
|
|
14
|
+
export {
|
|
15
|
+
blueprint_definition_default as default
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=blueprint-definition-HYSNAH6Z.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/blueprint-definition/blueprint-definition.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability } from '@dxos/app-framework';\nimport { AppCapabilities } from '@dxos/app-toolkit';\n\nimport { MarkdownBlueprint } from '../../blueprints';\n\nconst blueprintDefinition = Capability.makeModule<\n [],\n Capability.Capability<typeof AppCapabilities.BlueprintDefinition>[]\n>(() => Effect.succeed([Capability.contributes(AppCapabilities.BlueprintDefinition, MarkdownBlueprint)]));\n\nexport default blueprintDefinition;\n"],
|
|
5
|
+
"mappings": ";;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,uBAAuB;AAIhC,IAAMC,sBAAsBC,WAAWC,WAGrC,MAAaC,eAAQ;EAACF,WAAWG,YAAYC,gBAAgBC,qBAAqBC,0BAAAA;CAAmB,CAAA;AAEvG,IAAA,+BAAeP;",
|
|
6
|
+
"names": ["Effect", "Capability", "AppCapabilities", "blueprintDefinition", "Capability", "makeModule", "succeed", "contributes", "AppCapabilities", "BlueprintDefinition", "MarkdownBlueprint"]
|
|
7
|
+
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
} from "../chunk-
|
|
4
|
-
import "../chunk-
|
|
2
|
+
markdown_blueprint_default
|
|
3
|
+
} from "../chunk-LIZX2OAT.mjs";
|
|
4
|
+
import "../chunk-PV7GW7CI.mjs";
|
|
5
5
|
export {
|
|
6
|
-
|
|
6
|
+
markdown_blueprint_default as MarkdownBlueprint
|
|
7
7
|
};
|
|
8
8
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1,24 +1,109 @@
|
|
|
1
|
-
import {
|
|
2
|
-
setFallbackName
|
|
3
|
-
} from "./chunk-S45ULIOG.mjs";
|
|
4
1
|
import {
|
|
5
2
|
Markdown_exports,
|
|
6
3
|
meta
|
|
7
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-PV7GW7CI.mjs";
|
|
5
|
+
|
|
6
|
+
// src/util.tsx
|
|
7
|
+
import { debounce } from "@dxos/async";
|
|
8
|
+
import { Obj } from "@dxos/echo";
|
|
9
|
+
var isEditorModel = (data) => data && typeof data === "object" && "id" in data && typeof data.id === "string" && "text" in data && typeof data.text === "string";
|
|
10
|
+
var isMarkdownProperties = (data) => Obj.isObject(data) ? true : data && typeof data === "object" ? "title" in data && typeof data.title === "string" : false;
|
|
11
|
+
var nonTitleChars = /[^\w ]/g;
|
|
12
|
+
var skipPatterns = [
|
|
13
|
+
/^!\[/,
|
|
14
|
+
/^---\s*$/,
|
|
15
|
+
/^```/,
|
|
16
|
+
/^\s*$/
|
|
17
|
+
];
|
|
18
|
+
var titlePatterns = [
|
|
19
|
+
/^#{1,6}\s+(.+)/
|
|
20
|
+
];
|
|
21
|
+
var getFallbackName = (content = "") => {
|
|
22
|
+
const len = content.length;
|
|
23
|
+
let i = 0;
|
|
24
|
+
while (i < len) {
|
|
25
|
+
let lineEnd = i;
|
|
26
|
+
while (lineEnd < len && content[lineEnd] !== "\n") {
|
|
27
|
+
lineEnd++;
|
|
28
|
+
}
|
|
29
|
+
const line = content.slice(i, lineEnd).trim();
|
|
30
|
+
i = lineEnd + 1;
|
|
31
|
+
if (skipPatterns.some((pattern) => pattern.test(line))) {
|
|
32
|
+
continue;
|
|
33
|
+
}
|
|
34
|
+
for (const pattern of titlePatterns) {
|
|
35
|
+
const match = pattern.exec(line);
|
|
36
|
+
if (match) {
|
|
37
|
+
const text2 = match[1].replaceAll(nonTitleChars, "").trim();
|
|
38
|
+
if (text2.length > 0) {
|
|
39
|
+
return text2;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
const maxLen = 32;
|
|
44
|
+
const text = line.replaceAll(nonTitleChars, "").trim();
|
|
45
|
+
if (text.length > 0) {
|
|
46
|
+
if (text.length > maxLen) {
|
|
47
|
+
const words = text.split(/\s+/);
|
|
48
|
+
let result = "";
|
|
49
|
+
for (const word of words) {
|
|
50
|
+
const next = result.length === 0 ? word : result + " " + word;
|
|
51
|
+
if (next.length > maxLen) {
|
|
52
|
+
break;
|
|
53
|
+
}
|
|
54
|
+
result = next;
|
|
55
|
+
}
|
|
56
|
+
return result + "\u2026";
|
|
57
|
+
}
|
|
58
|
+
return text;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
return "";
|
|
62
|
+
};
|
|
63
|
+
var getContentSnippet = (content = "") => {
|
|
64
|
+
const abstract = content.split("\n").filter((line) => !line.startsWith("!")).filter((line) => line.trim() !== "");
|
|
65
|
+
return abstract.slice(0, 3).join("\n") ?? "";
|
|
66
|
+
};
|
|
67
|
+
var setFallbackName = debounce((doc, content = "") => {
|
|
68
|
+
const name = getFallbackName(content);
|
|
69
|
+
if (doc.fallbackName !== name) {
|
|
70
|
+
Obj.change(doc, (d) => {
|
|
71
|
+
d.fallbackName = name;
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
}, 200);
|
|
75
|
+
var serializer = {
|
|
76
|
+
serialize: async ({ object }) => {
|
|
77
|
+
const { content } = await object.content.load();
|
|
78
|
+
return JSON.stringify({
|
|
79
|
+
name: object.name,
|
|
80
|
+
fallbackName: object.fallbackName,
|
|
81
|
+
content
|
|
82
|
+
});
|
|
83
|
+
},
|
|
84
|
+
deserialize: async ({ content: serialized }) => {
|
|
85
|
+
const { name, fallbackName, content } = JSON.parse(serialized);
|
|
86
|
+
return Markdown_exports.make({
|
|
87
|
+
name,
|
|
88
|
+
fallbackName,
|
|
89
|
+
content
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
};
|
|
8
93
|
|
|
9
94
|
// src/hooks/useLinkQuery.ts
|
|
10
95
|
import * as Option from "effect/Option";
|
|
11
96
|
import { useCallback, useMemo } from "react";
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import { Filter, Obj, Query, Type } from "@dxos/echo";
|
|
97
|
+
import { usePluginManager } from "@dxos/app-framework/ui";
|
|
98
|
+
import { AppCapabilities } from "@dxos/app-toolkit";
|
|
99
|
+
import { Filter, Obj as Obj2, Query, Type } from "@dxos/echo";
|
|
15
100
|
import { EntityKind, SystemTypeAnnotation, getTypeAnnotation } from "@dxos/echo/internal";
|
|
16
101
|
import { toLocalizedString, useTranslation } from "@dxos/react-ui";
|
|
17
102
|
import { insertAtCursor, insertAtLineStart } from "@dxos/ui-editor";
|
|
18
103
|
var useLinkQuery = (db) => {
|
|
19
104
|
const { t } = useTranslation();
|
|
20
105
|
const manager = usePluginManager();
|
|
21
|
-
const resolve = useCallback((typename) => manager.capabilities.getAll(
|
|
106
|
+
const resolve = useCallback((typename) => manager.capabilities.getAll(AppCapabilities.Metadata).find(({ id }) => id === typename)?.metadata ?? {}, [
|
|
22
107
|
manager
|
|
23
108
|
]);
|
|
24
109
|
const filter = useMemo(() => Filter.or(...(db?.schemaRegistry.query({
|
|
@@ -33,11 +118,11 @@ var useLinkQuery = (db) => {
|
|
|
33
118
|
const name = query?.startsWith("@") ? query.slice(1).toLowerCase() : query?.toLowerCase() ?? "";
|
|
34
119
|
const results = await db?.query(Query.select(filter)).run();
|
|
35
120
|
const getLabel = (object) => {
|
|
36
|
-
const label =
|
|
121
|
+
const label = Obj2.getLabel(object);
|
|
37
122
|
if (label) {
|
|
38
123
|
return label;
|
|
39
124
|
}
|
|
40
|
-
const type =
|
|
125
|
+
const type = Obj2.getTypename(object);
|
|
41
126
|
const metadata = resolve(type);
|
|
42
127
|
return metadata.label?.(object) || [
|
|
43
128
|
"object name placeholder",
|
|
@@ -48,14 +133,14 @@ var useLinkQuery = (db) => {
|
|
|
48
133
|
];
|
|
49
134
|
};
|
|
50
135
|
const items = results?.filter((object) => toLocalizedString(getLabel(object), t).toLowerCase().includes(name)).map((object) => {
|
|
51
|
-
const metadata = resolve(
|
|
136
|
+
const metadata = resolve(Obj2.getTypename(object));
|
|
52
137
|
const label = toLocalizedString(getLabel(object), t);
|
|
53
138
|
return {
|
|
54
139
|
id: object.id,
|
|
55
140
|
label,
|
|
56
141
|
icon: metadata.icon,
|
|
57
142
|
onSelect: ({ view, head }) => {
|
|
58
|
-
const link = `[${label}](${
|
|
143
|
+
const link = `[${label}](${Obj2.getDXN(object)})`;
|
|
59
144
|
if (query?.startsWith("@")) {
|
|
60
145
|
insertAtLineStart(view, head, `!${link}
|
|
61
146
|
`);
|
|
@@ -136,10 +221,10 @@ var useEditorMenuOptions = ({ editorView, slashCommandGroups, onLinkQuery }) =>
|
|
|
136
221
|
// src/hooks/useExtensions.tsx
|
|
137
222
|
import React, { useMemo as useMemo3 } from "react";
|
|
138
223
|
import { createRoot } from "react-dom/client";
|
|
139
|
-
import {
|
|
140
|
-
import {
|
|
224
|
+
import { useOperationInvoker } from "@dxos/app-framework/ui";
|
|
225
|
+
import { LayoutOperation } from "@dxos/app-toolkit";
|
|
141
226
|
import { debounceAndThrottle } from "@dxos/async";
|
|
142
|
-
import { Obj as
|
|
227
|
+
import { Obj as Obj3 } from "@dxos/echo";
|
|
143
228
|
import { createDocAccessor } from "@dxos/echo-db";
|
|
144
229
|
import { invariant } from "@dxos/invariant";
|
|
145
230
|
import { getSpace, useObject } from "@dxos/react-client/echo";
|
|
@@ -154,9 +239,9 @@ var useExtensions = ({ id, object, settings, selectionManager, viewMode, editorS
|
|
|
154
239
|
const { invokePromise } = useOperationInvoker();
|
|
155
240
|
const identity = useIdentity();
|
|
156
241
|
const space = getSpace(object);
|
|
157
|
-
const contentRef =
|
|
242
|
+
const contentRef = Obj3.instanceOf(Markdown_exports.Document, object) ? object.content : void 0;
|
|
158
243
|
useObject(contentRef);
|
|
159
|
-
const target = contentRef?.target ?? (
|
|
244
|
+
const target = contentRef?.target ?? (Obj3.instanceOf(Text.Text, object) ? object : void 0);
|
|
160
245
|
const baseExtensions = useMemo3(() => createBaseExtensions({
|
|
161
246
|
id,
|
|
162
247
|
object,
|
|
@@ -191,7 +276,7 @@ var useExtensions = ({ id, object, settings, selectionManager, viewMode, editorS
|
|
|
191
276
|
identity
|
|
192
277
|
}),
|
|
193
278
|
// TODO(burdon): Reconcile with effect in parent.
|
|
194
|
-
|
|
279
|
+
Obj3.instanceOf(Markdown_exports.Document, object) && listener({
|
|
195
280
|
onChange: ({ text }) => {
|
|
196
281
|
setFallbackName(object, text);
|
|
197
282
|
}
|
|
@@ -224,11 +309,11 @@ var createBaseExtensions = ({ id, object, invokePromise, settings, selectionMana
|
|
|
224
309
|
// TODO(wittjosiah): For internal links, consider ignoring the link text and rendering the label of the object being linked to.
|
|
225
310
|
// TODO(burdon): Create dx-tag.
|
|
226
311
|
renderLinkButton: invokePromise && (object || id) ? createLinkRenderer((targetId) => {
|
|
227
|
-
void invokePromise(
|
|
312
|
+
void invokePromise(LayoutOperation.Open, {
|
|
228
313
|
subject: [
|
|
229
314
|
targetId
|
|
230
315
|
],
|
|
231
|
-
pivotId: object &&
|
|
316
|
+
pivotId: object && Obj3.isObject(object) ? Obj3.getDXN(object).toString() : id
|
|
232
317
|
});
|
|
233
318
|
}) : void 0
|
|
234
319
|
}),
|
|
@@ -273,7 +358,7 @@ var createLinkRenderer = (onSelectObject) => (el, { url }) => {
|
|
|
273
358
|
const qualifiedId = url.split("/").at(-1);
|
|
274
359
|
invariant(qualifiedId, "Invalid link format.", {
|
|
275
360
|
F: __dxlog_file,
|
|
276
|
-
L:
|
|
361
|
+
L: 238,
|
|
277
362
|
S: void 0,
|
|
278
363
|
A: [
|
|
279
364
|
"qualifiedId",
|
|
@@ -320,15 +405,15 @@ var renderRoot = (root, node) => {
|
|
|
320
405
|
import { EditorView as EditorView2 } from "@codemirror/view";
|
|
321
406
|
import * as Effect from "effect/Effect";
|
|
322
407
|
import { useMemo as useMemo4 } from "react";
|
|
323
|
-
import {
|
|
324
|
-
import {
|
|
408
|
+
import { useOperationResolver } from "@dxos/app-framework/ui";
|
|
409
|
+
import { LayoutOperation as LayoutOperation2 } from "@dxos/app-toolkit";
|
|
325
410
|
import { invariant as invariant2 } from "@dxos/invariant";
|
|
326
411
|
import { OperationResolver } from "@dxos/operation";
|
|
327
412
|
import { Cursor as Cursor2, setSelection } from "@dxos/ui-editor";
|
|
328
413
|
var __dxlog_file2 = "/__w/dxos/dxos/packages/plugins/plugin-markdown/src/hooks/useSelectCurrentThread.tsx";
|
|
329
414
|
var useSelectCurrentThread = (editorView, documentId2) => {
|
|
330
415
|
const scrollIntoViewHandler = useMemo4(() => OperationResolver.make({
|
|
331
|
-
operation:
|
|
416
|
+
operation: LayoutOperation2.ScrollIntoView,
|
|
332
417
|
position: "hoist",
|
|
333
418
|
filter: (input) => !!editorView && input.subject === documentId2 && !!input.cursor,
|
|
334
419
|
handler: (input) => Effect.sync(() => {
|
|
@@ -381,7 +466,7 @@ var useSelectCurrentThread = (editorView, documentId2) => {
|
|
|
381
466
|
import { createContext } from "@radix-ui/react-context";
|
|
382
467
|
import React5, { useMemo as useMemo6, useState as useState2 } from "react";
|
|
383
468
|
import { createPortal as createPortal2 } from "react-dom";
|
|
384
|
-
import { Surface } from "@dxos/app-framework/
|
|
469
|
+
import { Surface } from "@dxos/app-framework/ui";
|
|
385
470
|
import { DXN } from "@dxos/keys";
|
|
386
471
|
import { useClient } from "@dxos/react-client";
|
|
387
472
|
import { EditorMenuProvider, useEditorMenu, useEditorToolbar } from "@dxos/react-ui-editor";
|
|
@@ -596,7 +681,7 @@ var MarkdownEditorRoot = ({ children, id, object, editorStateStore, selectionMan
|
|
|
596
681
|
]);
|
|
597
682
|
},
|
|
598
683
|
removeBlockContainer: ({ link }) => {
|
|
599
|
-
setPreviewBlocks((prev) => prev.filter(({ link: prevLink }) => prevLink.
|
|
684
|
+
setPreviewBlocks((prev) => prev.filter(({ link: prevLink }) => prevLink.dxn !== link.dxn));
|
|
600
685
|
}
|
|
601
686
|
}), []);
|
|
602
687
|
const toolbarState = useEditorToolbar({
|
|
@@ -639,8 +724,9 @@ var MarkdownEditorRoot = ({ children, id, object, editorStateStore, selectionMan
|
|
|
639
724
|
}, children);
|
|
640
725
|
};
|
|
641
726
|
MarkdownEditorRoot.displayName = "MarkdownEditor.Root";
|
|
727
|
+
var MARKDOWN_EDITOR_CONTENT_NAME = "MarkdownEditor.Content";
|
|
642
728
|
var MarkdownEditorContent2 = (props) => {
|
|
643
|
-
const { id, editorView, setEditorView, viewMode, toolbarState, extensions, popoverMenu: { groupsRef, ...menuProps } } = useMarkdownEditorContext(
|
|
729
|
+
const { id, editorView, setEditorView, viewMode, toolbarState, extensions, popoverMenu: { groupsRef, ...menuProps } } = useMarkdownEditorContext(MARKDOWN_EDITOR_CONTENT_NAME);
|
|
644
730
|
return /* @__PURE__ */ React5.createElement(EditorMenuProvider, {
|
|
645
731
|
view: editorView,
|
|
646
732
|
groups: groupsRef.current,
|
|
@@ -654,35 +740,37 @@ var MarkdownEditorContent2 = (props) => {
|
|
|
654
740
|
ref: setEditorView
|
|
655
741
|
}));
|
|
656
742
|
};
|
|
657
|
-
MarkdownEditorContent2.displayName =
|
|
743
|
+
MarkdownEditorContent2.displayName = MARKDOWN_EDITOR_CONTENT_NAME;
|
|
744
|
+
var MARKDOWN_EDITOR_TOOLBAR_NAME = "MarkdownEditor.Toolbar";
|
|
658
745
|
var MarkdownEditorToolbar2 = (props) => {
|
|
659
|
-
const { toolbarState, ...rootProps } = useMarkdownEditorContext(
|
|
746
|
+
const { toolbarState, ...rootProps } = useMarkdownEditorContext(MARKDOWN_EDITOR_TOOLBAR_NAME);
|
|
660
747
|
return /* @__PURE__ */ React5.createElement(MarkdownEditorToolbar, {
|
|
661
748
|
...props,
|
|
662
749
|
...rootProps,
|
|
663
750
|
state: toolbarState
|
|
664
751
|
});
|
|
665
752
|
};
|
|
666
|
-
MarkdownEditorToolbar2.displayName =
|
|
753
|
+
MarkdownEditorToolbar2.displayName = MARKDOWN_EDITOR_TOOLBAR_NAME;
|
|
754
|
+
var MARKDOWN_EDITOR_BLOCKS_NAME = "MarkdownEditor.Blocks";
|
|
667
755
|
var MarkdownEditorBlocks = (_props) => {
|
|
668
|
-
const { previewBlocks } = useMarkdownEditorContext(
|
|
756
|
+
const { previewBlocks } = useMarkdownEditorContext(MARKDOWN_EDITOR_BLOCKS_NAME);
|
|
669
757
|
return /* @__PURE__ */ React5.createElement(React5.Fragment, null, previewBlocks.map(({ link, el }) => /* @__PURE__ */ React5.createElement(PreviewBlock, {
|
|
670
|
-
key: link.
|
|
758
|
+
key: link.dxn,
|
|
671
759
|
link,
|
|
672
760
|
el
|
|
673
761
|
})));
|
|
674
762
|
};
|
|
675
|
-
MarkdownEditorBlocks.displayName =
|
|
763
|
+
MarkdownEditorBlocks.displayName = MARKDOWN_EDITOR_BLOCKS_NAME;
|
|
676
764
|
var PreviewBlock = ({ el, link }) => {
|
|
677
765
|
const client = useClient();
|
|
678
|
-
const dxn = DXN.parse(link.
|
|
766
|
+
const dxn = DXN.parse(link.dxn);
|
|
679
767
|
const subject = client.graph.makeRef(dxn).target;
|
|
680
768
|
const data = useMemo6(() => ({
|
|
681
769
|
subject
|
|
682
770
|
}), [
|
|
683
771
|
subject
|
|
684
772
|
]);
|
|
685
|
-
return /* @__PURE__ */ createPortal2(/* @__PURE__ */ React5.createElement(Surface, {
|
|
773
|
+
return /* @__PURE__ */ createPortal2(/* @__PURE__ */ React5.createElement(Surface.Surface, {
|
|
686
774
|
role: "card--transclusion",
|
|
687
775
|
data,
|
|
688
776
|
limit: 1
|
|
@@ -696,7 +784,13 @@ var MarkdownEditor = {
|
|
|
696
784
|
};
|
|
697
785
|
|
|
698
786
|
export {
|
|
787
|
+
isEditorModel,
|
|
788
|
+
isMarkdownProperties,
|
|
789
|
+
getFallbackName,
|
|
790
|
+
getContentSnippet,
|
|
791
|
+
setFallbackName,
|
|
792
|
+
serializer,
|
|
699
793
|
useLinkQuery,
|
|
700
794
|
MarkdownEditor
|
|
701
795
|
};
|
|
702
|
-
//# sourceMappingURL=chunk-
|
|
796
|
+
//# sourceMappingURL=chunk-IKUJPKAE.mjs.map
|