@dxos/react-ui-editor 0.8.4-main.7ace549 → 0.8.4-main.8360d9e660

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 (397) hide show
  1. package/dist/lib/browser/index.mjs +520 -8303
  2. package/dist/lib/browser/index.mjs.map +4 -4
  3. package/dist/lib/browser/meta.json +1 -1
  4. package/dist/lib/node-esm/index.mjs +518 -8300
  5. package/dist/lib/node-esm/index.mjs.map +4 -4
  6. package/dist/lib/node-esm/meta.json +1 -1
  7. package/dist/types/src/components/Editor/Editor.d.ts +8 -2
  8. package/dist/types/src/components/Editor/Editor.d.ts.map +1 -1
  9. package/dist/types/src/components/Editor/Editor.stories.d.ts +4 -1
  10. package/dist/types/src/components/Editor/Editor.stories.d.ts.map +1 -1
  11. package/dist/types/src/components/EditorContent/EditorContent.d.ts +4 -2
  12. package/dist/types/src/components/EditorContent/EditorContent.d.ts.map +1 -1
  13. package/dist/types/src/components/EditorMenuProvider/EditorMenuProvider.d.ts +1 -1
  14. package/dist/types/src/components/EditorMenuProvider/EditorMenuProvider.d.ts.map +1 -1
  15. package/dist/types/src/components/EditorMenuProvider/index.d.ts +0 -1
  16. package/dist/types/src/components/EditorMenuProvider/index.d.ts.map +1 -1
  17. package/dist/types/src/components/EditorMenuProvider/menu-presets.d.ts.map +1 -1
  18. package/dist/types/src/components/EditorMenuProvider/menu.d.ts.map +1 -1
  19. package/dist/types/src/components/EditorMenuProvider/popover.d.ts +1 -2
  20. package/dist/types/src/components/EditorMenuProvider/popover.d.ts.map +1 -1
  21. package/dist/types/src/components/EditorMenuProvider/useEditorMenu.d.ts.map +1 -1
  22. package/dist/types/src/components/EditorPreviewProvider/EditorPreviewProvider.d.ts +1 -1
  23. package/dist/types/src/components/EditorPreviewProvider/EditorPreviewProvider.d.ts.map +1 -1
  24. package/dist/types/src/components/EditorToolbar/EditorToolbar.d.ts +7 -5
  25. package/dist/types/src/components/EditorToolbar/EditorToolbar.d.ts.map +1 -1
  26. package/dist/types/src/components/EditorToolbar/actions.d.ts +9 -23
  27. package/dist/types/src/components/EditorToolbar/actions.d.ts.map +1 -1
  28. package/dist/types/src/components/EditorToolbar/blocks.d.ts +7 -5
  29. package/dist/types/src/components/EditorToolbar/blocks.d.ts.map +1 -1
  30. package/dist/types/src/components/EditorToolbar/formatting.d.ts +7 -5
  31. package/dist/types/src/components/EditorToolbar/formatting.d.ts.map +1 -1
  32. package/dist/types/src/components/EditorToolbar/headings.d.ts +7 -5
  33. package/dist/types/src/components/EditorToolbar/headings.d.ts.map +1 -1
  34. package/dist/types/src/components/EditorToolbar/image.d.ts +5 -11
  35. package/dist/types/src/components/EditorToolbar/image.d.ts.map +1 -1
  36. package/dist/types/src/components/EditorToolbar/index.d.ts +1 -1
  37. package/dist/types/src/components/EditorToolbar/index.d.ts.map +1 -1
  38. package/dist/types/src/components/EditorToolbar/search.d.ts +5 -11
  39. package/dist/types/src/components/EditorToolbar/search.d.ts.map +1 -1
  40. package/dist/types/src/components/EditorToolbar/useEditorToolbar.d.ts +4 -4
  41. package/dist/types/src/components/EditorToolbar/useEditorToolbar.d.ts.map +1 -1
  42. package/dist/types/src/components/EditorToolbar/view-mode.d.ts +8 -6
  43. package/dist/types/src/components/EditorToolbar/view-mode.d.ts.map +1 -1
  44. package/dist/types/src/components/index.d.ts.map +1 -1
  45. package/dist/types/src/hooks/useTextEditor.d.ts +1 -1
  46. package/dist/types/src/hooks/useTextEditor.d.ts.map +1 -1
  47. package/dist/types/src/index.d.ts +0 -8
  48. package/dist/types/src/index.d.ts.map +1 -1
  49. package/dist/types/src/{extensions/automerge/automerge.stories.d.ts → stories/Automerge.stories.d.ts} +5 -8
  50. package/dist/types/src/stories/Automerge.stories.d.ts.map +1 -0
  51. package/dist/types/src/stories/CommandDialog.stories.d.ts.map +1 -1
  52. package/dist/types/src/stories/Comments.stories.d.ts +3 -2
  53. package/dist/types/src/stories/Comments.stories.d.ts.map +1 -1
  54. package/dist/types/src/stories/EditorToolbar.stories.d.ts +4 -4
  55. package/dist/types/src/stories/EditorToolbar.stories.d.ts.map +1 -1
  56. package/dist/types/src/stories/Experimental.stories.d.ts +3 -2
  57. package/dist/types/src/stories/Experimental.stories.d.ts.map +1 -1
  58. package/dist/types/src/stories/Markdown.stories.d.ts +3 -2
  59. package/dist/types/src/stories/Markdown.stories.d.ts.map +1 -1
  60. package/dist/types/src/stories/Outliner.stories.d.ts.map +1 -1
  61. package/dist/types/src/stories/Popover.stories.d.ts.map +1 -1
  62. package/dist/types/src/stories/Preview.stories.d.ts +3 -2
  63. package/dist/types/src/stories/Preview.stories.d.ts.map +1 -1
  64. package/dist/types/src/stories/Tags.stories.d.ts.map +1 -1
  65. package/dist/types/src/stories/TextEditor.stories.d.ts +3 -2
  66. package/dist/types/src/stories/TextEditor.stories.d.ts.map +1 -1
  67. package/dist/types/src/stories/Theme.stories.d.ts +8 -0
  68. package/dist/types/src/stories/Theme.stories.d.ts.map +1 -0
  69. package/dist/types/src/stories/components/EditorStory.d.ts +8 -20
  70. package/dist/types/src/stories/components/EditorStory.d.ts.map +1 -1
  71. package/dist/types/src/stories/components/util.d.ts +3 -3
  72. package/dist/types/src/stories/components/util.d.ts.map +1 -1
  73. package/dist/types/src/translations.d.ts +5 -5
  74. package/dist/types/src/translations.d.ts.map +1 -1
  75. package/dist/types/src/util/index.d.ts +0 -5
  76. package/dist/types/src/util/index.d.ts.map +1 -1
  77. package/dist/types/src/util/react.d.ts +6 -5
  78. package/dist/types/src/util/react.d.ts.map +1 -1
  79. package/dist/types/tsconfig.tsbuildinfo +1 -1
  80. package/package.json +64 -66
  81. package/src/components/Editor/Editor.stories.tsx +14 -8
  82. package/src/components/Editor/Editor.tsx +21 -10
  83. package/src/components/EditorContent/EditorContent.tsx +19 -6
  84. package/src/components/EditorMenuProvider/EditorMenuProvider.tsx +21 -26
  85. package/src/components/EditorMenuProvider/index.ts +0 -1
  86. package/src/components/EditorMenuProvider/menu-presets.ts +2 -1
  87. package/src/components/EditorMenuProvider/menu.ts +1 -2
  88. package/src/components/EditorMenuProvider/popover.ts +1 -3
  89. package/src/components/EditorMenuProvider/useEditorMenu.ts +7 -3
  90. package/src/components/EditorPreviewProvider/EditorPreviewProvider.tsx +6 -9
  91. package/src/components/EditorToolbar/EditorToolbar.tsx +24 -36
  92. package/src/components/EditorToolbar/actions.ts +10 -9
  93. package/src/components/EditorToolbar/blocks.ts +5 -6
  94. package/src/components/EditorToolbar/formatting.ts +5 -6
  95. package/src/components/EditorToolbar/headings.ts +12 -12
  96. package/src/components/EditorToolbar/image.ts +9 -2
  97. package/src/components/EditorToolbar/index.ts +1 -1
  98. package/src/components/EditorToolbar/search.ts +9 -2
  99. package/src/components/EditorToolbar/useEditorToolbar.ts +6 -6
  100. package/src/components/EditorToolbar/view-mode.ts +5 -5
  101. package/src/components/index.ts +0 -2
  102. package/src/hooks/useTextEditor.ts +9 -3
  103. package/src/index.ts +0 -10
  104. package/src/stories/Automerge.stories.tsx +173 -0
  105. package/src/stories/CommandDialog.stories.tsx +8 -10
  106. package/src/stories/Comments.stories.tsx +47 -42
  107. package/src/stories/EditorToolbar.stories.tsx +30 -15
  108. package/src/stories/Experimental.stories.tsx +7 -9
  109. package/src/stories/Markdown.stories.tsx +16 -16
  110. package/src/stories/Outliner.stories.tsx +6 -7
  111. package/src/stories/Popover.stories.tsx +19 -23
  112. package/src/stories/Preview.stories.tsx +66 -51
  113. package/src/stories/Tags.stories.tsx +24 -15
  114. package/src/stories/TextEditor.stories.tsx +13 -19
  115. package/src/stories/Theme.stories.tsx +61 -0
  116. package/src/stories/components/EditorStory.tsx +19 -23
  117. package/src/stories/components/util.tsx +21 -24
  118. package/src/translations.ts +4 -4
  119. package/src/util/index.ts +1 -6
  120. package/src/util/react.tsx +8 -13
  121. package/dist/lib/browser/chunk-HL3YF6WC.mjs +0 -22
  122. package/dist/lib/browser/chunk-HL3YF6WC.mjs.map +0 -7
  123. package/dist/lib/browser/types/index.mjs +0 -13
  124. package/dist/lib/browser/types/index.mjs.map +0 -7
  125. package/dist/lib/node-esm/chunk-YJZGD3LY.mjs +0 -24
  126. package/dist/lib/node-esm/chunk-YJZGD3LY.mjs.map +0 -7
  127. package/dist/lib/node-esm/types/index.mjs +0 -14
  128. package/dist/lib/node-esm/types/index.mjs.map +0 -7
  129. package/dist/types/src/components/EditorContent/EditorContent.stories.d.ts +0 -26
  130. package/dist/types/src/components/EditorContent/EditorContent.stories.d.ts.map +0 -1
  131. package/dist/types/src/components/EditorMenuProvider/util.d.ts +0 -8
  132. package/dist/types/src/components/EditorMenuProvider/util.d.ts.map +0 -1
  133. package/dist/types/src/defaults.d.ts +0 -14
  134. package/dist/types/src/defaults.d.ts.map +0 -1
  135. package/dist/types/src/extensions/annotations.d.ts +0 -9
  136. package/dist/types/src/extensions/annotations.d.ts.map +0 -1
  137. package/dist/types/src/extensions/autocomplete/autocomplete.d.ts +0 -17
  138. package/dist/types/src/extensions/autocomplete/autocomplete.d.ts.map +0 -1
  139. package/dist/types/src/extensions/autocomplete/index.d.ts +0 -5
  140. package/dist/types/src/extensions/autocomplete/index.d.ts.map +0 -1
  141. package/dist/types/src/extensions/autocomplete/match.d.ts +0 -13
  142. package/dist/types/src/extensions/autocomplete/match.d.ts.map +0 -1
  143. package/dist/types/src/extensions/autocomplete/placeholder.d.ts +0 -20
  144. package/dist/types/src/extensions/autocomplete/placeholder.d.ts.map +0 -1
  145. package/dist/types/src/extensions/autocomplete/typeahead.d.ts +0 -10
  146. package/dist/types/src/extensions/autocomplete/typeahead.d.ts.map +0 -1
  147. package/dist/types/src/extensions/automerge/automerge.d.ts +0 -4
  148. package/dist/types/src/extensions/automerge/automerge.d.ts.map +0 -1
  149. package/dist/types/src/extensions/automerge/automerge.stories.d.ts.map +0 -1
  150. package/dist/types/src/extensions/automerge/automerge.test.d.ts +0 -2
  151. package/dist/types/src/extensions/automerge/automerge.test.d.ts.map +0 -1
  152. package/dist/types/src/extensions/automerge/cursor.d.ts +0 -4
  153. package/dist/types/src/extensions/automerge/cursor.d.ts.map +0 -1
  154. package/dist/types/src/extensions/automerge/defs.d.ts +0 -17
  155. package/dist/types/src/extensions/automerge/defs.d.ts.map +0 -1
  156. package/dist/types/src/extensions/automerge/index.d.ts +0 -2
  157. package/dist/types/src/extensions/automerge/index.d.ts.map +0 -1
  158. package/dist/types/src/extensions/automerge/sync.d.ts +0 -17
  159. package/dist/types/src/extensions/automerge/sync.d.ts.map +0 -1
  160. package/dist/types/src/extensions/automerge/update-automerge.d.ts +0 -6
  161. package/dist/types/src/extensions/automerge/update-automerge.d.ts.map +0 -1
  162. package/dist/types/src/extensions/automerge/update-codemirror.d.ts +0 -5
  163. package/dist/types/src/extensions/automerge/update-codemirror.d.ts.map +0 -1
  164. package/dist/types/src/extensions/autoscroll.d.ts +0 -20
  165. package/dist/types/src/extensions/autoscroll.d.ts.map +0 -1
  166. package/dist/types/src/extensions/awareness/awareness-provider.d.ts +0 -31
  167. package/dist/types/src/extensions/awareness/awareness-provider.d.ts.map +0 -1
  168. package/dist/types/src/extensions/awareness/awareness.d.ts +0 -46
  169. package/dist/types/src/extensions/awareness/awareness.d.ts.map +0 -1
  170. package/dist/types/src/extensions/awareness/index.d.ts +0 -3
  171. package/dist/types/src/extensions/awareness/index.d.ts.map +0 -1
  172. package/dist/types/src/extensions/blast.d.ts +0 -25
  173. package/dist/types/src/extensions/blast.d.ts.map +0 -1
  174. package/dist/types/src/extensions/blocks.d.ts +0 -2
  175. package/dist/types/src/extensions/blocks.d.ts.map +0 -1
  176. package/dist/types/src/extensions/bookmarks.d.ts +0 -12
  177. package/dist/types/src/extensions/bookmarks.d.ts.map +0 -1
  178. package/dist/types/src/extensions/comments.d.ts +0 -95
  179. package/dist/types/src/extensions/comments.d.ts.map +0 -1
  180. package/dist/types/src/extensions/debug.d.ts +0 -3
  181. package/dist/types/src/extensions/debug.d.ts.map +0 -1
  182. package/dist/types/src/extensions/dnd.d.ts +0 -9
  183. package/dist/types/src/extensions/dnd.d.ts.map +0 -1
  184. package/dist/types/src/extensions/factories.d.ts +0 -84
  185. package/dist/types/src/extensions/factories.d.ts.map +0 -1
  186. package/dist/types/src/extensions/focus.d.ts +0 -7
  187. package/dist/types/src/extensions/focus.d.ts.map +0 -1
  188. package/dist/types/src/extensions/folding.d.ts +0 -7
  189. package/dist/types/src/extensions/folding.d.ts.map +0 -1
  190. package/dist/types/src/extensions/hashtag.d.ts +0 -3
  191. package/dist/types/src/extensions/hashtag.d.ts.map +0 -1
  192. package/dist/types/src/extensions/index.d.ts +0 -32
  193. package/dist/types/src/extensions/index.d.ts.map +0 -1
  194. package/dist/types/src/extensions/json.d.ts +0 -7
  195. package/dist/types/src/extensions/json.d.ts.map +0 -1
  196. package/dist/types/src/extensions/listener.d.ts +0 -13
  197. package/dist/types/src/extensions/listener.d.ts.map +0 -1
  198. package/dist/types/src/extensions/markdown/action.d.ts +0 -12
  199. package/dist/types/src/extensions/markdown/action.d.ts.map +0 -1
  200. package/dist/types/src/extensions/markdown/bundle.d.ts +0 -22
  201. package/dist/types/src/extensions/markdown/bundle.d.ts.map +0 -1
  202. package/dist/types/src/extensions/markdown/changes.d.ts +0 -10
  203. package/dist/types/src/extensions/markdown/changes.d.ts.map +0 -1
  204. package/dist/types/src/extensions/markdown/changes.test.d.ts +0 -2
  205. package/dist/types/src/extensions/markdown/changes.test.d.ts.map +0 -1
  206. package/dist/types/src/extensions/markdown/debug.d.ts +0 -11
  207. package/dist/types/src/extensions/markdown/debug.d.ts.map +0 -1
  208. package/dist/types/src/extensions/markdown/decorate.d.ts +0 -25
  209. package/dist/types/src/extensions/markdown/decorate.d.ts.map +0 -1
  210. package/dist/types/src/extensions/markdown/formatting.d.ts +0 -61
  211. package/dist/types/src/extensions/markdown/formatting.d.ts.map +0 -1
  212. package/dist/types/src/extensions/markdown/formatting.test.d.ts +0 -3
  213. package/dist/types/src/extensions/markdown/formatting.test.d.ts.map +0 -1
  214. package/dist/types/src/extensions/markdown/highlight.d.ts +0 -37
  215. package/dist/types/src/extensions/markdown/highlight.d.ts.map +0 -1
  216. package/dist/types/src/extensions/markdown/image.d.ts +0 -7
  217. package/dist/types/src/extensions/markdown/image.d.ts.map +0 -1
  218. package/dist/types/src/extensions/markdown/index.d.ts +0 -10
  219. package/dist/types/src/extensions/markdown/index.d.ts.map +0 -1
  220. package/dist/types/src/extensions/markdown/link.d.ts +0 -7
  221. package/dist/types/src/extensions/markdown/link.d.ts.map +0 -1
  222. package/dist/types/src/extensions/markdown/parser.test.d.ts +0 -2
  223. package/dist/types/src/extensions/markdown/parser.test.d.ts.map +0 -1
  224. package/dist/types/src/extensions/markdown/styles.d.ts +0 -4
  225. package/dist/types/src/extensions/markdown/styles.d.ts.map +0 -1
  226. package/dist/types/src/extensions/markdown/table.d.ts +0 -8
  227. package/dist/types/src/extensions/markdown/table.d.ts.map +0 -1
  228. package/dist/types/src/extensions/mention.d.ts +0 -7
  229. package/dist/types/src/extensions/mention.d.ts.map +0 -1
  230. package/dist/types/src/extensions/modal.d.ts +0 -7
  231. package/dist/types/src/extensions/modal.d.ts.map +0 -1
  232. package/dist/types/src/extensions/modes.d.ts +0 -10
  233. package/dist/types/src/extensions/modes.d.ts.map +0 -1
  234. package/dist/types/src/extensions/outliner/commands.d.ts +0 -10
  235. package/dist/types/src/extensions/outliner/commands.d.ts.map +0 -1
  236. package/dist/types/src/extensions/outliner/editor.d.ts +0 -5
  237. package/dist/types/src/extensions/outliner/editor.d.ts.map +0 -1
  238. package/dist/types/src/extensions/outliner/editor.test.d.ts +0 -2
  239. package/dist/types/src/extensions/outliner/editor.test.d.ts.map +0 -1
  240. package/dist/types/src/extensions/outliner/index.d.ts +0 -4
  241. package/dist/types/src/extensions/outliner/index.d.ts.map +0 -1
  242. package/dist/types/src/extensions/outliner/menu.d.ts +0 -8
  243. package/dist/types/src/extensions/outliner/menu.d.ts.map +0 -1
  244. package/dist/types/src/extensions/outliner/outliner.d.ts +0 -11
  245. package/dist/types/src/extensions/outliner/outliner.d.ts.map +0 -1
  246. package/dist/types/src/extensions/outliner/outliner.test.d.ts +0 -2
  247. package/dist/types/src/extensions/outliner/outliner.test.d.ts.map +0 -1
  248. package/dist/types/src/extensions/outliner/selection.d.ts +0 -12
  249. package/dist/types/src/extensions/outliner/selection.d.ts.map +0 -1
  250. package/dist/types/src/extensions/outliner/tree.d.ts +0 -79
  251. package/dist/types/src/extensions/outliner/tree.d.ts.map +0 -1
  252. package/dist/types/src/extensions/outliner/tree.test.d.ts +0 -2
  253. package/dist/types/src/extensions/outliner/tree.test.d.ts.map +0 -1
  254. package/dist/types/src/extensions/preview/index.d.ts +0 -2
  255. package/dist/types/src/extensions/preview/index.d.ts.map +0 -1
  256. package/dist/types/src/extensions/preview/preview.d.ts +0 -32
  257. package/dist/types/src/extensions/preview/preview.d.ts.map +0 -1
  258. package/dist/types/src/extensions/replacer.d.ts +0 -21
  259. package/dist/types/src/extensions/replacer.d.ts.map +0 -1
  260. package/dist/types/src/extensions/replacer.test.d.ts +0 -2
  261. package/dist/types/src/extensions/replacer.test.d.ts.map +0 -1
  262. package/dist/types/src/extensions/scrolling.d.ts +0 -78
  263. package/dist/types/src/extensions/scrolling.d.ts.map +0 -1
  264. package/dist/types/src/extensions/selection.d.ts +0 -24
  265. package/dist/types/src/extensions/selection.d.ts.map +0 -1
  266. package/dist/types/src/extensions/state.d.ts +0 -2
  267. package/dist/types/src/extensions/state.d.ts.map +0 -1
  268. package/dist/types/src/extensions/submit.d.ts +0 -10
  269. package/dist/types/src/extensions/submit.d.ts.map +0 -1
  270. package/dist/types/src/extensions/tab.d.ts +0 -4
  271. package/dist/types/src/extensions/tab.d.ts.map +0 -1
  272. package/dist/types/src/extensions/tags/extended-markdown.d.ts +0 -10
  273. package/dist/types/src/extensions/tags/extended-markdown.d.ts.map +0 -1
  274. package/dist/types/src/extensions/tags/extended-markdown.test.d.ts +0 -2
  275. package/dist/types/src/extensions/tags/extended-markdown.test.d.ts.map +0 -1
  276. package/dist/types/src/extensions/tags/index.d.ts +0 -4
  277. package/dist/types/src/extensions/tags/index.d.ts.map +0 -1
  278. package/dist/types/src/extensions/tags/streamer.d.ts +0 -12
  279. package/dist/types/src/extensions/tags/streamer.d.ts.map +0 -1
  280. package/dist/types/src/extensions/tags/xml-tags.d.ts +0 -97
  281. package/dist/types/src/extensions/tags/xml-tags.d.ts.map +0 -1
  282. package/dist/types/src/extensions/tags/xml-util.d.ts +0 -10
  283. package/dist/types/src/extensions/tags/xml-util.d.ts.map +0 -1
  284. package/dist/types/src/extensions/typewriter.d.ts +0 -10
  285. package/dist/types/src/extensions/typewriter.d.ts.map +0 -1
  286. package/dist/types/src/styles/index.d.ts +0 -4
  287. package/dist/types/src/styles/index.d.ts.map +0 -1
  288. package/dist/types/src/styles/markdown.d.ts +0 -8
  289. package/dist/types/src/styles/markdown.d.ts.map +0 -1
  290. package/dist/types/src/styles/theme.d.ts +0 -38
  291. package/dist/types/src/styles/theme.d.ts.map +0 -1
  292. package/dist/types/src/styles/tokens.d.ts +0 -3
  293. package/dist/types/src/styles/tokens.d.ts.map +0 -1
  294. package/dist/types/src/types/index.d.ts +0 -2
  295. package/dist/types/src/types/index.d.ts.map +0 -1
  296. package/dist/types/src/types/types.d.ts +0 -21
  297. package/dist/types/src/types/types.d.ts.map +0 -1
  298. package/dist/types/src/util/cursor.d.ts +0 -31
  299. package/dist/types/src/util/cursor.d.ts.map +0 -1
  300. package/dist/types/src/util/debug.d.ts +0 -21
  301. package/dist/types/src/util/debug.d.ts.map +0 -1
  302. package/dist/types/src/util/decorations.d.ts +0 -4
  303. package/dist/types/src/util/decorations.d.ts.map +0 -1
  304. package/dist/types/src/util/dom.d.ts +0 -10
  305. package/dist/types/src/util/dom.d.ts.map +0 -1
  306. package/dist/types/src/util/facet.d.ts +0 -3
  307. package/dist/types/src/util/facet.d.ts.map +0 -1
  308. package/src/components/EditorContent/EditorContent.stories.tsx +0 -70
  309. package/src/components/EditorMenuProvider/util.ts +0 -31
  310. package/src/defaults.ts +0 -52
  311. package/src/extensions/annotations.ts +0 -55
  312. package/src/extensions/autocomplete/autocomplete.ts +0 -151
  313. package/src/extensions/autocomplete/index.ts +0 -8
  314. package/src/extensions/autocomplete/match.ts +0 -46
  315. package/src/extensions/autocomplete/placeholder.ts +0 -117
  316. package/src/extensions/autocomplete/typeahead.ts +0 -87
  317. package/src/extensions/automerge/automerge.stories.tsx +0 -150
  318. package/src/extensions/automerge/automerge.test.tsx +0 -78
  319. package/src/extensions/automerge/automerge.ts +0 -105
  320. package/src/extensions/automerge/cursor.ts +0 -28
  321. package/src/extensions/automerge/defs.ts +0 -31
  322. package/src/extensions/automerge/index.ts +0 -5
  323. package/src/extensions/automerge/sync.ts +0 -79
  324. package/src/extensions/automerge/update-automerge.ts +0 -50
  325. package/src/extensions/automerge/update-codemirror.ts +0 -115
  326. package/src/extensions/autoscroll.ts +0 -163
  327. package/src/extensions/awareness/awareness-provider.ts +0 -127
  328. package/src/extensions/awareness/awareness.ts +0 -315
  329. package/src/extensions/awareness/index.ts +0 -6
  330. package/src/extensions/blast.ts +0 -363
  331. package/src/extensions/blocks.ts +0 -131
  332. package/src/extensions/bookmarks.ts +0 -75
  333. package/src/extensions/comments.ts +0 -598
  334. package/src/extensions/debug.ts +0 -15
  335. package/src/extensions/dnd.ts +0 -37
  336. package/src/extensions/factories.ts +0 -282
  337. package/src/extensions/focus.ts +0 -36
  338. package/src/extensions/folding.tsx +0 -43
  339. package/src/extensions/hashtag.tsx +0 -68
  340. package/src/extensions/index.ts +0 -35
  341. package/src/extensions/json.ts +0 -57
  342. package/src/extensions/listener.ts +0 -32
  343. package/src/extensions/markdown/action.ts +0 -117
  344. package/src/extensions/markdown/bundle.ts +0 -105
  345. package/src/extensions/markdown/changes.test.ts +0 -26
  346. package/src/extensions/markdown/changes.ts +0 -149
  347. package/src/extensions/markdown/debug.ts +0 -44
  348. package/src/extensions/markdown/decorate.ts +0 -601
  349. package/src/extensions/markdown/formatting.test.ts +0 -498
  350. package/src/extensions/markdown/formatting.ts +0 -1265
  351. package/src/extensions/markdown/highlight.ts +0 -183
  352. package/src/extensions/markdown/image.ts +0 -118
  353. package/src/extensions/markdown/index.ts +0 -13
  354. package/src/extensions/markdown/link.ts +0 -50
  355. package/src/extensions/markdown/parser.test.ts +0 -75
  356. package/src/extensions/markdown/styles.ts +0 -135
  357. package/src/extensions/markdown/table.ts +0 -150
  358. package/src/extensions/mention.ts +0 -41
  359. package/src/extensions/modal.ts +0 -24
  360. package/src/extensions/modes.ts +0 -41
  361. package/src/extensions/outliner/commands.ts +0 -270
  362. package/src/extensions/outliner/editor.test.ts +0 -33
  363. package/src/extensions/outliner/editor.ts +0 -184
  364. package/src/extensions/outliner/index.ts +0 -7
  365. package/src/extensions/outliner/menu.ts +0 -128
  366. package/src/extensions/outliner/outliner.test.ts +0 -100
  367. package/src/extensions/outliner/outliner.ts +0 -167
  368. package/src/extensions/outliner/selection.ts +0 -50
  369. package/src/extensions/outliner/tree.test.ts +0 -168
  370. package/src/extensions/outliner/tree.ts +0 -317
  371. package/src/extensions/preview/index.ts +0 -5
  372. package/src/extensions/preview/preview.ts +0 -193
  373. package/src/extensions/replacer.test.ts +0 -75
  374. package/src/extensions/replacer.ts +0 -93
  375. package/src/extensions/scrolling.ts +0 -189
  376. package/src/extensions/selection.ts +0 -100
  377. package/src/extensions/state.ts +0 -7
  378. package/src/extensions/submit.ts +0 -62
  379. package/src/extensions/tab.ts +0 -29
  380. package/src/extensions/tags/extended-markdown.test.ts +0 -262
  381. package/src/extensions/tags/extended-markdown.ts +0 -78
  382. package/src/extensions/tags/index.ts +0 -7
  383. package/src/extensions/tags/streamer.ts +0 -243
  384. package/src/extensions/tags/xml-tags.ts +0 -500
  385. package/src/extensions/tags/xml-util.ts +0 -94
  386. package/src/extensions/typewriter.ts +0 -68
  387. package/src/styles/index.ts +0 -7
  388. package/src/styles/markdown.ts +0 -26
  389. package/src/styles/theme.ts +0 -269
  390. package/src/styles/tokens.ts +0 -17
  391. package/src/types/index.ts +0 -5
  392. package/src/types/types.ts +0 -32
  393. package/src/util/cursor.ts +0 -56
  394. package/src/util/debug.ts +0 -69
  395. package/src/util/decorations.ts +0 -21
  396. package/src/util/dom.ts +0 -34
  397. package/src/util/facet.ts +0 -13
@@ -7,8 +7,7 @@ import React, { type PropsWithChildren, type RefObject, useCallback, useEffect,
7
7
 
8
8
  import { addEventListener } from '@dxos/async';
9
9
  import { DX_ANCHOR_ACTIVATE, type DxAnchorActivate, Popover } from '@dxos/react-ui';
10
-
11
- import { type PreviewLinkRef, type PreviewLinkTarget } from '../../extensions';
10
+ import { type PreviewLinkRef, type PreviewLinkTarget } from '@dxos/ui-editor';
12
11
 
13
12
  type EditorPreviewPopoverValue = Partial<{
14
13
  link: PreviewLinkRef;
@@ -33,16 +32,16 @@ export const EditorPreviewProvider = ({ children, onLookup }: EditorPreviewProvi
33
32
 
34
33
  const handleActivate = useCallback(
35
34
  (event: DxAnchorActivate) => {
36
- const { refId, label, trigger: dxTrigger } = event;
35
+ const { dxn, label, trigger } = event;
37
36
  setValue((value) => ({
38
37
  ...value,
39
- link: { label, ref: refId },
38
+ link: { label, dxn },
40
39
  pending: true,
41
40
  }));
42
41
 
43
- triggerRef.current = dxTrigger;
42
+ triggerRef.current = trigger;
44
43
  queueMicrotask(() => setOpen(true));
45
- void onLookup?.({ label, ref: refId }).then((target) =>
44
+ void onLookup?.({ label, dxn }).then((target) =>
46
45
  setValue((value) => ({
47
46
  ...value,
48
47
  target: target ?? undefined,
@@ -69,9 +68,7 @@ export const EditorPreviewProvider = ({ children, onLookup }: EditorPreviewProvi
69
68
  <EditorPreviewContextProvider pending={value.pending} link={value.link} target={value.target}>
70
69
  <Popover.Root open={open} onOpenChange={setOpen}>
71
70
  <Popover.VirtualTrigger virtualRef={triggerRef as unknown as RefObject<HTMLButtonElement>} />
72
-
73
- {/* Content */}
74
- <div ref={setRoot} role='none' className='contents'>
71
+ <div role='none' className='contents' ref={setRoot}>
75
72
  {children}
76
73
  </div>
77
74
  </Popover.Root>
@@ -6,18 +6,10 @@ import { type EditorView } from '@codemirror/view';
6
6
  import { Atom } from '@effect-atom/atom-react';
7
7
  import React, { memo, useMemo } from 'react';
8
8
 
9
- import { atomFromSignal } from '@dxos/app-graph';
10
- import { type Live } from '@dxos/live-object';
9
+ import { type Node } from '@dxos/app-graph';
11
10
  import { ElevationProvider, type ThemedClassName } from '@dxos/react-ui';
12
- import {
13
- type ActionGraphProps,
14
- MenuProvider,
15
- ToolbarMenu,
16
- createGapSeparator,
17
- useMenuActions,
18
- } from '@dxos/react-ui-menu';
19
-
20
- import { type EditorViewMode } from '../../types';
11
+ import { type ActionGraphProps, Menu, type MenuAction, MenuBuilder, useMenuActions } from '@dxos/react-ui-menu';
12
+ import { type EditorViewMode } from '@dxos/ui-editor';
21
13
 
22
14
  import { createLists } from './actions';
23
15
  import { createBlocks } from './blocks';
@@ -41,7 +33,7 @@ export type EditorToolbarFeatureFlags = Partial<{
41
33
  }>;
42
34
 
43
35
  export type EditorToolbarActionGraphProps = {
44
- state: Live<EditorToolbarState>;
36
+ state: Atom.Atom<EditorToolbarState>;
45
37
  getView: () => EditorView;
46
38
  // TODO(wittjosiah): Control positioning.
47
39
  customActions?: Atom.Atom<ActionGraphProps>;
@@ -51,18 +43,19 @@ export type EditorToolbarProps = ThemedClassName<
51
43
  {
52
44
  role?: string;
53
45
  attendableId?: string;
46
+ /** Handler for executing actions. Required when customActions use Operation.invoke. */
47
+ onAction?: (action: MenuAction, params: Node.InvokeProps) => void;
54
48
  } & (EditorToolbarActionGraphProps & EditorToolbarFeatureFlags)
55
49
  >;
56
50
 
57
- // TODO(burdon): Remove role dependency.
58
- export const EditorToolbar = memo(({ classNames, role, attendableId, ...props }: EditorToolbarProps) => {
51
+ export const EditorToolbar = memo(({ classNames, role, attendableId, onAction, ...props }: EditorToolbarProps) => {
59
52
  const menuProps = useEditorToolbarActionGraph(props);
60
53
 
61
54
  return (
62
55
  <ElevationProvider elevation={role === 'section' ? 'positioned' : 'base'}>
63
- <MenuProvider {...menuProps} attendableId={attendableId}>
64
- <ToolbarMenu classNames={classNames} textBlockWidth />
65
- </MenuProvider>
56
+ <Menu.Root {...menuProps} attendableId={attendableId} onAction={onAction}>
57
+ <Menu.Toolbar classNames={classNames} />
58
+ </Menu.Root>
66
59
  </ElevationProvider>
67
60
  );
68
61
  });
@@ -73,6 +66,7 @@ type ToolbarActionsProps = Pick<EditorToolbarActionGraphProps, 'state' | 'getVie
73
66
  // TODO(wittjosiah): Toolbar re-rendering is causing this graph to be recreated and breaking reactivity in some cases.
74
67
  // E.g. for toolbar dropdowns which use active icon, the icon is not updated when the active item changes.
75
68
  // This is currently only happening in the markdown plugin usage and should be reproduced in an editor story.
69
+ // TODO(burdon): Some actions should toggle the state (e.g., toggle bullets on/off depending on the current state).
76
70
  const useEditorToolbarActionGraph = ({ state, getView, customActions, ...features }: ToolbarActionsProps) => {
77
71
  const menuCreator = useMemo(
78
72
  () => createToolbarActions({ state, getView, customActions, ...features }),
@@ -100,45 +94,39 @@ const createToolbarActions = ({
100
94
  ...features
101
95
  }: ToolbarActionsProps): Atom.Atom<ActionGraphProps> => {
102
96
  return Atom.make((get) => {
103
- const graph: ActionGraphProps = {
104
- nodes: [],
105
- edges: [],
106
- };
97
+ // Subscribe to state changes.
98
+ const stateSnapshot = get(state);
107
99
 
108
- // TODO(burdon): Builder pattern?
109
- const addSubGraph = (graph: ActionGraphProps, subGraph: ActionGraphProps) => {
110
- graph.nodes.push(...subGraph.nodes);
111
- graph.edges.push(...subGraph.edges);
112
- };
100
+ const builder = MenuBuilder.make();
113
101
 
114
102
  if (features?.showHeadings ?? true) {
115
- addSubGraph(graph, get(atomFromSignal(() => createHeadings(state, getView))));
103
+ builder.subgraph(createHeadings(stateSnapshot, getView));
116
104
  }
117
105
  if (features?.showFormatting ?? true) {
118
- addSubGraph(graph, get(atomFromSignal(() => createFormatting(state, getView))));
106
+ builder.subgraph(createFormatting(stateSnapshot, getView));
119
107
  }
120
108
  if (features?.showLists ?? true) {
121
- addSubGraph(graph, get(atomFromSignal(() => createLists(state, getView))));
109
+ builder.subgraph(createLists(stateSnapshot, getView));
122
110
  }
123
111
  if (features?.showBlocks ?? true) {
124
- addSubGraph(graph, get(atomFromSignal(() => createBlocks(state, getView))));
112
+ builder.subgraph(createBlocks(stateSnapshot, getView));
125
113
  }
126
114
  if (features?.onImageUpload) {
127
- addSubGraph(graph, get(atomFromSignal(() => createImageUpload(features.onImageUpload!))));
115
+ builder.subgraph(createImageUpload(features.onImageUpload!));
128
116
  }
129
117
 
130
- addSubGraph(graph, createGapSeparator());
118
+ builder.separator('gap');
131
119
 
132
120
  if (customActions) {
133
- addSubGraph(graph, get(customActions));
121
+ builder.subgraph(get(customActions));
134
122
  }
135
123
  if (features?.showSearch ?? true) {
136
- addSubGraph(graph, get(atomFromSignal(() => createSearch(getView))));
124
+ builder.subgraph(createSearch(getView));
137
125
  }
138
126
  if (features?.onViewModeChange) {
139
- addSubGraph(graph, get(atomFromSignal(() => createViewMode(state, features.onViewModeChange!))));
127
+ builder.subgraph(createViewMode(stateSnapshot, features.onViewModeChange!));
140
128
  }
141
129
 
142
- return graph;
130
+ return builder.build();
143
131
  });
144
132
  };
@@ -4,15 +4,16 @@
4
4
 
5
5
  import { type EditorView } from '@codemirror/view';
6
6
 
7
- import { type Action, type NodeArg } from '@dxos/app-graph';
7
+ import { type Node } from '@dxos/app-graph';
8
8
  import {
9
- type MenuActionProperties,
9
+ type MenuItemGroup,
10
10
  type ToolbarMenuActionGroupProperties,
11
11
  createMenuAction,
12
12
  createMenuItemGroup,
13
13
  } from '@dxos/react-ui-menu';
14
+ import { List, addList, removeList } from '@dxos/ui-editor';
15
+ import { type MenuActionProperties } from '@dxos/ui-types';
14
16
 
15
- import { List, addList, removeList } from '../../extensions';
16
17
  import { translationKey } from '../../translations';
17
18
 
18
19
  import { type EditorToolbarState } from './useEditorToolbar';
@@ -28,10 +29,10 @@ export const createLists = (state: EditorToolbarState, getView: () => EditorView
28
29
  const listGroupAction = createListGroupAction(value);
29
30
  const listActionsMap = createListActions(value, getView);
30
31
  return {
31
- nodes: [listGroupAction as NodeArg<any>, ...listActionsMap],
32
+ nodes: [listGroupAction as Node.NodeArg<any>, ...listActionsMap],
32
33
  edges: [
33
- { source: 'root', target: 'list' },
34
- ...listActionsMap.map(({ id }) => ({ source: listGroupAction.id, target: id })),
34
+ { source: 'root', target: 'list', relation: 'child' },
35
+ ...listActionsMap.map(({ id }) => ({ source: listGroupAction.id, target: id, relation: 'child' })),
35
36
  ],
36
37
  };
37
38
  };
@@ -42,14 +43,14 @@ export const createEditorAction = (id: string, props: Partial<MenuActionProperti
42
43
  return createMenuAction(id, invoke, {
43
44
  label,
44
45
  ...rest,
45
- }) as Action<MenuActionProperties>;
46
+ }) as Node.Action<MenuActionProperties>;
46
47
  };
47
48
 
48
49
  export const createEditorActionGroup = (
49
50
  id: string,
50
51
  props: Omit<ToolbarMenuActionGroupProperties, 'icon'>,
51
52
  icon?: string,
52
- ) => {
53
+ ): MenuItemGroup<ToolbarMenuActionGroupProperties> => {
53
54
  const { label = [`${id} label`, { ns: translationKey }], ...rest } = props;
54
55
 
55
56
  return createMenuItemGroup(id, {
@@ -57,7 +58,7 @@ export const createEditorActionGroup = (
57
58
  icon,
58
59
  iconOnly: true,
59
60
  ...rest,
60
- });
61
+ }) as MenuItemGroup<ToolbarMenuActionGroupProperties>;
61
62
  };
62
63
 
63
64
  const createListGroupAction = (value: string) =>
@@ -4,10 +4,9 @@
4
4
 
5
5
  import { type EditorView } from '@codemirror/view';
6
6
 
7
- import { type NodeArg } from '@dxos/app-graph';
7
+ import { type Node } from '@dxos/app-graph';
8
8
  import { type ToolbarMenuActionGroupProperties } from '@dxos/react-ui-menu';
9
-
10
- import { addBlockquote, addCodeblock, insertTable, removeBlockquote, removeCodeblock } from '../../extensions';
9
+ import { addBlockquote, addCodeblock, insertTable, removeBlockquote, removeCodeblock } from '@dxos/ui-editor';
11
10
 
12
11
  import { createEditorAction, createEditorActionGroup } from './actions';
13
12
  import { type EditorToolbarState } from './useEditorToolbar';
@@ -51,10 +50,10 @@ export const createBlocks = (state: EditorToolbarState, getView: () => EditorVie
51
50
  const blockGroupAction = createBlockGroupAction(value);
52
51
  const blockActions = createBlockActions(value, getView, state.blankLine);
53
52
  return {
54
- nodes: [blockGroupAction as NodeArg<any>, ...blockActions],
53
+ nodes: [blockGroupAction as Node.NodeArg<any>, ...blockActions],
55
54
  edges: [
56
- { source: 'root', target: 'block' },
57
- ...blockActions.map(({ id }) => ({ source: blockGroupAction.id, target: id })),
55
+ { source: 'root', target: 'block', relation: 'child' },
56
+ ...blockActions.map(({ id }) => ({ source: blockGroupAction.id, target: id, relation: 'child' })),
58
57
  ],
59
58
  };
60
59
  };
@@ -4,10 +4,9 @@
4
4
 
5
5
  import { type EditorView } from '@codemirror/view';
6
6
 
7
- import { type NodeArg } from '@dxos/app-graph';
7
+ import { type Node } from '@dxos/app-graph';
8
8
  import { type ToolbarMenuActionGroupProperties } from '@dxos/react-ui-menu';
9
-
10
- import { type Formatting, Inline, addLink, removeLink, setStyle } from '../../extensions';
9
+ import { type Formatting, Inline, addLink, removeLink, setStyle } from '@dxos/ui-editor';
11
10
 
12
11
  import { createEditorAction, createEditorActionGroup } from './actions';
13
12
  import { type EditorToolbarState } from './useEditorToolbar';
@@ -57,10 +56,10 @@ export const createFormatting = (state: EditorToolbarState, getView: () => Edito
57
56
  const formattingGroupAction = createFormattingGroup(state);
58
57
  const formattingActions = createFormattingActions(state, getView);
59
58
  return {
60
- nodes: [formattingGroupAction as NodeArg<any>, ...formattingActions],
59
+ nodes: [formattingGroupAction as Node.NodeArg<any>, ...formattingActions],
61
60
  edges: [
62
- { source: 'root', target: 'formatting' },
63
- ...formattingActions.map(({ id }) => ({ source: formattingGroupAction.id, target: id })),
61
+ { source: 'root', target: 'formatting', relation: 'child' },
62
+ ...formattingActions.map(({ id }) => ({ source: formattingGroupAction.id, target: id, relation: 'child' })),
64
63
  ],
65
64
  };
66
65
  };
@@ -4,10 +4,10 @@
4
4
 
5
5
  import { type EditorView } from '@codemirror/view';
6
6
 
7
- import { type NodeArg } from '@dxos/app-graph';
7
+ import { type Node } from '@dxos/app-graph';
8
8
  import { type ToolbarMenuActionGroupProperties } from '@dxos/react-ui-menu';
9
+ import { setHeading } from '@dxos/ui-editor';
9
10
 
10
- import { setHeading } from '../../extensions';
11
11
  import { translationKey } from '../../translations';
12
12
 
13
13
  import { createEditorAction, createEditorActionGroup } from './actions';
@@ -28,13 +28,13 @@ const createHeadingGroupAction = (value: string) =>
28
28
 
29
29
  const createHeadingActions = (currentLevel: string, getView: () => EditorView) =>
30
30
  Object.entries({
31
- '0': 'ph--paragraph--regular',
32
- '1': 'ph--text-h-one--regular',
33
- '2': 'ph--text-h-two--regular',
34
- '3': 'ph--text-h-three--regular',
35
- '4': 'ph--text-h-four--regular',
36
- '5': 'ph--text-h-five--regular',
37
- '6': 'ph--text-h-six--regular',
31
+ 0: 'ph--paragraph--regular',
32
+ 1: 'ph--text-h-one--regular',
33
+ 2: 'ph--text-h-two--regular',
34
+ 3: 'ph--text-h-three--regular',
35
+ 4: 'ph--text-h-four--regular',
36
+ 5: 'ph--text-h-five--regular',
37
+ 6: 'ph--text-h-six--regular',
38
38
  }).map(([levelStr, icon]) => {
39
39
  const level = parseInt(levelStr);
40
40
  return createEditorAction(
@@ -59,10 +59,10 @@ export const createHeadings = (state: EditorToolbarState, getView: () => EditorV
59
59
  const headingGroupAction = createHeadingGroupAction(headingValue);
60
60
  const headingActions = createHeadingActions(headingValue, getView);
61
61
  return {
62
- nodes: [headingGroupAction as NodeArg<any>, ...headingActions],
62
+ nodes: [headingGroupAction as Node.NodeArg<any>, ...headingActions],
63
63
  edges: [
64
- { source: 'root', target: 'heading' },
65
- ...headingActions.map(({ id }) => ({ source: headingGroupAction.id, target: id })),
64
+ { source: 'root', target: 'heading', relation: 'child' },
65
+ ...headingActions.map(({ id }) => ({ source: headingGroupAction.id, target: id, relation: 'child' })),
66
66
  ],
67
67
  };
68
68
  };
@@ -2,6 +2,8 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
+ import { type Node } from '@dxos/app-graph';
6
+
5
7
  import { createEditorAction } from './actions';
6
8
 
7
9
  const createImageUploadAction = (onImageUpload: () => void) =>
@@ -14,7 +16,12 @@ const createImageUploadAction = (onImageUpload: () => void) =>
14
16
  onImageUpload,
15
17
  );
16
18
 
17
- export const createImageUpload = (onImageUpload: () => void) => ({
19
+ export const createImageUpload = (
20
+ onImageUpload: () => void,
21
+ ): {
22
+ nodes: Node.NodeArg<any>[];
23
+ edges: Array<{ source: string; target: string; relation: 'child' }>;
24
+ } => ({
18
25
  nodes: [createImageUploadAction(onImageUpload)],
19
- edges: [{ source: 'root', target: 'image' }],
26
+ edges: [{ source: 'root', target: 'image', relation: 'child' }],
20
27
  });
@@ -4,5 +4,5 @@
4
4
 
5
5
  export * from './EditorToolbar';
6
6
 
7
- export { type EditorToolbarState, useEditorToolbar } from './useEditorToolbar';
8
7
  export { createEditorAction, createEditorActionGroup } from './actions';
8
+ export { type EditorToolbarState, useEditorToolbar } from './useEditorToolbar';
@@ -5,6 +5,8 @@
5
5
  import { openSearchPanel } from '@codemirror/search';
6
6
  import { type EditorView } from '@codemirror/view';
7
7
 
8
+ import { type Node } from '@dxos/app-graph';
9
+
8
10
  import { createEditorAction } from './actions';
9
11
 
10
12
  const createSearchAction = (getView: () => EditorView) =>
@@ -17,7 +19,12 @@ const createSearchAction = (getView: () => EditorView) =>
17
19
  () => openSearchPanel(getView()),
18
20
  );
19
21
 
20
- export const createSearch = (getView: () => EditorView) => ({
22
+ export const createSearch = (
23
+ getView: () => EditorView,
24
+ ): {
25
+ nodes: Node.NodeArg<any>[];
26
+ edges: Array<{ source: string; target: string; relation: 'child' }>;
27
+ } => ({
21
28
  nodes: [createSearchAction(getView)],
22
- edges: [{ source: 'root', target: 'search' }],
29
+ edges: [{ source: 'root', target: 'search', relation: 'child' }],
23
30
  });
@@ -2,19 +2,19 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
+ import { Atom } from '@effect-atom/atom-react';
5
6
  import { useMemo } from 'react';
6
7
 
7
- import { type Live, live } from '@dxos/live-object';
8
-
9
- import { type Formatting } from '../../extensions';
10
- import { type EditorViewMode } from '../../types';
8
+ import { type EditorViewMode, type Formatting } from '@dxos/ui-editor';
11
9
 
12
10
  // TODO(burdon): Move to extensions.
13
11
  export type EditorToolbarState = { viewMode?: EditorViewMode } & Formatting;
14
12
 
15
13
  /**
14
+ * Creates an atom for editor toolbar state.
16
15
  * @deprecated Use Editor.Root
17
16
  */
18
- export const useEditorToolbar = (initialState: Partial<EditorToolbarState> = {}): Live<EditorToolbarState> => {
19
- return useMemo(() => live<EditorToolbarState>(initialState), []);
17
+ export const useEditorToolbar = (initialState: EditorToolbarState = {}): Atom.Writable<EditorToolbarState> => {
18
+ // TODO(wittjosiah): Including initialState in the deps causes reactivity issues.
19
+ return useMemo(() => Atom.make<EditorToolbarState>(initialState), []);
20
20
  };
@@ -2,11 +2,11 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import { type NodeArg } from '@dxos/app-graph';
5
+ import { type Node } from '@dxos/app-graph';
6
6
  import { type ToolbarMenuActionGroupProperties } from '@dxos/react-ui-menu';
7
+ import { type EditorViewMode } from '@dxos/ui-editor';
7
8
 
8
9
  import { translationKey } from '../../translations';
9
- import { type EditorViewMode } from '../../types';
10
10
 
11
11
  import { createEditorAction, createEditorActionGroup } from './actions';
12
12
  import { type EditorToolbarState } from './useEditorToolbar';
@@ -46,10 +46,10 @@ export const createViewMode = (state: EditorToolbarState, onViewModeChange: (mod
46
46
  const viewModeGroupAction = createViewModeGroupAction(value);
47
47
  const viewModeActions = createViewModeActions(value, onViewModeChange);
48
48
  return {
49
- nodes: [viewModeGroupAction as NodeArg<any>, ...viewModeActions],
49
+ nodes: [viewModeGroupAction as Node.NodeArg<any>, ...viewModeActions],
50
50
  edges: [
51
- { source: 'root', target: 'viewMode' },
52
- ...viewModeActions.map(({ id }) => ({ source: viewModeGroupAction.id, target: id })),
51
+ { source: 'root', target: 'viewMode', relation: 'child' },
52
+ ...viewModeActions.map(({ id }) => ({ source: viewModeGroupAction.id, target: id, relation: 'child' })),
53
53
  ],
54
54
  };
55
55
  };
@@ -4,8 +4,6 @@
4
4
 
5
5
  export * from './Editor';
6
6
 
7
- // export { type GetMenuContext } from './EditorMenuProvider';
8
-
9
7
  // TODO(burdon): Remove once Editor is fully migrated.
10
8
  export { EditorContent, createEditorController } from './EditorContent';
11
9
  export * from './EditorMenuProvider';
@@ -17,11 +17,15 @@ import {
17
17
  } from 'react';
18
18
 
19
19
  import { log } from '@dxos/log';
20
+ import {
21
+ type EditorSelection,
22
+ createEditorStateTransaction,
23
+ debugDispatcher,
24
+ documentId,
25
+ modalStateField,
26
+ } from '@dxos/ui-editor';
20
27
  import { type MaybeProvider, getProviderValue, isTruthy } from '@dxos/util';
21
28
 
22
- import { type EditorSelection, createEditorStateTransaction, documentId, modalStateField } from '../extensions';
23
- import { debugDispatcher } from '../util';
24
-
25
29
  let instanceCount = 0;
26
30
 
27
31
  export type CursorInfo = {
@@ -156,7 +160,9 @@ export const useTextEditor = (
156
160
  element?.focus();
157
161
  break;
158
162
  }
163
+
159
164
  case 'Enter': {
165
+ event.preventDefault();
160
166
  if (target === currentTarget) {
161
167
  view?.focus();
162
168
  }
package/src/index.ts CHANGED
@@ -4,17 +4,7 @@
4
4
 
5
5
  import { translations } from './translations';
6
6
 
7
- export { type Extension, EditorState } from '@codemirror/state';
8
- export { EditorView, keymap } from '@codemirror/view';
9
- export { tags } from '@lezer/highlight';
10
-
11
- export { TextKind } from '@dxos/protocols/proto/dxos/echo/model/text';
12
-
13
7
  export * from './components';
14
- export * from './defaults';
15
- export * from './extensions';
16
8
  export * from './hooks';
17
- export * from './types';
18
- export * from './util';
19
9
 
20
10
  export { translations };