@dxos/react-ui-editor 0.8.4-main.ae835ea → 0.8.4-main.bc674ce

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 (416) hide show
  1. package/dist/lib/browser/index.mjs +1103 -8137
  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 +1103 -8136
  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 -30
  8. package/dist/types/src/components/Editor/Editor.d.ts.map +1 -1
  9. package/dist/types/src/components/Editor/Editor.stories.d.ts +16 -20
  10. package/dist/types/src/components/Editor/Editor.stories.d.ts.map +1 -1
  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/{extensions/popover/PopoverMenuProvider.d.ts → components/EditorMenuProvider/EditorMenuProvider.d.ts} +6 -6
  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/{extensions/popover → components/EditorMenuProvider}/popover.d.ts +1 -2
  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 +14 -3
  34. package/dist/types/src/components/EditorToolbar/EditorToolbar.d.ts.map +1 -1
  35. package/dist/types/src/components/EditorToolbar/actions.d.ts +24 -0
  36. package/dist/types/src/components/EditorToolbar/actions.d.ts.map +1 -0
  37. package/dist/types/src/components/EditorToolbar/blocks.d.ts +8 -7
  38. package/dist/types/src/components/EditorToolbar/blocks.d.ts.map +1 -1
  39. package/dist/types/src/components/EditorToolbar/formatting.d.ts +8 -7
  40. package/dist/types/src/components/EditorToolbar/formatting.d.ts.map +1 -1
  41. package/dist/types/src/components/EditorToolbar/headings.d.ts +8 -7
  42. package/dist/types/src/components/EditorToolbar/headings.d.ts.map +1 -1
  43. package/dist/types/src/components/EditorToolbar/image.d.ts +4 -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 +4 -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 +9 -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 -1
  54. package/dist/types/src/components/index.d.ts.map +1 -1
  55. package/dist/types/src/hooks/useTextEditor.d.ts +2 -2
  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} +5 -9
  60. package/dist/types/src/stories/Automerge.stories.d.ts.map +1 -0
  61. package/dist/types/src/stories/CommandDialog.stories.d.ts.map +1 -1
  62. package/dist/types/src/stories/Comments.stories.d.ts +4 -3
  63. package/dist/types/src/stories/Comments.stories.d.ts.map +1 -1
  64. package/dist/types/src/stories/EditorToolbar.stories.d.ts +4 -4
  65. package/dist/types/src/stories/EditorToolbar.stories.d.ts.map +1 -1
  66. package/dist/types/src/stories/Experimental.stories.d.ts +4 -3
  67. package/dist/types/src/stories/Experimental.stories.d.ts.map +1 -1
  68. package/dist/types/src/stories/Markdown.stories.d.ts +4 -3
  69. package/dist/types/src/stories/Markdown.stories.d.ts.map +1 -1
  70. package/dist/types/src/stories/Outliner.stories.d.ts.map +1 -1
  71. package/dist/types/src/stories/Popover.stories.d.ts +2 -2
  72. package/dist/types/src/stories/Popover.stories.d.ts.map +1 -1
  73. package/dist/types/src/stories/Preview.stories.d.ts +5 -3
  74. package/dist/types/src/stories/Preview.stories.d.ts.map +1 -1
  75. package/dist/types/src/stories/Tags.stories.d.ts.map +1 -1
  76. package/dist/types/src/stories/TextEditor.stories.d.ts +4 -3
  77. package/dist/types/src/stories/TextEditor.stories.d.ts.map +1 -1
  78. package/dist/types/src/stories/Theme.stories.d.ts +8 -0
  79. package/dist/types/src/stories/Theme.stories.d.ts.map +1 -0
  80. package/dist/types/src/stories/components/EditorStory.d.ts +10 -19
  81. package/dist/types/src/stories/components/EditorStory.d.ts.map +1 -1
  82. package/dist/types/src/stories/components/util.d.ts +3 -3
  83. package/dist/types/src/stories/components/util.d.ts.map +1 -1
  84. package/dist/types/src/translations.d.ts +5 -5
  85. package/dist/types/src/translations.d.ts.map +1 -1
  86. package/dist/types/src/util/index.d.ts +0 -5
  87. package/dist/types/src/util/index.d.ts.map +1 -1
  88. package/dist/types/src/util/react.d.ts +5 -1
  89. package/dist/types/src/util/react.d.ts.map +1 -1
  90. package/dist/types/tsconfig.tsbuildinfo +1 -1
  91. package/package.json +63 -69
  92. package/src/components/Editor/Editor.stories.tsx +76 -50
  93. package/src/components/Editor/Editor.tsx +160 -63
  94. package/src/components/EditorContent/EditorContent.tsx +83 -0
  95. package/src/components/EditorContent/controller.ts +50 -0
  96. package/src/components/EditorContent/index.ts +6 -0
  97. package/src/{extensions/popover/PopoverMenuProvider.tsx → components/EditorMenuProvider/EditorMenuProvider.tsx} +27 -14
  98. package/src/components/EditorMenuProvider/index.ts +10 -0
  99. package/src/{extensions/popover → components/EditorMenuProvider}/menu-presets.ts +19 -19
  100. package/src/{extensions/popover → components/EditorMenuProvider}/menu.ts +21 -18
  101. package/src/{extensions/popover → components/EditorMenuProvider}/popover.ts +3 -7
  102. package/src/{extensions/popover/usePopoverMenu.ts → components/EditorMenuProvider/useEditorMenu.ts} +21 -21
  103. package/src/components/EditorPreviewProvider/EditorPreviewProvider.tsx +81 -0
  104. package/src/components/EditorPreviewProvider/index.ts +5 -0
  105. package/src/components/EditorToolbar/EditorToolbar.tsx +30 -17
  106. package/src/components/EditorToolbar/{lists.ts → actions.ts} +48 -17
  107. package/src/components/EditorToolbar/blocks.ts +5 -5
  108. package/src/components/EditorToolbar/formatting.ts +5 -5
  109. package/src/components/EditorToolbar/headings.ts +5 -4
  110. package/src/components/EditorToolbar/image.ts +9 -2
  111. package/src/components/EditorToolbar/index.ts +3 -7
  112. package/src/components/EditorToolbar/search.ts +9 -2
  113. package/src/components/EditorToolbar/useEditorToolbar.ts +20 -0
  114. package/src/components/EditorToolbar/view-mode.ts +5 -4
  115. package/src/components/index.ts +6 -1
  116. package/src/hooks/useTextEditor.ts +13 -7
  117. package/src/index.ts +0 -10
  118. package/src/stories/Automerge.stories.tsx +175 -0
  119. package/src/stories/CommandDialog.stories.tsx +12 -9
  120. package/src/stories/Comments.stories.tsx +47 -43
  121. package/src/stories/EditorToolbar.stories.tsx +31 -15
  122. package/src/stories/Experimental.stories.tsx +4 -6
  123. package/src/stories/Markdown.stories.tsx +14 -14
  124. package/src/stories/Outliner.stories.tsx +16 -24
  125. package/src/stories/Popover.stories.tsx +40 -45
  126. package/src/stories/Preview.stories.tsx +76 -74
  127. package/src/stories/Tags.stories.tsx +32 -9
  128. package/src/stories/TextEditor.stories.tsx +11 -17
  129. package/src/stories/Theme.stories.tsx +61 -0
  130. package/src/stories/components/EditorStory.tsx +34 -27
  131. package/src/stories/components/util.tsx +43 -11
  132. package/src/translations.ts +4 -4
  133. package/src/util/index.ts +1 -6
  134. package/src/util/react.tsx +6 -2
  135. package/dist/lib/browser/chunk-HL3YF6WC.mjs +0 -22
  136. package/dist/lib/browser/chunk-HL3YF6WC.mjs.map +0 -7
  137. package/dist/lib/browser/testing/index.mjs +0 -76
  138. package/dist/lib/browser/testing/index.mjs.map +0 -7
  139. package/dist/lib/browser/types/index.mjs +0 -13
  140. package/dist/lib/browser/types/index.mjs.map +0 -7
  141. package/dist/lib/node-esm/chunk-YJZGD3LY.mjs +0 -24
  142. package/dist/lib/node-esm/chunk-YJZGD3LY.mjs.map +0 -7
  143. package/dist/lib/node-esm/testing/index.mjs +0 -78
  144. package/dist/lib/node-esm/testing/index.mjs.map +0 -7
  145. package/dist/lib/node-esm/types/index.mjs +0 -14
  146. package/dist/lib/node-esm/types/index.mjs.map +0 -7
  147. package/dist/types/src/components/EditorToolbar/lists.d.ts +0 -19
  148. package/dist/types/src/components/EditorToolbar/lists.d.ts.map +0 -1
  149. package/dist/types/src/components/EditorToolbar/util.d.ts +0 -37
  150. package/dist/types/src/components/EditorToolbar/util.d.ts.map +0 -1
  151. package/dist/types/src/defaults.d.ts +0 -14
  152. package/dist/types/src/defaults.d.ts.map +0 -1
  153. package/dist/types/src/extensions/annotations.d.ts +0 -9
  154. package/dist/types/src/extensions/annotations.d.ts.map +0 -1
  155. package/dist/types/src/extensions/autocomplete/autocomplete.d.ts +0 -26
  156. package/dist/types/src/extensions/autocomplete/autocomplete.d.ts.map +0 -1
  157. package/dist/types/src/extensions/autocomplete/index.d.ts +0 -5
  158. package/dist/types/src/extensions/autocomplete/index.d.ts.map +0 -1
  159. package/dist/types/src/extensions/autocomplete/match.d.ts +0 -13
  160. package/dist/types/src/extensions/autocomplete/match.d.ts.map +0 -1
  161. package/dist/types/src/extensions/autocomplete/placeholder.d.ts +0 -20
  162. package/dist/types/src/extensions/autocomplete/placeholder.d.ts.map +0 -1
  163. package/dist/types/src/extensions/autocomplete/typeahead.d.ts +0 -10
  164. package/dist/types/src/extensions/autocomplete/typeahead.d.ts.map +0 -1
  165. package/dist/types/src/extensions/automerge/automerge.d.ts +0 -4
  166. package/dist/types/src/extensions/automerge/automerge.d.ts.map +0 -1
  167. package/dist/types/src/extensions/automerge/automerge.stories.d.ts.map +0 -1
  168. package/dist/types/src/extensions/automerge/automerge.test.d.ts +0 -2
  169. package/dist/types/src/extensions/automerge/automerge.test.d.ts.map +0 -1
  170. package/dist/types/src/extensions/automerge/cursor.d.ts +0 -4
  171. package/dist/types/src/extensions/automerge/cursor.d.ts.map +0 -1
  172. package/dist/types/src/extensions/automerge/defs.d.ts +0 -17
  173. package/dist/types/src/extensions/automerge/defs.d.ts.map +0 -1
  174. package/dist/types/src/extensions/automerge/index.d.ts +0 -2
  175. package/dist/types/src/extensions/automerge/index.d.ts.map +0 -1
  176. package/dist/types/src/extensions/automerge/sync.d.ts +0 -17
  177. package/dist/types/src/extensions/automerge/sync.d.ts.map +0 -1
  178. package/dist/types/src/extensions/automerge/update-automerge.d.ts +0 -6
  179. package/dist/types/src/extensions/automerge/update-automerge.d.ts.map +0 -1
  180. package/dist/types/src/extensions/automerge/update-codemirror.d.ts +0 -5
  181. package/dist/types/src/extensions/automerge/update-codemirror.d.ts.map +0 -1
  182. package/dist/types/src/extensions/autoscroll.d.ts +0 -10
  183. package/dist/types/src/extensions/autoscroll.d.ts.map +0 -1
  184. package/dist/types/src/extensions/awareness/awareness-provider.d.ts +0 -31
  185. package/dist/types/src/extensions/awareness/awareness-provider.d.ts.map +0 -1
  186. package/dist/types/src/extensions/awareness/awareness.d.ts +0 -46
  187. package/dist/types/src/extensions/awareness/awareness.d.ts.map +0 -1
  188. package/dist/types/src/extensions/awareness/index.d.ts +0 -3
  189. package/dist/types/src/extensions/awareness/index.d.ts.map +0 -1
  190. package/dist/types/src/extensions/blast.d.ts +0 -25
  191. package/dist/types/src/extensions/blast.d.ts.map +0 -1
  192. package/dist/types/src/extensions/comments.d.ts +0 -95
  193. package/dist/types/src/extensions/comments.d.ts.map +0 -1
  194. package/dist/types/src/extensions/debug.d.ts +0 -3
  195. package/dist/types/src/extensions/debug.d.ts.map +0 -1
  196. package/dist/types/src/extensions/dnd.d.ts +0 -9
  197. package/dist/types/src/extensions/dnd.d.ts.map +0 -1
  198. package/dist/types/src/extensions/factories.d.ts +0 -83
  199. package/dist/types/src/extensions/factories.d.ts.map +0 -1
  200. package/dist/types/src/extensions/focus.d.ts +0 -7
  201. package/dist/types/src/extensions/focus.d.ts.map +0 -1
  202. package/dist/types/src/extensions/folding.d.ts +0 -7
  203. package/dist/types/src/extensions/folding.d.ts.map +0 -1
  204. package/dist/types/src/extensions/hashtag.d.ts +0 -3
  205. package/dist/types/src/extensions/hashtag.d.ts.map +0 -1
  206. package/dist/types/src/extensions/index.d.ts +0 -26
  207. package/dist/types/src/extensions/index.d.ts.map +0 -1
  208. package/dist/types/src/extensions/json.d.ts +0 -7
  209. package/dist/types/src/extensions/json.d.ts.map +0 -1
  210. package/dist/types/src/extensions/listener.d.ts +0 -13
  211. package/dist/types/src/extensions/listener.d.ts.map +0 -1
  212. package/dist/types/src/extensions/markdown/action.d.ts +0 -12
  213. package/dist/types/src/extensions/markdown/action.d.ts.map +0 -1
  214. package/dist/types/src/extensions/markdown/bundle.d.ts +0 -22
  215. package/dist/types/src/extensions/markdown/bundle.d.ts.map +0 -1
  216. package/dist/types/src/extensions/markdown/changes.d.ts +0 -10
  217. package/dist/types/src/extensions/markdown/changes.d.ts.map +0 -1
  218. package/dist/types/src/extensions/markdown/changes.test.d.ts +0 -2
  219. package/dist/types/src/extensions/markdown/changes.test.d.ts.map +0 -1
  220. package/dist/types/src/extensions/markdown/debug.d.ts +0 -11
  221. package/dist/types/src/extensions/markdown/debug.d.ts.map +0 -1
  222. package/dist/types/src/extensions/markdown/decorate.d.ts +0 -25
  223. package/dist/types/src/extensions/markdown/decorate.d.ts.map +0 -1
  224. package/dist/types/src/extensions/markdown/formatting.d.ts +0 -62
  225. package/dist/types/src/extensions/markdown/formatting.d.ts.map +0 -1
  226. package/dist/types/src/extensions/markdown/formatting.test.d.ts +0 -3
  227. package/dist/types/src/extensions/markdown/formatting.test.d.ts.map +0 -1
  228. package/dist/types/src/extensions/markdown/highlight.d.ts +0 -37
  229. package/dist/types/src/extensions/markdown/highlight.d.ts.map +0 -1
  230. package/dist/types/src/extensions/markdown/image.d.ts +0 -7
  231. package/dist/types/src/extensions/markdown/image.d.ts.map +0 -1
  232. package/dist/types/src/extensions/markdown/index.d.ts +0 -10
  233. package/dist/types/src/extensions/markdown/index.d.ts.map +0 -1
  234. package/dist/types/src/extensions/markdown/link.d.ts +0 -7
  235. package/dist/types/src/extensions/markdown/link.d.ts.map +0 -1
  236. package/dist/types/src/extensions/markdown/parser.test.d.ts +0 -2
  237. package/dist/types/src/extensions/markdown/parser.test.d.ts.map +0 -1
  238. package/dist/types/src/extensions/markdown/styles.d.ts +0 -4
  239. package/dist/types/src/extensions/markdown/styles.d.ts.map +0 -1
  240. package/dist/types/src/extensions/markdown/table.d.ts +0 -8
  241. package/dist/types/src/extensions/markdown/table.d.ts.map +0 -1
  242. package/dist/types/src/extensions/mention.d.ts +0 -7
  243. package/dist/types/src/extensions/mention.d.ts.map +0 -1
  244. package/dist/types/src/extensions/modes.d.ts +0 -10
  245. package/dist/types/src/extensions/modes.d.ts.map +0 -1
  246. package/dist/types/src/extensions/outliner/commands.d.ts +0 -10
  247. package/dist/types/src/extensions/outliner/commands.d.ts.map +0 -1
  248. package/dist/types/src/extensions/outliner/editor.d.ts +0 -5
  249. package/dist/types/src/extensions/outliner/editor.d.ts.map +0 -1
  250. package/dist/types/src/extensions/outliner/editor.test.d.ts +0 -2
  251. package/dist/types/src/extensions/outliner/editor.test.d.ts.map +0 -1
  252. package/dist/types/src/extensions/outliner/index.d.ts +0 -4
  253. package/dist/types/src/extensions/outliner/index.d.ts.map +0 -1
  254. package/dist/types/src/extensions/outliner/menu.d.ts +0 -8
  255. package/dist/types/src/extensions/outliner/menu.d.ts.map +0 -1
  256. package/dist/types/src/extensions/outliner/outliner.d.ts +0 -11
  257. package/dist/types/src/extensions/outliner/outliner.d.ts.map +0 -1
  258. package/dist/types/src/extensions/outliner/outliner.test.d.ts +0 -2
  259. package/dist/types/src/extensions/outliner/outliner.test.d.ts.map +0 -1
  260. package/dist/types/src/extensions/outliner/selection.d.ts +0 -12
  261. package/dist/types/src/extensions/outliner/selection.d.ts.map +0 -1
  262. package/dist/types/src/extensions/outliner/tree.d.ts +0 -79
  263. package/dist/types/src/extensions/outliner/tree.d.ts.map +0 -1
  264. package/dist/types/src/extensions/outliner/tree.test.d.ts +0 -2
  265. package/dist/types/src/extensions/outliner/tree.test.d.ts.map +0 -1
  266. package/dist/types/src/extensions/popover/PopoverMenuProvider.d.ts.map +0 -1
  267. package/dist/types/src/extensions/popover/index.d.ts +0 -8
  268. package/dist/types/src/extensions/popover/index.d.ts.map +0 -1
  269. package/dist/types/src/extensions/popover/menu-presets.d.ts +0 -4
  270. package/dist/types/src/extensions/popover/menu-presets.d.ts.map +0 -1
  271. package/dist/types/src/extensions/popover/menu.d.ts +0 -24
  272. package/dist/types/src/extensions/popover/menu.d.ts.map +0 -1
  273. package/dist/types/src/extensions/popover/modal.d.ts +0 -7
  274. package/dist/types/src/extensions/popover/modal.d.ts.map +0 -1
  275. package/dist/types/src/extensions/popover/popover.d.ts.map +0 -1
  276. package/dist/types/src/extensions/popover/usePopoverMenu.d.ts +0 -34
  277. package/dist/types/src/extensions/popover/usePopoverMenu.d.ts.map +0 -1
  278. package/dist/types/src/extensions/popover/util.d.ts +0 -8
  279. package/dist/types/src/extensions/popover/util.d.ts.map +0 -1
  280. package/dist/types/src/extensions/preview/index.d.ts +0 -2
  281. package/dist/types/src/extensions/preview/index.d.ts.map +0 -1
  282. package/dist/types/src/extensions/preview/preview.d.ts +0 -32
  283. package/dist/types/src/extensions/preview/preview.d.ts.map +0 -1
  284. package/dist/types/src/extensions/selection.d.ts +0 -24
  285. package/dist/types/src/extensions/selection.d.ts.map +0 -1
  286. package/dist/types/src/extensions/state.d.ts +0 -2
  287. package/dist/types/src/extensions/state.d.ts.map +0 -1
  288. package/dist/types/src/extensions/tags/extended-markdown.d.ts +0 -10
  289. package/dist/types/src/extensions/tags/extended-markdown.d.ts.map +0 -1
  290. package/dist/types/src/extensions/tags/extended-markdown.test.d.ts +0 -2
  291. package/dist/types/src/extensions/tags/extended-markdown.test.d.ts.map +0 -1
  292. package/dist/types/src/extensions/tags/index.d.ts +0 -4
  293. package/dist/types/src/extensions/tags/index.d.ts.map +0 -1
  294. package/dist/types/src/extensions/tags/streamer.d.ts +0 -12
  295. package/dist/types/src/extensions/tags/streamer.d.ts.map +0 -1
  296. package/dist/types/src/extensions/tags/xml-tags.d.ts +0 -72
  297. package/dist/types/src/extensions/tags/xml-tags.d.ts.map +0 -1
  298. package/dist/types/src/extensions/tags/xml-util.d.ts +0 -10
  299. package/dist/types/src/extensions/tags/xml-util.d.ts.map +0 -1
  300. package/dist/types/src/extensions/typewriter.d.ts +0 -10
  301. package/dist/types/src/extensions/typewriter.d.ts.map +0 -1
  302. package/dist/types/src/styles/index.d.ts +0 -4
  303. package/dist/types/src/styles/index.d.ts.map +0 -1
  304. package/dist/types/src/styles/markdown.d.ts +0 -8
  305. package/dist/types/src/styles/markdown.d.ts.map +0 -1
  306. package/dist/types/src/styles/theme.d.ts +0 -38
  307. package/dist/types/src/styles/theme.d.ts.map +0 -1
  308. package/dist/types/src/styles/tokens.d.ts +0 -3
  309. package/dist/types/src/styles/tokens.d.ts.map +0 -1
  310. package/dist/types/src/testing/PreviewPopover.d.ts +0 -20
  311. package/dist/types/src/testing/PreviewPopover.d.ts.map +0 -1
  312. package/dist/types/src/testing/index.d.ts +0 -3
  313. package/dist/types/src/testing/index.d.ts.map +0 -1
  314. package/dist/types/src/testing/util.d.ts +0 -3
  315. package/dist/types/src/testing/util.d.ts.map +0 -1
  316. package/dist/types/src/types/index.d.ts +0 -2
  317. package/dist/types/src/types/index.d.ts.map +0 -1
  318. package/dist/types/src/types/types.d.ts +0 -21
  319. package/dist/types/src/types/types.d.ts.map +0 -1
  320. package/dist/types/src/util/cursor.d.ts +0 -31
  321. package/dist/types/src/util/cursor.d.ts.map +0 -1
  322. package/dist/types/src/util/debug.d.ts +0 -17
  323. package/dist/types/src/util/debug.d.ts.map +0 -1
  324. package/dist/types/src/util/decorations.d.ts +0 -4
  325. package/dist/types/src/util/decorations.d.ts.map +0 -1
  326. package/dist/types/src/util/dom.d.ts +0 -10
  327. package/dist/types/src/util/dom.d.ts.map +0 -1
  328. package/dist/types/src/util/facet.d.ts +0 -3
  329. package/dist/types/src/util/facet.d.ts.map +0 -1
  330. package/src/components/EditorToolbar/util.ts +0 -60
  331. package/src/defaults.ts +0 -52
  332. package/src/extensions/annotations.ts +0 -55
  333. package/src/extensions/autocomplete/autocomplete.ts +0 -220
  334. package/src/extensions/autocomplete/index.ts +0 -8
  335. package/src/extensions/autocomplete/match.ts +0 -46
  336. package/src/extensions/autocomplete/placeholder.ts +0 -117
  337. package/src/extensions/autocomplete/typeahead.ts +0 -87
  338. package/src/extensions/automerge/automerge.stories.tsx +0 -149
  339. package/src/extensions/automerge/automerge.test.tsx +0 -78
  340. package/src/extensions/automerge/automerge.ts +0 -105
  341. package/src/extensions/automerge/cursor.ts +0 -28
  342. package/src/extensions/automerge/defs.ts +0 -31
  343. package/src/extensions/automerge/index.ts +0 -5
  344. package/src/extensions/automerge/sync.ts +0 -79
  345. package/src/extensions/automerge/update-automerge.ts +0 -50
  346. package/src/extensions/automerge/update-codemirror.ts +0 -115
  347. package/src/extensions/autoscroll.ts +0 -157
  348. package/src/extensions/awareness/awareness-provider.ts +0 -127
  349. package/src/extensions/awareness/awareness.ts +0 -315
  350. package/src/extensions/awareness/index.ts +0 -6
  351. package/src/extensions/blast.ts +0 -363
  352. package/src/extensions/comments.ts +0 -597
  353. package/src/extensions/debug.ts +0 -15
  354. package/src/extensions/dnd.ts +0 -37
  355. package/src/extensions/factories.ts +0 -277
  356. package/src/extensions/focus.ts +0 -36
  357. package/src/extensions/folding.tsx +0 -44
  358. package/src/extensions/hashtag.tsx +0 -68
  359. package/src/extensions/index.ts +0 -29
  360. package/src/extensions/json.ts +0 -57
  361. package/src/extensions/listener.ts +0 -32
  362. package/src/extensions/markdown/action.ts +0 -117
  363. package/src/extensions/markdown/bundle.ts +0 -105
  364. package/src/extensions/markdown/changes.test.ts +0 -26
  365. package/src/extensions/markdown/changes.ts +0 -149
  366. package/src/extensions/markdown/debug.ts +0 -44
  367. package/src/extensions/markdown/decorate.ts +0 -601
  368. package/src/extensions/markdown/formatting.test.ts +0 -498
  369. package/src/extensions/markdown/formatting.ts +0 -1267
  370. package/src/extensions/markdown/highlight.ts +0 -183
  371. package/src/extensions/markdown/image.ts +0 -118
  372. package/src/extensions/markdown/index.ts +0 -13
  373. package/src/extensions/markdown/link.ts +0 -50
  374. package/src/extensions/markdown/parser.test.ts +0 -75
  375. package/src/extensions/markdown/styles.ts +0 -135
  376. package/src/extensions/markdown/table.ts +0 -150
  377. package/src/extensions/mention.ts +0 -41
  378. package/src/extensions/modes.ts +0 -41
  379. package/src/extensions/outliner/commands.ts +0 -270
  380. package/src/extensions/outliner/editor.test.ts +0 -33
  381. package/src/extensions/outliner/editor.ts +0 -184
  382. package/src/extensions/outliner/index.ts +0 -7
  383. package/src/extensions/outliner/menu.ts +0 -128
  384. package/src/extensions/outliner/outliner.test.ts +0 -100
  385. package/src/extensions/outliner/outliner.ts +0 -167
  386. package/src/extensions/outliner/selection.ts +0 -50
  387. package/src/extensions/outliner/tree.test.ts +0 -168
  388. package/src/extensions/outliner/tree.ts +0 -317
  389. package/src/extensions/popover/index.ts +0 -12
  390. package/src/extensions/popover/modal.ts +0 -24
  391. package/src/extensions/popover/util.ts +0 -29
  392. package/src/extensions/preview/index.ts +0 -5
  393. package/src/extensions/preview/preview.ts +0 -193
  394. package/src/extensions/selection.ts +0 -100
  395. package/src/extensions/state.ts +0 -7
  396. package/src/extensions/tags/extended-markdown.test.ts +0 -261
  397. package/src/extensions/tags/extended-markdown.ts +0 -78
  398. package/src/extensions/tags/index.ts +0 -7
  399. package/src/extensions/tags/streamer.ts +0 -243
  400. package/src/extensions/tags/xml-tags.ts +0 -393
  401. package/src/extensions/tags/xml-util.ts +0 -94
  402. package/src/extensions/typewriter.ts +0 -68
  403. package/src/styles/index.ts +0 -7
  404. package/src/styles/markdown.ts +0 -26
  405. package/src/styles/theme.ts +0 -269
  406. package/src/styles/tokens.ts +0 -17
  407. package/src/testing/PreviewPopover.tsx +0 -80
  408. package/src/testing/index.ts +0 -6
  409. package/src/testing/util.ts +0 -7
  410. package/src/types/index.ts +0 -5
  411. package/src/types/types.ts +0 -32
  412. package/src/util/cursor.ts +0 -56
  413. package/src/util/debug.ts +0 -64
  414. package/src/util/decorations.ts +0 -21
  415. package/src/util/dom.ts +0 -34
  416. package/src/util/facet.ts +0 -13
@@ -3,30 +3,30 @@
3
3
  //
4
4
 
5
5
  import { type EditorView } from '@codemirror/view';
6
- import React, { type ReactNode, forwardRef, useEffect, useImperativeHandle, useMemo, useState } from 'react';
6
+ import React, { type ReactNode, forwardRef, useEffect, useImperativeHandle, useMemo, useRef, useState } from 'react';
7
7
 
8
- import { createDocAccessor, createObject } from '@dxos/client/echo';
9
- import { Expando } from '@dxos/echo/internal';
10
- import { live } from '@dxos/echo/internal';
8
+ import { Obj } from '@dxos/echo';
9
+ import { TestSchema } from '@dxos/echo/testing';
11
10
  import { invariant } from '@dxos/invariant';
12
11
  import { PublicKey } from '@dxos/keys';
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 { editorGutter, editorSlots } from '../../defaults';
20
16
  import {
21
17
  type DebugNode,
22
18
  type ThemeExtensionsOptions,
23
19
  createBasicExtensions,
24
- createDataExtensions,
25
20
  createMarkdownExtensions,
26
21
  createThemeExtensions,
27
22
  debugTree,
28
23
  decorateMarkdown,
29
- } from '../../extensions';
24
+ editorSlots,
25
+ } from '@dxos/ui-editor';
26
+ import { mx } from '@dxos/ui-theme';
27
+ import { isNonNullable } from '@dxos/util';
28
+
29
+ import { type EditorController, createEditorController } from '../../components';
30
30
  import { type UseTextEditorProps, useTextEditor } from '../../hooks';
31
31
 
32
32
  // Type definitions.
@@ -39,32 +39,36 @@ export type StoryProps = Pick<UseTextEditorProps, 'id' | 'scrollTo' | 'selection
39
39
  debug?: DebugMode;
40
40
  debugCustom?: (view: EditorView) => ReactNode;
41
41
  text?: string;
42
- object?: Expando;
42
+ object?: Obj.Obj<TestSchema.Expando>;
43
43
  readOnly?: boolean;
44
44
  placeholder?: string;
45
45
  lineNumbers?: boolean;
46
+ monospace?: boolean;
46
47
  onReady?: (view: EditorView) => void;
47
48
  };
48
49
 
49
- export const EditorStory = forwardRef<EditorView | null, StoryProps>(
50
- ({ debug, debugCustom, text, extensions: _extensions, ...props }, forwardedRef) => {
50
+ export const EditorStory = forwardRef<EditorController, StoryProps>(
51
+ ({ debug, debugCustom, text, extensions: extensionsProp, ...props }, forwardedRef) => {
52
+ const controllerRef = useRef<EditorController>(null);
53
+ const mergedRef = useMergeRefs([controllerRef, forwardedRef]);
54
+
51
55
  const attentionAttrs = useAttentionAttributes('test-panel');
52
56
  const [tree, setTree] = useState<DebugNode>();
53
- const [object] = useState(createObject(live(Expando, { content: text ?? '' })));
54
- const viewRef = useForwardedRef(forwardedRef);
57
+ const [object] = useState(Obj.make(TestSchema.Expando, { content: text ?? '' }));
58
+
55
59
  const extensions = useMemo(
56
- () => (debug ? [_extensions, debugTree(setTree)].filter(isNonNullable) : _extensions),
57
- [debug, _extensions],
60
+ () => (debug ? [extensionsProp, debugTree(setTree)].filter(isNonNullable) : extensionsProp),
61
+ [debug, extensionsProp],
58
62
  );
59
63
 
60
- const view = viewRef.current;
64
+ const view = controllerRef.current?.view;
61
65
  return (
62
- <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
+ <div className={mx('is-full bs-full grid overflow-hidden', debug && 'grid-cols-2 lg:grid-cols-[1fr_600px]')}>
67
+ <EditorComponent ref={mergedRef} object={object} text={text} extensions={extensions} {...props} />
64
68
 
65
69
  {debug && (
66
70
  <div
67
- className='grid h-full auto-rows-fr border-l border-separator divide-y divide-separator overflow-hidden'
71
+ className='grid bs-full auto-rows-fr border-l border-separator divide-y divide-separator overflow-hidden'
68
72
  {...attentionAttrs}
69
73
  >
70
74
  {view && debugCustom?.(view)}
@@ -84,7 +88,7 @@ export const EditorStory = forwardRef<EditorView | null, StoryProps>(
84
88
  /**
85
89
  * Default story component.
86
90
  */
87
- export const EditorComponent = forwardRef<EditorView | null, StoryProps>(
91
+ const EditorComponent = forwardRef<EditorController, StoryProps>(
88
92
  (
89
93
  {
90
94
  id = defaultId,
@@ -93,6 +97,7 @@ export const EditorComponent = forwardRef<EditorView | null, StoryProps>(
93
97
  readOnly,
94
98
  placeholder = 'New document.',
95
99
  lineNumbers,
100
+ monospace,
96
101
  scrollTo,
97
102
  selection,
98
103
  extensions,
@@ -111,19 +116,21 @@ export const EditorComponent = forwardRef<EditorView | null, StoryProps>(
111
116
  selection,
112
117
  initialValue: text,
113
118
  extensions: [
114
- createDataExtensions({ id, text: createDocAccessor(object, ['content']) }),
115
119
  createBasicExtensions({ readOnly, placeholder, lineNumbers, scrollPastEnd: true, search: true }),
120
+ createThemeExtensions({ monospace, themeMode, syntaxHighlighting: true, slots }),
116
121
  createMarkdownExtensions(),
117
- createThemeExtensions({ themeMode, syntaxHighlighting: true, slots }),
118
122
  decorateMarkdown(),
119
- editorGutter,
120
123
  extensions || [],
121
124
  ],
122
125
  }),
123
126
  [id, object, extensions, themeMode],
124
127
  );
125
128
 
126
- useImperativeHandle<EditorView | null, EditorView | null>(forwardedRef, () => view, [view]);
129
+ // External controller.
130
+ useImperativeHandle(forwardedRef, () => {
131
+ log.info('view updated', { id });
132
+ return createEditorController(view);
133
+ }, [id, view]);
127
134
 
128
135
  useEffect(() => {
129
136
  if (view) {
@@ -8,8 +8,6 @@ import React, { type FC } from 'react';
8
8
 
9
9
  import { faker } from '@dxos/random';
10
10
  import { Icon } from '@dxos/react-ui';
11
- import { mx } from '@dxos/react-ui-theme';
12
-
13
11
  import {
14
12
  type EditorSelectionState,
15
13
  decorateMarkdown,
@@ -18,15 +16,17 @@ import {
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 { mx } from '@dxos/ui-theme';
21
+
22
+ import { createRenderer, 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,
@@ -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
  {
@@ -29,11 +29,11 @@ export const translations = [
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,10 +1,5 @@
1
1
  //
2
- // Copyright 2024 DXOS.org
2
+ // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- export * from './cursor';
6
- export * from './decorations';
7
- export * from './debug';
8
- export * from './dom';
9
- export * from './facet';
10
5
  export * from './react';
@@ -6,9 +6,13 @@ import React, { type FC, type ReactNode } 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 Use `trim` from `@dxos/util`.
14
+ */
15
+ export const str = (...lines: string[]) => lines.join('\n');
12
16
 
13
17
  /** @deprecated */
14
18
  // TODO(wittjosiah): Replace with portals which are lighter weight and inherit context from the main react tree.
@@ -1,22 +0,0 @@
1
- // src/types/types.ts
2
- import * as Schema from "effect/Schema";
3
- var EditorViewModes = [
4
- "preview",
5
- "readonly",
6
- "source"
7
- ];
8
- var EditorViewMode = Schema.Union(...EditorViewModes.map((mode) => Schema.Literal(mode)));
9
- var EditorInputModes = [
10
- "default",
11
- "vim",
12
- "vscode"
13
- ];
14
- var EditorInputMode = Schema.Union(...EditorInputModes.map((mode) => Schema.Literal(mode)));
15
-
16
- export {
17
- EditorViewModes,
18
- EditorViewMode,
19
- EditorInputModes,
20
- EditorInputMode
21
- };
22
- //# sourceMappingURL=chunk-HL3YF6WC.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/types/types.ts"],
4
- "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { type EditorView } from '@codemirror/view';\nimport * as Schema from 'effect/Schema';\n\n// Runtime data structure.\nexport type Range = {\n from: number;\n to: number;\n};\n\n// Persistent data structure.\n// TODO(burdon): Rename annotation?\nexport type Comment = {\n id: string;\n cursor?: string;\n};\n\n/**\n * Callback that renders into a DOM element within the editor.\n */\nexport type RenderCallback<Props extends object> = (el: HTMLElement, props: Props, view: EditorView) => void;\n\nexport const EditorViewModes = ['preview', 'readonly', 'source'] as const;\nexport const EditorViewMode = Schema.Union(...EditorViewModes.map((mode) => Schema.Literal(mode)));\nexport type EditorViewMode = Schema.Schema.Type<typeof EditorViewMode>;\n\nexport const EditorInputModes = ['default', 'vim', 'vscode'] as const;\nexport const EditorInputMode = Schema.Union(...EditorInputModes.map((mode) => Schema.Literal(mode)));\nexport type EditorInputMode = Schema.Schema.Type<typeof EditorInputMode>;\n"],
5
- "mappings": ";AAKA,YAAYA,YAAY;AAoBjB,IAAMC,kBAAkB;EAAC;EAAW;EAAY;;AAChD,IAAMC,iBAAwBC,aAAK,GAAIF,gBAAgBG,IAAI,CAACC,SAAgBC,eAAQD,IAAAA,CAAAA,CAAAA;AAGpF,IAAME,mBAAmB;EAAC;EAAW;EAAO;;AAC5C,IAAMC,kBAAyBL,aAAK,GAAII,iBAAiBH,IAAI,CAACC,SAAgBC,eAAQD,IAAAA,CAAAA,CAAAA;",
6
- "names": ["Schema", "EditorViewModes", "EditorViewMode", "Union", "map", "mode", "Literal", "EditorInputModes", "EditorInputMode"]
7
- }
@@ -1,76 +0,0 @@
1
- // src/testing/util.ts
2
- var str = (...lines) => lines.join("\n");
3
-
4
- // src/testing/PreviewPopover.tsx
5
- import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
6
- import { createContext } from "@radix-ui/react-context";
7
- import React, { useCallback, useEffect, useRef, useState } from "react";
8
- import { addEventListener } from "@dxos/async";
9
- import { Popover } from "@dxos/react-ui";
10
- var [PreviewPopoverContextProvider, usePreviewPopover] = createContext("PreviewPopover", {});
11
- var PreviewPopoverProvider = ({ children, onLookup }) => {
12
- var _effect = _useSignals();
13
- try {
14
- const trigger = useRef(null);
15
- const [value, setValue] = useState({});
16
- const [open, setOpen] = useState(false);
17
- const handleDxAnchorActivate = useCallback((event) => {
18
- const { refId, label, trigger: dxTrigger } = event;
19
- setValue((value2) => ({
20
- ...value2,
21
- link: {
22
- label,
23
- ref: refId
24
- },
25
- pending: true
26
- }));
27
- trigger.current = dxTrigger;
28
- queueMicrotask(() => setOpen(true));
29
- void onLookup?.({
30
- label,
31
- ref: refId
32
- }).then((target) => setValue((value2) => ({
33
- ...value2,
34
- target: target ?? void 0,
35
- pending: false
36
- })));
37
- }, [
38
- onLookup
39
- ]);
40
- const [rootRef, setRootRef] = useState(null);
41
- useEffect(() => {
42
- if (!rootRef || !handleDxAnchorActivate) {
43
- return;
44
- }
45
- return addEventListener(rootRef, "dx-anchor-activate", handleDxAnchorActivate, {
46
- capture: true,
47
- passive: false
48
- });
49
- }, [
50
- rootRef,
51
- handleDxAnchorActivate
52
- ]);
53
- return /* @__PURE__ */ React.createElement(PreviewPopoverContextProvider, {
54
- pending: value.pending,
55
- link: value.link,
56
- target: value.target
57
- }, /* @__PURE__ */ React.createElement(Popover.Root, {
58
- open,
59
- onOpenChange: setOpen
60
- }, /* @__PURE__ */ React.createElement(Popover.VirtualTrigger, {
61
- virtualRef: trigger
62
- }), /* @__PURE__ */ React.createElement("div", {
63
- role: "none",
64
- className: "contents",
65
- ref: setRootRef
66
- }, children)));
67
- } finally {
68
- _effect.f();
69
- }
70
- };
71
- export {
72
- PreviewPopoverProvider,
73
- str,
74
- usePreviewPopover
75
- };
76
- //# sourceMappingURL=index.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../src/testing/util.ts", "../../../../src/testing/PreviewPopover.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\n/** deprecated Replace with @dxos/util trim */\n// TODO(burdon): Remove\nexport const str = (...lines: string[]) => lines.join('\\n');\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { createContext } from '@radix-ui/react-context';\nimport React, { type PropsWithChildren, type RefObject, useCallback, useEffect, useRef, useState } from 'react';\n\nimport { addEventListener } from '@dxos/async';\nimport { type DxAnchorActivate, Popover } from '@dxos/react-ui';\n\nimport { type PreviewLinkRef, type PreviewLinkTarget } from '../extensions';\n\ntype PreviewLookup = (link: PreviewLinkRef) => Promise<PreviewLinkTarget | null | undefined>;\n\ntype PreviewPopoverValue = Partial<{\n link: PreviewLinkRef;\n target: PreviewLinkTarget;\n pending: boolean;\n}>;\n\nconst [PreviewPopoverContextProvider, usePreviewPopover] = createContext<PreviewPopoverValue>('PreviewPopover', {});\n\ntype PopoverLookupProviderProps = PropsWithChildren<{\n onLookup?: PreviewLookup;\n}>;\n\n// TOOD(burdon): Reconcile with PreviewPlugin?\nconst PreviewPopoverProvider = ({ children, onLookup }: PopoverLookupProviderProps) => {\n const trigger = useRef<HTMLElement | null>(null);\n const [value, setValue] = useState<PreviewPopoverValue>({});\n const [open, setOpen] = useState(false);\n\n const handleDxAnchorActivate = useCallback(\n (event: DxAnchorActivate) => {\n const { refId, label, trigger: dxTrigger } = event;\n setValue((value) => ({\n ...value,\n link: { label, ref: refId },\n pending: true,\n }));\n trigger.current = dxTrigger;\n queueMicrotask(() => setOpen(true));\n void onLookup?.({ label, ref: refId }).then((target) =>\n setValue((value) => ({\n ...value,\n target: target ?? undefined,\n pending: false,\n })),\n );\n },\n [onLookup],\n );\n\n const [rootRef, setRootRef] = useState<HTMLDivElement | null>(null);\n useEffect(() => {\n if (!rootRef || !handleDxAnchorActivate) {\n return;\n }\n\n return addEventListener(rootRef, 'dx-anchor-activate' as any, handleDxAnchorActivate, {\n capture: true,\n passive: false,\n });\n }, [rootRef, handleDxAnchorActivate]);\n\n return (\n <PreviewPopoverContextProvider pending={value.pending} link={value.link} target={value.target}>\n <Popover.Root open={open} onOpenChange={setOpen}>\n <Popover.VirtualTrigger virtualRef={trigger as unknown as RefObject<HTMLButtonElement>} />\n <div role='none' className='contents' ref={setRootRef}>\n {children}\n </div>\n </Popover.Root>\n </PreviewPopoverContextProvider>\n );\n};\n\nexport { PreviewPopoverProvider, usePreviewPopover };\n\nexport type { PopoverLookupProviderProps, PreviewPopoverValue };\n"],
5
- "mappings": ";AAMO,IAAMA,MAAM,IAAIC,UAAoBA,MAAMC,KAAK,IAAA;;;;ACFtD,SAASC,qBAAqB;AAC9B,OAAOC,SAAiDC,aAAaC,WAAWC,QAAQC,gBAAgB;AAExG,SAASC,wBAAwB;AACjC,SAAgCC,eAAe;AAY/C,IAAM,CAACC,+BAA+BC,iBAAAA,IAAqBC,cAAmC,kBAAkB,CAAC,CAAA;AAOjH,IAAMC,yBAAyB,CAAC,EAAEC,UAAUC,SAAQ,MAA8B;;;AAChF,UAAMC,UAAUC,OAA2B,IAAA;AAC3C,UAAM,CAACC,OAAOC,QAAAA,IAAYC,SAA8B,CAAC,CAAA;AACzD,UAAM,CAACC,MAAMC,OAAAA,IAAWF,SAAS,KAAA;AAEjC,UAAMG,yBAAyBC,YAC7B,CAACC,UAAAA;AACC,YAAM,EAAEC,OAAOC,OAAOX,SAASY,UAAS,IAAKH;AAC7CN,eAAS,CAACD,YAAW;QACnB,GAAGA;QACHW,MAAM;UAAEF;UAAOG,KAAKJ;QAAM;QAC1BK,SAAS;MACX,EAAA;AACAf,cAAQgB,UAAUJ;AAClBK,qBAAe,MAAMX,QAAQ,IAAA,CAAA;AAC7B,WAAKP,WAAW;QAAEY;QAAOG,KAAKJ;MAAM,CAAA,EAAGQ,KAAK,CAACC,WAC3ChB,SAAS,CAACD,YAAW;QACnB,GAAGA;QACHiB,QAAQA,UAAUC;QAClBL,SAAS;MACX,EAAA,CAAA;IAEJ,GACA;MAAChB;KAAS;AAGZ,UAAM,CAACsB,SAASC,UAAAA,IAAclB,SAAgC,IAAA;AAC9DmB,cAAU,MAAA;AACR,UAAI,CAACF,WAAW,CAACd,wBAAwB;AACvC;MACF;AAEA,aAAOiB,iBAAiBH,SAAS,sBAA6Bd,wBAAwB;QACpFkB,SAAS;QACTC,SAAS;MACX,CAAA;IACF,GAAG;MAACL;MAASd;KAAuB;AAEpC,WACE,sBAAA,cAACb,+BAAAA;MAA8BqB,SAASb,MAAMa;MAASF,MAAMX,MAAMW;MAAMM,QAAQjB,MAAMiB;OACrF,sBAAA,cAACQ,QAAQC,MAAI;MAACvB;MAAYwB,cAAcvB;OACtC,sBAAA,cAACqB,QAAQG,gBAAc;MAACC,YAAY/B;QACpC,sBAAA,cAACgC,OAAAA;MAAIC,MAAK;MAAOC,WAAU;MAAWpB,KAAKQ;OACxCxB,QAAAA,CAAAA,CAAAA;;;;AAKX;",
6
- "names": ["str", "lines", "join", "createContext", "React", "useCallback", "useEffect", "useRef", "useState", "addEventListener", "Popover", "PreviewPopoverContextProvider", "usePreviewPopover", "createContext", "PreviewPopoverProvider", "children", "onLookup", "trigger", "useRef", "value", "setValue", "useState", "open", "setOpen", "handleDxAnchorActivate", "useCallback", "event", "refId", "label", "dxTrigger", "link", "ref", "pending", "current", "queueMicrotask", "then", "target", "undefined", "rootRef", "setRootRef", "useEffect", "addEventListener", "capture", "passive", "Popover", "Root", "onOpenChange", "VirtualTrigger", "virtualRef", "div", "role", "className"]
7
- }
@@ -1,13 +0,0 @@
1
- import {
2
- EditorInputMode,
3
- EditorInputModes,
4
- EditorViewMode,
5
- EditorViewModes
6
- } from "../chunk-HL3YF6WC.mjs";
7
- export {
8
- EditorInputMode,
9
- EditorInputModes,
10
- EditorViewMode,
11
- EditorViewModes
12
- };
13
- //# sourceMappingURL=index.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": [],
4
- "sourcesContent": [],
5
- "mappings": "",
6
- "names": []
7
- }
@@ -1,24 +0,0 @@
1
- import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
-
3
- // src/types/types.ts
4
- import * as Schema from "effect/Schema";
5
- var EditorViewModes = [
6
- "preview",
7
- "readonly",
8
- "source"
9
- ];
10
- var EditorViewMode = Schema.Union(...EditorViewModes.map((mode) => Schema.Literal(mode)));
11
- var EditorInputModes = [
12
- "default",
13
- "vim",
14
- "vscode"
15
- ];
16
- var EditorInputMode = Schema.Union(...EditorInputModes.map((mode) => Schema.Literal(mode)));
17
-
18
- export {
19
- EditorViewModes,
20
- EditorViewMode,
21
- EditorInputModes,
22
- EditorInputMode
23
- };
24
- //# sourceMappingURL=chunk-YJZGD3LY.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/types/types.ts"],
4
- "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { type EditorView } from '@codemirror/view';\nimport * as Schema from 'effect/Schema';\n\n// Runtime data structure.\nexport type Range = {\n from: number;\n to: number;\n};\n\n// Persistent data structure.\n// TODO(burdon): Rename annotation?\nexport type Comment = {\n id: string;\n cursor?: string;\n};\n\n/**\n * Callback that renders into a DOM element within the editor.\n */\nexport type RenderCallback<Props extends object> = (el: HTMLElement, props: Props, view: EditorView) => void;\n\nexport const EditorViewModes = ['preview', 'readonly', 'source'] as const;\nexport const EditorViewMode = Schema.Union(...EditorViewModes.map((mode) => Schema.Literal(mode)));\nexport type EditorViewMode = Schema.Schema.Type<typeof EditorViewMode>;\n\nexport const EditorInputModes = ['default', 'vim', 'vscode'] as const;\nexport const EditorInputMode = Schema.Union(...EditorInputModes.map((mode) => Schema.Literal(mode)));\nexport type EditorInputMode = Schema.Schema.Type<typeof EditorInputMode>;\n"],
5
- "mappings": ";;;AAKA,YAAYA,YAAY;AAoBjB,IAAMC,kBAAkB;EAAC;EAAW;EAAY;;AAChD,IAAMC,iBAAwBC,aAAK,GAAIF,gBAAgBG,IAAI,CAACC,SAAgBC,eAAQD,IAAAA,CAAAA,CAAAA;AAGpF,IAAME,mBAAmB;EAAC;EAAW;EAAO;;AAC5C,IAAMC,kBAAyBL,aAAK,GAAII,iBAAiBH,IAAI,CAACC,SAAgBC,eAAQD,IAAAA,CAAAA,CAAAA;",
6
- "names": ["Schema", "EditorViewModes", "EditorViewMode", "Union", "map", "mode", "Literal", "EditorInputModes", "EditorInputMode"]
7
- }
@@ -1,78 +0,0 @@
1
- import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
-
3
- // src/testing/util.ts
4
- var str = (...lines) => lines.join("\n");
5
-
6
- // src/testing/PreviewPopover.tsx
7
- import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
8
- import { createContext } from "@radix-ui/react-context";
9
- import React, { useCallback, useEffect, useRef, useState } from "react";
10
- import { addEventListener } from "@dxos/async";
11
- import { Popover } from "@dxos/react-ui";
12
- var [PreviewPopoverContextProvider, usePreviewPopover] = createContext("PreviewPopover", {});
13
- var PreviewPopoverProvider = ({ children, onLookup }) => {
14
- var _effect = _useSignals();
15
- try {
16
- const trigger = useRef(null);
17
- const [value, setValue] = useState({});
18
- const [open, setOpen] = useState(false);
19
- const handleDxAnchorActivate = useCallback((event) => {
20
- const { refId, label, trigger: dxTrigger } = event;
21
- setValue((value2) => ({
22
- ...value2,
23
- link: {
24
- label,
25
- ref: refId
26
- },
27
- pending: true
28
- }));
29
- trigger.current = dxTrigger;
30
- queueMicrotask(() => setOpen(true));
31
- void onLookup?.({
32
- label,
33
- ref: refId
34
- }).then((target) => setValue((value2) => ({
35
- ...value2,
36
- target: target ?? void 0,
37
- pending: false
38
- })));
39
- }, [
40
- onLookup
41
- ]);
42
- const [rootRef, setRootRef] = useState(null);
43
- useEffect(() => {
44
- if (!rootRef || !handleDxAnchorActivate) {
45
- return;
46
- }
47
- return addEventListener(rootRef, "dx-anchor-activate", handleDxAnchorActivate, {
48
- capture: true,
49
- passive: false
50
- });
51
- }, [
52
- rootRef,
53
- handleDxAnchorActivate
54
- ]);
55
- return /* @__PURE__ */ React.createElement(PreviewPopoverContextProvider, {
56
- pending: value.pending,
57
- link: value.link,
58
- target: value.target
59
- }, /* @__PURE__ */ React.createElement(Popover.Root, {
60
- open,
61
- onOpenChange: setOpen
62
- }, /* @__PURE__ */ React.createElement(Popover.VirtualTrigger, {
63
- virtualRef: trigger
64
- }), /* @__PURE__ */ React.createElement("div", {
65
- role: "none",
66
- className: "contents",
67
- ref: setRootRef
68
- }, children)));
69
- } finally {
70
- _effect.f();
71
- }
72
- };
73
- export {
74
- PreviewPopoverProvider,
75
- str,
76
- usePreviewPopover
77
- };
78
- //# sourceMappingURL=index.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../src/testing/util.ts", "../../../../src/testing/PreviewPopover.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\n/** deprecated Replace with @dxos/util trim */\n// TODO(burdon): Remove\nexport const str = (...lines: string[]) => lines.join('\\n');\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { createContext } from '@radix-ui/react-context';\nimport React, { type PropsWithChildren, type RefObject, useCallback, useEffect, useRef, useState } from 'react';\n\nimport { addEventListener } from '@dxos/async';\nimport { type DxAnchorActivate, Popover } from '@dxos/react-ui';\n\nimport { type PreviewLinkRef, type PreviewLinkTarget } from '../extensions';\n\ntype PreviewLookup = (link: PreviewLinkRef) => Promise<PreviewLinkTarget | null | undefined>;\n\ntype PreviewPopoverValue = Partial<{\n link: PreviewLinkRef;\n target: PreviewLinkTarget;\n pending: boolean;\n}>;\n\nconst [PreviewPopoverContextProvider, usePreviewPopover] = createContext<PreviewPopoverValue>('PreviewPopover', {});\n\ntype PopoverLookupProviderProps = PropsWithChildren<{\n onLookup?: PreviewLookup;\n}>;\n\n// TOOD(burdon): Reconcile with PreviewPlugin?\nconst PreviewPopoverProvider = ({ children, onLookup }: PopoverLookupProviderProps) => {\n const trigger = useRef<HTMLElement | null>(null);\n const [value, setValue] = useState<PreviewPopoverValue>({});\n const [open, setOpen] = useState(false);\n\n const handleDxAnchorActivate = useCallback(\n (event: DxAnchorActivate) => {\n const { refId, label, trigger: dxTrigger } = event;\n setValue((value) => ({\n ...value,\n link: { label, ref: refId },\n pending: true,\n }));\n trigger.current = dxTrigger;\n queueMicrotask(() => setOpen(true));\n void onLookup?.({ label, ref: refId }).then((target) =>\n setValue((value) => ({\n ...value,\n target: target ?? undefined,\n pending: false,\n })),\n );\n },\n [onLookup],\n );\n\n const [rootRef, setRootRef] = useState<HTMLDivElement | null>(null);\n useEffect(() => {\n if (!rootRef || !handleDxAnchorActivate) {\n return;\n }\n\n return addEventListener(rootRef, 'dx-anchor-activate' as any, handleDxAnchorActivate, {\n capture: true,\n passive: false,\n });\n }, [rootRef, handleDxAnchorActivate]);\n\n return (\n <PreviewPopoverContextProvider pending={value.pending} link={value.link} target={value.target}>\n <Popover.Root open={open} onOpenChange={setOpen}>\n <Popover.VirtualTrigger virtualRef={trigger as unknown as RefObject<HTMLButtonElement>} />\n <div role='none' className='contents' ref={setRootRef}>\n {children}\n </div>\n </Popover.Root>\n </PreviewPopoverContextProvider>\n );\n};\n\nexport { PreviewPopoverProvider, usePreviewPopover };\n\nexport type { PopoverLookupProviderProps, PreviewPopoverValue };\n"],
5
- "mappings": ";;;AAMO,IAAMA,MAAM,IAAIC,UAAoBA,MAAMC,KAAK,IAAA;;;;ACFtD,SAASC,qBAAqB;AAC9B,OAAOC,SAAiDC,aAAaC,WAAWC,QAAQC,gBAAgB;AAExG,SAASC,wBAAwB;AACjC,SAAgCC,eAAe;AAY/C,IAAM,CAACC,+BAA+BC,iBAAAA,IAAqBC,cAAmC,kBAAkB,CAAC,CAAA;AAOjH,IAAMC,yBAAyB,CAAC,EAAEC,UAAUC,SAAQ,MAA8B;;;AAChF,UAAMC,UAAUC,OAA2B,IAAA;AAC3C,UAAM,CAACC,OAAOC,QAAAA,IAAYC,SAA8B,CAAC,CAAA;AACzD,UAAM,CAACC,MAAMC,OAAAA,IAAWF,SAAS,KAAA;AAEjC,UAAMG,yBAAyBC,YAC7B,CAACC,UAAAA;AACC,YAAM,EAAEC,OAAOC,OAAOX,SAASY,UAAS,IAAKH;AAC7CN,eAAS,CAACD,YAAW;QACnB,GAAGA;QACHW,MAAM;UAAEF;UAAOG,KAAKJ;QAAM;QAC1BK,SAAS;MACX,EAAA;AACAf,cAAQgB,UAAUJ;AAClBK,qBAAe,MAAMX,QAAQ,IAAA,CAAA;AAC7B,WAAKP,WAAW;QAAEY;QAAOG,KAAKJ;MAAM,CAAA,EAAGQ,KAAK,CAACC,WAC3ChB,SAAS,CAACD,YAAW;QACnB,GAAGA;QACHiB,QAAQA,UAAUC;QAClBL,SAAS;MACX,EAAA,CAAA;IAEJ,GACA;MAAChB;KAAS;AAGZ,UAAM,CAACsB,SAASC,UAAAA,IAAclB,SAAgC,IAAA;AAC9DmB,cAAU,MAAA;AACR,UAAI,CAACF,WAAW,CAACd,wBAAwB;AACvC;MACF;AAEA,aAAOiB,iBAAiBH,SAAS,sBAA6Bd,wBAAwB;QACpFkB,SAAS;QACTC,SAAS;MACX,CAAA;IACF,GAAG;MAACL;MAASd;KAAuB;AAEpC,WACE,sBAAA,cAACb,+BAAAA;MAA8BqB,SAASb,MAAMa;MAASF,MAAMX,MAAMW;MAAMM,QAAQjB,MAAMiB;OACrF,sBAAA,cAACQ,QAAQC,MAAI;MAACvB;MAAYwB,cAAcvB;OACtC,sBAAA,cAACqB,QAAQG,gBAAc;MAACC,YAAY/B;QACpC,sBAAA,cAACgC,OAAAA;MAAIC,MAAK;MAAOC,WAAU;MAAWpB,KAAKQ;OACxCxB,QAAAA,CAAAA,CAAAA;;;;AAKX;",
6
- "names": ["str", "lines", "join", "createContext", "React", "useCallback", "useEffect", "useRef", "useState", "addEventListener", "Popover", "PreviewPopoverContextProvider", "usePreviewPopover", "createContext", "PreviewPopoverProvider", "children", "onLookup", "trigger", "useRef", "value", "setValue", "useState", "open", "setOpen", "handleDxAnchorActivate", "useCallback", "event", "refId", "label", "dxTrigger", "link", "ref", "pending", "current", "queueMicrotask", "then", "target", "undefined", "rootRef", "setRootRef", "useEffect", "addEventListener", "capture", "passive", "Popover", "Root", "onOpenChange", "VirtualTrigger", "virtualRef", "div", "role", "className"]
7
- }
@@ -1,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-YJZGD3LY.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;AAK/C,OAAO,EAAE,KAAK,kBAAkB,EAA+C,MAAM,QAAQ,CAAC;AAiC9F,eAAO,MAAM,WAAW,GAAI,OAAO,kBAAkB,EAAE,SAAS,MAAM,UAAU;;;;;;;;;;;;;;CAW/E,CAAC"}