@dxos/plugin-markdown 0.8.4-main.dedc0f3 → 0.8.4-main.dfabb4ec29

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 (399) hide show
  1. package/dist/lib/neutral/EditableMarkdownCard-P4F4TIUM.mjs +32 -0
  2. package/dist/lib/neutral/EditableMarkdownCard-P4F4TIUM.mjs.map +7 -0
  3. package/dist/lib/neutral/MarkdownCard-INMBLUL4.mjs +102 -0
  4. package/dist/lib/neutral/MarkdownCard-INMBLUL4.mjs.map +7 -0
  5. package/dist/lib/neutral/MarkdownContainer-2BDGD3PL.mjs +126 -0
  6. package/dist/lib/neutral/MarkdownContainer-2BDGD3PL.mjs.map +7 -0
  7. package/dist/lib/neutral/MarkdownPlugin.mjs +58 -0
  8. package/dist/lib/neutral/MarkdownPlugin.mjs.map +7 -0
  9. package/dist/lib/neutral/MarkdownPlugin.node.mjs +25 -0
  10. package/dist/lib/neutral/MarkdownPlugin.node.mjs.map +7 -0
  11. package/dist/lib/neutral/MarkdownSettings-YCTZJL5V.mjs +32 -0
  12. package/dist/lib/neutral/MarkdownSettings-YCTZJL5V.mjs.map +7 -0
  13. package/dist/lib/neutral/anchor-sort-L4VCKDO6.mjs +32 -0
  14. package/dist/lib/neutral/anchor-sort-L4VCKDO6.mjs.map +7 -0
  15. package/dist/lib/neutral/app-graph-serializer-3XFKP4ER.mjs +56 -0
  16. package/dist/lib/neutral/app-graph-serializer-3XFKP4ER.mjs.map +7 -0
  17. package/dist/lib/neutral/blueprint-definition-33OK2KUL.mjs +15 -0
  18. package/dist/lib/neutral/blueprint-definition-33OK2KUL.mjs.map +7 -0
  19. package/dist/lib/neutral/blueprints/index.mjs +8 -0
  20. package/dist/lib/neutral/capabilities/index.mjs +25 -0
  21. package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
  22. package/dist/lib/neutral/capabilities/node.mjs +11 -0
  23. package/dist/lib/neutral/capabilities/node.mjs.map +7 -0
  24. package/dist/lib/neutral/chunk-3LYCPEVP.mjs +21 -0
  25. package/dist/lib/neutral/chunk-3LYCPEVP.mjs.map +7 -0
  26. package/dist/lib/neutral/chunk-6N7AD3IU.mjs +8 -0
  27. package/dist/lib/neutral/chunk-6N7AD3IU.mjs.map +7 -0
  28. package/dist/lib/neutral/chunk-J5LGTIGS.mjs +10 -0
  29. package/dist/lib/neutral/chunk-KDN4GKG2.mjs +98 -0
  30. package/dist/lib/neutral/chunk-KDN4GKG2.mjs.map +7 -0
  31. package/dist/lib/neutral/chunk-LXNSKCPD.mjs +44 -0
  32. package/dist/lib/neutral/chunk-LXNSKCPD.mjs.map +7 -0
  33. package/dist/lib/neutral/chunk-SOLAMEK3.mjs +276 -0
  34. package/dist/lib/neutral/chunk-SOLAMEK3.mjs.map +7 -0
  35. package/dist/lib/neutral/comment-config-7VTHRUIZ.mjs +30 -0
  36. package/dist/lib/neutral/comment-config-7VTHRUIZ.mjs.map +7 -0
  37. package/dist/lib/neutral/components/index.mjs +370 -0
  38. package/dist/lib/neutral/components/index.mjs.map +7 -0
  39. package/dist/lib/neutral/containers/index.mjs +13 -0
  40. package/dist/lib/neutral/containers/index.mjs.map +7 -0
  41. package/dist/lib/neutral/create-3PGJ2NEK.mjs +28 -0
  42. package/dist/lib/neutral/create-3PGJ2NEK.mjs.map +7 -0
  43. package/dist/lib/neutral/create-markdown-5LS46GMH.mjs +20 -0
  44. package/dist/lib/neutral/create-markdown-5LS46GMH.mjs.map +7 -0
  45. package/dist/lib/neutral/create-object-ZA6VXLJJ.mjs +27 -0
  46. package/dist/lib/neutral/create-object-ZA6VXLJJ.mjs.map +7 -0
  47. package/dist/lib/neutral/hooks/index.mjs +322 -0
  48. package/dist/lib/neutral/hooks/index.mjs.map +7 -0
  49. package/dist/lib/neutral/index.mjs +42 -0
  50. package/dist/lib/neutral/meta.json +1 -0
  51. package/dist/lib/neutral/meta.mjs +8 -0
  52. package/dist/lib/neutral/open-WCYGBLAG.mjs +20 -0
  53. package/dist/lib/neutral/open-WCYGBLAG.mjs.map +7 -0
  54. package/dist/lib/neutral/operation-handler-2ARMPBGZ.mjs +13 -0
  55. package/dist/lib/neutral/operation-handler-2ARMPBGZ.mjs.map +7 -0
  56. package/dist/lib/neutral/operations/index.mjs +8 -0
  57. package/dist/lib/neutral/operations/index.mjs.map +7 -0
  58. package/dist/lib/neutral/plugin.mjs +16 -0
  59. package/dist/lib/neutral/plugin.mjs.map +7 -0
  60. package/dist/lib/neutral/react-surface-TB4TY57T.mjs +119 -0
  61. package/dist/lib/neutral/react-surface-TB4TY57T.mjs.map +7 -0
  62. package/dist/lib/neutral/scroll-to-anchor-6FIOKVKT.mjs +47 -0
  63. package/dist/lib/neutral/scroll-to-anchor-6FIOKVKT.mjs.map +7 -0
  64. package/dist/lib/neutral/set-view-mode-37RSPFEN.mjs +24 -0
  65. package/dist/lib/neutral/set-view-mode-37RSPFEN.mjs.map +7 -0
  66. package/dist/lib/neutral/settings-TDGDLCUR.mjs +34 -0
  67. package/dist/lib/neutral/settings-TDGDLCUR.mjs.map +7 -0
  68. package/dist/lib/neutral/state-5COCF5PN.mjs +44 -0
  69. package/dist/lib/neutral/state-5COCF5PN.mjs.map +7 -0
  70. package/dist/lib/neutral/testing.mjs +20 -0
  71. package/dist/lib/neutral/testing.mjs.map +7 -0
  72. package/dist/lib/neutral/translations.mjs +43 -0
  73. package/dist/lib/neutral/translations.mjs.map +7 -0
  74. package/dist/lib/neutral/types/index.mjs +16 -0
  75. package/dist/lib/neutral/types/index.mjs.map +7 -0
  76. package/dist/lib/neutral/update-markdown-5EDRD3SH.mjs +44 -0
  77. package/dist/lib/neutral/update-markdown-5EDRD3SH.mjs.map +7 -0
  78. package/dist/types/src/MarkdownPlugin.d.ts +3 -1
  79. package/dist/types/src/MarkdownPlugin.d.ts.map +1 -1
  80. package/dist/types/src/MarkdownPlugin.node.d.ts +4 -0
  81. package/dist/types/src/MarkdownPlugin.node.d.ts.map +1 -0
  82. package/dist/types/src/MarkdownPlugin.test.d.ts +2 -0
  83. package/dist/types/src/MarkdownPlugin.test.d.ts.map +1 -0
  84. package/dist/types/src/blueprints/index.d.ts +2 -0
  85. package/dist/types/src/blueprints/index.d.ts.map +1 -0
  86. package/dist/types/src/blueprints/markdown-blueprint.d.ts +4 -0
  87. package/dist/types/src/blueprints/markdown-blueprint.d.ts.map +1 -0
  88. package/dist/types/src/capabilities/anchor-sort.d.ts +4 -4
  89. package/dist/types/src/capabilities/anchor-sort.d.ts.map +1 -1
  90. package/dist/types/src/capabilities/app-graph-serializer.d.ts +3 -2
  91. package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +1 -1
  92. package/dist/types/src/capabilities/artifact-definition.d.ts +3 -1
  93. package/dist/types/src/capabilities/artifact-definition.d.ts.map +1 -1
  94. package/dist/types/src/capabilities/blueprint-definition.d.ts +5 -4
  95. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -1
  96. package/dist/types/src/capabilities/comment-config.d.ts +12 -0
  97. package/dist/types/src/capabilities/comment-config.d.ts.map +1 -0
  98. package/dist/types/src/capabilities/create-object.d.ts +11 -0
  99. package/dist/types/src/capabilities/create-object.d.ts.map +1 -0
  100. package/dist/types/src/capabilities/index.d.ts +22 -18
  101. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  102. package/dist/types/src/capabilities/node.d.ts +10 -0
  103. package/dist/types/src/capabilities/node.d.ts.map +1 -0
  104. package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
  105. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
  106. package/dist/types/src/capabilities/react-surface.d.ts +3 -2
  107. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  108. package/dist/types/src/capabilities/settings.d.ts +4 -2
  109. package/dist/types/src/capabilities/settings.d.ts.map +1 -1
  110. package/dist/types/src/capabilities/state.d.ts +4 -9
  111. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  112. package/dist/types/src/components/MarkdownEditor/FileUpload.d.ts +11 -0
  113. package/dist/types/src/components/MarkdownEditor/FileUpload.d.ts.map +1 -0
  114. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts +52 -21
  115. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts.map +1 -1
  116. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.stories.d.ts +5 -110
  117. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.stories.d.ts.map +1 -1
  118. package/dist/types/src/components/MarkdownEditor/MarkdownEditorContent.d.ts +33 -0
  119. package/dist/types/src/components/MarkdownEditor/MarkdownEditorContent.d.ts.map +1 -0
  120. package/dist/types/src/components/MarkdownEditor/MarkdownEditorToolbar.d.ts +13 -0
  121. package/dist/types/src/components/MarkdownEditor/MarkdownEditorToolbar.d.ts.map +1 -0
  122. package/dist/types/src/components/MarkdownSettings/MarkdownSettings.d.ts +4 -4
  123. package/dist/types/src/components/MarkdownSettings/MarkdownSettings.d.ts.map +1 -1
  124. package/dist/types/src/components/MarkdownSettings/MarkdownSettings.stories.d.ts +94 -0
  125. package/dist/types/src/components/MarkdownSettings/MarkdownSettings.stories.d.ts.map +1 -0
  126. package/dist/types/src/components/MarkdownSettings/index.d.ts +1 -1
  127. package/dist/types/src/components/MarkdownSettings/index.d.ts.map +1 -1
  128. package/dist/types/src/components/index.d.ts +3 -3
  129. package/dist/types/src/components/index.d.ts.map +1 -1
  130. package/dist/types/src/containers/EditableMarkdownCard/EditableMarkdownCard.d.ts +15 -0
  131. package/dist/types/src/containers/EditableMarkdownCard/EditableMarkdownCard.d.ts.map +1 -0
  132. package/dist/types/src/containers/EditableMarkdownCard/index.d.ts +3 -0
  133. package/dist/types/src/containers/EditableMarkdownCard/index.d.ts.map +1 -0
  134. package/dist/types/src/containers/MarkdownCard/MarkdownCard.d.ts +8 -0
  135. package/dist/types/src/containers/MarkdownCard/MarkdownCard.d.ts.map +1 -0
  136. package/dist/types/src/containers/MarkdownCard/MarkdownCard.stories.d.ts +9 -0
  137. package/dist/types/src/containers/MarkdownCard/MarkdownCard.stories.d.ts.map +1 -0
  138. package/dist/types/src/containers/MarkdownCard/index.d.ts +2 -0
  139. package/dist/types/src/containers/MarkdownCard/index.d.ts.map +1 -0
  140. package/dist/types/src/containers/MarkdownCard/snippet.d.ts +17 -0
  141. package/dist/types/src/containers/MarkdownCard/snippet.d.ts.map +1 -0
  142. package/dist/types/src/containers/MarkdownContainer/MarkdownContainer.d.ts +36 -0
  143. package/dist/types/src/containers/MarkdownContainer/MarkdownContainer.d.ts.map +1 -0
  144. package/dist/types/src/containers/MarkdownContainer/MarkdownContainer.stories.d.ts +97 -0
  145. package/dist/types/src/containers/MarkdownContainer/MarkdownContainer.stories.d.ts.map +1 -0
  146. package/dist/types/src/containers/MarkdownContainer/index.d.ts +3 -0
  147. package/dist/types/src/containers/MarkdownContainer/index.d.ts.map +1 -0
  148. package/dist/types/src/containers/index.d.ts +6 -0
  149. package/dist/types/src/containers/index.d.ts.map +1 -0
  150. package/dist/types/src/hooks/index.d.ts +3 -1
  151. package/dist/types/src/hooks/index.d.ts.map +1 -1
  152. package/dist/types/src/hooks/useEditorMenuOptions.d.ts +9 -0
  153. package/dist/types/src/hooks/useEditorMenuOptions.d.ts.map +1 -0
  154. package/dist/types/src/hooks/useExtensions.d.ts +25 -0
  155. package/dist/types/src/hooks/useExtensions.d.ts.map +1 -0
  156. package/dist/types/src/hooks/useLinkQuery.d.ts +4 -0
  157. package/dist/types/src/hooks/useLinkQuery.d.ts.map +1 -0
  158. package/dist/types/src/index.d.ts +2 -3
  159. package/dist/types/src/index.d.ts.map +1 -1
  160. package/dist/types/src/meta.d.ts +2 -2
  161. package/dist/types/src/meta.d.ts.map +1 -1
  162. package/dist/types/src/operations/create-markdown.d.ts +5 -0
  163. package/dist/types/src/operations/create-markdown.d.ts.map +1 -0
  164. package/dist/types/src/operations/create.d.ts +5 -0
  165. package/dist/types/src/operations/create.d.ts.map +1 -0
  166. package/dist/types/src/operations/create.test.d.ts +2 -0
  167. package/dist/types/src/operations/create.test.d.ts.map +1 -0
  168. package/dist/types/src/operations/index.d.ts +3 -0
  169. package/dist/types/src/operations/index.d.ts.map +1 -0
  170. package/dist/types/src/operations/open.d.ts +5 -0
  171. package/dist/types/src/operations/open.d.ts.map +1 -0
  172. package/dist/types/src/operations/scroll-to-anchor.d.ts +5 -0
  173. package/dist/types/src/operations/scroll-to-anchor.d.ts.map +1 -0
  174. package/dist/types/src/operations/set-view-mode.d.ts +5 -0
  175. package/dist/types/src/operations/set-view-mode.d.ts.map +1 -0
  176. package/dist/types/src/operations/update-markdown.d.ts +5 -0
  177. package/dist/types/src/operations/update-markdown.d.ts.map +1 -0
  178. package/dist/types/src/operations/update.test.d.ts +2 -0
  179. package/dist/types/src/operations/update.test.d.ts.map +1 -0
  180. package/dist/types/src/plugin.d.ts +4 -0
  181. package/dist/types/src/plugin.d.ts.map +1 -0
  182. package/dist/types/src/testing.d.ts +6 -0
  183. package/dist/types/src/testing.d.ts.map +1 -0
  184. package/dist/types/src/translations.d.ts +74 -33
  185. package/dist/types/src/translations.d.ts.map +1 -1
  186. package/dist/types/src/types/Markdown.d.ts +32 -30
  187. package/dist/types/src/types/Markdown.d.ts.map +1 -1
  188. package/dist/types/src/types/MarkdownCapabilities.d.ts +32 -0
  189. package/dist/types/src/types/MarkdownCapabilities.d.ts.map +1 -0
  190. package/dist/types/src/types/MarkdownEvents.d.ts +3 -0
  191. package/dist/types/src/types/MarkdownEvents.d.ts.map +1 -0
  192. package/dist/types/src/types/MarkdownOperation.d.ts +64 -0
  193. package/dist/types/src/types/MarkdownOperation.d.ts.map +1 -0
  194. package/dist/types/src/types/Settings.d.ts +17 -0
  195. package/dist/types/src/types/Settings.d.ts.map +1 -0
  196. package/dist/types/src/types/index.d.ts +5 -2
  197. package/dist/types/src/types/index.d.ts.map +1 -1
  198. package/dist/types/src/types/types.d.ts +3 -2
  199. package/dist/types/src/types/types.d.ts.map +1 -1
  200. package/dist/types/src/util.d.ts +8 -5
  201. package/dist/types/src/util.d.ts.map +1 -1
  202. package/dist/types/src/util.test.d.ts +2 -0
  203. package/dist/types/src/util.test.d.ts.map +1 -0
  204. package/dist/types/tsconfig.tsbuildinfo +1 -1
  205. package/package.json +150 -72
  206. package/src/MarkdownPlugin.node.ts +20 -0
  207. package/src/MarkdownPlugin.test.ts +26 -0
  208. package/src/MarkdownPlugin.tsx +47 -117
  209. package/src/blueprints/index.ts +5 -0
  210. package/src/blueprints/markdown-blueprint.ts +43 -0
  211. package/src/capabilities/anchor-sort.ts +29 -22
  212. package/src/capabilities/app-graph-serializer.ts +52 -42
  213. package/src/capabilities/artifact-definition.ts +84 -85
  214. package/src/capabilities/blueprint-definition.ts +11 -31
  215. package/src/capabilities/comment-config.ts +32 -0
  216. package/src/capabilities/create-object.ts +30 -0
  217. package/src/capabilities/index.ts +15 -12
  218. package/src/capabilities/node.ts +13 -0
  219. package/src/capabilities/operation-handler.ts +16 -0
  220. package/src/capabilities/react-surface.tsx +115 -103
  221. package/src/capabilities/settings.ts +30 -18
  222. package/src/capabilities/state.ts +41 -25
  223. package/src/components/MarkdownEditor/FileUpload.tsx +63 -0
  224. package/src/components/MarkdownEditor/MarkdownEditor.stories.tsx +63 -39
  225. package/src/components/MarkdownEditor/MarkdownEditor.tsx +248 -256
  226. package/src/components/MarkdownEditor/MarkdownEditorContent.tsx +169 -0
  227. package/src/components/MarkdownEditor/MarkdownEditorToolbar.tsx +47 -0
  228. package/src/components/MarkdownSettings/MarkdownSettings.stories.tsx +40 -0
  229. package/src/components/MarkdownSettings/MarkdownSettings.tsx +23 -96
  230. package/src/components/MarkdownSettings/index.ts +1 -1
  231. package/src/components/index.ts +4 -5
  232. package/src/containers/EditableMarkdownCard/EditableMarkdownCard.tsx +42 -0
  233. package/src/containers/EditableMarkdownCard/index.ts +6 -0
  234. package/src/containers/MarkdownCard/MarkdownCard.stories.tsx +68 -0
  235. package/src/containers/MarkdownCard/MarkdownCard.tsx +67 -0
  236. package/src/containers/MarkdownCard/index.ts +5 -0
  237. package/src/containers/MarkdownCard/snippet.ts +54 -0
  238. package/src/containers/MarkdownContainer/MarkdownContainer.stories.tsx +135 -0
  239. package/src/containers/MarkdownContainer/MarkdownContainer.tsx +146 -0
  240. package/src/containers/MarkdownContainer/index.ts +6 -0
  241. package/src/containers/index.ts +11 -0
  242. package/src/hooks/index.ts +3 -1
  243. package/src/hooks/useEditorMenuOptions.ts +68 -0
  244. package/src/hooks/useExtensions.tsx +262 -0
  245. package/src/hooks/useLinkQuery.ts +92 -0
  246. package/src/index.ts +2 -5
  247. package/src/meta.ts +6 -6
  248. package/src/operations/create-markdown.ts +19 -0
  249. package/src/operations/create.conversations.json +1 -0
  250. package/src/operations/create.test.ts +97 -0
  251. package/src/operations/create.ts +26 -0
  252. package/src/operations/index.ts +14 -0
  253. package/src/operations/open.ts +25 -0
  254. package/src/operations/scroll-to-anchor.ts +38 -0
  255. package/src/operations/set-view-mode.ts +23 -0
  256. package/src/operations/update-markdown.ts +51 -0
  257. package/src/operations/update.conversations.json +1 -0
  258. package/src/operations/update.test.ts +214 -0
  259. package/src/plugin.ts +11 -0
  260. package/src/testing.ts +27 -0
  261. package/src/translations.ts +26 -32
  262. package/src/types/Markdown.ts +31 -32
  263. package/src/types/MarkdownCapabilities.ts +51 -0
  264. package/src/types/MarkdownEvents.ts +14 -0
  265. package/src/types/MarkdownOperation.ts +122 -0
  266. package/src/types/Settings.ts +65 -0
  267. package/src/types/index.ts +6 -2
  268. package/src/types/types.ts +7 -3
  269. package/src/util.test.ts +44 -0
  270. package/src/util.tsx +84 -9
  271. package/dist/lib/browser/MarkdownCard-JLUQITYK.mjs +0 -80
  272. package/dist/lib/browser/MarkdownCard-JLUQITYK.mjs.map +0 -7
  273. package/dist/lib/browser/MarkdownContainer-JW7TRDSA.mjs +0 -755
  274. package/dist/lib/browser/MarkdownContainer-JW7TRDSA.mjs.map +0 -7
  275. package/dist/lib/browser/anchor-sort-E33BSTYF.mjs +0 -32
  276. package/dist/lib/browser/anchor-sort-E33BSTYF.mjs.map +0 -7
  277. package/dist/lib/browser/app-graph-serializer-OX62DNPT.mjs +0 -51
  278. package/dist/lib/browser/app-graph-serializer-OX62DNPT.mjs.map +0 -7
  279. package/dist/lib/browser/blueprint-definition-5YKFUHRU.mjs +0 -11
  280. package/dist/lib/browser/chunk-BEE7VQPU.mjs +0 -78
  281. package/dist/lib/browser/chunk-BEE7VQPU.mjs.map +0 -7
  282. package/dist/lib/browser/chunk-F6JJLKLN.mjs +0 -102
  283. package/dist/lib/browser/chunk-F6JJLKLN.mjs.map +0 -7
  284. package/dist/lib/browser/chunk-LAVZ2W6X.mjs +0 -50
  285. package/dist/lib/browser/chunk-LAVZ2W6X.mjs.map +0 -7
  286. package/dist/lib/browser/chunk-ODB2PTBP.mjs +0 -28
  287. package/dist/lib/browser/chunk-ODB2PTBP.mjs.map +0 -7
  288. package/dist/lib/browser/chunk-OY6CGPOO.mjs +0 -16
  289. package/dist/lib/browser/chunk-OY6CGPOO.mjs.map +0 -7
  290. package/dist/lib/browser/chunk-SUOK6YMI.mjs +0 -22
  291. package/dist/lib/browser/chunk-SUOK6YMI.mjs.map +0 -7
  292. package/dist/lib/browser/chunk-Z7P6JGGW.mjs +0 -53
  293. package/dist/lib/browser/chunk-Z7P6JGGW.mjs.map +0 -7
  294. package/dist/lib/browser/index.mjs +0 -173
  295. package/dist/lib/browser/index.mjs.map +0 -7
  296. package/dist/lib/browser/intent-resolver-WDDH56JC.mjs +0 -62
  297. package/dist/lib/browser/intent-resolver-WDDH56JC.mjs.map +0 -7
  298. package/dist/lib/browser/meta.json +0 -1
  299. package/dist/lib/browser/react-surface-L3NTMD4D.mjs +0 -215
  300. package/dist/lib/browser/react-surface-L3NTMD4D.mjs.map +0 -7
  301. package/dist/lib/browser/settings-AABBTB4Q.mjs +0 -28
  302. package/dist/lib/browser/settings-AABBTB4Q.mjs.map +0 -7
  303. package/dist/lib/browser/state-FTHQQX7V.mjs +0 -37
  304. package/dist/lib/browser/state-FTHQQX7V.mjs.map +0 -7
  305. package/dist/lib/browser/toolkit-2AJTHG74.mjs +0 -74
  306. package/dist/lib/browser/toolkit-2AJTHG74.mjs.map +0 -7
  307. package/dist/lib/browser/types/index.mjs +0 -10
  308. package/dist/lib/node-esm/MarkdownCard-XL5EVSJ7.mjs +0 -81
  309. package/dist/lib/node-esm/MarkdownCard-XL5EVSJ7.mjs.map +0 -7
  310. package/dist/lib/node-esm/MarkdownContainer-HRGQXIXP.mjs +0 -756
  311. package/dist/lib/node-esm/MarkdownContainer-HRGQXIXP.mjs.map +0 -7
  312. package/dist/lib/node-esm/anchor-sort-ALP2NH24.mjs +0 -33
  313. package/dist/lib/node-esm/anchor-sort-ALP2NH24.mjs.map +0 -7
  314. package/dist/lib/node-esm/app-graph-serializer-56TD3BMX.mjs +0 -52
  315. package/dist/lib/node-esm/app-graph-serializer-56TD3BMX.mjs.map +0 -7
  316. package/dist/lib/node-esm/blueprint-definition-GVW67KGV.mjs +0 -12
  317. package/dist/lib/node-esm/chunk-CB2R4YIY.mjs +0 -17
  318. package/dist/lib/node-esm/chunk-CB2R4YIY.mjs.map +0 -7
  319. package/dist/lib/node-esm/chunk-DVK63TD3.mjs +0 -103
  320. package/dist/lib/node-esm/chunk-DVK63TD3.mjs.map +0 -7
  321. package/dist/lib/node-esm/chunk-FXILAQ5F.mjs +0 -79
  322. package/dist/lib/node-esm/chunk-FXILAQ5F.mjs.map +0 -7
  323. package/dist/lib/node-esm/chunk-J7A6TUB2.mjs +0 -54
  324. package/dist/lib/node-esm/chunk-J7A6TUB2.mjs.map +0 -7
  325. package/dist/lib/node-esm/chunk-JC2YWB5D.mjs +0 -24
  326. package/dist/lib/node-esm/chunk-JC2YWB5D.mjs.map +0 -7
  327. package/dist/lib/node-esm/chunk-O6EXWGGS.mjs +0 -51
  328. package/dist/lib/node-esm/chunk-O6EXWGGS.mjs.map +0 -7
  329. package/dist/lib/node-esm/chunk-VCG2U522.mjs +0 -29
  330. package/dist/lib/node-esm/chunk-VCG2U522.mjs.map +0 -7
  331. package/dist/lib/node-esm/index.mjs +0 -174
  332. package/dist/lib/node-esm/index.mjs.map +0 -7
  333. package/dist/lib/node-esm/intent-resolver-2I5HKCUU.mjs +0 -63
  334. package/dist/lib/node-esm/intent-resolver-2I5HKCUU.mjs.map +0 -7
  335. package/dist/lib/node-esm/meta.json +0 -1
  336. package/dist/lib/node-esm/react-surface-YZSZFR5D.mjs +0 -216
  337. package/dist/lib/node-esm/react-surface-YZSZFR5D.mjs.map +0 -7
  338. package/dist/lib/node-esm/settings-CXGR6DH4.mjs +0 -29
  339. package/dist/lib/node-esm/settings-CXGR6DH4.mjs.map +0 -7
  340. package/dist/lib/node-esm/state-NWMQ3XAI.mjs +0 -38
  341. package/dist/lib/node-esm/state-NWMQ3XAI.mjs.map +0 -7
  342. package/dist/lib/node-esm/toolkit-RC44I2MI.mjs +0 -75
  343. package/dist/lib/node-esm/toolkit-RC44I2MI.mjs.map +0 -7
  344. package/dist/lib/node-esm/types/index.mjs +0 -11
  345. package/dist/types/src/capabilities/capabilities.d.ts +0 -12
  346. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  347. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  348. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  349. package/dist/types/src/capabilities/toolkit.d.ts +0 -4
  350. package/dist/types/src/capabilities/toolkit.d.ts.map +0 -1
  351. package/dist/types/src/components/MarkdownCard/MarkdownCard.d.ts +0 -7
  352. package/dist/types/src/components/MarkdownCard/MarkdownCard.d.ts.map +0 -1
  353. package/dist/types/src/components/MarkdownCard/MarkdownCard.stories.d.ts +0 -10
  354. package/dist/types/src/components/MarkdownCard/MarkdownCard.stories.d.ts.map +0 -1
  355. package/dist/types/src/components/MarkdownCard/index.d.ts +0 -4
  356. package/dist/types/src/components/MarkdownCard/index.d.ts.map +0 -1
  357. package/dist/types/src/components/MarkdownContainer.d.ts +0 -18
  358. package/dist/types/src/components/MarkdownContainer.d.ts.map +0 -1
  359. package/dist/types/src/components/MarkdownContainer.stories.d.ts +0 -55
  360. package/dist/types/src/components/MarkdownContainer.stories.d.ts.map +0 -1
  361. package/dist/types/src/components/Suggestions.stories.d.ts +0 -12
  362. package/dist/types/src/components/Suggestions.stories.d.ts.map +0 -1
  363. package/dist/types/src/components/Toolbar.stories.d.ts +0 -48
  364. package/dist/types/src/components/Toolbar.stories.d.ts.map +0 -1
  365. package/dist/types/src/events.d.ts +0 -4
  366. package/dist/types/src/events.d.ts.map +0 -1
  367. package/dist/types/src/extensions.d.ts +0 -22
  368. package/dist/types/src/extensions.d.ts.map +0 -1
  369. package/dist/types/src/functions/diff.d.ts +0 -6
  370. package/dist/types/src/functions/diff.d.ts.map +0 -1
  371. package/dist/types/src/functions/index.d.ts +0 -3
  372. package/dist/types/src/functions/index.d.ts.map +0 -1
  373. package/dist/types/src/functions/open.d.ts +0 -7
  374. package/dist/types/src/functions/open.d.ts.map +0 -1
  375. package/dist/types/src/hooks/useSelectCurrentThread.d.ts +0 -6
  376. package/dist/types/src/hooks/useSelectCurrentThread.d.ts.map +0 -1
  377. package/dist/types/src/types/MarkdownAction.d.ts +0 -33
  378. package/dist/types/src/types/MarkdownAction.d.ts.map +0 -1
  379. package/src/capabilities/capabilities.ts +0 -21
  380. package/src/capabilities/intent-resolver.ts +0 -57
  381. package/src/capabilities/toolkit.ts +0 -47
  382. package/src/components/MarkdownCard/MarkdownCard.stories.tsx +0 -79
  383. package/src/components/MarkdownCard/MarkdownCard.tsx +0 -75
  384. package/src/components/MarkdownCard/index.ts +0 -9
  385. package/src/components/MarkdownContainer.stories.tsx +0 -100
  386. package/src/components/MarkdownContainer.tsx +0 -255
  387. package/src/components/Suggestions.stories.tsx +0 -218
  388. package/src/components/Toolbar.stories.tsx +0 -118
  389. package/src/events.ts +0 -11
  390. package/src/extensions.tsx +0 -300
  391. package/src/functions/diff.ts +0 -35
  392. package/src/functions/index.ts +0 -6
  393. package/src/functions/open.ts +0 -30
  394. package/src/hooks/useSelectCurrentThread.tsx +0 -56
  395. package/src/types/MarkdownAction.ts +0 -29
  396. /package/dist/lib/{browser/types → neutral/blueprints}/index.mjs.map +0 -0
  397. /package/dist/lib/{browser/blueprint-definition-5YKFUHRU.mjs.map → neutral/chunk-J5LGTIGS.mjs.map} +0 -0
  398. /package/dist/lib/{node-esm/types → neutral}/index.mjs.map +0 -0
  399. /package/dist/lib/{node-esm/blueprint-definition-GVW67KGV.mjs.map → neutral/meta.mjs.map} +0 -0
@@ -0,0 +1,30 @@
1
+ import "./chunk-J5LGTIGS.mjs";
2
+
3
+ // src/capabilities/comment-config.ts
4
+ import * as Effect from "effect/Effect";
5
+ import { Capability } from "@dxos/app-framework";
6
+ import { AppCapabilities } from "@dxos/app-toolkit";
7
+ import { createDocAccessor, getTextInRange } from "@dxos/echo-db";
8
+ import { MarkdownOperation } from "#types";
9
+ import { Markdown } from "#types";
10
+ var comment_config_default = Capability.makeModule(Effect.fnUntraced(function* () {
11
+ const config = {
12
+ id: Markdown.Document.typename,
13
+ comments: "anchored",
14
+ selectionMode: "multi-range",
15
+ getAnchorLabel: (doc, anchor) => {
16
+ if (doc.content) {
17
+ const [start, end] = anchor.split(":");
18
+ return getTextInRange(createDocAccessor(doc.content.target, [
19
+ "content"
20
+ ]), start, end);
21
+ }
22
+ },
23
+ scrollToAnchor: MarkdownOperation.ScrollToAnchor
24
+ };
25
+ return Capability.contributes(AppCapabilities.CommentConfig, config);
26
+ }));
27
+ export {
28
+ comment_config_default as default
29
+ };
30
+ //# sourceMappingURL=comment-config-7VTHRUIZ.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/comment-config.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability } from '@dxos/app-framework';\nimport { AppCapabilities } from '@dxos/app-toolkit';\n// eslint-disable-next-line unused-imports/no-unused-imports\nimport type { Operation } from '@dxos/compute';\nimport { createDocAccessor, getTextInRange } from '@dxos/echo-db';\n\nimport { MarkdownOperation } from '#types';\nimport { Markdown } from '#types';\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n const config: AppCapabilities.CommentConfig = {\n id: Markdown.Document.typename,\n comments: 'anchored',\n selectionMode: 'multi-range',\n getAnchorLabel: (doc: Markdown.Document, anchor: string): string | undefined => {\n if (doc.content) {\n const [start, end] = anchor.split(':');\n return getTextInRange(createDocAccessor(doc.content.target!, ['content']), start, end);\n }\n },\n scrollToAnchor: MarkdownOperation.ScrollToAnchor,\n };\n return Capability.contributes(AppCapabilities.CommentConfig, config);\n }),\n);\n"],
5
+ "mappings": ";;;AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,uBAAuB;AAGhC,SAASC,mBAAmBC,sBAAsB;AAElD,SAASC,yBAAyB;AAClC,SAASC,gBAAgB;AAEzB,IAAA,yBAAeL,WAAWM,WACjBC,kBAAW,aAAA;AAChB,QAAMC,SAAwC;IAC5CC,IAAIJ,SAASK,SAASC;IACtBC,UAAU;IACVC,eAAe;IACfC,gBAAgB,CAACC,KAAwBC,WAAAA;AACvC,UAAID,IAAIE,SAAS;AACf,cAAM,CAACC,OAAOC,GAAAA,IAAOH,OAAOI,MAAM,GAAA;AAClC,eAAOjB,eAAeD,kBAAkBa,IAAIE,QAAQI,QAAS;UAAC;SAAU,GAAGH,OAAOC,GAAAA;MACpF;IACF;IACAG,gBAAgBlB,kBAAkBmB;EACpC;AACA,SAAOvB,WAAWwB,YAAYvB,gBAAgBwB,eAAejB,MAAAA;AAC/D,CAAA,CAAA;",
6
+ "names": ["Effect", "Capability", "AppCapabilities", "createDocAccessor", "getTextInRange", "MarkdownOperation", "Markdown", "makeModule", "fnUntraced", "config", "id", "Document", "typename", "comments", "selectionMode", "getAnchorLabel", "doc", "anchor", "content", "start", "end", "split", "target", "scrollToAnchor", "ScrollToAnchor", "contributes", "CommentConfig"]
7
+ }
@@ -0,0 +1,370 @@
1
+ import "../chunk-J5LGTIGS.mjs";
2
+
3
+ // src/components/index.ts
4
+ import { lazy } from "react";
5
+
6
+ // src/components/MarkdownEditor/MarkdownEditor.tsx
7
+ import { createContext } from "@radix-ui/react-context";
8
+ import React4, { useCallback as useCallback3, useMemo as useMemo2, useState as useState2 } from "react";
9
+ import { createPortal as createPortal2 } from "react-dom";
10
+ import { Surface } from "@dxos/app-framework/ui";
11
+ import { AppSurface } from "@dxos/app-toolkit/ui";
12
+ import { Obj } from "@dxos/echo";
13
+ import { DXN } from "@dxos/keys";
14
+ import { useClient } from "@dxos/react-client";
15
+ import { createEditorController, useEditorContext } from "@dxos/react-ui-editor";
16
+ import { composable as composable2, composableProps as composableProps2 } from "@dxos/ui-theme";
17
+ import { isNonNullable } from "@dxos/util";
18
+ import { useEditorMenuOptions, useExtensions } from "#hooks";
19
+
20
+ // src/components/MarkdownEditor/MarkdownEditorContent.tsx
21
+ import { RegistryContext } from "@effect-atom/atom-react";
22
+ import React, { forwardRef, useCallback, useContext, useEffect, useImperativeHandle, useMemo } from "react";
23
+ import { useCapabilities } from "@dxos/app-framework/ui";
24
+ import { useThemeContext, useTranslation } from "@dxos/react-ui";
25
+ import { useTextEditor } from "@dxos/react-ui-editor";
26
+ import { mobileSlots, createBasicExtensions, createMarkdownExtensions, createThemeExtensions, dropFile, documentSlots, formattingListener, processEditorPayload, editorClassNames } from "@dxos/ui-editor";
27
+ import { mx } from "@dxos/ui-theme";
28
+ import { isTruthy } from "@dxos/util";
29
+ import { meta } from "#meta";
30
+ import { MarkdownCapabilities } from "#types";
31
+ var MarkdownEditorContent = /* @__PURE__ */ forwardRef(({ classNames, id, attendableId, role, compact, viewMode, initialValue, editorStateStore, toolbarState, extensions, slots, onFileUpload }, forwardedRef) => {
32
+ const { t } = useTranslation(meta.id);
33
+ const { themeMode } = useThemeContext();
34
+ const registry = useContext(RegistryContext);
35
+ const updateToolbarState = useCallback((formatting) => {
36
+ if (toolbarState) {
37
+ registry.set(toolbarState, {
38
+ ...registry.get(toolbarState),
39
+ ...formatting
40
+ });
41
+ }
42
+ }, [
43
+ registry,
44
+ toolbarState
45
+ ]);
46
+ const { scrollTo, selection } = useMemo(() => editorStateStore?.getState(id) ?? {}, [
47
+ id
48
+ ]);
49
+ const { parentRef, view: editorView, focusAttributes } = useTextEditor(() => ({
50
+ ...role !== "section" && {
51
+ id,
52
+ scrollTo,
53
+ selection,
54
+ selectionEnd: true
55
+ },
56
+ initialValue,
57
+ extensions: [
58
+ createBasicExtensions({
59
+ readOnly: viewMode === "readonly",
60
+ placeholder: t("editor.placeholder"),
61
+ scrollPastEnd: !compact,
62
+ search: true
63
+ }),
64
+ createThemeExtensions({
65
+ themeMode,
66
+ slots: slots ?? (compact ? mobileSlots : documentSlots),
67
+ syntaxHighlighting: true
68
+ }),
69
+ createMarkdownExtensions(),
70
+ toolbarState && formattingListener(updateToolbarState),
71
+ role !== "section" && onFileUpload && dropFile({
72
+ // TODO(wittjosiah): Factor out to file uploader plugin.
73
+ onDrop: async (view, { files }) => {
74
+ const file = files[0];
75
+ const info = file && onFileUpload ? await onFileUpload(file) : void 0;
76
+ if (info) {
77
+ processEditorPayload(view, {
78
+ type: "image",
79
+ data: info.url
80
+ });
81
+ }
82
+ }
83
+ }),
84
+ extensions
85
+ ].filter(isTruthy)
86
+ }), [
87
+ id,
88
+ viewMode,
89
+ themeMode,
90
+ extensions,
91
+ compact
92
+ ]);
93
+ useImperativeHandle(forwardedRef, () => editorView, [
94
+ editorView
95
+ ]);
96
+ const [editorViewRegistry] = useCapabilities(MarkdownCapabilities.EditorViews);
97
+ useEffect(() => {
98
+ if (editorView && editorViewRegistry) {
99
+ editorViewRegistry.register(attendableId ?? id, editorView, id);
100
+ return () => editorViewRegistry.unregister(attendableId ?? id);
101
+ }
102
+ }, [
103
+ editorView,
104
+ editorViewRegistry,
105
+ attendableId,
106
+ id
107
+ ]);
108
+ useTest(editorView);
109
+ return /* @__PURE__ */ React.createElement("div", {
110
+ ...focusAttributes,
111
+ className: mx(editorClassNames(role), classNames),
112
+ "data-testid": "composer.markdownRoot",
113
+ "data-popover-collision-boundary": true,
114
+ ref: parentRef
115
+ });
116
+ });
117
+ var useTest = (view) => {
118
+ useEffect(() => {
119
+ const composer = window.composer;
120
+ if (composer) {
121
+ composer.editorView = view;
122
+ }
123
+ }, [
124
+ view
125
+ ]);
126
+ };
127
+
128
+ // src/components/MarkdownEditor/MarkdownEditorToolbar.tsx
129
+ import React3, { useCallback as useCallback2, useState } from "react";
130
+ import { Editor } from "@dxos/react-ui-editor";
131
+ import { composable, composableProps } from "@dxos/ui-theme";
132
+
133
+ // src/components/MarkdownEditor/FileUpload.tsx
134
+ import React2, { forwardRef as forwardRef2, useEffect as useEffect2, useImperativeHandle as useImperativeHandle2 } from "react";
135
+ import { createPortal } from "react-dom";
136
+ import { useDropzone } from "react-dropzone";
137
+ import { addLink } from "@dxos/ui-editor";
138
+ var IMAGE_FILES = [
139
+ ".jpg",
140
+ ".jpeg",
141
+ ".png",
142
+ ".gif"
143
+ ];
144
+ var FileUpload = /* @__PURE__ */ forwardRef2(({ editorView, onFileUpload }, forwardedRef) => {
145
+ const { acceptedFiles, open, inputRef } = useDropzone({
146
+ disabled: !onFileUpload,
147
+ multiple: false,
148
+ noDrag: true,
149
+ accept: {
150
+ "image/*": IMAGE_FILES
151
+ }
152
+ });
153
+ useImperativeHandle2(forwardedRef, () => open, []);
154
+ useEffect2(() => {
155
+ if (editorView && acceptedFiles.length && onFileUpload) {
156
+ requestAnimationFrame(async () => {
157
+ const f = acceptedFiles[0];
158
+ const file = new File([
159
+ f
160
+ ], f.name, {
161
+ type: f.type,
162
+ lastModified: f.lastModified
163
+ });
164
+ const info = await onFileUpload(file);
165
+ if (info) {
166
+ addLink({
167
+ url: info.url,
168
+ image: true
169
+ })(editorView);
170
+ }
171
+ });
172
+ }
173
+ }, [
174
+ editorView,
175
+ acceptedFiles,
176
+ onFileUpload
177
+ ]);
178
+ if (!onFileUpload) {
179
+ return null;
180
+ }
181
+ return /* @__PURE__ */ React2.createElement(React2.Fragment, null, /* @__PURE__ */ createPortal(/* @__PURE__ */ React2.createElement("input", {
182
+ ref: inputRef
183
+ }), document.body), " ");
184
+ });
185
+
186
+ // src/components/MarkdownEditor/MarkdownEditorToolbar.tsx
187
+ var MarkdownEditorToolbar = composable(({ id, role, editorView, customActions, onAction, onFileUpload, onViewModeChange, ...props }, forwardedRef) => {
188
+ const { className, ...rest } = composableProps(props);
189
+ const [upload, setUpload] = useState(null);
190
+ const uploadRef = useCallback2((next) => setUpload(() => next), []);
191
+ if (!editorView) {
192
+ return /* @__PURE__ */ React3.createElement("div", {
193
+ className,
194
+ ...rest,
195
+ ref: forwardedRef
196
+ });
197
+ }
198
+ return /* @__PURE__ */ React3.createElement("div", {
199
+ className: "contents",
200
+ ref: forwardedRef
201
+ }, /* @__PURE__ */ React3.createElement(Editor.Toolbar, {
202
+ ...rest,
203
+ classNames: className,
204
+ attendableId: id,
205
+ role,
206
+ customActions,
207
+ onAction,
208
+ onImageUpload: upload ?? void 0,
209
+ onViewModeChange
210
+ }), onFileUpload && /* @__PURE__ */ React3.createElement(FileUpload, {
211
+ ref: uploadRef,
212
+ editorView,
213
+ onFileUpload
214
+ }));
215
+ });
216
+
217
+ // src/components/MarkdownEditor/MarkdownEditor.tsx
218
+ var [MarkdownEditorContextProvider, useMarkdownEditorContext] = createContext("MarkdownEditor.Context");
219
+ var MarkdownEditorProvider = ({ children, id, attendableId, object, settings, compact, viewMode, selectionManager, editorStateStore, extensions: extensionsProp, slashCommandGroups, onLinkQuery, onSelectObject, onAction, onFileUpload, onViewModeChange }) => {
220
+ const [previewBlocks, setPreviewBlocks] = useState2([]);
221
+ const previewOptions = useMemo2(() => ({
222
+ db: Obj.isObject(object) ? Obj.getDatabase(object) : void 0,
223
+ addBlockContainer: (block) => {
224
+ setPreviewBlocks((prev) => [
225
+ ...prev,
226
+ block
227
+ ]);
228
+ },
229
+ removeBlockContainer: ({ link }) => {
230
+ setPreviewBlocks((prev) => prev.filter(({ link: prevLink }) => prevLink.dxn !== link.dxn));
231
+ }
232
+ }), [
233
+ object
234
+ ]);
235
+ const menuOptions = useEditorMenuOptions({
236
+ slashCommandGroups,
237
+ onLinkQuery
238
+ });
239
+ const coreExtensions = useExtensions({
240
+ id,
241
+ object,
242
+ compact,
243
+ viewMode,
244
+ selectionManager,
245
+ editorStateStore,
246
+ previewOptions,
247
+ settings,
248
+ onSelectObject
249
+ });
250
+ const extensions = useMemo2(() => [
251
+ coreExtensions,
252
+ extensionsProp
253
+ ].filter(isNonNullable).flat(), [
254
+ coreExtensions,
255
+ extensionsProp
256
+ ]);
257
+ const editorRootProps = useMemo2(() => ({
258
+ extensions,
259
+ viewMode,
260
+ getMenu: menuOptions.getMenu,
261
+ trigger: menuOptions.trigger,
262
+ placeholder: menuOptions.placeholder,
263
+ ...menuOptions.filter !== void 0 ? {
264
+ filter: menuOptions.filter
265
+ } : {},
266
+ ...menuOptions.triggerKey !== void 0 ? {
267
+ triggerKey: menuOptions.triggerKey
268
+ } : {}
269
+ }), [
270
+ extensions,
271
+ viewMode,
272
+ menuOptions
273
+ ]);
274
+ const markdownContextValue = useMemo2(() => ({
275
+ id,
276
+ attendableId,
277
+ compact,
278
+ viewMode,
279
+ previewBlocks,
280
+ onAction,
281
+ onFileUpload,
282
+ onViewModeChange
283
+ }), [
284
+ id,
285
+ attendableId,
286
+ compact,
287
+ viewMode,
288
+ previewBlocks,
289
+ onAction,
290
+ onFileUpload,
291
+ onViewModeChange
292
+ ]);
293
+ return /* @__PURE__ */ React4.createElement(MarkdownEditorContextProvider, markdownContextValue, children(editorRootProps));
294
+ };
295
+ MarkdownEditorProvider.displayName = "MarkdownEditor.Provider";
296
+ var MARKDOWN_EDITOR_CONTENT_NAME = "MarkdownEditor.Content";
297
+ var MarkdownEditorContent2 = composable2(({ compact: compactProp, ...props }, _forwardedRef) => {
298
+ const { id, attendableId, compact = compactProp, viewMode, onFileUpload } = useMarkdownEditorContext(MARKDOWN_EDITOR_CONTENT_NAME);
299
+ const { extensions, setController, state } = useEditorContext(MARKDOWN_EDITOR_CONTENT_NAME);
300
+ const handleRef = useCallback3((view) => {
301
+ setController(createEditorController(view));
302
+ }, [
303
+ setController
304
+ ]);
305
+ return /* @__PURE__ */ React4.createElement(MarkdownEditorContent, {
306
+ ...composableProps2(props),
307
+ id,
308
+ attendableId,
309
+ compact,
310
+ viewMode,
311
+ toolbarState: state,
312
+ extensions,
313
+ onFileUpload,
314
+ ref: handleRef
315
+ });
316
+ });
317
+ MarkdownEditorContent2.displayName = MARKDOWN_EDITOR_CONTENT_NAME;
318
+ var MARKDOWN_EDITOR_TOOLBAR_NAME = "MarkdownEditor.Toolbar";
319
+ var MarkdownEditorToolbar2 = (props) => {
320
+ const { id, attendableId, onAction, onFileUpload, onViewModeChange } = useMarkdownEditorContext(MARKDOWN_EDITOR_TOOLBAR_NAME);
321
+ const { controller } = useEditorContext(MARKDOWN_EDITOR_TOOLBAR_NAME);
322
+ return /* @__PURE__ */ React4.createElement(MarkdownEditorToolbar, {
323
+ ...props,
324
+ id: attendableId ?? id,
325
+ editorView: controller?.view ?? void 0,
326
+ onAction,
327
+ onFileUpload,
328
+ onViewModeChange
329
+ });
330
+ };
331
+ MarkdownEditorToolbar2.displayName = MARKDOWN_EDITOR_TOOLBAR_NAME;
332
+ var MARKDOWN_EDITOR_BLOCKS_NAME = "MarkdownEditor.Blocks";
333
+ var MarkdownEditorBlocks = (_props) => {
334
+ const { previewBlocks } = useMarkdownEditorContext(MARKDOWN_EDITOR_BLOCKS_NAME);
335
+ return /* @__PURE__ */ React4.createElement(React4.Fragment, null, previewBlocks.map(({ link, el }) => /* @__PURE__ */ React4.createElement(PreviewBlock, {
336
+ key: link.dxn,
337
+ link,
338
+ el
339
+ })));
340
+ };
341
+ MarkdownEditorBlocks.displayName = MARKDOWN_EDITOR_BLOCKS_NAME;
342
+ var PreviewBlock = ({ el, link }) => {
343
+ const client = useClient();
344
+ const dxn = DXN.parse(link.dxn);
345
+ const subject = client.graph.makeRef(dxn).target;
346
+ const data = useMemo2(() => ({
347
+ subject
348
+ }), [
349
+ subject
350
+ ]);
351
+ return /* @__PURE__ */ createPortal2(/* @__PURE__ */ React4.createElement(Surface.Surface, {
352
+ type: AppSurface.Card,
353
+ data,
354
+ limit: 1
355
+ }), el);
356
+ };
357
+ var MarkdownEditor = {
358
+ Content: MarkdownEditorContent2,
359
+ Toolbar: MarkdownEditorToolbar2,
360
+ Blocks: MarkdownEditorBlocks
361
+ };
362
+
363
+ // src/components/index.ts
364
+ var MarkdownSettings = lazy(() => import("../MarkdownSettings-YCTZJL5V.mjs"));
365
+ export {
366
+ MarkdownEditor,
367
+ MarkdownEditorProvider,
368
+ MarkdownSettings
369
+ };
370
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/components/index.ts", "../../../../src/components/MarkdownEditor/MarkdownEditor.tsx", "../../../../src/components/MarkdownEditor/MarkdownEditorContent.tsx", "../../../../src/components/MarkdownEditor/MarkdownEditorToolbar.tsx", "../../../../src/components/MarkdownEditor/FileUpload.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { type ComponentType, lazy } from 'react';\n\nexport * from './MarkdownEditor';\n\nexport const MarkdownSettings: ComponentType<any> = lazy(() => import('./MarkdownSettings'));\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Extension } from '@codemirror/state';\nimport { type EditorView } from '@codemirror/view';\nimport { type Atom } from '@effect-atom/atom-react';\nimport { createContext } from '@radix-ui/react-context';\nimport React, { type ReactNode, useCallback, useMemo, useState } from 'react';\nimport { createPortal } from 'react-dom';\n\nimport { Surface } from '@dxos/app-framework/ui';\nimport { AppSurface } from '@dxos/app-toolkit/ui';\nimport { Obj } from '@dxos/echo';\nimport { DXN } from '@dxos/keys';\nimport { useClient } from '@dxos/react-client';\nimport { type ThemedClassName } from '@dxos/react-ui';\nimport {\n type EditorRootProps,\n type EditorToolbarState,\n createEditorController,\n useEditorContext,\n} from '@dxos/react-ui-editor';\nimport { type PreviewBlock, type PreviewOptions } from '@dxos/ui-editor';\nimport { composable, composableProps } from '@dxos/ui-theme';\nimport { isNonNullable } from '@dxos/util';\n\nimport {\n type DocumentType,\n type ExtensionsOptions,\n type UseEditorMenuOptionsProps,\n useEditorMenuOptions,\n useExtensions,\n} from '#hooks';\n\nimport {\n MarkdownEditorContent as NaturalMarkdownEditorContent,\n type MarkdownEditorContentProps as NaturalMarkdownEditorContentProps,\n} from './MarkdownEditorContent';\nimport {\n MarkdownEditorToolbar as NaturalMarkdownToolbar,\n type MarkdownEditorToolbarProps as NaturalMarkdownToolbarProps,\n} from './MarkdownEditorToolbar';\n\n//\n// Context\n//\n\ntype MarkdownEditorContextValue = {\n id: string;\n attendableId?: string;\n previewBlocks: PreviewBlock[];\n} & Pick<ExtensionsOptions, 'compact' | 'viewMode'> &\n Pick<NaturalMarkdownToolbarProps, 'onAction' | 'onFileUpload' | 'onViewModeChange'>;\n\nconst [MarkdownEditorContextProvider, useMarkdownEditorContext] =\n createContext<MarkdownEditorContextValue>('MarkdownEditor.Context');\n\n/**\n * Props to spread onto `Editor.Root` from `MarkdownEditorProvider`'s render callback.\n */\nexport type MarkdownEditorEditorRootProps = Omit<EditorRootProps, 'children'>;\n\n//\n// MarkdownEditorProvider\n//\n\nexport type MarkdownEditorProviderProps = {\n object?: DocumentType;\n extensions?: Extension[];\n children: (editorRootProps: MarkdownEditorEditorRootProps) => ReactNode;\n} & Pick<\n MarkdownEditorContextValue,\n 'id' | 'attendableId' | 'viewMode' | 'compact' | 'onAction' | 'onFileUpload' | 'onViewModeChange'\n> &\n Pick<UseEditorMenuOptionsProps, 'slashCommandGroups' | 'onLinkQuery'> &\n Pick<ExtensionsOptions, 'editorStateStore' | 'selectionManager' | 'settings' | 'onSelectObject'>;\n\nexport const MarkdownEditorProvider = ({\n children,\n id,\n attendableId,\n object,\n settings,\n compact,\n viewMode,\n selectionManager,\n editorStateStore,\n extensions: extensionsProp,\n slashCommandGroups,\n onLinkQuery,\n onSelectObject,\n onAction,\n onFileUpload,\n onViewModeChange,\n}: MarkdownEditorProviderProps) => {\n // Preview blocks.\n const [previewBlocks, setPreviewBlocks] = useState<PreviewBlock[]>([]);\n const previewOptions = useMemo<PreviewOptions>(\n () => ({\n db: Obj.isObject(object) ? Obj.getDatabase(object) : undefined,\n addBlockContainer: (block) => {\n setPreviewBlocks((prev) => [...prev, block]);\n },\n removeBlockContainer: ({ link }) => {\n setPreviewBlocks((prev) => prev.filter(({ link: prevLink }) => prevLink.dxn !== link.dxn));\n },\n }),\n [object],\n );\n\n // Context menu options (Editor.Root calls useEditorMenu with these props).\n const menuOptions = useEditorMenuOptions({ slashCommandGroups, onLinkQuery });\n\n // Core markdown extensions (popover/menu extension is added by Editor.Root).\n const coreExtensions = useExtensions({\n id,\n object,\n compact,\n viewMode,\n selectionManager,\n editorStateStore,\n previewOptions,\n settings,\n onSelectObject,\n });\n\n const extensions = useMemo(\n () => [coreExtensions, extensionsProp].filter(isNonNullable).flat(),\n [coreExtensions, extensionsProp],\n );\n\n const editorRootProps = useMemo<MarkdownEditorEditorRootProps>(\n () => ({\n extensions,\n viewMode,\n getMenu: menuOptions.getMenu,\n trigger: menuOptions.trigger,\n placeholder: menuOptions.placeholder,\n ...(menuOptions.filter !== undefined ? { filter: menuOptions.filter } : {}),\n ...(menuOptions.triggerKey !== undefined ? { triggerKey: menuOptions.triggerKey } : {}),\n }),\n [extensions, viewMode, menuOptions],\n );\n\n const markdownContextValue = useMemo<MarkdownEditorContextValue>(\n () => ({\n id,\n attendableId,\n compact,\n viewMode,\n previewBlocks,\n onAction,\n onFileUpload,\n onViewModeChange,\n }),\n [id, attendableId, compact, viewMode, previewBlocks, onAction, onFileUpload, onViewModeChange],\n );\n\n return (\n <MarkdownEditorContextProvider {...markdownContextValue}>{children(editorRootProps)}</MarkdownEditorContextProvider>\n );\n};\n\nMarkdownEditorProvider.displayName = 'MarkdownEditor.Provider';\n\n//\n// MarkdownEditor.Content\n//\n\nconst MARKDOWN_EDITOR_CONTENT_NAME = 'MarkdownEditor.Content';\n\ntype MarkdownEditorContentProps = Omit<NaturalMarkdownEditorContentProps, 'id' | 'extensions' | 'toolbarState'>;\n\nconst MarkdownEditorContent = composable<HTMLDivElement, MarkdownEditorContentProps>(\n ({ compact: compactProp, ...props }, _forwardedRef) => {\n const {\n id,\n attendableId,\n compact = compactProp,\n viewMode,\n onFileUpload,\n } = useMarkdownEditorContext(MARKDOWN_EDITOR_CONTENT_NAME);\n const { extensions, setController, state } = useEditorContext(MARKDOWN_EDITOR_CONTENT_NAME);\n\n const handleRef = useCallback(\n (view: EditorView | null) => {\n setController(createEditorController(view));\n },\n [setController],\n );\n\n return (\n <NaturalMarkdownEditorContent\n {...composableProps(props)}\n id={id}\n attendableId={attendableId}\n compact={compact}\n viewMode={viewMode}\n toolbarState={state as Atom.Writable<EditorToolbarState>}\n extensions={extensions}\n onFileUpload={onFileUpload}\n ref={handleRef}\n />\n );\n },\n);\n\nMarkdownEditorContent.displayName = MARKDOWN_EDITOR_CONTENT_NAME;\n\n//\n// MarkdownEditor.Toolbar\n//\n\nconst MARKDOWN_EDITOR_TOOLBAR_NAME = 'MarkdownEditor.Toolbar';\n\ntype MarkdownEditorToolbarProps = ThemedClassName<\n Omit<NaturalMarkdownToolbarProps, 'editorView' | 'onAction' | 'onFileUpload' | 'onViewModeChange' | 'id'>\n>;\n\nconst MarkdownEditorToolbar = (props: MarkdownEditorToolbarProps) => {\n const { id, attendableId, onAction, onFileUpload, onViewModeChange } =\n useMarkdownEditorContext(MARKDOWN_EDITOR_TOOLBAR_NAME);\n\n const { controller } = useEditorContext(MARKDOWN_EDITOR_TOOLBAR_NAME);\n\n return (\n <NaturalMarkdownToolbar\n {...props}\n id={attendableId ?? id}\n editorView={controller?.view ?? undefined}\n onAction={onAction}\n onFileUpload={onFileUpload}\n onViewModeChange={onViewModeChange}\n />\n );\n};\n\nMarkdownEditorToolbar.displayName = MARKDOWN_EDITOR_TOOLBAR_NAME;\n\n//\n// MarkdownEditor.Blocks (embedded objects)\n//\n\nconst MARKDOWN_EDITOR_BLOCKS_NAME = 'MarkdownEditor.Blocks';\n\ntype MarkdownEditorBlocksProps = {};\n\nconst MarkdownEditorBlocks = (_props: MarkdownEditorBlocksProps) => {\n const { previewBlocks } = useMarkdownEditorContext(MARKDOWN_EDITOR_BLOCKS_NAME);\n\n return (\n <>\n {previewBlocks.map(({ link, el }) => (\n <PreviewBlock key={link.dxn} link={link} el={el} />\n ))}\n </>\n );\n};\n\nMarkdownEditorBlocks.displayName = MARKDOWN_EDITOR_BLOCKS_NAME;\n\nconst PreviewBlock = ({ el, link }: PreviewBlock) => {\n const client = useClient();\n const dxn = DXN.parse(link.dxn);\n const subject = client.graph.makeRef(dxn).target;\n const data = useMemo(() => ({ subject }), [subject]);\n\n return createPortal(<Surface.Surface type={AppSurface.Card} data={data} limit={1} />, el);\n};\n\n//\n// MarkdownEditor\n//\n\n/** @private */\nexport const MarkdownEditor = {\n Content: MarkdownEditorContent,\n Toolbar: MarkdownEditorToolbar,\n Blocks: MarkdownEditorBlocks,\n};\n\nexport type { MarkdownEditorContentProps, MarkdownEditorToolbarProps, MarkdownEditorBlocksProps };\n\n/** @deprecated Use `MarkdownEditorProviderProps`. */\nexport type MarkdownEditorRootProps = MarkdownEditorProviderProps;\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { type EditorView } from '@codemirror/view';\nimport { type Atom, RegistryContext } from '@effect-atom/atom-react';\nimport React, { forwardRef, useCallback, useContext, useEffect, useImperativeHandle, useMemo } from 'react';\n\nimport { useCapabilities } from '@dxos/app-framework/ui';\nimport { type ThemedClassName, useThemeContext, useTranslation } from '@dxos/react-ui';\nimport {\n type EditorMenuGroup,\n type EditorToolbarState,\n type UseTextEditorProps,\n useTextEditor,\n} from '@dxos/react-ui-editor';\nimport {\n type EditorSelectionState,\n type EditorStateStore,\n type ThemeExtensionsOptions,\n mobileSlots,\n createBasicExtensions,\n createMarkdownExtensions,\n createThemeExtensions,\n dropFile,\n documentSlots,\n formattingListener,\n processEditorPayload,\n editorClassNames,\n} from '@dxos/ui-editor';\nimport { type EditorViewMode } from '@dxos/ui-editor/types';\nimport { mx } from '@dxos/ui-theme';\nimport { isTruthy } from '@dxos/util';\n\nimport { meta } from '#meta';\nimport { MarkdownCapabilities } from '#types';\n\nimport { type MarkdownEditorToolbarProps } from './MarkdownEditorToolbar';\n\nexport type MarkdownEditorContentProps = ThemedClassName<{\n id: string;\n attendableId?: string;\n role?: string;\n compact?: boolean;\n viewMode?: EditorViewMode;\n slashCommandGroups?: EditorMenuGroup[];\n editorStateStore?: EditorStateStore;\n toolbarState?: Atom.Writable<EditorToolbarState>;\n onLinkQuery?: (query?: string) => Promise<EditorMenuGroup[]>;\n}> &\n Pick<UseTextEditorProps, 'initialValue' | 'extensions'> &\n Pick<MarkdownEditorToolbarProps, 'onFileUpload'> &\n Pick<ThemeExtensionsOptions, 'slots'>;\n\n// TODO(burdon): Move controller to Root.\nexport const MarkdownEditorContent = forwardRef<EditorView | null, MarkdownEditorContentProps>(\n (\n {\n classNames,\n id,\n attendableId,\n role,\n compact,\n viewMode,\n initialValue,\n editorStateStore,\n toolbarState,\n extensions,\n slots,\n onFileUpload,\n },\n forwardedRef,\n ) => {\n const { t } = useTranslation(meta.id);\n const { themeMode } = useThemeContext();\n const registry = useContext(RegistryContext);\n\n // Callback to update toolbar state atom.\n const updateToolbarState = useCallback(\n (formatting: EditorToolbarState) => {\n if (toolbarState) {\n registry.set(toolbarState, { ...registry.get(toolbarState), ...formatting });\n }\n },\n [registry, toolbarState],\n );\n\n // Restore last selection and scroll point.\n const { scrollTo, selection } = useMemo<EditorSelectionState>(() => editorStateStore?.getState(id) ?? {}, [id]);\n\n const {\n parentRef,\n view: editorView,\n focusAttributes,\n } = useTextEditor(\n () => ({\n ...(role !== 'section' && {\n id,\n scrollTo,\n selection,\n selectionEnd: true,\n }),\n initialValue,\n extensions: [\n createBasicExtensions({\n readOnly: viewMode === 'readonly',\n placeholder: t('editor.placeholder'),\n scrollPastEnd: !compact,\n search: true,\n }),\n createThemeExtensions({\n themeMode,\n slots: slots ?? (compact ? mobileSlots : documentSlots),\n syntaxHighlighting: true,\n }),\n createMarkdownExtensions(),\n toolbarState && formattingListener(updateToolbarState),\n role !== 'section' &&\n onFileUpload &&\n dropFile({\n // TODO(wittjosiah): Factor out to file uploader plugin.\n onDrop: async (view, { files }) => {\n const file = files[0];\n const info = file && onFileUpload ? await onFileUpload(file) : undefined;\n if (info) {\n processEditorPayload(view, { type: 'image', data: info.url });\n }\n },\n }),\n extensions,\n ].filter(isTruthy),\n }),\n [id, viewMode, themeMode, extensions, compact],\n );\n\n useImperativeHandle<EditorView | null, EditorView | null>(forwardedRef, () => editorView, [editorView]);\n\n const [editorViewRegistry] = useCapabilities(MarkdownCapabilities.EditorViews);\n useEffect(() => {\n if (editorView && editorViewRegistry) {\n editorViewRegistry.register(attendableId ?? id, editorView, id);\n return () => editorViewRegistry.unregister(attendableId ?? id);\n }\n }, [editorView, editorViewRegistry, attendableId, id]);\n\n useTest(editorView);\n\n return (\n <div\n {...focusAttributes}\n className={mx(editorClassNames(role), classNames)}\n data-testid='composer.markdownRoot'\n data-popover-collision-boundary={true}\n ref={parentRef}\n />\n );\n },\n);\n\n// Expose editor view for playwright tests.\n// TODO(wittjosiah): Find a better way to expose this or find a way to limit it to test runs.\nconst useTest = (view: EditorView | null) => {\n useEffect(() => {\n const composer = (window as any).composer;\n if (composer) {\n composer.editorView = view;\n }\n }, [view]);\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type EditorView } from '@codemirror/view';\nimport React, { useCallback, useState } from 'react';\n\nimport { type FileInfo } from '@dxos/app-toolkit';\nimport { Editor, type EditorToolbarProps } from '@dxos/react-ui-editor';\nimport { composable, composableProps } from '@dxos/ui-theme';\n\nimport { FileUpload, type FileUploadAction } from './FileUpload';\n\nexport type MarkdownEditorToolbarProps = {\n id: string;\n editorView?: EditorView;\n onFileUpload?: (file: File) => Promise<FileInfo | undefined>;\n} & Pick<EditorToolbarProps, 'role' | 'customActions' | 'onAction' | 'onViewModeChange'>;\n\nexport const MarkdownEditorToolbar = composable<HTMLDivElement, MarkdownEditorToolbarProps>(\n ({ id, role, editorView, customActions, onAction, onFileUpload, onViewModeChange, ...props }, forwardedRef) => {\n const { className, ...rest } = composableProps(props);\n const [upload, setUpload] = useState<FileUploadAction | null>(null);\n const uploadRef = useCallback((next: FileUploadAction) => setUpload(() => next), []);\n\n if (!editorView) {\n return <div className={className} {...rest} ref={forwardedRef} />;\n }\n\n return (\n <div className='contents' ref={forwardedRef}>\n <Editor.Toolbar\n {...rest}\n classNames={className}\n attendableId={id}\n role={role}\n customActions={customActions}\n onAction={onAction}\n onImageUpload={upload ?? undefined}\n onViewModeChange={onViewModeChange}\n />\n\n {onFileUpload && <FileUpload ref={uploadRef} editorView={editorView} onFileUpload={onFileUpload} />}\n </div>\n );\n },\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type EditorView } from '@codemirror/view';\nimport React, { forwardRef, useEffect, useImperativeHandle } from 'react';\nimport { createPortal } from 'react-dom';\nimport { useDropzone } from 'react-dropzone';\n\nimport { type FileInfo } from '@dxos/app-toolkit';\nimport { addLink } from '@dxos/ui-editor';\n\nexport const IMAGE_FILES = ['.jpg', '.jpeg', '.png', '.gif'];\n\nexport type FileUploadAction = () => void;\n\nexport type FileUploadProps = {\n editorView?: EditorView;\n onFileUpload?: (file: File) => Promise<FileInfo | undefined>;\n};\n\n// TODO(burdon): Factor out.\n// TODO(burdon): Move to root? (support drag into document via dropzone).\nexport const FileUpload = forwardRef<FileUploadAction, FileUploadProps>(\n ({ editorView, onFileUpload }, forwardedRef) => {\n // https://react-dropzone.js.org\n const { acceptedFiles, open, inputRef } = useDropzone({\n disabled: !onFileUpload,\n multiple: false,\n noDrag: true,\n accept: {\n 'image/*': IMAGE_FILES,\n },\n });\n\n useImperativeHandle(forwardedRef, () => open, []);\n\n useEffect(() => {\n if (editorView && acceptedFiles.length && onFileUpload) {\n requestAnimationFrame(async () => {\n // NOTE: Clone file since react-dropzone patches in a non-standard `path` property, which confuses IPFS.\n const f = acceptedFiles[0];\n const file = new File([f], f.name, {\n type: f.type,\n lastModified: f.lastModified,\n });\n\n // TODO(burdon): Factor out.\n const info = await onFileUpload(file);\n if (info) {\n addLink({ url: info.url, image: true })(editorView);\n }\n });\n }\n }, [editorView, acceptedFiles, onFileUpload]);\n\n if (!onFileUpload) {\n return null;\n }\n\n return <>{createPortal(<input ref={inputRef} />, document.body)} </>;\n },\n);\n"],
5
+ "mappings": "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",
6
+ "names": ["lazy", "createContext", "React", "useCallback", "useMemo", "useState", "createPortal", "Surface", "AppSurface", "Obj", "DXN", "useClient", "createEditorController", "useEditorContext", "composable", "composableProps", "isNonNullable", "useEditorMenuOptions", "useExtensions", "RegistryContext", "React", "forwardRef", "useCallback", "useContext", "useEffect", "useImperativeHandle", "useMemo", "useCapabilities", "useThemeContext", "useTranslation", "useTextEditor", "mobileSlots", "createBasicExtensions", "createMarkdownExtensions", "createThemeExtensions", "dropFile", "documentSlots", "formattingListener", "processEditorPayload", "editorClassNames", "mx", "isTruthy", "meta", "MarkdownCapabilities", "MarkdownEditorContent", "classNames", "id", "attendableId", "role", "compact", "viewMode", "initialValue", "editorStateStore", "toolbarState", "extensions", "slots", "onFileUpload", "forwardedRef", "t", "themeMode", "registry", "updateToolbarState", "formatting", "set", "get", "scrollTo", "selection", "getState", "parentRef", "view", "editorView", "focusAttributes", "selectionEnd", "readOnly", "placeholder", "scrollPastEnd", "search", "syntaxHighlighting", "onDrop", "files", "file", "info", "undefined", "type", "data", "url", "filter", "editorViewRegistry", "EditorViews", "register", "unregister", "useTest", "div", "className", "data-testid", "data-popover-collision-boundary", "ref", "composer", "window", "React", "useCallback", "useState", "Editor", "composable", "composableProps", "React", "forwardRef", "useEffect", "useImperativeHandle", "createPortal", "useDropzone", "addLink", "IMAGE_FILES", "FileUpload", "editorView", "onFileUpload", "forwardedRef", "acceptedFiles", "open", "inputRef", "disabled", "multiple", "noDrag", "accept", "length", "requestAnimationFrame", "f", "file", "File", "name", "type", "lastModified", "info", "url", "image", "input", "ref", "document", "body", "MarkdownEditorToolbar", "composable", "id", "role", "editorView", "customActions", "onAction", "onFileUpload", "onViewModeChange", "props", "forwardedRef", "className", "rest", "composableProps", "upload", "setUpload", "useState", "uploadRef", "useCallback", "next", "React", "div", "ref", "Editor", "Toolbar", "classNames", "attendableId", "onImageUpload", "undefined", "FileUpload", "MarkdownEditorContextProvider", "useMarkdownEditorContext", "createContext", "MarkdownEditorProvider", "children", "id", "attendableId", "object", "settings", "compact", "viewMode", "selectionManager", "editorStateStore", "extensions", "extensionsProp", "slashCommandGroups", "onLinkQuery", "onSelectObject", "onAction", "onFileUpload", "onViewModeChange", "previewBlocks", "setPreviewBlocks", "useState", "previewOptions", "useMemo", "db", "Obj", "isObject", "getDatabase", "undefined", "addBlockContainer", "block", "prev", "removeBlockContainer", "link", "filter", "prevLink", "dxn", "menuOptions", "useEditorMenuOptions", "coreExtensions", "useExtensions", "isNonNullable", "flat", "editorRootProps", "getMenu", "trigger", "placeholder", "triggerKey", "markdownContextValue", "React", "displayName", "MARKDOWN_EDITOR_CONTENT_NAME", "MarkdownEditorContent", "composable", "compactProp", "props", "_forwardedRef", "setController", "state", "useEditorContext", "handleRef", "useCallback", "view", "createEditorController", "NaturalMarkdownEditorContent", "composableProps", "toolbarState", "ref", "MARKDOWN_EDITOR_TOOLBAR_NAME", "MarkdownEditorToolbar", "controller", "NaturalMarkdownToolbar", "editorView", "MARKDOWN_EDITOR_BLOCKS_NAME", "MarkdownEditorBlocks", "_props", "map", "el", "PreviewBlock", "key", "client", "useClient", "DXN", "parse", "subject", "graph", "makeRef", "target", "data", "createPortal", "Surface", "type", "AppSurface", "Card", "limit", "MarkdownEditor", "Content", "Toolbar", "Blocks", "MarkdownSettings", "lazy"]
7
+ }
@@ -0,0 +1,13 @@
1
+ import "../chunk-J5LGTIGS.mjs";
2
+
3
+ // src/containers/index.ts
4
+ import { lazy } from "react";
5
+ var MarkdownCard = lazy(() => import("../MarkdownCard-INMBLUL4.mjs"));
6
+ var EditableMarkdownCard = lazy(() => import("../EditableMarkdownCard-P4F4TIUM.mjs"));
7
+ var MarkdownContainer = lazy(() => import("../MarkdownContainer-2BDGD3PL.mjs"));
8
+ export {
9
+ EditableMarkdownCard,
10
+ MarkdownCard,
11
+ MarkdownContainer
12
+ };
13
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/containers/index.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { type ComponentType, lazy } from 'react';\n\nexport type { MarkdownContainerProps } from './MarkdownContainer';\n\nexport const MarkdownCard: ComponentType<any> = lazy(() => import('./MarkdownCard'));\nexport const EditableMarkdownCard: ComponentType<any> = lazy(() => import('./EditableMarkdownCard'));\nexport const MarkdownContainer: ComponentType<any> = lazy(() => import('./MarkdownContainer'));\n"],
5
+ "mappings": ";;;AAIA,SAA6BA,YAAY;AAIlC,IAAMC,eAAmCD,KAAK,MAAM,OAAO,8BAAA,CAAA;AAC3D,IAAME,uBAA2CF,KAAK,MAAM,OAAO,sCAAA,CAAA;AACnE,IAAMG,oBAAwCH,KAAK,MAAM,OAAO,mCAAA,CAAA;",
6
+ "names": ["lazy", "MarkdownCard", "EditableMarkdownCard", "MarkdownContainer"]
7
+ }
@@ -0,0 +1,28 @@
1
+ import {
2
+ MarkdownOperation_exports,
3
+ Markdown_exports
4
+ } from "./chunk-SOLAMEK3.mjs";
5
+ import "./chunk-J5LGTIGS.mjs";
6
+
7
+ // src/operations/create.ts
8
+ import * as Effect from "effect/Effect";
9
+ import { Operation } from "@dxos/compute";
10
+ import { Obj } from "@dxos/echo";
11
+ import { CollectionModel } from "@dxos/schema";
12
+ var handler = MarkdownOperation_exports.Create.pipe(Operation.withHandler(Effect.fn(function* ({ name, content }) {
13
+ const object = Markdown_exports.make({
14
+ name,
15
+ content
16
+ });
17
+ yield* CollectionModel.add({
18
+ object
19
+ });
20
+ return {
21
+ id: Obj.getDXN(object).toString()
22
+ };
23
+ })));
24
+ var create_default = handler;
25
+ export {
26
+ create_default as default
27
+ };
28
+ //# sourceMappingURL=create-3PGJ2NEK.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/operations/create.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Operation } from '@dxos/compute';\nimport { Obj } from '@dxos/echo';\nimport { CollectionModel } from '@dxos/schema';\n\nimport { Markdown, MarkdownOperation } from '../types';\n\nconst handler: Operation.WithHandler<typeof MarkdownOperation.Create> = MarkdownOperation.Create.pipe(\n Operation.withHandler(\n Effect.fn(function* ({ name, content }) {\n const object = Markdown.make({ name, content });\n yield* CollectionModel.add({ object });\n\n return {\n id: Obj.getDXN(object).toString(),\n };\n }),\n ),\n);\n\nexport default handler;\n"],
5
+ "mappings": ";;;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,iBAAiB;AAC1B,SAASC,WAAW;AACpB,SAASC,uBAAuB;AAIhC,IAAMC,UAAkEC,0BAAkBC,OAAOC,KAC/FC,UAAUC,YACDC,UAAG,WAAW,EAAEC,MAAMC,QAAO,GAAE;AACpC,QAAMC,SAASC,iBAASC,KAAK;IAAEJ;IAAMC;EAAQ,CAAA;AAC7C,SAAOI,gBAAgBC,IAAI;IAAEJ;EAAO,CAAA;AAEpC,SAAO;IACLK,IAAIC,IAAIC,OAAOP,MAAAA,EAAQQ,SAAQ;EACjC;AACF,CAAA,CAAA,CAAA;AAIJ,IAAA,iBAAejB;",
6
+ "names": ["Effect", "Operation", "Obj", "CollectionModel", "handler", "MarkdownOperation", "Create", "pipe", "Operation", "withHandler", "fn", "name", "content", "object", "Markdown", "make", "CollectionModel", "add", "id", "Obj", "getDXN", "toString"]
7
+ }
@@ -0,0 +1,20 @@
1
+ import {
2
+ MarkdownOperation_exports,
3
+ Markdown_exports
4
+ } from "./chunk-SOLAMEK3.mjs";
5
+ import "./chunk-J5LGTIGS.mjs";
6
+
7
+ // src/operations/create-markdown.ts
8
+ import * as Effect from "effect/Effect";
9
+ import { Operation } from "@dxos/compute";
10
+ var handler = MarkdownOperation_exports.CreateMarkdown.pipe(Operation.withHandler(({ name, content }) => Effect.succeed({
11
+ object: Markdown_exports.make({
12
+ name,
13
+ content
14
+ })
15
+ })));
16
+ var create_markdown_default = handler;
17
+ export {
18
+ create_markdown_default as default
19
+ };
20
+ //# sourceMappingURL=create-markdown-5LS46GMH.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/operations/create-markdown.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Operation } from '@dxos/compute';\n\nimport { Markdown, MarkdownOperation } from '../types';\n\nconst handler: Operation.WithHandler<typeof MarkdownOperation.CreateMarkdown> = MarkdownOperation.CreateMarkdown.pipe(\n Operation.withHandler(({ name, content }) =>\n Effect.succeed({\n object: Markdown.make({ name, content }),\n }),\n ),\n);\n\nexport default handler;\n"],
5
+ "mappings": ";;;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,iBAAiB;AAI1B,IAAMC,UAA0EC,0BAAkBC,eAAeC,KAC/GC,UAAUC,YAAY,CAAC,EAAEC,MAAMC,QAAO,MAC7BC,eAAQ;EACbC,QAAQC,iBAASC,KAAK;IAAEL;IAAMC;EAAQ,CAAA;AACxC,CAAA,CAAA,CAAA;AAIJ,IAAA,0BAAeP;",
6
+ "names": ["Effect", "Operation", "handler", "MarkdownOperation", "CreateMarkdown", "pipe", "Operation", "withHandler", "name", "content", "succeed", "object", "Markdown", "make"]
7
+ }
@@ -0,0 +1,27 @@
1
+ import "./chunk-J5LGTIGS.mjs";
2
+
3
+ // src/capabilities/create-object.ts
4
+ import * as Effect from "effect/Effect";
5
+ import { Capability } from "@dxos/app-framework";
6
+ import { Operation } from "@dxos/compute";
7
+ import { SpaceOperation } from "@dxos/plugin-space";
8
+ import { SpaceCapabilities } from "@dxos/plugin-space";
9
+ import { Markdown } from "#types";
10
+ var create_object_default = Capability.makeModule(Effect.fnUntraced(function* () {
11
+ return Capability.contributes(SpaceCapabilities.CreateObjectEntry, {
12
+ id: Markdown.Document.typename,
13
+ createObject: (props, options) => Effect.gen(function* () {
14
+ const object = Markdown.make(props);
15
+ return yield* Operation.invoke(SpaceOperation.AddObject, {
16
+ object,
17
+ target: options.target,
18
+ hidden: true,
19
+ targetNodeId: options.targetNodeId
20
+ });
21
+ })
22
+ });
23
+ }));
24
+ export {
25
+ create_object_default as default
26
+ };
27
+ //# sourceMappingURL=create-object-ZA6VXLJJ.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/create-object.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability } from '@dxos/app-framework';\nimport { Operation } from '@dxos/compute';\nimport { SpaceOperation } from '@dxos/plugin-space';\nimport { SpaceCapabilities } from '@dxos/plugin-space';\n\nimport { Markdown } from '#types';\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n return Capability.contributes(SpaceCapabilities.CreateObjectEntry, {\n id: Markdown.Document.typename,\n createObject: (props, options) =>\n Effect.gen(function* () {\n const object = Markdown.make(props);\n return yield* Operation.invoke(SpaceOperation.AddObject, {\n object,\n target: options.target,\n hidden: true,\n targetNodeId: options.targetNodeId,\n });\n }),\n });\n }),\n);\n"],
5
+ "mappings": ";;;AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,iBAAiB;AAC1B,SAASC,sBAAsB;AAC/B,SAASC,yBAAyB;AAElC,SAASC,gBAAgB;AAEzB,IAAA,wBAAeJ,WAAWK,WACjBC,kBAAW,aAAA;AAChB,SAAON,WAAWO,YAAYJ,kBAAkBK,mBAAmB;IACjEC,IAAIL,SAASM,SAASC;IACtBC,cAAc,CAACC,OAAOC,YACbC,WAAI,aAAA;AACT,YAAMC,SAASZ,SAASa,KAAKJ,KAAAA;AAC7B,aAAO,OAAOZ,UAAUiB,OAAOhB,eAAeiB,WAAW;QACvDH;QACAI,QAAQN,QAAQM;QAChBC,QAAQ;QACRC,cAAcR,QAAQQ;MACxB,CAAA;IACF,CAAA;EACJ,CAAA;AACF,CAAA,CAAA;",
6
+ "names": ["Effect", "Capability", "Operation", "SpaceOperation", "SpaceCapabilities", "Markdown", "makeModule", "fnUntraced", "contributes", "CreateObjectEntry", "id", "Document", "typename", "createObject", "props", "options", "gen", "object", "make", "invoke", "AddObject", "target", "hidden", "targetNodeId"]
7
+ }