@dxos/react-ui-editor 0.8.4-main.5ad4a44 → 0.8.4-main.60689f5b1c

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 (438) hide show
  1. package/LICENSE +102 -5
  2. package/README.md +1 -1
  3. package/dist/lib/browser/index.mjs +1410 -8668
  4. package/dist/lib/browser/index.mjs.map +4 -4
  5. package/dist/lib/browser/meta.json +1 -1
  6. package/dist/lib/browser/translations.mjs +39 -0
  7. package/dist/lib/browser/translations.mjs.map +7 -0
  8. package/dist/lib/node-esm/index.mjs +1410 -8667
  9. package/dist/lib/node-esm/index.mjs.map +4 -4
  10. package/dist/lib/node-esm/meta.json +1 -1
  11. package/dist/lib/node-esm/translations.mjs +41 -0
  12. package/dist/lib/node-esm/translations.mjs.map +7 -0
  13. package/dist/types/src/components/Editor/Editor.d.ts +53 -20
  14. package/dist/types/src/components/Editor/Editor.d.ts.map +1 -1
  15. package/dist/types/src/components/Editor/Editor.stories.d.ts +23 -0
  16. package/dist/types/src/components/Editor/Editor.stories.d.ts.map +1 -0
  17. package/dist/types/src/components/Editor/EditorView.d.ts +31 -0
  18. package/dist/types/src/components/Editor/EditorView.d.ts.map +1 -0
  19. package/dist/types/src/components/Editor/controller.d.ts +10 -0
  20. package/dist/types/src/components/Editor/controller.d.ts.map +1 -0
  21. package/dist/types/src/components/EditorMenuProvider/EditorMenuProvider.d.ts +34 -0
  22. package/dist/types/src/components/EditorMenuProvider/EditorMenuProvider.d.ts.map +1 -0
  23. package/dist/types/src/components/EditorMenuProvider/index.d.ts +6 -0
  24. package/dist/types/src/components/EditorMenuProvider/index.d.ts.map +1 -0
  25. package/dist/types/src/components/EditorMenuProvider/menu-presets.d.ts +4 -0
  26. package/dist/types/src/components/EditorMenuProvider/menu-presets.d.ts.map +1 -0
  27. package/dist/types/src/components/EditorMenuProvider/menu.d.ts +28 -0
  28. package/dist/types/src/components/EditorMenuProvider/menu.d.ts.map +1 -0
  29. package/dist/types/src/components/EditorMenuProvider/popover.d.ts +47 -0
  30. package/dist/types/src/components/EditorMenuProvider/popover.d.ts.map +1 -0
  31. package/dist/types/src/components/EditorMenuProvider/useEditorMenu.d.ts +34 -0
  32. package/dist/types/src/components/EditorMenuProvider/useEditorMenu.d.ts.map +1 -0
  33. package/dist/types/src/components/EditorPreviewProvider/EditorPreviewProvider.d.ts +16 -0
  34. package/dist/types/src/components/EditorPreviewProvider/EditorPreviewProvider.d.ts.map +1 -0
  35. package/dist/types/src/components/EditorPreviewProvider/index.d.ts +2 -0
  36. package/dist/types/src/components/EditorPreviewProvider/index.d.ts.map +1 -0
  37. package/dist/types/src/components/EditorToolbar/EditorToolbar.d.ts +28 -2
  38. package/dist/types/src/components/EditorToolbar/EditorToolbar.d.ts.map +1 -1
  39. package/dist/types/src/components/EditorToolbar/blocks.d.ts +4 -17
  40. package/dist/types/src/components/EditorToolbar/blocks.d.ts.map +1 -1
  41. package/dist/types/src/components/EditorToolbar/formatting.d.ts +4 -17
  42. package/dist/types/src/components/EditorToolbar/formatting.d.ts.map +1 -1
  43. package/dist/types/src/components/EditorToolbar/headings.d.ts +4 -17
  44. package/dist/types/src/components/EditorToolbar/headings.d.ts.map +1 -1
  45. package/dist/types/src/components/EditorToolbar/image.d.ts +3 -15
  46. package/dist/types/src/components/EditorToolbar/image.d.ts.map +1 -1
  47. package/dist/types/src/components/EditorToolbar/index.d.ts +1 -1
  48. package/dist/types/src/components/EditorToolbar/index.d.ts.map +1 -1
  49. package/dist/types/src/components/EditorToolbar/lists.d.ts +4 -17
  50. package/dist/types/src/components/EditorToolbar/lists.d.ts.map +1 -1
  51. package/dist/types/src/components/EditorToolbar/search.d.ts +3 -15
  52. package/dist/types/src/components/EditorToolbar/search.d.ts.map +1 -1
  53. package/dist/types/src/components/EditorToolbar/types.d.ts +6 -0
  54. package/dist/types/src/components/EditorToolbar/types.d.ts.map +1 -0
  55. package/dist/types/src/components/EditorToolbar/view-mode.d.ts +5 -18
  56. package/dist/types/src/components/EditorToolbar/view-mode.d.ts.map +1 -1
  57. package/dist/types/src/components/index.d.ts +2 -2
  58. package/dist/types/src/components/index.d.ts.map +1 -1
  59. package/dist/types/src/extensions/Assistant.stories.d.ts +10 -0
  60. package/dist/types/src/extensions/Assistant.stories.d.ts.map +1 -0
  61. package/dist/types/src/extensions/assistant-extension.d.ts +24 -0
  62. package/dist/types/src/extensions/assistant-extension.d.ts.map +1 -0
  63. package/dist/types/src/extensions/index.d.ts +1 -26
  64. package/dist/types/src/extensions/index.d.ts.map +1 -1
  65. package/dist/types/src/hooks/index.d.ts +1 -0
  66. package/dist/types/src/hooks/index.d.ts.map +1 -1
  67. package/dist/types/src/hooks/useBasicMarkdownExtensions.d.ts +25 -0
  68. package/dist/types/src/hooks/useBasicMarkdownExtensions.d.ts.map +1 -0
  69. package/dist/types/src/hooks/useTextEditor.d.ts +4 -8
  70. package/dist/types/src/hooks/useTextEditor.d.ts.map +1 -1
  71. package/dist/types/src/index.d.ts +0 -9
  72. package/dist/types/src/index.d.ts.map +1 -1
  73. package/dist/types/src/stories/Automerge.stories.d.ts +44 -0
  74. package/dist/types/src/stories/Automerge.stories.d.ts.map +1 -0
  75. package/dist/types/src/stories/Comments.stories.d.ts +4 -3
  76. package/dist/types/src/stories/Comments.stories.d.ts.map +1 -1
  77. package/dist/types/src/stories/EditorToolbar.stories.d.ts +29 -27
  78. package/dist/types/src/stories/EditorToolbar.stories.d.ts.map +1 -1
  79. package/dist/types/src/stories/Experimental.stories.d.ts +5 -4
  80. package/dist/types/src/stories/Experimental.stories.d.ts.map +1 -1
  81. package/dist/types/src/stories/Markdown.stories.d.ts +4 -3
  82. package/dist/types/src/stories/Markdown.stories.d.ts.map +1 -1
  83. package/dist/types/src/stories/Outliner.stories.d.ts +2 -2
  84. package/dist/types/src/stories/Outliner.stories.d.ts.map +1 -1
  85. package/dist/types/src/stories/{CommandMenu.stories.d.ts → Popover.stories.d.ts} +6 -5
  86. package/dist/types/src/stories/Popover.stories.d.ts.map +1 -0
  87. package/dist/types/src/stories/Preview.stories.d.ts +5 -3
  88. package/dist/types/src/stories/Preview.stories.d.ts.map +1 -1
  89. package/dist/types/src/stories/Tags.stories.d.ts.map +1 -1
  90. package/dist/types/src/stories/TextEditor.stories.d.ts +4 -4
  91. package/dist/types/src/stories/TextEditor.stories.d.ts.map +1 -1
  92. package/dist/types/src/stories/Theme.stories.d.ts +8 -0
  93. package/dist/types/src/stories/Theme.stories.d.ts.map +1 -0
  94. package/dist/types/src/stories/components/EditorStory.d.ts +11 -20
  95. package/dist/types/src/stories/components/EditorStory.d.ts.map +1 -1
  96. package/dist/types/src/stories/components/util.d.ts +4 -3
  97. package/dist/types/src/stories/components/util.d.ts.map +1 -1
  98. package/dist/types/src/translations.d.ts +26 -26
  99. package/dist/types/src/translations.d.ts.map +1 -1
  100. package/dist/types/src/util/index.d.ts +0 -5
  101. package/dist/types/src/util/index.d.ts.map +1 -1
  102. package/dist/types/src/util/react.d.ts +6 -5
  103. package/dist/types/src/util/react.d.ts.map +1 -1
  104. package/dist/types/tsconfig.tsbuildinfo +1 -1
  105. package/package.json +82 -77
  106. package/src/components/Editor/Editor.stories.tsx +89 -0
  107. package/src/components/Editor/Editor.tsx +166 -54
  108. package/src/components/Editor/EditorView.tsx +102 -0
  109. package/src/components/Editor/controller.ts +50 -0
  110. package/src/components/EditorMenuProvider/EditorMenuProvider.tsx +226 -0
  111. package/src/components/EditorMenuProvider/index.ts +10 -0
  112. package/src/components/EditorMenuProvider/menu-presets.ts +125 -0
  113. package/src/components/EditorMenuProvider/menu.ts +70 -0
  114. package/src/components/EditorMenuProvider/popover.ts +287 -0
  115. package/src/components/EditorMenuProvider/useEditorMenu.ts +180 -0
  116. package/src/components/EditorPreviewProvider/EditorPreviewProvider.tsx +79 -0
  117. package/src/components/EditorPreviewProvider/index.ts +5 -0
  118. package/src/components/EditorToolbar/EditorToolbar.tsx +90 -112
  119. package/src/components/EditorToolbar/blocks.ts +55 -47
  120. package/src/components/EditorToolbar/formatting.ts +44 -45
  121. package/src/components/EditorToolbar/headings.ts +47 -50
  122. package/src/components/EditorToolbar/image.ts +16 -14
  123. package/src/components/EditorToolbar/index.ts +2 -7
  124. package/src/components/EditorToolbar/lists.ts +42 -40
  125. package/src/components/EditorToolbar/search.ts +16 -14
  126. package/src/components/EditorToolbar/types.ts +8 -0
  127. package/src/components/EditorToolbar/view-mode.ts +37 -42
  128. package/src/components/index.ts +3 -2
  129. package/src/extensions/Assistant.stories.tsx +112 -0
  130. package/src/extensions/assistant-extension.tsx +223 -0
  131. package/src/extensions/index.ts +2 -27
  132. package/src/hooks/index.ts +1 -0
  133. package/src/hooks/useBasicMarkdownExtensions.ts +55 -0
  134. package/src/hooks/useTextEditor.ts +33 -27
  135. package/src/index.ts +0 -13
  136. package/src/stories/Automerge.stories.tsx +177 -0
  137. package/src/stories/Comments.stories.tsx +49 -45
  138. package/src/stories/EditorToolbar.stories.tsx +42 -55
  139. package/src/stories/Experimental.stories.tsx +14 -16
  140. package/src/stories/Markdown.stories.tsx +16 -16
  141. package/src/stories/Outliner.stories.tsx +22 -24
  142. package/src/stories/Popover.stories.tsx +157 -0
  143. package/src/stories/Preview.stories.tsx +102 -84
  144. package/src/stories/Tags.stories.tsx +36 -13
  145. package/src/stories/TextEditor.stories.tsx +16 -48
  146. package/src/stories/Theme.stories.tsx +61 -0
  147. package/src/stories/components/EditorStory.tsx +46 -30
  148. package/src/stories/components/util.tsx +90 -59
  149. package/src/translations.ts +30 -25
  150. package/src/util/index.ts +1 -6
  151. package/src/util/react.tsx +8 -13
  152. package/dist/lib/browser/chunk-HL3YF6WC.mjs +0 -22
  153. package/dist/lib/browser/chunk-HL3YF6WC.mjs.map +0 -7
  154. package/dist/lib/browser/testing/index.mjs +0 -76
  155. package/dist/lib/browser/testing/index.mjs.map +0 -7
  156. package/dist/lib/browser/types/index.mjs +0 -13
  157. package/dist/lib/browser/types/index.mjs.map +0 -7
  158. package/dist/lib/node-esm/chunk-YJZGD3LY.mjs +0 -24
  159. package/dist/lib/node-esm/chunk-YJZGD3LY.mjs.map +0 -7
  160. package/dist/lib/node-esm/testing/index.mjs +0 -78
  161. package/dist/lib/node-esm/testing/index.mjs.map +0 -7
  162. package/dist/lib/node-esm/types/index.mjs +0 -14
  163. package/dist/lib/node-esm/types/index.mjs.map +0 -7
  164. package/dist/types/src/components/CommandMenu/CommandMenu.d.ts +0 -38
  165. package/dist/types/src/components/CommandMenu/CommandMenu.d.ts.map +0 -1
  166. package/dist/types/src/components/CommandMenu/index.d.ts +0 -2
  167. package/dist/types/src/components/CommandMenu/index.d.ts.map +0 -1
  168. package/dist/types/src/components/EditorToolbar/util.d.ts +0 -51
  169. package/dist/types/src/components/EditorToolbar/util.d.ts.map +0 -1
  170. package/dist/types/src/defaults.d.ts +0 -14
  171. package/dist/types/src/defaults.d.ts.map +0 -1
  172. package/dist/types/src/extensions/annotations.d.ts +0 -9
  173. package/dist/types/src/extensions/annotations.d.ts.map +0 -1
  174. package/dist/types/src/extensions/autocomplete.d.ts +0 -26
  175. package/dist/types/src/extensions/autocomplete.d.ts.map +0 -1
  176. package/dist/types/src/extensions/automerge/automerge.d.ts +0 -4
  177. package/dist/types/src/extensions/automerge/automerge.d.ts.map +0 -1
  178. package/dist/types/src/extensions/automerge/automerge.stories.d.ts +0 -47
  179. package/dist/types/src/extensions/automerge/automerge.stories.d.ts.map +0 -1
  180. package/dist/types/src/extensions/automerge/automerge.test.d.ts +0 -2
  181. package/dist/types/src/extensions/automerge/automerge.test.d.ts.map +0 -1
  182. package/dist/types/src/extensions/automerge/cursor.d.ts +0 -4
  183. package/dist/types/src/extensions/automerge/cursor.d.ts.map +0 -1
  184. package/dist/types/src/extensions/automerge/defs.d.ts +0 -17
  185. package/dist/types/src/extensions/automerge/defs.d.ts.map +0 -1
  186. package/dist/types/src/extensions/automerge/index.d.ts +0 -2
  187. package/dist/types/src/extensions/automerge/index.d.ts.map +0 -1
  188. package/dist/types/src/extensions/automerge/sync.d.ts +0 -17
  189. package/dist/types/src/extensions/automerge/sync.d.ts.map +0 -1
  190. package/dist/types/src/extensions/automerge/update-automerge.d.ts +0 -6
  191. package/dist/types/src/extensions/automerge/update-automerge.d.ts.map +0 -1
  192. package/dist/types/src/extensions/automerge/update-codemirror.d.ts +0 -5
  193. package/dist/types/src/extensions/automerge/update-codemirror.d.ts.map +0 -1
  194. package/dist/types/src/extensions/autoscroll.d.ts +0 -10
  195. package/dist/types/src/extensions/autoscroll.d.ts.map +0 -1
  196. package/dist/types/src/extensions/awareness/awareness-provider.d.ts +0 -31
  197. package/dist/types/src/extensions/awareness/awareness-provider.d.ts.map +0 -1
  198. package/dist/types/src/extensions/awareness/awareness.d.ts +0 -46
  199. package/dist/types/src/extensions/awareness/awareness.d.ts.map +0 -1
  200. package/dist/types/src/extensions/awareness/index.d.ts +0 -3
  201. package/dist/types/src/extensions/awareness/index.d.ts.map +0 -1
  202. package/dist/types/src/extensions/blast.d.ts +0 -25
  203. package/dist/types/src/extensions/blast.d.ts.map +0 -1
  204. package/dist/types/src/extensions/command-dialog/action.d.ts +0 -17
  205. package/dist/types/src/extensions/command-dialog/action.d.ts.map +0 -1
  206. package/dist/types/src/extensions/command-dialog/command-dialog.d.ts +0 -6
  207. package/dist/types/src/extensions/command-dialog/command-dialog.d.ts.map +0 -1
  208. package/dist/types/src/extensions/command-dialog/hint.d.ts +0 -19
  209. package/dist/types/src/extensions/command-dialog/hint.d.ts.map +0 -1
  210. package/dist/types/src/extensions/command-dialog/index.d.ts +0 -4
  211. package/dist/types/src/extensions/command-dialog/index.d.ts.map +0 -1
  212. package/dist/types/src/extensions/command-dialog/state.d.ts +0 -16
  213. package/dist/types/src/extensions/command-dialog/state.d.ts.map +0 -1
  214. package/dist/types/src/extensions/command-dialog/typeahead.d.ts +0 -22
  215. package/dist/types/src/extensions/command-dialog/typeahead.d.ts.map +0 -1
  216. package/dist/types/src/extensions/command-menu/command-menu.d.ts +0 -20
  217. package/dist/types/src/extensions/command-menu/command-menu.d.ts.map +0 -1
  218. package/dist/types/src/extensions/command-menu/index.d.ts +0 -3
  219. package/dist/types/src/extensions/command-menu/index.d.ts.map +0 -1
  220. package/dist/types/src/extensions/command-menu/placeholder.d.ts +0 -10
  221. package/dist/types/src/extensions/command-menu/placeholder.d.ts.map +0 -1
  222. package/dist/types/src/extensions/command-menu/useCommandMenu.d.ts +0 -24
  223. package/dist/types/src/extensions/command-menu/useCommandMenu.d.ts.map +0 -1
  224. package/dist/types/src/extensions/comments.d.ts +0 -95
  225. package/dist/types/src/extensions/comments.d.ts.map +0 -1
  226. package/dist/types/src/extensions/debug.d.ts +0 -3
  227. package/dist/types/src/extensions/debug.d.ts.map +0 -1
  228. package/dist/types/src/extensions/dnd.d.ts +0 -9
  229. package/dist/types/src/extensions/dnd.d.ts.map +0 -1
  230. package/dist/types/src/extensions/factories.d.ts +0 -83
  231. package/dist/types/src/extensions/factories.d.ts.map +0 -1
  232. package/dist/types/src/extensions/floating-menu.d.ts +0 -7
  233. package/dist/types/src/extensions/floating-menu.d.ts.map +0 -1
  234. package/dist/types/src/extensions/focus.d.ts +0 -7
  235. package/dist/types/src/extensions/focus.d.ts.map +0 -1
  236. package/dist/types/src/extensions/folding.d.ts +0 -7
  237. package/dist/types/src/extensions/folding.d.ts.map +0 -1
  238. package/dist/types/src/extensions/hashtag.d.ts +0 -3
  239. package/dist/types/src/extensions/hashtag.d.ts.map +0 -1
  240. package/dist/types/src/extensions/json.d.ts +0 -7
  241. package/dist/types/src/extensions/json.d.ts.map +0 -1
  242. package/dist/types/src/extensions/listener.d.ts +0 -11
  243. package/dist/types/src/extensions/listener.d.ts.map +0 -1
  244. package/dist/types/src/extensions/markdown/action.d.ts +0 -12
  245. package/dist/types/src/extensions/markdown/action.d.ts.map +0 -1
  246. package/dist/types/src/extensions/markdown/bundle.d.ts +0 -22
  247. package/dist/types/src/extensions/markdown/bundle.d.ts.map +0 -1
  248. package/dist/types/src/extensions/markdown/changes.d.ts +0 -10
  249. package/dist/types/src/extensions/markdown/changes.d.ts.map +0 -1
  250. package/dist/types/src/extensions/markdown/changes.test.d.ts +0 -2
  251. package/dist/types/src/extensions/markdown/changes.test.d.ts.map +0 -1
  252. package/dist/types/src/extensions/markdown/debug.d.ts +0 -11
  253. package/dist/types/src/extensions/markdown/debug.d.ts.map +0 -1
  254. package/dist/types/src/extensions/markdown/decorate.d.ts +0 -25
  255. package/dist/types/src/extensions/markdown/decorate.d.ts.map +0 -1
  256. package/dist/types/src/extensions/markdown/formatting.d.ts +0 -63
  257. package/dist/types/src/extensions/markdown/formatting.d.ts.map +0 -1
  258. package/dist/types/src/extensions/markdown/formatting.test.d.ts +0 -3
  259. package/dist/types/src/extensions/markdown/formatting.test.d.ts.map +0 -1
  260. package/dist/types/src/extensions/markdown/highlight.d.ts +0 -37
  261. package/dist/types/src/extensions/markdown/highlight.d.ts.map +0 -1
  262. package/dist/types/src/extensions/markdown/image.d.ts +0 -7
  263. package/dist/types/src/extensions/markdown/image.d.ts.map +0 -1
  264. package/dist/types/src/extensions/markdown/index.d.ts +0 -10
  265. package/dist/types/src/extensions/markdown/index.d.ts.map +0 -1
  266. package/dist/types/src/extensions/markdown/link.d.ts +0 -7
  267. package/dist/types/src/extensions/markdown/link.d.ts.map +0 -1
  268. package/dist/types/src/extensions/markdown/parser.test.d.ts +0 -2
  269. package/dist/types/src/extensions/markdown/parser.test.d.ts.map +0 -1
  270. package/dist/types/src/extensions/markdown/styles.d.ts +0 -4
  271. package/dist/types/src/extensions/markdown/styles.d.ts.map +0 -1
  272. package/dist/types/src/extensions/markdown/table.d.ts +0 -8
  273. package/dist/types/src/extensions/markdown/table.d.ts.map +0 -1
  274. package/dist/types/src/extensions/mention.d.ts +0 -7
  275. package/dist/types/src/extensions/mention.d.ts.map +0 -1
  276. package/dist/types/src/extensions/modes.d.ts +0 -10
  277. package/dist/types/src/extensions/modes.d.ts.map +0 -1
  278. package/dist/types/src/extensions/outliner/commands.d.ts +0 -10
  279. package/dist/types/src/extensions/outliner/commands.d.ts.map +0 -1
  280. package/dist/types/src/extensions/outliner/editor.d.ts +0 -5
  281. package/dist/types/src/extensions/outliner/editor.d.ts.map +0 -1
  282. package/dist/types/src/extensions/outliner/editor.test.d.ts +0 -2
  283. package/dist/types/src/extensions/outliner/editor.test.d.ts.map +0 -1
  284. package/dist/types/src/extensions/outliner/index.d.ts +0 -4
  285. package/dist/types/src/extensions/outliner/index.d.ts.map +0 -1
  286. package/dist/types/src/extensions/outliner/outliner.d.ts +0 -11
  287. package/dist/types/src/extensions/outliner/outliner.d.ts.map +0 -1
  288. package/dist/types/src/extensions/outliner/outliner.test.d.ts +0 -2
  289. package/dist/types/src/extensions/outliner/outliner.test.d.ts.map +0 -1
  290. package/dist/types/src/extensions/outliner/selection.d.ts +0 -12
  291. package/dist/types/src/extensions/outliner/selection.d.ts.map +0 -1
  292. package/dist/types/src/extensions/outliner/tree.d.ts +0 -79
  293. package/dist/types/src/extensions/outliner/tree.d.ts.map +0 -1
  294. package/dist/types/src/extensions/outliner/tree.test.d.ts +0 -2
  295. package/dist/types/src/extensions/outliner/tree.test.d.ts.map +0 -1
  296. package/dist/types/src/extensions/preview/index.d.ts +0 -2
  297. package/dist/types/src/extensions/preview/index.d.ts.map +0 -1
  298. package/dist/types/src/extensions/preview/preview.d.ts +0 -29
  299. package/dist/types/src/extensions/preview/preview.d.ts.map +0 -1
  300. package/dist/types/src/extensions/selection.d.ts +0 -24
  301. package/dist/types/src/extensions/selection.d.ts.map +0 -1
  302. package/dist/types/src/extensions/tags/extended-markdown.d.ts +0 -10
  303. package/dist/types/src/extensions/tags/extended-markdown.d.ts.map +0 -1
  304. package/dist/types/src/extensions/tags/extended-markdown.test.d.ts +0 -2
  305. package/dist/types/src/extensions/tags/extended-markdown.test.d.ts.map +0 -1
  306. package/dist/types/src/extensions/tags/index.d.ts +0 -4
  307. package/dist/types/src/extensions/tags/index.d.ts.map +0 -1
  308. package/dist/types/src/extensions/tags/streamer.d.ts +0 -12
  309. package/dist/types/src/extensions/tags/streamer.d.ts.map +0 -1
  310. package/dist/types/src/extensions/tags/xml-tags.d.ts +0 -72
  311. package/dist/types/src/extensions/tags/xml-tags.d.ts.map +0 -1
  312. package/dist/types/src/extensions/tags/xml-util.d.ts +0 -10
  313. package/dist/types/src/extensions/tags/xml-util.d.ts.map +0 -1
  314. package/dist/types/src/extensions/typewriter.d.ts +0 -10
  315. package/dist/types/src/extensions/typewriter.d.ts.map +0 -1
  316. package/dist/types/src/stories/CommandDialog.stories.d.ts +0 -14
  317. package/dist/types/src/stories/CommandDialog.stories.d.ts.map +0 -1
  318. package/dist/types/src/stories/CommandMenu.stories.d.ts.map +0 -1
  319. package/dist/types/src/styles/index.d.ts +0 -4
  320. package/dist/types/src/styles/index.d.ts.map +0 -1
  321. package/dist/types/src/styles/markdown.d.ts +0 -8
  322. package/dist/types/src/styles/markdown.d.ts.map +0 -1
  323. package/dist/types/src/styles/theme.d.ts +0 -38
  324. package/dist/types/src/styles/theme.d.ts.map +0 -1
  325. package/dist/types/src/styles/tokens.d.ts +0 -3
  326. package/dist/types/src/styles/tokens.d.ts.map +0 -1
  327. package/dist/types/src/testing/PreviewPopover.d.ts +0 -20
  328. package/dist/types/src/testing/PreviewPopover.d.ts.map +0 -1
  329. package/dist/types/src/testing/index.d.ts +0 -3
  330. package/dist/types/src/testing/index.d.ts.map +0 -1
  331. package/dist/types/src/testing/util.d.ts +0 -3
  332. package/dist/types/src/testing/util.d.ts.map +0 -1
  333. package/dist/types/src/types/index.d.ts +0 -2
  334. package/dist/types/src/types/index.d.ts.map +0 -1
  335. package/dist/types/src/types/types.d.ts +0 -21
  336. package/dist/types/src/types/types.d.ts.map +0 -1
  337. package/dist/types/src/util/cursor.d.ts +0 -31
  338. package/dist/types/src/util/cursor.d.ts.map +0 -1
  339. package/dist/types/src/util/debug.d.ts +0 -17
  340. package/dist/types/src/util/debug.d.ts.map +0 -1
  341. package/dist/types/src/util/decorations.d.ts +0 -4
  342. package/dist/types/src/util/decorations.d.ts.map +0 -1
  343. package/dist/types/src/util/dom.d.ts +0 -10
  344. package/dist/types/src/util/dom.d.ts.map +0 -1
  345. package/dist/types/src/util/facet.d.ts +0 -3
  346. package/dist/types/src/util/facet.d.ts.map +0 -1
  347. package/src/components/CommandMenu/CommandMenu.tsx +0 -348
  348. package/src/components/CommandMenu/index.ts +0 -5
  349. package/src/components/EditorToolbar/util.ts +0 -76
  350. package/src/defaults.ts +0 -52
  351. package/src/extensions/annotations.ts +0 -55
  352. package/src/extensions/autocomplete.ts +0 -219
  353. package/src/extensions/automerge/automerge.stories.tsx +0 -149
  354. package/src/extensions/automerge/automerge.test.tsx +0 -78
  355. package/src/extensions/automerge/automerge.ts +0 -86
  356. package/src/extensions/automerge/cursor.ts +0 -28
  357. package/src/extensions/automerge/defs.ts +0 -31
  358. package/src/extensions/automerge/index.ts +0 -5
  359. package/src/extensions/automerge/sync.ts +0 -75
  360. package/src/extensions/automerge/update-automerge.ts +0 -50
  361. package/src/extensions/automerge/update-codemirror.ts +0 -115
  362. package/src/extensions/autoscroll.ts +0 -157
  363. package/src/extensions/awareness/awareness-provider.ts +0 -127
  364. package/src/extensions/awareness/awareness.ts +0 -315
  365. package/src/extensions/awareness/index.ts +0 -6
  366. package/src/extensions/blast.ts +0 -363
  367. package/src/extensions/command-dialog/action.ts +0 -55
  368. package/src/extensions/command-dialog/command-dialog.ts +0 -34
  369. package/src/extensions/command-dialog/hint.ts +0 -103
  370. package/src/extensions/command-dialog/index.ts +0 -7
  371. package/src/extensions/command-dialog/state.ts +0 -90
  372. package/src/extensions/command-dialog/typeahead.ts +0 -129
  373. package/src/extensions/command-menu/command-menu.ts +0 -210
  374. package/src/extensions/command-menu/index.ts +0 -6
  375. package/src/extensions/command-menu/placeholder.ts +0 -113
  376. package/src/extensions/command-menu/useCommandMenu.ts +0 -134
  377. package/src/extensions/comments.ts +0 -597
  378. package/src/extensions/debug.ts +0 -15
  379. package/src/extensions/dnd.ts +0 -37
  380. package/src/extensions/factories.ts +0 -284
  381. package/src/extensions/floating-menu.ts +0 -126
  382. package/src/extensions/focus.ts +0 -36
  383. package/src/extensions/folding.tsx +0 -44
  384. package/src/extensions/hashtag.tsx +0 -68
  385. package/src/extensions/json.ts +0 -57
  386. package/src/extensions/listener.ts +0 -38
  387. package/src/extensions/markdown/action.ts +0 -117
  388. package/src/extensions/markdown/bundle.ts +0 -93
  389. package/src/extensions/markdown/changes.test.ts +0 -26
  390. package/src/extensions/markdown/changes.ts +0 -149
  391. package/src/extensions/markdown/debug.ts +0 -44
  392. package/src/extensions/markdown/decorate.ts +0 -601
  393. package/src/extensions/markdown/formatting.test.ts +0 -498
  394. package/src/extensions/markdown/formatting.ts +0 -1267
  395. package/src/extensions/markdown/highlight.ts +0 -183
  396. package/src/extensions/markdown/image.ts +0 -118
  397. package/src/extensions/markdown/index.ts +0 -13
  398. package/src/extensions/markdown/link.ts +0 -50
  399. package/src/extensions/markdown/parser.test.ts +0 -75
  400. package/src/extensions/markdown/styles.ts +0 -135
  401. package/src/extensions/markdown/table.ts +0 -150
  402. package/src/extensions/mention.ts +0 -41
  403. package/src/extensions/modes.ts +0 -41
  404. package/src/extensions/outliner/commands.ts +0 -270
  405. package/src/extensions/outliner/editor.test.ts +0 -33
  406. package/src/extensions/outliner/editor.ts +0 -184
  407. package/src/extensions/outliner/index.ts +0 -7
  408. package/src/extensions/outliner/outliner.test.ts +0 -100
  409. package/src/extensions/outliner/outliner.ts +0 -167
  410. package/src/extensions/outliner/selection.ts +0 -50
  411. package/src/extensions/outliner/tree.test.ts +0 -168
  412. package/src/extensions/outliner/tree.ts +0 -317
  413. package/src/extensions/preview/index.ts +0 -5
  414. package/src/extensions/preview/preview.ts +0 -190
  415. package/src/extensions/selection.ts +0 -100
  416. package/src/extensions/tags/extended-markdown.test.ts +0 -261
  417. package/src/extensions/tags/extended-markdown.ts +0 -78
  418. package/src/extensions/tags/index.ts +0 -7
  419. package/src/extensions/tags/streamer.ts +0 -243
  420. package/src/extensions/tags/xml-tags.ts +0 -393
  421. package/src/extensions/tags/xml-util.ts +0 -94
  422. package/src/extensions/typewriter.ts +0 -68
  423. package/src/stories/CommandDialog.stories.tsx +0 -89
  424. package/src/stories/CommandMenu.stories.tsx +0 -158
  425. package/src/styles/index.ts +0 -7
  426. package/src/styles/markdown.ts +0 -26
  427. package/src/styles/theme.ts +0 -268
  428. package/src/styles/tokens.ts +0 -17
  429. package/src/testing/PreviewPopover.tsx +0 -78
  430. package/src/testing/index.ts +0 -6
  431. package/src/testing/util.ts +0 -7
  432. package/src/types/index.ts +0 -5
  433. package/src/types/types.ts +0 -32
  434. package/src/util/cursor.ts +0 -56
  435. package/src/util/debug.ts +0 -64
  436. package/src/util/decorations.ts +0 -21
  437. package/src/util/dom.ts +0 -34
  438. package/src/util/facet.ts +0 -13
@@ -4,12 +4,9 @@
4
4
 
5
5
  import { type Completion } from '@codemirror/autocomplete';
6
6
  import { type Extension } from '@codemirror/state';
7
- import React, { type FC } from 'react';
8
-
9
- import { faker } from '@dxos/random';
10
- import { Icon } from '@dxos/react-ui';
11
- import { mx } from '@dxos/react-ui-theme';
12
7
 
8
+ import { random } from '@dxos/random';
9
+ import { Domino } from '@dxos/ui';
13
10
  import {
14
11
  type EditorSelectionState,
15
12
  decorateMarkdown,
@@ -18,15 +15,18 @@ import {
18
15
  image,
19
16
  linkTooltip,
20
17
  table,
21
- } from '../../extensions';
22
- import { str } from '../../testing';
23
- import { createRenderer } from '../../util';
18
+ } from '@dxos/ui-editor';
19
+ import { type RenderCallback } from '@dxos/ui-editor/types';
20
+ import { safeUrl } from '@dxos/util';
21
+
22
+ import { str } from '../../util';
24
23
 
25
- export const num = () => faker.number.int({ min: 0, max: 9999 }).toLocaleString();
24
+ export const num = () => random.number.int({ min: 0, max: 9999 }).toLocaleString();
26
25
 
27
26
  export const img = '![dxos](https://dxos.network/dxos-logotype-blue.png)';
28
27
 
29
28
  export const code = str(
29
+ // prettier-ignore
30
30
  '// Code',
31
31
  'const Component = () => {',
32
32
  ' const x = 100;',
@@ -38,54 +38,77 @@ export const code = str(
38
38
  // Content blocks for stories
39
39
  export const content = {
40
40
  tasks: str(
41
- //
41
+ // prettier-ignore
42
42
  '### TaskList',
43
43
  '',
44
- `- [x] ${faker.lorem.sentences()}`,
45
- `- [ ] ${faker.lorem.sentences()}`,
46
- ` - [ ] ${faker.lorem.sentences()}`,
47
- ` - [ ] ${faker.lorem.sentences()}`,
48
- ` - [x] ${faker.lorem.sentences()}`,
44
+ `- [x] ${random.lorem.sentences()}`,
45
+ `- [ ] ${random.lorem.sentences()}`,
46
+ ` - [ ] ${random.lorem.sentences()}`,
47
+ ` - [ ] ${random.lorem.sentences()}`,
48
+ ` - [x] ${random.lorem.sentences()}`,
49
49
  '',
50
50
  ),
51
51
 
52
52
  bullets: str(
53
- //
53
+ // prettier-ignore
54
54
  '### BulletList',
55
55
  '',
56
- `- ${faker.lorem.sentences()}`,
57
- `- ${faker.lorem.sentences()}`,
58
- ` - ${faker.lorem.sentences()}`,
59
- ` - ${faker.lorem.sentences()}`,
60
- `- ${faker.lorem.sentences()}`,
56
+ `- ${random.lorem.sentences()}`,
57
+ `- ${random.lorem.sentences()}`,
58
+ ` - ${random.lorem.sentences()}`,
59
+ ` - ${random.lorem.sentences()}`,
60
+ `- ${random.lorem.sentences()}`,
61
61
  '',
62
62
  ),
63
63
 
64
64
  numbered: str(
65
- //
65
+ // prettier-ignore
66
66
  '### OrderedList (part 1)',
67
67
  '',
68
- `1. ${faker.lorem.sentences()}`,
69
- `1. ${faker.lorem.sentences()}`,
70
- `1. ${faker.lorem.sentences()}`,
71
- ` 1. ${faker.lorem.sentences()}`,
72
- ` 1. ${faker.lorem.sentences()}`,
73
- ` 1. ${faker.lorem.sentences()}`,
74
- `1. ${faker.lorem.sentences()}`,
68
+ `1. ${random.lorem.sentences()}`,
69
+ `1. ${random.lorem.sentences()}`,
70
+ `1. ${random.lorem.sentences()}`,
71
+ ` 1. ${random.lorem.sentences()}`,
72
+ ` 1. ${random.lorem.sentences()}`,
73
+ ` 1. ${random.lorem.sentences()}`,
74
+ `1. ${random.lorem.sentences()}`,
75
75
  '',
76
76
  '### OrderedList (part 2)',
77
77
  '',
78
- `1. ${faker.lorem.sentences()}`,
78
+ `1. ${random.lorem.sentences()}`,
79
79
  '',
80
80
  ),
81
81
 
82
82
  typescript: code,
83
83
 
84
- codeblocks: str('### Code', '', '```bash', '$ ls -las', '```', '', '```tsx', code, '```', ''),
84
+ codeblocks: str(
85
+ // prettier-ignore
86
+ '### Code',
87
+ '',
88
+ '```bash',
89
+ '$ ls -las',
90
+ '```',
91
+ '',
92
+ '```tsx',
93
+ code,
94
+ '```',
95
+ '',
96
+ ),
85
97
 
86
- comment: str('<!--', 'A comment', '-->', '', 'No comment.', 'Partial comment. <!-- comment. -->'),
98
+ comment: str(
99
+ // prettier-ignore
100
+ '### Comment',
101
+ '',
102
+ '<!--',
103
+ 'A comment',
104
+ '-->',
105
+ '',
106
+ 'Partial comment. <!-- comment. -->',
107
+ '',
108
+ ),
87
109
 
88
110
  links: str(
111
+ // prettier-ignore
89
112
  '### Links',
90
113
  '',
91
114
  'This is a naked link https://dxos.org within a sentence.',
@@ -97,9 +120,10 @@ export const content = {
97
120
  ),
98
121
 
99
122
  table: str(
123
+ // prettier-ignore
100
124
  '### Tables',
101
125
  '',
102
- `| ${faker.lorem.word().padStart(12)} | ${faker.lorem.word().padStart(12)} | ${faker.lorem.word().padStart(12)} |`,
126
+ `| ${random.lorem.word().padStart(12)} | ${random.lorem.word().padStart(12)} | ${random.lorem.word().padStart(12)} |`,
103
127
  `|-${''.padStart(12, '-')}-|-${''.padStart(12, '-')}-|-${''.padStart(12, '-')}-|`,
104
128
  `| ${num().padStart(12)} | ${num().padStart(12)} | ${num().padStart(12)} |`,
105
129
  `| ${num().padStart(12)} | ${num().padStart(12)} | ${num().padStart(12)} |`,
@@ -110,12 +134,21 @@ export const content = {
110
134
  image: str('### Image', '', img),
111
135
 
112
136
  headings: str(
113
- ...[1, 2, 3, 4, 5, 6].map((level) => ['#'.repeat(level) + ` Heading ${level}`, faker.lorem.sentences(), '']).flat(),
137
+ ...[1, 2, 3, 4, 5, 6]
138
+ .map((level) => ['#'.repeat(level) + ` Heading ${level}`, random.lorem.sentences(), ''])
139
+ .flat(),
114
140
  ),
115
141
 
116
- formatting: str('### Formatting', '', 'This this is **bold**, ~~strikethrough~~, _italic_, and `f(INLINE)`.', ''),
142
+ formatting: str(
143
+ // prettier-ignore
144
+ '### Formatting',
145
+ '',
146
+ 'This this is **bold**, ~~strikethrough~~, _italic_, and `f(INLINE)`.',
147
+ '',
148
+ ),
117
149
 
118
150
  blockquotes: str(
151
+ // prettier-ignore
119
152
  '### Blockquotes',
120
153
  '',
121
154
  '> This is a block quote.',
@@ -128,7 +161,7 @@ export const content = {
128
161
  '',
129
162
  ),
130
163
 
131
- paragraphs: str(...faker.helpers.multiple(() => [faker.lorem.paragraph(), ''], { count: 3 }).flat()),
164
+ paragraphs: str(...random.helpers.multiple(() => [random.lorem.paragraph(), ''], { count: 3 }).flat()),
132
165
 
133
166
  footer: str('', '', '', '', ''),
134
167
  };
@@ -154,6 +187,7 @@ export const text = str(
154
187
  '---',
155
188
  '## Misc',
156
189
  content.codeblocks,
190
+ content.comment,
157
191
  content.table,
158
192
  content.image,
159
193
  content.footer,
@@ -172,30 +206,27 @@ export const links: Completion[] = [
172
206
  export const names = ['adam', 'alice', 'alison', 'bob', 'carol', 'charlie', 'sayuri', 'shoko'];
173
207
 
174
208
  const hover =
175
- 'rounded-sm text-baseText text-primary-600 hover:text-primary-500 dark:text-primary-300 hover:dark:text-primary-200';
176
-
177
- const LinkTooltip: FC<{ url: string }> = ({ url }) => {
178
- const web = new URL(url);
179
- return (
180
- <a href={url} target='_blank' rel='noreferrer' className={mx(hover, 'flex items-center gap-2')}>
181
- {web.origin}
182
- <Icon icon='ph--arrow-square-out--regular' size={4} />
183
- </a>
209
+ 'rounded-xs text-base-foreground text-primary-600 hover:text-primary-500 dark:text-primary-300 hover:dark:text-primary-200';
210
+
211
+ export const renderLinkTooltip: RenderCallback<{ url: string }> = (el, { url }) => {
212
+ el.appendChild(
213
+ Domino.of('a')
214
+ .attributes({ href: url, target: '_blank', rel: 'noreferrer', 'aria-label': 'Open link' })
215
+ .classNames(hover, 'flex items-center gap-2')
216
+ .text(safeUrl(url)?.toString() ?? url)
217
+ .append(Domino.svg('ph--arrow-square-out--regular')).root,
184
218
  );
185
219
  };
186
220
 
187
- export const renderLinkTooltip = createRenderer(LinkTooltip);
188
-
189
- const LinkButton: FC<{ url: string }> = ({ url }) => {
190
- return (
191
- <a href={url} target='_blank' rel='noreferrer' className={mx(hover)}>
192
- <Icon icon='ph--arrow-square-out--regular' size={4} classNames='inline-block mis-1 mb-[3px]' />
193
- </a>
221
+ export const renderLinkButton: RenderCallback<{ url: string }> = (el, { url }) => {
222
+ el.appendChild(
223
+ Domino.of('span')
224
+ .attributes({ 'aria-hidden': 'true' })
225
+ .classNames(hover, 'ms-1 inline-block align-[-0.125em]')
226
+ .append(Domino.svg('ph--arrow-square-out--regular')).root,
194
227
  );
195
228
  };
196
229
 
197
- export const renderLinkButton = createRenderer(LinkButton);
198
-
199
230
  // Shared extensions.
200
231
  export const defaultExtensions: Extension[] = [
201
232
  decorateMarkdown({ renderLinkButton, selectionChangeDelay: 100 }),
@@ -213,18 +244,18 @@ export const allExtensions: Extension[] = [
213
244
  ];
214
245
 
215
246
  // Long text for scrolling stories.
216
- export const longText = faker.helpers
217
- .multiple(() => faker.lorem.paragraph({ min: 8, max: 16 }), { count: 20 })
247
+ export const longText = random.helpers
248
+ .multiple(() => random.lorem.paragraph({ min: 8, max: 16 }), { count: 20 })
218
249
  .join('\n\n');
219
250
 
220
- export const largeWithImages = faker.helpers
221
- .multiple(() => [faker.lorem.paragraph({ min: 12, max: 16 }), img], { count: 20 })
251
+ export const largeWithImages = random.helpers
252
+ .multiple(() => [random.lorem.paragraph({ min: 12, max: 16 }), img], { count: 20 })
222
253
  .flatMap((x) => x)
223
254
  .join('\n\n');
224
255
 
225
256
  export const headings = str(
226
257
  ...[1, 2, 2, 3, 3, 4, 4, 4, 5, 5, 2, 3, 3, 2, 2, 6, 1]
227
- .map((level) => ['#'.repeat(level) + ' ' + faker.lorem.sentence(3), faker.lorem.sentences(), ''])
258
+ .map((level) => ['#'.repeat(level) + ' ' + random.lorem.sentence(3), random.lorem.sentences(), ''])
228
259
  .flat(),
229
260
  );
230
261
 
@@ -4,36 +4,41 @@
4
4
 
5
5
  import { type Resource } from '@dxos/react-ui';
6
6
 
7
- export const translationKey = 'react-ui-editor';
7
+ export const translationKey = '@dxos/react-ui-editor';
8
8
 
9
9
  export const translations = [
10
10
  {
11
11
  'en-US': {
12
12
  [translationKey]: {
13
- 'strong label': 'Bold',
14
- 'emphasis label': 'Italics',
15
- 'strikethrough label': 'Strikethrough',
16
- 'code label': 'Code',
17
- 'link label': 'Link',
18
- 'list-bullet label': 'Bullet list',
19
- 'list-ordered label': 'Numbered list',
20
- 'list-task label': 'Task list',
21
- 'blockquote label': 'Block quote',
22
- 'codeblock label': 'Code block',
23
- 'comment label': 'Create comment',
24
- 'selection overlaps existing comment label': 'Selection overlaps existing comment',
25
- 'select text to comment label': 'Select text to comment',
26
- 'image label': 'Insert image',
27
- 'table label': 'Create table',
28
- 'heading label': 'Heading level',
29
- 'heading level label_zero': 'Paragraph',
30
- 'heading level label_one': 'Heading level {{count}}',
31
- 'heading level label_other': 'Heading level {{count}}',
32
- 'view mode label': 'Editor view',
33
- 'preview mode label': 'Live preview',
34
- 'readonly mode label': 'Read only',
35
- 'search label': 'Search',
36
- 'source mode label': 'Source',
13
+ 'comment.label': 'Create comment',
14
+ 'image.label': 'Insert image',
15
+ 'search.label': 'Search',
16
+
17
+ 'block.label': 'Block',
18
+ 'block.blockquote.label': 'Block quote',
19
+ 'block.codeblock.label': 'Code block',
20
+ 'block.table.label': 'Create table',
21
+
22
+ 'formatting.label': 'Formatting',
23
+ 'formatting.strong.label': 'Bold',
24
+ 'formatting.emphasis.label': 'Italics',
25
+ 'formatting.strikethrough.label': 'Strikethrough',
26
+ 'formatting.code.label': 'Code',
27
+ 'formatting.link.label': 'Link',
28
+
29
+ 'list.bullet.label': 'Bullet list',
30
+ 'list.ordered.label': 'Numbered list',
31
+ 'list.task.label': 'Task list',
32
+
33
+ 'heading.label': 'Heading level',
34
+ 'heading-level.label_zero': 'Paragraph',
35
+ 'heading-level.label_one': 'Heading level {{count}}',
36
+ 'heading-level.label_other': 'Heading level {{count}}',
37
+
38
+ 'view-mode.label': 'Editor view',
39
+ 'view-mode.preview.label': 'Markdown',
40
+ 'view-mode.source.label': 'Plain text',
41
+ 'view-mode.readonly.label': 'Read only',
37
42
  },
38
43
  },
39
44
  },
package/src/util/index.ts CHANGED
@@ -1,10 +1,5 @@
1
1
  //
2
- // Copyright 2024 DXOS.org
2
+ // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- export * from './cursor';
6
- export * from './decorations';
7
- export * from './debug';
8
- export * from './dom';
9
- export * from './facet';
10
5
  export * from './react';
@@ -2,30 +2,25 @@
2
2
  // Copyright 2024 DXOS.org
3
3
  //
4
4
 
5
- import React, { type FC, type ReactNode } from 'react';
5
+ import React, { type FC } from 'react';
6
6
  import { createRoot } from 'react-dom/client';
7
7
 
8
8
  import { ThemeProvider, Tooltip } from '@dxos/react-ui';
9
- import { defaultTx } from '@dxos/react-ui-theme';
9
+ import { type RenderCallback } from '@dxos/ui-editor/types';
10
+ import { defaultTx } from '@dxos/ui-theme';
10
11
 
11
- import { type RenderCallback } from '../types';
12
-
13
- /** @deprecated */
14
- // TODO(wittjosiah): Replace with portals which are lighter weight and inherit context from the main react tree.
15
- export const renderRoot = <T extends Element>(root: T, node: ReactNode): T => {
16
- createRoot(root).render(<ThemeProvider tx={defaultTx}>{node}</ThemeProvider>);
17
- return root;
18
- };
12
+ /**
13
+ * @deprecated Use `trim` from `@dxos/util`.
14
+ */
15
+ export const str = (...lines: string[]) => lines.join('\n');
19
16
 
20
17
  /**
21
- * Utility to create a renderer for a React component.
22
18
  * @deprecated
23
19
  */
24
20
  export const createRenderer =
25
21
  <TProps extends object>(Component: FC<TProps>): RenderCallback<TProps> =>
26
22
  (el, props) => {
27
- renderRoot(
28
- el,
23
+ createRoot(el).render(
29
24
  <ThemeProvider tx={defaultTx}>
30
25
  <Tooltip.Provider>
31
26
  <Component {...props} />
@@ -1,22 +0,0 @@
1
- // src/types/types.ts
2
- import * as Schema from "effect/Schema";
3
- var EditorViewModes = [
4
- "preview",
5
- "readonly",
6
- "source"
7
- ];
8
- var EditorViewMode = Schema.Union(...EditorViewModes.map((mode) => Schema.Literal(mode)));
9
- var EditorInputModes = [
10
- "default",
11
- "vim",
12
- "vscode"
13
- ];
14
- var EditorInputMode = Schema.Union(...EditorInputModes.map((mode) => Schema.Literal(mode)));
15
-
16
- export {
17
- EditorViewModes,
18
- EditorViewMode,
19
- EditorInputModes,
20
- EditorInputMode
21
- };
22
- //# sourceMappingURL=chunk-HL3YF6WC.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/types/types.ts"],
4
- "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { type EditorView } from '@codemirror/view';\nimport * as Schema from 'effect/Schema';\n\n// Runtime data structure.\nexport type Range = {\n from: number;\n to: number;\n};\n\n// Persistent data structure.\n// TODO(burdon): Rename annotation?\nexport type Comment = {\n id: string;\n cursor?: string;\n};\n\n/**\n * Callback that renders into a DOM element within the editor.\n */\nexport type RenderCallback<Props extends object> = (el: HTMLElement, props: Props, view: EditorView) => void;\n\nexport const EditorViewModes = ['preview', 'readonly', 'source'] as const;\nexport const EditorViewMode = Schema.Union(...EditorViewModes.map((mode) => Schema.Literal(mode)));\nexport type EditorViewMode = Schema.Schema.Type<typeof EditorViewMode>;\n\nexport const EditorInputModes = ['default', 'vim', 'vscode'] as const;\nexport const EditorInputMode = Schema.Union(...EditorInputModes.map((mode) => Schema.Literal(mode)));\nexport type EditorInputMode = Schema.Schema.Type<typeof EditorInputMode>;\n"],
5
- "mappings": ";AAKA,YAAYA,YAAY;AAoBjB,IAAMC,kBAAkB;EAAC;EAAW;EAAY;;AAChD,IAAMC,iBAAwBC,aAAK,GAAIF,gBAAgBG,IAAI,CAACC,SAAgBC,eAAQD,IAAAA,CAAAA,CAAAA;AAGpF,IAAME,mBAAmB;EAAC;EAAW;EAAO;;AAC5C,IAAMC,kBAAyBL,aAAK,GAAII,iBAAiBH,IAAI,CAACC,SAAgBC,eAAQD,IAAAA,CAAAA,CAAAA;",
6
- "names": ["Schema", "EditorViewModes", "EditorViewMode", "Union", "map", "mode", "Literal", "EditorInputModes", "EditorInputMode"]
7
- }
@@ -1,76 +0,0 @@
1
- // src/testing/util.ts
2
- var str = (...lines) => lines.join("\n");
3
-
4
- // src/testing/PreviewPopover.tsx
5
- import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
6
- import { createContext } from "@radix-ui/react-context";
7
- import React, { useCallback, useEffect, useRef, useState } from "react";
8
- import { addEventListener } from "@dxos/async";
9
- import { Popover } from "@dxos/react-ui";
10
- var [PreviewPopoverContextProvider, usePreviewPopover] = createContext("PreviewPopover", {});
11
- var PreviewPopoverProvider = ({ children, onLookup }) => {
12
- var _effect = _useSignals();
13
- try {
14
- const trigger = useRef(null);
15
- const [value, setValue] = useState({});
16
- const [open, setOpen] = useState(false);
17
- const handleDxAnchorActivate = useCallback((event) => {
18
- const { refId, label, trigger: dxTrigger } = event;
19
- setValue((value2) => ({
20
- ...value2,
21
- link: {
22
- label,
23
- ref: refId
24
- },
25
- pending: true
26
- }));
27
- trigger.current = dxTrigger;
28
- queueMicrotask(() => setOpen(true));
29
- void onLookup?.({
30
- label,
31
- ref: refId
32
- }).then((target) => setValue((value2) => ({
33
- ...value2,
34
- target: target ?? void 0,
35
- pending: false
36
- })));
37
- }, [
38
- onLookup
39
- ]);
40
- const [rootRef, setRootRef] = useState(null);
41
- useEffect(() => {
42
- if (!rootRef || !handleDxAnchorActivate) {
43
- return;
44
- }
45
- return addEventListener(rootRef, "dx-anchor-activate", handleDxAnchorActivate, {
46
- capture: true,
47
- passive: false
48
- });
49
- }, [
50
- rootRef,
51
- handleDxAnchorActivate
52
- ]);
53
- return /* @__PURE__ */ React.createElement(PreviewPopoverContextProvider, {
54
- pending: value.pending,
55
- link: value.link,
56
- target: value.target
57
- }, /* @__PURE__ */ React.createElement(Popover.Root, {
58
- open,
59
- onOpenChange: setOpen
60
- }, /* @__PURE__ */ React.createElement(Popover.VirtualTrigger, {
61
- virtualRef: trigger
62
- }), /* @__PURE__ */ React.createElement("div", {
63
- role: "none",
64
- className: "contents",
65
- ref: setRootRef
66
- }, children)));
67
- } finally {
68
- _effect.f();
69
- }
70
- };
71
- export {
72
- PreviewPopoverProvider,
73
- str,
74
- usePreviewPopover
75
- };
76
- //# sourceMappingURL=index.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../src/testing/util.ts", "../../../../src/testing/PreviewPopover.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\n/** deprecated Replace with @dxos/util trim */\n// TODO(burdon): Remove\nexport const str = (...lines: string[]) => lines.join('\\n');\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { createContext } from '@radix-ui/react-context';\nimport React, { type PropsWithChildren, type RefObject, useCallback, useEffect, useRef, useState } from 'react';\n\nimport { addEventListener } from '@dxos/async';\nimport { type DxAnchorActivate, Popover } from '@dxos/react-ui';\n\nimport { type PreviewLinkRef, type PreviewLinkTarget } from '../extensions';\n\ntype PreviewLookup = (link: PreviewLinkRef) => Promise<PreviewLinkTarget | null | undefined>;\n\ntype PreviewPopoverValue = Partial<{\n link: PreviewLinkRef;\n target: PreviewLinkTarget;\n pending: boolean;\n}>;\n\nconst [PreviewPopoverContextProvider, usePreviewPopover] = createContext<PreviewPopoverValue>('PreviewPopover', {});\n\ntype PopoverLookupProviderProps = PropsWithChildren<{\n onLookup?: PreviewLookup;\n}>;\n\nconst PreviewPopoverProvider = ({ children, onLookup }: PopoverLookupProviderProps) => {\n const trigger = useRef<HTMLElement | null>(null);\n const [value, setValue] = useState<PreviewPopoverValue>({});\n const [open, setOpen] = useState(false);\n\n const handleDxAnchorActivate = useCallback(\n (event: DxAnchorActivate) => {\n const { refId, label, trigger: dxTrigger } = event;\n setValue((value) => ({\n ...value,\n link: { label, ref: refId },\n pending: true,\n }));\n trigger.current = dxTrigger;\n queueMicrotask(() => setOpen(true));\n void onLookup?.({ label, ref: refId }).then((target) =>\n setValue((value) => ({\n ...value,\n target: target ?? undefined,\n pending: false,\n })),\n );\n },\n [onLookup],\n );\n\n const [rootRef, setRootRef] = useState<HTMLDivElement | null>(null);\n useEffect(() => {\n if (!rootRef || !handleDxAnchorActivate) {\n return;\n }\n\n return addEventListener(rootRef, 'dx-anchor-activate' as any, handleDxAnchorActivate, {\n capture: true,\n passive: false,\n });\n }, [rootRef, handleDxAnchorActivate]);\n\n return (\n <PreviewPopoverContextProvider pending={value.pending} link={value.link} target={value.target}>\n <Popover.Root open={open} onOpenChange={setOpen}>\n <Popover.VirtualTrigger virtualRef={trigger as unknown as RefObject<HTMLButtonElement>} />\n <div role='none' className='contents' ref={setRootRef}>\n {children}\n </div>\n </Popover.Root>\n </PreviewPopoverContextProvider>\n );\n};\nexport { PreviewPopoverProvider, usePreviewPopover };\n\nexport type { PopoverLookupProviderProps, PreviewPopoverValue };\n"],
5
- "mappings": ";AAMO,IAAMA,MAAM,IAAIC,UAAoBA,MAAMC,KAAK,IAAA;;;;ACFtD,SAASC,qBAAqB;AAC9B,OAAOC,SAAiDC,aAAaC,WAAWC,QAAQC,gBAAgB;AAExG,SAASC,wBAAwB;AACjC,SAAgCC,eAAe;AAY/C,IAAM,CAACC,+BAA+BC,iBAAAA,IAAqBC,cAAmC,kBAAkB,CAAC,CAAA;AAMjH,IAAMC,yBAAyB,CAAC,EAAEC,UAAUC,SAAQ,MAA8B;;;AAChF,UAAMC,UAAUC,OAA2B,IAAA;AAC3C,UAAM,CAACC,OAAOC,QAAAA,IAAYC,SAA8B,CAAC,CAAA;AACzD,UAAM,CAACC,MAAMC,OAAAA,IAAWF,SAAS,KAAA;AAEjC,UAAMG,yBAAyBC,YAC7B,CAACC,UAAAA;AACC,YAAM,EAAEC,OAAOC,OAAOX,SAASY,UAAS,IAAKH;AAC7CN,eAAS,CAACD,YAAW;QACnB,GAAGA;QACHW,MAAM;UAAEF;UAAOG,KAAKJ;QAAM;QAC1BK,SAAS;MACX,EAAA;AACAf,cAAQgB,UAAUJ;AAClBK,qBAAe,MAAMX,QAAQ,IAAA,CAAA;AAC7B,WAAKP,WAAW;QAAEY;QAAOG,KAAKJ;MAAM,CAAA,EAAGQ,KAAK,CAACC,WAC3ChB,SAAS,CAACD,YAAW;QACnB,GAAGA;QACHiB,QAAQA,UAAUC;QAClBL,SAAS;MACX,EAAA,CAAA;IAEJ,GACA;MAAChB;KAAS;AAGZ,UAAM,CAACsB,SAASC,UAAAA,IAAclB,SAAgC,IAAA;AAC9DmB,cAAU,MAAA;AACR,UAAI,CAACF,WAAW,CAACd,wBAAwB;AACvC;MACF;AAEA,aAAOiB,iBAAiBH,SAAS,sBAA6Bd,wBAAwB;QACpFkB,SAAS;QACTC,SAAS;MACX,CAAA;IACF,GAAG;MAACL;MAASd;KAAuB;AAEpC,WACE,sBAAA,cAACb,+BAAAA;MAA8BqB,SAASb,MAAMa;MAASF,MAAMX,MAAMW;MAAMM,QAAQjB,MAAMiB;OACrF,sBAAA,cAACQ,QAAQC,MAAI;MAACvB;MAAYwB,cAAcvB;OACtC,sBAAA,cAACqB,QAAQG,gBAAc;MAACC,YAAY/B;QACpC,sBAAA,cAACgC,OAAAA;MAAIC,MAAK;MAAOC,WAAU;MAAWpB,KAAKQ;OACxCxB,QAAAA,CAAAA,CAAAA;;;;AAKX;",
6
- "names": ["str", "lines", "join", "createContext", "React", "useCallback", "useEffect", "useRef", "useState", "addEventListener", "Popover", "PreviewPopoverContextProvider", "usePreviewPopover", "createContext", "PreviewPopoverProvider", "children", "onLookup", "trigger", "useRef", "value", "setValue", "useState", "open", "setOpen", "handleDxAnchorActivate", "useCallback", "event", "refId", "label", "dxTrigger", "link", "ref", "pending", "current", "queueMicrotask", "then", "target", "undefined", "rootRef", "setRootRef", "useEffect", "addEventListener", "capture", "passive", "Popover", "Root", "onOpenChange", "VirtualTrigger", "virtualRef", "div", "role", "className"]
7
- }
@@ -1,13 +0,0 @@
1
- import {
2
- EditorInputMode,
3
- EditorInputModes,
4
- EditorViewMode,
5
- EditorViewModes
6
- } from "../chunk-HL3YF6WC.mjs";
7
- export {
8
- EditorInputMode,
9
- EditorInputModes,
10
- EditorViewMode,
11
- EditorViewModes
12
- };
13
- //# sourceMappingURL=index.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": [],
4
- "sourcesContent": [],
5
- "mappings": "",
6
- "names": []
7
- }
@@ -1,24 +0,0 @@
1
- import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
-
3
- // src/types/types.ts
4
- import * as Schema from "effect/Schema";
5
- var EditorViewModes = [
6
- "preview",
7
- "readonly",
8
- "source"
9
- ];
10
- var EditorViewMode = Schema.Union(...EditorViewModes.map((mode) => Schema.Literal(mode)));
11
- var EditorInputModes = [
12
- "default",
13
- "vim",
14
- "vscode"
15
- ];
16
- var EditorInputMode = Schema.Union(...EditorInputModes.map((mode) => Schema.Literal(mode)));
17
-
18
- export {
19
- EditorViewModes,
20
- EditorViewMode,
21
- EditorInputModes,
22
- EditorInputMode
23
- };
24
- //# sourceMappingURL=chunk-YJZGD3LY.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/types/types.ts"],
4
- "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { type EditorView } from '@codemirror/view';\nimport * as Schema from 'effect/Schema';\n\n// Runtime data structure.\nexport type Range = {\n from: number;\n to: number;\n};\n\n// Persistent data structure.\n// TODO(burdon): Rename annotation?\nexport type Comment = {\n id: string;\n cursor?: string;\n};\n\n/**\n * Callback that renders into a DOM element within the editor.\n */\nexport type RenderCallback<Props extends object> = (el: HTMLElement, props: Props, view: EditorView) => void;\n\nexport const EditorViewModes = ['preview', 'readonly', 'source'] as const;\nexport const EditorViewMode = Schema.Union(...EditorViewModes.map((mode) => Schema.Literal(mode)));\nexport type EditorViewMode = Schema.Schema.Type<typeof EditorViewMode>;\n\nexport const EditorInputModes = ['default', 'vim', 'vscode'] as const;\nexport const EditorInputMode = Schema.Union(...EditorInputModes.map((mode) => Schema.Literal(mode)));\nexport type EditorInputMode = Schema.Schema.Type<typeof EditorInputMode>;\n"],
5
- "mappings": ";;;AAKA,YAAYA,YAAY;AAoBjB,IAAMC,kBAAkB;EAAC;EAAW;EAAY;;AAChD,IAAMC,iBAAwBC,aAAK,GAAIF,gBAAgBG,IAAI,CAACC,SAAgBC,eAAQD,IAAAA,CAAAA,CAAAA;AAGpF,IAAME,mBAAmB;EAAC;EAAW;EAAO;;AAC5C,IAAMC,kBAAyBL,aAAK,GAAII,iBAAiBH,IAAI,CAACC,SAAgBC,eAAQD,IAAAA,CAAAA,CAAAA;",
6
- "names": ["Schema", "EditorViewModes", "EditorViewMode", "Union", "map", "mode", "Literal", "EditorInputModes", "EditorInputMode"]
7
- }
@@ -1,78 +0,0 @@
1
- import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
-
3
- // src/testing/util.ts
4
- var str = (...lines) => lines.join("\n");
5
-
6
- // src/testing/PreviewPopover.tsx
7
- import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
8
- import { createContext } from "@radix-ui/react-context";
9
- import React, { useCallback, useEffect, useRef, useState } from "react";
10
- import { addEventListener } from "@dxos/async";
11
- import { Popover } from "@dxos/react-ui";
12
- var [PreviewPopoverContextProvider, usePreviewPopover] = createContext("PreviewPopover", {});
13
- var PreviewPopoverProvider = ({ children, onLookup }) => {
14
- var _effect = _useSignals();
15
- try {
16
- const trigger = useRef(null);
17
- const [value, setValue] = useState({});
18
- const [open, setOpen] = useState(false);
19
- const handleDxAnchorActivate = useCallback((event) => {
20
- const { refId, label, trigger: dxTrigger } = event;
21
- setValue((value2) => ({
22
- ...value2,
23
- link: {
24
- label,
25
- ref: refId
26
- },
27
- pending: true
28
- }));
29
- trigger.current = dxTrigger;
30
- queueMicrotask(() => setOpen(true));
31
- void onLookup?.({
32
- label,
33
- ref: refId
34
- }).then((target) => setValue((value2) => ({
35
- ...value2,
36
- target: target ?? void 0,
37
- pending: false
38
- })));
39
- }, [
40
- onLookup
41
- ]);
42
- const [rootRef, setRootRef] = useState(null);
43
- useEffect(() => {
44
- if (!rootRef || !handleDxAnchorActivate) {
45
- return;
46
- }
47
- return addEventListener(rootRef, "dx-anchor-activate", handleDxAnchorActivate, {
48
- capture: true,
49
- passive: false
50
- });
51
- }, [
52
- rootRef,
53
- handleDxAnchorActivate
54
- ]);
55
- return /* @__PURE__ */ React.createElement(PreviewPopoverContextProvider, {
56
- pending: value.pending,
57
- link: value.link,
58
- target: value.target
59
- }, /* @__PURE__ */ React.createElement(Popover.Root, {
60
- open,
61
- onOpenChange: setOpen
62
- }, /* @__PURE__ */ React.createElement(Popover.VirtualTrigger, {
63
- virtualRef: trigger
64
- }), /* @__PURE__ */ React.createElement("div", {
65
- role: "none",
66
- className: "contents",
67
- ref: setRootRef
68
- }, children)));
69
- } finally {
70
- _effect.f();
71
- }
72
- };
73
- export {
74
- PreviewPopoverProvider,
75
- str,
76
- usePreviewPopover
77
- };
78
- //# sourceMappingURL=index.mjs.map