@dxos/plugin-markdown 0.8.4-main.72ec0f3 → 0.8.4-main.74a063c4e0

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 (365) hide show
  1. package/dist/lib/browser/MarkdownSettings-YZFNSJJY.mjs +121 -0
  2. package/dist/lib/browser/MarkdownSettings-YZFNSJJY.mjs.map +7 -0
  3. package/dist/lib/browser/blueprints/index.mjs +51 -0
  4. package/dist/lib/browser/blueprints/index.mjs.map +7 -0
  5. package/dist/lib/browser/chunk-46WIDM4R.mjs +98 -0
  6. package/dist/lib/browser/chunk-46WIDM4R.mjs.map +7 -0
  7. package/dist/lib/browser/chunk-J5LGTIGS.mjs +10 -0
  8. package/dist/lib/browser/chunk-XKUKZNUS.mjs +158 -0
  9. package/dist/lib/browser/chunk-XKUKZNUS.mjs.map +7 -0
  10. package/dist/lib/browser/cli/index.mjs +39 -0
  11. package/dist/lib/browser/cli/index.mjs.map +7 -0
  12. package/dist/lib/browser/create-HSXPXCC5.mjs +30 -0
  13. package/dist/lib/browser/create-HSXPXCC5.mjs.map +7 -0
  14. package/dist/lib/browser/create-markdown-WB7DH3UF.mjs +22 -0
  15. package/dist/lib/browser/create-markdown-WB7DH3UF.mjs.map +7 -0
  16. package/dist/lib/browser/index.mjs +632 -153
  17. package/dist/lib/browser/index.mjs.map +4 -4
  18. package/dist/lib/browser/meta.json +1 -1
  19. package/dist/lib/browser/open-N6PAX6DY.mjs +21 -0
  20. package/dist/lib/browser/open-N6PAX6DY.mjs.map +7 -0
  21. package/dist/lib/browser/operations/index.mjs +14 -0
  22. package/dist/lib/browser/operations/index.mjs.map +7 -0
  23. package/dist/lib/browser/scroll-to-anchor-5M4F24AB.mjs +49 -0
  24. package/dist/lib/browser/scroll-to-anchor-5M4F24AB.mjs.map +7 -0
  25. package/dist/lib/browser/set-view-mode-NBNF2I5W.mjs +26 -0
  26. package/dist/lib/browser/set-view-mode-NBNF2I5W.mjs.map +7 -0
  27. package/dist/lib/browser/types/index.mjs +11 -5
  28. package/dist/lib/browser/update-5QIRVGTL.mjs +45 -0
  29. package/dist/lib/browser/update-5QIRVGTL.mjs.map +7 -0
  30. package/dist/lib/node-esm/MarkdownSettings-X6SDS35F.mjs +122 -0
  31. package/dist/lib/node-esm/MarkdownSettings-X6SDS35F.mjs.map +7 -0
  32. package/dist/lib/node-esm/blueprints/index.mjs +52 -0
  33. package/dist/lib/node-esm/blueprints/index.mjs.map +7 -0
  34. package/dist/lib/node-esm/chunk-4MSJO6IJ.mjs +99 -0
  35. package/dist/lib/node-esm/chunk-4MSJO6IJ.mjs.map +7 -0
  36. package/dist/lib/node-esm/chunk-E4BQCEXF.mjs +159 -0
  37. package/dist/lib/node-esm/chunk-E4BQCEXF.mjs.map +7 -0
  38. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
  39. package/dist/lib/node-esm/cli/index.mjs +40 -0
  40. package/dist/lib/node-esm/cli/index.mjs.map +7 -0
  41. package/dist/lib/node-esm/create-6Z2KYISY.mjs +31 -0
  42. package/dist/lib/node-esm/create-6Z2KYISY.mjs.map +7 -0
  43. package/dist/lib/node-esm/create-markdown-JWQZICKY.mjs +23 -0
  44. package/dist/lib/node-esm/create-markdown-JWQZICKY.mjs.map +7 -0
  45. package/dist/lib/node-esm/index.mjs +632 -153
  46. package/dist/lib/node-esm/index.mjs.map +4 -4
  47. package/dist/lib/node-esm/meta.json +1 -1
  48. package/dist/lib/node-esm/open-DSNFRSNZ.mjs +22 -0
  49. package/dist/lib/node-esm/open-DSNFRSNZ.mjs.map +7 -0
  50. package/dist/lib/node-esm/operations/index.mjs +15 -0
  51. package/dist/lib/node-esm/operations/index.mjs.map +7 -0
  52. package/dist/lib/node-esm/scroll-to-anchor-D6SHGU2R.mjs +50 -0
  53. package/dist/lib/node-esm/scroll-to-anchor-D6SHGU2R.mjs.map +7 -0
  54. package/dist/lib/node-esm/set-view-mode-REYB4L7J.mjs +27 -0
  55. package/dist/lib/node-esm/set-view-mode-REYB4L7J.mjs.map +7 -0
  56. package/dist/lib/node-esm/types/index.mjs +11 -5
  57. package/dist/lib/node-esm/update-YMQAIKOF.mjs +46 -0
  58. package/dist/lib/node-esm/update-YMQAIKOF.mjs.map +7 -0
  59. package/dist/types/src/MarkdownPlugin.d.ts +2 -1
  60. package/dist/types/src/MarkdownPlugin.d.ts.map +1 -1
  61. package/dist/types/src/blueprints/index.d.ts +2 -0
  62. package/dist/types/src/blueprints/index.d.ts.map +1 -0
  63. package/dist/types/src/blueprints/markdown-blueprint.d.ts +4 -0
  64. package/dist/types/src/blueprints/markdown-blueprint.d.ts.map +1 -0
  65. package/dist/types/src/capabilities/anchor-sort.d.ts +4 -2
  66. package/dist/types/src/capabilities/anchor-sort.d.ts.map +1 -1
  67. package/dist/types/src/capabilities/app-graph-serializer.d.ts +3 -2
  68. package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +1 -1
  69. package/dist/types/src/capabilities/artifact-definition.d.ts +3 -1
  70. package/dist/types/src/capabilities/artifact-definition.d.ts.map +1 -1
  71. package/dist/types/src/capabilities/blueprint-definition.d.ts +5 -6
  72. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -1
  73. package/dist/types/src/capabilities/index.d.ts +27 -14
  74. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  75. package/dist/types/src/capabilities/node.d.ts +4 -0
  76. package/dist/types/src/capabilities/node.d.ts.map +1 -0
  77. package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
  78. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
  79. package/dist/types/src/capabilities/react-surface.d.ts +3 -2
  80. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  81. package/dist/types/src/capabilities/settings.d.ts +22 -2
  82. package/dist/types/src/capabilities/settings.d.ts.map +1 -1
  83. package/dist/types/src/capabilities/state.d.ts +4 -9
  84. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  85. package/dist/types/src/cli/index.d.ts +2 -0
  86. package/dist/types/src/cli/index.d.ts.map +1 -0
  87. package/dist/types/src/cli/plugin.d.ts +3 -0
  88. package/dist/types/src/cli/plugin.d.ts.map +1 -0
  89. package/dist/types/src/components/MarkdownEditor/FileUpload.d.ts +1 -1
  90. package/dist/types/src/components/MarkdownEditor/FileUpload.d.ts.map +1 -1
  91. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts +18 -12
  92. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts.map +1 -1
  93. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.stories.d.ts +2 -2
  94. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.stories.d.ts.map +1 -1
  95. package/dist/types/src/components/MarkdownEditor/MarkdownEditorContent.d.ts +16 -10
  96. package/dist/types/src/components/MarkdownEditor/MarkdownEditorContent.d.ts.map +1 -1
  97. package/dist/types/src/components/MarkdownEditor/MarkdownEditorToolbar.d.ts +10 -5
  98. package/dist/types/src/components/MarkdownEditor/MarkdownEditorToolbar.d.ts.map +1 -1
  99. package/dist/types/src/components/MarkdownSettings/MarkdownSettings.d.ts +4 -4
  100. package/dist/types/src/components/MarkdownSettings/MarkdownSettings.d.ts.map +1 -1
  101. package/dist/types/src/components/MarkdownSettings/MarkdownSettings.stories.d.ts +138 -0
  102. package/dist/types/src/components/MarkdownSettings/MarkdownSettings.stories.d.ts.map +1 -0
  103. package/dist/types/src/components/MarkdownSettings/index.d.ts +1 -1
  104. package/dist/types/src/components/MarkdownSettings/index.d.ts.map +1 -1
  105. package/dist/types/src/components/index.d.ts +3 -5
  106. package/dist/types/src/components/index.d.ts.map +1 -1
  107. package/dist/types/src/containers/MarkdownCard/MarkdownCard.d.ts +8 -0
  108. package/dist/types/src/containers/MarkdownCard/MarkdownCard.d.ts.map +1 -0
  109. package/dist/types/src/containers/MarkdownCard/MarkdownCard.stories.d.ts +9 -0
  110. package/dist/types/src/containers/MarkdownCard/MarkdownCard.stories.d.ts.map +1 -0
  111. package/dist/types/src/containers/MarkdownCard/index.d.ts +2 -0
  112. package/dist/types/src/containers/MarkdownCard/index.d.ts.map +1 -0
  113. package/dist/types/src/containers/MarkdownCard/snippet.d.ts +15 -0
  114. package/dist/types/src/containers/MarkdownCard/snippet.d.ts.map +1 -0
  115. package/dist/types/src/containers/MarkdownContainer/MarkdownContainer.d.ts +36 -0
  116. package/dist/types/src/containers/MarkdownContainer/MarkdownContainer.d.ts.map +1 -0
  117. package/dist/types/src/containers/MarkdownContainer/MarkdownContainer.stories.d.ts +99 -0
  118. package/dist/types/src/containers/MarkdownContainer/MarkdownContainer.stories.d.ts.map +1 -0
  119. package/dist/types/src/containers/MarkdownContainer/index.d.ts +3 -0
  120. package/dist/types/src/containers/MarkdownContainer/index.d.ts.map +1 -0
  121. package/dist/types/src/containers/index.d.ts +5 -0
  122. package/dist/types/src/containers/index.d.ts.map +1 -0
  123. package/dist/types/src/hooks/index.d.ts +0 -1
  124. package/dist/types/src/hooks/index.d.ts.map +1 -1
  125. package/dist/types/src/hooks/useEditorMenuOptions.d.ts.map +1 -1
  126. package/dist/types/src/hooks/useExtensions.d.ts +8 -6
  127. package/dist/types/src/hooks/useExtensions.d.ts.map +1 -1
  128. package/dist/types/src/hooks/useLinkQuery.d.ts +2 -2
  129. package/dist/types/src/hooks/useLinkQuery.d.ts.map +1 -1
  130. package/dist/types/src/index.d.ts +2 -2
  131. package/dist/types/src/index.d.ts.map +1 -1
  132. package/dist/types/src/meta.d.ts +2 -2
  133. package/dist/types/src/meta.d.ts.map +1 -1
  134. package/dist/types/src/operations/create-markdown.d.ts +5 -0
  135. package/dist/types/src/operations/create-markdown.d.ts.map +1 -0
  136. package/dist/types/src/operations/create.d.ts +5 -0
  137. package/dist/types/src/operations/create.d.ts.map +1 -0
  138. package/dist/types/src/operations/create.test.d.ts.map +1 -0
  139. package/dist/types/src/operations/definitions.d.ts +64 -0
  140. package/dist/types/src/operations/definitions.d.ts.map +1 -0
  141. package/dist/types/src/operations/index.d.ts +4 -0
  142. package/dist/types/src/operations/index.d.ts.map +1 -0
  143. package/dist/types/src/operations/open.d.ts +5 -0
  144. package/dist/types/src/operations/open.d.ts.map +1 -0
  145. package/dist/types/src/operations/scroll-to-anchor.d.ts +5 -0
  146. package/dist/types/src/operations/scroll-to-anchor.d.ts.map +1 -0
  147. package/dist/types/src/operations/set-view-mode.d.ts +5 -0
  148. package/dist/types/src/operations/set-view-mode.d.ts.map +1 -0
  149. package/dist/types/src/operations/update.d.ts +5 -0
  150. package/dist/types/src/operations/update.d.ts.map +1 -0
  151. package/dist/types/src/operations/update.test.d.ts.map +1 -0
  152. package/dist/types/src/testing.d.ts +2 -2
  153. package/dist/types/src/testing.d.ts.map +1 -1
  154. package/dist/types/src/translations.d.ts +75 -34
  155. package/dist/types/src/translations.d.ts.map +1 -1
  156. package/dist/types/src/types/Markdown.d.ts +29 -30
  157. package/dist/types/src/types/Markdown.d.ts.map +1 -1
  158. package/dist/types/src/types/Settings.d.ts +16 -0
  159. package/dist/types/src/types/Settings.d.ts.map +1 -0
  160. package/dist/types/src/types/capabilities.d.ts +51 -0
  161. package/dist/types/src/types/capabilities.d.ts.map +1 -0
  162. package/dist/types/src/types/events.d.ts +5 -0
  163. package/dist/types/src/types/events.d.ts.map +1 -0
  164. package/dist/types/src/types/index.d.ts +4 -2
  165. package/dist/types/src/types/index.d.ts.map +1 -1
  166. package/dist/types/src/types/types.d.ts +2 -2
  167. package/dist/types/src/types/types.d.ts.map +1 -1
  168. package/dist/types/src/util.d.ts +5 -2
  169. package/dist/types/src/util.d.ts.map +1 -1
  170. package/dist/types/src/util.test.d.ts +2 -0
  171. package/dist/types/src/util.test.d.ts.map +1 -0
  172. package/dist/types/tsconfig.tsbuildinfo +1 -1
  173. package/package.json +115 -68
  174. package/src/MarkdownPlugin.tsx +74 -98
  175. package/src/blueprints/index.ts +5 -0
  176. package/src/blueprints/markdown-blueprint.ts +44 -0
  177. package/src/capabilities/anchor-sort.ts +28 -21
  178. package/src/capabilities/app-graph-serializer.ts +55 -44
  179. package/src/capabilities/artifact-definition.ts +81 -83
  180. package/src/capabilities/blueprint-definition.ts +9 -35
  181. package/src/capabilities/index.ts +12 -11
  182. package/src/capabilities/node.ts +11 -0
  183. package/src/capabilities/operation-handler.ts +16 -0
  184. package/src/capabilities/react-surface.tsx +93 -66
  185. package/src/capabilities/settings.ts +30 -18
  186. package/src/capabilities/state.ts +41 -25
  187. package/src/cli/index.ts +5 -0
  188. package/src/cli/plugin.ts +39 -0
  189. package/src/components/MarkdownEditor/FileUpload.tsx +2 -2
  190. package/src/components/MarkdownEditor/MarkdownEditor.stories.tsx +37 -38
  191. package/src/components/MarkdownEditor/MarkdownEditor.tsx +75 -45
  192. package/src/components/MarkdownEditor/MarkdownEditorContent.tsx +63 -30
  193. package/src/components/MarkdownEditor/MarkdownEditorToolbar.tsx +47 -52
  194. package/src/components/MarkdownSettings/MarkdownSettings.stories.tsx +39 -0
  195. package/src/components/MarkdownSettings/MarkdownSettings.tsx +116 -86
  196. package/src/components/MarkdownSettings/index.ts +1 -1
  197. package/src/components/index.ts +4 -7
  198. package/src/containers/MarkdownCard/MarkdownCard.stories.tsx +67 -0
  199. package/src/containers/MarkdownCard/MarkdownCard.tsx +57 -0
  200. package/src/containers/MarkdownCard/index.ts +5 -0
  201. package/src/containers/MarkdownCard/snippet.ts +78 -0
  202. package/src/containers/MarkdownContainer/MarkdownContainer.stories.tsx +134 -0
  203. package/src/containers/MarkdownContainer/MarkdownContainer.tsx +135 -0
  204. package/src/containers/MarkdownContainer/index.ts +6 -0
  205. package/src/containers/index.ts +10 -0
  206. package/src/hooks/index.ts +0 -1
  207. package/src/hooks/useEditorMenuOptions.ts +11 -14
  208. package/src/hooks/useExtensions.tsx +92 -108
  209. package/src/hooks/useLinkQuery.ts +46 -21
  210. package/src/index.ts +3 -2
  211. package/src/meta.ts +3 -3
  212. package/src/operations/create-markdown.ts +20 -0
  213. package/src/operations/create.conversations.json +1 -0
  214. package/src/operations/create.test.ts +98 -0
  215. package/src/operations/create.ts +27 -0
  216. package/src/operations/definitions.ts +120 -0
  217. package/src/operations/index.ts +16 -0
  218. package/src/operations/open.ts +25 -0
  219. package/src/operations/scroll-to-anchor.ts +39 -0
  220. package/src/operations/set-view-mode.ts +24 -0
  221. package/src/operations/update.conversations.json +1 -0
  222. package/src/operations/update.test.ts +215 -0
  223. package/src/operations/update.ts +51 -0
  224. package/src/testing.ts +6 -6
  225. package/src/translations.ts +49 -34
  226. package/src/types/Markdown.ts +22 -30
  227. package/src/types/Settings.ts +28 -0
  228. package/src/types/capabilities.ts +50 -0
  229. package/src/types/events.ts +14 -0
  230. package/src/types/index.ts +5 -3
  231. package/src/types/types.ts +3 -2
  232. package/src/util.test.ts +44 -0
  233. package/src/util.tsx +77 -7
  234. package/dist/lib/browser/MarkdownCard-JYMDPKV5.mjs +0 -12
  235. package/dist/lib/browser/MarkdownContainer-Y75XSVBX.mjs +0 -15
  236. package/dist/lib/browser/anchor-sort-3HGPGCOO.mjs +0 -31
  237. package/dist/lib/browser/anchor-sort-3HGPGCOO.mjs.map +0 -7
  238. package/dist/lib/browser/app-graph-serializer-POZN234F.mjs +0 -51
  239. package/dist/lib/browser/app-graph-serializer-POZN234F.mjs.map +0 -7
  240. package/dist/lib/browser/blueprint-definition-GIPKFDY5.mjs +0 -13
  241. package/dist/lib/browser/blueprint-definition-GIPKFDY5.mjs.map +0 -7
  242. package/dist/lib/browser/chunk-22XSSNBS.mjs +0 -56
  243. package/dist/lib/browser/chunk-22XSSNBS.mjs.map +0 -7
  244. package/dist/lib/browser/chunk-2MLGSYRN.mjs +0 -20
  245. package/dist/lib/browser/chunk-2MLGSYRN.mjs.map +0 -7
  246. package/dist/lib/browser/chunk-BQTYJOFB.mjs +0 -28
  247. package/dist/lib/browser/chunk-BQTYJOFB.mjs.map +0 -7
  248. package/dist/lib/browser/chunk-GH6GQSBL.mjs +0 -51
  249. package/dist/lib/browser/chunk-GH6GQSBL.mjs.map +0 -7
  250. package/dist/lib/browser/chunk-IBCHVMZW.mjs +0 -16
  251. package/dist/lib/browser/chunk-IBCHVMZW.mjs.map +0 -7
  252. package/dist/lib/browser/chunk-K3LXOU3E.mjs +0 -827
  253. package/dist/lib/browser/chunk-K3LXOU3E.mjs.map +0 -7
  254. package/dist/lib/browser/chunk-PBJLFIOX.mjs +0 -96
  255. package/dist/lib/browser/chunk-PBJLFIOX.mjs.map +0 -7
  256. package/dist/lib/browser/chunk-QYSEJ5GP.mjs +0 -79
  257. package/dist/lib/browser/chunk-QYSEJ5GP.mjs.map +0 -7
  258. package/dist/lib/browser/chunk-Y53FQREH.mjs +0 -150
  259. package/dist/lib/browser/chunk-Y53FQREH.mjs.map +0 -7
  260. package/dist/lib/browser/intent-resolver-Z5L7TXUK.mjs +0 -62
  261. package/dist/lib/browser/intent-resolver-Z5L7TXUK.mjs.map +0 -7
  262. package/dist/lib/browser/react-surface-GO5ZOKNN.mjs +0 -211
  263. package/dist/lib/browser/react-surface-GO5ZOKNN.mjs.map +0 -7
  264. package/dist/lib/browser/settings-TZUDB5EW.mjs +0 -28
  265. package/dist/lib/browser/settings-TZUDB5EW.mjs.map +0 -7
  266. package/dist/lib/browser/state-BTUKVZHY.mjs +0 -37
  267. package/dist/lib/browser/state-BTUKVZHY.mjs.map +0 -7
  268. package/dist/lib/browser/toolkit.mjs +0 -13
  269. package/dist/lib/browser/toolkit.mjs.map +0 -7
  270. package/dist/lib/node-esm/MarkdownCard-ZXPJLUYO.mjs +0 -13
  271. package/dist/lib/node-esm/MarkdownCard-ZXPJLUYO.mjs.map +0 -7
  272. package/dist/lib/node-esm/MarkdownContainer-YRDSRDCS.mjs +0 -16
  273. package/dist/lib/node-esm/MarkdownContainer-YRDSRDCS.mjs.map +0 -7
  274. package/dist/lib/node-esm/anchor-sort-PCDXEBJ2.mjs +0 -32
  275. package/dist/lib/node-esm/anchor-sort-PCDXEBJ2.mjs.map +0 -7
  276. package/dist/lib/node-esm/app-graph-serializer-NF65JYAS.mjs +0 -52
  277. package/dist/lib/node-esm/app-graph-serializer-NF65JYAS.mjs.map +0 -7
  278. package/dist/lib/node-esm/blueprint-definition-ENKJZYQS.mjs +0 -14
  279. package/dist/lib/node-esm/blueprint-definition-ENKJZYQS.mjs.map +0 -7
  280. package/dist/lib/node-esm/chunk-AMHACOXW.mjs +0 -57
  281. package/dist/lib/node-esm/chunk-AMHACOXW.mjs.map +0 -7
  282. package/dist/lib/node-esm/chunk-CT7CFX5G.mjs +0 -828
  283. package/dist/lib/node-esm/chunk-CT7CFX5G.mjs.map +0 -7
  284. package/dist/lib/node-esm/chunk-GMMVSXQ6.mjs +0 -17
  285. package/dist/lib/node-esm/chunk-GMMVSXQ6.mjs.map +0 -7
  286. package/dist/lib/node-esm/chunk-HAIEWPU7.mjs +0 -151
  287. package/dist/lib/node-esm/chunk-HAIEWPU7.mjs.map +0 -7
  288. package/dist/lib/node-esm/chunk-KCHUTL3Q.mjs +0 -22
  289. package/dist/lib/node-esm/chunk-KCHUTL3Q.mjs.map +0 -7
  290. package/dist/lib/node-esm/chunk-NGYJNQ6A.mjs +0 -80
  291. package/dist/lib/node-esm/chunk-NGYJNQ6A.mjs.map +0 -7
  292. package/dist/lib/node-esm/chunk-PIOOG7A5.mjs +0 -97
  293. package/dist/lib/node-esm/chunk-PIOOG7A5.mjs.map +0 -7
  294. package/dist/lib/node-esm/chunk-PLZ7EVCT.mjs +0 -52
  295. package/dist/lib/node-esm/chunk-PLZ7EVCT.mjs.map +0 -7
  296. package/dist/lib/node-esm/chunk-SHAMSMKQ.mjs +0 -29
  297. package/dist/lib/node-esm/chunk-SHAMSMKQ.mjs.map +0 -7
  298. package/dist/lib/node-esm/intent-resolver-6B3PFQ5F.mjs +0 -63
  299. package/dist/lib/node-esm/intent-resolver-6B3PFQ5F.mjs.map +0 -7
  300. package/dist/lib/node-esm/react-surface-I46BPCWT.mjs +0 -212
  301. package/dist/lib/node-esm/react-surface-I46BPCWT.mjs.map +0 -7
  302. package/dist/lib/node-esm/settings-CJ3T5EX4.mjs +0 -29
  303. package/dist/lib/node-esm/settings-CJ3T5EX4.mjs.map +0 -7
  304. package/dist/lib/node-esm/state-K6EH7SRZ.mjs +0 -38
  305. package/dist/lib/node-esm/state-K6EH7SRZ.mjs.map +0 -7
  306. package/dist/lib/node-esm/toolkit.mjs +0 -14
  307. package/dist/lib/node-esm/toolkit.mjs.map +0 -7
  308. package/dist/types/src/capabilities/capabilities.d.ts +0 -12
  309. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  310. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  311. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  312. package/dist/types/src/components/MarkdownCard/MarkdownCard.d.ts +0 -7
  313. package/dist/types/src/components/MarkdownCard/MarkdownCard.d.ts.map +0 -1
  314. package/dist/types/src/components/MarkdownCard/MarkdownCard.stories.d.ts +0 -9
  315. package/dist/types/src/components/MarkdownCard/MarkdownCard.stories.d.ts.map +0 -1
  316. package/dist/types/src/components/MarkdownCard/index.d.ts +0 -4
  317. package/dist/types/src/components/MarkdownCard/index.d.ts.map +0 -1
  318. package/dist/types/src/components/MarkdownContainer.d.ts +0 -14
  319. package/dist/types/src/components/MarkdownContainer.d.ts.map +0 -1
  320. package/dist/types/src/components/MarkdownContainer.stories.d.ts +0 -58
  321. package/dist/types/src/components/MarkdownContainer.stories.d.ts.map +0 -1
  322. package/dist/types/src/components/Suggestions.stories.d.ts +0 -11
  323. package/dist/types/src/components/Suggestions.stories.d.ts.map +0 -1
  324. package/dist/types/src/events.d.ts +0 -4
  325. package/dist/types/src/events.d.ts.map +0 -1
  326. package/dist/types/src/functions/create.d.ts +0 -8
  327. package/dist/types/src/functions/create.d.ts.map +0 -1
  328. package/dist/types/src/functions/create.test.d.ts.map +0 -1
  329. package/dist/types/src/functions/index.d.ts +0 -18
  330. package/dist/types/src/functions/index.d.ts.map +0 -1
  331. package/dist/types/src/functions/open.d.ts +0 -7
  332. package/dist/types/src/functions/open.d.ts.map +0 -1
  333. package/dist/types/src/functions/update.d.ts +0 -6
  334. package/dist/types/src/functions/update.d.ts.map +0 -1
  335. package/dist/types/src/functions/update.test.d.ts.map +0 -1
  336. package/dist/types/src/hooks/useSelectCurrentThread.d.ts +0 -6
  337. package/dist/types/src/hooks/useSelectCurrentThread.d.ts.map +0 -1
  338. package/dist/types/src/toolkit.d.ts +0 -3
  339. package/dist/types/src/toolkit.d.ts.map +0 -1
  340. package/dist/types/src/types/MarkdownAction.d.ts +0 -34
  341. package/dist/types/src/types/MarkdownAction.d.ts.map +0 -1
  342. package/src/capabilities/capabilities.ts +0 -22
  343. package/src/capabilities/intent-resolver.ts +0 -58
  344. package/src/components/MarkdownCard/MarkdownCard.stories.tsx +0 -76
  345. package/src/components/MarkdownCard/MarkdownCard.tsx +0 -89
  346. package/src/components/MarkdownCard/index.ts +0 -9
  347. package/src/components/MarkdownContainer.stories.tsx +0 -136
  348. package/src/components/MarkdownContainer.tsx +0 -113
  349. package/src/components/Suggestions.stories.tsx +0 -225
  350. package/src/events.ts +0 -11
  351. package/src/functions/create.conversations.json +0 -1
  352. package/src/functions/create.test.ts +0 -128
  353. package/src/functions/create.ts +0 -34
  354. package/src/functions/index.ts +0 -13
  355. package/src/functions/open.ts +0 -32
  356. package/src/functions/update.conversations.json +0 -1
  357. package/src/functions/update.test.ts +0 -151
  358. package/src/functions/update.ts +0 -37
  359. package/src/hooks/useSelectCurrentThread.tsx +0 -66
  360. package/src/toolkit.ts +0 -6
  361. package/src/types/MarkdownAction.ts +0 -29
  362. /package/dist/lib/browser/{MarkdownCard-JYMDPKV5.mjs.map → chunk-J5LGTIGS.mjs.map} +0 -0
  363. /package/dist/lib/{browser/MarkdownContainer-Y75XSVBX.mjs.map → node-esm/chunk-HSLMI22Q.mjs.map} +0 -0
  364. /package/dist/types/src/{functions → operations}/create.test.d.ts +0 -0
  365. /package/dist/types/src/{functions → operations}/update.test.d.ts +0 -0
@@ -1,14 +0,0 @@
1
- import React from 'react';
2
- import { type SelectionManager } from '@dxos/react-ui-attention';
3
- import { type DocumentType } from '../hooks';
4
- import { Markdown, type MarkdownPluginState } from '../types';
5
- import { type MarkdownEditorContentProps, type MarkdownEditorRootProps } from './MarkdownEditor';
6
- export type MarkdownContainerProps = {
7
- role?: string;
8
- object: DocumentType;
9
- settings: Markdown.Settings;
10
- selectionManager?: SelectionManager;
11
- } & (Pick<MarkdownEditorRootProps, 'id' | 'viewMode' | 'onViewModeChange'> & Pick<MarkdownEditorContentProps, 'editorStateStore'> & Pick<MarkdownPluginState, 'extensionProviders'>);
12
- export declare const MarkdownContainer: ({ id, role, object, settings, extensionProviders, ...props }: MarkdownContainerProps) => React.JSX.Element;
13
- export default MarkdownContainer;
14
- //# sourceMappingURL=MarkdownContainer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MarkdownContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/MarkdownContainer.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAMvC,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAKjE,OAAO,EAAE,KAAK,YAAY,EAAgB,MAAM,UAAU,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,KAAK,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAE9D,OAAO,EAAkB,KAAK,0BAA0B,EAAE,KAAK,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAEjH,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC;IAC5B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC,GAAG,CAAC,IAAI,CAAC,uBAAuB,EAAE,IAAI,GAAG,UAAU,GAAG,kBAAkB,CAAC,GACxE,IAAI,CAAC,0BAA0B,EAAE,kBAAkB,CAAC,GACpD,IAAI,CAAC,mBAAmB,EAAE,oBAAoB,CAAC,CAAC,CAAC;AAEnD,eAAO,MAAM,iBAAiB,GAAI,8DAO/B,sBAAsB,sBAwExB,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -1,58 +0,0 @@
1
- import { type StoryObj } from '@storybook/react-vite';
2
- import React from 'react';
3
- import { Markdown } from '../types';
4
- declare const meta: {
5
- title: string;
6
- render: () => React.JSX.Element;
7
- decorators: import("@storybook/react").Decorator[];
8
- parameters: {
9
- layout: string;
10
- controls: {
11
- disable: boolean;
12
- };
13
- translations: [{
14
- readonly 'en-US': {
15
- readonly [Markdown.Document.typename]: {
16
- readonly 'typename label': "Document";
17
- readonly 'typename label_zero': "Documents";
18
- readonly 'typename label_one': "Document";
19
- readonly 'typename label_other': "Documents";
20
- readonly 'object name placeholder': "New document";
21
- readonly 'rename object label': "Rename document";
22
- readonly 'delete object label': "Delete document";
23
- };
24
- readonly [meta.id]: {
25
- readonly 'plugin name': "Editor";
26
- readonly 'settings title': "Editor settings";
27
- readonly 'choose markdown from space dialog title': "Choose one or more documents to add";
28
- readonly 'empty choose markdown from space message': "None available; try creating a new one instead?";
29
- readonly 'chooser done label': "Add selected";
30
- readonly 'editor placeholder': "";
31
- readonly 'editor input mode label': "Editor input mode";
32
- readonly 'select editor input mode placeholder': "Select editor input mode…";
33
- readonly 'settings editor input mode default label': "Default";
34
- readonly 'settings editor input mode vim label': "Vim";
35
- readonly 'settings editor input mode vscode label': "VS Code";
36
- readonly 'settings toolbar label': "Show toolbar";
37
- readonly 'settings numbered headings label': "Numbered headings";
38
- readonly 'settings folding label': "Folding";
39
- readonly 'settings experimental label': "Enable experimental features";
40
- readonly 'settings debug label': "Enable debugging features";
41
- readonly 'settings debug placeholder': "Typewriter script...";
42
- readonly 'toggle view mode label': "Toggle read-only";
43
- readonly 'default view mode label': "Default view mode";
44
- readonly 'upload image label': "Upload image";
45
- readonly 'fallback title': "Untitled";
46
- readonly 'navigate to document label': "Open document";
47
- readonly 'words label_zero': "words";
48
- readonly 'words label_one': "word";
49
- readonly 'words label_other': "words";
50
- };
51
- };
52
- }];
53
- };
54
- };
55
- export default meta;
56
- type Story = StoryObj<typeof meta>;
57
- export declare const Default: Story;
58
- //# sourceMappingURL=MarkdownContainer.stories.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MarkdownContainer.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/MarkdownContainer.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAkB,MAAM,OAAO,CAAC;AAyBvC,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAgCpC,QAAA,MAAM,IAAI;;;;;;;;;;;yBAvDgD,CAAQ,QAAQ,CAAC,QAAQ,CAAE,QAAO,CAAC;;;;;;;;;yBAMxE,CAAO,IAAI,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+GC,CAAC;AAEtC,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAKrB,CAAC"}
@@ -1,11 +0,0 @@
1
- import { type Meta } from '@storybook/react-vite';
2
- import React from 'react';
3
- declare const DefaultStory: ({ document, chat }: {
4
- document: string;
5
- chat: string;
6
- }) => React.JSX.Element | null;
7
- declare const storybook: Meta<typeof DefaultStory>;
8
- export default storybook;
9
- type Story = Meta<typeof DefaultStory>;
10
- export declare const Default: Story;
11
- //# sourceMappingURL=Suggestions.stories.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Suggestions.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/Suggestions.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAKlD,OAAO,KAAgD,MAAM,OAAO,CAAC;AA0GrE,QAAA,MAAM,YAAY,GAAI,oBAAoB;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,6BAyC3E,CAAC;AAEF,QAAA,MAAM,SAAS,EAAE,IAAI,CAAC,OAAO,YAAY,CAiCxC,CAAC;AAEF,eAAe,SAAS,CAAC;AAEzB,KAAK,KAAK,GAAG,IAAI,CAAC,OAAO,YAAY,CAAC,CAAC;AAEvC,eAAO,MAAM,OAAO,EAAE,KAcrB,CAAC"}
@@ -1,4 +0,0 @@
1
- export declare namespace MarkdownEvents {
2
- const SetupExtensions: import("@dxos/app-framework").ActivationEvent;
3
- }
4
- //# sourceMappingURL=events.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/events.ts"],"names":[],"mappings":"AAQA,yBAAiB,cAAc,CAAC;IACvB,MAAM,eAAe,+CAA+D,CAAC;CAC7F"}
@@ -1,8 +0,0 @@
1
- declare const _default: import("@dxos/functions").FunctionDefinition<{
2
- readonly name: string;
3
- readonly content: string;
4
- }, {
5
- readonly id: string;
6
- }, import("@dxos/functions").FunctionServices>;
7
- export default _default;
8
- //# sourceMappingURL=create.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../../src/functions/create.ts"],"names":[],"mappings":";;;;;;AAcA,wBAmBG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"create.test.d.ts","sourceRoot":"","sources":["../../../../src/functions/create.test.ts"],"names":[],"mappings":""}
@@ -1,18 +0,0 @@
1
- export declare const MarkdownFunction: {
2
- create: import("@dxos/functions").FunctionDefinition<{
3
- readonly name: string;
4
- readonly content: string;
5
- }, {
6
- readonly id: string;
7
- }, import("@dxos/functions").FunctionServices>;
8
- open: import("@dxos/functions").FunctionDefinition<{
9
- readonly id: string;
10
- }, {
11
- readonly content: string;
12
- }, import("@dxos/functions").FunctionServices>;
13
- update: import("@dxos/functions").FunctionDefinition<{
14
- readonly id: string;
15
- readonly diffs: readonly string[];
16
- }, void, import("@dxos/functions").FunctionServices>;
17
- };
18
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/functions/index.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;CAI5B,CAAC"}
@@ -1,7 +0,0 @@
1
- declare const _default: import("@dxos/functions").FunctionDefinition<{
2
- readonly id: string;
3
- }, {
4
- readonly content: string;
5
- }, import("@dxos/functions").FunctionServices>;
6
- export default _default;
7
- //# sourceMappingURL=open.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"open.d.ts","sourceRoot":"","sources":["../../../../src/functions/open.ts"],"names":[],"mappings":";;;;;AAYA,wBAmBG"}
@@ -1,6 +0,0 @@
1
- declare const _default: import("@dxos/functions").FunctionDefinition<{
2
- readonly id: string;
3
- readonly diffs: readonly string[];
4
- }, void, import("@dxos/functions").FunctionServices>;
5
- export default _default;
6
- //# sourceMappingURL=update.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../../src/functions/update.ts"],"names":[],"mappings":";;;;AAeA,wBAqBG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"update.test.d.ts","sourceRoot":"","sources":["../../../../src/functions/update.test.ts"],"names":[],"mappings":""}
@@ -1,6 +0,0 @@
1
- import { EditorView } from '@codemirror/view';
2
- /**
3
- * Handle scrolling and selection of the current thread in a markdown editor.
4
- */
5
- export declare const useSelectCurrentThread: (editorView: EditorView | null, documentId: string) => void;
6
- //# sourceMappingURL=useSelectCurrentThread.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useSelectCurrentThread.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useSelectCurrentThread.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAW9C;;GAEG;AACH,eAAO,MAAM,sBAAsB,GAAI,YAAY,UAAU,GAAG,IAAI,EAAE,YAAY,MAAM,SA+CvF,CAAC"}
@@ -1,3 +0,0 @@
1
- export { MarkdownBlueprint, MARKDOWN_BLUEPRINT_KEY } from './capabilities/blueprint-definition';
2
- export { MarkdownFunction } from './functions';
3
- //# sourceMappingURL=toolkit.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"toolkit.d.ts","sourceRoot":"","sources":["../../../src/toolkit.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAChG,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC"}
@@ -1,34 +0,0 @@
1
- import * as Schema from 'effect/Schema';
2
- declare const Create_base: Schema.TaggedClass<Create, `${string}/action/create`, {
3
- readonly _tag: Schema.tag<`${string}/action/create`>;
4
- } & {
5
- input: Schema.Struct<{
6
- name: Schema.optional<typeof Schema.String>;
7
- content: Schema.optional<typeof Schema.String>;
8
- }>;
9
- output: Schema.Struct<{
10
- object: import("@dxos/echo/Type").obj<Schema.Struct<{
11
- name: Schema.optional<typeof Schema.String>;
12
- description: Schema.optional<typeof Schema.String>;
13
- fallbackName: Schema.optional<typeof Schema.String>;
14
- content: import("@dxos/echo/Type").ref<import("@dxos/echo/Type").obj<Schema.Struct<{
15
- content: typeof Schema.String;
16
- }>>>;
17
- }>>;
18
- }>;
19
- }>;
20
- export declare class Create extends Create_base {
21
- }
22
- declare const SetViewMode_base: Schema.TaggedClass<SetViewMode, `${string}/action/set-view-mode`, {
23
- readonly _tag: Schema.tag<`${string}/action/set-view-mode`>;
24
- } & {
25
- input: Schema.Struct<{
26
- id: typeof Schema.String;
27
- viewMode: Schema.Schema<"source" | "preview" | "readonly", "source" | "preview" | "readonly", never>;
28
- }>;
29
- output: typeof Schema.Void;
30
- }>;
31
- export declare class SetViewMode extends SetViewMode_base {
32
- }
33
- export {};
34
- //# sourceMappingURL=MarkdownAction.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MarkdownAction.d.ts","sourceRoot":"","sources":["../../../../src/types/MarkdownAction.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;;;;;;;;;;;;;;;;;;;AAQxC,qBAAa,MAAO,SAAQ,WAQ1B;CAAG;;;;;;;;;;AAEL,qBAAa,WAAY,SAAQ,gBAM/B;CAAG"}
@@ -1,22 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import { defineCapability } from '@dxos/app-framework';
6
- import { type EditorStateStore, type EditorViewMode } from '@dxos/react-ui-editor';
7
-
8
- import { meta } from '../meta';
9
- import { type MarkdownExtensionProvider, type MarkdownPluginState } from '../types';
10
-
11
- export namespace MarkdownCapabilities {
12
- export const State = defineCapability<{
13
- state: MarkdownPluginState;
14
- editorState: EditorStateStore;
15
- getViewMode: (id: string) => EditorViewMode;
16
- // TODO(burdon): Event object.
17
- setViewMode: (id: string, viewMode: EditorViewMode) => void;
18
- }>(`${meta.id}/capability/state`);
19
-
20
- // TODO(burdon): Move to ./types (external API)?
21
- export const Extensions = defineCapability<MarkdownExtensionProvider[]>(`${meta.id}/capability/extensions`);
22
- }
@@ -1,58 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import { next as A } from '@automerge/automerge';
6
- import * as Option from 'effect/Option';
7
- import type * as Schema from 'effect/Schema';
8
-
9
- import {
10
- Capabilities,
11
- CollaborationActions,
12
- type PluginContext,
13
- contributes,
14
- createResolver,
15
- } from '@dxos/app-framework';
16
- import { Obj } from '@dxos/echo';
17
- import { createDocAccessor, getRangeFromCursor } from '@dxos/react-client/echo';
18
-
19
- import { Markdown, MarkdownAction } from '../types';
20
-
21
- import { MarkdownCapabilities } from './capabilities';
22
-
23
- export default (context: PluginContext) =>
24
- contributes(Capabilities.IntentResolver, [
25
- createResolver({
26
- intent: MarkdownAction.Create,
27
- resolve: ({ name, content }) => {
28
- return { data: { object: Markdown.make({ name, content }) } };
29
- },
30
- }),
31
- createResolver({
32
- intent: MarkdownAction.SetViewMode,
33
- resolve: ({ id, viewMode }) => {
34
- const { state } = context.getCapability(MarkdownCapabilities.State);
35
- state.viewMode[id] = viewMode;
36
- },
37
- }),
38
- createResolver({
39
- intent: CollaborationActions.AcceptProposal,
40
- filter: (
41
- data,
42
- ): data is Omit<Schema.Schema.Type<typeof CollaborationActions.AcceptProposal.fields.input>, 'subject'> & {
43
- subject: Markdown.Document;
44
- } => Obj.instanceOf(Markdown.Document, data.subject),
45
- resolve: async ({ subject, anchor, proposal }) => {
46
- const text = await subject.content.load();
47
- const accessor = createDocAccessor(text, ['content']);
48
- const { start, end } = Option.fromNullable(anchor).pipe(
49
- Option.flatMap((at) => Option.fromNullable(getRangeFromCursor(accessor, at))),
50
- // Fallback to the end of the document.
51
- Option.getOrElse(() => ({ start: text.content.length - 1, end: text.content.length - 1 })),
52
- );
53
- accessor.handle.change((doc) => {
54
- A.splice(doc, accessor.path.slice(), start, end - start, proposal.text);
55
- });
56
- },
57
- }),
58
- ]);
@@ -1,76 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- //
4
-
5
- import { type Meta, type StoryObj } from '@storybook/react-vite';
6
- import React from 'react';
7
-
8
- import { IntentPlugin } from '@dxos/app-framework';
9
- import { withPluginManager } from '@dxos/app-framework/testing';
10
- import { Markdown } from '@dxos/plugin-markdown/types';
11
- import { faker } from '@dxos/random';
12
- import { withTheme } from '@dxos/react-ui/testing';
13
- import { CardContainer } from '@dxos/react-ui-stack/testing';
14
-
15
- import { translations } from '../../translations';
16
-
17
- import { MarkdownCard } from './MarkdownCard';
18
-
19
- faker.seed(1234);
20
-
21
- const meta: Meta<typeof MarkdownCard> = {
22
- title: 'plugins/plugin-markdown/Card',
23
- component: MarkdownCard,
24
- render: ({ role, subject, ...args }) => {
25
- return (
26
- <CardContainer icon='ph--text-aa--regular' role={role}>
27
- <MarkdownCard role={role} subject={subject} {...args} />
28
- </CardContainer>
29
- );
30
- },
31
- decorators: [
32
- withTheme,
33
- withPluginManager({
34
- plugins: [IntentPlugin()],
35
- }),
36
- ],
37
- parameters: {
38
- layout: 'centered',
39
- translations,
40
- },
41
- tags: ['cards'],
42
- };
43
-
44
- export default meta;
45
-
46
- type Story = StoryObj<typeof meta>;
47
-
48
- export const Popover: Story = {
49
- args: {
50
- role: 'card--popover',
51
- subject: Markdown.make({
52
- name: faker.lorem.words(3),
53
- content: faker.lorem.paragraphs(3),
54
- }),
55
- },
56
- };
57
-
58
- export const Intrinsic: Story = {
59
- args: {
60
- role: 'card--intrinsic',
61
- subject: Markdown.make({
62
- name: faker.lorem.words(3),
63
- content: faker.lorem.paragraphs(3),
64
- }),
65
- },
66
- };
67
-
68
- export const Extrinsic: Story = {
69
- args: {
70
- role: 'card--extrinsic',
71
- subject: Markdown.make({
72
- name: faker.lorem.words(3),
73
- content: faker.lorem.paragraphs(3),
74
- }),
75
- },
76
- };
@@ -1,89 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import * as Function from 'effect/Function';
6
- import React, { useCallback } from 'react';
7
-
8
- import { LayoutAction, chain, createIntent } from '@dxos/app-framework';
9
- import { useIntentDispatcher } from '@dxos/app-framework/react';
10
- import { Obj } from '@dxos/echo';
11
- import { type CardPreviewProps } from '@dxos/plugin-preview';
12
- import { IconButton, useTranslation } from '@dxos/react-ui';
13
- import { Card } from '@dxos/react-ui-stack';
14
- import { Text } from '@dxos/schema';
15
-
16
- import { meta } from '../../meta';
17
- import { Markdown } from '../../types';
18
- import { getContentSnippet, getFallbackName } from '../../util';
19
-
20
- export type MarkdownCardProps = CardPreviewProps<Markdown.Document | Text.Text>;
21
-
22
- export const MarkdownCard = ({ subject, role }: MarkdownCardProps) => {
23
- const { dispatchPromise: dispatch } = useIntentDispatcher();
24
- const { t } = useTranslation(meta.id);
25
- const snippet = getSnippet(subject, t('fallback abstract'));
26
- const info = getInfo(subject);
27
-
28
- // TODO(wittjosiah): Factor out so this component isn't dependent on the app framework.
29
- const handleNavigate = useCallback(
30
- () =>
31
- dispatch(
32
- Function.pipe(
33
- createIntent(LayoutAction.UpdatePopover, {
34
- part: 'popover',
35
- subject: null,
36
- options: { state: false, anchorId: '' },
37
- }),
38
- chain(LayoutAction.Open, {
39
- part: 'main',
40
- subject: [Obj.getDXN(subject).toString()],
41
- }),
42
- ),
43
- ),
44
- [dispatch, subject],
45
- );
46
-
47
- return (
48
- <Card.SurfaceRoot role={role}>
49
- <Card.Heading classNames='flex items-center'>
50
- {getTitle(subject, t('fallback title'))}
51
- <span className='grow' />
52
- <IconButton
53
- iconOnly
54
- icon='ph--arrow-right--regular'
55
- label={t('navigate to document label')}
56
- onClick={handleNavigate}
57
- />
58
- </Card.Heading>
59
- {snippet && <Card.Text classNames='line-clamp-3 text-sm text-description'>{snippet}</Card.Text>}
60
- <Card.Text classNames='text-xs text-description'>
61
- {info.words} {t('words label', { count: info.words })}
62
- </Card.Text>
63
- </Card.SurfaceRoot>
64
- );
65
- };
66
-
67
- const getInfo = (subject: Markdown.Document | Text.Text) => {
68
- const text = (Obj.instanceOf(Markdown.Document, subject) ? subject.content?.target?.content : subject.content) ?? '';
69
- return { words: text.split(' ').length };
70
- };
71
-
72
- // TODO(burdon): Factor out.
73
- const getTitle = (subject: Markdown.Document | Text.Text, fallback: string) => {
74
- if (Obj.instanceOf(Markdown.Document, subject)) {
75
- const title = Obj.getLabel(subject);
76
- return title ?? getFallbackName(subject.content?.target?.content ?? fallback);
77
- } else if (Obj.instanceOf(Text.Text, subject)) {
78
- return getFallbackName(subject.content);
79
- }
80
- };
81
-
82
- // TODO(burdon): Factor out.
83
- const getSnippet = (subject: Markdown.Document | Text.Text, fallback: string) => {
84
- if (Obj.instanceOf(Markdown.Document, subject)) {
85
- return Obj.getDescription(subject) || getContentSnippet(subject.content?.target?.content ?? fallback);
86
- } else if (Obj.instanceOf(Text.Text, subject)) {
87
- return getContentSnippet(subject.content ?? fallback);
88
- }
89
- };
@@ -1,9 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import { MarkdownCard } from './MarkdownCard';
6
-
7
- export * from './MarkdownCard';
8
-
9
- export default MarkdownCard;
@@ -1,136 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- //
4
-
5
- import { type Meta, type StoryObj } from '@storybook/react-vite';
6
- import React, { useMemo } from 'react';
7
-
8
- import { type Capabilities, IntentPlugin, LayoutAction, SettingsPlugin, createIntent } from '@dxos/app-framework';
9
- import { Surface, useIntentDispatcher } from '@dxos/app-framework/react';
10
- import { withPluginManager } from '@dxos/app-framework/testing';
11
- import { Obj, Query } from '@dxos/echo';
12
- import { AttentionPlugin } from '@dxos/plugin-attention';
13
- import { ClientPlugin } from '@dxos/plugin-client';
14
- import { GraphPlugin } from '@dxos/plugin-graph';
15
- import { PreviewPlugin } from '@dxos/plugin-preview';
16
- import { SpacePlugin } from '@dxos/plugin-space';
17
- import { StorybookLayoutPlugin } from '@dxos/plugin-storybook-layout';
18
- import { ThemePlugin } from '@dxos/plugin-theme';
19
- import { faker } from '@dxos/random';
20
- import { useQuery, useSpace } from '@dxos/react-client/echo';
21
- import { useAsyncEffect } from '@dxos/react-ui';
22
- import { withLayout, withTheme } from '@dxos/react-ui/testing';
23
- import { useAttentionAttributes } from '@dxos/react-ui-attention';
24
- import { defaultTx } from '@dxos/react-ui-theme';
25
- import { Text } from '@dxos/schema';
26
- import { type ValueGenerator, createObjectFactory } from '@dxos/schema/testing';
27
- import { Organization, Person } from '@dxos/types';
28
-
29
- import { MarkdownPlugin } from '../MarkdownPlugin';
30
- import { translations } from '../translations';
31
- import { Markdown } from '../types';
32
-
33
- faker.seed(1);
34
-
35
- const generator: ValueGenerator = faker as any;
36
-
37
- const DefaultStory = () => {
38
- const { dispatchPromise: dispatch } = useIntentDispatcher();
39
- const space = useSpace();
40
- const [doc] = useQuery(space, Query.type(Markdown.Document));
41
- const data = useMemo(() => ({ subject: doc }), [doc]);
42
- const id = doc && Obj.getDXN(doc).toString();
43
- const attentionAttrs = useAttentionAttributes(id);
44
-
45
- useAsyncEffect(async () => {
46
- if (space) {
47
- await dispatch(
48
- createIntent(LayoutAction.SwitchWorkspace, {
49
- part: 'workspace',
50
- subject: space.id,
51
- }),
52
- );
53
- }
54
- }, [space, dispatch]);
55
-
56
- return (
57
- <div className='contents' {...attentionAttrs}>
58
- <Surface role='article' data={data} limit={1} />
59
- </div>
60
- );
61
- };
62
-
63
- const meta = {
64
- title: 'plugins/plugin-markdown/MarkdownContainer',
65
- render: DefaultStory,
66
- decorators: [
67
- withTheme,
68
- withLayout({ container: 'column' }),
69
- withPluginManager<{ title?: string; content?: string }>((context) => ({
70
- plugins: [
71
- ClientPlugin({
72
- types: [Markdown.Document, Text.Text, Person.Person, Organization.Organization],
73
- onClientInitialized: async ({ client }) => {
74
- await client.halo.createIdentity();
75
- await client.spaces.waitUntilReady();
76
- await client.spaces.default.waitUntilReady();
77
-
78
- const space = client.spaces.default;
79
- const createObjects = createObjectFactory(space.db, generator);
80
- await createObjects([{ type: Organization.Organization, count: 10 }]);
81
-
82
- const queue = space.queues.create();
83
- const kai = Obj.make(Person.Person, { fullName: 'Kai' });
84
- const dxos = Obj.make(Organization.Organization, { name: 'DXOS' });
85
- await queue.append([kai, dxos]);
86
-
87
- space.db.add(
88
- Markdown.make({
89
- name: context.args.title ?? 'Testing',
90
- content: [
91
- `# ${context.args.title ?? 'Testing'}`,
92
- context.args.content ?? '',
93
- // TODO(burdon): Popovers not currently working.
94
- '## Here are some objects',
95
- `![Alice](${Obj.getDXN(kai)})`,
96
- `![DXOS](${Obj.getDXN(dxos)})`,
97
- '',
98
- 'END',
99
- '',
100
- ].join('\n\n'),
101
- }),
102
- );
103
-
104
- await space.db.flush({ indexes: true });
105
- },
106
- }),
107
- SpacePlugin({}),
108
- GraphPlugin(),
109
- IntentPlugin(),
110
- SettingsPlugin(),
111
- // UI
112
- ThemePlugin({ tx: defaultTx }),
113
- AttentionPlugin(),
114
- MarkdownPlugin(),
115
- PreviewPlugin(),
116
- StorybookLayoutPlugin({}),
117
- ],
118
- })),
119
- ],
120
- parameters: {
121
- layout: 'fullscreen',
122
- controls: { disable: true },
123
- translations,
124
- },
125
- } satisfies Meta<typeof Capabilities>;
126
-
127
- export default meta;
128
-
129
- type Story = StoryObj<typeof meta>;
130
-
131
- export const Default: Story = {
132
- args: {
133
- title: 'Testing',
134
- content: ['This is a line with **some** formatting.'].join('\n\n'),
135
- },
136
- };