@dxos/react-ui-editor 0.8.4-main.b97322e → 0.8.4-main.bcb3aa67d6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (401) hide show
  1. package/dist/lib/browser/index.mjs +1337 -7593
  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 +1337 -7592
  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 +34 -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/blocks.d.ts +4 -17
  36. package/dist/types/src/components/EditorToolbar/blocks.d.ts.map +1 -1
  37. package/dist/types/src/components/EditorToolbar/formatting.d.ts +4 -17
  38. package/dist/types/src/components/EditorToolbar/formatting.d.ts.map +1 -1
  39. package/dist/types/src/components/EditorToolbar/headings.d.ts +4 -17
  40. package/dist/types/src/components/EditorToolbar/headings.d.ts.map +1 -1
  41. package/dist/types/src/components/EditorToolbar/image.d.ts +3 -15
  42. package/dist/types/src/components/EditorToolbar/image.d.ts.map +1 -1
  43. package/dist/types/src/components/EditorToolbar/index.d.ts +1 -1
  44. package/dist/types/src/components/EditorToolbar/index.d.ts.map +1 -1
  45. package/dist/types/src/components/EditorToolbar/lists.d.ts +4 -17
  46. package/dist/types/src/components/EditorToolbar/lists.d.ts.map +1 -1
  47. package/dist/types/src/components/EditorToolbar/search.d.ts +3 -15
  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 +5 -18
  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/stories/Automerge.stories.d.ts +44 -0
  60. package/dist/types/src/stories/Automerge.stories.d.ts.map +1 -0
  61. package/dist/types/src/stories/Comments.stories.d.ts +22 -10
  62. package/dist/types/src/stories/Comments.stories.d.ts.map +1 -1
  63. package/dist/types/src/stories/EditorToolbar.stories.d.ts +40 -4
  64. package/dist/types/src/stories/EditorToolbar.stories.d.ts.map +1 -1
  65. package/dist/types/src/stories/Experimental.stories.d.ts +23 -13
  66. package/dist/types/src/stories/Experimental.stories.d.ts.map +1 -1
  67. package/dist/types/src/stories/Markdown.stories.d.ts +33 -43
  68. package/dist/types/src/stories/Markdown.stories.d.ts.map +1 -1
  69. package/dist/types/src/stories/Outliner.stories.d.ts +16 -22
  70. package/dist/types/src/stories/Outliner.stories.d.ts.map +1 -1
  71. package/dist/types/src/stories/Popover.stories.d.ts +20 -0
  72. package/dist/types/src/stories/Popover.stories.d.ts.map +1 -0
  73. package/dist/types/src/stories/Preview.stories.d.ts +23 -7
  74. package/dist/types/src/stories/Preview.stories.d.ts.map +1 -1
  75. package/dist/types/src/stories/Tags.stories.d.ts +16 -0
  76. package/dist/types/src/stories/Tags.stories.d.ts.map +1 -0
  77. package/dist/types/src/stories/TextEditor.stories.d.ts +38 -52
  78. package/dist/types/src/stories/TextEditor.stories.d.ts.map +1 -1
  79. package/dist/types/src/stories/Theme.stories.d.ts +8 -0
  80. package/dist/types/src/stories/Theme.stories.d.ts.map +1 -0
  81. package/dist/types/src/stories/components/EditorStory.d.ts +11 -23
  82. package/dist/types/src/stories/components/EditorStory.d.ts.map +1 -1
  83. package/dist/types/src/stories/components/util.d.ts +3 -3
  84. package/dist/types/src/stories/components/util.d.ts.map +1 -1
  85. package/dist/types/src/translations.d.ts +26 -26
  86. package/dist/types/src/translations.d.ts.map +1 -1
  87. package/dist/types/src/util/index.d.ts +0 -4
  88. package/dist/types/src/util/index.d.ts.map +1 -1
  89. package/dist/types/src/util/react.d.ts +7 -6
  90. package/dist/types/src/util/react.d.ts.map +1 -1
  91. package/dist/types/tsconfig.tsbuildinfo +1 -1
  92. package/package.json +84 -80
  93. package/src/components/Editor/Editor.stories.tsx +95 -0
  94. package/src/components/Editor/Editor.tsx +170 -24
  95. package/src/components/EditorContent/EditorContent.tsx +83 -0
  96. package/src/components/EditorContent/controller.ts +50 -0
  97. package/src/components/EditorContent/index.ts +6 -0
  98. package/src/components/EditorMenuProvider/EditorMenuProvider.tsx +226 -0
  99. package/src/components/EditorMenuProvider/index.ts +10 -0
  100. package/src/components/EditorMenuProvider/menu-presets.ts +125 -0
  101. package/src/components/EditorMenuProvider/menu.ts +70 -0
  102. package/src/components/EditorMenuProvider/popover.ts +285 -0
  103. package/src/components/EditorMenuProvider/useEditorMenu.ts +180 -0
  104. package/src/components/EditorPreviewProvider/EditorPreviewProvider.tsx +79 -0
  105. package/src/components/EditorPreviewProvider/index.ts +5 -0
  106. package/src/components/EditorToolbar/EditorToolbar.tsx +90 -103
  107. package/src/components/EditorToolbar/blocks.ts +53 -48
  108. package/src/components/EditorToolbar/formatting.ts +42 -46
  109. package/src/components/EditorToolbar/headings.ts +46 -44
  110. package/src/components/EditorToolbar/image.ts +16 -10
  111. package/src/components/EditorToolbar/index.ts +2 -7
  112. package/src/components/EditorToolbar/lists.ts +39 -41
  113. package/src/components/EditorToolbar/search.ts +16 -10
  114. package/src/components/EditorToolbar/useEditorToolbar.ts +20 -0
  115. package/src/components/EditorToolbar/view-mode.ts +39 -39
  116. package/src/components/index.ts +6 -2
  117. package/src/hooks/useTextEditor.ts +39 -45
  118. package/src/index.ts +0 -10
  119. package/src/stories/Automerge.stories.tsx +173 -0
  120. package/src/stories/Comments.stories.tsx +59 -51
  121. package/src/stories/EditorToolbar.stories.tsx +72 -41
  122. package/src/stories/Experimental.stories.tsx +18 -16
  123. package/src/stories/Markdown.stories.tsx +37 -33
  124. package/src/stories/Outliner.stories.tsx +55 -44
  125. package/src/stories/Popover.stories.tsx +158 -0
  126. package/src/stories/Preview.stories.tsx +112 -92
  127. package/src/stories/Tags.stories.tsx +104 -0
  128. package/src/stories/TextEditor.stories.tsx +50 -75
  129. package/src/stories/Theme.stories.tsx +61 -0
  130. package/src/stories/components/EditorStory.tsx +48 -35
  131. package/src/stories/components/util.tsx +60 -31
  132. package/src/translations.ts +30 -25
  133. package/src/util/index.ts +1 -5
  134. package/src/util/react.tsx +9 -14
  135. package/dist/lib/browser/chunk-22UMM3QJ.mjs +0 -22
  136. package/dist/lib/browser/chunk-22UMM3QJ.mjs.map +0 -7
  137. package/dist/lib/browser/testing/index.mjs +0 -6
  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-YXYQPV6R.mjs +0 -24
  142. package/dist/lib/node-esm/chunk-YXYQPV6R.mjs.map +0 -7
  143. package/dist/lib/node-esm/testing/index.mjs +0 -8
  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/util.d.ts +0 -51
  148. package/dist/types/src/components/EditorToolbar/util.d.ts.map +0 -1
  149. package/dist/types/src/components/Popover/CommandMenu.d.ts +0 -34
  150. package/dist/types/src/components/Popover/CommandMenu.d.ts.map +0 -1
  151. package/dist/types/src/components/Popover/RefDropdownMenu.d.ts +0 -21
  152. package/dist/types/src/components/Popover/RefDropdownMenu.d.ts.map +0 -1
  153. package/dist/types/src/components/Popover/RefPopover.d.ts +0 -34
  154. package/dist/types/src/components/Popover/RefPopover.d.ts.map +0 -1
  155. package/dist/types/src/components/Popover/index.d.ts +0 -4
  156. package/dist/types/src/components/Popover/index.d.ts.map +0 -1
  157. package/dist/types/src/defaults.d.ts +0 -14
  158. package/dist/types/src/defaults.d.ts.map +0 -1
  159. package/dist/types/src/extensions/annotations.d.ts +0 -9
  160. package/dist/types/src/extensions/annotations.d.ts.map +0 -1
  161. package/dist/types/src/extensions/autocomplete.d.ts +0 -13
  162. package/dist/types/src/extensions/autocomplete.d.ts.map +0 -1
  163. package/dist/types/src/extensions/automerge/automerge.d.ts +0 -4
  164. package/dist/types/src/extensions/automerge/automerge.d.ts.map +0 -1
  165. package/dist/types/src/extensions/automerge/automerge.stories.d.ts +0 -56
  166. package/dist/types/src/extensions/automerge/automerge.stories.d.ts.map +0 -1
  167. package/dist/types/src/extensions/automerge/automerge.test.d.ts +0 -2
  168. package/dist/types/src/extensions/automerge/automerge.test.d.ts.map +0 -1
  169. package/dist/types/src/extensions/automerge/cursor.d.ts +0 -4
  170. package/dist/types/src/extensions/automerge/cursor.d.ts.map +0 -1
  171. package/dist/types/src/extensions/automerge/defs.d.ts +0 -17
  172. package/dist/types/src/extensions/automerge/defs.d.ts.map +0 -1
  173. package/dist/types/src/extensions/automerge/index.d.ts +0 -2
  174. package/dist/types/src/extensions/automerge/index.d.ts.map +0 -1
  175. package/dist/types/src/extensions/automerge/sync.d.ts +0 -17
  176. package/dist/types/src/extensions/automerge/sync.d.ts.map +0 -1
  177. package/dist/types/src/extensions/automerge/update-automerge.d.ts +0 -6
  178. package/dist/types/src/extensions/automerge/update-automerge.d.ts.map +0 -1
  179. package/dist/types/src/extensions/automerge/update-codemirror.d.ts +0 -5
  180. package/dist/types/src/extensions/automerge/update-codemirror.d.ts.map +0 -1
  181. package/dist/types/src/extensions/awareness/awareness-provider.d.ts +0 -31
  182. package/dist/types/src/extensions/awareness/awareness-provider.d.ts.map +0 -1
  183. package/dist/types/src/extensions/awareness/awareness.d.ts +0 -46
  184. package/dist/types/src/extensions/awareness/awareness.d.ts.map +0 -1
  185. package/dist/types/src/extensions/awareness/index.d.ts +0 -3
  186. package/dist/types/src/extensions/awareness/index.d.ts.map +0 -1
  187. package/dist/types/src/extensions/blast.d.ts +0 -25
  188. package/dist/types/src/extensions/blast.d.ts.map +0 -1
  189. package/dist/types/src/extensions/command/action.d.ts +0 -17
  190. package/dist/types/src/extensions/command/action.d.ts.map +0 -1
  191. package/dist/types/src/extensions/command/command-menu.d.ts +0 -20
  192. package/dist/types/src/extensions/command/command-menu.d.ts.map +0 -1
  193. package/dist/types/src/extensions/command/command.d.ts +0 -6
  194. package/dist/types/src/extensions/command/command.d.ts.map +0 -1
  195. package/dist/types/src/extensions/command/floating-menu.d.ts +0 -7
  196. package/dist/types/src/extensions/command/floating-menu.d.ts.map +0 -1
  197. package/dist/types/src/extensions/command/hint.d.ts +0 -24
  198. package/dist/types/src/extensions/command/hint.d.ts.map +0 -1
  199. package/dist/types/src/extensions/command/index.d.ts +0 -7
  200. package/dist/types/src/extensions/command/index.d.ts.map +0 -1
  201. package/dist/types/src/extensions/command/placeholder.d.ts +0 -10
  202. package/dist/types/src/extensions/command/placeholder.d.ts.map +0 -1
  203. package/dist/types/src/extensions/command/state.d.ts +0 -16
  204. package/dist/types/src/extensions/command/state.d.ts.map +0 -1
  205. package/dist/types/src/extensions/command/typeahead.d.ts +0 -22
  206. package/dist/types/src/extensions/command/typeahead.d.ts.map +0 -1
  207. package/dist/types/src/extensions/command/useCommandMenu.d.ts +0 -26
  208. package/dist/types/src/extensions/command/useCommandMenu.d.ts.map +0 -1
  209. package/dist/types/src/extensions/comments.d.ts +0 -95
  210. package/dist/types/src/extensions/comments.d.ts.map +0 -1
  211. package/dist/types/src/extensions/debug.d.ts +0 -3
  212. package/dist/types/src/extensions/debug.d.ts.map +0 -1
  213. package/dist/types/src/extensions/dnd.d.ts +0 -9
  214. package/dist/types/src/extensions/dnd.d.ts.map +0 -1
  215. package/dist/types/src/extensions/factories.d.ts +0 -83
  216. package/dist/types/src/extensions/factories.d.ts.map +0 -1
  217. package/dist/types/src/extensions/focus.d.ts +0 -7
  218. package/dist/types/src/extensions/focus.d.ts.map +0 -1
  219. package/dist/types/src/extensions/folding.d.ts +0 -7
  220. package/dist/types/src/extensions/folding.d.ts.map +0 -1
  221. package/dist/types/src/extensions/hashtag.d.ts +0 -3
  222. package/dist/types/src/extensions/hashtag.d.ts.map +0 -1
  223. package/dist/types/src/extensions/index.d.ts +0 -23
  224. package/dist/types/src/extensions/index.d.ts.map +0 -1
  225. package/dist/types/src/extensions/json.d.ts +0 -7
  226. package/dist/types/src/extensions/json.d.ts.map +0 -1
  227. package/dist/types/src/extensions/listener.d.ts +0 -11
  228. package/dist/types/src/extensions/listener.d.ts.map +0 -1
  229. package/dist/types/src/extensions/markdown/action.d.ts +0 -12
  230. package/dist/types/src/extensions/markdown/action.d.ts.map +0 -1
  231. package/dist/types/src/extensions/markdown/bundle.d.ts +0 -16
  232. package/dist/types/src/extensions/markdown/bundle.d.ts.map +0 -1
  233. package/dist/types/src/extensions/markdown/changes.d.ts +0 -10
  234. package/dist/types/src/extensions/markdown/changes.d.ts.map +0 -1
  235. package/dist/types/src/extensions/markdown/changes.test.d.ts +0 -2
  236. package/dist/types/src/extensions/markdown/changes.test.d.ts.map +0 -1
  237. package/dist/types/src/extensions/markdown/debug.d.ts +0 -11
  238. package/dist/types/src/extensions/markdown/debug.d.ts.map +0 -1
  239. package/dist/types/src/extensions/markdown/decorate.d.ts +0 -17
  240. package/dist/types/src/extensions/markdown/decorate.d.ts.map +0 -1
  241. package/dist/types/src/extensions/markdown/formatting.d.ts +0 -63
  242. package/dist/types/src/extensions/markdown/formatting.d.ts.map +0 -1
  243. package/dist/types/src/extensions/markdown/formatting.test.d.ts +0 -3
  244. package/dist/types/src/extensions/markdown/formatting.test.d.ts.map +0 -1
  245. package/dist/types/src/extensions/markdown/highlight.d.ts +0 -37
  246. package/dist/types/src/extensions/markdown/highlight.d.ts.map +0 -1
  247. package/dist/types/src/extensions/markdown/image.d.ts +0 -7
  248. package/dist/types/src/extensions/markdown/image.d.ts.map +0 -1
  249. package/dist/types/src/extensions/markdown/index.d.ts +0 -10
  250. package/dist/types/src/extensions/markdown/index.d.ts.map +0 -1
  251. package/dist/types/src/extensions/markdown/link.d.ts +0 -7
  252. package/dist/types/src/extensions/markdown/link.d.ts.map +0 -1
  253. package/dist/types/src/extensions/markdown/parser.test.d.ts +0 -2
  254. package/dist/types/src/extensions/markdown/parser.test.d.ts.map +0 -1
  255. package/dist/types/src/extensions/markdown/styles.d.ts +0 -4
  256. package/dist/types/src/extensions/markdown/styles.d.ts.map +0 -1
  257. package/dist/types/src/extensions/markdown/table.d.ts +0 -8
  258. package/dist/types/src/extensions/markdown/table.d.ts.map +0 -1
  259. package/dist/types/src/extensions/mention.d.ts +0 -7
  260. package/dist/types/src/extensions/mention.d.ts.map +0 -1
  261. package/dist/types/src/extensions/modes.d.ts +0 -10
  262. package/dist/types/src/extensions/modes.d.ts.map +0 -1
  263. package/dist/types/src/extensions/outliner/commands.d.ts +0 -10
  264. package/dist/types/src/extensions/outliner/commands.d.ts.map +0 -1
  265. package/dist/types/src/extensions/outliner/editor.d.ts +0 -5
  266. package/dist/types/src/extensions/outliner/editor.d.ts.map +0 -1
  267. package/dist/types/src/extensions/outliner/editor.test.d.ts +0 -2
  268. package/dist/types/src/extensions/outliner/editor.test.d.ts.map +0 -1
  269. package/dist/types/src/extensions/outliner/index.d.ts +0 -4
  270. package/dist/types/src/extensions/outliner/index.d.ts.map +0 -1
  271. package/dist/types/src/extensions/outliner/outliner.d.ts +0 -11
  272. package/dist/types/src/extensions/outliner/outliner.d.ts.map +0 -1
  273. package/dist/types/src/extensions/outliner/outliner.test.d.ts +0 -2
  274. package/dist/types/src/extensions/outliner/outliner.test.d.ts.map +0 -1
  275. package/dist/types/src/extensions/outliner/selection.d.ts +0 -12
  276. package/dist/types/src/extensions/outliner/selection.d.ts.map +0 -1
  277. package/dist/types/src/extensions/outliner/tree.d.ts +0 -79
  278. package/dist/types/src/extensions/outliner/tree.d.ts.map +0 -1
  279. package/dist/types/src/extensions/outliner/tree.test.d.ts +0 -2
  280. package/dist/types/src/extensions/outliner/tree.test.d.ts.map +0 -1
  281. package/dist/types/src/extensions/preview/index.d.ts +0 -2
  282. package/dist/types/src/extensions/preview/index.d.ts.map +0 -1
  283. package/dist/types/src/extensions/preview/preview.d.ts +0 -32
  284. package/dist/types/src/extensions/preview/preview.d.ts.map +0 -1
  285. package/dist/types/src/extensions/selection.d.ts +0 -24
  286. package/dist/types/src/extensions/selection.d.ts.map +0 -1
  287. package/dist/types/src/extensions/typewriter.d.ts +0 -10
  288. package/dist/types/src/extensions/typewriter.d.ts.map +0 -1
  289. package/dist/types/src/stories/Command.stories.d.ts +0 -7
  290. package/dist/types/src/stories/Command.stories.d.ts.map +0 -1
  291. package/dist/types/src/stories/CommandMenu.stories.d.ts +0 -13
  292. package/dist/types/src/stories/CommandMenu.stories.d.ts.map +0 -1
  293. package/dist/types/src/styles/index.d.ts +0 -4
  294. package/dist/types/src/styles/index.d.ts.map +0 -1
  295. package/dist/types/src/styles/markdown.d.ts +0 -8
  296. package/dist/types/src/styles/markdown.d.ts.map +0 -1
  297. package/dist/types/src/styles/theme.d.ts +0 -38
  298. package/dist/types/src/styles/theme.d.ts.map +0 -1
  299. package/dist/types/src/styles/tokens.d.ts +0 -3
  300. package/dist/types/src/styles/tokens.d.ts.map +0 -1
  301. package/dist/types/src/testing/index.d.ts +0 -2
  302. package/dist/types/src/testing/index.d.ts.map +0 -1
  303. package/dist/types/src/testing/util.d.ts +0 -2
  304. package/dist/types/src/testing/util.d.ts.map +0 -1
  305. package/dist/types/src/types/index.d.ts +0 -2
  306. package/dist/types/src/types/index.d.ts.map +0 -1
  307. package/dist/types/src/types/types.d.ts +0 -21
  308. package/dist/types/src/types/types.d.ts.map +0 -1
  309. package/dist/types/src/util/cursor.d.ts +0 -31
  310. package/dist/types/src/util/cursor.d.ts.map +0 -1
  311. package/dist/types/src/util/debug.d.ts +0 -17
  312. package/dist/types/src/util/debug.d.ts.map +0 -1
  313. package/dist/types/src/util/dom.d.ts +0 -20
  314. package/dist/types/src/util/dom.d.ts.map +0 -1
  315. package/dist/types/src/util/facet.d.ts +0 -3
  316. package/dist/types/src/util/facet.d.ts.map +0 -1
  317. package/src/components/EditorToolbar/util.ts +0 -65
  318. package/src/components/Popover/CommandMenu.tsx +0 -279
  319. package/src/components/Popover/RefDropdownMenu.tsx +0 -85
  320. package/src/components/Popover/RefPopover.tsx +0 -99
  321. package/src/components/Popover/index.ts +0 -7
  322. package/src/defaults.ts +0 -49
  323. package/src/extensions/annotations.ts +0 -55
  324. package/src/extensions/autocomplete.ts +0 -69
  325. package/src/extensions/automerge/automerge.stories.tsx +0 -142
  326. package/src/extensions/automerge/automerge.test.tsx +0 -78
  327. package/src/extensions/automerge/automerge.ts +0 -85
  328. package/src/extensions/automerge/cursor.ts +0 -28
  329. package/src/extensions/automerge/defs.ts +0 -31
  330. package/src/extensions/automerge/index.ts +0 -5
  331. package/src/extensions/automerge/sync.ts +0 -75
  332. package/src/extensions/automerge/update-automerge.ts +0 -50
  333. package/src/extensions/automerge/update-codemirror.ts +0 -115
  334. package/src/extensions/awareness/awareness-provider.ts +0 -127
  335. package/src/extensions/awareness/awareness.ts +0 -315
  336. package/src/extensions/awareness/index.ts +0 -6
  337. package/src/extensions/blast.ts +0 -363
  338. package/src/extensions/command/action.ts +0 -56
  339. package/src/extensions/command/command-menu.ts +0 -210
  340. package/src/extensions/command/command.ts +0 -34
  341. package/src/extensions/command/floating-menu.ts +0 -133
  342. package/src/extensions/command/hint.ts +0 -102
  343. package/src/extensions/command/index.ts +0 -10
  344. package/src/extensions/command/placeholder.ts +0 -113
  345. package/src/extensions/command/state.ts +0 -89
  346. package/src/extensions/command/typeahead.ts +0 -129
  347. package/src/extensions/command/useCommandMenu.ts +0 -118
  348. package/src/extensions/comments.ts +0 -592
  349. package/src/extensions/debug.ts +0 -15
  350. package/src/extensions/dnd.ts +0 -37
  351. package/src/extensions/factories.ts +0 -259
  352. package/src/extensions/focus.ts +0 -35
  353. package/src/extensions/folding.tsx +0 -46
  354. package/src/extensions/hashtag.tsx +0 -68
  355. package/src/extensions/index.ts +0 -26
  356. package/src/extensions/json.ts +0 -57
  357. package/src/extensions/listener.ts +0 -38
  358. package/src/extensions/markdown/action.ts +0 -116
  359. package/src/extensions/markdown/bundle.ts +0 -71
  360. package/src/extensions/markdown/changes.test.ts +0 -26
  361. package/src/extensions/markdown/changes.ts +0 -149
  362. package/src/extensions/markdown/debug.ts +0 -44
  363. package/src/extensions/markdown/decorate.ts +0 -591
  364. package/src/extensions/markdown/formatting.test.ts +0 -498
  365. package/src/extensions/markdown/formatting.ts +0 -1267
  366. package/src/extensions/markdown/highlight.ts +0 -183
  367. package/src/extensions/markdown/image.ts +0 -119
  368. package/src/extensions/markdown/index.ts +0 -13
  369. package/src/extensions/markdown/link.ts +0 -47
  370. package/src/extensions/markdown/parser.test.ts +0 -75
  371. package/src/extensions/markdown/styles.ts +0 -135
  372. package/src/extensions/markdown/table.ts +0 -144
  373. package/src/extensions/mention.ts +0 -41
  374. package/src/extensions/modes.ts +0 -41
  375. package/src/extensions/outliner/commands.ts +0 -270
  376. package/src/extensions/outliner/editor.test.ts +0 -33
  377. package/src/extensions/outliner/editor.ts +0 -184
  378. package/src/extensions/outliner/index.ts +0 -7
  379. package/src/extensions/outliner/outliner.test.ts +0 -99
  380. package/src/extensions/outliner/outliner.ts +0 -166
  381. package/src/extensions/outliner/selection.ts +0 -50
  382. package/src/extensions/outliner/tree.test.ts +0 -167
  383. package/src/extensions/outliner/tree.ts +0 -317
  384. package/src/extensions/preview/index.ts +0 -5
  385. package/src/extensions/preview/preview.ts +0 -193
  386. package/src/extensions/selection.ts +0 -100
  387. package/src/extensions/typewriter.ts +0 -68
  388. package/src/stories/Command.stories.tsx +0 -97
  389. package/src/stories/CommandMenu.stories.tsx +0 -159
  390. package/src/styles/index.ts +0 -7
  391. package/src/styles/markdown.ts +0 -26
  392. package/src/styles/theme.ts +0 -265
  393. package/src/styles/tokens.ts +0 -17
  394. package/src/testing/index.ts +0 -5
  395. package/src/testing/util.ts +0 -5
  396. package/src/types/index.ts +0 -5
  397. package/src/types/types.ts +0 -32
  398. package/src/util/cursor.ts +0 -55
  399. package/src/util/debug.ts +0 -64
  400. package/src/util/dom.ts +0 -56
  401. package/src/util/facet.ts +0 -13
@@ -1,28 +0,0 @@
1
- //
2
- // Copyright 2024 DXOS.org
3
- //
4
-
5
- import { log } from '@dxos/log';
6
- import { type DocAccessor, fromCursor, toCursor } from '@dxos/react-client/echo';
7
-
8
- import { type CursorConverter } from '../../util';
9
-
10
- export const cursorConverter = (accessor: DocAccessor): CursorConverter => ({
11
- toCursor: (pos, assoc) => {
12
- try {
13
- return toCursor(accessor, pos, assoc);
14
- } catch (err) {
15
- log.catch(err);
16
- return ''; // In case of invalid request (e.g., wrong document).
17
- }
18
- },
19
-
20
- fromCursor: (cursor) => {
21
- try {
22
- return fromCursor(accessor, cursor);
23
- } catch (err) {
24
- log.catch(err);
25
- return 0; // In case of invalid request (e.g., wrong document).
26
- }
27
- },
28
- });
@@ -1,31 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- // Copyright 2024 Automerge
4
- // Ref: https://github.com/automerge/automerge-codemirror
5
- //
6
-
7
- import { type Heads, type Prop } from '@automerge/automerge';
8
- import { Annotation, StateEffect, type StateField, type EditorState, type Transaction } from '@codemirror/state';
9
-
10
- export type State = {
11
- path: Prop[];
12
- lastHeads: Heads;
13
- unreconciledTransactions: Transaction[];
14
- };
15
-
16
- export const getPath = (state: EditorState, field: StateField<State>): Prop[] => state.field(field).path;
17
- export const getLastHeads = (state: EditorState, field: StateField<State>): Heads => state.field(field).lastHeads;
18
-
19
- export type UpdateHeads = {
20
- newHeads: Heads;
21
- };
22
-
23
- export const updateHeadsEffect = StateEffect.define<UpdateHeads>({});
24
-
25
- export const updateHeads = (newHeads: Heads): StateEffect<UpdateHeads> => updateHeadsEffect.of({ newHeads });
26
-
27
- export const reconcileAnnotation = Annotation.define<boolean>();
28
-
29
- export const isReconcile = (tr: Transaction): boolean => {
30
- return !!tr.annotation(reconcileAnnotation);
31
- };
@@ -1,5 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- //
4
-
5
- export { automerge } from './automerge';
@@ -1,75 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- // Copyright 2024 Automerge
4
- // Ref: https://github.com/automerge/automerge-codemirror
5
- //
6
-
7
- import { next as A } from '@automerge/automerge';
8
- import { type StateField } from '@codemirror/state';
9
- import { type EditorView } from '@codemirror/view';
10
-
11
- import { type IDocHandle } from '@dxos/react-client/echo';
12
-
13
- import { getLastHeads, getPath, isReconcile, reconcileAnnotation, type State, updateHeads } from './defs';
14
- import { updateAutomerge } from './update-automerge';
15
- import { updateCodeMirror } from './update-codemirror';
16
-
17
- /**
18
- * Implements three-way merge (on each mutation).
19
- */
20
- export class Syncer {
21
- private _pending = false;
22
-
23
- // prettier-ignore
24
- constructor(
25
- private readonly _handle: IDocHandle,
26
- private readonly _state: StateField<State>
27
- ) {}
28
-
29
- reconcile(view: EditorView, editor: boolean): void {
30
- // TODO(burdon): Better way to do mutex?
31
- if (this._pending) {
32
- return;
33
- }
34
-
35
- this._pending = true;
36
- if (editor) {
37
- this.onEditorChange(view);
38
- } else {
39
- this.onAutomergeChange(view);
40
- }
41
- this._pending = false;
42
- }
43
-
44
- onEditorChange(view: EditorView): void {
45
- // Apply the unreconciled transactions to the document.
46
- const transactions = view.state.field(this._state).unreconciledTransactions.filter((tx) => !isReconcile(tx));
47
- const newHeads = updateAutomerge(this._state, this._handle, transactions, view.state);
48
-
49
- if (newHeads) {
50
- view.dispatch({
51
- effects: updateHeads(newHeads),
52
- annotations: reconcileAnnotation.of(false),
53
- });
54
- }
55
- }
56
-
57
- onAutomergeChange(view: EditorView): void {
58
- // Get the diff between the updated state of the document and the heads and apply that to the codemirror doc.
59
- const oldHeads = getLastHeads(view.state, this._state);
60
- const newHeads = A.getHeads(this._handle.doc()!);
61
- const diff = A.equals(oldHeads, newHeads) ? [] : A.diff(this._handle.doc()!, oldHeads, newHeads);
62
-
63
- const selection = view.state.selection;
64
- const path = getPath(view.state, this._state);
65
- updateCodeMirror(view, selection, path, diff);
66
-
67
- // TODO(burdon): Test conflicts?
68
- // A.getConflicts(this._handle.doc()!, path[0]);
69
-
70
- view.dispatch({
71
- effects: updateHeads(newHeads),
72
- annotations: reconcileAnnotation.of(false),
73
- });
74
- }
75
- }
@@ -1,50 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- // Copyright 2024 Automerge
4
- // Ref: https://github.com/automerge/automerge-codemirror
5
- //
6
-
7
- import { next as A, type Heads } from '@automerge/automerge';
8
- import { type EditorState, type StateField, type Transaction, type Text } from '@codemirror/state';
9
-
10
- import { type IDocHandle } from '@dxos/react-client/echo';
11
-
12
- import { type State } from './defs';
13
-
14
- export const updateAutomerge = (
15
- field: StateField<State>,
16
- handle: IDocHandle,
17
- transactions: Transaction[],
18
- state: EditorState, // TODO(burdon): Just pass in the state field value?
19
- ): Heads | undefined => {
20
- const { lastHeads, path } = state.field(field);
21
-
22
- // We don't want to call `automerge.updateAt` if there are no changes.
23
- // Otherwise, later on `automerge.diff` will return empty patches that result in a no-op but still mess up the selection.
24
- let hasChanges = false;
25
- for (const tr of transactions) {
26
- tr.changes.iterChanges(() => {
27
- hasChanges = true;
28
- });
29
- }
30
-
31
- if (!hasChanges) {
32
- return undefined;
33
- }
34
-
35
- const newHeads = handle.changeAt(lastHeads, (doc: A.Doc<unknown>) => {
36
- const invertedTransactions: { from: number; del: number; insert: Text }[] = [];
37
- for (const tr of transactions) {
38
- tr.changes.iterChanges((fromA, toA, _fromB, _toB, insert) => {
39
- invertedTransactions.push({ from: fromA, del: toA - fromA, insert });
40
- });
41
- }
42
-
43
- // TODO(burdon): Hack to apply in reverse order to properly apply range.
44
- invertedTransactions.reverse().forEach(({ from, del, insert }) => {
45
- A.splice(doc, path.slice(), from, del, insert.toString());
46
- });
47
- });
48
-
49
- return newHeads ?? undefined;
50
- };
@@ -1,115 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- // Copyright 2024 Automerge
4
- // Ref: https://github.com/automerge/automerge-codemirror
5
- //
6
-
7
- import {
8
- type DelPatch,
9
- type InsertPatch,
10
- type Patch,
11
- type Prop,
12
- type PutPatch,
13
- type SpliceTextPatch,
14
- } from '@automerge/automerge';
15
- import { ChangeSet, type ChangeSpec, type EditorSelection, type EditorState } from '@codemirror/state';
16
- import { type EditorView } from '@codemirror/view';
17
-
18
- import { reconcileAnnotation } from './defs';
19
-
20
- export const updateCodeMirror = (view: EditorView, selection: EditorSelection, target: Prop[], patches: Patch[]) => {
21
- for (const patch of patches) {
22
- const changeSpec = handlePatch(patch, target, view.state);
23
- if (changeSpec != null) {
24
- const changeSet = ChangeSet.of(changeSpec, view.state.doc.length, '\n');
25
- selection = selection.map(changeSet, 1);
26
- view.dispatch({
27
- changes: changeSet,
28
- annotations: reconcileAnnotation.of(false),
29
- });
30
- }
31
- }
32
-
33
- view.dispatch({
34
- selection,
35
- annotations: reconcileAnnotation.of(false),
36
- });
37
- };
38
-
39
- const handlePatch = (patch: Patch, target: Prop[], state: EditorState): ChangeSpec | null => {
40
- if (patch.action === 'insert') {
41
- return handleInsert(target, patch);
42
- } else if (patch.action === 'splice') {
43
- return handleSplice(target, patch);
44
- } else if (patch.action === 'del') {
45
- return handleDel(target, patch);
46
- } else if (patch.action === 'put') {
47
- return handlePut(target, patch, state);
48
- } else {
49
- return null;
50
- }
51
- };
52
-
53
- const handleInsert = (target: Prop[], patch: InsertPatch): Array<ChangeSpec> => {
54
- const index = charPath(target, patch.path);
55
- if (index == null) {
56
- return [];
57
- }
58
-
59
- const text = patch.values.map((value) => (value ? value.toString() : '')).join('');
60
- return [{ from: index, to: index, insert: text }];
61
- };
62
-
63
- const handleSplice = (target: Prop[], patch: SpliceTextPatch): Array<ChangeSpec> => {
64
- const index = charPath(target, patch.path);
65
- if (index == null) {
66
- return [];
67
- }
68
-
69
- return [{ from: index, insert: patch.value }];
70
- };
71
-
72
- const handleDel = (target: Prop[], patch: DelPatch): Array<ChangeSpec> => {
73
- const index = charPath(target, patch.path);
74
- if (index == null) {
75
- return [];
76
- }
77
-
78
- const length = patch.length || 1;
79
- return [{ from: index, to: index + length }];
80
- };
81
-
82
- const handlePut = (target: Prop[], patch: PutPatch, state: EditorState): Array<ChangeSpec> => {
83
- const index = charPath(target, [...patch.path, 0]);
84
- if (index == null) {
85
- return [];
86
- }
87
-
88
- const length = state.doc.length;
89
- if (typeof patch.value !== 'string') {
90
- return []; // TODO(dmaretskyi): How to handle non-string values?
91
- }
92
-
93
- return [{ from: 0, to: length, insert: patch.value as any }];
94
- };
95
-
96
- // If the path of the patch is of the form [path, <index>] then we know this is a path to a character
97
- // within the sequence given by path.
98
- const charPath = (textPath: Prop[], candidatePath: Prop[]): number | null => {
99
- if (candidatePath.length !== textPath.length + 1) {
100
- return null;
101
- }
102
-
103
- for (let i = 0; i < textPath.length; i++) {
104
- if (textPath[i] !== candidatePath[i]) {
105
- return null;
106
- }
107
- }
108
-
109
- const index = candidatePath[candidatePath.length - 1];
110
- if (typeof index === 'number') {
111
- return index;
112
- }
113
-
114
- return null;
115
- };
@@ -1,127 +0,0 @@
1
- //
2
- // Copyright 2024 DXOS.org
3
- //
4
-
5
- import { DeferredTask, Event, sleep } from '@dxos/async';
6
- import { Context } from '@dxos/context';
7
- import { invariant } from '@dxos/invariant';
8
- import { log } from '@dxos/log';
9
- import { type Space } from '@dxos/react-client/echo';
10
- import { type GossipMessage } from '@dxos/react-client/mesh';
11
-
12
- import { type AwarenessInfo, type AwarenessPosition, type AwarenessProvider, type AwarenessState } from './awareness';
13
-
14
- type ProtocolMessage =
15
- | {
16
- kind: 'query';
17
- }
18
- | {
19
- kind: 'post';
20
- state: AwarenessState;
21
- };
22
-
23
- const DEBOUNCE_INTERVAL = 100; // ms
24
-
25
- export type AwarenessProviderParams = {
26
- space: Space;
27
- channel: string;
28
- peerId: string;
29
- info: AwarenessInfo;
30
- };
31
-
32
- /**
33
- * Receives and broadcasts profile and cursor position.
34
- */
35
- export class SpaceAwarenessProvider implements AwarenessProvider {
36
- private readonly _remoteStates = new Map<string, AwarenessState>();
37
-
38
- private readonly _space: Space;
39
- private readonly _channel: string;
40
- private readonly _peerId: string;
41
- private readonly _info: AwarenessInfo;
42
-
43
- private _ctx?: Context;
44
- private _postTask?: DeferredTask;
45
- private _localState?: AwarenessState;
46
-
47
- public readonly remoteStateChange = new Event<void>();
48
-
49
- constructor(params: AwarenessProviderParams) {
50
- this._space = params.space;
51
- this._channel = params.channel;
52
- this._peerId = params.peerId;
53
- this._info = params.info;
54
- }
55
-
56
- open(): void {
57
- this._ctx = new Context();
58
- this._postTask = new DeferredTask(this._ctx, async () => {
59
- if (this._localState) {
60
- await this._space.postMessage(this._channel, {
61
- kind: 'post',
62
- state: this._localState,
63
- } satisfies ProtocolMessage);
64
-
65
- // TODO(burdon): Replace with throttle.
66
- // TODO(burdon): Send heads?
67
- await sleep(DEBOUNCE_INTERVAL);
68
- }
69
- });
70
-
71
- this._ctx.onDispose(
72
- this._space.listen(this._channel, (message: GossipMessage) => {
73
- switch (message.payload.kind) {
74
- case 'query': {
75
- this._handleQueryMessage();
76
- break;
77
- }
78
- case 'post': {
79
- this._handlePostMessage(message.payload);
80
- break;
81
- }
82
- }
83
- }),
84
- );
85
-
86
- void this._space
87
- .postMessage(this._channel, {
88
- kind: 'query',
89
- } satisfies ProtocolMessage)
90
- .catch((err) => {
91
- log.debug('failed to query awareness', { err });
92
- });
93
- }
94
-
95
- close(): void {
96
- void this._ctx?.dispose();
97
- this._ctx = undefined;
98
- this._postTask = undefined;
99
- }
100
-
101
- getRemoteStates(): AwarenessState[] {
102
- return Array.from(this._remoteStates.values());
103
- }
104
-
105
- update(position: AwarenessPosition | undefined): void {
106
- invariant(this._postTask);
107
- this._localState = {
108
- peerId: this._peerId,
109
- position,
110
- info: this._info,
111
- };
112
-
113
- this._postTask.schedule();
114
- }
115
-
116
- private _handleQueryMessage(): void {
117
- invariant(this._postTask);
118
- this._postTask.schedule();
119
- }
120
-
121
- private _handlePostMessage(message: ProtocolMessage): void {
122
- invariant(message.kind === 'post');
123
- // TODO(wittjosiah): Is it helpful or confusing to show cursors for self on other devices?
124
- this._remoteStates.set(message.state.peerId, message.state);
125
- this.remoteStateChange.emit();
126
- }
127
- }