@dxos/plugin-markdown 0.8.4-main.67995b8 → 0.8.4-main.6fa680abb7

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 (377) hide show
  1. package/dist/lib/browser/MarkdownCard-KTTAKZAO.mjs +61 -0
  2. package/dist/lib/browser/MarkdownCard-KTTAKZAO.mjs.map +7 -0
  3. package/dist/lib/browser/MarkdownContainer-DB5VCJSG.mjs +124 -0
  4. package/dist/lib/browser/MarkdownContainer-DB5VCJSG.mjs.map +7 -0
  5. package/dist/lib/browser/MarkdownSettings-OD7AJSSJ.mjs +106 -0
  6. package/dist/lib/browser/MarkdownSettings-OD7AJSSJ.mjs.map +7 -0
  7. package/dist/lib/browser/anchor-sort-KP3XOHL6.mjs +34 -0
  8. package/dist/lib/browser/anchor-sort-KP3XOHL6.mjs.map +7 -0
  9. package/dist/lib/browser/app-graph-serializer-QJVGW3AI.mjs +60 -0
  10. package/dist/lib/browser/app-graph-serializer-QJVGW3AI.mjs.map +7 -0
  11. package/dist/lib/browser/blueprint-definition-GYGSMBAL.mjs +18 -0
  12. package/dist/lib/browser/blueprint-definition-GYGSMBAL.mjs.map +7 -0
  13. package/dist/lib/browser/blueprints/index.mjs +9 -0
  14. package/dist/lib/browser/blueprints/index.mjs.map +7 -0
  15. package/dist/lib/browser/chunk-2JGSYTNW.mjs +135 -0
  16. package/dist/lib/browser/chunk-2JGSYTNW.mjs.map +7 -0
  17. package/dist/lib/browser/chunk-EY5RVGKO.mjs +178 -0
  18. package/dist/lib/browser/chunk-EY5RVGKO.mjs.map +7 -0
  19. package/dist/lib/browser/chunk-G2MHLFEL.mjs +778 -0
  20. package/dist/lib/browser/chunk-G2MHLFEL.mjs.map +7 -0
  21. package/dist/lib/browser/{chunk-K7ZFMSC4.mjs → chunk-NAJ3XQLK.mjs} +14 -6
  22. package/dist/lib/browser/chunk-NAJ3XQLK.mjs.map +7 -0
  23. package/dist/lib/browser/{chunk-ZGY3DYC2.mjs → chunk-RYZHVXZ5.mjs} +6 -8
  24. package/dist/lib/browser/chunk-RYZHVXZ5.mjs.map +7 -0
  25. package/dist/lib/browser/chunk-TIV2F6SR.mjs +8 -0
  26. package/dist/lib/browser/chunk-TIV2F6SR.mjs.map +7 -0
  27. package/dist/lib/browser/cli/index.mjs +34 -0
  28. package/dist/lib/browser/cli/index.mjs.map +7 -0
  29. package/dist/lib/browser/index.mjs +124 -135
  30. package/dist/lib/browser/index.mjs.map +4 -4
  31. package/dist/lib/browser/meta.json +1 -1
  32. package/dist/lib/browser/operation-resolver-QLM762DE.mjs +41 -0
  33. package/dist/lib/browser/operation-resolver-QLM762DE.mjs.map +7 -0
  34. package/dist/lib/browser/react-surface-3KWMKHEU.mjs +117 -0
  35. package/dist/lib/browser/react-surface-3KWMKHEU.mjs.map +7 -0
  36. package/dist/lib/browser/settings-2PHGT4PJ.mjs +38 -0
  37. package/dist/lib/browser/settings-2PHGT4PJ.mjs.map +7 -0
  38. package/dist/lib/browser/state-KNJ7E36W.mjs +31 -0
  39. package/dist/lib/browser/state-KNJ7E36W.mjs.map +7 -0
  40. package/dist/lib/browser/types/index.mjs +11 -3
  41. package/dist/lib/node-esm/MarkdownCard-EFCQQR22.mjs +62 -0
  42. package/dist/lib/node-esm/MarkdownCard-EFCQQR22.mjs.map +7 -0
  43. package/dist/lib/node-esm/MarkdownContainer-X3UQUNWL.mjs +125 -0
  44. package/dist/lib/node-esm/MarkdownContainer-X3UQUNWL.mjs.map +7 -0
  45. package/dist/lib/node-esm/MarkdownSettings-U7GJ4OP3.mjs +107 -0
  46. package/dist/lib/node-esm/MarkdownSettings-U7GJ4OP3.mjs.map +7 -0
  47. package/dist/lib/node-esm/anchor-sort-4574EWPS.mjs +35 -0
  48. package/dist/lib/node-esm/anchor-sort-4574EWPS.mjs.map +7 -0
  49. package/dist/lib/node-esm/app-graph-serializer-CCMYKW2M.mjs +61 -0
  50. package/dist/lib/node-esm/app-graph-serializer-CCMYKW2M.mjs.map +7 -0
  51. package/dist/lib/node-esm/blueprint-definition-TZPCKPPU.mjs +19 -0
  52. package/dist/lib/node-esm/blueprint-definition-TZPCKPPU.mjs.map +7 -0
  53. package/dist/lib/node-esm/blueprints/index.mjs +10 -0
  54. package/dist/lib/node-esm/blueprints/index.mjs.map +7 -0
  55. package/dist/lib/node-esm/chunk-4YMS5I4L.mjs +10 -0
  56. package/dist/lib/node-esm/chunk-4YMS5I4L.mjs.map +7 -0
  57. package/dist/lib/node-esm/chunk-7UHD5AKT.mjs +179 -0
  58. package/dist/lib/node-esm/chunk-7UHD5AKT.mjs.map +7 -0
  59. package/dist/lib/node-esm/{chunk-RCIXKCVG.mjs → chunk-CW4FZNMZ.mjs} +6 -8
  60. package/dist/lib/node-esm/chunk-CW4FZNMZ.mjs.map +7 -0
  61. package/dist/lib/node-esm/{chunk-YGNVDYMB.mjs → chunk-QQF75YGF.mjs} +14 -6
  62. package/dist/lib/node-esm/chunk-QQF75YGF.mjs.map +7 -0
  63. package/dist/lib/node-esm/chunk-RKTB7TV3.mjs +779 -0
  64. package/dist/lib/node-esm/chunk-RKTB7TV3.mjs.map +7 -0
  65. package/dist/lib/node-esm/chunk-XTF6AXHM.mjs +136 -0
  66. package/dist/lib/node-esm/chunk-XTF6AXHM.mjs.map +7 -0
  67. package/dist/lib/node-esm/cli/index.mjs +35 -0
  68. package/dist/lib/node-esm/cli/index.mjs.map +7 -0
  69. package/dist/lib/node-esm/index.mjs +124 -135
  70. package/dist/lib/node-esm/index.mjs.map +4 -4
  71. package/dist/lib/node-esm/meta.json +1 -1
  72. package/dist/lib/node-esm/operation-resolver-IYXA7HEG.mjs +42 -0
  73. package/dist/lib/node-esm/operation-resolver-IYXA7HEG.mjs.map +7 -0
  74. package/dist/lib/node-esm/react-surface-CYC6UH4E.mjs +118 -0
  75. package/dist/lib/node-esm/react-surface-CYC6UH4E.mjs.map +7 -0
  76. package/dist/lib/node-esm/settings-4HAQICPV.mjs +39 -0
  77. package/dist/lib/node-esm/settings-4HAQICPV.mjs.map +7 -0
  78. package/dist/lib/node-esm/state-XAMY5RVG.mjs +32 -0
  79. package/dist/lib/node-esm/state-XAMY5RVG.mjs.map +7 -0
  80. package/dist/lib/node-esm/types/index.mjs +11 -3
  81. package/dist/types/src/MarkdownPlugin.d.ts +2 -1
  82. package/dist/types/src/MarkdownPlugin.d.ts.map +1 -1
  83. package/dist/types/src/blueprints/functions/create.d.ts +8 -0
  84. package/dist/types/src/blueprints/functions/create.d.ts.map +1 -0
  85. package/dist/types/src/blueprints/functions/create.test.d.ts +2 -0
  86. package/dist/types/src/blueprints/functions/create.test.d.ts.map +1 -0
  87. package/dist/types/src/blueprints/functions/index.d.ts +42 -0
  88. package/dist/types/src/blueprints/functions/index.d.ts.map +1 -0
  89. package/dist/types/src/blueprints/functions/open.d.ts +14 -0
  90. package/dist/types/src/blueprints/functions/open.d.ts.map +1 -0
  91. package/dist/types/src/blueprints/functions/update.d.ts +19 -0
  92. package/dist/types/src/blueprints/functions/update.d.ts.map +1 -0
  93. package/dist/types/src/blueprints/functions/update.test.d.ts +2 -0
  94. package/dist/types/src/blueprints/functions/update.test.d.ts.map +1 -0
  95. package/dist/types/src/blueprints/index.d.ts +2 -0
  96. package/dist/types/src/blueprints/index.d.ts.map +1 -0
  97. package/dist/types/src/blueprints/markdown-blueprint.d.ts +4 -0
  98. package/dist/types/src/blueprints/markdown-blueprint.d.ts.map +1 -0
  99. package/dist/types/src/capabilities/anchor-sort/anchor-sort.d.ts +6 -0
  100. package/dist/types/src/capabilities/anchor-sort/anchor-sort.d.ts.map +1 -0
  101. package/dist/types/src/capabilities/anchor-sort/index.d.ts +3 -0
  102. package/dist/types/src/capabilities/anchor-sort/index.d.ts.map +1 -0
  103. package/dist/types/src/capabilities/app-graph-serializer/app-graph-serializer.d.ts +5 -0
  104. package/dist/types/src/capabilities/app-graph-serializer/app-graph-serializer.d.ts.map +1 -0
  105. package/dist/types/src/capabilities/app-graph-serializer/index.d.ts +3 -0
  106. package/dist/types/src/capabilities/app-graph-serializer/index.d.ts.map +1 -0
  107. package/dist/types/src/capabilities/artifact-definition/artifact-definition.d.ts +5 -0
  108. package/dist/types/src/capabilities/artifact-definition/artifact-definition.d.ts.map +1 -0
  109. package/dist/types/src/capabilities/artifact-definition/index.d.ts +3 -0
  110. package/dist/types/src/capabilities/artifact-definition/index.d.ts.map +1 -0
  111. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts +6 -0
  112. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts.map +1 -0
  113. package/dist/types/src/capabilities/blueprint-definition/index.d.ts +3 -0
  114. package/dist/types/src/capabilities/blueprint-definition/index.d.ts.map +1 -0
  115. package/dist/types/src/capabilities/index.d.ts +7 -16
  116. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  117. package/dist/types/src/capabilities/operation-resolver/index.d.ts +3 -0
  118. package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +1 -0
  119. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +5 -0
  120. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -0
  121. package/dist/types/src/capabilities/react-surface/index.d.ts +3 -0
  122. package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -0
  123. package/dist/types/src/capabilities/react-surface/react-surface.d.ts +5 -0
  124. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -0
  125. package/dist/types/src/capabilities/settings/index.d.ts +3 -0
  126. package/dist/types/src/capabilities/settings/index.d.ts.map +1 -0
  127. package/dist/types/src/capabilities/settings/settings.d.ts +7 -0
  128. package/dist/types/src/capabilities/settings/settings.d.ts.map +1 -0
  129. package/dist/types/src/capabilities/state/index.d.ts +3 -0
  130. package/dist/types/src/capabilities/state/index.d.ts.map +1 -0
  131. package/dist/types/src/capabilities/state/state.d.ts +5 -0
  132. package/dist/types/src/capabilities/state/state.d.ts.map +1 -0
  133. package/dist/types/src/cli/index.d.ts +2 -0
  134. package/dist/types/src/cli/index.d.ts.map +1 -0
  135. package/dist/types/src/cli/plugin.d.ts +3 -0
  136. package/dist/types/src/cli/plugin.d.ts.map +1 -0
  137. package/dist/types/src/components/MarkdownEditor/FileUpload.d.ts +11 -0
  138. package/dist/types/src/components/MarkdownEditor/FileUpload.d.ts.map +1 -0
  139. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts +44 -23
  140. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts.map +1 -1
  141. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.stories.d.ts +8 -15
  142. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.stories.d.ts.map +1 -1
  143. package/dist/types/src/components/MarkdownEditor/MarkdownEditorContent.d.ts +32 -0
  144. package/dist/types/src/components/MarkdownEditor/MarkdownEditorContent.d.ts.map +1 -0
  145. package/dist/types/src/components/MarkdownEditor/MarkdownEditorToolbar.d.ts +12 -0
  146. package/dist/types/src/components/MarkdownEditor/MarkdownEditorToolbar.d.ts.map +1 -0
  147. package/dist/types/src/components/index.d.ts +1 -3
  148. package/dist/types/src/components/index.d.ts.map +1 -1
  149. package/dist/types/src/containers/MarkdownCard/MarkdownCard.d.ts +8 -0
  150. package/dist/types/src/containers/MarkdownCard/MarkdownCard.d.ts.map +1 -0
  151. package/dist/types/src/containers/MarkdownCard/MarkdownCard.stories.d.ts +9 -0
  152. package/dist/types/src/containers/MarkdownCard/MarkdownCard.stories.d.ts.map +1 -0
  153. package/dist/types/src/containers/MarkdownCard/index.d.ts +3 -0
  154. package/dist/types/src/containers/MarkdownCard/index.d.ts.map +1 -0
  155. package/dist/types/src/containers/MarkdownContainer/MarkdownContainer.d.ts +28 -0
  156. package/dist/types/src/containers/MarkdownContainer/MarkdownContainer.d.ts.map +1 -0
  157. package/dist/types/src/containers/MarkdownContainer/MarkdownContainer.stories.d.ts +89 -0
  158. package/dist/types/src/containers/MarkdownContainer/MarkdownContainer.stories.d.ts.map +1 -0
  159. package/dist/types/src/containers/MarkdownContainer/index.d.ts +3 -0
  160. package/dist/types/src/containers/MarkdownContainer/index.d.ts.map +1 -0
  161. package/dist/types/src/containers/MarkdownSettings/MarkdownSettings.d.ts +8 -0
  162. package/dist/types/src/containers/MarkdownSettings/MarkdownSettings.d.ts.map +1 -0
  163. package/dist/types/src/containers/MarkdownSettings/index.d.ts +3 -0
  164. package/dist/types/src/containers/MarkdownSettings/index.d.ts.map +1 -0
  165. package/dist/types/src/containers/index.d.ts +6 -0
  166. package/dist/types/src/containers/index.d.ts.map +1 -0
  167. package/dist/types/src/hooks/index.d.ts +3 -0
  168. package/dist/types/src/hooks/index.d.ts.map +1 -1
  169. package/dist/types/src/hooks/useEditorMenuOptions.d.ts +9 -0
  170. package/dist/types/src/hooks/useEditorMenuOptions.d.ts.map +1 -0
  171. package/dist/types/src/hooks/useExtensions.d.ts +21 -0
  172. package/dist/types/src/hooks/useExtensions.d.ts.map +1 -0
  173. package/dist/types/src/hooks/useLinkQuery.d.ts +4 -0
  174. package/dist/types/src/hooks/useLinkQuery.d.ts.map +1 -0
  175. package/dist/types/src/hooks/useSelectCurrentThread.d.ts +1 -1
  176. package/dist/types/src/hooks/useSelectCurrentThread.d.ts.map +1 -1
  177. package/dist/types/src/index.d.ts +4 -3
  178. package/dist/types/src/index.d.ts.map +1 -1
  179. package/dist/types/src/meta.d.ts +2 -3
  180. package/dist/types/src/meta.d.ts.map +1 -1
  181. package/dist/types/src/testing.d.ts +6 -0
  182. package/dist/types/src/testing.d.ts.map +1 -0
  183. package/dist/types/src/translations.d.ts +35 -0
  184. package/dist/types/src/translations.d.ts.map +1 -1
  185. package/dist/types/src/types/Markdown.d.ts +18 -16
  186. package/dist/types/src/types/Markdown.d.ts.map +1 -1
  187. package/dist/types/src/types/MarkdownAction.d.ts +43 -39
  188. package/dist/types/src/types/MarkdownAction.d.ts.map +1 -1
  189. package/dist/types/src/types/capabilities.d.ts +22 -0
  190. package/dist/types/src/types/capabilities.d.ts.map +1 -0
  191. package/dist/types/src/types/events.d.ts +5 -0
  192. package/dist/types/src/types/events.d.ts.map +1 -0
  193. package/dist/types/src/types/index.d.ts +3 -0
  194. package/dist/types/src/types/index.d.ts.map +1 -1
  195. package/dist/types/src/types/types.d.ts +2 -2
  196. package/dist/types/src/types/types.d.ts.map +1 -1
  197. package/dist/types/src/util.d.ts +6 -3
  198. package/dist/types/src/util.d.ts.map +1 -1
  199. package/dist/types/src/util.test.d.ts +2 -0
  200. package/dist/types/src/util.test.d.ts.map +1 -0
  201. package/dist/types/tsconfig.tsbuildinfo +1 -1
  202. package/package.json +101 -60
  203. package/src/MarkdownPlugin.tsx +71 -104
  204. package/src/blueprints/functions/create.conversations.json +1 -0
  205. package/src/blueprints/functions/create.test.ts +92 -0
  206. package/src/blueprints/functions/create.ts +35 -0
  207. package/src/blueprints/functions/index.ts +15 -0
  208. package/src/blueprints/functions/open.ts +33 -0
  209. package/src/blueprints/functions/update.conversations.json +1 -0
  210. package/src/blueprints/functions/update.test.ts +215 -0
  211. package/src/blueprints/functions/update.ts +79 -0
  212. package/src/blueprints/index.ts +5 -0
  213. package/src/blueprints/markdown-blueprint.ts +46 -0
  214. package/src/capabilities/anchor-sort/anchor-sort.ts +37 -0
  215. package/src/capabilities/anchor-sort/index.ts +7 -0
  216. package/src/capabilities/app-graph-serializer/app-graph-serializer.ts +60 -0
  217. package/src/capabilities/app-graph-serializer/index.ts +7 -0
  218. package/src/capabilities/artifact-definition/artifact-definition.ts +110 -0
  219. package/src/capabilities/artifact-definition/index.ts +7 -0
  220. package/src/capabilities/blueprint-definition/blueprint-definition.ts +17 -0
  221. package/src/capabilities/blueprint-definition/index.ts +7 -0
  222. package/src/capabilities/index.ts +7 -11
  223. package/src/capabilities/operation-resolver/index.ts +7 -0
  224. package/src/capabilities/operation-resolver/operation-resolver.ts +34 -0
  225. package/src/capabilities/react-surface/index.ts +7 -0
  226. package/src/capabilities/react-surface/react-surface.tsx +111 -0
  227. package/src/capabilities/settings/index.ts +7 -0
  228. package/src/capabilities/settings/settings.ts +37 -0
  229. package/src/capabilities/state/index.ts +7 -0
  230. package/src/capabilities/state/state.ts +31 -0
  231. package/src/cli/index.ts +5 -0
  232. package/src/cli/plugin.ts +29 -0
  233. package/src/components/MarkdownEditor/FileUpload.tsx +63 -0
  234. package/src/components/MarkdownEditor/MarkdownEditor.stories.tsx +62 -37
  235. package/src/components/MarkdownEditor/MarkdownEditor.tsx +247 -271
  236. package/src/components/MarkdownEditor/MarkdownEditorContent.tsx +163 -0
  237. package/src/components/MarkdownEditor/MarkdownEditorToolbar.tsx +67 -0
  238. package/src/components/index.ts +2 -7
  239. package/src/containers/MarkdownCard/MarkdownCard.stories.tsx +68 -0
  240. package/src/containers/MarkdownCard/MarkdownCard.tsx +61 -0
  241. package/src/containers/MarkdownCard/index.ts +7 -0
  242. package/src/containers/MarkdownContainer/MarkdownContainer.stories.tsx +136 -0
  243. package/src/containers/MarkdownContainer/MarkdownContainer.tsx +134 -0
  244. package/src/containers/MarkdownContainer/index.ts +6 -0
  245. package/src/containers/MarkdownSettings/MarkdownSettings.tsx +122 -0
  246. package/src/containers/MarkdownSettings/index.ts +7 -0
  247. package/src/containers/index.ts +11 -0
  248. package/src/hooks/index.ts +3 -0
  249. package/src/hooks/useEditorMenuOptions.ts +68 -0
  250. package/src/hooks/useExtensions.tsx +237 -0
  251. package/src/hooks/useLinkQuery.ts +83 -0
  252. package/src/hooks/useSelectCurrentThread.tsx +39 -34
  253. package/src/index.ts +6 -3
  254. package/src/meta.ts +6 -9
  255. package/src/testing.ts +27 -0
  256. package/src/translations.ts +8 -0
  257. package/src/types/Markdown.ts +22 -12
  258. package/src/types/MarkdownAction.ts +35 -21
  259. package/src/types/capabilities.ts +38 -0
  260. package/src/types/events.ts +14 -0
  261. package/src/types/index.ts +4 -0
  262. package/src/types/types.ts +4 -2
  263. package/src/util.test.ts +44 -0
  264. package/src/util.tsx +82 -7
  265. package/dist/lib/browser/MarkdownContainer-NNBPE6A5.mjs +0 -779
  266. package/dist/lib/browser/MarkdownContainer-NNBPE6A5.mjs.map +0 -7
  267. package/dist/lib/browser/MarkdownPreview-7VG3K24R.mjs +0 -80
  268. package/dist/lib/browser/MarkdownPreview-7VG3K24R.mjs.map +0 -7
  269. package/dist/lib/browser/anchor-sort-Z7JQA7RL.mjs +0 -32
  270. package/dist/lib/browser/anchor-sort-Z7JQA7RL.mjs.map +0 -7
  271. package/dist/lib/browser/app-graph-serializer-ZT5OVF5G.mjs +0 -52
  272. package/dist/lib/browser/app-graph-serializer-ZT5OVF5G.mjs.map +0 -7
  273. package/dist/lib/browser/artifact-definition-7VNP5PCP.mjs +0 -145
  274. package/dist/lib/browser/artifact-definition-7VNP5PCP.mjs.map +0 -7
  275. package/dist/lib/browser/chunk-CD4E4K7J.mjs +0 -16
  276. package/dist/lib/browser/chunk-CD4E4K7J.mjs.map +0 -7
  277. package/dist/lib/browser/chunk-K7ZFMSC4.mjs.map +0 -7
  278. package/dist/lib/browser/chunk-VCUKIILA.mjs +0 -20
  279. package/dist/lib/browser/chunk-VCUKIILA.mjs.map +0 -7
  280. package/dist/lib/browser/chunk-VMX5SDGW.mjs +0 -50
  281. package/dist/lib/browser/chunk-VMX5SDGW.mjs.map +0 -7
  282. package/dist/lib/browser/chunk-YHMGUSO7.mjs +0 -80
  283. package/dist/lib/browser/chunk-YHMGUSO7.mjs.map +0 -7
  284. package/dist/lib/browser/chunk-ZGY3DYC2.mjs.map +0 -7
  285. package/dist/lib/browser/intent-resolver-EBEF7WEI.mjs +0 -60
  286. package/dist/lib/browser/intent-resolver-EBEF7WEI.mjs.map +0 -7
  287. package/dist/lib/browser/react-surface-ZPMZT4VU.mjs +0 -208
  288. package/dist/lib/browser/react-surface-ZPMZT4VU.mjs.map +0 -7
  289. package/dist/lib/browser/settings-MBDK4TWE.mjs +0 -28
  290. package/dist/lib/browser/settings-MBDK4TWE.mjs.map +0 -7
  291. package/dist/lib/browser/state-ZA6PZPUI.mjs +0 -37
  292. package/dist/lib/browser/state-ZA6PZPUI.mjs.map +0 -7
  293. package/dist/lib/node-esm/MarkdownContainer-Q6UO7DKT.mjs +0 -780
  294. package/dist/lib/node-esm/MarkdownContainer-Q6UO7DKT.mjs.map +0 -7
  295. package/dist/lib/node-esm/MarkdownPreview-UVWR2YK3.mjs +0 -81
  296. package/dist/lib/node-esm/MarkdownPreview-UVWR2YK3.mjs.map +0 -7
  297. package/dist/lib/node-esm/anchor-sort-R6AAKYNG.mjs +0 -33
  298. package/dist/lib/node-esm/anchor-sort-R6AAKYNG.mjs.map +0 -7
  299. package/dist/lib/node-esm/app-graph-serializer-X4M5QEI6.mjs +0 -53
  300. package/dist/lib/node-esm/app-graph-serializer-X4M5QEI6.mjs.map +0 -7
  301. package/dist/lib/node-esm/artifact-definition-IRIILD7S.mjs +0 -146
  302. package/dist/lib/node-esm/artifact-definition-IRIILD7S.mjs.map +0 -7
  303. package/dist/lib/node-esm/chunk-6GCOJS4Y.mjs +0 -81
  304. package/dist/lib/node-esm/chunk-6GCOJS4Y.mjs.map +0 -7
  305. package/dist/lib/node-esm/chunk-A7LLVI34.mjs +0 -22
  306. package/dist/lib/node-esm/chunk-A7LLVI34.mjs.map +0 -7
  307. package/dist/lib/node-esm/chunk-B3J2M4YL.mjs +0 -17
  308. package/dist/lib/node-esm/chunk-B3J2M4YL.mjs.map +0 -7
  309. package/dist/lib/node-esm/chunk-LZK3TLKM.mjs +0 -51
  310. package/dist/lib/node-esm/chunk-LZK3TLKM.mjs.map +0 -7
  311. package/dist/lib/node-esm/chunk-RCIXKCVG.mjs.map +0 -7
  312. package/dist/lib/node-esm/chunk-YGNVDYMB.mjs.map +0 -7
  313. package/dist/lib/node-esm/intent-resolver-L2UGZ72W.mjs +0 -61
  314. package/dist/lib/node-esm/intent-resolver-L2UGZ72W.mjs.map +0 -7
  315. package/dist/lib/node-esm/react-surface-3JJSTTQP.mjs +0 -209
  316. package/dist/lib/node-esm/react-surface-3JJSTTQP.mjs.map +0 -7
  317. package/dist/lib/node-esm/settings-LBDWWPZJ.mjs +0 -29
  318. package/dist/lib/node-esm/settings-LBDWWPZJ.mjs.map +0 -7
  319. package/dist/lib/node-esm/state-UIHO2SFZ.mjs +0 -38
  320. package/dist/lib/node-esm/state-UIHO2SFZ.mjs.map +0 -7
  321. package/dist/types/src/capabilities/anchor-sort.d.ts +0 -6
  322. package/dist/types/src/capabilities/anchor-sort.d.ts.map +0 -1
  323. package/dist/types/src/capabilities/app-graph-serializer.d.ts +0 -4
  324. package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +0 -1
  325. package/dist/types/src/capabilities/artifact-definition.d.ts +0 -11
  326. package/dist/types/src/capabilities/artifact-definition.d.ts.map +0 -1
  327. package/dist/types/src/capabilities/capabilities.d.ts +0 -12
  328. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  329. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  330. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  331. package/dist/types/src/capabilities/react-surface.d.ts +0 -4
  332. package/dist/types/src/capabilities/react-surface.d.ts.map +0 -1
  333. package/dist/types/src/capabilities/settings.d.ts +0 -4
  334. package/dist/types/src/capabilities/settings.d.ts.map +0 -1
  335. package/dist/types/src/capabilities/state.d.ts +0 -11
  336. package/dist/types/src/capabilities/state.d.ts.map +0 -1
  337. package/dist/types/src/components/MarkdownContainer.d.ts +0 -18
  338. package/dist/types/src/components/MarkdownContainer.d.ts.map +0 -1
  339. package/dist/types/src/components/MarkdownContainer.stories.d.ts +0 -9
  340. package/dist/types/src/components/MarkdownContainer.stories.d.ts.map +0 -1
  341. package/dist/types/src/components/MarkdownPreview/MarkdownPreview.d.ts +0 -6
  342. package/dist/types/src/components/MarkdownPreview/MarkdownPreview.d.ts.map +0 -1
  343. package/dist/types/src/components/MarkdownPreview/MarkdownPreview.stories.d.ts +0 -10
  344. package/dist/types/src/components/MarkdownPreview/MarkdownPreview.stories.d.ts.map +0 -1
  345. package/dist/types/src/components/MarkdownPreview/index.d.ts +0 -4
  346. package/dist/types/src/components/MarkdownPreview/index.d.ts.map +0 -1
  347. package/dist/types/src/components/MarkdownSettings/MarkdownSettings.d.ts +0 -6
  348. package/dist/types/src/components/MarkdownSettings/MarkdownSettings.d.ts.map +0 -1
  349. package/dist/types/src/components/MarkdownSettings/index.d.ts +0 -2
  350. package/dist/types/src/components/MarkdownSettings/index.d.ts.map +0 -1
  351. package/dist/types/src/components/Suggestions.stories.d.ts +0 -12
  352. package/dist/types/src/components/Suggestions.stories.d.ts.map +0 -1
  353. package/dist/types/src/components/Toolbar.stories.d.ts +0 -11
  354. package/dist/types/src/components/Toolbar.stories.d.ts.map +0 -1
  355. package/dist/types/src/events.d.ts +0 -4
  356. package/dist/types/src/events.d.ts.map +0 -1
  357. package/dist/types/src/extensions.d.ts +0 -24
  358. package/dist/types/src/extensions.d.ts.map +0 -1
  359. package/src/capabilities/anchor-sort.ts +0 -30
  360. package/src/capabilities/app-graph-serializer.ts +0 -54
  361. package/src/capabilities/artifact-definition.ts +0 -116
  362. package/src/capabilities/capabilities.ts +0 -21
  363. package/src/capabilities/intent-resolver.ts +0 -57
  364. package/src/capabilities/react-surface.tsx +0 -114
  365. package/src/capabilities/settings.ts +0 -25
  366. package/src/capabilities/state.ts +0 -30
  367. package/src/components/MarkdownContainer.stories.tsx +0 -100
  368. package/src/components/MarkdownContainer.tsx +0 -254
  369. package/src/components/MarkdownPreview/MarkdownPreview.stories.tsx +0 -77
  370. package/src/components/MarkdownPreview/MarkdownPreview.tsx +0 -73
  371. package/src/components/MarkdownPreview/index.ts +0 -9
  372. package/src/components/MarkdownSettings/MarkdownSettings.tsx +0 -105
  373. package/src/components/MarkdownSettings/index.ts +0 -5
  374. package/src/components/Suggestions.stories.tsx +0 -220
  375. package/src/components/Toolbar.stories.tsx +0 -112
  376. package/src/events.ts +0 -11
  377. package/src/extensions.tsx +0 -328
package/src/testing.ts ADDED
@@ -0,0 +1,27 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import * as Toolkit from '@effect/ai/Toolkit';
6
+ import * as Effect from 'effect/Effect';
7
+
8
+ import { SpaceProperties } from '@dxos/client-protocol';
9
+ import { Obj, Ref } from '@dxos/echo';
10
+ import { Database } from '@dxos/echo';
11
+ import { Collection } from '@dxos/echo';
12
+
13
+ // TODO(wittjosiah): Factor out.
14
+ export const WithProperties = <A, E, R>(effect: Effect.Effect<A, E, R>): Effect.Effect<A, E, R | Database.Service> =>
15
+ Effect.zipRight(
16
+ Effect.gen(function* () {
17
+ // TODO(wittjosiah): Remove cast.
18
+ yield* Database.add(
19
+ Obj.make(SpaceProperties, {
20
+ [Collection.Collection.typename]: Ref.make(Collection.make()),
21
+ }) as any,
22
+ );
23
+ }),
24
+ effect,
25
+ );
26
+
27
+ export const testToolkit = Toolkit.empty as Toolkit.Toolkit<any>;
@@ -3,6 +3,7 @@
3
3
  //
4
4
 
5
5
  import { type Resource } from '@dxos/react-ui';
6
+ import { translations as editorTranslations } from '@dxos/react-ui-editor';
6
7
 
7
8
  import { meta } from './meta';
8
9
  import { Markdown } from './types';
@@ -16,11 +17,14 @@ export const translations = [
16
17
  'typename label_one': 'Document',
17
18
  'typename label_other': 'Documents',
18
19
  'object name placeholder': 'New document',
20
+ 'add object label': 'Add document',
19
21
  'rename object label': 'Rename document',
20
22
  'delete object label': 'Delete document',
23
+ 'object deleted label': 'Document deleted',
21
24
  },
22
25
  [meta.id]: {
23
26
  'plugin name': 'Editor',
27
+ 'settings title': 'Editor settings',
24
28
  'choose markdown from space dialog title': 'Choose one or more documents to add',
25
29
  // TODO(burdon): Style-guide for user-facing text (e.g., hints, questions, capitalization, etc.)
26
30
  'empty choose markdown from space message': 'None available; try creating a new one instead?',
@@ -42,7 +46,11 @@ export const translations = [
42
46
  'upload image label': 'Upload image',
43
47
  'fallback title': 'Untitled',
44
48
  'navigate to document label': 'Open document',
49
+ 'words label_zero': 'words',
50
+ 'words label_one': 'word',
51
+ 'words label_other': 'words',
45
52
  },
46
53
  },
47
54
  },
55
+ ...editorTranslations,
48
56
  ] as const satisfies Resource[];
@@ -2,26 +2,32 @@
2
2
  // Copyright 2024 DXOS.org
3
3
  //
4
4
 
5
- import { Schema } from 'effect';
5
+ import * as Schema from 'effect/Schema';
6
6
 
7
- import { Obj, Ref, Type } from '@dxos/echo';
8
- import { LabelAnnotation } from '@dxos/echo-schema';
9
- import { EditorInputMode, EditorViewMode } from '@dxos/react-ui-editor/types';
10
- import { DataType } from '@dxos/schema';
7
+ import { Annotation, Obj, Ref, Type } from '@dxos/echo';
8
+ import { DescriptionAnnotation, FormInputAnnotation, LabelAnnotation } from '@dxos/echo/internal';
9
+ import { Text } from '@dxos/schema';
10
+ import { EditorInputMode, EditorViewMode } from '@dxos/ui-editor/types';
11
11
 
12
12
  /**
13
13
  * Document Item type.
14
14
  */
15
15
  export const Document = Schema.Struct({
16
16
  name: Schema.optional(Schema.String),
17
- fallbackName: Schema.optional(Schema.String),
18
- content: Type.Ref(DataType.Text),
17
+ description: Schema.optional(Schema.String),
18
+ fallbackName: Schema.String.pipe(FormInputAnnotation.set(false), Schema.optional),
19
+ content: Ref.Ref(Text.Text).pipe(FormInputAnnotation.set(false)),
19
20
  }).pipe(
20
- Type.Obj({
21
- typename: 'dxos.org/type/Document',
21
+ Type.object({
22
+ typename: 'org.dxos.type.document',
22
23
  version: '0.1.0',
23
24
  }),
24
25
  LabelAnnotation.set(['name', 'fallbackName']),
26
+ DescriptionAnnotation.set('description'),
27
+ Annotation.IconAnnotation.set({
28
+ icon: 'ph--text-aa--regular',
29
+ hue: 'green',
30
+ }),
25
31
  );
26
32
 
27
33
  export type Document = Schema.Schema.Type<typeof Document>;
@@ -29,11 +35,15 @@ export type Document = Schema.Schema.Type<typeof Document>;
29
35
  /**
30
36
  * Document factory.
31
37
  */
32
- export const makeDocument = ({
38
+ export const make = ({
33
39
  content = '',
34
40
  ...props
35
- }: Partial<{ name: string; fallbackName: string; content: string }> = {}) =>
36
- Obj.make(Document, { ...props, content: Ref.make(DataType.makeText(content)) });
41
+ }: Partial<{ name: string; fallbackName: string; content: string }> = {}) => {
42
+ const doc = Obj.make(Document, { ...props, content: Ref.make(Text.make(content)) });
43
+ // TODO(dmaretskyi): We need a better way to set parents when creating hierarchies.
44
+ Obj.setParent(doc.content.target!, doc);
45
+ return doc;
46
+ };
37
47
 
38
48
  /**
39
49
  * Plugin settings.
@@ -2,29 +2,43 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import { Schema } from 'effect';
5
+ import * as Schema from 'effect/Schema';
6
6
 
7
- import { Type } from '@dxos/echo';
8
- import { EditorViewMode } from '@dxos/react-ui-editor/types';
7
+ import { Capability } from '@dxos/app-framework';
8
+ import { Operation } from '@dxos/operation';
9
+ import { EditorViewMode } from '@dxos/ui-editor/types';
10
+
11
+ import { meta } from '../meta';
9
12
 
10
13
  import { Document } from './Markdown';
11
- import { not_meta } from '../meta';
12
14
 
13
- export class Create extends Schema.TaggedClass<Create>()(`${not_meta.id}/action/create`, {
14
- input: Schema.Struct({
15
- spaceId: Type.SpaceId,
16
- name: Schema.optional(Schema.String),
17
- content: Schema.optional(Schema.String),
18
- }),
19
- output: Schema.Struct({
20
- object: Document,
21
- }),
22
- }) {}
15
+ const MARKDOWN_OPERATION = `${meta.id}.operation`;
16
+
17
+ export namespace MarkdownOperation {
18
+ export const Create = Operation.make({
19
+ meta: { key: `${MARKDOWN_OPERATION}.create`, name: 'Create Markdown Document' },
20
+ services: [Capability.Service],
21
+ schema: {
22
+ input: Schema.Struct({
23
+ name: Schema.optional(Schema.String),
24
+ content: Schema.optional(Schema.String),
25
+ }),
26
+ output: Schema.Struct({
27
+ object: Document,
28
+ }),
29
+ },
30
+ });
23
31
 
24
- export class SetViewMode extends Schema.TaggedClass<SetViewMode>()(`${not_meta.id}/action/set-view-mode`, {
25
- input: Schema.Struct({
26
- id: Schema.String,
27
- viewMode: EditorViewMode,
28
- }),
29
- output: Schema.Void,
30
- }) {}
32
+ // TODO(wittjosiah): This appears to be unused.
33
+ export const SetViewMode = Operation.make({
34
+ meta: { key: `${MARKDOWN_OPERATION}.set-view-mode`, name: 'Set View Mode' },
35
+ services: [Capability.Service],
36
+ schema: {
37
+ input: Schema.Struct({
38
+ id: Schema.String,
39
+ viewMode: EditorViewMode,
40
+ }),
41
+ output: Schema.Void,
42
+ },
43
+ });
44
+ }
@@ -0,0 +1,38 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import { type Atom } from '@effect-atom/atom-react';
6
+ import * as Schema from 'effect/Schema';
7
+
8
+ import { Capability } from '@dxos/app-framework';
9
+ import { type EditorStateStore, type EditorViewMode } from '@dxos/ui-editor';
10
+
11
+ import { meta } from '../meta';
12
+
13
+ import type * as Markdown from './Markdown';
14
+ import { type MarkdownExtensionProvider } from './types';
15
+
16
+ /** Schema for persisted markdown state. */
17
+ export const MarkdownStateSchema = Schema.mutable(
18
+ Schema.Struct({
19
+ viewMode: Schema.Record({ key: Schema.String, value: Schema.String }),
20
+ }),
21
+ );
22
+
23
+ export type MarkdownState = {
24
+ viewMode: Record<string, EditorViewMode>;
25
+ };
26
+
27
+ export namespace MarkdownCapabilities {
28
+ export const Settings = Capability.make<Atom.Writable<Markdown.Settings>>(`${meta.id}.capability.settings`);
29
+
30
+ /** Persisted state atom for view mode per document. */
31
+ export const State = Capability.make<Atom.Writable<MarkdownState>>(`${meta.id}.capability.state`);
32
+
33
+ /** Editor state store for cursor positions, scroll state, etc. */
34
+ export const EditorState = Capability.make<EditorStateStore>(`${meta.id}.capability.editor-state`);
35
+
36
+ // TODO(burdon): Move to ./types (external API)?
37
+ export const Extensions = Capability.make<MarkdownExtensionProvider[]>(`${meta.id}.capability.extensions`);
38
+ }
@@ -0,0 +1,14 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import { type ActivationEvent } from '@dxos/app-framework';
6
+ import { AppActivationEvents } from '@dxos/app-toolkit';
7
+
8
+ import { meta } from '../meta';
9
+
10
+ export namespace MarkdownEvents {
11
+ export const SetupExtensions: ActivationEvent.ActivationEvent = AppActivationEvents.createStateEvent(
12
+ `${meta.id}.event.setup-extensions`,
13
+ );
14
+ }
@@ -3,5 +3,9 @@
3
3
  //
4
4
 
5
5
  export * as MarkdownAction from './MarkdownAction';
6
+ export { MarkdownOperation } from './MarkdownAction';
6
7
  export * as Markdown from './Markdown';
8
+
9
+ export * from './capabilities';
10
+ export * from './events';
7
11
  export * from './types';
@@ -2,12 +2,14 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import { type Extension } from '@dxos/react-ui-editor';
6
- import { type EditorViewMode } from '@dxos/react-ui-editor/types';
5
+ import { type Extension } from '@codemirror/state';
6
+
7
+ import { type EditorViewMode } from '@dxos/ui-editor/types';
7
8
 
8
9
  import { type Document } from './Markdown';
9
10
 
10
11
  // TODO(burdon): Remove these from ./types since not part of plugin-markdown API?
12
+ // TODO(wittjosiah): MarkdownExtensionProvider is a part of the MarkdownCapabilities api which should be in ./types.
11
13
 
12
14
  // TODO(burdon): Async?
13
15
  export type MarkdownExtensionProvider = (props: { document?: Document }) => Extension | undefined;
@@ -0,0 +1,44 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import { describe, expect, it } from 'vitest';
6
+
7
+ import { trim } from '@dxos/util';
8
+
9
+ import { getFallbackName } from './util';
10
+
11
+ describe('markdown utils', () => {
12
+ it('getFallbackName', () => {
13
+ const tests = [
14
+ {
15
+ content: '',
16
+ expected: '',
17
+ },
18
+ {
19
+ content: trim`
20
+ ![img](https://dxos.network/dxos-logotype-blue.png)
21
+
22
+ # Welcome to Composer by DXOS
23
+
24
+ ## What is Composer?
25
+ `,
26
+ expected: 'Welcome to Composer by DXOS',
27
+ },
28
+ {
29
+ content: trim`
30
+ ![img](https://dxos.network/dxos-logotype-blue.png)
31
+
32
+ ---
33
+
34
+ This document is about the decetralized platform DXOS.
35
+ `,
36
+ expected: 'This document is about the…',
37
+ },
38
+ ];
39
+
40
+ tests.forEach(({ content, expected }) => {
41
+ expect(getFallbackName(content)).toBe(expected);
42
+ });
43
+ });
44
+ });
package/src/util.tsx CHANGED
@@ -32,18 +32,93 @@ export const isMarkdownProperties = (data: unknown): data is MarkdownProperties
32
32
 
33
33
  const nonTitleChars = /[^\w ]/g;
34
34
 
35
- export const getFallbackName = (content: string) => {
36
- return content.substring(0, 31).split('\n')[0].replaceAll(nonTitleChars, '').trim();
35
+ // Lines matching these patterns are skipped.
36
+ const skipPatterns = [
37
+ /^!\[/, // Image.
38
+ /^---\s*$/, // Horizontal rule.
39
+ /^```/, // Code block fence.
40
+ /^\s*$/, // Empty or whitespace-only.
41
+ ];
42
+
43
+ // Patterns to extract title text (first capture group is used).
44
+ const titlePatterns = [
45
+ /^#{1,6}\s+(.+)/, // Heading.
46
+ ];
47
+
48
+ /**
49
+ * Extracts a fallback name by scanning lines for the first heading or text fragment.
50
+ */
51
+ export const getFallbackName = (content = ''): string => {
52
+ const len = content.length;
53
+
54
+ let i = 0;
55
+ while (i < len) {
56
+ // Find end of line.
57
+ let lineEnd = i;
58
+ while (lineEnd < len && content[lineEnd] !== '\n') {
59
+ lineEnd++;
60
+ }
61
+
62
+ const line = content.slice(i, lineEnd).trim();
63
+ i = lineEnd + 1;
64
+
65
+ // Skip lines matching skip patterns.
66
+ if (skipPatterns.some((pattern) => pattern.test(line))) {
67
+ continue;
68
+ }
69
+
70
+ // Check for title patterns.
71
+ for (const pattern of titlePatterns) {
72
+ const match = pattern.exec(line);
73
+ if (match) {
74
+ const text = match[1].replaceAll(nonTitleChars, '').trim();
75
+ if (text.length > 0) {
76
+ return text;
77
+ }
78
+ }
79
+ }
80
+
81
+ // Use line as plain text fallback.
82
+ const maxLen = 32;
83
+ const text = line.replaceAll(nonTitleChars, '').trim();
84
+ if (text.length > 0) {
85
+ if (text.length > maxLen) {
86
+ const words = text.split(/\s+/);
87
+ let result = '';
88
+ for (const word of words) {
89
+ const next = result.length === 0 ? word : result + ' ' + word;
90
+ if (next.length > maxLen) {
91
+ break;
92
+ }
93
+ result = next;
94
+ }
95
+
96
+ return result + '…';
97
+ }
98
+
99
+ return text;
100
+ }
101
+ }
102
+
103
+ return '';
37
104
  };
38
105
 
39
- export const getAbstract = (content: string) => {
40
- return content.substring(0, 128).split('\n')[0].replaceAll(nonTitleChars, '').trim();
106
+ // TODO(burdon): Option to strip Markdown.
107
+ export const getContentSnippet = (content = '', maxLines = 3) => {
108
+ const abstract = content
109
+ .split('\n')
110
+ .filter((line) => !line.startsWith('!'))
111
+ .filter((line) => line.trim() !== '');
112
+
113
+ return abstract.slice(0, maxLines).join('\n') ?? '';
41
114
  };
42
115
 
43
- export const setFallbackName = debounce((doc: Markdown.Document, content: string) => {
116
+ export const setFallbackName = debounce((doc: Markdown.Document, content = '') => {
44
117
  const name = getFallbackName(content);
45
118
  if (doc.fallbackName !== name) {
46
- doc.fallbackName = name;
119
+ Obj.change(doc, (d) => {
120
+ d.fallbackName = name;
121
+ });
47
122
  }
48
123
  }, 200);
49
124
 
@@ -55,6 +130,6 @@ export const serializer: TypedObjectSerializer<Markdown.Document> = {
55
130
 
56
131
  deserialize: async ({ content: serialized }) => {
57
132
  const { name, fallbackName, content } = JSON.parse(serialized);
58
- return Markdown.makeDocument({ name, fallbackName, content });
133
+ return Markdown.make({ name, fallbackName, content });
59
134
  },
60
135
  };