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