@dxos/react-ui-editor 0.8.4-main.c1de068 → 0.8.4-main.c85a9c8dae

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 (406) hide show
  1. package/dist/lib/browser/index.mjs +1259 -7415
  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 +1259 -7414
  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 +43 -15
  8. package/dist/types/src/components/Editor/Editor.d.ts.map +1 -1
  9. package/dist/types/src/components/Editor/Editor.stories.d.ts +23 -0
  10. package/dist/types/src/components/Editor/Editor.stories.d.ts.map +1 -0
  11. package/dist/types/src/components/EditorContent/EditorContent.d.ts +31 -0
  12. package/dist/types/src/components/EditorContent/EditorContent.d.ts.map +1 -0
  13. package/dist/types/src/components/EditorContent/controller.d.ts +10 -0
  14. package/dist/types/src/components/EditorContent/controller.d.ts.map +1 -0
  15. package/dist/types/src/components/EditorContent/index.d.ts +3 -0
  16. package/dist/types/src/components/EditorContent/index.d.ts.map +1 -0
  17. package/dist/types/src/components/EditorMenuProvider/EditorMenuProvider.d.ts +36 -0
  18. package/dist/types/src/components/EditorMenuProvider/EditorMenuProvider.d.ts.map +1 -0
  19. package/dist/types/src/components/EditorMenuProvider/index.d.ts +6 -0
  20. package/dist/types/src/components/EditorMenuProvider/index.d.ts.map +1 -0
  21. package/dist/types/src/components/EditorMenuProvider/menu-presets.d.ts +4 -0
  22. package/dist/types/src/components/EditorMenuProvider/menu-presets.d.ts.map +1 -0
  23. package/dist/types/src/components/EditorMenuProvider/menu.d.ts +28 -0
  24. package/dist/types/src/components/EditorMenuProvider/menu.d.ts.map +1 -0
  25. package/dist/types/src/components/EditorMenuProvider/popover.d.ts +46 -0
  26. package/dist/types/src/components/EditorMenuProvider/popover.d.ts.map +1 -0
  27. package/dist/types/src/components/EditorMenuProvider/useEditorMenu.d.ts +34 -0
  28. package/dist/types/src/components/EditorMenuProvider/useEditorMenu.d.ts.map +1 -0
  29. package/dist/types/src/components/EditorPreviewProvider/EditorPreviewProvider.d.ts +16 -0
  30. package/dist/types/src/components/EditorPreviewProvider/EditorPreviewProvider.d.ts.map +1 -0
  31. package/dist/types/src/components/EditorPreviewProvider/index.d.ts +2 -0
  32. package/dist/types/src/components/EditorPreviewProvider/index.d.ts.map +1 -0
  33. package/dist/types/src/components/EditorToolbar/EditorToolbar.d.ts +28 -2
  34. package/dist/types/src/components/EditorToolbar/EditorToolbar.d.ts.map +1 -1
  35. package/dist/types/src/components/EditorToolbar/actions.d.ts +25 -0
  36. package/dist/types/src/components/EditorToolbar/actions.d.ts.map +1 -0
  37. package/dist/types/src/components/EditorToolbar/blocks.d.ts +9 -7
  38. package/dist/types/src/components/EditorToolbar/blocks.d.ts.map +1 -1
  39. package/dist/types/src/components/EditorToolbar/formatting.d.ts +9 -7
  40. package/dist/types/src/components/EditorToolbar/formatting.d.ts.map +1 -1
  41. package/dist/types/src/components/EditorToolbar/headings.d.ts +9 -7
  42. package/dist/types/src/components/EditorToolbar/headings.d.ts.map +1 -1
  43. package/dist/types/src/components/EditorToolbar/image.d.ts +5 -11
  44. package/dist/types/src/components/EditorToolbar/image.d.ts.map +1 -1
  45. package/dist/types/src/components/EditorToolbar/index.d.ts +2 -1
  46. package/dist/types/src/components/EditorToolbar/index.d.ts.map +1 -1
  47. package/dist/types/src/components/EditorToolbar/search.d.ts +5 -11
  48. package/dist/types/src/components/EditorToolbar/search.d.ts.map +1 -1
  49. package/dist/types/src/components/EditorToolbar/useEditorToolbar.d.ts +11 -0
  50. package/dist/types/src/components/EditorToolbar/useEditorToolbar.d.ts.map +1 -0
  51. package/dist/types/src/components/EditorToolbar/view-mode.d.ts +10 -8
  52. package/dist/types/src/components/EditorToolbar/view-mode.d.ts.map +1 -1
  53. package/dist/types/src/components/index.d.ts +4 -2
  54. package/dist/types/src/components/index.d.ts.map +1 -1
  55. package/dist/types/src/hooks/useTextEditor.d.ts +6 -10
  56. package/dist/types/src/hooks/useTextEditor.d.ts.map +1 -1
  57. package/dist/types/src/index.d.ts +0 -8
  58. package/dist/types/src/index.d.ts.map +1 -1
  59. package/dist/types/src/{extensions/automerge/automerge.stories.d.ts → stories/Automerge.stories.d.ts} +14 -26
  60. package/dist/types/src/stories/Automerge.stories.d.ts.map +1 -0
  61. package/dist/types/src/stories/CommandDialog.stories.d.ts +14 -0
  62. package/dist/types/src/stories/CommandDialog.stories.d.ts.map +1 -0
  63. package/dist/types/src/stories/Comments.stories.d.ts +22 -10
  64. package/dist/types/src/stories/Comments.stories.d.ts.map +1 -1
  65. package/dist/types/src/stories/EditorToolbar.stories.d.ts +39 -3
  66. package/dist/types/src/stories/EditorToolbar.stories.d.ts.map +1 -1
  67. package/dist/types/src/stories/Experimental.stories.d.ts +23 -13
  68. package/dist/types/src/stories/Experimental.stories.d.ts.map +1 -1
  69. package/dist/types/src/stories/Markdown.stories.d.ts +33 -43
  70. package/dist/types/src/stories/Markdown.stories.d.ts.map +1 -1
  71. package/dist/types/src/stories/Outliner.stories.d.ts +15 -21
  72. package/dist/types/src/stories/Outliner.stories.d.ts.map +1 -1
  73. package/dist/types/src/stories/Popover.stories.d.ts +20 -0
  74. package/dist/types/src/stories/Popover.stories.d.ts.map +1 -0
  75. package/dist/types/src/stories/Preview.stories.d.ts +23 -7
  76. package/dist/types/src/stories/Preview.stories.d.ts.map +1 -1
  77. package/dist/types/src/stories/Tags.stories.d.ts +16 -0
  78. package/dist/types/src/stories/Tags.stories.d.ts.map +1 -0
  79. package/dist/types/src/stories/TextEditor.stories.d.ts +38 -52
  80. package/dist/types/src/stories/TextEditor.stories.d.ts.map +1 -1
  81. package/dist/types/src/stories/Theme.stories.d.ts +8 -0
  82. package/dist/types/src/stories/Theme.stories.d.ts.map +1 -0
  83. package/dist/types/src/stories/components/EditorStory.d.ts +11 -23
  84. package/dist/types/src/stories/components/EditorStory.d.ts.map +1 -1
  85. package/dist/types/src/stories/components/util.d.ts +3 -3
  86. package/dist/types/src/stories/components/util.d.ts.map +1 -1
  87. package/dist/types/src/translations.d.ts +6 -6
  88. package/dist/types/src/translations.d.ts.map +1 -1
  89. package/dist/types/src/util/index.d.ts +0 -4
  90. package/dist/types/src/util/index.d.ts.map +1 -1
  91. package/dist/types/src/util/react.d.ts +7 -6
  92. package/dist/types/src/util/react.d.ts.map +1 -1
  93. package/dist/types/tsconfig.tsbuildinfo +1 -1
  94. package/package.json +84 -80
  95. package/src/components/Editor/Editor.stories.tsx +95 -0
  96. package/src/components/Editor/Editor.tsx +170 -24
  97. package/src/components/EditorContent/EditorContent.tsx +83 -0
  98. package/src/components/EditorContent/controller.ts +50 -0
  99. package/src/components/EditorContent/index.ts +6 -0
  100. package/src/components/EditorMenuProvider/EditorMenuProvider.tsx +228 -0
  101. package/src/components/EditorMenuProvider/index.ts +10 -0
  102. package/src/components/EditorMenuProvider/menu-presets.ts +124 -0
  103. package/src/components/EditorMenuProvider/menu.ts +70 -0
  104. package/src/components/EditorMenuProvider/popover.ts +285 -0
  105. package/src/components/EditorMenuProvider/useEditorMenu.ts +179 -0
  106. package/src/components/EditorPreviewProvider/EditorPreviewProvider.tsx +79 -0
  107. package/src/components/EditorPreviewProvider/index.ts +5 -0
  108. package/src/components/EditorToolbar/EditorToolbar.tsx +104 -96
  109. package/src/components/EditorToolbar/actions.ts +87 -0
  110. package/src/components/EditorToolbar/blocks.ts +24 -27
  111. package/src/components/EditorToolbar/formatting.ts +26 -29
  112. package/src/components/EditorToolbar/headings.ts +29 -21
  113. package/src/components/EditorToolbar/image.ts +18 -7
  114. package/src/components/EditorToolbar/index.ts +3 -7
  115. package/src/components/EditorToolbar/search.ts +18 -7
  116. package/src/components/EditorToolbar/useEditorToolbar.ts +20 -0
  117. package/src/components/EditorToolbar/view-mode.ts +17 -11
  118. package/src/components/index.ts +6 -2
  119. package/src/hooks/useTextEditor.ts +39 -45
  120. package/src/index.ts +0 -10
  121. package/src/stories/Automerge.stories.tsx +174 -0
  122. package/src/stories/CommandDialog.stories.tsx +81 -0
  123. package/src/stories/Comments.stories.tsx +59 -51
  124. package/src/stories/EditorToolbar.stories.tsx +47 -31
  125. package/src/stories/Experimental.stories.tsx +18 -16
  126. package/src/stories/Markdown.stories.tsx +37 -33
  127. package/src/stories/Outliner.stories.tsx +53 -42
  128. package/src/stories/Popover.stories.tsx +158 -0
  129. package/src/stories/Preview.stories.tsx +112 -92
  130. package/src/stories/Tags.stories.tsx +104 -0
  131. package/src/stories/TextEditor.stories.tsx +50 -75
  132. package/src/stories/Theme.stories.tsx +61 -0
  133. package/src/stories/components/EditorStory.tsx +37 -31
  134. package/src/stories/components/util.tsx +60 -31
  135. package/src/translations.ts +5 -5
  136. package/src/util/index.ts +1 -5
  137. package/src/util/react.tsx +9 -14
  138. package/dist/lib/browser/chunk-22UMM3QJ.mjs +0 -22
  139. package/dist/lib/browser/chunk-22UMM3QJ.mjs.map +0 -7
  140. package/dist/lib/browser/testing/index.mjs +0 -6
  141. package/dist/lib/browser/testing/index.mjs.map +0 -7
  142. package/dist/lib/browser/types/index.mjs +0 -13
  143. package/dist/lib/browser/types/index.mjs.map +0 -7
  144. package/dist/lib/node-esm/chunk-YXYQPV6R.mjs +0 -24
  145. package/dist/lib/node-esm/chunk-YXYQPV6R.mjs.map +0 -7
  146. package/dist/lib/node-esm/testing/index.mjs +0 -8
  147. package/dist/lib/node-esm/testing/index.mjs.map +0 -7
  148. package/dist/lib/node-esm/types/index.mjs +0 -14
  149. package/dist/lib/node-esm/types/index.mjs.map +0 -7
  150. package/dist/types/src/components/EditorToolbar/lists.d.ts +0 -19
  151. package/dist/types/src/components/EditorToolbar/lists.d.ts.map +0 -1
  152. package/dist/types/src/components/EditorToolbar/util.d.ts +0 -51
  153. package/dist/types/src/components/EditorToolbar/util.d.ts.map +0 -1
  154. package/dist/types/src/components/Popover/CommandMenu.d.ts +0 -34
  155. package/dist/types/src/components/Popover/CommandMenu.d.ts.map +0 -1
  156. package/dist/types/src/components/Popover/RefDropdownMenu.d.ts +0 -21
  157. package/dist/types/src/components/Popover/RefDropdownMenu.d.ts.map +0 -1
  158. package/dist/types/src/components/Popover/RefPopover.d.ts +0 -34
  159. package/dist/types/src/components/Popover/RefPopover.d.ts.map +0 -1
  160. package/dist/types/src/components/Popover/index.d.ts +0 -4
  161. package/dist/types/src/components/Popover/index.d.ts.map +0 -1
  162. package/dist/types/src/defaults.d.ts +0 -14
  163. package/dist/types/src/defaults.d.ts.map +0 -1
  164. package/dist/types/src/extensions/annotations.d.ts +0 -9
  165. package/dist/types/src/extensions/annotations.d.ts.map +0 -1
  166. package/dist/types/src/extensions/autocomplete.d.ts +0 -13
  167. package/dist/types/src/extensions/autocomplete.d.ts.map +0 -1
  168. package/dist/types/src/extensions/automerge/automerge.d.ts +0 -4
  169. package/dist/types/src/extensions/automerge/automerge.d.ts.map +0 -1
  170. package/dist/types/src/extensions/automerge/automerge.stories.d.ts.map +0 -1
  171. package/dist/types/src/extensions/automerge/automerge.test.d.ts +0 -2
  172. package/dist/types/src/extensions/automerge/automerge.test.d.ts.map +0 -1
  173. package/dist/types/src/extensions/automerge/cursor.d.ts +0 -4
  174. package/dist/types/src/extensions/automerge/cursor.d.ts.map +0 -1
  175. package/dist/types/src/extensions/automerge/defs.d.ts +0 -17
  176. package/dist/types/src/extensions/automerge/defs.d.ts.map +0 -1
  177. package/dist/types/src/extensions/automerge/index.d.ts +0 -2
  178. package/dist/types/src/extensions/automerge/index.d.ts.map +0 -1
  179. package/dist/types/src/extensions/automerge/sync.d.ts +0 -17
  180. package/dist/types/src/extensions/automerge/sync.d.ts.map +0 -1
  181. package/dist/types/src/extensions/automerge/update-automerge.d.ts +0 -6
  182. package/dist/types/src/extensions/automerge/update-automerge.d.ts.map +0 -1
  183. package/dist/types/src/extensions/automerge/update-codemirror.d.ts +0 -5
  184. package/dist/types/src/extensions/automerge/update-codemirror.d.ts.map +0 -1
  185. package/dist/types/src/extensions/awareness/awareness-provider.d.ts +0 -31
  186. package/dist/types/src/extensions/awareness/awareness-provider.d.ts.map +0 -1
  187. package/dist/types/src/extensions/awareness/awareness.d.ts +0 -46
  188. package/dist/types/src/extensions/awareness/awareness.d.ts.map +0 -1
  189. package/dist/types/src/extensions/awareness/index.d.ts +0 -3
  190. package/dist/types/src/extensions/awareness/index.d.ts.map +0 -1
  191. package/dist/types/src/extensions/blast.d.ts +0 -25
  192. package/dist/types/src/extensions/blast.d.ts.map +0 -1
  193. package/dist/types/src/extensions/command/action.d.ts +0 -17
  194. package/dist/types/src/extensions/command/action.d.ts.map +0 -1
  195. package/dist/types/src/extensions/command/command-menu.d.ts +0 -20
  196. package/dist/types/src/extensions/command/command-menu.d.ts.map +0 -1
  197. package/dist/types/src/extensions/command/command.d.ts +0 -6
  198. package/dist/types/src/extensions/command/command.d.ts.map +0 -1
  199. package/dist/types/src/extensions/command/floating-menu.d.ts +0 -7
  200. package/dist/types/src/extensions/command/floating-menu.d.ts.map +0 -1
  201. package/dist/types/src/extensions/command/hint.d.ts +0 -24
  202. package/dist/types/src/extensions/command/hint.d.ts.map +0 -1
  203. package/dist/types/src/extensions/command/index.d.ts +0 -7
  204. package/dist/types/src/extensions/command/index.d.ts.map +0 -1
  205. package/dist/types/src/extensions/command/placeholder.d.ts +0 -10
  206. package/dist/types/src/extensions/command/placeholder.d.ts.map +0 -1
  207. package/dist/types/src/extensions/command/state.d.ts +0 -16
  208. package/dist/types/src/extensions/command/state.d.ts.map +0 -1
  209. package/dist/types/src/extensions/command/typeahead.d.ts +0 -22
  210. package/dist/types/src/extensions/command/typeahead.d.ts.map +0 -1
  211. package/dist/types/src/extensions/command/useCommandMenu.d.ts +0 -26
  212. package/dist/types/src/extensions/command/useCommandMenu.d.ts.map +0 -1
  213. package/dist/types/src/extensions/comments.d.ts +0 -95
  214. package/dist/types/src/extensions/comments.d.ts.map +0 -1
  215. package/dist/types/src/extensions/debug.d.ts +0 -3
  216. package/dist/types/src/extensions/debug.d.ts.map +0 -1
  217. package/dist/types/src/extensions/dnd.d.ts +0 -9
  218. package/dist/types/src/extensions/dnd.d.ts.map +0 -1
  219. package/dist/types/src/extensions/factories.d.ts +0 -83
  220. package/dist/types/src/extensions/factories.d.ts.map +0 -1
  221. package/dist/types/src/extensions/focus.d.ts +0 -7
  222. package/dist/types/src/extensions/focus.d.ts.map +0 -1
  223. package/dist/types/src/extensions/folding.d.ts +0 -7
  224. package/dist/types/src/extensions/folding.d.ts.map +0 -1
  225. package/dist/types/src/extensions/hashtag.d.ts +0 -3
  226. package/dist/types/src/extensions/hashtag.d.ts.map +0 -1
  227. package/dist/types/src/extensions/index.d.ts +0 -23
  228. package/dist/types/src/extensions/index.d.ts.map +0 -1
  229. package/dist/types/src/extensions/json.d.ts +0 -7
  230. package/dist/types/src/extensions/json.d.ts.map +0 -1
  231. package/dist/types/src/extensions/listener.d.ts +0 -11
  232. package/dist/types/src/extensions/listener.d.ts.map +0 -1
  233. package/dist/types/src/extensions/markdown/action.d.ts +0 -12
  234. package/dist/types/src/extensions/markdown/action.d.ts.map +0 -1
  235. package/dist/types/src/extensions/markdown/bundle.d.ts +0 -16
  236. package/dist/types/src/extensions/markdown/bundle.d.ts.map +0 -1
  237. package/dist/types/src/extensions/markdown/changes.d.ts +0 -10
  238. package/dist/types/src/extensions/markdown/changes.d.ts.map +0 -1
  239. package/dist/types/src/extensions/markdown/changes.test.d.ts +0 -2
  240. package/dist/types/src/extensions/markdown/changes.test.d.ts.map +0 -1
  241. package/dist/types/src/extensions/markdown/debug.d.ts +0 -11
  242. package/dist/types/src/extensions/markdown/debug.d.ts.map +0 -1
  243. package/dist/types/src/extensions/markdown/decorate.d.ts +0 -17
  244. package/dist/types/src/extensions/markdown/decorate.d.ts.map +0 -1
  245. package/dist/types/src/extensions/markdown/formatting.d.ts +0 -63
  246. package/dist/types/src/extensions/markdown/formatting.d.ts.map +0 -1
  247. package/dist/types/src/extensions/markdown/formatting.test.d.ts +0 -3
  248. package/dist/types/src/extensions/markdown/formatting.test.d.ts.map +0 -1
  249. package/dist/types/src/extensions/markdown/highlight.d.ts +0 -37
  250. package/dist/types/src/extensions/markdown/highlight.d.ts.map +0 -1
  251. package/dist/types/src/extensions/markdown/image.d.ts +0 -7
  252. package/dist/types/src/extensions/markdown/image.d.ts.map +0 -1
  253. package/dist/types/src/extensions/markdown/index.d.ts +0 -10
  254. package/dist/types/src/extensions/markdown/index.d.ts.map +0 -1
  255. package/dist/types/src/extensions/markdown/link.d.ts +0 -7
  256. package/dist/types/src/extensions/markdown/link.d.ts.map +0 -1
  257. package/dist/types/src/extensions/markdown/parser.test.d.ts +0 -2
  258. package/dist/types/src/extensions/markdown/parser.test.d.ts.map +0 -1
  259. package/dist/types/src/extensions/markdown/styles.d.ts +0 -4
  260. package/dist/types/src/extensions/markdown/styles.d.ts.map +0 -1
  261. package/dist/types/src/extensions/markdown/table.d.ts +0 -8
  262. package/dist/types/src/extensions/markdown/table.d.ts.map +0 -1
  263. package/dist/types/src/extensions/mention.d.ts +0 -7
  264. package/dist/types/src/extensions/mention.d.ts.map +0 -1
  265. package/dist/types/src/extensions/modes.d.ts +0 -10
  266. package/dist/types/src/extensions/modes.d.ts.map +0 -1
  267. package/dist/types/src/extensions/outliner/commands.d.ts +0 -10
  268. package/dist/types/src/extensions/outliner/commands.d.ts.map +0 -1
  269. package/dist/types/src/extensions/outliner/editor.d.ts +0 -5
  270. package/dist/types/src/extensions/outliner/editor.d.ts.map +0 -1
  271. package/dist/types/src/extensions/outliner/editor.test.d.ts +0 -2
  272. package/dist/types/src/extensions/outliner/editor.test.d.ts.map +0 -1
  273. package/dist/types/src/extensions/outliner/index.d.ts +0 -4
  274. package/dist/types/src/extensions/outliner/index.d.ts.map +0 -1
  275. package/dist/types/src/extensions/outliner/outliner.d.ts +0 -11
  276. package/dist/types/src/extensions/outliner/outliner.d.ts.map +0 -1
  277. package/dist/types/src/extensions/outliner/outliner.test.d.ts +0 -2
  278. package/dist/types/src/extensions/outliner/outliner.test.d.ts.map +0 -1
  279. package/dist/types/src/extensions/outliner/selection.d.ts +0 -12
  280. package/dist/types/src/extensions/outliner/selection.d.ts.map +0 -1
  281. package/dist/types/src/extensions/outliner/tree.d.ts +0 -79
  282. package/dist/types/src/extensions/outliner/tree.d.ts.map +0 -1
  283. package/dist/types/src/extensions/outliner/tree.test.d.ts +0 -2
  284. package/dist/types/src/extensions/outliner/tree.test.d.ts.map +0 -1
  285. package/dist/types/src/extensions/preview/index.d.ts +0 -2
  286. package/dist/types/src/extensions/preview/index.d.ts.map +0 -1
  287. package/dist/types/src/extensions/preview/preview.d.ts +0 -32
  288. package/dist/types/src/extensions/preview/preview.d.ts.map +0 -1
  289. package/dist/types/src/extensions/selection.d.ts +0 -24
  290. package/dist/types/src/extensions/selection.d.ts.map +0 -1
  291. package/dist/types/src/extensions/typewriter.d.ts +0 -10
  292. package/dist/types/src/extensions/typewriter.d.ts.map +0 -1
  293. package/dist/types/src/stories/Command.stories.d.ts +0 -7
  294. package/dist/types/src/stories/Command.stories.d.ts.map +0 -1
  295. package/dist/types/src/stories/CommandMenu.stories.d.ts +0 -13
  296. package/dist/types/src/stories/CommandMenu.stories.d.ts.map +0 -1
  297. package/dist/types/src/styles/index.d.ts +0 -4
  298. package/dist/types/src/styles/index.d.ts.map +0 -1
  299. package/dist/types/src/styles/markdown.d.ts +0 -8
  300. package/dist/types/src/styles/markdown.d.ts.map +0 -1
  301. package/dist/types/src/styles/theme.d.ts +0 -38
  302. package/dist/types/src/styles/theme.d.ts.map +0 -1
  303. package/dist/types/src/styles/tokens.d.ts +0 -3
  304. package/dist/types/src/styles/tokens.d.ts.map +0 -1
  305. package/dist/types/src/testing/index.d.ts +0 -2
  306. package/dist/types/src/testing/index.d.ts.map +0 -1
  307. package/dist/types/src/testing/util.d.ts +0 -2
  308. package/dist/types/src/testing/util.d.ts.map +0 -1
  309. package/dist/types/src/types/index.d.ts +0 -2
  310. package/dist/types/src/types/index.d.ts.map +0 -1
  311. package/dist/types/src/types/types.d.ts +0 -21
  312. package/dist/types/src/types/types.d.ts.map +0 -1
  313. package/dist/types/src/util/cursor.d.ts +0 -31
  314. package/dist/types/src/util/cursor.d.ts.map +0 -1
  315. package/dist/types/src/util/debug.d.ts +0 -17
  316. package/dist/types/src/util/debug.d.ts.map +0 -1
  317. package/dist/types/src/util/dom.d.ts +0 -20
  318. package/dist/types/src/util/dom.d.ts.map +0 -1
  319. package/dist/types/src/util/facet.d.ts +0 -3
  320. package/dist/types/src/util/facet.d.ts.map +0 -1
  321. package/src/components/EditorToolbar/lists.ts +0 -59
  322. package/src/components/EditorToolbar/util.ts +0 -65
  323. package/src/components/Popover/CommandMenu.tsx +0 -279
  324. package/src/components/Popover/RefDropdownMenu.tsx +0 -85
  325. package/src/components/Popover/RefPopover.tsx +0 -99
  326. package/src/components/Popover/index.ts +0 -7
  327. package/src/defaults.ts +0 -49
  328. package/src/extensions/annotations.ts +0 -55
  329. package/src/extensions/autocomplete.ts +0 -69
  330. package/src/extensions/automerge/automerge.stories.tsx +0 -142
  331. package/src/extensions/automerge/automerge.test.tsx +0 -78
  332. package/src/extensions/automerge/automerge.ts +0 -85
  333. package/src/extensions/automerge/cursor.ts +0 -28
  334. package/src/extensions/automerge/defs.ts +0 -31
  335. package/src/extensions/automerge/index.ts +0 -5
  336. package/src/extensions/automerge/sync.ts +0 -75
  337. package/src/extensions/automerge/update-automerge.ts +0 -50
  338. package/src/extensions/automerge/update-codemirror.ts +0 -115
  339. package/src/extensions/awareness/awareness-provider.ts +0 -127
  340. package/src/extensions/awareness/awareness.ts +0 -315
  341. package/src/extensions/awareness/index.ts +0 -6
  342. package/src/extensions/blast.ts +0 -363
  343. package/src/extensions/command/action.ts +0 -56
  344. package/src/extensions/command/command-menu.ts +0 -210
  345. package/src/extensions/command/command.ts +0 -34
  346. package/src/extensions/command/floating-menu.ts +0 -133
  347. package/src/extensions/command/hint.ts +0 -102
  348. package/src/extensions/command/index.ts +0 -10
  349. package/src/extensions/command/placeholder.ts +0 -113
  350. package/src/extensions/command/state.ts +0 -89
  351. package/src/extensions/command/typeahead.ts +0 -129
  352. package/src/extensions/command/useCommandMenu.ts +0 -118
  353. package/src/extensions/comments.ts +0 -592
  354. package/src/extensions/debug.ts +0 -15
  355. package/src/extensions/dnd.ts +0 -37
  356. package/src/extensions/factories.ts +0 -259
  357. package/src/extensions/focus.ts +0 -35
  358. package/src/extensions/folding.tsx +0 -46
  359. package/src/extensions/hashtag.tsx +0 -68
  360. package/src/extensions/index.ts +0 -26
  361. package/src/extensions/json.ts +0 -57
  362. package/src/extensions/listener.ts +0 -38
  363. package/src/extensions/markdown/action.ts +0 -116
  364. package/src/extensions/markdown/bundle.ts +0 -71
  365. package/src/extensions/markdown/changes.test.ts +0 -26
  366. package/src/extensions/markdown/changes.ts +0 -149
  367. package/src/extensions/markdown/debug.ts +0 -44
  368. package/src/extensions/markdown/decorate.ts +0 -591
  369. package/src/extensions/markdown/formatting.test.ts +0 -498
  370. package/src/extensions/markdown/formatting.ts +0 -1267
  371. package/src/extensions/markdown/highlight.ts +0 -183
  372. package/src/extensions/markdown/image.ts +0 -119
  373. package/src/extensions/markdown/index.ts +0 -13
  374. package/src/extensions/markdown/link.ts +0 -47
  375. package/src/extensions/markdown/parser.test.ts +0 -75
  376. package/src/extensions/markdown/styles.ts +0 -135
  377. package/src/extensions/markdown/table.ts +0 -144
  378. package/src/extensions/mention.ts +0 -41
  379. package/src/extensions/modes.ts +0 -41
  380. package/src/extensions/outliner/commands.ts +0 -270
  381. package/src/extensions/outliner/editor.test.ts +0 -33
  382. package/src/extensions/outliner/editor.ts +0 -184
  383. package/src/extensions/outliner/index.ts +0 -7
  384. package/src/extensions/outliner/outliner.test.ts +0 -99
  385. package/src/extensions/outliner/outliner.ts +0 -166
  386. package/src/extensions/outliner/selection.ts +0 -50
  387. package/src/extensions/outliner/tree.test.ts +0 -167
  388. package/src/extensions/outliner/tree.ts +0 -317
  389. package/src/extensions/preview/index.ts +0 -5
  390. package/src/extensions/preview/preview.ts +0 -193
  391. package/src/extensions/selection.ts +0 -100
  392. package/src/extensions/typewriter.ts +0 -68
  393. package/src/stories/Command.stories.tsx +0 -97
  394. package/src/stories/CommandMenu.stories.tsx +0 -159
  395. package/src/styles/index.ts +0 -7
  396. package/src/styles/markdown.ts +0 -26
  397. package/src/styles/theme.ts +0 -265
  398. package/src/styles/tokens.ts +0 -17
  399. package/src/testing/index.ts +0 -5
  400. package/src/testing/util.ts +0 -5
  401. package/src/types/index.ts +0 -5
  402. package/src/types/types.ts +0 -32
  403. package/src/util/cursor.ts +0 -55
  404. package/src/util/debug.ts +0 -64
  405. package/src/util/dom.ts +0 -56
  406. package/src/util/facet.ts +0 -13
@@ -0,0 +1,61 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import { type Meta, type StoryObj } from '@storybook/react-vite';
6
+ import React, { useMemo } from 'react';
7
+
8
+ import { useThemeContext } from '@dxos/react-ui';
9
+ import { withLayout, withTheme } from '@dxos/react-ui/testing';
10
+ import { createBasicExtensions, createThemeExtensions } from '@dxos/ui-editor';
11
+
12
+ import { Editor } from '../components';
13
+
14
+ const createText = (monospace?: boolean) =>
15
+ [`${monospace ? 'monospace' : 'body'}`, 'Hello world', '0123456789'].join('\n');
16
+
17
+ const DefaultStory = () => {
18
+ const { themeMode } = useThemeContext();
19
+ const [ext1, ext2] = useMemo(
20
+ () => [
21
+ //
22
+ [
23
+ createBasicExtensions({ placeholder: 'Enter text', search: true }),
24
+ createThemeExtensions({ themeMode, monospace: false }),
25
+ ],
26
+ [
27
+ createBasicExtensions({ placeholder: 'Enter text', search: true }),
28
+ createThemeExtensions({ themeMode, monospace: true }),
29
+ ],
30
+ ],
31
+ [],
32
+ );
33
+
34
+ return (
35
+ <div className='w-full grid grid-cols-2 gap-2'>
36
+ <Editor.Root>
37
+ <Editor.Content classNames='p-2' extensions={ext1} initialValue={createText(false)} />
38
+ </Editor.Root>
39
+ <Editor.Root>
40
+ <Editor.Content classNames='p-2' extensions={ext2} initialValue={createText(true)} />
41
+ </Editor.Root>
42
+ </div>
43
+ );
44
+ };
45
+
46
+ const meta: Meta<typeof DefaultStory> = {
47
+ title: 'ui/react-ui-editor/Theme',
48
+ component: DefaultStory,
49
+ decorators: [withTheme(), withLayout({ layout: 'fullscreen' })],
50
+ parameters: {
51
+ layout: 'fullscreen',
52
+ },
53
+ };
54
+
55
+ export default meta;
56
+
57
+ type Story = StoryObj<typeof meta>;
58
+
59
+ export const Default: Story = {
60
+ args: {},
61
+ };
@@ -3,64 +3,67 @@
3
3
  //
4
4
 
5
5
  import { type EditorView } from '@codemirror/view';
6
- import React, { type ReactNode, forwardRef, useEffect, useState, useImperativeHandle, useMemo } from 'react';
6
+ import React, { type ReactNode, forwardRef, useEffect, useImperativeHandle, useMemo, useRef, useState } from 'react';
7
7
 
8
- import { Expando } from '@dxos/echo-schema';
8
+ import { Obj } from '@dxos/echo';
9
+ import { TestSchema } from '@dxos/echo/testing';
9
10
  import { invariant } from '@dxos/invariant';
10
11
  import { PublicKey } from '@dxos/keys';
11
- import { live } from '@dxos/live-object';
12
- import { createDocAccessor, createObject } from '@dxos/react-client/echo';
13
- import { useForwardedRef, useThemeContext } from '@dxos/react-ui';
12
+ import { log } from '@dxos/log';
13
+ import { useMergeRefs, useThemeContext } from '@dxos/react-ui';
14
14
  import { useAttentionAttributes } from '@dxos/react-ui-attention';
15
15
  import { JsonFilter } from '@dxos/react-ui-syntax-highlighter';
16
- import { mx } from '@dxos/react-ui-theme';
17
- import { isNonNullable } from '@dxos/util';
18
-
19
- import { editorSlots, editorGutter } from '../../defaults';
20
16
  import {
21
17
  type DebugNode,
22
18
  type ThemeExtensionsOptions,
23
- createDataExtensions,
24
19
  createBasicExtensions,
25
20
  createMarkdownExtensions,
26
21
  createThemeExtensions,
27
22
  debugTree,
28
- } from '../../extensions';
29
- import { useTextEditor, type UseTextEditorProps } from '../../hooks';
23
+ editorSlots,
24
+ } from '@dxos/ui-editor';
25
+ import { mx } from '@dxos/ui-theme';
26
+ import { isNonNullable } from '@dxos/util';
27
+
28
+ import { type EditorController, createEditorController } from '../../components';
29
+ import { type UseTextEditorProps, useTextEditor } from '../../hooks';
30
30
 
31
31
  // Type definitions.
32
32
  export type DebugMode = 'raw' | 'tree' | 'raw+tree';
33
33
 
34
34
  const defaultId = 'editor-' + PublicKey.random().toHex().slice(0, 8);
35
35
 
36
- export type StoryProps = Pick<UseTextEditorProps, 'scrollTo' | 'selection' | 'extensions'> &
36
+ export type StoryProps = Pick<UseTextEditorProps, 'id' | 'scrollTo' | 'selection' | 'extensions'> &
37
37
  Pick<ThemeExtensionsOptions, 'slots'> & {
38
- id?: string;
39
38
  debug?: DebugMode;
40
39
  debugCustom?: (view: EditorView) => ReactNode;
41
40
  text?: string;
42
- object?: Expando;
41
+ object?: Obj.OfShape<TestSchema.Expando>;
43
42
  readOnly?: boolean;
44
43
  placeholder?: string;
45
44
  lineNumbers?: boolean;
45
+ monospace?: boolean;
46
46
  onReady?: (view: EditorView) => void;
47
47
  };
48
48
 
49
- export const EditorStory = forwardRef<EditorView | undefined, StoryProps>(
50
- ({ debug, debugCustom, text, extensions: _extensions, ...props }, forwardedRef) => {
51
- const attentionAttrs = useAttentionAttributes('testing');
49
+ export const EditorStory = forwardRef<EditorController, StoryProps>(
50
+ ({ debug, debugCustom, text, extensions: extensionsProp, ...props }, forwardedRef) => {
51
+ const controllerRef = useRef<EditorController>(null);
52
+ const mergedRef = useMergeRefs([controllerRef, forwardedRef]);
53
+
54
+ const attentionAttrs = useAttentionAttributes('test-panel');
52
55
  const [tree, setTree] = useState<DebugNode>();
53
- const [object] = useState(createObject(live(Expando, { content: text ?? '' })));
54
- const viewRef = useForwardedRef(forwardedRef);
55
- const view = viewRef.current;
56
+ const [object] = useState(Obj.make(TestSchema.Expando, { content: text ?? '' }));
57
+
56
58
  const extensions = useMemo(
57
- () => (debug ? [_extensions, debugTree(setTree)].filter(isNonNullable) : _extensions),
58
- [debug, _extensions],
59
+ () => (debug ? [extensionsProp, debugTree(setTree)].filter(isNonNullable) : extensionsProp),
60
+ [debug, extensionsProp],
59
61
  );
60
62
 
63
+ const view = controllerRef.current?.view;
61
64
  return (
62
65
  <div className={mx('w-full h-full grid overflow-hidden', debug && 'grid-cols-2 lg:grid-cols-[1fr_600px]')}>
63
- <EditorComponent ref={viewRef} object={object} text={text} extensions={extensions} {...props} />
66
+ <EditorComponent ref={mergedRef} object={object} text={text} extensions={extensions} {...props} />
64
67
 
65
68
  {debug && (
66
69
  <div
@@ -84,7 +87,7 @@ export const EditorStory = forwardRef<EditorView | undefined, StoryProps>(
84
87
  /**
85
88
  * Default story component.
86
89
  */
87
- export const EditorComponent = forwardRef<EditorView | undefined, StoryProps>(
90
+ const EditorComponent = forwardRef<EditorController, StoryProps>(
88
91
  (
89
92
  {
90
93
  id = defaultId,
@@ -93,6 +96,7 @@ export const EditorComponent = forwardRef<EditorView | undefined, StoryProps>(
93
96
  readOnly,
94
97
  placeholder = 'New document.',
95
98
  lineNumbers,
99
+ monospace,
96
100
  scrollTo,
97
101
  selection,
98
102
  extensions,
@@ -111,18 +115,20 @@ export const EditorComponent = forwardRef<EditorView | undefined, StoryProps>(
111
115
  selection,
112
116
  initialValue: text,
113
117
  extensions: [
114
- createDataExtensions({ id, text: createDocAccessor(object, ['content']) }),
115
- createBasicExtensions({ readOnly, placeholder, lineNumbers, scrollPastEnd: true }),
116
- createMarkdownExtensions({ themeMode }),
117
- createThemeExtensions({ themeMode, syntaxHighlighting: true, slots }),
118
- editorGutter,
118
+ createBasicExtensions({ readOnly, placeholder, lineNumbers, scrollPastEnd: true, search: true }),
119
+ createThemeExtensions({ monospace, themeMode, syntaxHighlighting: true, slots }),
120
+ createMarkdownExtensions(),
119
121
  extensions || [],
120
122
  ],
121
123
  }),
122
124
  [id, object, extensions, themeMode],
123
125
  );
124
126
 
125
- useImperativeHandle(forwardedRef, () => view, [view]);
127
+ // External controller.
128
+ useImperativeHandle(forwardedRef, () => {
129
+ log.info('view updated', { id });
130
+ return createEditorController(view);
131
+ }, [id, view]);
126
132
 
127
133
  useEffect(() => {
128
134
  if (view) {
@@ -4,29 +4,29 @@
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
7
 
9
8
  import { faker } from '@dxos/random';
10
- import { Icon } from '@dxos/react-ui';
11
- import { mx } from '@dxos/react-ui-theme';
12
-
9
+ import { Domino } from '@dxos/ui';
13
10
  import {
14
11
  type EditorSelectionState,
12
+ type RenderCallback,
15
13
  decorateMarkdown,
16
14
  folding,
17
15
  formattingKeymap,
18
16
  image,
19
17
  linkTooltip,
20
18
  table,
21
- } from '../../extensions';
22
- import { str } from '../../testing';
23
- import { createRenderer } from '../../util';
19
+ } from '@dxos/ui-editor';
20
+ import { safeUrl } from '@dxos/util';
21
+
22
+ import { str } from '../../util';
24
23
 
25
24
  export const num = () => faker.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,7 +38,7 @@ 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
44
  `- [x] ${faker.lorem.sentences()}`,
@@ -50,7 +50,7 @@ export const content = {
50
50
  ),
51
51
 
52
52
  bullets: str(
53
- //
53
+ // prettier-ignore
54
54
  '### BulletList',
55
55
  '',
56
56
  `- ${faker.lorem.sentences()}`,
@@ -62,7 +62,7 @@ export const content = {
62
62
  ),
63
63
 
64
64
  numbered: str(
65
- //
65
+ // prettier-ignore
66
66
  '### OrderedList (part 1)',
67
67
  '',
68
68
  `1. ${faker.lorem.sentences()}`,
@@ -81,11 +81,34 @@ export const content = {
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,6 +120,7 @@ export const content = {
97
120
  ),
98
121
 
99
122
  table: str(
123
+ // prettier-ignore
100
124
  '### Tables',
101
125
  '',
102
126
  `| ${faker.lorem.word().padStart(12)} | ${faker.lorem.word().padStart(12)} | ${faker.lorem.word().padStart(12)} |`,
@@ -113,9 +137,16 @@ export const content = {
113
137
  ...[1, 2, 3, 4, 5, 6].map((level) => ['#'.repeat(level) + ` Heading ${level}`, faker.lorem.sentences(), '']).flat(),
114
138
  ),
115
139
 
116
- formatting: str('### Formatting', '', 'This this is **bold**, ~~strikethrough~~, _italic_, and `f(INLINE)`.', ''),
140
+ formatting: str(
141
+ // prettier-ignore
142
+ '### Formatting',
143
+ '',
144
+ 'This this is **bold**, ~~strikethrough~~, _italic_, and `f(INLINE)`.',
145
+ '',
146
+ ),
117
147
 
118
148
  blockquotes: str(
149
+ // prettier-ignore
119
150
  '### Blockquotes',
120
151
  '',
121
152
  '> This is a block quote.',
@@ -154,6 +185,7 @@ export const text = str(
154
185
  '---',
155
186
  '## Misc',
156
187
  content.codeblocks,
188
+ content.comment,
157
189
  content.table,
158
190
  content.image,
159
191
  content.footer,
@@ -172,30 +204,27 @@ export const links: Completion[] = [
172
204
  export const names = ['adam', 'alice', 'alison', 'bob', 'carol', 'charlie', 'sayuri', 'shoko'];
173
205
 
174
206
  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>
207
+ 'rounded-xs text-base-surface-text text-primary-600 hover:text-primary-500 dark:text-primary-300 hover:dark:text-primary-200';
208
+
209
+ export const renderLinkTooltip: RenderCallback<{ url: string }> = (el, { url }) => {
210
+ el.appendChild(
211
+ Domino.of('a')
212
+ .attributes({ href: url, target: '_blank', rel: 'noreferrer', 'aria-label': 'Open link' })
213
+ .classNames(hover, 'flex items-center gap-2')
214
+ .text(safeUrl(url)?.origin ?? url)
215
+ .children(Domino.svg('ph--arrow-square-out--regular')).root,
184
216
  );
185
217
  };
186
218
 
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>
219
+ export const renderLinkButton: RenderCallback<{ url: string }> = (el, { url }) => {
220
+ el.appendChild(
221
+ Domino.of('a')
222
+ .attributes({ href: url, target: '_blank', rel: 'noreferrer', 'aria-label': 'Open link' })
223
+ .classNames(hover, 'inline-block ms-1 align-[-0.125em]') // Center icon.
224
+ .children(Domino.svg('ph--arrow-square-out--regular')).root,
194
225
  );
195
226
  };
196
227
 
197
- export const renderLinkButton = createRenderer(LinkButton);
198
-
199
228
  // Shared extensions.
200
229
  export const defaultExtensions: Extension[] = [
201
230
  decorateMarkdown({ renderLinkButton, selectionChangeDelay: 100 }),
@@ -4,7 +4,7 @@
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
  {
@@ -24,16 +24,16 @@ export const translations = [
24
24
  'selection overlaps existing comment label': 'Selection overlaps existing comment',
25
25
  'select text to comment label': 'Select text to comment',
26
26
  'image label': 'Insert image',
27
- 'heading label': 'Heading level',
28
27
  'table label': 'Create table',
28
+ 'heading label': 'Heading level',
29
29
  'heading level label_zero': 'Paragraph',
30
30
  'heading level label_one': 'Heading level {{count}}',
31
31
  'heading level label_other': 'Heading level {{count}}',
32
+ 'search label': 'Search',
32
33
  'view mode label': 'Editor view',
33
- 'preview mode label': 'Live preview',
34
+ 'preview mode label': 'Markdown',
34
35
  'readonly mode label': 'Read only',
35
- 'search label': 'Search',
36
- 'source mode label': 'Source',
36
+ 'source mode label': 'Plain text',
37
37
  },
38
38
  },
39
39
  },
package/src/util/index.ts CHANGED
@@ -1,9 +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 './debug';
7
- export * from './dom';
8
- export * from './facet';
9
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';
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
- <Props extends object>(Component: FC<Props>): RenderCallback<Props> =>
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 { Schema } from "effect";
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-22UMM3QJ.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 { Schema } from 'effect';\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,SAASA,cAAc;AAoBhB,IAAMC,kBAAkB;EAAC;EAAW;EAAY;;AAChD,IAAMC,iBAAiBC,OAAOC,MAAK,GAAIH,gBAAgBI,IAAI,CAACC,SAASH,OAAOI,QAAQD,IAAAA,CAAAA,CAAAA;AAGpF,IAAME,mBAAmB;EAAC;EAAW;EAAO;;AAC5C,IAAMC,kBAAkBN,OAAOC,MAAK,GAAII,iBAAiBH,IAAI,CAACC,SAASH,OAAOI,QAAQD,IAAAA,CAAAA,CAAAA;",
6
- "names": ["Schema", "EditorViewModes", "EditorViewMode", "Schema", "Union", "map", "mode", "Literal", "EditorInputModes", "EditorInputMode"]
7
- }
@@ -1,6 +0,0 @@
1
- // src/testing/util.ts
2
- var str = (...lines) => lines.join("\n");
3
- export {
4
- str
5
- };
6
- //# sourceMappingURL=index.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../src/testing/util.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nexport const str = (...lines: string[]) => lines.join('\\n');\n"],
5
- "mappings": ";AAIO,IAAMA,MAAM,IAAIC,UAAoBA,MAAMC,KAAK,IAAA;",
6
- "names": ["str", "lines", "join"]
7
- }
@@ -1,13 +0,0 @@
1
- import {
2
- EditorInputMode,
3
- EditorInputModes,
4
- EditorViewMode,
5
- EditorViewModes
6
- } from "../chunk-22UMM3QJ.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 { Schema } from "effect";
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-YXYQPV6R.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 { Schema } from 'effect';\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,SAASA,cAAc;AAoBhB,IAAMC,kBAAkB;EAAC;EAAW;EAAY;;AAChD,IAAMC,iBAAiBC,OAAOC,MAAK,GAAIH,gBAAgBI,IAAI,CAACC,SAASH,OAAOI,QAAQD,IAAAA,CAAAA,CAAAA;AAGpF,IAAME,mBAAmB;EAAC;EAAW;EAAO;;AAC5C,IAAMC,kBAAkBN,OAAOC,MAAK,GAAII,iBAAiBH,IAAI,CAACC,SAASH,OAAOI,QAAQD,IAAAA,CAAAA,CAAAA;",
6
- "names": ["Schema", "EditorViewModes", "EditorViewMode", "Schema", "Union", "map", "mode", "Literal", "EditorInputModes", "EditorInputMode"]
7
- }
@@ -1,8 +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
- export {
6
- str
7
- };
8
- //# sourceMappingURL=index.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../src/testing/util.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nexport const str = (...lines: string[]) => lines.join('\\n');\n"],
5
- "mappings": ";;;AAIO,IAAMA,MAAM,IAAIC,UAAoBA,MAAMC,KAAK,IAAA;",
6
- "names": ["str", "lines", "join"]
7
- }
@@ -1,14 +0,0 @@
1
- import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
- import {
3
- EditorInputMode,
4
- EditorInputModes,
5
- EditorViewMode,
6
- EditorViewModes
7
- } from "../chunk-YXYQPV6R.mjs";
8
- export {
9
- EditorInputMode,
10
- EditorInputModes,
11
- EditorViewMode,
12
- EditorViewModes
13
- };
14
- //# sourceMappingURL=index.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": [],
4
- "sourcesContent": [],
5
- "mappings": "",
6
- "names": []
7
- }
@@ -1,19 +0,0 @@
1
- import { type EditorView } from '@codemirror/view';
2
- import { type NodeArg } from '@dxos/app-graph';
3
- import { type EditorToolbarState } from './util';
4
- export declare const createLists: (state: EditorToolbarState, getView: () => EditorView) => {
5
- nodes: (Readonly<Omit<Readonly<{
6
- id: string;
7
- type: string;
8
- cacheable?: string[];
9
- properties: Readonly<import("@dxos/react-ui-menu").MenuActionProperties>;
10
- data: import("@dxos/app-graph").ActionData;
11
- }>, "properties"> & {
12
- properties: Readonly<import("@dxos/react-ui-menu").MenuActionProperties>;
13
- }> | NodeArg<any>)[];
14
- edges: {
15
- source: string;
16
- target: string;
17
- }[];
18
- };
19
- //# sourceMappingURL=lists.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lists.d.ts","sourceRoot":"","sources":["../../../../../src/components/EditorToolbar/lists.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAG/C,OAAO,EAA+C,KAAK,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAsC9F,eAAO,MAAM,WAAW,GAAI,OAAO,kBAAkB,EAAE,SAAS,MAAM,UAAU;;;;;;;;;;;;;;CAW/E,CAAC"}