@dxos/plugin-markdown 0.8.4-main.3eb6e50203 → 0.8.4-main.4a85c3132b
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/{chunk-EZZFREFN.mjs → MarkdownCard-5NPSEJ2M.mjs} +26 -23
- package/dist/lib/browser/MarkdownCard-5NPSEJ2M.mjs.map +7 -0
- package/dist/lib/browser/{chunk-7AQTX6D5.mjs → MarkdownContainer-KER2N5M2.mjs} +19 -16
- package/dist/lib/browser/MarkdownContainer-KER2N5M2.mjs.map +7 -0
- package/dist/lib/browser/{react-surface-7Z6AB26V.mjs → MarkdownSettings-2N4TT2FG.mjs} +6 -113
- package/dist/lib/browser/MarkdownSettings-2N4TT2FG.mjs.map +7 -0
- package/dist/lib/browser/{anchor-sort-JBAZRPE7.mjs → anchor-sort-EHJGOCYW.mjs} +3 -2
- package/dist/lib/browser/{app-graph-serializer-6Q5YBUPW.mjs → app-graph-serializer-QBZDVASK.mjs} +5 -4
- package/dist/lib/browser/app-graph-serializer-QBZDVASK.mjs.map +7 -0
- package/dist/lib/browser/{blueprint-definition-6HOAW2E6.mjs → blueprint-definition-ASGDSKKE.mjs} +7 -9
- package/dist/lib/browser/blueprint-definition-ASGDSKKE.mjs.map +7 -0
- package/dist/lib/browser/blueprints/index.mjs +5 -4
- package/dist/lib/browser/{chunk-HHRUUWGH.mjs → chunk-7JEOX3X6.mjs} +169 -182
- package/dist/lib/browser/chunk-7JEOX3X6.mjs.map +7 -0
- package/dist/lib/browser/{chunk-6SM75KL3.mjs → chunk-HK6EGNP5.mjs} +2 -2
- package/dist/lib/browser/{chunk-4GT3QWMK.mjs → chunk-P3TN2W6M.mjs} +20 -33
- package/dist/lib/browser/chunk-P3TN2W6M.mjs.map +7 -0
- package/dist/lib/browser/{chunk-2AAD3W6X.mjs → chunk-RJO5W5YX.mjs} +5 -3
- package/dist/lib/{node-esm/chunk-MLZQCT2N.mjs.map → browser/chunk-RJO5W5YX.mjs.map} +1 -1
- package/dist/lib/browser/{chunk-HQTBT5IY.mjs → chunk-W24NJ6WB.mjs} +26 -24
- package/dist/lib/browser/chunk-W24NJ6WB.mjs.map +7 -0
- package/dist/lib/browser/chunk-YBMRREXE.mjs +28 -0
- package/dist/lib/browser/chunk-YBMRREXE.mjs.map +7 -0
- package/dist/lib/browser/cli/index.mjs +5 -3
- package/dist/lib/browser/cli/index.mjs.map +1 -1
- package/dist/lib/browser/index.mjs +16 -14
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{operation-resolver-UBQUPSXC.mjs → operation-resolver-3KOXJM7P.mjs} +5 -4
- package/dist/lib/browser/operation-resolver-3KOXJM7P.mjs.map +7 -0
- package/dist/lib/browser/react-surface-WU4VTE43.mjs +115 -0
- package/dist/lib/browser/react-surface-WU4VTE43.mjs.map +7 -0
- package/dist/lib/browser/{settings-V2XOFSD5.mjs → settings-7FMWKB7N.mjs} +5 -3
- package/dist/lib/{node-esm/settings-EXSH2KF4.mjs.map → browser/settings-7FMWKB7N.mjs.map} +1 -1
- package/dist/lib/browser/{state-6Y3JB64H.mjs → state-7UJKJDGE.mjs} +5 -3
- package/dist/lib/{node-esm/state-TVF2XT2T.mjs.map → browser/state-7UJKJDGE.mjs.map} +1 -1
- package/dist/lib/browser/types/index.mjs +2 -1
- package/dist/lib/node-esm/{chunk-DCKB3AVD.mjs → MarkdownCard-4MXS7AQR.mjs} +26 -23
- package/dist/lib/node-esm/MarkdownCard-4MXS7AQR.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-K2IIYNCG.mjs → MarkdownContainer-BZ637MS3.mjs} +19 -16
- package/dist/lib/node-esm/MarkdownContainer-BZ637MS3.mjs.map +7 -0
- package/dist/lib/node-esm/{react-surface-VIXAH5CF.mjs → MarkdownSettings-FQTYCTD7.mjs} +6 -113
- package/dist/lib/node-esm/MarkdownSettings-FQTYCTD7.mjs.map +7 -0
- package/dist/lib/node-esm/{anchor-sort-IQMDZRA3.mjs → anchor-sort-QWZO6B2R.mjs} +3 -2
- package/dist/lib/{browser/anchor-sort-JBAZRPE7.mjs.map → node-esm/anchor-sort-QWZO6B2R.mjs.map} +1 -1
- package/dist/lib/node-esm/{app-graph-serializer-STEPJH57.mjs → app-graph-serializer-3UVXEHJG.mjs} +5 -4
- package/dist/lib/node-esm/app-graph-serializer-3UVXEHJG.mjs.map +7 -0
- package/dist/lib/node-esm/{blueprint-definition-UGDFF5OZ.mjs → blueprint-definition-TG7OZIWW.mjs} +7 -9
- package/dist/lib/node-esm/blueprint-definition-TG7OZIWW.mjs.map +7 -0
- package/dist/lib/node-esm/blueprints/index.mjs +5 -4
- package/dist/lib/node-esm/{chunk-MLZQCT2N.mjs → chunk-ANIFP6M2.mjs} +5 -3
- package/dist/lib/{browser/chunk-2AAD3W6X.mjs.map → node-esm/chunk-ANIFP6M2.mjs.map} +1 -1
- package/dist/lib/node-esm/{chunk-AGZOFIK2.mjs → chunk-KCH3EL53.mjs} +2 -2
- package/dist/lib/node-esm/{chunk-D46D75SK.mjs → chunk-N73JZ4CD.mjs} +169 -182
- package/dist/lib/node-esm/chunk-N73JZ4CD.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-LOZVC2WA.mjs → chunk-NBGAJPVH.mjs} +26 -24
- package/dist/lib/node-esm/chunk-NBGAJPVH.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-W7AM4HCG.mjs +29 -0
- package/dist/lib/node-esm/chunk-W7AM4HCG.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-USKAPINH.mjs → chunk-WBZQ246U.mjs} +20 -33
- package/dist/lib/node-esm/chunk-WBZQ246U.mjs.map +7 -0
- package/dist/lib/node-esm/cli/index.mjs +5 -3
- package/dist/lib/node-esm/cli/index.mjs.map +1 -1
- package/dist/lib/node-esm/index.mjs +16 -14
- 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-QAGXDA5E.mjs → operation-resolver-2MEWKRFP.mjs} +5 -4
- package/dist/lib/node-esm/operation-resolver-2MEWKRFP.mjs.map +7 -0
- package/dist/lib/node-esm/react-surface-LC5CI6VP.mjs +116 -0
- package/dist/lib/node-esm/react-surface-LC5CI6VP.mjs.map +7 -0
- package/dist/lib/node-esm/{settings-EXSH2KF4.mjs → settings-DBK2SPWT.mjs} +5 -3
- package/dist/lib/{browser/settings-V2XOFSD5.mjs.map → node-esm/settings-DBK2SPWT.mjs.map} +1 -1
- package/dist/lib/node-esm/{state-TVF2XT2T.mjs → state-EEPLRAOT.mjs} +5 -3
- package/dist/lib/{browser/state-6Y3JB64H.mjs.map → node-esm/state-EEPLRAOT.mjs.map} +1 -1
- package/dist/lib/node-esm/types/index.mjs +2 -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/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 +1 -1
- package/dist/types/src/capabilities/app-graph-serializer/app-graph-serializer.d.ts +1 -1
- package/dist/types/src/capabilities/artifact-definition/artifact-definition.d.ts +1 -1
- package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts +1 -6
- 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/operation-resolver.d.ts +1 -1
- package/dist/types/src/capabilities/react-surface/react-surface.d.ts +1 -1
- package/dist/types/src/capabilities/settings/settings.d.ts +1 -1
- package/dist/types/src/capabilities/state/state.d.ts +1 -1
- package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts.map +1 -1
- package/dist/types/src/components/MarkdownEditor/MarkdownEditor.stories.d.ts.map +1 -1
- package/dist/types/src/components/MarkdownEditor/MarkdownEditorContent.d.ts.map +1 -1
- package/dist/types/src/components/MarkdownEditor/MarkdownEditorToolbar.d.ts +3 -3
- package/dist/types/src/components/MarkdownEditor/MarkdownEditorToolbar.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +1 -8
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/containers/MarkdownCard/MarkdownCard.d.ts.map +1 -0
- package/dist/types/src/containers/MarkdownCard/MarkdownCard.stories.d.ts.map +1 -0
- package/dist/types/src/{components → containers}/MarkdownCard/index.d.ts +0 -1
- package/dist/types/src/containers/MarkdownCard/index.d.ts.map +1 -0
- package/dist/types/src/{components → containers/MarkdownContainer}/MarkdownContainer.d.ts +2 -3
- package/dist/types/src/containers/MarkdownContainer/MarkdownContainer.d.ts.map +1 -0
- package/dist/types/src/{components → containers/MarkdownContainer}/MarkdownContainer.stories.d.ts +1 -1
- package/dist/types/src/containers/MarkdownContainer/MarkdownContainer.stories.d.ts.map +1 -0
- package/dist/types/src/containers/MarkdownContainer/index.d.ts +3 -0
- package/dist/types/src/containers/MarkdownContainer/index.d.ts.map +1 -0
- package/dist/types/src/{components → containers}/MarkdownSettings/MarkdownSettings.d.ts.map +1 -1
- package/dist/types/src/containers/MarkdownSettings/index.d.ts +3 -0
- package/dist/types/src/containers/MarkdownSettings/index.d.ts.map +1 -0
- package/dist/types/src/containers/index.d.ts +6 -0
- package/dist/types/src/containers/index.d.ts.map +1 -0
- package/dist/types/src/hooks/useExtensions.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +1 -1
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/types/Markdown.d.ts +1 -1
- package/dist/types/src/types/Markdown.d.ts.map +1 -1
- package/dist/types/src/types/MarkdownAction.d.ts +1 -1
- package/dist/types/src/util.d.ts +1 -1
- package/dist/types/src/util.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +48 -48
- package/src/MarkdownPlugin.tsx +1 -1
- package/src/blueprints/functions/create.conversations.json +1 -1
- package/src/blueprints/functions/create.test.ts +2 -2
- package/src/blueprints/functions/create.ts +2 -2
- package/src/blueprints/functions/index.ts +11 -3
- package/src/blueprints/functions/open.ts +2 -2
- package/src/blueprints/functions/update.conversations.json +1 -1
- package/src/blueprints/functions/update.test.ts +2 -2
- package/src/blueprints/functions/update.ts +2 -2
- package/src/blueprints/index.ts +1 -1
- package/src/blueprints/markdown-blueprint.ts +14 -6
- package/src/capabilities/app-graph-serializer/app-graph-serializer.ts +1 -1
- package/src/capabilities/blueprint-definition/blueprint-definition.ts +4 -13
- package/src/capabilities/operation-resolver/operation-resolver.ts +2 -2
- package/src/capabilities/react-surface/react-surface.tsx +1 -1
- package/src/components/MarkdownEditor/MarkdownEditor.stories.tsx +10 -8
- package/src/components/MarkdownEditor/MarkdownEditor.tsx +13 -3
- package/src/components/MarkdownEditor/MarkdownEditorContent.tsx +3 -4
- package/src/components/MarkdownEditor/MarkdownEditorToolbar.tsx +6 -5
- package/src/components/index.ts +2 -14
- package/src/{components → containers}/MarkdownCard/MarkdownCard.stories.tsx +16 -6
- package/src/{components → containers}/MarkdownCard/MarkdownCard.tsx +21 -24
- package/src/{components → containers}/MarkdownCard/index.ts +0 -2
- package/src/{components → containers/MarkdownContainer}/MarkdownContainer.stories.tsx +18 -5
- package/src/{components → containers/MarkdownContainer}/MarkdownContainer.tsx +25 -24
- package/src/containers/MarkdownContainer/index.ts +7 -0
- package/src/containers/MarkdownSettings/index.ts +7 -0
- package/src/containers/index.ts +11 -0
- package/src/hooks/useEditorMenuOptions.ts +1 -1
- package/src/hooks/useExtensions.tsx +51 -81
- package/src/index.ts +1 -1
- package/src/testing.ts +1 -1
- package/src/types/Markdown.ts +12 -4
- package/src/types/MarkdownAction.ts +1 -1
- package/src/util.tsx +2 -2
- package/dist/lib/browser/MarkdownCard-7VIO7R66.mjs +0 -11
- package/dist/lib/browser/MarkdownCard-7VIO7R66.mjs.map +0 -7
- package/dist/lib/browser/MarkdownContainer-6E43EDAU.mjs +0 -11
- package/dist/lib/browser/MarkdownContainer-6E43EDAU.mjs.map +0 -7
- package/dist/lib/browser/app-graph-serializer-6Q5YBUPW.mjs.map +0 -7
- package/dist/lib/browser/blueprint-definition-6HOAW2E6.mjs.map +0 -7
- package/dist/lib/browser/chunk-4GT3QWMK.mjs.map +0 -7
- package/dist/lib/browser/chunk-7AQTX6D5.mjs.map +0 -7
- package/dist/lib/browser/chunk-EZZFREFN.mjs.map +0 -7
- package/dist/lib/browser/chunk-HHRUUWGH.mjs.map +0 -7
- package/dist/lib/browser/chunk-HQTBT5IY.mjs.map +0 -7
- package/dist/lib/browser/operation-resolver-UBQUPSXC.mjs.map +0 -7
- package/dist/lib/browser/react-surface-7Z6AB26V.mjs.map +0 -7
- package/dist/lib/node-esm/MarkdownCard-YC3R2TQW.mjs +0 -12
- package/dist/lib/node-esm/MarkdownCard-YC3R2TQW.mjs.map +0 -7
- package/dist/lib/node-esm/MarkdownContainer-TTRUOXU6.mjs +0 -12
- package/dist/lib/node-esm/MarkdownContainer-TTRUOXU6.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-serializer-STEPJH57.mjs.map +0 -7
- package/dist/lib/node-esm/blueprint-definition-UGDFF5OZ.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-D46D75SK.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-DCKB3AVD.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-K2IIYNCG.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-LOZVC2WA.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-USKAPINH.mjs.map +0 -7
- package/dist/lib/node-esm/operation-resolver-QAGXDA5E.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-VIXAH5CF.mjs.map +0 -7
- package/dist/types/src/components/MarkdownCard/MarkdownCard.d.ts.map +0 -1
- package/dist/types/src/components/MarkdownCard/MarkdownCard.stories.d.ts.map +0 -1
- package/dist/types/src/components/MarkdownCard/index.d.ts.map +0 -1
- package/dist/types/src/components/MarkdownContainer.d.ts.map +0 -1
- package/dist/types/src/components/MarkdownContainer.stories.d.ts.map +0 -1
- package/dist/types/src/components/MarkdownSettings/index.d.ts +0 -2
- package/dist/types/src/components/MarkdownSettings/index.d.ts.map +0 -1
- package/dist/types/src/components/Suggestions.stories.d.ts +0 -11
- package/dist/types/src/components/Suggestions.stories.d.ts.map +0 -1
- package/src/components/MarkdownSettings/index.ts +0 -5
- package/src/components/Suggestions.stories.tsx +0 -215
- /package/dist/lib/{node-esm/anchor-sort-IQMDZRA3.mjs.map → browser/anchor-sort-EHJGOCYW.mjs.map} +0 -0
- /package/dist/lib/browser/{chunk-6SM75KL3.mjs.map → chunk-HK6EGNP5.mjs.map} +0 -0
- /package/dist/lib/node-esm/{chunk-AGZOFIK2.mjs.map → chunk-KCH3EL53.mjs.map} +0 -0
- /package/dist/types/src/{components → containers}/MarkdownCard/MarkdownCard.d.ts +0 -0
- /package/dist/types/src/{components → containers}/MarkdownCard/MarkdownCard.stories.d.ts +0 -0
- /package/dist/types/src/{components → containers}/MarkdownSettings/MarkdownSettings.d.ts +0 -0
- /package/src/{components → containers}/MarkdownSettings/MarkdownSettings.tsx +0 -0
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
|
-
Markdown_exports
|
|
3
|
+
Markdown_exports
|
|
4
|
+
} from "./chunk-WBZQ246U.mjs";
|
|
5
|
+
import {
|
|
4
6
|
meta
|
|
5
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-W7AM4HCG.mjs";
|
|
6
8
|
|
|
7
9
|
// src/util.tsx
|
|
8
10
|
import { debounce } from "@dxos/async";
|
|
@@ -61,9 +63,9 @@ var getFallbackName = (content = "") => {
|
|
|
61
63
|
}
|
|
62
64
|
return "";
|
|
63
65
|
};
|
|
64
|
-
var getContentSnippet = (content = "") => {
|
|
66
|
+
var getContentSnippet = (content = "", maxLines = 3) => {
|
|
65
67
|
const abstract = content.split("\n").filter((line) => !line.startsWith("!")).filter((line) => line.trim() !== "");
|
|
66
|
-
return abstract.slice(0,
|
|
68
|
+
return abstract.slice(0, maxLines).join("\n") ?? "";
|
|
67
69
|
};
|
|
68
70
|
var setFallbackName = debounce((doc, content = "") => {
|
|
69
71
|
const name = getFallbackName(content);
|
|
@@ -92,87 +94,24 @@ var serializer = {
|
|
|
92
94
|
}
|
|
93
95
|
};
|
|
94
96
|
|
|
95
|
-
// src/
|
|
96
|
-
import
|
|
97
|
-
import {
|
|
98
|
-
import {
|
|
99
|
-
import {
|
|
100
|
-
import {
|
|
101
|
-
import {
|
|
102
|
-
import {
|
|
103
|
-
import {
|
|
104
|
-
var useLinkQuery = (db) => {
|
|
105
|
-
const { t } = useTranslation();
|
|
106
|
-
const manager = usePluginManager();
|
|
107
|
-
const resolve = useCallback((typename) => manager.capabilities.getAll(AppCapabilities.Metadata).find(({ id }) => id === typename)?.metadata ?? {}, [
|
|
108
|
-
manager
|
|
109
|
-
]);
|
|
110
|
-
const filter = useMemo(() => Filter.or(...(db?.schemaRegistry.query({
|
|
111
|
-
location: [
|
|
112
|
-
"database",
|
|
113
|
-
"runtime"
|
|
114
|
-
]
|
|
115
|
-
}).runSync() ?? []).filter((schema) => getTypeAnnotation(schema)?.kind !== EntityKind.Relation).filter((schema) => !SystemTypeAnnotation.get(schema).pipe(Option.getOrElse(() => false))).map((schema) => Filter.typename(Type.getTypename(schema)))), [
|
|
116
|
-
db
|
|
117
|
-
]);
|
|
118
|
-
const handleLinkQuery = useCallback(async (query) => {
|
|
119
|
-
const name = query?.startsWith("@") ? query.slice(1).toLowerCase() : query?.toLowerCase() ?? "";
|
|
120
|
-
const results = await db?.query(Query.select(filter)).run();
|
|
121
|
-
const getLabel = (object) => {
|
|
122
|
-
const label = Obj2.getLabel(object);
|
|
123
|
-
if (label) {
|
|
124
|
-
return label;
|
|
125
|
-
}
|
|
126
|
-
const type = Obj2.getTypename(object);
|
|
127
|
-
const metadata = resolve(type);
|
|
128
|
-
return metadata.label?.(object) || [
|
|
129
|
-
"object name placeholder",
|
|
130
|
-
{
|
|
131
|
-
ns: type,
|
|
132
|
-
default: "New object"
|
|
133
|
-
}
|
|
134
|
-
];
|
|
135
|
-
};
|
|
136
|
-
const items = results?.filter((object) => toLocalizedString(getLabel(object), t).toLowerCase().includes(name)).map((object) => {
|
|
137
|
-
const metadata = resolve(Obj2.getTypename(object));
|
|
138
|
-
const label = toLocalizedString(getLabel(object), t);
|
|
139
|
-
return {
|
|
140
|
-
id: object.id,
|
|
141
|
-
label,
|
|
142
|
-
icon: metadata.icon,
|
|
143
|
-
onSelect: ({ view, head }) => {
|
|
144
|
-
const link = `[${label}](${Obj2.getDXN(object)})`;
|
|
145
|
-
if (query?.startsWith("@")) {
|
|
146
|
-
insertAtLineStart(view, head, `!${link}
|
|
147
|
-
`);
|
|
148
|
-
} else {
|
|
149
|
-
insertAtCursor(view, head, `${link} `);
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
};
|
|
153
|
-
}) ?? [];
|
|
154
|
-
return [
|
|
155
|
-
{
|
|
156
|
-
id: "echo",
|
|
157
|
-
items
|
|
158
|
-
}
|
|
159
|
-
];
|
|
160
|
-
}, [
|
|
161
|
-
db,
|
|
162
|
-
filter,
|
|
163
|
-
resolve
|
|
164
|
-
]);
|
|
165
|
-
return handleLinkQuery;
|
|
166
|
-
};
|
|
97
|
+
// src/components/MarkdownEditor/MarkdownEditor.tsx
|
|
98
|
+
import { createContext } from "@radix-ui/react-context";
|
|
99
|
+
import React4, { useMemo as useMemo6, useState as useState2 } from "react";
|
|
100
|
+
import { createPortal as createPortal2 } from "react-dom";
|
|
101
|
+
import { Surface } from "@dxos/app-framework/ui";
|
|
102
|
+
import { DXN } from "@dxos/keys";
|
|
103
|
+
import { useClient } from "@dxos/react-client";
|
|
104
|
+
import { EditorMenuProvider, useEditorMenu, useEditorToolbar } from "@dxos/react-ui-editor";
|
|
105
|
+
import { isNonNullable } from "@dxos/util";
|
|
167
106
|
|
|
168
107
|
// src/hooks/useEditorMenuOptions.ts
|
|
169
|
-
import { useCallback
|
|
170
|
-
import { toLocalizedString
|
|
108
|
+
import { useCallback, useMemo, useRef } from "react";
|
|
109
|
+
import { toLocalizedString, useTranslation } from "@dxos/react-ui";
|
|
171
110
|
import { filterMenuGroups, formattingCommands, linkSlashCommands } from "@dxos/react-ui-editor";
|
|
172
111
|
import { Domino } from "@dxos/ui";
|
|
173
112
|
var useEditorMenuOptions = ({ editorView, slashCommandGroups, onLinkQuery }) => {
|
|
174
|
-
const { t } =
|
|
175
|
-
const getMenu =
|
|
113
|
+
const { t } = useTranslation(meta.id);
|
|
114
|
+
const getMenu = useCallback(({ text, trigger }) => {
|
|
176
115
|
switch (trigger) {
|
|
177
116
|
case "@": {
|
|
178
117
|
return onLinkQuery?.(text) ?? [];
|
|
@@ -183,7 +122,7 @@ var useEditorMenuOptions = ({ editorView, slashCommandGroups, onLinkQuery }) =>
|
|
|
183
122
|
formattingCommands,
|
|
184
123
|
linkSlashCommands,
|
|
185
124
|
...slashCommandGroups ?? []
|
|
186
|
-
], (item) => text ?
|
|
125
|
+
], (item) => text ? toLocalizedString(item.label, t).toLowerCase().includes(text.toLowerCase()) : true);
|
|
187
126
|
}
|
|
188
127
|
}
|
|
189
128
|
}, [
|
|
@@ -191,7 +130,7 @@ var useEditorMenuOptions = ({ editorView, slashCommandGroups, onLinkQuery }) =>
|
|
|
191
130
|
onLinkQuery
|
|
192
131
|
]);
|
|
193
132
|
const viewRef = useRef(editorView);
|
|
194
|
-
return
|
|
133
|
+
return useMemo(() => {
|
|
195
134
|
const trigger = onLinkQuery ? [
|
|
196
135
|
"/",
|
|
197
136
|
"@"
|
|
@@ -202,7 +141,7 @@ var useEditorMenuOptions = ({ editorView, slashCommandGroups, onLinkQuery }) =>
|
|
|
202
141
|
delay: 3e3,
|
|
203
142
|
content: () => {
|
|
204
143
|
const pressEl = Domino.of("span").text("Press");
|
|
205
|
-
const triggerEls = trigger.map((text) => Domino.of("span").classNames("mx-1
|
|
144
|
+
const triggerEls = trigger.map((text) => Domino.of("span").classNames("mx-1 px-1.5 pt-[1px] pb-[2px] border border-separator rounded-xs").text(text));
|
|
206
145
|
const forCommandsEl = Domino.of("span").text("for commands.");
|
|
207
146
|
return Domino.of("div").children(pressEl, ...triggerEls, forCommandsEl).root;
|
|
208
147
|
}
|
|
@@ -220,30 +159,28 @@ var useEditorMenuOptions = ({ editorView, slashCommandGroups, onLinkQuery }) =>
|
|
|
220
159
|
};
|
|
221
160
|
|
|
222
161
|
// src/hooks/useExtensions.tsx
|
|
223
|
-
import
|
|
224
|
-
import { createRoot } from "react-dom/client";
|
|
162
|
+
import { useMemo as useMemo2 } from "react";
|
|
225
163
|
import { useOperationInvoker } from "@dxos/app-framework/ui";
|
|
226
164
|
import { LayoutOperation } from "@dxos/app-toolkit";
|
|
227
165
|
import { debounceAndThrottle } from "@dxos/async";
|
|
228
|
-
import { Obj as
|
|
166
|
+
import { Obj as Obj2 } from "@dxos/echo";
|
|
229
167
|
import { createDocAccessor } from "@dxos/echo-db";
|
|
230
168
|
import { invariant } from "@dxos/invariant";
|
|
231
169
|
import { getSpace, useObject } from "@dxos/react-client/echo";
|
|
232
170
|
import { useIdentity } from "@dxos/react-client/halo";
|
|
233
|
-
import { Icon, ThemeProvider } from "@dxos/react-ui";
|
|
234
171
|
import { Text } from "@dxos/schema";
|
|
172
|
+
import { Domino as Domino2 } from "@dxos/ui";
|
|
235
173
|
import { Cursor, EditorView, InputModeExtensions, createDataExtensions, decorateMarkdown, documentId, folding, formattingKeymap, linkTooltip, listener, preview, replacer, selectionState, typewriter } from "@dxos/ui-editor";
|
|
236
|
-
import {
|
|
237
|
-
import { isTruthy } from "@dxos/util";
|
|
174
|
+
import { isTruthy, safeUrl } from "@dxos/util";
|
|
238
175
|
var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-markdown/src/hooks/useExtensions.tsx";
|
|
239
176
|
var useExtensions = ({ id, object, settings, selectionManager, viewMode, editorStateStore, previewOptions }) => {
|
|
240
177
|
const { invokePromise } = useOperationInvoker();
|
|
241
178
|
const identity = useIdentity();
|
|
242
179
|
const space = getSpace(object);
|
|
243
|
-
const contentRef =
|
|
180
|
+
const contentRef = Obj2.instanceOf(Markdown_exports.Document, object) ? object.content : void 0;
|
|
244
181
|
useObject(contentRef);
|
|
245
|
-
const target = contentRef?.target ?? (
|
|
246
|
-
const baseExtensions =
|
|
182
|
+
const target = contentRef?.target ?? (Obj2.instanceOf(Text.Text, object) ? object : void 0);
|
|
183
|
+
const baseExtensions = useMemo2(() => createBaseExtensions({
|
|
247
184
|
id,
|
|
248
185
|
object,
|
|
249
186
|
settings,
|
|
@@ -265,7 +202,7 @@ var useExtensions = ({ id, object, settings, selectionManager, viewMode, editorS
|
|
|
265
202
|
settings?.typewriter,
|
|
266
203
|
selectionManager
|
|
267
204
|
]);
|
|
268
|
-
return
|
|
205
|
+
return useMemo2(() => [
|
|
269
206
|
// TODO(burdon): Pass this in?
|
|
270
207
|
// NOTE: Data extensions must be first so that automerge is updated before other extensions compute their state.
|
|
271
208
|
target && createDataExtensions({
|
|
@@ -277,7 +214,7 @@ var useExtensions = ({ id, object, settings, selectionManager, viewMode, editorS
|
|
|
277
214
|
identity
|
|
278
215
|
}),
|
|
279
216
|
// TODO(burdon): Reconcile with effect in parent.
|
|
280
|
-
|
|
217
|
+
Obj2.instanceOf(Markdown_exports.Document, object) && listener({
|
|
281
218
|
onChange: ({ text }) => {
|
|
282
219
|
setFallbackName(object, text);
|
|
283
220
|
}
|
|
@@ -307,16 +244,15 @@ var createBaseExtensions = ({ id, object, invokePromise, settings, selectionMana
|
|
|
307
244
|
numberedHeadings: settings?.numberedHeadings ? {
|
|
308
245
|
from: 2
|
|
309
246
|
} : void 0,
|
|
310
|
-
// TODO(wittjosiah): For internal links
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
void invokePromise(LayoutOperation.Open, {
|
|
247
|
+
// TODO(wittjosiah): For internal links render the label of the object.
|
|
248
|
+
renderLinkButton: createRenderLink((targetId) => {
|
|
249
|
+
void invokePromise?.(LayoutOperation.Open, {
|
|
314
250
|
subject: [
|
|
315
251
|
targetId
|
|
316
252
|
],
|
|
317
|
-
pivotId: object &&
|
|
253
|
+
pivotId: object && Obj2.isObject(object) ? Obj2.getDXN(object).toString() : id
|
|
318
254
|
});
|
|
319
|
-
})
|
|
255
|
+
})
|
|
320
256
|
}),
|
|
321
257
|
linkTooltip(renderLinkTooltip),
|
|
322
258
|
preview(previewOptions),
|
|
@@ -334,32 +270,31 @@ var createBaseExtensions = ({ id, object, invokePromise, settings, selectionMana
|
|
|
334
270
|
return extensions;
|
|
335
271
|
};
|
|
336
272
|
var selectionChange = (selectionManager) => {
|
|
337
|
-
|
|
273
|
+
const debouncedHandler = debounceAndThrottle((update) => {
|
|
274
|
+
const id = update.state.facet(documentId);
|
|
275
|
+
const cursorConverter = update.state.facet(Cursor.converter);
|
|
276
|
+
const selection = update.state.selection;
|
|
277
|
+
const ranges = selection.ranges.map((range) => ({
|
|
278
|
+
from: cursorConverter.toCursor(range.from),
|
|
279
|
+
to: cursorConverter.toCursor(range.to)
|
|
280
|
+
})).filter(({ from, to }) => to > from);
|
|
281
|
+
selectionManager.updateMultiRange(id, ranges);
|
|
282
|
+
}, 100);
|
|
283
|
+
return EditorView.updateListener.of((update) => {
|
|
338
284
|
if (update.selectionSet) {
|
|
339
|
-
|
|
340
|
-
const cursorConverter = update.state.facet(Cursor.converter);
|
|
341
|
-
const selection = update.state.selection;
|
|
342
|
-
const ranges = selection.ranges.map((range) => ({
|
|
343
|
-
from: cursorConverter.toCursor(range.from),
|
|
344
|
-
to: cursorConverter.toCursor(range.to)
|
|
345
|
-
})).filter(({ from, to }) => to > from);
|
|
346
|
-
selectionManager.updateMultiRange(id, ranges);
|
|
285
|
+
debouncedHandler(update);
|
|
347
286
|
}
|
|
348
|
-
}
|
|
349
|
-
};
|
|
350
|
-
var style = {
|
|
351
|
-
hover: "rounded-sm text-primary-500 hover:text-primary-600 dark:text-primary-500 hover:dark:text-primary-400",
|
|
352
|
-
icon: "inline-block leading-none mis-1 cursor-pointer"
|
|
287
|
+
});
|
|
353
288
|
};
|
|
354
|
-
var
|
|
355
|
-
const isInternal = url.startsWith("/") ||
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
289
|
+
var createRenderLink = (onSelectObject) => (el, { url }) => {
|
|
290
|
+
const isInternal = url.startsWith("/") || url.startsWith(window.location.origin);
|
|
291
|
+
const anchor = Domino2.of("a").classNames("dx-link dx-icon-inline ms-1").children(Domino2.svg(isInternal ? "ph--arrow-square-down--regular" : "ph--arrow-square-out--regular"));
|
|
292
|
+
if (isInternal) {
|
|
293
|
+
anchor.on("click", () => {
|
|
359
294
|
const qualifiedId = url.split("/").at(-1);
|
|
360
295
|
invariant(qualifiedId, "Invalid link format.", {
|
|
361
296
|
F: __dxlog_file,
|
|
362
|
-
L:
|
|
297
|
+
L: 227,
|
|
363
298
|
S: void 0,
|
|
364
299
|
A: [
|
|
365
300
|
"qualifiedId",
|
|
@@ -367,39 +302,95 @@ var createLinkRenderer = (onSelectObject) => (el, { url }) => {
|
|
|
367
302
|
]
|
|
368
303
|
});
|
|
369
304
|
onSelectObject(qualifiedId);
|
|
370
|
-
}
|
|
371
|
-
}
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
}, /* @__PURE__ */ React.createElement(Icon, {
|
|
380
|
-
icon: isInternal ? "ph--arrow-square-down--bold" : "ph--arrow-square-out--bold",
|
|
381
|
-
size: 4,
|
|
382
|
-
classNames: style.icon
|
|
383
|
-
})));
|
|
305
|
+
});
|
|
306
|
+
} else {
|
|
307
|
+
anchor.attributes({
|
|
308
|
+
href: url,
|
|
309
|
+
rel: "noreferrer",
|
|
310
|
+
target: "_blank"
|
|
311
|
+
});
|
|
312
|
+
}
|
|
313
|
+
el.appendChild(anchor.root);
|
|
384
314
|
};
|
|
385
315
|
var renderLinkTooltip = (el, { url }) => {
|
|
386
|
-
|
|
387
|
-
renderRoot(el, /* @__PURE__ */ React.createElement("a", {
|
|
316
|
+
el.appendChild(Domino2.of("a").attributes({
|
|
388
317
|
href: url,
|
|
389
|
-
rel: "noreferrer",
|
|
390
318
|
target: "_blank",
|
|
391
|
-
|
|
392
|
-
}
|
|
393
|
-
icon: "ph--arrow-square-out--bold",
|
|
394
|
-
size: 4,
|
|
395
|
-
classNames: style.icon
|
|
396
|
-
})));
|
|
319
|
+
rel: "noreferrer"
|
|
320
|
+
}).classNames("dx-link flex items-center gap-2").text(safeUrl(url)?.origin ?? url).children(Domino2.svg("ph--arrow-square-out--regular")).root);
|
|
397
321
|
};
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
322
|
+
|
|
323
|
+
// src/hooks/useLinkQuery.ts
|
|
324
|
+
import * as Option from "effect/Option";
|
|
325
|
+
import { useCallback as useCallback2, useMemo as useMemo3 } from "react";
|
|
326
|
+
import { usePluginManager } from "@dxos/app-framework/ui";
|
|
327
|
+
import { AppCapabilities } from "@dxos/app-toolkit";
|
|
328
|
+
import { Filter, Obj as Obj3, Query, Type } from "@dxos/echo";
|
|
329
|
+
import { EntityKind, SystemTypeAnnotation, getTypeAnnotation } from "@dxos/echo/internal";
|
|
330
|
+
import { toLocalizedString as toLocalizedString2, useTranslation as useTranslation2 } from "@dxos/react-ui";
|
|
331
|
+
import { insertAtCursor, insertAtLineStart } from "@dxos/ui-editor";
|
|
332
|
+
var useLinkQuery = (db) => {
|
|
333
|
+
const { t } = useTranslation2();
|
|
334
|
+
const manager = usePluginManager();
|
|
335
|
+
const resolve = useCallback2((typename) => manager.capabilities.getAll(AppCapabilities.Metadata).find(({ id }) => id === typename)?.metadata ?? {}, [
|
|
336
|
+
manager
|
|
337
|
+
]);
|
|
338
|
+
const filter = useMemo3(() => Filter.or(...(db?.schemaRegistry.query({
|
|
339
|
+
location: [
|
|
340
|
+
"database",
|
|
341
|
+
"runtime"
|
|
342
|
+
]
|
|
343
|
+
}).runSync() ?? []).filter((schema) => getTypeAnnotation(schema)?.kind !== EntityKind.Relation).filter((schema) => !SystemTypeAnnotation.get(schema).pipe(Option.getOrElse(() => false))).map((schema) => Filter.typename(Type.getTypename(schema)))), [
|
|
344
|
+
db
|
|
345
|
+
]);
|
|
346
|
+
const handleLinkQuery = useCallback2(async (query) => {
|
|
347
|
+
const name = query?.startsWith("@") ? query.slice(1).toLowerCase() : query?.toLowerCase() ?? "";
|
|
348
|
+
const results = await db?.query(Query.select(filter)).run();
|
|
349
|
+
const getLabel = (object) => {
|
|
350
|
+
const label = Obj3.getLabel(object);
|
|
351
|
+
if (label) {
|
|
352
|
+
return label;
|
|
353
|
+
}
|
|
354
|
+
const type = Obj3.getTypename(object);
|
|
355
|
+
const metadata = resolve(type);
|
|
356
|
+
return metadata.label?.(object) || [
|
|
357
|
+
"object name placeholder",
|
|
358
|
+
{
|
|
359
|
+
ns: type,
|
|
360
|
+
default: "New object"
|
|
361
|
+
}
|
|
362
|
+
];
|
|
363
|
+
};
|
|
364
|
+
const items = results?.filter((object) => toLocalizedString2(getLabel(object), t).toLowerCase().includes(name)).map((object) => {
|
|
365
|
+
const metadata = resolve(Obj3.getTypename(object));
|
|
366
|
+
const label = toLocalizedString2(getLabel(object), t);
|
|
367
|
+
return {
|
|
368
|
+
id: object.id,
|
|
369
|
+
label,
|
|
370
|
+
icon: metadata.icon,
|
|
371
|
+
onSelect: ({ view, head }) => {
|
|
372
|
+
const link = `[${label}](${Obj3.getDXN(object)})`;
|
|
373
|
+
if (query?.startsWith("@")) {
|
|
374
|
+
insertAtLineStart(view, head, `!${link}
|
|
375
|
+
`);
|
|
376
|
+
} else {
|
|
377
|
+
insertAtCursor(view, head, `${link} `);
|
|
378
|
+
}
|
|
379
|
+
}
|
|
380
|
+
};
|
|
381
|
+
}) ?? [];
|
|
382
|
+
return [
|
|
383
|
+
{
|
|
384
|
+
id: "echo",
|
|
385
|
+
items
|
|
386
|
+
}
|
|
387
|
+
];
|
|
388
|
+
}, [
|
|
389
|
+
db,
|
|
390
|
+
filter,
|
|
391
|
+
resolve
|
|
392
|
+
]);
|
|
393
|
+
return handleLinkQuery;
|
|
403
394
|
};
|
|
404
395
|
|
|
405
396
|
// src/hooks/useSelectCurrentThread.tsx
|
|
@@ -463,19 +454,9 @@ var useSelectCurrentThread = (editorView, documentId2) => {
|
|
|
463
454
|
useOperationResolver(meta.id, scrollIntoViewHandler);
|
|
464
455
|
};
|
|
465
456
|
|
|
466
|
-
// src/components/MarkdownEditor/MarkdownEditor.tsx
|
|
467
|
-
import { createContext } from "@radix-ui/react-context";
|
|
468
|
-
import React5, { useMemo as useMemo6, useState as useState2 } from "react";
|
|
469
|
-
import { createPortal as createPortal2 } from "react-dom";
|
|
470
|
-
import { Surface } from "@dxos/app-framework/ui";
|
|
471
|
-
import { DXN } from "@dxos/keys";
|
|
472
|
-
import { useClient } from "@dxos/react-client";
|
|
473
|
-
import { EditorMenuProvider, useEditorMenu, useEditorToolbar } from "@dxos/react-ui-editor";
|
|
474
|
-
import { isNonNullable } from "@dxos/util";
|
|
475
|
-
|
|
476
457
|
// src/components/MarkdownEditor/MarkdownEditorContent.tsx
|
|
477
458
|
import { RegistryContext } from "@effect-atom/atom-react";
|
|
478
|
-
import
|
|
459
|
+
import React, { forwardRef, useCallback as useCallback3, useContext, useEffect, useImperativeHandle, useMemo as useMemo5 } from "react";
|
|
479
460
|
import { useThemeContext, useTranslation as useTranslation3 } from "@dxos/react-ui";
|
|
480
461
|
import { useTextEditor } from "@dxos/react-ui-editor";
|
|
481
462
|
import { createBasicExtensions, createMarkdownExtensions, createThemeExtensions, dropFile, editorSlots, formattingListener, processEditorPayload, stackItemContentEditorClassNames } from "@dxos/ui-editor";
|
|
@@ -549,13 +530,13 @@ var MarkdownEditorContent = /* @__PURE__ */ forwardRef(({ classNames, id, role,
|
|
|
549
530
|
]);
|
|
550
531
|
useSelectCurrentThread(editorView, id);
|
|
551
532
|
useTest(editorView);
|
|
552
|
-
return /* @__PURE__ */
|
|
533
|
+
return /* @__PURE__ */ React.createElement("div", {
|
|
534
|
+
...focusAttributes,
|
|
553
535
|
role: "none",
|
|
554
|
-
ref: parentRef,
|
|
555
536
|
"data-testid": "composer.markdownRoot",
|
|
556
|
-
className: mx(stackItemContentEditorClassNames(role), classNames),
|
|
557
537
|
"data-popover-collision-boundary": true,
|
|
558
|
-
|
|
538
|
+
className: mx(stackItemContentEditorClassNames(role), classNames),
|
|
539
|
+
ref: parentRef
|
|
559
540
|
});
|
|
560
541
|
});
|
|
561
542
|
var useTest = (view) => {
|
|
@@ -570,12 +551,12 @@ var useTest = (view) => {
|
|
|
570
551
|
};
|
|
571
552
|
|
|
572
553
|
// src/components/MarkdownEditor/MarkdownEditorToolbar.tsx
|
|
573
|
-
import
|
|
554
|
+
import React3, { useCallback as useCallback4, useState } from "react";
|
|
574
555
|
import { invariant as invariant3 } from "@dxos/invariant";
|
|
575
556
|
import { EditorToolbar } from "@dxos/react-ui-editor";
|
|
576
557
|
|
|
577
558
|
// src/components/MarkdownEditor/FileUpload.tsx
|
|
578
|
-
import
|
|
559
|
+
import React2, { forwardRef as forwardRef2, useEffect as useEffect2, useImperativeHandle as useImperativeHandle2 } from "react";
|
|
579
560
|
import { createPortal } from "react-dom";
|
|
580
561
|
import { useDropzone } from "react-dropzone";
|
|
581
562
|
import { addLink } from "@dxos/ui-editor";
|
|
@@ -622,14 +603,14 @@ var FileUpload = /* @__PURE__ */ forwardRef2(({ editorView, onFileUpload }, forw
|
|
|
622
603
|
if (!onFileUpload) {
|
|
623
604
|
return null;
|
|
624
605
|
}
|
|
625
|
-
return /* @__PURE__ */
|
|
606
|
+
return /* @__PURE__ */ React2.createElement(React2.Fragment, null, /* @__PURE__ */ createPortal(/* @__PURE__ */ React2.createElement("input", {
|
|
626
607
|
ref: inputRef
|
|
627
608
|
}), document.body), " ");
|
|
628
609
|
});
|
|
629
610
|
|
|
630
611
|
// src/components/MarkdownEditor/MarkdownEditorToolbar.tsx
|
|
631
612
|
var __dxlog_file3 = "/__w/dxos/dxos/packages/plugins/plugin-markdown/src/components/MarkdownEditor/MarkdownEditorToolbar.tsx";
|
|
632
|
-
var MarkdownEditorToolbar = ({ classNames, id, role, state, editorView, customActions, onAction, onFileUpload, onViewModeChange }) => {
|
|
613
|
+
var MarkdownEditorToolbar = ({ classNames, id, role, state, editorView, customActions, onAction, onFileUpload, onViewModeChange, ...props }) => {
|
|
633
614
|
const [upload, setUpload] = useState(null);
|
|
634
615
|
const uploadRef = useCallback4((next) => setUpload(() => next), []);
|
|
635
616
|
const handleViewModeChange = useCallback4((mode) => onViewModeChange?.(mode), [
|
|
@@ -638,7 +619,7 @@ var MarkdownEditorToolbar = ({ classNames, id, role, state, editorView, customAc
|
|
|
638
619
|
const getView = useCallback4(() => {
|
|
639
620
|
invariant3(editorView, void 0, {
|
|
640
621
|
F: __dxlog_file3,
|
|
641
|
-
L:
|
|
622
|
+
L: 42,
|
|
642
623
|
S: void 0,
|
|
643
624
|
A: [
|
|
644
625
|
"editorView",
|
|
@@ -650,9 +631,12 @@ var MarkdownEditorToolbar = ({ classNames, id, role, state, editorView, customAc
|
|
|
650
631
|
editorView
|
|
651
632
|
]);
|
|
652
633
|
if (!editorView) {
|
|
653
|
-
return /* @__PURE__ */
|
|
634
|
+
return /* @__PURE__ */ React3.createElement("div", props);
|
|
654
635
|
}
|
|
655
|
-
return /* @__PURE__ */
|
|
636
|
+
return /* @__PURE__ */ React3.createElement("div", {
|
|
637
|
+
role: "none",
|
|
638
|
+
...props
|
|
639
|
+
}, /* @__PURE__ */ React3.createElement(EditorToolbar, {
|
|
656
640
|
classNames,
|
|
657
641
|
attendableId: id,
|
|
658
642
|
role,
|
|
@@ -662,7 +646,7 @@ var MarkdownEditorToolbar = ({ classNames, id, role, state, editorView, customAc
|
|
|
662
646
|
onAction,
|
|
663
647
|
onImageUpload: upload ?? void 0,
|
|
664
648
|
onViewModeChange: handleViewModeChange
|
|
665
|
-
}), onFileUpload && /* @__PURE__ */
|
|
649
|
+
}), onFileUpload && /* @__PURE__ */ React3.createElement(FileUpload, {
|
|
666
650
|
ref: uploadRef,
|
|
667
651
|
editorView,
|
|
668
652
|
onFileUpload
|
|
@@ -712,7 +696,7 @@ var MarkdownEditorRoot = ({ children, id, object, editorStateStore, selectionMan
|
|
|
712
696
|
menuExtension,
|
|
713
697
|
extensionsProp
|
|
714
698
|
]);
|
|
715
|
-
return /* @__PURE__ */
|
|
699
|
+
return /* @__PURE__ */ React4.createElement(MarkdownEditorContextProvider, {
|
|
716
700
|
id,
|
|
717
701
|
editorView,
|
|
718
702
|
setEditorView,
|
|
@@ -728,11 +712,11 @@ MarkdownEditorRoot.displayName = "MarkdownEditor.Root";
|
|
|
728
712
|
var MARKDOWN_EDITOR_CONTENT_NAME = "MarkdownEditor.Content";
|
|
729
713
|
var MarkdownEditorContent2 = (props) => {
|
|
730
714
|
const { id, editorView, setEditorView, viewMode, toolbarState, extensions, popoverMenu: { groupsRef, ...menuProps } } = useMarkdownEditorContext(MARKDOWN_EDITOR_CONTENT_NAME);
|
|
731
|
-
return /* @__PURE__ */
|
|
715
|
+
return /* @__PURE__ */ React4.createElement(EditorMenuProvider, {
|
|
732
716
|
view: editorView,
|
|
733
717
|
groups: groupsRef.current,
|
|
734
718
|
...menuProps
|
|
735
|
-
}, /* @__PURE__ */
|
|
719
|
+
}, /* @__PURE__ */ React4.createElement(MarkdownEditorContent, {
|
|
736
720
|
...props,
|
|
737
721
|
id,
|
|
738
722
|
viewMode,
|
|
@@ -744,18 +728,21 @@ var MarkdownEditorContent2 = (props) => {
|
|
|
744
728
|
MarkdownEditorContent2.displayName = MARKDOWN_EDITOR_CONTENT_NAME;
|
|
745
729
|
var MARKDOWN_EDITOR_TOOLBAR_NAME = "MarkdownEditor.Toolbar";
|
|
746
730
|
var MarkdownEditorToolbar2 = (props) => {
|
|
747
|
-
const { toolbarState,
|
|
748
|
-
return /* @__PURE__ */
|
|
731
|
+
const { editorView, toolbarState, onAction, onFileUpload, onViewModeChange } = useMarkdownEditorContext(MARKDOWN_EDITOR_TOOLBAR_NAME);
|
|
732
|
+
return /* @__PURE__ */ React4.createElement(MarkdownEditorToolbar, {
|
|
749
733
|
...props,
|
|
750
|
-
|
|
751
|
-
state: toolbarState
|
|
734
|
+
editorView,
|
|
735
|
+
state: toolbarState,
|
|
736
|
+
onAction,
|
|
737
|
+
onFileUpload,
|
|
738
|
+
onViewModeChange
|
|
752
739
|
});
|
|
753
740
|
};
|
|
754
741
|
MarkdownEditorToolbar2.displayName = MARKDOWN_EDITOR_TOOLBAR_NAME;
|
|
755
742
|
var MARKDOWN_EDITOR_BLOCKS_NAME = "MarkdownEditor.Blocks";
|
|
756
743
|
var MarkdownEditorBlocks = (_props) => {
|
|
757
744
|
const { previewBlocks } = useMarkdownEditorContext(MARKDOWN_EDITOR_BLOCKS_NAME);
|
|
758
|
-
return /* @__PURE__ */
|
|
745
|
+
return /* @__PURE__ */ React4.createElement(React4.Fragment, null, previewBlocks.map(({ link, el }) => /* @__PURE__ */ React4.createElement(PreviewBlock, {
|
|
759
746
|
key: link.dxn,
|
|
760
747
|
link,
|
|
761
748
|
el
|
|
@@ -771,8 +758,8 @@ var PreviewBlock = ({ el, link }) => {
|
|
|
771
758
|
}), [
|
|
772
759
|
subject
|
|
773
760
|
]);
|
|
774
|
-
return /* @__PURE__ */ createPortal2(/* @__PURE__ */
|
|
775
|
-
role: "card--
|
|
761
|
+
return /* @__PURE__ */ createPortal2(/* @__PURE__ */ React4.createElement(Surface.Surface, {
|
|
762
|
+
role: "card--content",
|
|
776
763
|
data,
|
|
777
764
|
limit: 1
|
|
778
765
|
}), el);
|
|
@@ -794,4 +781,4 @@ export {
|
|
|
794
781
|
useLinkQuery,
|
|
795
782
|
MarkdownEditor
|
|
796
783
|
};
|
|
797
|
-
//# sourceMappingURL=chunk-
|
|
784
|
+
//# sourceMappingURL=chunk-N73JZ4CD.mjs.map
|