@dxos/plugin-markdown 0.7.4-staging.f7e8224 → 0.7.5-feature-compute.4d9d99a
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-6OPC5MKP.mjs → MarkdownContainer-ARRY4I6S.mjs} +175 -126
- package/dist/lib/browser/MarkdownContainer-ARRY4I6S.mjs.map +7 -0
- package/dist/lib/browser/app-graph-serializer-HHWSLYIW.mjs +51 -0
- package/dist/lib/browser/app-graph-serializer-HHWSLYIW.mjs.map +7 -0
- package/dist/lib/browser/{chunk-TZN5FGB2.mjs → chunk-ADAYSA5G.mjs} +24 -13
- package/dist/lib/browser/chunk-ADAYSA5G.mjs.map +7 -0
- package/dist/lib/browser/chunk-EMIIXXVX.mjs +66 -0
- package/dist/lib/browser/chunk-EMIIXXVX.mjs.map +7 -0
- package/dist/lib/browser/chunk-FSAYVXSE.mjs +16 -0
- package/dist/lib/browser/chunk-FSAYVXSE.mjs.map +7 -0
- package/dist/lib/browser/{chunk-4X6YX3KU.mjs → chunk-YB2TJFNH.mjs} +3 -3
- package/dist/lib/browser/chunk-YB2TJFNH.mjs.map +7 -0
- package/dist/lib/browser/chunk-YPDWX3WI.mjs +47 -0
- package/dist/lib/browser/chunk-YPDWX3WI.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +99 -452
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/intent-resolver-4KWMUMND.mjs +37 -0
- package/dist/lib/browser/intent-resolver-4KWMUMND.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/react-surface-RL4CISJZ.mjs +152 -0
- package/dist/lib/browser/react-surface-RL4CISJZ.mjs.map +7 -0
- package/dist/lib/browser/settings-PTF73JDL.mjs +28 -0
- package/dist/lib/browser/settings-PTF73JDL.mjs.map +7 -0
- package/dist/lib/browser/state-DOVZP7XJ.mjs +37 -0
- package/dist/lib/browser/state-DOVZP7XJ.mjs.map +7 -0
- package/dist/lib/browser/thread-G4RS7NBZ.mjs +36 -0
- package/dist/lib/browser/thread-G4RS7NBZ.mjs.map +7 -0
- package/dist/lib/browser/types/index.mjs +4 -4
- package/dist/lib/node/{MarkdownContainer-6OKJOHTZ.cjs → MarkdownContainer-TV6W64EN.cjs} +167 -120
- package/dist/lib/node/MarkdownContainer-TV6W64EN.cjs.map +7 -0
- package/dist/lib/node/app-graph-serializer-PJRST43Q.cjs +62 -0
- package/dist/lib/node/app-graph-serializer-PJRST43Q.cjs.map +7 -0
- package/dist/lib/node/chunk-34WFGSZU.cjs +86 -0
- package/dist/lib/node/chunk-34WFGSZU.cjs.map +7 -0
- package/dist/lib/node/chunk-7WZANRNS.cjs +64 -0
- package/dist/lib/node/chunk-7WZANRNS.cjs.map +7 -0
- package/dist/lib/node/{meta.cjs → chunk-G7WKHUGU.cjs} +13 -8
- package/dist/lib/node/chunk-G7WKHUGU.cjs.map +7 -0
- package/dist/lib/node/{chunk-PHHIPRJC.cjs → chunk-HTWAAR54.cjs} +7 -7
- package/dist/lib/node/chunk-HTWAAR54.cjs.map +7 -0
- package/dist/lib/node/{chunk-KEPAM4JP.cjs → chunk-UFFFUC6W.cjs} +39 -14
- package/dist/lib/node/chunk-UFFFUC6W.cjs.map +7 -0
- package/dist/lib/node/index.cjs +90 -450
- package/dist/lib/node/index.cjs.map +4 -4
- package/dist/lib/node/intent-resolver-QN25AFOP.cjs +50 -0
- package/dist/lib/node/intent-resolver-QN25AFOP.cjs.map +7 -0
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/react-surface-RZ2XV56V.cjs +165 -0
- package/dist/lib/node/react-surface-RZ2XV56V.cjs.map +7 -0
- package/dist/lib/node/settings-BO5P5R4I.cjs +42 -0
- package/dist/lib/node/settings-BO5P5R4I.cjs.map +7 -0
- package/dist/lib/node/state-F26NQP7F.cjs +51 -0
- package/dist/lib/node/state-F26NQP7F.cjs.map +7 -0
- package/dist/lib/node/thread-THWQ67WS.cjs +52 -0
- package/dist/lib/node/thread-THWQ67WS.cjs.map +7 -0
- 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-GBNSGROQ.mjs → MarkdownContainer-3ZHQTTMQ.mjs} +175 -126
- package/dist/lib/node-esm/MarkdownContainer-3ZHQTTMQ.mjs.map +7 -0
- package/dist/lib/node-esm/app-graph-serializer-JTHJUUS2.mjs +52 -0
- package/dist/lib/node-esm/app-graph-serializer-JTHJUUS2.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-2GHK262V.mjs +17 -0
- package/dist/lib/node-esm/chunk-2GHK262V.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-BABK7FMW.mjs → chunk-AOKWCL3O.mjs} +3 -3
- package/dist/lib/node-esm/chunk-AOKWCL3O.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-CDFNMFGT.mjs +67 -0
- package/dist/lib/node-esm/chunk-CDFNMFGT.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-HLP536EW.mjs +48 -0
- package/dist/lib/node-esm/chunk-HLP536EW.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-NUMUUCYF.mjs → chunk-Y5RSQVGH.mjs} +24 -13
- package/dist/lib/node-esm/chunk-Y5RSQVGH.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +99 -452
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/intent-resolver-F7MQOTG7.mjs +38 -0
- package/dist/lib/node-esm/intent-resolver-F7MQOTG7.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/react-surface-RRXHEW4R.mjs +153 -0
- package/dist/lib/node-esm/react-surface-RRXHEW4R.mjs.map +7 -0
- package/dist/lib/node-esm/settings-E7P5FQ3F.mjs +29 -0
- package/dist/lib/node-esm/settings-E7P5FQ3F.mjs.map +7 -0
- package/dist/lib/node-esm/state-HXSOQNOV.mjs +38 -0
- package/dist/lib/node-esm/state-HXSOQNOV.mjs.map +7 -0
- package/dist/lib/node-esm/thread-CYEXBXTW.mjs +37 -0
- package/dist/lib/node-esm/thread-CYEXBXTW.mjs.map +7 -0
- package/dist/lib/node-esm/types/index.mjs +4 -4
- package/dist/types/src/MarkdownPlugin.d.ts +1 -3
- package/dist/types/src/MarkdownPlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-serializer.d.ts +4 -0
- package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +1 -0
- package/dist/types/src/capabilities/capabilities.d.ts +12 -0
- package/dist/types/src/capabilities/capabilities.d.ts.map +1 -0
- package/dist/types/src/capabilities/index.d.ts +16 -0
- package/dist/types/src/capabilities/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/intent-resolver.d.ts +4 -0
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-surface.d.ts +4 -0
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -0
- package/dist/types/src/capabilities/settings.d.ts +4 -0
- package/dist/types/src/capabilities/settings.d.ts.map +1 -0
- package/dist/types/src/capabilities/state.d.ts +11 -0
- package/dist/types/src/capabilities/state.d.ts.map +1 -0
- package/dist/types/src/capabilities/thread.d.ts +6 -0
- package/dist/types/src/capabilities/thread.d.ts.map +1 -0
- 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/MarkdownEditor.d.ts +15 -0
- package/dist/types/src/components/MarkdownEditor.d.ts.map +1 -1
- package/dist/types/src/components/MarkdownEditor.stories.d.ts.map +1 -1
- package/dist/types/src/components/Toolbar.stories.d.ts +2 -2
- package/dist/types/src/components/Toolbar.stories.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +1 -1
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/extensions.d.ts +4 -4
- package/dist/types/src/extensions.d.ts.map +1 -1
- package/dist/types/src/hooks/useSelectCurrentThread.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +2 -3
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts +1 -2
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +3 -0
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/index.d.ts +1 -1
- package/dist/types/src/types/index.d.ts.map +1 -1
- package/dist/types/src/types/schema.d.ts +75 -0
- package/dist/types/src/types/schema.d.ts.map +1 -0
- package/dist/types/src/types/types.d.ts +40 -35
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/src/util.d.ts +1 -5
- package/dist/types/src/util.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -0
- package/package.json +33 -37
- package/src/MarkdownPlugin.tsx +84 -283
- package/src/capabilities/app-graph-serializer.ts +50 -0
- package/src/capabilities/capabilities.ts +20 -0
- package/src/capabilities/index.ts +14 -0
- package/src/capabilities/intent-resolver.ts +27 -0
- package/src/capabilities/react-surface.tsx +73 -0
- package/src/capabilities/settings.ts +25 -0
- package/src/capabilities/state.ts +31 -0
- package/src/capabilities/thread.ts +34 -0
- package/src/components/MarkdownContainer.tsx +14 -10
- package/src/components/MarkdownEditor.stories.tsx +16 -5
- package/src/components/MarkdownEditor.tsx +87 -61
- package/src/components/Toolbar.stories.tsx +16 -22
- package/src/extensions.tsx +21 -19
- package/src/hooks/useSelectCurrentThread.tsx +17 -14
- package/src/index.ts +2 -5
- package/src/meta.ts +1 -1
- package/src/translations.ts +1 -0
- package/src/types/index.ts +1 -1
- package/src/types/{document.ts → schema.ts} +4 -7
- package/src/types/types.ts +36 -58
- package/src/util.tsx +5 -11
- package/dist/lib/browser/MarkdownContainer-6OPC5MKP.mjs.map +0 -7
- package/dist/lib/browser/chunk-4X6YX3KU.mjs.map +0 -7
- package/dist/lib/browser/chunk-CMSUKMPM.mjs +0 -41
- package/dist/lib/browser/chunk-CMSUKMPM.mjs.map +0 -7
- package/dist/lib/browser/chunk-TZN5FGB2.mjs.map +0 -7
- package/dist/lib/browser/meta.mjs +0 -9
- package/dist/lib/browser/meta.mjs.map +0 -7
- package/dist/lib/node/MarkdownContainer-6OKJOHTZ.cjs.map +0 -7
- package/dist/lib/node/chunk-KEPAM4JP.cjs.map +0 -7
- package/dist/lib/node/chunk-PHHIPRJC.cjs.map +0 -7
- package/dist/lib/node/chunk-YGMWZIIJ.cjs +0 -61
- package/dist/lib/node/chunk-YGMWZIIJ.cjs.map +0 -7
- package/dist/lib/node/meta.cjs.map +0 -7
- package/dist/lib/node-esm/MarkdownContainer-GBNSGROQ.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-BABK7FMW.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-ERJ52KN2.mjs +0 -42
- package/dist/lib/node-esm/chunk-ERJ52KN2.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-NUMUUCYF.mjs.map +0 -7
- package/dist/lib/node-esm/meta.mjs +0 -10
- package/dist/lib/node-esm/meta.mjs.map +0 -7
- package/dist/types/src/types/document.d.ts +0 -106
- package/dist/types/src/types/document.d.ts.map +0 -1
|
@@ -0,0 +1,51 @@
|
|
|
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 state_F26NQP7F_exports = {};
|
|
20
|
+
__export(state_F26NQP7F_exports, {
|
|
21
|
+
default: () => state_default
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(state_F26NQP7F_exports);
|
|
24
|
+
var import_chunk_G7WKHUGU = require("./chunk-G7WKHUGU.cjs");
|
|
25
|
+
var import_chunk_HTWAAR54 = require("./chunk-HTWAAR54.cjs");
|
|
26
|
+
var import_app_framework = require("@dxos/app-framework");
|
|
27
|
+
var import_local_storage = require("@dxos/local-storage");
|
|
28
|
+
var import_react_ui_editor = require("@dxos/react-ui-editor");
|
|
29
|
+
var state_default = (context) => {
|
|
30
|
+
const state = new import_local_storage.LocalStorageStore(import_chunk_HTWAAR54.MARKDOWN_PLUGIN, {
|
|
31
|
+
extensionProviders: [],
|
|
32
|
+
viewMode: {}
|
|
33
|
+
});
|
|
34
|
+
state.prop({
|
|
35
|
+
key: "viewMode",
|
|
36
|
+
type: import_local_storage.LocalStorageStore.json()
|
|
37
|
+
});
|
|
38
|
+
const editorState = (0, import_react_ui_editor.createEditorStateStore)(`${import_chunk_HTWAAR54.MARKDOWN_PLUGIN}/editor`);
|
|
39
|
+
const getViewMode = (id) => {
|
|
40
|
+
const defaultViewMode = context.requestCapability(import_app_framework.Capabilities.SettingsStore).getStore(import_chunk_HTWAAR54.MARKDOWN_PLUGIN).value.defaultViewMode;
|
|
41
|
+
return id && state.values.viewMode[id] || defaultViewMode;
|
|
42
|
+
};
|
|
43
|
+
const setViewMode = (id, viewMode) => state.values.viewMode[id] = viewMode;
|
|
44
|
+
return (0, import_app_framework.contributes)(import_chunk_G7WKHUGU.MarkdownCapabilities.State, {
|
|
45
|
+
state: state.values,
|
|
46
|
+
editorState,
|
|
47
|
+
getViewMode,
|
|
48
|
+
setViewMode
|
|
49
|
+
});
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=state-F26NQP7F.cjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/state.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes, type PluginsContext } from '@dxos/app-framework';\nimport { LocalStorageStore } from '@dxos/local-storage';\nimport { type EditorViewMode, createEditorStateStore } from '@dxos/react-ui-editor';\n\nimport { MarkdownCapabilities } from './capabilities';\nimport { MARKDOWN_PLUGIN } from '../meta';\nimport { type MarkdownPluginState, type MarkdownSettingsProps } from '../types';\n\nexport default (context: PluginsContext) => {\n const state = new LocalStorageStore<MarkdownPluginState>(MARKDOWN_PLUGIN, { extensionProviders: [], viewMode: {} });\n\n state.prop({ key: 'viewMode', type: LocalStorageStore.json<{ [key: string]: EditorViewMode }>() });\n\n // TODO(wittjosiah): Fold into state.\n const editorState = createEditorStateStore(`${MARKDOWN_PLUGIN}/editor`);\n\n const getViewMode = (id: string) => {\n const defaultViewMode = context\n .requestCapability(Capabilities.SettingsStore)\n .getStore<MarkdownSettingsProps>(MARKDOWN_PLUGIN)!.value.defaultViewMode;\n return (id && state.values.viewMode[id]) || defaultViewMode;\n };\n\n const setViewMode = (id: string, viewMode: EditorViewMode) => (state.values.viewMode[id] = viewMode);\n\n return contributes(MarkdownCapabilities.State, { state: state.values, editorState, getViewMode, setViewMode });\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;AAIA,2BAA+D;AAC/D,2BAAkC;AAClC,6BAA4D;AAM5D,IAAA,gBAAe,CAACA,YAAAA;AACd,QAAMC,QAAQ,IAAIC,uCAAuCC,uCAAiB;IAAEC,oBAAoB,CAAA;IAAIC,UAAU,CAAC;EAAE,CAAA;AAEjHJ,QAAMK,KAAK;IAAEC,KAAK;IAAYC,MAAMN,uCAAkBO,KAAI;EAAsC,CAAA;AAGhG,QAAMC,kBAAcC,+CAAuB,GAAGR,qCAAAA,SAAwB;AAEtE,QAAMS,cAAc,CAACC,OAAAA;AACnB,UAAMC,kBAAkBd,QACrBe,kBAAkBC,kCAAaC,aAAa,EAC5CC,SAAgCf,qCAAAA,EAAkBgB,MAAML;AAC3D,WAAQD,MAAMZ,MAAMmB,OAAOf,SAASQ,EAAAA,KAAQC;EAC9C;AAEA,QAAMO,cAAc,CAACR,IAAYR,aAA8BJ,MAAMmB,OAAOf,SAASQ,EAAAA,IAAMR;AAE3F,aAAOiB,kCAAYC,2CAAqBC,OAAO;IAAEvB,OAAOA,MAAMmB;IAAQV;IAAaE;IAAaS;EAAY,CAAA;AAC9G;",
|
|
6
|
+
"names": ["context", "state", "LocalStorageStore", "MARKDOWN_PLUGIN", "extensionProviders", "viewMode", "prop", "key", "type", "json", "editorState", "createEditorStateStore", "getViewMode", "id", "defaultViewMode", "requestCapability", "Capabilities", "SettingsStore", "getStore", "value", "values", "setViewMode", "contributes", "MarkdownCapabilities", "State"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
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 thread_THWQ67WS_exports = {};
|
|
20
|
+
__export(thread_THWQ67WS_exports, {
|
|
21
|
+
default: () => thread_default
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(thread_THWQ67WS_exports);
|
|
24
|
+
var import_chunk_34WFGSZU = require("./chunk-34WFGSZU.cjs");
|
|
25
|
+
var import_chunk_HTWAAR54 = require("./chunk-HTWAAR54.cjs");
|
|
26
|
+
var import_app_framework = require("@dxos/app-framework");
|
|
27
|
+
var import_plugin_space = require("@dxos/plugin-space");
|
|
28
|
+
var import_echo = require("@dxos/react-client/echo");
|
|
29
|
+
var thread_default = () => (0, import_app_framework.contributes)(import_plugin_space.ThreadCapabilities.Thread, {
|
|
30
|
+
predicate: (obj) => obj instanceof import_chunk_34WFGSZU.DocumentType,
|
|
31
|
+
createSort: (doc) => {
|
|
32
|
+
const accessor = doc.content.target ? (0, import_echo.createDocAccessor)(doc.content.target, [
|
|
33
|
+
"content"
|
|
34
|
+
]) : void 0;
|
|
35
|
+
if (!accessor) {
|
|
36
|
+
return (_) => 0;
|
|
37
|
+
}
|
|
38
|
+
const getStartPosition = (cursor) => {
|
|
39
|
+
const range = cursor ? (0, import_echo.getRangeFromCursor)(accessor, cursor) : void 0;
|
|
40
|
+
return range?.start ?? Number.MAX_SAFE_INTEGER;
|
|
41
|
+
};
|
|
42
|
+
return (anchorA, anchorB) => {
|
|
43
|
+
if (anchorA === void 0 || anchorB === void 0) {
|
|
44
|
+
return 0;
|
|
45
|
+
}
|
|
46
|
+
const posA = getStartPosition(anchorA);
|
|
47
|
+
const posB = getStartPosition(anchorB);
|
|
48
|
+
return posA - posB;
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
//# sourceMappingURL=thread-THWQ67WS.cjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/thread.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { contributes } from '@dxos/app-framework';\nimport { ThreadCapabilities } from '@dxos/plugin-space';\nimport { createDocAccessor, getRangeFromCursor } from '@dxos/react-client/echo';\n\nimport { DocumentType } from '../types';\n\nexport default () =>\n contributes(ThreadCapabilities.Thread, {\n predicate: (obj) => obj instanceof DocumentType,\n createSort: (doc: DocumentType) => {\n const accessor = doc.content.target ? createDocAccessor(doc.content.target, ['content']) : undefined;\n if (!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 return (anchorA: string | undefined, anchorB: string | undefined): number => {\n if (anchorA === undefined || anchorB === undefined) {\n return 0;\n }\n const posA = getStartPosition(anchorA);\n const posB = getStartPosition(anchorB);\n return posA - posB;\n };\n },\n });\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;AAIA,2BAA4B;AAC5B,0BAAmC;AACnC,kBAAsD;AAItD,IAAA,iBAAe,UACbA,kCAAYC,uCAAmBC,QAAQ;EACrCC,WAAW,CAACC,QAAQA,eAAeC;EACnCC,YAAY,CAACC,QAAAA;AACX,UAAMC,WAAWD,IAAIE,QAAQC,aAASC,+BAAkBJ,IAAIE,QAAQC,QAAQ;MAAC;KAAU,IAAIE;AAC3F,QAAI,CAACJ,UAAU;AACb,aAAO,CAACK,MAAM;IAChB;AAEA,UAAMC,mBAAmB,CAACC,WAAAA;AACxB,YAAMC,QAAQD,aAASE,gCAAmBT,UAAUO,MAAAA,IAAUH;AAC9D,aAAOI,OAAOE,SAASC,OAAOC;IAChC;AAEA,WAAO,CAACC,SAA6BC,YAAAA;AACnC,UAAID,YAAYT,UAAaU,YAAYV,QAAW;AAClD,eAAO;MACT;AACA,YAAMW,OAAOT,iBAAiBO,OAAAA;AAC9B,YAAMG,OAAOV,iBAAiBQ,OAAAA;AAC9B,aAAOC,OAAOC;IAChB;EACF;AACF,CAAA;",
|
|
6
|
+
"names": ["contributes", "ThreadCapabilities", "Thread", "predicate", "obj", "DocumentType", "createSort", "doc", "accessor", "content", "target", "createDocAccessor", "undefined", "_", "getStartPosition", "cursor", "range", "getRangeFromCursor", "start", "Number", "MAX_SAFE_INTEGER", "anchorA", "anchorB", "posA", "posB"]
|
|
7
|
+
}
|
|
@@ -18,19 +18,19 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
19
|
var types_exports = {};
|
|
20
20
|
__export(types_exports, {
|
|
21
|
-
DocumentType: () =>
|
|
22
|
-
MarkdownAction: () =>
|
|
23
|
-
|
|
24
|
-
isEditorModel: () =>
|
|
21
|
+
DocumentType: () => import_chunk_34WFGSZU.DocumentType,
|
|
22
|
+
MarkdownAction: () => import_chunk_34WFGSZU.MarkdownAction,
|
|
23
|
+
MarkdownSettingsSchema: () => import_chunk_34WFGSZU.MarkdownSettingsSchema,
|
|
24
|
+
isEditorModel: () => import_chunk_34WFGSZU.isEditorModel
|
|
25
25
|
});
|
|
26
26
|
module.exports = __toCommonJS(types_exports);
|
|
27
|
-
var
|
|
28
|
-
var
|
|
27
|
+
var import_chunk_34WFGSZU = require("../chunk-34WFGSZU.cjs");
|
|
28
|
+
var import_chunk_HTWAAR54 = require("../chunk-HTWAAR54.cjs");
|
|
29
29
|
// Annotate the CommonJS export names for ESM import in node:
|
|
30
30
|
0 && (module.exports = {
|
|
31
31
|
DocumentType,
|
|
32
32
|
MarkdownAction,
|
|
33
|
-
|
|
33
|
+
MarkdownSettingsSchema,
|
|
34
34
|
isEditorModel
|
|
35
35
|
});
|
|
36
36
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["index.cjs"],
|
|
4
|
-
"sourcesContent": ["import {\n DocumentType,\n MarkdownAction,\n
|
|
4
|
+
"sourcesContent": ["import {\n DocumentType,\n MarkdownAction,\n MarkdownSettingsSchema,\n isEditorModel\n} from \"../chunk-34WFGSZU.cjs\";\nimport \"../chunk-HTWAAR54.cjs\";\nexport {\n DocumentType,\n MarkdownAction,\n MarkdownSettingsSchema,\n isEditorModel\n};\n//# sourceMappingURL=index.cjs.map\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAKO;AACP,4BAAO;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -2,108 +2,110 @@ import { createRequire } from 'node:module';const require = createRequire(import
|
|
|
2
2
|
import {
|
|
3
3
|
getFallbackName,
|
|
4
4
|
setFallbackName
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-Y5RSQVGH.mjs";
|
|
6
6
|
import {
|
|
7
7
|
DocumentType
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-CDFNMFGT.mjs";
|
|
9
|
+
import {
|
|
10
|
+
MarkdownCapabilities
|
|
11
|
+
} from "./chunk-2GHK262V.mjs";
|
|
9
12
|
import {
|
|
10
13
|
MARKDOWN_PLUGIN
|
|
11
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-AOKWCL3O.mjs";
|
|
12
15
|
|
|
13
16
|
// packages/plugins/plugin-markdown/src/components/MarkdownContainer.tsx
|
|
14
|
-
import React3, { useEffect as useEffect2, useMemo as
|
|
15
|
-
import {
|
|
17
|
+
import React3, { useEffect as useEffect2, useMemo as useMemo4 } from "react";
|
|
18
|
+
import { Capabilities, useCapabilities as useCapabilities2 } from "@dxos/app-framework";
|
|
16
19
|
import { fullyQualifiedId as fullyQualifiedId2, getSpace as getSpace2 } from "@dxos/react-client/echo";
|
|
17
20
|
|
|
18
21
|
// packages/plugins/plugin-markdown/src/components/MarkdownEditor.tsx
|
|
19
22
|
import { openSearchPanel } from "@codemirror/search";
|
|
20
|
-
import React, { useMemo, useEffect, useCallback
|
|
21
|
-
import {
|
|
23
|
+
import React, { useMemo as useMemo2, useEffect, useCallback } from "react";
|
|
24
|
+
import { useDropzone } from "react-dropzone";
|
|
25
|
+
import { createIntent, LayoutAction as LayoutAction2, NavigationAction, useIntentDispatcher } from "@dxos/app-framework";
|
|
22
26
|
import { useThemeContext, useTranslation } from "@dxos/react-ui";
|
|
23
|
-
import {
|
|
24
|
-
import { Toolbar, createBasicExtensions, createMarkdownExtensions, createThemeExtensions, dropFile, editorContent, editorGutter, processAction, useActionHandler, useCommentState, useCommentClickListener, useFormattingState, useTextEditor } from "@dxos/react-ui-editor";
|
|
27
|
+
import { EditorToolbar, createBasicExtensions, createMarkdownExtensions, createThemeExtensions, dropFile, editorContent, editorGutter, processEditorPayload, useActionHandler, useCommentState, useCommentClickListener, useFormattingState, useTextEditor, stackItemContentEditorClassNames, useEditorToolbarState, createEditorAction } from "@dxos/react-ui-editor";
|
|
25
28
|
import { StackItem } from "@dxos/react-ui-stack";
|
|
26
|
-
import { mx, textBlockWidth } from "@dxos/react-ui-theme";
|
|
27
29
|
import { isNotFalsy, nonNullable } from "@dxos/util";
|
|
28
30
|
|
|
29
31
|
// packages/plugins/plugin-markdown/src/hooks/useSelectCurrentThread.tsx
|
|
30
32
|
import { EditorView } from "@codemirror/view";
|
|
31
|
-
import {
|
|
32
|
-
import { LayoutAction, useIntentResolver } from "@dxos/app-framework";
|
|
33
|
+
import { useMemo } from "react";
|
|
34
|
+
import { createResolver, LayoutAction, useIntentResolver } from "@dxos/app-framework";
|
|
35
|
+
import { invariant } from "@dxos/invariant";
|
|
33
36
|
import { Cursor, setSelection } from "@dxos/react-ui-editor";
|
|
37
|
+
var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-markdown/src/hooks/useSelectCurrentThread.tsx";
|
|
34
38
|
var useSelectCurrentThread = (editorView, documentId) => {
|
|
35
|
-
const
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
return {
|
|
62
|
-
data: true
|
|
63
|
-
};
|
|
64
|
-
}
|
|
39
|
+
const scrollIntoViewResolver = useMemo(() => createResolver(LayoutAction.ScrollIntoView, ({ cursor }) => {
|
|
40
|
+
invariant(editorView, "Editor view is not defined.", {
|
|
41
|
+
F: __dxlog_file,
|
|
42
|
+
L: 23,
|
|
43
|
+
S: void 0,
|
|
44
|
+
A: [
|
|
45
|
+
"editorView",
|
|
46
|
+
"'Editor view is not defined.'"
|
|
47
|
+
]
|
|
48
|
+
});
|
|
49
|
+
const range = Cursor.getRangeFromCursor(editorView.state, cursor);
|
|
50
|
+
if (range) {
|
|
51
|
+
const selection = editorView.state.selection.main.from !== range.from ? {
|
|
52
|
+
anchor: range.from
|
|
53
|
+
} : void 0;
|
|
54
|
+
const effects = [
|
|
55
|
+
// NOTE: This does not use the DOM scrollIntoView function.
|
|
56
|
+
EditorView.scrollIntoView(range.from, {
|
|
57
|
+
y: "start",
|
|
58
|
+
yMargin: 96
|
|
59
|
+
})
|
|
60
|
+
];
|
|
61
|
+
if (selection) {
|
|
62
|
+
effects.push(setSelection.of({
|
|
63
|
+
current: documentId
|
|
64
|
+
}));
|
|
65
65
|
}
|
|
66
|
+
editorView.dispatch({
|
|
67
|
+
effects,
|
|
68
|
+
selection: selection ? {
|
|
69
|
+
anchor: range.from
|
|
70
|
+
} : void 0
|
|
71
|
+
});
|
|
66
72
|
}
|
|
67
|
-
},
|
|
73
|
+
}, {
|
|
74
|
+
disposition: "hoist",
|
|
75
|
+
filter: (data) => !!editorView && data.id === documentId && !!data.cursor
|
|
76
|
+
}), [
|
|
68
77
|
documentId,
|
|
69
78
|
editorView
|
|
70
79
|
]);
|
|
71
|
-
useIntentResolver(MARKDOWN_PLUGIN,
|
|
80
|
+
useIntentResolver(MARKDOWN_PLUGIN, scrollIntoViewResolver);
|
|
72
81
|
};
|
|
73
82
|
|
|
74
83
|
// packages/plugins/plugin-markdown/src/components/MarkdownEditor.tsx
|
|
75
|
-
var DEFAULT_VIEW_MODE = "preview";
|
|
76
84
|
var MarkdownEditor = ({ id, role = "article", initialValue, extensions, extensionProviders, scrollPastEnd, toolbar, viewMode, editorStateStore, onFileUpload, onViewModeChange }) => {
|
|
77
85
|
const { t } = useTranslation(MARKDOWN_PLUGIN);
|
|
78
86
|
const { themeMode } = useThemeContext();
|
|
79
|
-
const dispatch = useIntentDispatcher();
|
|
80
|
-
const
|
|
81
|
-
|
|
82
|
-
|
|
87
|
+
const { dispatchPromise: dispatch } = useIntentDispatcher();
|
|
88
|
+
const toolbarState = useEditorToolbarState({
|
|
89
|
+
viewMode
|
|
90
|
+
});
|
|
91
|
+
const formattingObserver = useFormattingState(toolbarState);
|
|
92
|
+
const { scrollTo, selection } = useMemo2(() => editorStateStore?.getState(id) ?? {}, [
|
|
83
93
|
id
|
|
84
94
|
]);
|
|
85
|
-
const providerExtensions =
|
|
95
|
+
const providerExtensions = useMemo2(() => extensionProviders?.flatMap((provider) => provider({})).filter(nonNullable), [
|
|
86
96
|
extensionProviders
|
|
87
97
|
]);
|
|
88
|
-
const
|
|
89
|
-
const onCommentClick =
|
|
90
|
-
|
|
91
|
-
{
|
|
92
|
-
|
|
93
|
-
data: {
|
|
94
|
-
activeParts: {
|
|
95
|
-
complementary: "comments"
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
},
|
|
99
|
-
{
|
|
100
|
-
action: LayoutAction2.SET_LAYOUT,
|
|
101
|
-
data: {
|
|
102
|
-
element: "complementary",
|
|
103
|
-
state: true
|
|
104
|
-
}
|
|
98
|
+
const commentObserver = useCommentState(toolbarState);
|
|
99
|
+
const onCommentClick = useCallback(async () => {
|
|
100
|
+
await dispatch(createIntent(NavigationAction.Open, {
|
|
101
|
+
activeParts: {
|
|
102
|
+
complementary: "comments"
|
|
105
103
|
}
|
|
106
|
-
|
|
104
|
+
}));
|
|
105
|
+
await dispatch(createIntent(LayoutAction2.SetLayout, {
|
|
106
|
+
element: "complementary",
|
|
107
|
+
state: true
|
|
108
|
+
}));
|
|
107
109
|
}, [
|
|
108
110
|
dispatch
|
|
109
111
|
]);
|
|
@@ -112,7 +114,7 @@ var MarkdownEditor = ({ id, role = "article", initialValue, extensions, extensio
|
|
|
112
114
|
const file = files[0];
|
|
113
115
|
const info = file && onFileUpload ? await onFileUpload(file) : void 0;
|
|
114
116
|
if (info) {
|
|
115
|
-
|
|
117
|
+
processEditorPayload(view, {
|
|
116
118
|
type: "image",
|
|
117
119
|
data: info.url
|
|
118
120
|
});
|
|
@@ -166,9 +168,44 @@ var MarkdownEditor = ({ id, role = "article", initialValue, extensions, extensio
|
|
|
166
168
|
]);
|
|
167
169
|
useTest(editorView);
|
|
168
170
|
useSelectCurrentThread(editorView, id);
|
|
171
|
+
const { acceptedFiles, getInputProps, open } = useDropzone({
|
|
172
|
+
multiple: false,
|
|
173
|
+
noDrag: true,
|
|
174
|
+
accept: {
|
|
175
|
+
"image/*": [
|
|
176
|
+
".jpg",
|
|
177
|
+
".jpeg",
|
|
178
|
+
".png",
|
|
179
|
+
".gif"
|
|
180
|
+
]
|
|
181
|
+
}
|
|
182
|
+
});
|
|
183
|
+
useEffect(() => {
|
|
184
|
+
if (editorView && onFileUpload && acceptedFiles.length) {
|
|
185
|
+
requestAnimationFrame(async () => {
|
|
186
|
+
const f = acceptedFiles[0];
|
|
187
|
+
const file = new File([
|
|
188
|
+
f
|
|
189
|
+
], f.name, {
|
|
190
|
+
type: f.type,
|
|
191
|
+
lastModified: f.lastModified
|
|
192
|
+
});
|
|
193
|
+
const info = await onFileUpload(file);
|
|
194
|
+
if (info) {
|
|
195
|
+
processEditorPayload(editorView, {
|
|
196
|
+
type: "image",
|
|
197
|
+
data: info.url
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
}, [
|
|
203
|
+
acceptedFiles,
|
|
204
|
+
editorView
|
|
205
|
+
]);
|
|
169
206
|
const handleToolbarAction = useActionHandler(editorView);
|
|
170
|
-
const handleAction = (action) => {
|
|
171
|
-
switch (action.type) {
|
|
207
|
+
const handleAction = useCallback((action) => {
|
|
208
|
+
switch (action.properties.type) {
|
|
172
209
|
case "search": {
|
|
173
210
|
if (editorView) {
|
|
174
211
|
openSearchPanel(editorView);
|
|
@@ -176,37 +213,34 @@ var MarkdownEditor = ({ id, role = "article", initialValue, extensions, extensio
|
|
|
176
213
|
return;
|
|
177
214
|
}
|
|
178
215
|
case "view-mode": {
|
|
179
|
-
onViewModeChange?.(id, action.data);
|
|
216
|
+
onViewModeChange?.(id, action.properties.data);
|
|
217
|
+
return;
|
|
218
|
+
}
|
|
219
|
+
case "image": {
|
|
220
|
+
open();
|
|
180
221
|
return;
|
|
181
222
|
}
|
|
182
223
|
}
|
|
183
224
|
handleToolbarAction?.(action);
|
|
184
|
-
}
|
|
225
|
+
}, [
|
|
226
|
+
editorView,
|
|
227
|
+
onViewModeChange,
|
|
228
|
+
open
|
|
229
|
+
]);
|
|
185
230
|
return /* @__PURE__ */ React.createElement(StackItem.Content, {
|
|
186
|
-
toolbar
|
|
187
|
-
}, toolbar && /* @__PURE__ */ React.createElement(
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
textBlockWidth,
|
|
193
|
-
!hasAttention && "opacity-20"
|
|
194
|
-
],
|
|
195
|
-
state: formattingState && {
|
|
196
|
-
...formattingState,
|
|
197
|
-
...commentsState
|
|
198
|
-
},
|
|
231
|
+
toolbar: !!toolbar
|
|
232
|
+
}, toolbar && /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(EditorToolbar, {
|
|
233
|
+
attendableId: id,
|
|
234
|
+
role,
|
|
235
|
+
state: toolbarState,
|
|
236
|
+
customActions: onFileUpload ? createUploadAction : void 0,
|
|
199
237
|
onAction: handleAction
|
|
200
|
-
}, /* @__PURE__ */ React.createElement(
|
|
201
|
-
onUpload: onFileUpload
|
|
202
|
-
}), /* @__PURE__ */ React.createElement(Toolbar.Separator, null), /* @__PURE__ */ React.createElement(Toolbar.View, {
|
|
203
|
-
mode: viewMode ?? DEFAULT_VIEW_MODE
|
|
204
|
-
}), /* @__PURE__ */ React.createElement(Toolbar.Actions, null))), /* @__PURE__ */ React.createElement("div", {
|
|
238
|
+
}), /* @__PURE__ */ React.createElement("input", getInputProps())), /* @__PURE__ */ React.createElement("div", {
|
|
205
239
|
role: "none",
|
|
206
240
|
ref: parentRef,
|
|
207
241
|
"data-testid": "composer.markdownRoot",
|
|
208
242
|
"data-toolbar": toolbar ? "enabled" : "disabled",
|
|
209
|
-
className:
|
|
243
|
+
className: stackItemContentEditorClassNames(role),
|
|
210
244
|
...focusAttributes
|
|
211
245
|
}));
|
|
212
246
|
};
|
|
@@ -220,24 +254,38 @@ var useTest = (view) => {
|
|
|
220
254
|
view
|
|
221
255
|
]);
|
|
222
256
|
};
|
|
257
|
+
var createUploadAction = () => ({
|
|
258
|
+
nodes: [
|
|
259
|
+
createEditorAction({
|
|
260
|
+
type: "image",
|
|
261
|
+
testId: "editor.toolbar.image"
|
|
262
|
+
}, "ph--image-square--regular", "upload image label")
|
|
263
|
+
],
|
|
264
|
+
edges: [
|
|
265
|
+
{
|
|
266
|
+
source: "root",
|
|
267
|
+
target: "image"
|
|
268
|
+
}
|
|
269
|
+
]
|
|
270
|
+
});
|
|
223
271
|
|
|
224
272
|
// packages/plugins/plugin-markdown/src/extensions.tsx
|
|
225
|
-
import React2, { useMemo as
|
|
273
|
+
import React2, { useMemo as useMemo3 } from "react";
|
|
226
274
|
import { createRoot } from "react-dom/client";
|
|
227
|
-
import { NavigationAction as NavigationAction2, useIntentDispatcher as useIntentDispatcher2 } from "@dxos/app-framework";
|
|
228
|
-
import { invariant } from "@dxos/invariant";
|
|
275
|
+
import { createIntent as createIntent2, NavigationAction as NavigationAction2, useCapabilities, useIntentDispatcher as useIntentDispatcher2 } from "@dxos/app-framework";
|
|
276
|
+
import { invariant as invariant2 } from "@dxos/invariant";
|
|
229
277
|
import { createDocAccessor, fullyQualifiedId, getSpace } from "@dxos/react-client/echo";
|
|
230
278
|
import { useIdentity } from "@dxos/react-client/halo";
|
|
231
279
|
import { Icon, ThemeProvider } from "@dxos/react-ui";
|
|
232
280
|
import { InputModeExtensions, createDataExtensions, autocomplete, decorateMarkdown, folding, formattingKeymap, linkTooltip, listener, selectionState, typewriter } from "@dxos/react-ui-editor";
|
|
233
281
|
import { defaultTx } from "@dxos/react-ui-theme";
|
|
234
282
|
import { isNotFalsy as isNotFalsy2 } from "@dxos/util";
|
|
235
|
-
var
|
|
236
|
-
var useExtensions = ({ document, settings, viewMode, editorStateStore
|
|
237
|
-
const dispatch = useIntentDispatcher2();
|
|
283
|
+
var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-markdown/src/extensions.tsx";
|
|
284
|
+
var useExtensions = ({ document, settings, viewMode, editorStateStore }) => {
|
|
285
|
+
const { dispatchPromise: dispatch } = useIntentDispatcher2();
|
|
238
286
|
const identity = useIdentity();
|
|
239
287
|
const space = getSpace(document);
|
|
240
|
-
const baseExtensions =
|
|
288
|
+
const baseExtensions = useMemo3(() => createBaseExtensions({
|
|
241
289
|
document,
|
|
242
290
|
settings,
|
|
243
291
|
viewMode,
|
|
@@ -253,7 +301,8 @@ var useExtensions = ({ document, settings, viewMode, editorStateStore, extension
|
|
|
253
301
|
settings.debug,
|
|
254
302
|
settings.typewriter
|
|
255
303
|
]);
|
|
256
|
-
const
|
|
304
|
+
const extensionProviders = useCapabilities(MarkdownCapabilities.Extensions);
|
|
305
|
+
const pluginExtensions = useMemo3(() => extensionProviders.flat().reduce((acc, provider) => {
|
|
257
306
|
const extension = typeof provider === "function" ? provider({
|
|
258
307
|
document
|
|
259
308
|
}) : provider;
|
|
@@ -265,11 +314,11 @@ var useExtensions = ({ document, settings, viewMode, editorStateStore, extension
|
|
|
265
314
|
extensionProviders,
|
|
266
315
|
document
|
|
267
316
|
]);
|
|
268
|
-
return
|
|
317
|
+
return useMemo3(() => [
|
|
269
318
|
// NOTE: Data extensions must be first so that automerge is updated before other extensions compute their state.
|
|
270
319
|
document && createDataExtensions({
|
|
271
320
|
id: document.id,
|
|
272
|
-
text: document.content && createDocAccessor(document.content, [
|
|
321
|
+
text: document.content.target && createDocAccessor(document.content.target, [
|
|
273
322
|
"content"
|
|
274
323
|
]),
|
|
275
324
|
space,
|
|
@@ -285,7 +334,7 @@ var useExtensions = ({ document, settings, viewMode, editorStateStore, extension
|
|
|
285
334
|
baseExtensions,
|
|
286
335
|
pluginExtensions,
|
|
287
336
|
document,
|
|
288
|
-
document?.content,
|
|
337
|
+
document?.content?.target,
|
|
289
338
|
space,
|
|
290
339
|
identity
|
|
291
340
|
]);
|
|
@@ -305,15 +354,12 @@ var createBaseExtensions = ({ document, dispatch, settings, query, viewMode }) =
|
|
|
305
354
|
} : void 0,
|
|
306
355
|
// TODO(wittjosiah): For internal links, consider ignoring the link text and rendering the label of the object being linked to.
|
|
307
356
|
renderLinkButton: dispatch && document ? onRenderLink((id) => {
|
|
308
|
-
void dispatch({
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
scrollIntoView: true
|
|
315
|
-
}
|
|
316
|
-
});
|
|
357
|
+
void dispatch(createIntent2(NavigationAction2.AddToActive, {
|
|
358
|
+
id,
|
|
359
|
+
part: "main",
|
|
360
|
+
pivotId: fullyQualifiedId(document),
|
|
361
|
+
scrollIntoView: true
|
|
362
|
+
}));
|
|
317
363
|
}) : void 0
|
|
318
364
|
}),
|
|
319
365
|
linkTooltip(renderLinkTooltip)
|
|
@@ -350,9 +396,9 @@ var onRenderLink = (onSelectObject) => (el, url) => {
|
|
|
350
396
|
const options = isInternal ? {
|
|
351
397
|
onClick: () => {
|
|
352
398
|
const qualifiedId = url.split("/").at(-1);
|
|
353
|
-
|
|
354
|
-
F:
|
|
355
|
-
L:
|
|
399
|
+
invariant2(qualifiedId, "Invalid link format.", {
|
|
400
|
+
F: __dxlog_file2,
|
|
401
|
+
L: 217,
|
|
356
402
|
S: void 0,
|
|
357
403
|
A: [
|
|
358
404
|
"qualifiedId",
|
|
@@ -396,11 +442,10 @@ var renderRoot = (root, node) => {
|
|
|
396
442
|
};
|
|
397
443
|
|
|
398
444
|
// packages/plugins/plugin-markdown/src/components/MarkdownContainer.tsx
|
|
399
|
-
var MarkdownContainer = ({ id, role, object,
|
|
445
|
+
var MarkdownContainer = ({ id, role, object, settings, viewMode, editorStateStore, onViewModeChange }) => {
|
|
400
446
|
const scrollPastEnd = role === "article";
|
|
401
447
|
const doc = object instanceof DocumentType ? object : void 0;
|
|
402
448
|
const extensions = useExtensions({
|
|
403
|
-
extensionProviders,
|
|
404
449
|
document: doc,
|
|
405
450
|
settings,
|
|
406
451
|
viewMode,
|
|
@@ -434,26 +479,30 @@ var MarkdownContainer = ({ id, role, object, extensionProviders, settings, viewM
|
|
|
434
479
|
var DocumentEditor = ({ id, document: doc, settings, viewMode, ...props }) => {
|
|
435
480
|
const space = getSpace2(doc);
|
|
436
481
|
useEffect2(() => {
|
|
437
|
-
if (
|
|
438
|
-
|
|
482
|
+
if (typeof doc.fallbackName === "string") {
|
|
483
|
+
return;
|
|
484
|
+
}
|
|
485
|
+
const fallbackName = doc.content?.target?.content ? getFallbackName(doc.content.target.content) : void 0;
|
|
486
|
+
if (fallbackName) {
|
|
487
|
+
doc.fallbackName = fallbackName;
|
|
439
488
|
}
|
|
440
489
|
}, [
|
|
441
490
|
doc,
|
|
442
491
|
doc.content
|
|
443
492
|
]);
|
|
444
|
-
const
|
|
445
|
-
const handleFileUpload =
|
|
446
|
-
if (space === void 0 ||
|
|
493
|
+
const [upload] = useCapabilities2(Capabilities.FileUploader);
|
|
494
|
+
const handleFileUpload = useMemo4(() => {
|
|
495
|
+
if (space === void 0 || upload === void 0) {
|
|
447
496
|
return void 0;
|
|
448
497
|
}
|
|
449
|
-
return async (file) =>
|
|
498
|
+
return async (file) => upload(file, space);
|
|
450
499
|
}, [
|
|
451
500
|
space,
|
|
452
|
-
|
|
501
|
+
upload
|
|
453
502
|
]);
|
|
454
503
|
return /* @__PURE__ */ React3.createElement(MarkdownEditor, {
|
|
455
504
|
id,
|
|
456
|
-
initialValue: doc.content?.content,
|
|
505
|
+
initialValue: doc.content?.target?.content,
|
|
457
506
|
viewMode,
|
|
458
507
|
toolbar: settings.toolbar,
|
|
459
508
|
inputMode: settings.editorInputMode,
|
|
@@ -466,4 +515,4 @@ export {
|
|
|
466
515
|
DocumentEditor,
|
|
467
516
|
MarkdownContainer_default as default
|
|
468
517
|
};
|
|
469
|
-
//# sourceMappingURL=MarkdownContainer-
|
|
518
|
+
//# sourceMappingURL=MarkdownContainer-3ZHQTTMQ.mjs.map
|