@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
@@ -1,150 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- //
4
-
5
- import { syntaxTree } from '@codemirror/language';
6
- import {
7
- type EditorState,
8
- type Extension,
9
- type RangeSet,
10
- RangeSetBuilder,
11
- StateField,
12
- type Transaction,
13
- } from '@codemirror/state';
14
- import { Decoration, EditorView, WidgetType } from '@codemirror/view';
15
-
16
- // TODO(burdon): Snippet to create basic table.
17
- // https://codemirror.net/docs/ref/#autocomplete.snippet
18
- // TODO(burdon): Advanced formatting (left/right/center).
19
- // TODO(burdon): Editor to auto balance columns.
20
-
21
- export type TableOptions = {};
22
-
23
- /**
24
- * GFM tables.
25
- * https://github.github.com/gfm/#tables-extension
26
- */
27
- export const table = (options: TableOptions = {}): Extension => {
28
- return StateField.define<RangeSet<Decoration>>({
29
- create: (state) => update(state, options),
30
- update: (_: RangeSet<Decoration>, tr: Transaction) => update(tr.state, options),
31
- provide: (field) => EditorView.decorations.from(field),
32
- });
33
- };
34
-
35
- type Table = {
36
- from: number;
37
- to: number;
38
- header?: string[];
39
- rows?: string[][];
40
- };
41
-
42
- const update = (state: EditorState, _options: TableOptions) => {
43
- const builder = new RangeSetBuilder<Decoration>();
44
- const cursor = state.selection.main.head;
45
-
46
- const tables: Table[] = [];
47
- const getTable = () => tables[tables.length - 1];
48
- const getRow = () => {
49
- const table = getTable();
50
- return table.rows?.[table.rows.length - 1];
51
- };
52
-
53
- // Parse table.
54
- syntaxTree(state).iterate({
55
- enter: (node) => {
56
- // Check if cursor is inside text.
57
- switch (node.name) {
58
- case 'Table': {
59
- tables.push({ from: node.from, to: node.to });
60
- break;
61
- }
62
- case 'TableHeader': {
63
- getTable().header = [];
64
- break;
65
- }
66
- case 'TableRow': {
67
- (getTable().rows ??= []).push([]);
68
- break;
69
- }
70
- case 'TableCell': {
71
- const row = getRow();
72
- if (row) {
73
- row.push(state.sliceDoc(node.from, node.to));
74
- } else {
75
- getTable().header?.push(state.sliceDoc(node.from, node.to));
76
- }
77
- break;
78
- }
79
- }
80
- },
81
- });
82
-
83
- tables.forEach((table) => {
84
- const replace = state.readOnly || cursor < table.from || cursor > table.to;
85
- if (replace) {
86
- builder.add(
87
- table.from,
88
- table.to,
89
- Decoration.replace({
90
- block: true,
91
- widget: new TableWidget(table),
92
- }),
93
- );
94
- } else {
95
- // Add class for styling.
96
- // TODO(burdon): Apply to each line?
97
- builder.add(
98
- table.from,
99
- table.to,
100
- Decoration.mark({
101
- class: 'cm-table',
102
- }),
103
- );
104
- }
105
- });
106
-
107
- return builder.finish();
108
- };
109
-
110
- class TableWidget extends WidgetType {
111
- constructor(readonly _table: Table) {
112
- super();
113
- }
114
-
115
- override eq(other: this): boolean {
116
- return (
117
- this._table.header?.join() === other._table.header?.join() &&
118
- this._table.rows?.join() === other._table.rows?.join()
119
- );
120
- }
121
-
122
- override toDOM(view: EditorView): HTMLDivElement {
123
- const div = document.createElement('div');
124
- const table = div.appendChild(document.createElement('table'));
125
-
126
- const header = table.appendChild(document.createElement('thead'));
127
- const tr = header.appendChild(document.createElement('tr'));
128
- this._table.header?.forEach((cell) => {
129
- const th = document.createElement('th');
130
- th.setAttribute('class', 'cm-table-head');
131
- tr.appendChild(th).textContent = cell;
132
- });
133
-
134
- const body = table.appendChild(document.createElement('tbody'));
135
- this._table.rows?.forEach((row) => {
136
- const tr = body.appendChild(document.createElement('tr'));
137
- row.forEach((cell) => {
138
- const td = document.createElement('td');
139
- td.setAttribute('class', 'cm-table-cell');
140
- tr.appendChild(td).textContent = cell;
141
- });
142
- });
143
-
144
- return div;
145
- }
146
-
147
- override ignoreEvent(e: Event): boolean {
148
- return !/^mouse/.test(e.type);
149
- }
150
- }
@@ -1,41 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- //
4
-
5
- import { type CompletionContext, type CompletionResult, autocompletion } from '@codemirror/autocomplete';
6
- import type { Extension } from '@codemirror/state';
7
-
8
- import { log } from '@dxos/log';
9
-
10
- export type MentionOptions = {
11
- debug?: boolean;
12
- onSearch: (text: string) => string[];
13
- };
14
-
15
- // TODO(burdon): Can only have a single autocompletion. Merge configuration with autocomplete.
16
- export const mention = ({ debug, onSearch }: MentionOptions): Extension => {
17
- return autocompletion({
18
- // TODO(burdon): Not working.
19
- activateOnTyping: true,
20
- // activateOnTypingDelay: 100,
21
- // selectOnOpen: true,
22
- closeOnBlur: !debug,
23
- // defaultKeymap: false,
24
- icons: false,
25
- override: [
26
- (context: CompletionContext): CompletionResult | null => {
27
- log.info('completion context', { context });
28
-
29
- const match = context.matchBefore(/@(\w+)?/);
30
- if (!match || (match.from === match.to && !context.explicit)) {
31
- return null;
32
- }
33
-
34
- return {
35
- from: match.from,
36
- options: onSearch(match.text.slice(1).toLowerCase()).map((value) => ({ label: `@${value}` })),
37
- };
38
- },
39
- ],
40
- });
41
- };
@@ -1,41 +0,0 @@
1
- //
2
- // Copyright 2024 DXOS.org
3
- //
4
-
5
- import { type Extension } from '@codemirror/state';
6
- import { keymap } from '@codemirror/view';
7
- import { vim } from '@replit/codemirror-vim';
8
- import { vscodeKeymap } from '@replit/codemirror-vscode-keymap';
9
-
10
- import { singleValueFacet } from '../util';
11
-
12
- export type EditorInputConfig = {
13
- type?: string;
14
- ignoreEscape?: boolean;
15
- };
16
-
17
- export const editorInputMode = singleValueFacet<EditorInputConfig>({});
18
-
19
- export const InputModeExtensions: { [mode: string]: Extension } = {
20
- default: [],
21
- vscode: [
22
- // https://github.com/replit/codemirror-vscode-keymap
23
- editorInputMode.of({ type: 'vscode' }),
24
- keymap.of(vscodeKeymap),
25
- ],
26
- vim: [
27
- // https://github.com/replit/codemirror-vim
28
- vim(),
29
- editorInputMode.of({ type: 'vim', ignoreEscape: true }),
30
- keymap.of([
31
- {
32
- key: 'Alt-Escape',
33
- run: (view) => {
34
- // Focus container for tab navigation.
35
- view.dom.parentElement?.focus();
36
- return true;
37
- },
38
- },
39
- ]),
40
- ],
41
- };
@@ -1,270 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import { indentMore } from '@codemirror/commands';
6
- import { getIndentUnit } from '@codemirror/language';
7
- import { type ChangeSpec, EditorSelection, type Extension } from '@codemirror/state';
8
- import { type Command, type EditorView, keymap } from '@codemirror/view';
9
-
10
- import { getSelection, selectAll, selectDown, selectNone, selectUp } from './selection';
11
- import { getRange, treeFacet } from './tree';
12
-
13
- //
14
- // Indentation comnmands.
15
- //
16
-
17
- export const indentItemMore: Command = (view: EditorView) => {
18
- const pos = getSelection(view.state).from;
19
- const tree = view.state.facet(treeFacet);
20
- const current = tree.find(pos);
21
- if (current) {
22
- const previous = tree.prev(current);
23
- if (previous && current.level <= previous.level) {
24
- // TODO(burdon): Indent descendants?
25
- indentMore(view);
26
- }
27
- }
28
-
29
- return true;
30
- };
31
-
32
- export const indentItemLess: Command = (view: EditorView) => {
33
- const pos = getSelection(view.state).from;
34
- const tree = view.state.facet(treeFacet);
35
- const current = tree.find(pos);
36
- if (current) {
37
- if (current.level > 0) {
38
- // Unindent current line and all descendants.
39
- // NOTE: The markdown extension doesn't provide an indentation service.
40
- const indentUnit = getIndentUnit(view.state);
41
- const changes: ChangeSpec[] = [];
42
- tree.traverse(current, (item) => {
43
- const line = view.state.doc.lineAt(item.lineRange.from);
44
- changes.push({ from: line.from, to: line.from + indentUnit });
45
- });
46
-
47
- if (changes.length > 0) {
48
- view.dispatch({ changes });
49
- }
50
- }
51
- }
52
-
53
- return true;
54
- };
55
-
56
- //
57
- // Moving commands.
58
- //
59
-
60
- export const moveItemDown: Command = (view: EditorView) => {
61
- const pos = getSelection(view.state)?.from;
62
- const tree = view.state.facet(treeFacet);
63
- const current = tree.find(pos);
64
- if (current && current.nextSibling) {
65
- const next = current.nextSibling;
66
- const currentContent = view.state.doc.sliceString(...getRange(tree, current));
67
- const nextContent = view.state.doc.sliceString(...getRange(tree, next));
68
- const changes: ChangeSpec[] = [
69
- {
70
- from: current.lineRange.from,
71
- to: current.lineRange.from + currentContent.length,
72
- insert: nextContent,
73
- },
74
- {
75
- from: next.lineRange.from,
76
- to: next.lineRange.from + nextContent.length,
77
- insert: currentContent,
78
- },
79
- ];
80
-
81
- view.dispatch({
82
- changes,
83
- selection: EditorSelection.cursor(pos + nextContent.length + 1),
84
- scrollIntoView: true,
85
- });
86
- }
87
-
88
- return true;
89
- };
90
-
91
- export const moveItemUp: Command = (view: EditorView) => {
92
- const pos = getSelection(view.state)?.from;
93
- const tree = view.state.facet(treeFacet);
94
- const current = tree.find(pos);
95
- if (current && current.prevSibling) {
96
- const prev = current.prevSibling;
97
- const currentContent = view.state.doc.sliceString(...getRange(tree, current));
98
- const prevContent = view.state.doc.sliceString(...getRange(tree, prev));
99
- const changes: ChangeSpec[] = [
100
- {
101
- from: prev.lineRange.from,
102
- to: prev.lineRange.from + prevContent.length,
103
- insert: currentContent,
104
- },
105
- {
106
- from: current.lineRange.from,
107
- to: current.lineRange.from + currentContent.length,
108
- insert: prevContent,
109
- },
110
- ];
111
-
112
- view.dispatch({
113
- changes,
114
- selection: EditorSelection.cursor(pos - prevContent.length - 1),
115
- scrollIntoView: true,
116
- });
117
- }
118
-
119
- return true;
120
- };
121
-
122
- //
123
- // Misc commands.
124
- //
125
-
126
- export const deleteItem: Command = (view: EditorView) => {
127
- const tree = view.state.facet(treeFacet);
128
- const pos = getSelection(view.state).from;
129
- const current = tree.find(pos);
130
- if (current) {
131
- view.dispatch({
132
- selection: EditorSelection.cursor(current.lineRange.from),
133
- changes: [
134
- {
135
- from: current.lineRange.from,
136
- to: Math.min(current.lineRange.to + 1, view.state.doc.length),
137
- },
138
- ],
139
- });
140
- }
141
-
142
- return true;
143
- };
144
-
145
- export const toggleTask: Command = (view: EditorView) => {
146
- const tree = view.state.facet(treeFacet);
147
- const pos = getSelection(view.state)?.from;
148
- const current = tree.find(pos);
149
- if (current) {
150
- const type = current.type === 'task' ? 'bullet' : 'task';
151
- const indent = ' '.repeat(getIndentUnit(view.state) * current.level);
152
- view.dispatch({
153
- changes: [
154
- {
155
- from: current.lineRange.from,
156
- to: current.contentRange.from,
157
- insert: indent + (type === 'task' ? '- [ ] ' : '- '),
158
- },
159
- ],
160
- });
161
- }
162
-
163
- return true;
164
- };
165
-
166
- export const commands = (): Extension =>
167
- keymap.of([
168
- //
169
- // Indentation.
170
- //
171
- {
172
- key: 'Tab',
173
- preventDefault: true,
174
- run: indentItemMore,
175
- shift: indentItemLess,
176
- },
177
-
178
- //
179
- // Continuation.
180
- //
181
- {
182
- key: 'Enter',
183
- shift: (view) => {
184
- const pos = getSelection(view.state).from;
185
- const insert = '\n '; // TODO(burdon): Fix parsing.
186
- view.dispatch({
187
- changes: [{ from: pos, to: pos, insert }],
188
- selection: EditorSelection.cursor(pos + insert.length),
189
- });
190
- return true;
191
- },
192
- },
193
-
194
- //
195
- // Navigation.
196
- //
197
- {
198
- key: 'ArrowDown',
199
- // Jump to next item (default moves to end of currentline).
200
- run: (view) => {
201
- const tree = view.state.facet(treeFacet);
202
- const item = tree.find(getSelection(view.state).from);
203
- if (
204
- item &&
205
- view.state.doc.lineAt(item.lineRange.to).number - view.state.doc.lineAt(item.lineRange.from).number === 0
206
- ) {
207
- const next = tree.next(item);
208
- if (next) {
209
- view.dispatch({ selection: EditorSelection.cursor(next.contentRange.from) });
210
- return true;
211
- }
212
- }
213
-
214
- return false;
215
- },
216
- },
217
-
218
- //
219
- // Line selection.
220
- // TODO(burdon): Shortcut to select current item?
221
- //
222
- {
223
- key: 'Mod-a',
224
- preventDefault: true,
225
- run: selectAll,
226
- },
227
- {
228
- key: 'Escape',
229
- preventDefault: true,
230
- run: selectNone,
231
- },
232
- {
233
- key: 'ArrowUp',
234
- shift: selectUp,
235
- },
236
- {
237
- key: 'ArrowDown',
238
- shift: selectDown,
239
- },
240
-
241
- //
242
- // Move.
243
- //
244
- {
245
- key: 'Alt-ArrowDown',
246
- preventDefault: true,
247
- run: moveItemDown,
248
- },
249
- {
250
- key: 'Alt-ArrowUp',
251
- preventDefault: true,
252
- run: moveItemUp,
253
- },
254
- //
255
- // Delete.
256
- //
257
- {
258
- key: 'Mod-Backspace',
259
- preventDefault: true,
260
- run: deleteItem,
261
- },
262
- //
263
- // Misc.
264
- //
265
- {
266
- key: 'Alt-t',
267
- preventDefault: true,
268
- run: toggleTask,
269
- },
270
- ]);
@@ -1,33 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import { markdown, markdownLanguage } from '@codemirror/lang-markdown';
6
- import { EditorSelection, EditorState } from '@codemirror/state';
7
- import { describe, test } from 'vitest';
8
-
9
- import { editor } from './editor';
10
- import { outlinerTree, treeFacet } from './tree';
11
-
12
- const extensions = [markdown({ base: markdownLanguage }), outlinerTree(), editor()];
13
-
14
- describe('editor', () => {
15
- test('empty', ({ expect }) => {
16
- const state = EditorState.create({ extensions });
17
- const tree = state.facet(treeFacet);
18
- expect(tree).to.exist;
19
- });
20
-
21
- test('prevent moving out of range', ({ expect }) => {
22
- const state = EditorState.create({ doc: '- [ ] ', extensions });
23
- const spec = state.update({ selection: EditorSelection.cursor(1) });
24
- expect(spec.state.selection.ranges[0].from).to.eq(6);
25
- });
26
-
27
- test.skip('prevent deleting task marker', ({ expect }) => {
28
- const state = EditorState.create({ doc: '- [ ] ', extensions });
29
- state.update({ selection: EditorSelection.cursor(6) });
30
- const spec = state.update({ changes: { from: 5, to: 6 } });
31
- expect(spec.state.doc.toString()).to.eq('- [ ] ');
32
- });
33
- });