@dxos/plugin-markdown 0.8.3-main.672df60 → 0.8.3-staging.0fa589b

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.
Files changed (159) hide show
  1. package/dist/lib/browser/{MarkdownContainer-DGPA7SEG.mjs → MarkdownContainer-EFWQ6DHD.mjs} +231 -49
  2. package/dist/lib/browser/MarkdownContainer-EFWQ6DHD.mjs.map +7 -0
  3. package/dist/lib/browser/{MarkdownPreview-KQN2TGK6.mjs → MarkdownPreview-F4PYFW5L.mjs} +8 -8
  4. package/dist/lib/browser/MarkdownPreview-F4PYFW5L.mjs.map +7 -0
  5. package/dist/lib/browser/{anchor-sort-VS4OZVPP.mjs → anchor-sort-BMAN2ABT.mjs} +4 -4
  6. package/dist/lib/browser/anchor-sort-BMAN2ABT.mjs.map +7 -0
  7. package/dist/lib/browser/{app-graph-serializer-V6RLEHVY.mjs → app-graph-serializer-EI6TEHRQ.mjs} +7 -5
  8. package/dist/lib/browser/app-graph-serializer-EI6TEHRQ.mjs.map +7 -0
  9. package/dist/lib/browser/{artifact-definition-5NAODQLG.mjs → artifact-definition-FQ2R6KPT.mjs} +6 -6
  10. package/dist/lib/browser/artifact-definition-FQ2R6KPT.mjs.map +7 -0
  11. package/dist/lib/browser/{chunk-OTOPAFWC.mjs → chunk-354IBM5X.mjs} +7 -7
  12. package/dist/lib/browser/{chunk-C5RABVIX.mjs → chunk-D767LUGU.mjs} +7 -3
  13. package/dist/lib/browser/chunk-D767LUGU.mjs.map +7 -0
  14. package/dist/lib/browser/{chunk-77NGW7EO.mjs → chunk-LXSRQPEP.mjs} +9 -9
  15. package/dist/lib/browser/chunk-LXSRQPEP.mjs.map +7 -0
  16. package/dist/lib/browser/{chunk-ECSM56YC.mjs → chunk-N2D26K6W.mjs} +4 -5
  17. package/dist/lib/browser/chunk-N2D26K6W.mjs.map +7 -0
  18. package/dist/lib/browser/index.mjs +7 -8
  19. package/dist/lib/browser/index.mjs.map +3 -3
  20. package/dist/lib/browser/{intent-resolver-4GDYST4Y.mjs → intent-resolver-6ZOABX2J.mjs} +6 -7
  21. package/dist/lib/browser/intent-resolver-6ZOABX2J.mjs.map +7 -0
  22. package/dist/lib/browser/meta.json +1 -1
  23. package/dist/lib/browser/{react-surface-DM6B4UUJ.mjs → react-surface-4B5ELMEW.mjs} +14 -9
  24. package/dist/lib/browser/react-surface-4B5ELMEW.mjs.map +7 -0
  25. package/dist/lib/browser/{settings-W5CK4PXP.mjs → settings-PLH54VC7.mjs} +4 -4
  26. package/dist/lib/browser/settings-PLH54VC7.mjs.map +7 -0
  27. package/dist/lib/browser/types/index.mjs +1 -1
  28. package/dist/lib/node/{MarkdownContainer-BZK66EQD.cjs → MarkdownContainer-KYGUEZIL.cjs} +277 -95
  29. package/dist/lib/node/MarkdownContainer-KYGUEZIL.cjs.map +7 -0
  30. package/dist/lib/node/{MarkdownPreview-H7FFIWJH.cjs → MarkdownPreview-GCJJCXY6.cjs} +17 -17
  31. package/dist/lib/node/MarkdownPreview-GCJJCXY6.cjs.map +7 -0
  32. package/dist/lib/node/{anchor-sort-NHVF23EU.cjs → anchor-sort-V3T4SFFI.cjs} +12 -12
  33. package/dist/lib/node/anchor-sort-V3T4SFFI.cjs.map +7 -0
  34. package/dist/lib/node/{app-graph-serializer-CLALIYN3.cjs → app-graph-serializer-E6BXEDEL.cjs} +14 -12
  35. package/dist/lib/node/app-graph-serializer-E6BXEDEL.cjs.map +7 -0
  36. package/dist/lib/node/{artifact-definition-VEAHK7BX.cjs → artifact-definition-U27MH5SC.cjs} +16 -16
  37. package/dist/lib/node/artifact-definition-U27MH5SC.cjs.map +7 -0
  38. package/dist/lib/node/{chunk-RQS4KBMG.cjs → chunk-3HHV4MM6.cjs} +6 -7
  39. package/dist/lib/node/chunk-3HHV4MM6.cjs.map +7 -0
  40. package/dist/lib/node/{chunk-G7RBJX22.cjs → chunk-CJLYFGPI.cjs} +12 -12
  41. package/dist/lib/node/chunk-CJLYFGPI.cjs.map +7 -0
  42. package/dist/lib/node/{chunk-BBDDZLQH.cjs → chunk-FU3XZZCO.cjs} +10 -10
  43. package/dist/lib/node/{chunk-ZDTL47I7.cjs → chunk-LQAC5HL7.cjs} +10 -6
  44. package/dist/lib/node/chunk-LQAC5HL7.cjs.map +7 -0
  45. package/dist/lib/node/index.cjs +26 -27
  46. package/dist/lib/node/index.cjs.map +3 -3
  47. package/dist/lib/node/{intent-resolver-AUZVK3NZ.cjs → intent-resolver-OEFLRNEJ.cjs} +14 -15
  48. package/dist/lib/node/intent-resolver-OEFLRNEJ.cjs.map +7 -0
  49. package/dist/lib/node/meta.json +1 -1
  50. package/dist/lib/node/{react-surface-QBW4FFXF.cjs → react-surface-456HQ4KZ.cjs} +21 -16
  51. package/dist/lib/node/react-surface-456HQ4KZ.cjs.map +7 -0
  52. package/dist/lib/node/{settings-IRKU3WPM.cjs → settings-E3NUTXJ4.cjs} +7 -7
  53. package/dist/lib/node/settings-E3NUTXJ4.cjs.map +7 -0
  54. package/dist/lib/node/types/index.cjs +7 -7
  55. package/dist/lib/node/types/index.cjs.map +1 -1
  56. package/dist/lib/node-esm/{MarkdownContainer-2DYVQ6RC.mjs → MarkdownContainer-O3SGMH4G.mjs} +231 -49
  57. package/dist/lib/node-esm/MarkdownContainer-O3SGMH4G.mjs.map +7 -0
  58. package/dist/lib/node-esm/{MarkdownPreview-JUIXYYKF.mjs → MarkdownPreview-KFDRV4GC.mjs} +8 -8
  59. package/dist/lib/node-esm/MarkdownPreview-KFDRV4GC.mjs.map +7 -0
  60. package/dist/lib/node-esm/{anchor-sort-G2HLCYFK.mjs → anchor-sort-BXL7BE67.mjs} +4 -4
  61. package/dist/lib/node-esm/anchor-sort-BXL7BE67.mjs.map +7 -0
  62. package/dist/lib/node-esm/{app-graph-serializer-C3RNTQGM.mjs → app-graph-serializer-F7DGNF3G.mjs} +7 -5
  63. package/dist/lib/node-esm/app-graph-serializer-F7DGNF3G.mjs.map +7 -0
  64. package/dist/lib/node-esm/{artifact-definition-7TIJW2CO.mjs → artifact-definition-NQOHB6S5.mjs} +6 -6
  65. package/dist/lib/node-esm/artifact-definition-NQOHB6S5.mjs.map +7 -0
  66. package/dist/lib/node-esm/{chunk-TCFJNUAE.mjs → chunk-BWDDFDJY.mjs} +7 -3
  67. package/dist/lib/node-esm/chunk-BWDDFDJY.mjs.map +7 -0
  68. package/dist/lib/node-esm/{chunk-6RPARLIK.mjs → chunk-K26TX5V4.mjs} +9 -9
  69. package/dist/lib/node-esm/chunk-K26TX5V4.mjs.map +7 -0
  70. package/dist/lib/node-esm/{chunk-NCMPVEXO.mjs → chunk-T2Y2BT53.mjs} +4 -5
  71. package/dist/lib/node-esm/chunk-T2Y2BT53.mjs.map +7 -0
  72. package/dist/lib/node-esm/{chunk-KK7LP3UQ.mjs → chunk-YOABAQ7A.mjs} +7 -7
  73. package/dist/lib/node-esm/index.mjs +7 -8
  74. package/dist/lib/node-esm/index.mjs.map +3 -3
  75. package/dist/lib/node-esm/{intent-resolver-FTNXUNI2.mjs → intent-resolver-CLMSVF2K.mjs} +6 -7
  76. package/dist/lib/node-esm/intent-resolver-CLMSVF2K.mjs.map +7 -0
  77. package/dist/lib/node-esm/meta.json +1 -1
  78. package/dist/lib/node-esm/{react-surface-A4VAOQG6.mjs → react-surface-YHFOQTVO.mjs} +14 -9
  79. package/dist/lib/node-esm/react-surface-YHFOQTVO.mjs.map +7 -0
  80. package/dist/lib/node-esm/{settings-MK7D7LHQ.mjs → settings-SIY33P3F.mjs} +4 -4
  81. package/dist/lib/node-esm/settings-SIY33P3F.mjs.map +7 -0
  82. package/dist/lib/node-esm/types/index.mjs +1 -1
  83. package/dist/types/src/MarkdownPlugin.d.ts.map +1 -1
  84. package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +1 -1
  85. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  86. package/dist/types/src/components/MarkdownContainer.d.ts +1 -1
  87. package/dist/types/src/components/MarkdownContainer.d.ts.map +1 -1
  88. package/dist/types/src/components/MarkdownContainer.stories.d.ts +9 -0
  89. package/dist/types/src/components/MarkdownContainer.stories.d.ts.map +1 -0
  90. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts +4 -3
  91. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts.map +1 -1
  92. package/dist/types/src/components/MarkdownPreview/MarkdownPreview.stories.d.ts +3 -9
  93. package/dist/types/src/components/MarkdownPreview/MarkdownPreview.stories.d.ts.map +1 -1
  94. package/dist/types/src/components/Suggestions.stories.d.ts.map +1 -1
  95. package/dist/types/src/extensions.d.ts +3 -2
  96. package/dist/types/src/extensions.d.ts.map +1 -1
  97. package/dist/types/src/translations.d.ts +52 -2
  98. package/dist/types/src/translations.d.ts.map +1 -1
  99. package/dist/types/src/types/schema.d.ts +11 -14
  100. package/dist/types/src/types/schema.d.ts.map +1 -1
  101. package/dist/types/src/types/types.d.ts +5 -6
  102. package/dist/types/src/types/types.d.ts.map +1 -1
  103. package/dist/types/src/util.d.ts.map +1 -1
  104. package/package.json +38 -38
  105. package/src/MarkdownPlugin.tsx +3 -5
  106. package/src/capabilities/anchor-sort.ts +2 -2
  107. package/src/capabilities/app-graph-serializer.ts +5 -3
  108. package/src/capabilities/artifact-definition.ts +3 -3
  109. package/src/capabilities/intent-resolver.ts +4 -5
  110. package/src/capabilities/react-surface.tsx +5 -5
  111. package/src/capabilities/settings.ts +2 -2
  112. package/src/components/MarkdownContainer.stories.tsx +103 -0
  113. package/src/components/MarkdownContainer.tsx +149 -52
  114. package/src/components/MarkdownEditor/MarkdownEditor.stories.tsx +1 -1
  115. package/src/components/MarkdownEditor/MarkdownEditor.tsx +215 -139
  116. package/src/components/MarkdownPreview/MarkdownPreview.stories.tsx +8 -7
  117. package/src/components/MarkdownPreview/MarkdownPreview.tsx +5 -5
  118. package/src/components/Suggestions.stories.tsx +7 -9
  119. package/src/components/Toolbar.stories.tsx +3 -3
  120. package/src/extensions.tsx +7 -1
  121. package/src/translations.ts +6 -1
  122. package/src/types/schema.ts +2 -3
  123. package/src/util.tsx +5 -7
  124. package/dist/lib/browser/MarkdownContainer-DGPA7SEG.mjs.map +0 -7
  125. package/dist/lib/browser/MarkdownPreview-KQN2TGK6.mjs.map +0 -7
  126. package/dist/lib/browser/anchor-sort-VS4OZVPP.mjs.map +0 -7
  127. package/dist/lib/browser/app-graph-serializer-V6RLEHVY.mjs.map +0 -7
  128. package/dist/lib/browser/artifact-definition-5NAODQLG.mjs.map +0 -7
  129. package/dist/lib/browser/chunk-77NGW7EO.mjs.map +0 -7
  130. package/dist/lib/browser/chunk-C5RABVIX.mjs.map +0 -7
  131. package/dist/lib/browser/chunk-ECSM56YC.mjs.map +0 -7
  132. package/dist/lib/browser/intent-resolver-4GDYST4Y.mjs.map +0 -7
  133. package/dist/lib/browser/react-surface-DM6B4UUJ.mjs.map +0 -7
  134. package/dist/lib/browser/settings-W5CK4PXP.mjs.map +0 -7
  135. package/dist/lib/node/MarkdownContainer-BZK66EQD.cjs.map +0 -7
  136. package/dist/lib/node/MarkdownPreview-H7FFIWJH.cjs.map +0 -7
  137. package/dist/lib/node/anchor-sort-NHVF23EU.cjs.map +0 -7
  138. package/dist/lib/node/app-graph-serializer-CLALIYN3.cjs.map +0 -7
  139. package/dist/lib/node/artifact-definition-VEAHK7BX.cjs.map +0 -7
  140. package/dist/lib/node/chunk-G7RBJX22.cjs.map +0 -7
  141. package/dist/lib/node/chunk-RQS4KBMG.cjs.map +0 -7
  142. package/dist/lib/node/chunk-ZDTL47I7.cjs.map +0 -7
  143. package/dist/lib/node/intent-resolver-AUZVK3NZ.cjs.map +0 -7
  144. package/dist/lib/node/react-surface-QBW4FFXF.cjs.map +0 -7
  145. package/dist/lib/node/settings-IRKU3WPM.cjs.map +0 -7
  146. package/dist/lib/node-esm/MarkdownContainer-2DYVQ6RC.mjs.map +0 -7
  147. package/dist/lib/node-esm/MarkdownPreview-JUIXYYKF.mjs.map +0 -7
  148. package/dist/lib/node-esm/anchor-sort-G2HLCYFK.mjs.map +0 -7
  149. package/dist/lib/node-esm/app-graph-serializer-C3RNTQGM.mjs.map +0 -7
  150. package/dist/lib/node-esm/artifact-definition-7TIJW2CO.mjs.map +0 -7
  151. package/dist/lib/node-esm/chunk-6RPARLIK.mjs.map +0 -7
  152. package/dist/lib/node-esm/chunk-NCMPVEXO.mjs.map +0 -7
  153. package/dist/lib/node-esm/chunk-TCFJNUAE.mjs.map +0 -7
  154. package/dist/lib/node-esm/intent-resolver-FTNXUNI2.mjs.map +0 -7
  155. package/dist/lib/node-esm/react-surface-A4VAOQG6.mjs.map +0 -7
  156. package/dist/lib/node-esm/settings-MK7D7LHQ.mjs.map +0 -7
  157. /package/dist/lib/browser/{chunk-OTOPAFWC.mjs.map → chunk-354IBM5X.mjs.map} +0 -0
  158. /package/dist/lib/node/{chunk-BBDDZLQH.cjs.map → chunk-FU3XZZCO.cjs.map} +0 -0
  159. /package/dist/lib/node-esm/{chunk-KK7LP3UQ.mjs.map → chunk-YOABAQ7A.mjs.map} +0 -0
@@ -26,30 +26,34 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
26
26
  mod
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var MarkdownContainer_BZK66EQD_exports = {};
30
- __export(MarkdownContainer_BZK66EQD_exports, {
29
+ var MarkdownContainer_KYGUEZIL_exports = {};
30
+ __export(MarkdownContainer_KYGUEZIL_exports, {
31
31
  DocumentEditor: () => DocumentEditor,
32
32
  default: () => MarkdownContainer_default
33
33
  });
34
- module.exports = __toCommonJS(MarkdownContainer_BZK66EQD_exports);
35
- var import_chunk_BBDDZLQH = require("./chunk-BBDDZLQH.cjs");
34
+ module.exports = __toCommonJS(MarkdownContainer_KYGUEZIL_exports);
35
+ var import_chunk_FU3XZZCO = require("./chunk-FU3XZZCO.cjs");
36
36
  var import_chunk_IFYSBQE5 = require("./chunk-IFYSBQE5.cjs");
37
- var import_chunk_G7RBJX22 = require("./chunk-G7RBJX22.cjs");
38
- var import_chunk_RQS4KBMG = require("./chunk-RQS4KBMG.cjs");
37
+ var import_chunk_CJLYFGPI = require("./chunk-CJLYFGPI.cjs");
38
+ var import_chunk_3HHV4MM6 = require("./chunk-3HHV4MM6.cjs");
39
39
  var import_chunk_ZU5OIHCY = require("./chunk-ZU5OIHCY.cjs");
40
40
  var import_tracking = require("@preact-signals/safe-react/tracking");
41
41
  var import_rx_react = require("@effect-rx/rx-react");
42
42
  var import_react = __toESM(require("react"));
43
+ var import_react_dom = require("react-dom");
43
44
  var import_app_framework = require("@dxos/app-framework");
44
- var import_echo_schema = require("@dxos/echo-schema");
45
- var import_echo = require("@dxos/react-client/echo");
45
+ var import_echo = require("@dxos/echo");
46
+ var import_plugin_space = require("@dxos/plugin-space");
47
+ var import_echo2 = require("@dxos/react-client/echo");
48
+ var import_react_ui = require("@dxos/react-ui");
49
+ var import_react_ui_editor = require("@dxos/react-ui-editor");
46
50
  var import_schema = require("@dxos/schema");
47
51
  var import_tracking2 = require("@preact-signals/safe-react/tracking");
48
52
  var import_react2 = __toESM(require("react"));
49
53
  var import_react_dropzone = require("react-dropzone");
50
54
  var import_invariant = require("@dxos/invariant");
51
- var import_react_ui = require("@dxos/react-ui");
52
- var import_react_ui_editor = require("@dxos/react-ui-editor");
55
+ var import_react_ui2 = require("@dxos/react-ui");
56
+ var import_react_ui_editor2 = require("@dxos/react-ui-editor");
53
57
  var import_react_ui_stack = require("@dxos/react-ui-stack");
54
58
  var import_util = require("@dxos/util");
55
59
  var import_view = require("@codemirror/view");
@@ -57,15 +61,15 @@ var import_effect = require("effect");
57
61
  var import_react3 = require("react");
58
62
  var import_app_framework2 = require("@dxos/app-framework");
59
63
  var import_invariant2 = require("@dxos/invariant");
60
- var import_react_ui_editor2 = require("@dxos/react-ui-editor");
64
+ var import_react_ui_editor3 = require("@dxos/react-ui-editor");
61
65
  var import_react4 = __toESM(require("react"));
62
66
  var import_client = require("react-dom/client");
63
67
  var import_app_framework3 = require("@dxos/app-framework");
64
68
  var import_invariant3 = require("@dxos/invariant");
65
- var import_echo2 = require("@dxos/react-client/echo");
69
+ var import_echo3 = require("@dxos/react-client/echo");
66
70
  var import_halo = require("@dxos/react-client/halo");
67
- var import_react_ui2 = require("@dxos/react-ui");
68
- var import_react_ui_editor3 = require("@dxos/react-ui-editor");
71
+ var import_react_ui3 = require("@dxos/react-ui");
72
+ var import_react_ui_editor4 = require("@dxos/react-ui-editor");
69
73
  var import_react_ui_theme = require("@dxos/react-ui-theme");
70
74
  var import_util2 = require("@dxos/util");
71
75
  var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-markdown/src/hooks/useSelectCurrentThread.tsx";
@@ -89,7 +93,7 @@ var useSelectCurrentThread = (editorView, documentId2) => {
89
93
  "'Editor view is not defined.'"
90
94
  ]
91
95
  });
92
- const range = import_react_ui_editor2.Cursor.getRangeFromCursor(editorView.state, cursor);
96
+ const range = import_react_ui_editor3.Cursor.getRangeFromCursor(editorView.state, cursor);
93
97
  if (range) {
94
98
  const selection = editorView.state.selection.main.from !== range.from ? {
95
99
  anchor: range.from
@@ -102,7 +106,7 @@ var useSelectCurrentThread = (editorView, documentId2) => {
102
106
  })
103
107
  ];
104
108
  if (selection) {
105
- effects.push(import_react_ui_editor2.setSelection.of({
109
+ effects.push(import_react_ui_editor3.setSelection.of({
106
110
  current: documentId2
107
111
  }));
108
112
  }
@@ -121,15 +125,92 @@ var useSelectCurrentThread = (editorView, documentId2) => {
121
125
  (0, import_app_framework2.useIntentResolver)(import_chunk_ZU5OIHCY.MARKDOWN_PLUGIN, scrollIntoViewResolver);
122
126
  };
123
127
  var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-markdown/src/components/MarkdownEditor/MarkdownEditor.tsx";
124
- var MarkdownEditor = ({ id, role = "article", initialValue, extensions, extensionProviders, scrollPastEnd, toolbar, customActions, viewMode, editorStateStore, onFileUpload, onViewModeChange }) => {
128
+ var MarkdownEditor = ({ extensions: _extensions, slashCommandGroups, onLinkQuery, ...props }) => {
125
129
  var _effect = (0, import_tracking2.useSignals)();
126
130
  try {
127
- const { t } = (0, import_react_ui.useTranslation)(import_chunk_ZU5OIHCY.MARKDOWN_PLUGIN);
128
- const { themeMode } = (0, import_react_ui.useThemeContext)();
129
- const toolbarState = (0, import_react_ui_editor.useEditorToolbarState)({
131
+ const { t } = (0, import_react_ui2.useTranslation)();
132
+ const viewRef = (0, import_react2.useRef)();
133
+ const getMenu = (0, import_react2.useCallback)((trigger, query) => {
134
+ switch (trigger) {
135
+ case "@":
136
+ return onLinkQuery?.(query) ?? [];
137
+ case "/":
138
+ default:
139
+ return (0, import_react_ui_editor2.filterItems)([
140
+ import_react_ui_editor2.coreSlashCommands,
141
+ import_react_ui_editor2.linkSlashCommands,
142
+ ...slashCommandGroups ?? []
143
+ ], (item) => query ? (0, import_react_ui2.toLocalizedString)(item.label, t).toLowerCase().includes(query.toLowerCase()) : true);
144
+ }
145
+ }, [
146
+ onLinkQuery,
147
+ slashCommandGroups
148
+ ]);
149
+ const options = (0, import_react2.useMemo)(() => {
150
+ const trigger = onLinkQuery ? [
151
+ "/",
152
+ "@"
153
+ ] : [
154
+ "/"
155
+ ];
156
+ return {
157
+ viewRef,
158
+ trigger,
159
+ placeholder: {
160
+ delay: 3e3,
161
+ content: () => {
162
+ return (0, import_react_ui_editor2.createElement)("div", void 0, [
163
+ (0, import_react_ui_editor2.createElement)("span", {
164
+ text: "Press"
165
+ }),
166
+ ...trigger.map((text) => (0, import_react_ui_editor2.createElement)("span", {
167
+ className: "border border-separator rounded-sm mx-1 px-1.5 pt-[1px] pb-[2px]",
168
+ text
169
+ })),
170
+ (0, import_react_ui_editor2.createElement)("span", {
171
+ text: "for commands."
172
+ })
173
+ ]);
174
+ }
175
+ },
176
+ getMenu
177
+ };
178
+ }, [
179
+ getMenu
180
+ ]);
181
+ const { commandMenu, groupsRef, currentItem, onSelect, ...refPopoverProps } = (0, import_react_ui_editor2.useCommandMenu)(options);
182
+ const extensions = (0, import_react2.useMemo)(() => [
183
+ _extensions,
184
+ commandMenu
185
+ ].filter(import_util.isNotFalsy), [
186
+ _extensions,
187
+ commandMenu
188
+ ]);
189
+ return /* @__PURE__ */ import_react2.default.createElement(import_react_ui_editor2.RefPopover, {
190
+ modal: false,
191
+ ...refPopoverProps
192
+ }, /* @__PURE__ */ import_react2.default.createElement(MarkdownEditorImpl, {
193
+ ref: viewRef,
194
+ ...props,
195
+ extensions
196
+ }), /* @__PURE__ */ import_react2.default.createElement(import_react_ui_editor2.CommandMenu, {
197
+ groups: groupsRef.current,
198
+ currentItem,
199
+ onSelect
200
+ }));
201
+ } finally {
202
+ _effect.f();
203
+ }
204
+ };
205
+ var MarkdownEditorImpl = /* @__PURE__ */ (0, import_react2.forwardRef)(({ id, role = "article", initialValue, customActions, editorStateStore, extensions, extensionProviders, scrollPastEnd, toolbar, viewMode, onFileUpload, onViewModeChange }, forwardedRef) => {
206
+ var _effect = (0, import_tracking2.useSignals)();
207
+ try {
208
+ const { t } = (0, import_react_ui2.useTranslation)(import_chunk_ZU5OIHCY.MARKDOWN_PLUGIN);
209
+ const { themeMode } = (0, import_react_ui2.useThemeContext)();
210
+ const toolbarState = (0, import_react_ui_editor2.useEditorToolbarState)({
130
211
  viewMode
131
212
  });
132
- const formattingObserver = (0, import_react_ui_editor.useFormattingState)(toolbarState);
213
+ const formattingObserver = (0, import_react_ui_editor2.useFormattingState)(toolbarState);
133
214
  const { scrollTo, selection } = (0, import_react2.useMemo)(() => editorStateStore?.getState(id) ?? {}, [
134
215
  id
135
216
  ]);
@@ -140,31 +221,31 @@ var MarkdownEditor = ({ id, role = "article", initialValue, extensions, extensio
140
221
  const file = files[0];
141
222
  const info = file && onFileUpload ? await onFileUpload(file) : void 0;
142
223
  if (info) {
143
- (0, import_react_ui_editor.processEditorPayload)(view, {
224
+ (0, import_react_ui_editor2.processEditorPayload)(view, {
144
225
  type: "image",
145
226
  data: info.url
146
227
  });
147
228
  }
148
229
  };
149
- const { parentRef, view: editorView, focusAttributes } = (0, import_react_ui_editor.useTextEditor)(() => ({
230
+ const { parentRef, view: editorView, focusAttributes } = (0, import_react_ui_editor2.useTextEditor)(() => ({
150
231
  initialValue,
151
232
  extensions: [
152
233
  formattingObserver,
153
- (0, import_react_ui_editor.createBasicExtensions)({
234
+ (0, import_react_ui_editor2.createBasicExtensions)({
154
235
  readOnly: viewMode === "readonly",
155
236
  placeholder: t("editor placeholder"),
156
237
  scrollPastEnd: role === "section" ? false : scrollPastEnd
157
238
  }),
158
- (0, import_react_ui_editor.createMarkdownExtensions)({
239
+ (0, import_react_ui_editor2.createMarkdownExtensions)({
159
240
  themeMode
160
241
  }),
161
- (0, import_react_ui_editor.createThemeExtensions)({
242
+ (0, import_react_ui_editor2.createThemeExtensions)({
162
243
  themeMode,
163
244
  syntaxHighlighting: true,
164
- slots: import_react_ui_editor.editorSlots
245
+ slots: import_react_ui_editor2.editorSlots
165
246
  }),
166
- import_react_ui_editor.editorGutter,
167
- role !== "section" && onFileUpload && (0, import_react_ui_editor.dropFile)({
247
+ import_react_ui_editor2.editorGutter,
248
+ role !== "section" && onFileUpload && (0, import_react_ui_editor2.dropFile)({
168
249
  onDrop: handleDrop
169
250
  }),
170
251
  providerExtensions,
@@ -186,6 +267,9 @@ var MarkdownEditor = ({ id, role = "article", initialValue, extensions, extensio
186
267
  extensions,
187
268
  providerExtensions
188
269
  ]);
270
+ (0, import_react2.useImperativeHandle)(forwardedRef, () => editorView, [
271
+ editorView
272
+ ]);
189
273
  useTest(editorView);
190
274
  useSelectCurrentThread(editorView, id);
191
275
  const { acceptedFiles, getInputProps, open } = (0, import_react_dropzone.useDropzone)({
@@ -212,7 +296,7 @@ var MarkdownEditor = ({ id, role = "article", initialValue, extensions, extensio
212
296
  });
213
297
  const info = await onFileUpload(file);
214
298
  if (info) {
215
- (0, import_react_ui_editor.addLink)({
299
+ (0, import_react_ui_editor2.addLink)({
216
300
  url: info.url,
217
301
  image: true
218
302
  })(editorView);
@@ -227,7 +311,7 @@ var MarkdownEditor = ({ id, role = "article", initialValue, extensions, extensio
227
311
  const getView = (0, import_react2.useCallback)(() => {
228
312
  (0, import_invariant.invariant)(editorView, void 0, {
229
313
  F: __dxlog_file2,
230
- L: 165,
314
+ L: 240,
231
315
  S: void 0,
232
316
  A: [
233
317
  "editorView",
@@ -251,7 +335,7 @@ var MarkdownEditor = ({ id, role = "article", initialValue, extensions, extensio
251
335
  ]);
252
336
  return /* @__PURE__ */ import_react2.default.createElement(import_react_ui_stack.StackItem.Content, {
253
337
  toolbar: !!toolbar
254
- }, toolbar && /* @__PURE__ */ import_react2.default.createElement(import_react2.default.Fragment, null, /* @__PURE__ */ import_react2.default.createElement(import_react_ui_editor.EditorToolbar, {
338
+ }, toolbar && /* @__PURE__ */ import_react2.default.createElement(import_react2.default.Fragment, null, /* @__PURE__ */ import_react2.default.createElement(import_react_ui_editor2.EditorToolbar, {
255
339
  attendableId: id,
256
340
  role,
257
341
  state: toolbarState,
@@ -264,14 +348,14 @@ var MarkdownEditor = ({ id, role = "article", initialValue, extensions, extensio
264
348
  ref: parentRef,
265
349
  "data-testid": "composer.markdownRoot",
266
350
  "data-toolbar": toolbar ? "enabled" : "disabled",
267
- className: (0, import_react_ui_editor.stackItemContentEditorClassNames)(role),
351
+ className: (0, import_react_ui_editor2.stackItemContentEditorClassNames)(role),
268
352
  "data-popover-collision-boundary": true,
269
353
  ...focusAttributes
270
354
  }));
271
355
  } finally {
272
356
  _effect.f();
273
357
  }
274
- };
358
+ });
275
359
  var useTest = (view) => {
276
360
  (0, import_react2.useEffect)(() => {
277
361
  const composer = window.composer;
@@ -283,10 +367,10 @@ var useTest = (view) => {
283
367
  ]);
284
368
  };
285
369
  var __dxlog_file3 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-markdown/src/extensions.tsx";
286
- var useExtensions = ({ document, id, text, settings, selectionManager, viewMode, editorStateStore }) => {
370
+ var useExtensions = ({ document, id, text, settings, selectionManager, viewMode, editorStateStore, previewOptions }) => {
287
371
  const { dispatchPromise: dispatch } = (0, import_app_framework3.useIntentDispatcher)();
288
372
  const identity = (0, import_halo.useIdentity)();
289
- const space = (0, import_echo2.getSpace)(document) ?? (0, import_echo2.getSpace)(text);
373
+ const space = (0, import_echo3.getSpace)(document) ?? (0, import_echo3.getSpace)(text);
290
374
  const baseExtensions = (0, import_react4.useMemo)(() => createBaseExtensions({
291
375
  document,
292
376
  id,
@@ -294,6 +378,7 @@ var useExtensions = ({ document, id, text, settings, selectionManager, viewMode,
294
378
  settings,
295
379
  selectionManager,
296
380
  viewMode,
381
+ previewOptions,
297
382
  dispatch
298
383
  }), [
299
384
  document,
@@ -301,6 +386,7 @@ var useExtensions = ({ document, id, text, settings, selectionManager, viewMode,
301
386
  text,
302
387
  viewMode,
303
388
  dispatch,
389
+ previewOptions,
304
390
  settings,
305
391
  settings.editorInputMode,
306
392
  settings.folding,
@@ -329,25 +415,25 @@ var useExtensions = ({ document, id, text, settings, selectionManager, viewMode,
329
415
  ]);
330
416
  return (0, import_react4.useMemo)(() => [
331
417
  // NOTE: Data extensions must be first so that automerge is updated before other extensions compute their state.
332
- document && (0, import_react_ui_editor3.createDataExtensions)({
418
+ document && (0, import_react_ui_editor4.createDataExtensions)({
333
419
  id: document.id,
334
- text: document.content.target && (0, import_echo2.createDocAccessor)(document.content.target, [
420
+ text: document.content.target && (0, import_echo3.createDocAccessor)(document.content.target, [
335
421
  "content"
336
422
  ]),
337
423
  space,
338
424
  identity
339
425
  }),
340
- text && id && (0, import_react_ui_editor3.createDataExtensions)({
426
+ text && id && (0, import_react_ui_editor4.createDataExtensions)({
341
427
  id,
342
- text: (0, import_echo2.createDocAccessor)(text, [
428
+ text: (0, import_echo3.createDocAccessor)(text, [
343
429
  "content"
344
430
  ]),
345
431
  space,
346
432
  identity
347
433
  }),
348
- (0, import_react_ui_editor3.selectionState)(editorStateStore),
349
- document && (0, import_react_ui_editor3.listener)({
350
- onChange: (text2) => (0, import_chunk_G7RBJX22.setFallbackName)(document, text2)
434
+ (0, import_react_ui_editor4.selectionState)(editorStateStore),
435
+ document && (0, import_react_ui_editor4.listener)({
436
+ onChange: (text2) => (0, import_chunk_CJLYFGPI.setFallbackName)(document, text2)
351
437
  }),
352
438
  baseExtensions,
353
439
  pluginExtensions
@@ -362,16 +448,16 @@ var useExtensions = ({ document, id, text, settings, selectionManager, viewMode,
362
448
  identity
363
449
  ]);
364
450
  };
365
- var createBaseExtensions = ({ document, id, dispatch, settings, selectionManager, query, viewMode }) => {
451
+ var createBaseExtensions = ({ document, id, dispatch, settings, selectionManager, query, viewMode, previewOptions }) => {
366
452
  const extensions = [
367
453
  selectionManager && selectionChange(selectionManager),
368
- settings.editorInputMode && import_react_ui_editor3.InputModeExtensions[settings.editorInputMode],
369
- settings.folding && (0, import_react_ui_editor3.folding)()
454
+ settings.editorInputMode && import_react_ui_editor4.InputModeExtensions[settings.editorInputMode],
455
+ settings.folding && (0, import_react_ui_editor4.folding)()
370
456
  ].filter(import_util2.isNotFalsy);
371
457
  if (viewMode !== "source") {
372
458
  extensions.push(...[
373
- (0, import_react_ui_editor3.formattingKeymap)(),
374
- (0, import_react_ui_editor3.decorateMarkdown)({
459
+ (0, import_react_ui_editor4.formattingKeymap)(),
460
+ (0, import_react_ui_editor4.decorateMarkdown)({
375
461
  selectionChangeDelay: 100,
376
462
  numberedHeadings: settings.numberedHeadings ? {
377
463
  from: 2
@@ -384,22 +470,22 @@ var createBaseExtensions = ({ document, id, dispatch, settings, selectionManager
384
470
  id2
385
471
  ],
386
472
  options: {
387
- pivotId: document ? (0, import_echo2.fullyQualifiedId)(document) : id2
473
+ pivotId: document ? (0, import_echo3.fullyQualifiedId)(document) : id2
388
474
  }
389
475
  }));
390
476
  }) : void 0
391
477
  }),
392
- (0, import_react_ui_editor3.linkTooltip)(renderLinkTooltip),
393
- (0, import_react_ui_editor3.preview)()
478
+ (0, import_react_ui_editor4.linkTooltip)(renderLinkTooltip),
479
+ (0, import_react_ui_editor4.preview)(previewOptions)
394
480
  ]);
395
481
  }
396
482
  if (query) {
397
- extensions.push((0, import_react_ui_editor3.autocomplete)({
483
+ extensions.push((0, import_react_ui_editor4.autocomplete)({
398
484
  onSearch: (text) => {
399
485
  return query.objects.map((object) => object.name?.length && object.id !== document?.id ? {
400
486
  label: object.name,
401
487
  // TODO(burdon): Factor out URL builder.
402
- apply: `[${object.name}](/${(0, import_echo2.fullyQualifiedId)(object)})`
488
+ apply: `[${object.name}](/${(0, import_echo3.fullyQualifiedId)(object)})`
403
489
  } : void 0).filter(import_util2.isNotFalsy);
404
490
  }
405
491
  }));
@@ -407,7 +493,7 @@ var createBaseExtensions = ({ document, id, dispatch, settings, selectionManager
407
493
  if (settings.debug) {
408
494
  const items = settings.typewriter?.split(/[,\n]/) ?? "";
409
495
  if (items) {
410
- extensions.push((0, import_react_ui_editor3.typewriter)({
496
+ extensions.push((0, import_react_ui_editor4.typewriter)({
411
497
  items
412
498
  }));
413
499
  }
@@ -415,10 +501,10 @@ var createBaseExtensions = ({ document, id, dispatch, settings, selectionManager
415
501
  return extensions;
416
502
  };
417
503
  var selectionChange = (selectionManager) => {
418
- return import_react_ui_editor3.EditorView.updateListener.of((update) => {
504
+ return import_react_ui_editor4.EditorView.updateListener.of((update) => {
419
505
  if (update.selectionSet) {
420
- const id = update.state.facet(import_react_ui_editor3.documentId);
421
- const cursorConverter = update.state.facet(import_react_ui_editor3.Cursor.converter);
506
+ const id = update.state.facet(import_react_ui_editor4.documentId);
507
+ const cursorConverter = update.state.facet(import_react_ui_editor4.Cursor.converter);
422
508
  const selection = update.state.selection;
423
509
  const ranges = selection.ranges.map((range) => ({
424
510
  from: cursorConverter.toCursor(range.from),
@@ -440,7 +526,7 @@ var createLinkRenderer = (onSelectObject) => (el, { url }) => {
440
526
  const qualifiedId = url.split("/").at(-1);
441
527
  (0, import_invariant3.invariant)(qualifiedId, "Invalid link format.", {
442
528
  F: __dxlog_file3,
443
- L: 281,
529
+ L: 287,
444
530
  S: void 0,
445
531
  A: [
446
532
  "qualifiedId",
@@ -457,7 +543,7 @@ var createLinkRenderer = (onSelectObject) => (el, { url }) => {
457
543
  renderRoot(el, /* @__PURE__ */ import_react4.default.createElement("a", {
458
544
  ...options,
459
545
  className: style.hover
460
- }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Icon, {
546
+ }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui3.Icon, {
461
547
  icon: isInternal ? "ph--arrow-square-down--bold" : "ph--arrow-square-out--bold",
462
548
  size: 4,
463
549
  classNames: style.icon
@@ -470,14 +556,14 @@ var renderLinkTooltip = (el, { url }) => {
470
556
  rel: "noreferrer",
471
557
  target: "_blank",
472
558
  className: style.hover
473
- }, web.origin, /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Icon, {
559
+ }, web.origin, /* @__PURE__ */ import_react4.default.createElement(import_react_ui3.Icon, {
474
560
  icon: "ph--arrow-square-out--bold",
475
561
  size: 4,
476
562
  classNames: style.icon
477
563
  })));
478
564
  };
479
565
  var renderRoot = (root, node) => {
480
- (0, import_client.createRoot)(root).render(/* @__PURE__ */ import_react4.default.createElement(import_react_ui2.ThemeProvider, {
566
+ (0, import_client.createRoot)(root).render(/* @__PURE__ */ import_react4.default.createElement(import_react_ui3.ThemeProvider, {
481
567
  tx: import_react_ui_theme.defaultTx
482
568
  }, node));
483
569
  return root;
@@ -485,9 +571,25 @@ var renderRoot = (root, node) => {
485
571
  var MarkdownContainer = ({ id, role, object, settings, selectionManager, viewMode, editorStateStore, onViewModeChange }) => {
486
572
  var _effect = (0, import_tracking.useSignals)();
487
573
  try {
574
+ const { t } = (0, import_react_ui.useTranslation)();
488
575
  const scrollPastEnd = role === "article";
489
- const doc = (0, import_echo_schema.isInstanceOf)(import_chunk_RQS4KBMG.DocumentType, object) ? object : void 0;
490
- const text = (0, import_echo_schema.isInstanceOf)(import_schema.DataType.Text, object) ? object : void 0;
576
+ const doc = import_echo.Obj.instanceOf(import_chunk_3HHV4MM6.DocumentType, object) ? object : void 0;
577
+ const text = import_echo.Obj.instanceOf(import_schema.DataType.Text, object) ? object : void 0;
578
+ const [previewBlocks, setPreviewBlocks] = (0, import_react.useState)([]);
579
+ const previewOptions = (0, import_react.useMemo)(() => ({
580
+ addBlockContainer: (link, el) => {
581
+ setPreviewBlocks((prev) => [
582
+ ...prev,
583
+ {
584
+ link,
585
+ el
586
+ }
587
+ ]);
588
+ },
589
+ removeBlockContainer: (link) => {
590
+ setPreviewBlocks((prev) => prev.filter(({ link: prevLink }) => prevLink.ref !== link.ref));
591
+ }
592
+ }), []);
491
593
  const extensions = useExtensions({
492
594
  document: doc,
493
595
  text,
@@ -495,33 +597,85 @@ var MarkdownContainer = ({ id, role, object, settings, selectionManager, viewMod
495
597
  settings,
496
598
  selectionManager,
497
599
  viewMode,
498
- editorStateStore
600
+ editorStateStore,
601
+ previewOptions
499
602
  });
500
- if (doc) {
501
- return /* @__PURE__ */ import_react.default.createElement(DocumentEditor, {
502
- id: (0, import_echo.fullyQualifiedId)(object),
503
- role,
504
- document: doc,
505
- extensions,
506
- viewMode,
507
- settings,
508
- scrollPastEnd,
509
- onViewModeChange
510
- });
511
- } else if (text) {
512
- return /* @__PURE__ */ import_react.default.createElement(MarkdownEditor, {
513
- id,
514
- role,
515
- initialValue: text.content,
516
- extensions,
517
- viewMode,
518
- toolbar: settings.toolbar,
519
- inputMode: settings.editorInputMode,
520
- scrollPastEnd,
521
- onViewModeChange
522
- });
523
- } else {
524
- return /* @__PURE__ */ import_react.default.createElement(MarkdownEditor, {
603
+ const manager = (0, import_app_framework.usePluginManager)();
604
+ const resolve = (0, import_react.useCallback)((typename) => manager.context.getCapabilities(import_app_framework.Capabilities.Metadata).find(({ id: id2 }) => id2 === typename)?.metadata ?? {}, [
605
+ manager
606
+ ]);
607
+ const space = (0, import_echo2.getSpace)(object);
608
+ const objectForms = (0, import_app_framework.useCapabilities)(import_plugin_space.SpaceCapabilities.ObjectForm);
609
+ const filter = (0, import_react.useMemo)(() => import_echo.Filter.or(...objectForms.map((form) => import_echo.Filter.type(form.objectSchema))), [
610
+ objectForms
611
+ ]);
612
+ const onLinkQuery = (0, import_react.useCallback)(async (query) => {
613
+ const name = query?.startsWith("@") ? query.slice(1).toLowerCase() : query?.toLowerCase() ?? "";
614
+ const results = await space?.db.query(import_echo.Query.select(filter)).run();
615
+ const getLabel = (object2) => {
616
+ const type = import_echo.Obj.getTypename(object2);
617
+ const metadata = resolve(type);
618
+ return metadata.label?.(object2) || object2.name || [
619
+ "object name placeholder",
620
+ {
621
+ ns: type,
622
+ default: "New object"
623
+ }
624
+ ];
625
+ };
626
+ const items = results?.objects.filter((object2) => (0, import_react_ui.toLocalizedString)(getLabel(object2), t).toLowerCase().includes(name)).map((object2) => {
627
+ const metadata = resolve(import_echo.Obj.getTypename(object2));
628
+ const label = (0, import_react_ui.toLocalizedString)(getLabel(object2), t);
629
+ return {
630
+ id: object2.id,
631
+ label,
632
+ icon: metadata.icon,
633
+ onSelect: (view, head) => {
634
+ const link = `[${label}][${import_echo.Obj.getDXN(object2)}]`;
635
+ if (query?.startsWith("@")) {
636
+ (0, import_react_ui_editor.insertAtLineStart)(view, head, `!${link}
637
+ `);
638
+ } else {
639
+ (0, import_react_ui_editor.insertAtCursor)(view, head, `${link} `);
640
+ }
641
+ }
642
+ };
643
+ }) ?? [];
644
+ return [
645
+ {
646
+ id: "echo",
647
+ items
648
+ }
649
+ ];
650
+ }, [
651
+ filter,
652
+ resolve,
653
+ space
654
+ ]);
655
+ const editor = doc ? /* @__PURE__ */ import_react.default.createElement(DocumentEditor, {
656
+ id: (0, import_echo2.fullyQualifiedId)(object),
657
+ role,
658
+ document: doc,
659
+ extensions,
660
+ viewMode,
661
+ settings,
662
+ scrollPastEnd,
663
+ onViewModeChange,
664
+ onLinkQuery: space ? onLinkQuery : void 0
665
+ }) : text ? /* @__PURE__ */ import_react.default.createElement(MarkdownEditor, {
666
+ id,
667
+ role,
668
+ initialValue: text.content,
669
+ extensions,
670
+ viewMode,
671
+ toolbar: settings.toolbar,
672
+ inputMode: settings.editorInputMode,
673
+ scrollPastEnd,
674
+ onViewModeChange,
675
+ onLinkQuery: space ? onLinkQuery : void 0
676
+ }) : (
677
+ // TODO(burdon): Normalize with above.
678
+ /* @__PURE__ */ import_react.default.createElement(MarkdownEditor, {
525
679
  id,
526
680
  role,
527
681
  initialValue: object.text,
@@ -530,9 +684,37 @@ var MarkdownContainer = ({ id, role, object, settings, selectionManager, viewMod
530
684
  toolbar: settings.toolbar,
531
685
  inputMode: settings.editorInputMode,
532
686
  scrollPastEnd,
533
- onViewModeChange
534
- });
535
- }
687
+ onViewModeChange,
688
+ onLinkQuery: space ? onLinkQuery : void 0
689
+ })
690
+ );
691
+ return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, editor, previewBlocks.map(({ link, el }) => /* @__PURE__ */ import_react.default.createElement(PreviewBlock, {
692
+ key: link.ref,
693
+ link,
694
+ el
695
+ })));
696
+ } finally {
697
+ _effect.f();
698
+ }
699
+ };
700
+ var PreviewBlock = ({ link, el }) => {
701
+ var _effect = (0, import_tracking.useSignals)();
702
+ try {
703
+ const echoDXN = (0, import_react.useMemo)(() => import_echo.DXN.parse(link.ref).asEchoDXN(), [
704
+ link.ref
705
+ ]);
706
+ const space = (0, import_echo2.useSpace)(echoDXN?.spaceId);
707
+ const [subject] = (0, import_echo2.useQuery)(space, import_echo.Query.select(import_echo.Filter.ids(echoDXN?.echoId ?? "")));
708
+ const data = (0, import_react.useMemo)(() => ({
709
+ subject
710
+ }), [
711
+ subject
712
+ ]);
713
+ return /* @__PURE__ */ (0, import_react_dom.createPortal)(/* @__PURE__ */ import_react.default.createElement(import_app_framework.Surface, {
714
+ role: "card--document",
715
+ data,
716
+ limit: 1
717
+ }), el);
536
718
  } finally {
537
719
  _effect.f();
538
720
  }
@@ -540,12 +722,12 @@ var MarkdownContainer = ({ id, role, object, settings, selectionManager, viewMod
540
722
  var DocumentEditor = ({ id, document: doc, settings, viewMode, ...props }) => {
541
723
  var _effect = (0, import_tracking.useSignals)();
542
724
  try {
543
- const space = (0, import_echo.getSpace)(doc);
725
+ const space = (0, import_echo2.getSpace)(doc);
544
726
  (0, import_react.useEffect)(() => {
545
727
  if (typeof doc.fallbackName === "string") {
546
728
  return;
547
729
  }
548
- const fallbackName = doc.content?.target?.content ? (0, import_chunk_G7RBJX22.getFallbackName)(doc.content.target.content) : void 0;
730
+ const fallbackName = doc.content?.target?.content ? (0, import_chunk_CJLYFGPI.getFallbackName)(doc.content.target.content) : void 0;
549
731
  if (fallbackName) {
550
732
  doc.fallbackName = fallbackName;
551
733
  }
@@ -598,4 +780,4 @@ var MarkdownContainer_default = MarkdownContainer;
598
780
  0 && (module.exports = {
599
781
  DocumentEditor
600
782
  });
601
- //# sourceMappingURL=MarkdownContainer-BZK66EQD.cjs.map
783
+ //# sourceMappingURL=MarkdownContainer-KYGUEZIL.cjs.map