@dxos/plugin-markdown 0.8.4-main.ae835ea → 0.8.4-main.bcb3aa67d6

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 (357) hide show
  1. package/dist/lib/browser/MarkdownSettings-5AD3X3II.mjs +124 -0
  2. package/dist/lib/browser/MarkdownSettings-5AD3X3II.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-GQKARRJU.mjs +158 -0
  8. package/dist/lib/browser/chunk-GQKARRJU.mjs.map +7 -0
  9. package/dist/lib/browser/chunk-J5LGTIGS.mjs +10 -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-I7QWPBMS.mjs +30 -0
  13. package/dist/lib/browser/create-I7QWPBMS.mjs.map +7 -0
  14. package/dist/lib/browser/create-markdown-6QQXSF3Q.mjs +22 -0
  15. package/dist/lib/browser/create-markdown-6QQXSF3Q.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-NSBN4NKR.mjs +21 -0
  20. package/dist/lib/browser/open-NSBN4NKR.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-RA5OMQCP.mjs +49 -0
  24. package/dist/lib/browser/scroll-to-anchor-RA5OMQCP.mjs.map +7 -0
  25. package/dist/lib/browser/set-view-mode-75MBU6CB.mjs +26 -0
  26. package/dist/lib/browser/set-view-mode-75MBU6CB.mjs.map +7 -0
  27. package/dist/lib/browser/types/index.mjs +11 -5
  28. package/dist/lib/browser/update-QQJYONAC.mjs +45 -0
  29. package/dist/lib/browser/update-QQJYONAC.mjs.map +7 -0
  30. package/dist/lib/node-esm/MarkdownSettings-ODDM67XG.mjs +125 -0
  31. package/dist/lib/node-esm/MarkdownSettings-ODDM67XG.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-HSLMI22Q.mjs +11 -0
  37. package/dist/lib/node-esm/chunk-QRCQ55W7.mjs +159 -0
  38. package/dist/lib/node-esm/chunk-QRCQ55W7.mjs.map +7 -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-VJ5SIKYF.mjs +31 -0
  42. package/dist/lib/node-esm/create-VJ5SIKYF.mjs.map +7 -0
  43. package/dist/lib/node-esm/create-markdown-P5KNGLZ5.mjs +23 -0
  44. package/dist/lib/node-esm/create-markdown-P5KNGLZ5.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-U3T6IVHN.mjs +22 -0
  49. package/dist/lib/node-esm/open-U3T6IVHN.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-CVM3LVSQ.mjs +50 -0
  53. package/dist/lib/node-esm/scroll-to-anchor-CVM3LVSQ.mjs.map +7 -0
  54. package/dist/lib/node-esm/set-view-mode-WQJBCUXY.mjs +27 -0
  55. package/dist/lib/node-esm/set-view-mode-WQJBCUXY.mjs.map +7 -0
  56. package/dist/lib/node-esm/types/index.mjs +11 -5
  57. package/dist/lib/node-esm/update-24CQM75C.mjs +46 -0
  58. package/dist/lib/node-esm/update-24CQM75C.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 -4
  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 -4
  72. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -1
  73. package/dist/types/src/capabilities/index.d.ts +27 -18
  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 +19 -13
  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 +20 -14
  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 +2 -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/{components → containers}/MarkdownCard/index.d.ts +0 -1
  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 +31 -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 +1 -2
  124. package/dist/types/src/hooks/index.d.ts.map +1 -1
  125. package/dist/types/src/hooks/useEditorMenuOptions.d.ts +9 -0
  126. package/dist/types/src/hooks/useEditorMenuOptions.d.ts.map +1 -0
  127. package/dist/types/src/hooks/useExtensions.d.ts +10 -8
  128. package/dist/types/src/hooks/useExtensions.d.ts.map +1 -1
  129. package/dist/types/src/hooks/useLinkQuery.d.ts +3 -3
  130. package/dist/types/src/hooks/useLinkQuery.d.ts.map +1 -1
  131. package/dist/types/src/index.d.ts +2 -2
  132. package/dist/types/src/index.d.ts.map +1 -1
  133. package/dist/types/src/meta.d.ts +2 -2
  134. package/dist/types/src/meta.d.ts.map +1 -1
  135. package/dist/types/src/operations/create-markdown.d.ts +5 -0
  136. package/dist/types/src/operations/create-markdown.d.ts.map +1 -0
  137. package/dist/types/src/operations/create.d.ts +5 -0
  138. package/dist/types/src/operations/create.d.ts.map +1 -0
  139. package/dist/types/src/operations/create.test.d.ts +2 -0
  140. package/dist/types/src/operations/create.test.d.ts.map +1 -0
  141. package/dist/types/src/operations/definitions.d.ts +64 -0
  142. package/dist/types/src/operations/definitions.d.ts.map +1 -0
  143. package/dist/types/src/operations/index.d.ts +4 -0
  144. package/dist/types/src/operations/index.d.ts.map +1 -0
  145. package/dist/types/src/operations/open.d.ts +5 -0
  146. package/dist/types/src/operations/open.d.ts.map +1 -0
  147. package/dist/types/src/operations/scroll-to-anchor.d.ts +5 -0
  148. package/dist/types/src/operations/scroll-to-anchor.d.ts.map +1 -0
  149. package/dist/types/src/operations/set-view-mode.d.ts +5 -0
  150. package/dist/types/src/operations/set-view-mode.d.ts.map +1 -0
  151. package/dist/types/src/operations/update.d.ts +5 -0
  152. package/dist/types/src/operations/update.d.ts.map +1 -0
  153. package/dist/types/src/operations/update.test.d.ts +2 -0
  154. package/dist/types/src/operations/update.test.d.ts.map +1 -0
  155. package/dist/types/src/testing.d.ts +6 -0
  156. package/dist/types/src/testing.d.ts.map +1 -0
  157. package/dist/types/src/translations.d.ts +75 -34
  158. package/dist/types/src/translations.d.ts.map +1 -1
  159. package/dist/types/src/types/Markdown.d.ts +30 -31
  160. package/dist/types/src/types/Markdown.d.ts.map +1 -1
  161. package/dist/types/src/types/Settings.d.ts +16 -0
  162. package/dist/types/src/types/Settings.d.ts.map +1 -0
  163. package/dist/types/src/types/capabilities.d.ts +51 -0
  164. package/dist/types/src/types/capabilities.d.ts.map +1 -0
  165. package/dist/types/src/types/events.d.ts +5 -0
  166. package/dist/types/src/types/events.d.ts.map +1 -0
  167. package/dist/types/src/types/index.d.ts +4 -2
  168. package/dist/types/src/types/index.d.ts.map +1 -1
  169. package/dist/types/src/types/types.d.ts +2 -2
  170. package/dist/types/src/types/types.d.ts.map +1 -1
  171. package/dist/types/src/util.d.ts +7 -4
  172. package/dist/types/src/util.d.ts.map +1 -1
  173. package/dist/types/src/util.test.d.ts +2 -0
  174. package/dist/types/src/util.test.d.ts.map +1 -0
  175. package/dist/types/tsconfig.tsbuildinfo +1 -1
  176. package/package.json +119 -59
  177. package/src/MarkdownPlugin.tsx +77 -103
  178. package/src/blueprints/index.ts +5 -0
  179. package/src/blueprints/markdown-blueprint.ts +44 -0
  180. package/src/capabilities/anchor-sort.ts +29 -22
  181. package/src/capabilities/app-graph-serializer.ts +51 -41
  182. package/src/capabilities/artifact-definition.ts +82 -84
  183. package/src/capabilities/blueprint-definition.ts +9 -31
  184. package/src/capabilities/index.ts +12 -12
  185. package/src/capabilities/node.ts +11 -0
  186. package/src/capabilities/operation-handler.ts +16 -0
  187. package/src/capabilities/react-surface.tsx +108 -80
  188. package/src/capabilities/settings.ts +30 -18
  189. package/src/capabilities/state.ts +41 -25
  190. package/src/cli/index.ts +5 -0
  191. package/src/cli/plugin.ts +40 -0
  192. package/src/components/MarkdownEditor/FileUpload.tsx +2 -2
  193. package/src/components/MarkdownEditor/MarkdownEditor.stories.tsx +39 -41
  194. package/src/components/MarkdownEditor/MarkdownEditor.tsx +87 -57
  195. package/src/components/MarkdownEditor/MarkdownEditorContent.tsx +69 -34
  196. package/src/components/MarkdownEditor/MarkdownEditorToolbar.tsx +48 -53
  197. package/src/components/MarkdownSettings/MarkdownSettings.stories.tsx +40 -0
  198. package/src/components/MarkdownSettings/MarkdownSettings.tsx +116 -86
  199. package/src/components/MarkdownSettings/index.ts +3 -1
  200. package/src/components/index.ts +4 -7
  201. package/src/containers/MarkdownCard/MarkdownCard.stories.tsx +68 -0
  202. package/src/containers/MarkdownCard/MarkdownCard.tsx +57 -0
  203. package/src/{components → containers}/MarkdownCard/index.ts +0 -2
  204. package/src/containers/MarkdownCard/snippet.ts +75 -0
  205. package/src/containers/MarkdownContainer/MarkdownContainer.stories.tsx +133 -0
  206. package/src/containers/MarkdownContainer/MarkdownContainer.tsx +134 -0
  207. package/src/containers/MarkdownContainer/index.ts +6 -0
  208. package/src/containers/index.ts +10 -0
  209. package/src/hooks/index.ts +1 -2
  210. package/src/hooks/{usePopoverMenuOptions.ts → useEditorMenuOptions.ts} +20 -23
  211. package/src/hooks/useExtensions.tsx +100 -109
  212. package/src/hooks/useLinkQuery.ts +49 -23
  213. package/src/index.ts +3 -2
  214. package/src/meta.ts +3 -3
  215. package/src/operations/create-markdown.ts +21 -0
  216. package/src/operations/create.conversations.json +1 -0
  217. package/src/operations/create.test.ts +98 -0
  218. package/src/operations/create.ts +27 -0
  219. package/src/operations/definitions.ts +119 -0
  220. package/src/operations/index.ts +16 -0
  221. package/src/operations/open.ts +25 -0
  222. package/src/operations/scroll-to-anchor.ts +40 -0
  223. package/src/operations/set-view-mode.ts +25 -0
  224. package/src/operations/update.conversations.json +1 -0
  225. package/src/operations/update.test.ts +215 -0
  226. package/src/operations/update.ts +51 -0
  227. package/src/testing.ts +27 -0
  228. package/src/translations.ts +49 -34
  229. package/src/types/Markdown.ts +23 -31
  230. package/src/types/Settings.ts +28 -0
  231. package/src/types/capabilities.ts +50 -0
  232. package/src/types/events.ts +14 -0
  233. package/src/types/index.ts +5 -2
  234. package/src/types/types.ts +3 -2
  235. package/src/util.test.ts +44 -0
  236. package/src/util.tsx +80 -12
  237. package/dist/lib/browser/MarkdownCard-SLM6QZYC.mjs +0 -12
  238. package/dist/lib/browser/MarkdownContainer-UZFQC6XY.mjs +0 -15
  239. package/dist/lib/browser/anchor-sort-4XPPLMZS.mjs +0 -32
  240. package/dist/lib/browser/anchor-sort-4XPPLMZS.mjs.map +0 -7
  241. package/dist/lib/browser/app-graph-serializer-QQFV4K6P.mjs +0 -51
  242. package/dist/lib/browser/app-graph-serializer-QQFV4K6P.mjs.map +0 -7
  243. package/dist/lib/browser/blueprint-definition-BC5R3T72.mjs +0 -11
  244. package/dist/lib/browser/blueprint-definition-BC5R3T72.mjs.map +0 -7
  245. package/dist/lib/browser/chunk-2LLVTQCK.mjs +0 -51
  246. package/dist/lib/browser/chunk-2LLVTQCK.mjs.map +0 -7
  247. package/dist/lib/browser/chunk-3VILQLA4.mjs +0 -95
  248. package/dist/lib/browser/chunk-3VILQLA4.mjs.map +0 -7
  249. package/dist/lib/browser/chunk-5AYTOIUF.mjs +0 -822
  250. package/dist/lib/browser/chunk-5AYTOIUF.mjs.map +0 -7
  251. package/dist/lib/browser/chunk-A3CQYGCN.mjs +0 -56
  252. package/dist/lib/browser/chunk-A3CQYGCN.mjs.map +0 -7
  253. package/dist/lib/browser/chunk-BQTYJOFB.mjs +0 -28
  254. package/dist/lib/browser/chunk-BQTYJOFB.mjs.map +0 -7
  255. package/dist/lib/browser/chunk-GLEYXJX3.mjs +0 -22
  256. package/dist/lib/browser/chunk-GLEYXJX3.mjs.map +0 -7
  257. package/dist/lib/browser/chunk-IBCHVMZW.mjs +0 -16
  258. package/dist/lib/browser/chunk-IBCHVMZW.mjs.map +0 -7
  259. package/dist/lib/browser/chunk-JAETS5LE.mjs +0 -106
  260. package/dist/lib/browser/chunk-JAETS5LE.mjs.map +0 -7
  261. package/dist/lib/browser/chunk-UKTCPHLI.mjs +0 -79
  262. package/dist/lib/browser/chunk-UKTCPHLI.mjs.map +0 -7
  263. package/dist/lib/browser/intent-resolver-VQGMBNXZ.mjs +0 -62
  264. package/dist/lib/browser/intent-resolver-VQGMBNXZ.mjs.map +0 -7
  265. package/dist/lib/browser/react-surface-WOMJOPJE.mjs +0 -217
  266. package/dist/lib/browser/react-surface-WOMJOPJE.mjs.map +0 -7
  267. package/dist/lib/browser/settings-LBXJHVBU.mjs +0 -28
  268. package/dist/lib/browser/settings-LBXJHVBU.mjs.map +0 -7
  269. package/dist/lib/browser/state-BTUKVZHY.mjs +0 -37
  270. package/dist/lib/browser/state-BTUKVZHY.mjs.map +0 -7
  271. package/dist/lib/browser/toolkit-YPIVDB4A.mjs +0 -66
  272. package/dist/lib/browser/toolkit-YPIVDB4A.mjs.map +0 -7
  273. package/dist/lib/node-esm/MarkdownCard-MCWEFW4F.mjs +0 -13
  274. package/dist/lib/node-esm/MarkdownCard-MCWEFW4F.mjs.map +0 -7
  275. package/dist/lib/node-esm/MarkdownContainer-KAQOK7K5.mjs +0 -16
  276. package/dist/lib/node-esm/MarkdownContainer-KAQOK7K5.mjs.map +0 -7
  277. package/dist/lib/node-esm/anchor-sort-4SXYVYXT.mjs +0 -33
  278. package/dist/lib/node-esm/anchor-sort-4SXYVYXT.mjs.map +0 -7
  279. package/dist/lib/node-esm/app-graph-serializer-KBVRLQN2.mjs +0 -52
  280. package/dist/lib/node-esm/app-graph-serializer-KBVRLQN2.mjs.map +0 -7
  281. package/dist/lib/node-esm/blueprint-definition-FPNOTEYC.mjs +0 -12
  282. package/dist/lib/node-esm/blueprint-definition-FPNOTEYC.mjs.map +0 -7
  283. package/dist/lib/node-esm/chunk-2Q4WCKWT.mjs +0 -823
  284. package/dist/lib/node-esm/chunk-2Q4WCKWT.mjs.map +0 -7
  285. package/dist/lib/node-esm/chunk-DOB2MJAX.mjs +0 -107
  286. package/dist/lib/node-esm/chunk-DOB2MJAX.mjs.map +0 -7
  287. package/dist/lib/node-esm/chunk-GGKPPGWA.mjs +0 -24
  288. package/dist/lib/node-esm/chunk-GGKPPGWA.mjs.map +0 -7
  289. package/dist/lib/node-esm/chunk-GMMVSXQ6.mjs +0 -17
  290. package/dist/lib/node-esm/chunk-GMMVSXQ6.mjs.map +0 -7
  291. package/dist/lib/node-esm/chunk-JELROKGD.mjs +0 -80
  292. package/dist/lib/node-esm/chunk-JELROKGD.mjs.map +0 -7
  293. package/dist/lib/node-esm/chunk-QH4MC5BE.mjs +0 -52
  294. package/dist/lib/node-esm/chunk-QH4MC5BE.mjs.map +0 -7
  295. package/dist/lib/node-esm/chunk-SHAMSMKQ.mjs +0 -29
  296. package/dist/lib/node-esm/chunk-SHAMSMKQ.mjs.map +0 -7
  297. package/dist/lib/node-esm/chunk-SJ2QRGPM.mjs +0 -57
  298. package/dist/lib/node-esm/chunk-SJ2QRGPM.mjs.map +0 -7
  299. package/dist/lib/node-esm/chunk-YYSASY7X.mjs +0 -96
  300. package/dist/lib/node-esm/chunk-YYSASY7X.mjs.map +0 -7
  301. package/dist/lib/node-esm/intent-resolver-Q4XVI5EX.mjs +0 -63
  302. package/dist/lib/node-esm/intent-resolver-Q4XVI5EX.mjs.map +0 -7
  303. package/dist/lib/node-esm/react-surface-FAMZTAXK.mjs +0 -218
  304. package/dist/lib/node-esm/react-surface-FAMZTAXK.mjs.map +0 -7
  305. package/dist/lib/node-esm/settings-2YRA67H6.mjs +0 -29
  306. package/dist/lib/node-esm/settings-2YRA67H6.mjs.map +0 -7
  307. package/dist/lib/node-esm/state-K6EH7SRZ.mjs +0 -38
  308. package/dist/lib/node-esm/state-K6EH7SRZ.mjs.map +0 -7
  309. package/dist/lib/node-esm/toolkit-36BFLIR3.mjs +0 -67
  310. package/dist/lib/node-esm/toolkit-36BFLIR3.mjs.map +0 -7
  311. package/dist/types/src/capabilities/capabilities.d.ts +0 -12
  312. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  313. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  314. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  315. package/dist/types/src/capabilities/toolkit.d.ts +0 -20
  316. package/dist/types/src/capabilities/toolkit.d.ts.map +0 -1
  317. package/dist/types/src/components/MarkdownCard/MarkdownCard.d.ts +0 -7
  318. package/dist/types/src/components/MarkdownCard/MarkdownCard.d.ts.map +0 -1
  319. package/dist/types/src/components/MarkdownCard/MarkdownCard.stories.d.ts +0 -9
  320. package/dist/types/src/components/MarkdownCard/MarkdownCard.stories.d.ts.map +0 -1
  321. package/dist/types/src/components/MarkdownCard/index.d.ts.map +0 -1
  322. package/dist/types/src/components/MarkdownContainer.d.ts +0 -14
  323. package/dist/types/src/components/MarkdownContainer.d.ts.map +0 -1
  324. package/dist/types/src/components/MarkdownContainer.stories.d.ts +0 -58
  325. package/dist/types/src/components/MarkdownContainer.stories.d.ts.map +0 -1
  326. package/dist/types/src/components/Suggestions.stories.d.ts +0 -11
  327. package/dist/types/src/components/Suggestions.stories.d.ts.map +0 -1
  328. package/dist/types/src/events.d.ts +0 -4
  329. package/dist/types/src/events.d.ts.map +0 -1
  330. package/dist/types/src/functions/diff.d.ts +0 -6
  331. package/dist/types/src/functions/diff.d.ts.map +0 -1
  332. package/dist/types/src/functions/index.d.ts +0 -3
  333. package/dist/types/src/functions/index.d.ts.map +0 -1
  334. package/dist/types/src/functions/open.d.ts +0 -7
  335. package/dist/types/src/functions/open.d.ts.map +0 -1
  336. package/dist/types/src/hooks/usePopoverMenuOptions.d.ts +0 -9
  337. package/dist/types/src/hooks/usePopoverMenuOptions.d.ts.map +0 -1
  338. package/dist/types/src/hooks/useSelectCurrentThread.d.ts +0 -6
  339. package/dist/types/src/hooks/useSelectCurrentThread.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/capabilities/toolkit.ts +0 -53
  345. package/src/components/MarkdownCard/MarkdownCard.stories.tsx +0 -76
  346. package/src/components/MarkdownCard/MarkdownCard.tsx +0 -85
  347. package/src/components/MarkdownContainer.stories.tsx +0 -137
  348. package/src/components/MarkdownContainer.tsx +0 -121
  349. package/src/components/Suggestions.stories.tsx +0 -219
  350. package/src/events.ts +0 -11
  351. package/src/functions/diff.ts +0 -37
  352. package/src/functions/index.ts +0 -6
  353. package/src/functions/open.ts +0 -32
  354. package/src/hooks/useSelectCurrentThread.tsx +0 -56
  355. package/src/types/MarkdownAction.ts +0 -29
  356. /package/dist/lib/browser/{MarkdownCard-SLM6QZYC.mjs.map → chunk-J5LGTIGS.mjs.map} +0 -0
  357. /package/dist/lib/{browser/MarkdownContainer-UZFQC6XY.mjs.map → node-esm/chunk-HSLMI22Q.mjs.map} +0 -0
package/src/util.tsx CHANGED
@@ -6,7 +6,7 @@ import { debounce } from '@dxos/async';
6
6
  import { Obj } from '@dxos/echo';
7
7
  import { type TypedObjectSerializer } from '@dxos/plugin-space/types';
8
8
 
9
- import { Markdown } from './types';
9
+ import { Markdown } from '#types';
10
10
 
11
11
  /**
12
12
  * Checks if an object conforms to the interface needed to render an editor.
@@ -32,25 +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 getContentSnippet = (content: string) => {
106
+ // TODO(burdon): Option to strip Markdown.
107
+ export const getContentSnippet = (content = '', maxLines = 3) => {
40
108
  const abstract = content
41
109
  .split('\n')
42
- .filter((line) => !line.startsWith('#'))
43
- .filter((line) => line.trim() !== '')[0]
44
- .replaceAll(nonTitleChars, '')
45
- .trim();
110
+ .filter((line) => !line.startsWith('!'))
111
+ .filter((line) => line.trim() !== '');
46
112
 
47
- return abstract + '...';
113
+ return abstract.slice(0, maxLines).join('\n') ?? '';
48
114
  };
49
115
 
50
- export const setFallbackName = debounce((doc: Markdown.Document, content: string) => {
116
+ export const setFallbackName = debounce((doc: Markdown.Document, content = '') => {
51
117
  const name = getFallbackName(content);
52
118
  if (doc.fallbackName !== name) {
53
- doc.fallbackName = name;
119
+ Obj.change(doc, (obj) => {
120
+ obj.fallbackName = name;
121
+ });
54
122
  }
55
123
  }, 200);
56
124
 
@@ -62,6 +130,6 @@ export const serializer: TypedObjectSerializer<Markdown.Document> = {
62
130
 
63
131
  deserialize: async ({ content: serialized }) => {
64
132
  const { name, fallbackName, content } = JSON.parse(serialized);
65
- return Markdown.makeDocument({ name, fallbackName, content });
133
+ return Markdown.make({ name, fallbackName, content });
66
134
  },
67
135
  };
@@ -1,12 +0,0 @@
1
- import {
2
- MarkdownCard,
3
- MarkdownCard_default
4
- } from "./chunk-3VILQLA4.mjs";
5
- import "./chunk-2LLVTQCK.mjs";
6
- import "./chunk-UKTCPHLI.mjs";
7
- import "./chunk-BQTYJOFB.mjs";
8
- export {
9
- MarkdownCard,
10
- MarkdownCard_default as default
11
- };
12
- //# sourceMappingURL=MarkdownCard-SLM6QZYC.mjs.map
@@ -1,15 +0,0 @@
1
- import {
2
- MarkdownContainer,
3
- MarkdownContainer_default
4
- } from "./chunk-5AYTOIUF.mjs";
5
- import "./chunk-GLEYXJX3.mjs";
6
- import "./chunk-JAETS5LE.mjs";
7
- import "./chunk-IBCHVMZW.mjs";
8
- import "./chunk-2LLVTQCK.mjs";
9
- import "./chunk-UKTCPHLI.mjs";
10
- import "./chunk-BQTYJOFB.mjs";
11
- export {
12
- MarkdownContainer,
13
- MarkdownContainer_default as default
14
- };
15
- //# sourceMappingURL=MarkdownContainer-UZFQC6XY.mjs.map
@@ -1,32 +0,0 @@
1
- import {
2
- Markdown_exports
3
- } from "./chunk-UKTCPHLI.mjs";
4
- import "./chunk-BQTYJOFB.mjs";
5
-
6
- // src/capabilities/anchor-sort.ts
7
- import { Capabilities, contributes } from "@dxos/app-framework";
8
- import { Type } from "@dxos/echo";
9
- import { createDocAccessor, getRangeFromCursor, getTarget } from "@dxos/react-client/echo";
10
- var anchor_sort_default = (() => contributes(Capabilities.AnchorSort, {
11
- key: Type.getTypename(Markdown_exports.Document),
12
- sort: (anchorA, anchorB) => {
13
- const doc = getTarget(anchorA);
14
- const accessor = doc.content.target ? createDocAccessor(doc.content.target, [
15
- "content"
16
- ]) : void 0;
17
- if (doc !== getTarget(anchorB) || !accessor) {
18
- return 0;
19
- }
20
- const getStartPosition = (cursor) => {
21
- const range = cursor ? getRangeFromCursor(accessor, cursor) : void 0;
22
- return range?.start ?? Number.MAX_SAFE_INTEGER;
23
- };
24
- const posA = getStartPosition(anchorA.anchor);
25
- const posB = getStartPosition(anchorB.anchor);
26
- return posA - posB;
27
- }
28
- }));
29
- export {
30
- anchor_sort_default as default
31
- };
32
- //# sourceMappingURL=anchor-sort-4XPPLMZS.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/anchor-sort.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes } from '@dxos/app-framework';\nimport { Type } from '@dxos/echo';\nimport { createDocAccessor, getRangeFromCursor, getTarget } from '@dxos/react-client/echo';\n\nimport { Markdown } from '../types';\n\nexport default () =>\n contributes(Capabilities.AnchorSort, {\n key: Type.getTypename(Markdown.Document)!,\n sort: (anchorA, anchorB) => {\n const doc = getTarget(anchorA) as Markdown.Document;\n const accessor = doc.content.target ? createDocAccessor(doc.content.target, ['content']) : undefined;\n if (doc !== getTarget(anchorB) || !accessor) {\n return 0;\n }\n\n const getStartPosition = (cursor: string | undefined) => {\n const range = cursor ? getRangeFromCursor(accessor, cursor) : undefined;\n return range?.start ?? Number.MAX_SAFE_INTEGER;\n };\n\n const posA = getStartPosition(anchorA.anchor);\n const posB = getStartPosition(anchorB.anchor);\n return posA - posB;\n },\n });\n"],
5
- "mappings": ";;;;;;AAIA,SAASA,cAAcC,mBAAmB;AAC1C,SAASC,YAAY;AACrB,SAASC,mBAAmBC,oBAAoBC,iBAAiB;AAIjE,IAAA,uBAAe,MACbC,YAAYC,aAAaC,YAAY;EACnCC,KAAKC,KAAKC,YAAYC,iBAASC,QAAQ;EACvCC,MAAM,CAACC,SAASC,YAAAA;AACd,UAAMC,MAAMC,UAAUH,OAAAA;AACtB,UAAMI,WAAWF,IAAIG,QAAQC,SAASC,kBAAkBL,IAAIG,QAAQC,QAAQ;MAAC;KAAU,IAAIE;AAC3F,QAAIN,QAAQC,UAAUF,OAAAA,KAAY,CAACG,UAAU;AAC3C,aAAO;IACT;AAEA,UAAMK,mBAAmB,CAACC,WAAAA;AACxB,YAAMC,QAAQD,SAASE,mBAAmBR,UAAUM,MAAAA,IAAUF;AAC9D,aAAOG,OAAOE,SAASC,OAAOC;IAChC;AAEA,UAAMC,OAAOP,iBAAiBT,QAAQiB,MAAM;AAC5C,UAAMC,OAAOT,iBAAiBR,QAAQgB,MAAM;AAC5C,WAAOD,OAAOE;EAChB;AACF,CAAA;",
6
- "names": ["Capabilities", "contributes", "Type", "createDocAccessor", "getRangeFromCursor", "getTarget", "contributes", "Capabilities", "AnchorSort", "key", "Type", "getTypename", "Markdown", "Document", "sort", "anchorA", "anchorB", "doc", "getTarget", "accessor", "content", "target", "createDocAccessor", "undefined", "getStartPosition", "cursor", "range", "getRangeFromCursor", "start", "Number", "MAX_SAFE_INTEGER", "posA", "anchor", "posB"]
7
- }
@@ -1,51 +0,0 @@
1
- import {
2
- translations
3
- } from "./chunk-A3CQYGCN.mjs";
4
- import {
5
- MarkdownAction_exports,
6
- Markdown_exports
7
- } from "./chunk-UKTCPHLI.mjs";
8
- import "./chunk-BQTYJOFB.mjs";
9
-
10
- // src/capabilities/app-graph-serializer.ts
11
- import * as Function from "effect/Function";
12
- import { Capabilities, chain, contributes, createIntent } from "@dxos/app-framework";
13
- import { Obj } from "@dxos/echo";
14
- import { SpaceAction } from "@dxos/plugin-space/types";
15
- import { isSpace } from "@dxos/react-client/echo";
16
- import { DataType } from "@dxos/schema";
17
- var app_graph_serializer_default = ((context) => contributes(Capabilities.AppGraphSerializer, [
18
- {
19
- inputType: Markdown_exports.Document.typename,
20
- outputType: "text/markdown",
21
- // Reconcile with metadata serializers.
22
- serialize: async (node) => {
23
- const doc = node.data;
24
- const content = await doc.content.load();
25
- return {
26
- name: doc.name || doc.fallbackName || translations[0]["en-US"][Markdown_exports.Document.typename]["object name placeholder"],
27
- data: content.content,
28
- type: "text/markdown"
29
- };
30
- },
31
- deserialize: async (data, ancestors) => {
32
- const space = ancestors.find(isSpace);
33
- const target = ancestors.findLast((ancestor) => Obj.instanceOf(DataType.Collection, ancestor)) ?? space?.properties[DataType.Collection.typename]?.target;
34
- if (!space || !target) {
35
- return;
36
- }
37
- const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);
38
- const result = await dispatch(Function.pipe(createIntent(MarkdownAction_exports.Create, {
39
- name: data.name,
40
- content: data.data
41
- }), chain(SpaceAction.AddObject, {
42
- target
43
- })));
44
- return result.data?.object;
45
- }
46
- }
47
- ]));
48
- export {
49
- app_graph_serializer_default as default
50
- };
51
- //# sourceMappingURL=app-graph-serializer-QQFV4K6P.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/app-graph-serializer.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Function from 'effect/Function';\n\nimport { Capabilities, type PluginContext, chain, contributes, createIntent } from '@dxos/app-framework';\nimport { Obj } from '@dxos/echo';\nimport { SpaceAction } from '@dxos/plugin-space/types';\nimport { isSpace } from '@dxos/react-client/echo';\nimport { DataType } from '@dxos/schema';\n\nimport { translations } from '../translations';\nimport { Markdown, MarkdownAction } from '../types';\n\nexport default (context: PluginContext) =>\n contributes(Capabilities.AppGraphSerializer, [\n {\n inputType: Markdown.Document.typename,\n outputType: 'text/markdown',\n // Reconcile with metadata serializers.\n serialize: async (node) => {\n const doc = node.data;\n const content = await doc.content.load();\n return {\n name:\n doc.name ||\n doc.fallbackName ||\n translations[0]['en-US'][Markdown.Document.typename]['object name placeholder'],\n data: content.content,\n type: 'text/markdown',\n };\n },\n deserialize: async (data, ancestors) => {\n const space = ancestors.find(isSpace);\n const target =\n ancestors.findLast((ancestor) => Obj.instanceOf(DataType.Collection, ancestor)) ??\n space?.properties[DataType.Collection.typename]?.target;\n if (!space || !target) {\n return;\n }\n\n const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n const result = await dispatch(\n Function.pipe(\n createIntent(MarkdownAction.Create, { name: data.name, content: data.data }),\n chain(SpaceAction.AddObject, { target }),\n ),\n );\n\n return result.data?.object;\n },\n },\n ]);\n"],
5
- "mappings": ";;;;;;;;;;AAIA,YAAYA,cAAc;AAE1B,SAASC,cAAkCC,OAAOC,aAAaC,oBAAoB;AACnF,SAASC,WAAW;AACpB,SAASC,mBAAmB;AAC5B,SAASC,eAAe;AACxB,SAASC,gBAAgB;AAKzB,IAAA,gCAAe,CAACC,YACdC,YAAYC,aAAaC,oBAAoB;EAC3C;IACEC,WAAWC,iBAASC,SAASC;IAC7BC,YAAY;;IAEZC,WAAW,OAAOC,SAAAA;AAChB,YAAMC,MAAMD,KAAKE;AACjB,YAAMC,UAAU,MAAMF,IAAIE,QAAQC,KAAI;AACtC,aAAO;QACLC,MACEJ,IAAII,QACJJ,IAAIK,gBACJC,aAAa,CAAA,EAAG,OAAA,EAASZ,iBAASC,SAASC,QAAQ,EAAE,yBAAA;QACvDK,MAAMC,QAAQA;QACdK,MAAM;MACR;IACF;IACAC,aAAa,OAAOP,MAAMQ,cAAAA;AACxB,YAAMC,QAAQD,UAAUE,KAAKC,OAAAA;AAC7B,YAAMC,SACJJ,UAAUK,SAAS,CAACC,aAAaC,IAAIC,WAAWC,SAASC,YAAYJ,QAAAA,CAAAA,KACrEL,OAAOU,WAAWF,SAASC,WAAWvB,QAAQ,GAAGiB;AACnD,UAAI,CAACH,SAAS,CAACG,QAAQ;AACrB;MACF;AAEA,YAAM,EAAEQ,iBAAiBC,SAAQ,IAAKjC,QAAQkC,cAAchC,aAAaiC,gBAAgB;AACzF,YAAMC,SAAS,MAAMH,SACVI,cACPC,aAAaC,uBAAeC,QAAQ;QAAEzB,MAAMH,KAAKG;QAAMF,SAASD,KAAKA;MAAK,CAAA,GAC1E6B,MAAMC,YAAYC,WAAW;QAAEnB;MAAO,CAAA,CAAA,CAAA;AAI1C,aAAOY,OAAOxB,MAAMgC;IACtB;EACF;CACD;",
6
- "names": ["Function", "Capabilities", "chain", "contributes", "createIntent", "Obj", "SpaceAction", "isSpace", "DataType", "context", "contributes", "Capabilities", "AppGraphSerializer", "inputType", "Markdown", "Document", "typename", "outputType", "serialize", "node", "doc", "data", "content", "load", "name", "fallbackName", "translations", "type", "deserialize", "ancestors", "space", "find", "isSpace", "target", "findLast", "ancestor", "Obj", "instanceOf", "DataType", "Collection", "properties", "dispatchPromise", "dispatch", "getCapability", "IntentDispatcher", "result", "pipe", "createIntent", "MarkdownAction", "Create", "chain", "SpaceAction", "AddObject", "object"]
7
- }
@@ -1,11 +0,0 @@
1
- import {
2
- ASSISTANT_BLUEPRINT_KEY,
3
- blueprint_definition_default
4
- } from "./chunk-JAETS5LE.mjs";
5
- import "./chunk-UKTCPHLI.mjs";
6
- import "./chunk-BQTYJOFB.mjs";
7
- export {
8
- ASSISTANT_BLUEPRINT_KEY,
9
- blueprint_definition_default as default
10
- };
11
- //# sourceMappingURL=blueprint-definition-BC5R3T72.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": [],
4
- "sourcesContent": [],
5
- "mappings": "",
6
- "names": []
7
- }
@@ -1,51 +0,0 @@
1
- import {
2
- Markdown_exports
3
- } from "./chunk-UKTCPHLI.mjs";
4
-
5
- // src/util.tsx
6
- import { debounce } from "@dxos/async";
7
- import { Obj } from "@dxos/echo";
8
- var isEditorModel = (data) => data && typeof data === "object" && "id" in data && typeof data.id === "string" && "text" in data && typeof data.text === "string";
9
- var isMarkdownProperties = (data) => Obj.isObject(data) ? true : data && typeof data === "object" ? "title" in data && typeof data.title === "string" : false;
10
- var nonTitleChars = /[^\w ]/g;
11
- var getFallbackName = (content) => {
12
- return content.substring(0, 31).split("\n")[0].replaceAll(nonTitleChars, "").trim();
13
- };
14
- var getContentSnippet = (content) => {
15
- const abstract = content.split("\n").filter((line) => !line.startsWith("#")).filter((line) => line.trim() !== "")[0].replaceAll(nonTitleChars, "").trim();
16
- return abstract + "...";
17
- };
18
- var setFallbackName = debounce((doc, content) => {
19
- const name = getFallbackName(content);
20
- if (doc.fallbackName !== name) {
21
- doc.fallbackName = name;
22
- }
23
- }, 200);
24
- var serializer = {
25
- serialize: async ({ object }) => {
26
- const { content } = await object.content.load();
27
- return JSON.stringify({
28
- name: object.name,
29
- fallbackName: object.fallbackName,
30
- content
31
- });
32
- },
33
- deserialize: async ({ content: serialized }) => {
34
- const { name, fallbackName, content } = JSON.parse(serialized);
35
- return Markdown_exports.makeDocument({
36
- name,
37
- fallbackName,
38
- content
39
- });
40
- }
41
- };
42
-
43
- export {
44
- isEditorModel,
45
- isMarkdownProperties,
46
- getFallbackName,
47
- getContentSnippet,
48
- setFallbackName,
49
- serializer
50
- };
51
- //# sourceMappingURL=chunk-2LLVTQCK.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/util.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { debounce } from '@dxos/async';\nimport { Obj } from '@dxos/echo';\nimport { type TypedObjectSerializer } from '@dxos/plugin-space/types';\n\nimport { Markdown } from './types';\n\n/**\n * Checks if an object conforms to the interface needed to render an editor.\n * @deprecated Use Schema.instanceOf(Markdown.Document, data)\n */\n// TODO(burdon): Normalize types (from FilesPlugin).\nexport const isEditorModel = (data: any): data is { id: string; text: string } =>\n data &&\n typeof data === 'object' &&\n 'id' in data &&\n typeof data.id === 'string' &&\n 'text' in data &&\n typeof data.text === 'string';\n\nexport type MarkdownProperties = Record<string, any>;\n\nexport const isMarkdownProperties = (data: unknown): data is MarkdownProperties =>\n (Obj.isObject(data) as boolean)\n ? true\n : data && typeof data === 'object'\n ? 'title' in data && typeof data.title === 'string'\n : false;\n\nconst nonTitleChars = /[^\\w ]/g;\n\nexport const getFallbackName = (content: string) => {\n return content.substring(0, 31).split('\\n')[0].replaceAll(nonTitleChars, '').trim();\n};\n\nexport const getContentSnippet = (content: string) => {\n const abstract = content\n .split('\\n')\n .filter((line) => !line.startsWith('#'))\n .filter((line) => line.trim() !== '')[0]\n .replaceAll(nonTitleChars, '')\n .trim();\n\n return abstract + '...';\n};\n\nexport const setFallbackName = debounce((doc: Markdown.Document, content: string) => {\n const name = getFallbackName(content);\n if (doc.fallbackName !== name) {\n doc.fallbackName = name;\n }\n}, 200);\n\nexport const serializer: TypedObjectSerializer<Markdown.Document> = {\n serialize: async ({ object }): Promise<string> => {\n const { content } = await object.content.load();\n return JSON.stringify({ name: object.name, fallbackName: object.fallbackName, content });\n },\n\n deserialize: async ({ content: serialized }) => {\n const { name, fallbackName, content } = JSON.parse(serialized);\n return Markdown.makeDocument({ name, fallbackName, content });\n },\n};\n"],
5
- "mappings": ";;;;;AAIA,SAASA,gBAAgB;AACzB,SAASC,WAAW;AAUb,IAAMC,gBAAgB,CAACC,SAC5BA,QACA,OAAOA,SAAS,YAChB,QAAQA,QACR,OAAOA,KAAKC,OAAO,YACnB,UAAUD,QACV,OAAOA,KAAKE,SAAS;AAIhB,IAAMC,uBAAuB,CAACH,SAClCI,IAAIC,SAASL,IAAAA,IACV,OACAA,QAAQ,OAAOA,SAAS,WACtB,WAAWA,QAAQ,OAAOA,KAAKM,UAAU,WACzC;AAER,IAAMC,gBAAgB;AAEf,IAAMC,kBAAkB,CAACC,YAAAA;AAC9B,SAAOA,QAAQC,UAAU,GAAG,EAAA,EAAIC,MAAM,IAAA,EAAM,CAAA,EAAGC,WAAWL,eAAe,EAAA,EAAIM,KAAI;AACnF;AAEO,IAAMC,oBAAoB,CAACL,YAAAA;AAChC,QAAMM,WAAWN,QACdE,MAAM,IAAA,EACNK,OAAO,CAACC,SAAS,CAACA,KAAKC,WAAW,GAAA,CAAA,EAClCF,OAAO,CAACC,SAASA,KAAKJ,KAAI,MAAO,EAAA,EAAI,CAAA,EACrCD,WAAWL,eAAe,EAAA,EAC1BM,KAAI;AAEP,SAAOE,WAAW;AACpB;AAEO,IAAMI,kBAAkBC,SAAS,CAACC,KAAwBZ,YAAAA;AAC/D,QAAMa,OAAOd,gBAAgBC,OAAAA;AAC7B,MAAIY,IAAIE,iBAAiBD,MAAM;AAC7BD,QAAIE,eAAeD;EACrB;AACF,GAAG,GAAA;AAEI,IAAME,aAAuD;EAClEC,WAAW,OAAO,EAAEC,OAAM,MAAE;AAC1B,UAAM,EAAEjB,QAAO,IAAK,MAAMiB,OAAOjB,QAAQkB,KAAI;AAC7C,WAAOC,KAAKC,UAAU;MAAEP,MAAMI,OAAOJ;MAAMC,cAAcG,OAAOH;MAAcd;IAAQ,CAAA;EACxF;EAEAqB,aAAa,OAAO,EAAErB,SAASsB,WAAU,MAAE;AACzC,UAAM,EAAET,MAAMC,cAAcd,QAAO,IAAKmB,KAAKI,MAAMD,UAAAA;AACnD,WAAOE,iBAASC,aAAa;MAAEZ;MAAMC;MAAcd;IAAQ,CAAA;EAC7D;AACF;",
6
- "names": ["debounce", "Obj", "isEditorModel", "data", "id", "text", "isMarkdownProperties", "Obj", "isObject", "title", "nonTitleChars", "getFallbackName", "content", "substring", "split", "replaceAll", "trim", "getContentSnippet", "abstract", "filter", "line", "startsWith", "setFallbackName", "debounce", "doc", "name", "fallbackName", "serializer", "serialize", "object", "load", "JSON", "stringify", "deserialize", "serialized", "parse", "Markdown", "makeDocument"]
7
- }
@@ -1,95 +0,0 @@
1
- import {
2
- getContentSnippet,
3
- getFallbackName
4
- } from "./chunk-2LLVTQCK.mjs";
5
- import {
6
- Markdown_exports
7
- } from "./chunk-UKTCPHLI.mjs";
8
- import {
9
- meta
10
- } from "./chunk-BQTYJOFB.mjs";
11
-
12
- // src/components/MarkdownCard/MarkdownCard.tsx
13
- import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
14
- import * as Function from "effect/Function";
15
- import React, { useCallback } from "react";
16
- import { LayoutAction, chain, createIntent, useIntentDispatcher } from "@dxos/app-framework";
17
- import { Obj } from "@dxos/echo";
18
- import { fullyQualifiedId } from "@dxos/react-client/echo";
19
- import { IconButton, useTranslation } from "@dxos/react-ui";
20
- import { Card } from "@dxos/react-ui-stack";
21
- import { DataType } from "@dxos/schema";
22
- var MarkdownCard = ({ subject, role }) => {
23
- var _effect = _useSignals();
24
- try {
25
- const { dispatchPromise: dispatch } = useIntentDispatcher();
26
- const { t } = useTranslation(meta.id);
27
- const snippet = getSnippet(subject, t("fallback abstract"));
28
- const info = getInfo(subject);
29
- const handleNavigate = useCallback(() => dispatch(Function.pipe(createIntent(LayoutAction.UpdatePopover, {
30
- part: "popover",
31
- subject: null,
32
- options: {
33
- state: false,
34
- anchorId: ""
35
- }
36
- }), chain(LayoutAction.Open, {
37
- part: "main",
38
- subject: [
39
- fullyQualifiedId(subject)
40
- ]
41
- }))), [
42
- dispatch,
43
- subject
44
- ]);
45
- return /* @__PURE__ */ React.createElement(Card.SurfaceRoot, {
46
- role
47
- }, /* @__PURE__ */ React.createElement(Card.Heading, {
48
- classNames: "flex items-center"
49
- }, getTitle(subject, t("fallback title")), /* @__PURE__ */ React.createElement("span", {
50
- className: "grow"
51
- }), /* @__PURE__ */ React.createElement(IconButton, {
52
- iconOnly: true,
53
- icon: "ph--arrow-right--regular",
54
- label: t("navigate to document label"),
55
- onClick: handleNavigate
56
- })), snippet && /* @__PURE__ */ React.createElement(Card.Text, {
57
- classNames: "line-clamp-3 text-sm text-description"
58
- }, snippet), /* @__PURE__ */ React.createElement(Card.Text, {
59
- classNames: "text-xs text-description"
60
- }, info.words, " ", t("words label", {
61
- count: info.words
62
- })));
63
- } finally {
64
- _effect.f();
65
- }
66
- };
67
- var getInfo = (subject) => {
68
- const text = (Obj.instanceOf(Markdown_exports.Document, subject) ? subject.content?.target?.content : subject.content) ?? "";
69
- return {
70
- words: text.split(" ").length
71
- };
72
- };
73
- var getTitle = (subject, fallback) => {
74
- if (Obj.instanceOf(Markdown_exports.Document, subject)) {
75
- return subject.name ?? subject.fallbackName ?? getFallbackName(subject.content?.target?.content ?? fallback);
76
- } else if (Obj.instanceOf(DataType.Text, subject)) {
77
- return getFallbackName(subject.content);
78
- }
79
- };
80
- var getSnippet = (subject, fallback) => {
81
- if (Obj.instanceOf(Markdown_exports.Document, subject)) {
82
- return Obj.getDescription(subject) || getContentSnippet(subject.content?.target?.content ?? fallback);
83
- } else if (Obj.instanceOf(DataType.Text, subject)) {
84
- return getContentSnippet(subject.content ?? fallback);
85
- }
86
- };
87
-
88
- // src/components/MarkdownCard/index.ts
89
- var MarkdownCard_default = MarkdownCard;
90
-
91
- export {
92
- MarkdownCard,
93
- MarkdownCard_default
94
- };
95
- //# sourceMappingURL=chunk-3VILQLA4.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/components/MarkdownCard/MarkdownCard.tsx", "../../../src/components/MarkdownCard/index.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Function from 'effect/Function';\nimport React, { useCallback } from 'react';\n\nimport { LayoutAction, chain, createIntent, useIntentDispatcher } from '@dxos/app-framework';\nimport { Obj } from '@dxos/echo';\nimport { type PreviewProps } from '@dxos/plugin-preview';\nimport { fullyQualifiedId } from '@dxos/react-client/echo';\nimport { IconButton, useTranslation } from '@dxos/react-ui';\nimport { Card } from '@dxos/react-ui-stack';\nimport { DataType } from '@dxos/schema';\n\nimport { meta } from '../../meta';\nimport { Markdown } from '../../types';\nimport { getContentSnippet, getFallbackName } from '../../util';\n\nexport type MarkdownCardProps = PreviewProps<Markdown.Document | DataType.Text>;\n\nexport const MarkdownCard = ({ subject, role }: MarkdownCardProps) => {\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n const { t } = useTranslation(meta.id);\n const snippet = getSnippet(subject, t('fallback abstract'));\n const info = getInfo(subject);\n\n // TODO(wittjosiah): Factor out so this component isn't dependent on the app framework.\n const handleNavigate = useCallback(\n () =>\n dispatch(\n Function.pipe(\n createIntent(LayoutAction.UpdatePopover, {\n part: 'popover',\n subject: null,\n options: { state: false, anchorId: '' },\n }),\n chain(LayoutAction.Open, { part: 'main', subject: [fullyQualifiedId(subject)] }),\n ),\n ),\n [dispatch, subject],\n );\n\n return (\n <Card.SurfaceRoot role={role}>\n <Card.Heading classNames='flex items-center'>\n {getTitle(subject, t('fallback title'))}\n <span className='grow' />\n <IconButton\n iconOnly\n icon='ph--arrow-right--regular'\n label={t('navigate to document label')}\n onClick={handleNavigate}\n />\n </Card.Heading>\n {snippet && <Card.Text classNames='line-clamp-3 text-sm text-description'>{snippet}</Card.Text>}\n <Card.Text classNames='text-xs text-description'>\n {info.words} {t('words label', { count: info.words })}\n </Card.Text>\n </Card.SurfaceRoot>\n );\n};\n\nconst getInfo = (subject: Markdown.Document | DataType.Text) => {\n const text = (Obj.instanceOf(Markdown.Document, subject) ? subject.content?.target?.content : subject.content) ?? '';\n return { words: text.split(' ').length };\n};\n\n// TODO(burdon): Factor out.\nconst getTitle = (subject: Markdown.Document | DataType.Text, fallback: string) => {\n if (Obj.instanceOf(Markdown.Document, subject)) {\n return subject.name ?? subject.fallbackName ?? getFallbackName(subject.content?.target?.content ?? fallback);\n } else if (Obj.instanceOf(DataType.Text, subject)) {\n return getFallbackName(subject.content);\n }\n};\n\n// TODO(burdon): Factor out.\nconst getSnippet = (subject: Markdown.Document | DataType.Text, fallback: string) => {\n if (Obj.instanceOf(Markdown.Document, subject)) {\n return Obj.getDescription(subject) || getContentSnippet(subject.content?.target?.content ?? fallback);\n } else if (Obj.instanceOf(DataType.Text, subject)) {\n return getContentSnippet(subject.content ?? fallback);\n }\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { MarkdownCard } from './MarkdownCard';\n\nexport * from './MarkdownCard';\n\nexport default MarkdownCard;\n"],
5
- "mappings": ";;;;;;;;;;;;;AAIA,YAAYA,cAAc;AAC1B,OAAOC,SAASC,mBAAmB;AAEnC,SAASC,cAAcC,OAAOC,cAAcC,2BAA2B;AACvE,SAASC,WAAW;AAEpB,SAASC,wBAAwB;AACjC,SAASC,YAAYC,sBAAsB;AAC3C,SAASC,YAAY;AACrB,SAASC,gBAAgB;AAQlB,IAAMC,eAAe,CAAC,EAAEC,SAASC,KAAI,MAAqB;;;AAC/D,UAAM,EAAEC,iBAAiBC,SAAQ,IAAKC,oBAAAA;AACtC,UAAM,EAAEC,EAAC,IAAKC,eAAeC,KAAKC,EAAE;AACpC,UAAMC,UAAUC,WAAWV,SAASK,EAAE,mBAAA,CAAA;AACtC,UAAMM,OAAOC,QAAQZ,OAAAA;AAGrB,UAAMa,iBAAiBC,YACrB,MACEX,SACWY,cACPC,aAAaC,aAAaC,eAAe;MACvCC,MAAM;MACNnB,SAAS;MACToB,SAAS;QAAEC,OAAO;QAAOC,UAAU;MAAG;IACxC,CAAA,GACAC,MAAMN,aAAaO,MAAM;MAAEL,MAAM;MAAQnB,SAAS;QAACyB,iBAAiBzB,OAAAA;;IAAU,CAAA,CAAA,CAAA,GAGpF;MAACG;MAAUH;KAAQ;AAGrB,WACE,sBAAA,cAAC0B,KAAKC,aAAW;MAAC1B;OAChB,sBAAA,cAACyB,KAAKE,SAAO;MAACC,YAAW;OACtBC,SAAS9B,SAASK,EAAE,gBAAA,CAAA,GACrB,sBAAA,cAAC0B,QAAAA;MAAKC,WAAU;QAChB,sBAAA,cAACC,YAAAA;MACCC,UAAAA;MACAC,MAAK;MACLC,OAAO/B,EAAE,4BAAA;MACTgC,SAASxB;SAGZJ,WAAW,sBAAA,cAACiB,KAAKY,MAAI;MAACT,YAAW;OAAyCpB,OAAAA,GAC3E,sBAAA,cAACiB,KAAKY,MAAI;MAACT,YAAW;OACnBlB,KAAK4B,OAAM,KAAElC,EAAE,eAAe;MAAEmC,OAAO7B,KAAK4B;IAAM,CAAA,CAAA,CAAA;;;;AAI3D;AAEA,IAAM3B,UAAU,CAACZ,YAAAA;AACf,QAAMyC,QAAQC,IAAIC,WAAWC,iBAASC,UAAU7C,OAAAA,IAAWA,QAAQ8C,SAASC,QAAQD,UAAU9C,QAAQ8C,YAAY;AAClH,SAAO;IAAEP,OAAOE,KAAKO,MAAM,GAAA,EAAKC;EAAO;AACzC;AAGA,IAAMnB,WAAW,CAAC9B,SAA4CkD,aAAAA;AAC5D,MAAIR,IAAIC,WAAWC,iBAASC,UAAU7C,OAAAA,GAAU;AAC9C,WAAOA,QAAQmD,QAAQnD,QAAQoD,gBAAgBC,gBAAgBrD,QAAQ8C,SAASC,QAAQD,WAAWI,QAAAA;EACrG,WAAWR,IAAIC,WAAWW,SAAShB,MAAMtC,OAAAA,GAAU;AACjD,WAAOqD,gBAAgBrD,QAAQ8C,OAAO;EACxC;AACF;AAGA,IAAMpC,aAAa,CAACV,SAA4CkD,aAAAA;AAC9D,MAAIR,IAAIC,WAAWC,iBAASC,UAAU7C,OAAAA,GAAU;AAC9C,WAAO0C,IAAIa,eAAevD,OAAAA,KAAYwD,kBAAkBxD,QAAQ8C,SAASC,QAAQD,WAAWI,QAAAA;EAC9F,WAAWR,IAAIC,WAAWW,SAAShB,MAAMtC,OAAAA,GAAU;AACjD,WAAOwD,kBAAkBxD,QAAQ8C,WAAWI,QAAAA;EAC9C;AACF;;;AC5EA,IAAA,uBAAeO;",
6
- "names": ["Function", "React", "useCallback", "LayoutAction", "chain", "createIntent", "useIntentDispatcher", "Obj", "fullyQualifiedId", "IconButton", "useTranslation", "Card", "DataType", "MarkdownCard", "subject", "role", "dispatchPromise", "dispatch", "useIntentDispatcher", "t", "useTranslation", "meta", "id", "snippet", "getSnippet", "info", "getInfo", "handleNavigate", "useCallback", "pipe", "createIntent", "LayoutAction", "UpdatePopover", "part", "options", "state", "anchorId", "chain", "Open", "fullyQualifiedId", "Card", "SurfaceRoot", "Heading", "classNames", "getTitle", "span", "className", "IconButton", "iconOnly", "icon", "label", "onClick", "Text", "words", "count", "text", "Obj", "instanceOf", "Markdown", "Document", "content", "target", "split", "length", "fallback", "name", "fallbackName", "getFallbackName", "DataType", "getDescription", "getContentSnippet", "MarkdownCard"]
7
- }