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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (397) hide show
  1. package/dist/lib/browser/index.mjs +520 -8303
  2. package/dist/lib/browser/index.mjs.map +4 -4
  3. package/dist/lib/browser/meta.json +1 -1
  4. package/dist/lib/node-esm/index.mjs +518 -8300
  5. package/dist/lib/node-esm/index.mjs.map +4 -4
  6. package/dist/lib/node-esm/meta.json +1 -1
  7. package/dist/types/src/components/Editor/Editor.d.ts +8 -2
  8. package/dist/types/src/components/Editor/Editor.d.ts.map +1 -1
  9. package/dist/types/src/components/Editor/Editor.stories.d.ts +4 -1
  10. package/dist/types/src/components/Editor/Editor.stories.d.ts.map +1 -1
  11. package/dist/types/src/components/EditorContent/EditorContent.d.ts +4 -2
  12. package/dist/types/src/components/EditorContent/EditorContent.d.ts.map +1 -1
  13. package/dist/types/src/components/EditorMenuProvider/EditorMenuProvider.d.ts +1 -1
  14. package/dist/types/src/components/EditorMenuProvider/EditorMenuProvider.d.ts.map +1 -1
  15. package/dist/types/src/components/EditorMenuProvider/index.d.ts +0 -1
  16. package/dist/types/src/components/EditorMenuProvider/index.d.ts.map +1 -1
  17. package/dist/types/src/components/EditorMenuProvider/menu-presets.d.ts.map +1 -1
  18. package/dist/types/src/components/EditorMenuProvider/menu.d.ts.map +1 -1
  19. package/dist/types/src/components/EditorMenuProvider/popover.d.ts +1 -2
  20. package/dist/types/src/components/EditorMenuProvider/popover.d.ts.map +1 -1
  21. package/dist/types/src/components/EditorMenuProvider/useEditorMenu.d.ts.map +1 -1
  22. package/dist/types/src/components/EditorPreviewProvider/EditorPreviewProvider.d.ts +1 -1
  23. package/dist/types/src/components/EditorPreviewProvider/EditorPreviewProvider.d.ts.map +1 -1
  24. package/dist/types/src/components/EditorToolbar/EditorToolbar.d.ts +7 -5
  25. package/dist/types/src/components/EditorToolbar/EditorToolbar.d.ts.map +1 -1
  26. package/dist/types/src/components/EditorToolbar/actions.d.ts +9 -23
  27. package/dist/types/src/components/EditorToolbar/actions.d.ts.map +1 -1
  28. package/dist/types/src/components/EditorToolbar/blocks.d.ts +7 -5
  29. package/dist/types/src/components/EditorToolbar/blocks.d.ts.map +1 -1
  30. package/dist/types/src/components/EditorToolbar/formatting.d.ts +7 -5
  31. package/dist/types/src/components/EditorToolbar/formatting.d.ts.map +1 -1
  32. package/dist/types/src/components/EditorToolbar/headings.d.ts +7 -5
  33. package/dist/types/src/components/EditorToolbar/headings.d.ts.map +1 -1
  34. package/dist/types/src/components/EditorToolbar/image.d.ts +5 -11
  35. package/dist/types/src/components/EditorToolbar/image.d.ts.map +1 -1
  36. package/dist/types/src/components/EditorToolbar/index.d.ts +1 -1
  37. package/dist/types/src/components/EditorToolbar/index.d.ts.map +1 -1
  38. package/dist/types/src/components/EditorToolbar/search.d.ts +5 -11
  39. package/dist/types/src/components/EditorToolbar/search.d.ts.map +1 -1
  40. package/dist/types/src/components/EditorToolbar/useEditorToolbar.d.ts +4 -4
  41. package/dist/types/src/components/EditorToolbar/useEditorToolbar.d.ts.map +1 -1
  42. package/dist/types/src/components/EditorToolbar/view-mode.d.ts +8 -6
  43. package/dist/types/src/components/EditorToolbar/view-mode.d.ts.map +1 -1
  44. package/dist/types/src/components/index.d.ts.map +1 -1
  45. package/dist/types/src/hooks/useTextEditor.d.ts +1 -1
  46. package/dist/types/src/hooks/useTextEditor.d.ts.map +1 -1
  47. package/dist/types/src/index.d.ts +0 -8
  48. package/dist/types/src/index.d.ts.map +1 -1
  49. package/dist/types/src/{extensions/automerge/automerge.stories.d.ts → stories/Automerge.stories.d.ts} +5 -8
  50. package/dist/types/src/stories/Automerge.stories.d.ts.map +1 -0
  51. package/dist/types/src/stories/CommandDialog.stories.d.ts.map +1 -1
  52. package/dist/types/src/stories/Comments.stories.d.ts +3 -2
  53. package/dist/types/src/stories/Comments.stories.d.ts.map +1 -1
  54. package/dist/types/src/stories/EditorToolbar.stories.d.ts +4 -4
  55. package/dist/types/src/stories/EditorToolbar.stories.d.ts.map +1 -1
  56. package/dist/types/src/stories/Experimental.stories.d.ts +3 -2
  57. package/dist/types/src/stories/Experimental.stories.d.ts.map +1 -1
  58. package/dist/types/src/stories/Markdown.stories.d.ts +3 -2
  59. package/dist/types/src/stories/Markdown.stories.d.ts.map +1 -1
  60. package/dist/types/src/stories/Outliner.stories.d.ts.map +1 -1
  61. package/dist/types/src/stories/Popover.stories.d.ts.map +1 -1
  62. package/dist/types/src/stories/Preview.stories.d.ts +3 -2
  63. package/dist/types/src/stories/Preview.stories.d.ts.map +1 -1
  64. package/dist/types/src/stories/Tags.stories.d.ts.map +1 -1
  65. package/dist/types/src/stories/TextEditor.stories.d.ts +3 -2
  66. package/dist/types/src/stories/TextEditor.stories.d.ts.map +1 -1
  67. package/dist/types/src/stories/Theme.stories.d.ts +8 -0
  68. package/dist/types/src/stories/Theme.stories.d.ts.map +1 -0
  69. package/dist/types/src/stories/components/EditorStory.d.ts +8 -20
  70. package/dist/types/src/stories/components/EditorStory.d.ts.map +1 -1
  71. package/dist/types/src/stories/components/util.d.ts +3 -3
  72. package/dist/types/src/stories/components/util.d.ts.map +1 -1
  73. package/dist/types/src/translations.d.ts +5 -5
  74. package/dist/types/src/translations.d.ts.map +1 -1
  75. package/dist/types/src/util/index.d.ts +0 -5
  76. package/dist/types/src/util/index.d.ts.map +1 -1
  77. package/dist/types/src/util/react.d.ts +6 -5
  78. package/dist/types/src/util/react.d.ts.map +1 -1
  79. package/dist/types/tsconfig.tsbuildinfo +1 -1
  80. package/package.json +64 -66
  81. package/src/components/Editor/Editor.stories.tsx +14 -8
  82. package/src/components/Editor/Editor.tsx +21 -10
  83. package/src/components/EditorContent/EditorContent.tsx +19 -6
  84. package/src/components/EditorMenuProvider/EditorMenuProvider.tsx +21 -26
  85. package/src/components/EditorMenuProvider/index.ts +0 -1
  86. package/src/components/EditorMenuProvider/menu-presets.ts +2 -1
  87. package/src/components/EditorMenuProvider/menu.ts +1 -2
  88. package/src/components/EditorMenuProvider/popover.ts +1 -3
  89. package/src/components/EditorMenuProvider/useEditorMenu.ts +7 -3
  90. package/src/components/EditorPreviewProvider/EditorPreviewProvider.tsx +6 -9
  91. package/src/components/EditorToolbar/EditorToolbar.tsx +24 -36
  92. package/src/components/EditorToolbar/actions.ts +10 -9
  93. package/src/components/EditorToolbar/blocks.ts +5 -6
  94. package/src/components/EditorToolbar/formatting.ts +5 -6
  95. package/src/components/EditorToolbar/headings.ts +12 -12
  96. package/src/components/EditorToolbar/image.ts +9 -2
  97. package/src/components/EditorToolbar/index.ts +1 -1
  98. package/src/components/EditorToolbar/search.ts +9 -2
  99. package/src/components/EditorToolbar/useEditorToolbar.ts +6 -6
  100. package/src/components/EditorToolbar/view-mode.ts +5 -5
  101. package/src/components/index.ts +0 -2
  102. package/src/hooks/useTextEditor.ts +9 -3
  103. package/src/index.ts +0 -10
  104. package/src/stories/Automerge.stories.tsx +173 -0
  105. package/src/stories/CommandDialog.stories.tsx +8 -10
  106. package/src/stories/Comments.stories.tsx +47 -42
  107. package/src/stories/EditorToolbar.stories.tsx +30 -15
  108. package/src/stories/Experimental.stories.tsx +7 -9
  109. package/src/stories/Markdown.stories.tsx +16 -16
  110. package/src/stories/Outliner.stories.tsx +6 -7
  111. package/src/stories/Popover.stories.tsx +19 -23
  112. package/src/stories/Preview.stories.tsx +66 -51
  113. package/src/stories/Tags.stories.tsx +24 -15
  114. package/src/stories/TextEditor.stories.tsx +13 -19
  115. package/src/stories/Theme.stories.tsx +61 -0
  116. package/src/stories/components/EditorStory.tsx +19 -23
  117. package/src/stories/components/util.tsx +21 -24
  118. package/src/translations.ts +4 -4
  119. package/src/util/index.ts +1 -6
  120. package/src/util/react.tsx +8 -13
  121. package/dist/lib/browser/chunk-HL3YF6WC.mjs +0 -22
  122. package/dist/lib/browser/chunk-HL3YF6WC.mjs.map +0 -7
  123. package/dist/lib/browser/types/index.mjs +0 -13
  124. package/dist/lib/browser/types/index.mjs.map +0 -7
  125. package/dist/lib/node-esm/chunk-YJZGD3LY.mjs +0 -24
  126. package/dist/lib/node-esm/chunk-YJZGD3LY.mjs.map +0 -7
  127. package/dist/lib/node-esm/types/index.mjs +0 -14
  128. package/dist/lib/node-esm/types/index.mjs.map +0 -7
  129. package/dist/types/src/components/EditorContent/EditorContent.stories.d.ts +0 -26
  130. package/dist/types/src/components/EditorContent/EditorContent.stories.d.ts.map +0 -1
  131. package/dist/types/src/components/EditorMenuProvider/util.d.ts +0 -8
  132. package/dist/types/src/components/EditorMenuProvider/util.d.ts.map +0 -1
  133. package/dist/types/src/defaults.d.ts +0 -14
  134. package/dist/types/src/defaults.d.ts.map +0 -1
  135. package/dist/types/src/extensions/annotations.d.ts +0 -9
  136. package/dist/types/src/extensions/annotations.d.ts.map +0 -1
  137. package/dist/types/src/extensions/autocomplete/autocomplete.d.ts +0 -17
  138. package/dist/types/src/extensions/autocomplete/autocomplete.d.ts.map +0 -1
  139. package/dist/types/src/extensions/autocomplete/index.d.ts +0 -5
  140. package/dist/types/src/extensions/autocomplete/index.d.ts.map +0 -1
  141. package/dist/types/src/extensions/autocomplete/match.d.ts +0 -13
  142. package/dist/types/src/extensions/autocomplete/match.d.ts.map +0 -1
  143. package/dist/types/src/extensions/autocomplete/placeholder.d.ts +0 -20
  144. package/dist/types/src/extensions/autocomplete/placeholder.d.ts.map +0 -1
  145. package/dist/types/src/extensions/autocomplete/typeahead.d.ts +0 -10
  146. package/dist/types/src/extensions/autocomplete/typeahead.d.ts.map +0 -1
  147. package/dist/types/src/extensions/automerge/automerge.d.ts +0 -4
  148. package/dist/types/src/extensions/automerge/automerge.d.ts.map +0 -1
  149. package/dist/types/src/extensions/automerge/automerge.stories.d.ts.map +0 -1
  150. package/dist/types/src/extensions/automerge/automerge.test.d.ts +0 -2
  151. package/dist/types/src/extensions/automerge/automerge.test.d.ts.map +0 -1
  152. package/dist/types/src/extensions/automerge/cursor.d.ts +0 -4
  153. package/dist/types/src/extensions/automerge/cursor.d.ts.map +0 -1
  154. package/dist/types/src/extensions/automerge/defs.d.ts +0 -17
  155. package/dist/types/src/extensions/automerge/defs.d.ts.map +0 -1
  156. package/dist/types/src/extensions/automerge/index.d.ts +0 -2
  157. package/dist/types/src/extensions/automerge/index.d.ts.map +0 -1
  158. package/dist/types/src/extensions/automerge/sync.d.ts +0 -17
  159. package/dist/types/src/extensions/automerge/sync.d.ts.map +0 -1
  160. package/dist/types/src/extensions/automerge/update-automerge.d.ts +0 -6
  161. package/dist/types/src/extensions/automerge/update-automerge.d.ts.map +0 -1
  162. package/dist/types/src/extensions/automerge/update-codemirror.d.ts +0 -5
  163. package/dist/types/src/extensions/automerge/update-codemirror.d.ts.map +0 -1
  164. package/dist/types/src/extensions/autoscroll.d.ts +0 -20
  165. package/dist/types/src/extensions/autoscroll.d.ts.map +0 -1
  166. package/dist/types/src/extensions/awareness/awareness-provider.d.ts +0 -31
  167. package/dist/types/src/extensions/awareness/awareness-provider.d.ts.map +0 -1
  168. package/dist/types/src/extensions/awareness/awareness.d.ts +0 -46
  169. package/dist/types/src/extensions/awareness/awareness.d.ts.map +0 -1
  170. package/dist/types/src/extensions/awareness/index.d.ts +0 -3
  171. package/dist/types/src/extensions/awareness/index.d.ts.map +0 -1
  172. package/dist/types/src/extensions/blast.d.ts +0 -25
  173. package/dist/types/src/extensions/blast.d.ts.map +0 -1
  174. package/dist/types/src/extensions/blocks.d.ts +0 -2
  175. package/dist/types/src/extensions/blocks.d.ts.map +0 -1
  176. package/dist/types/src/extensions/bookmarks.d.ts +0 -12
  177. package/dist/types/src/extensions/bookmarks.d.ts.map +0 -1
  178. package/dist/types/src/extensions/comments.d.ts +0 -95
  179. package/dist/types/src/extensions/comments.d.ts.map +0 -1
  180. package/dist/types/src/extensions/debug.d.ts +0 -3
  181. package/dist/types/src/extensions/debug.d.ts.map +0 -1
  182. package/dist/types/src/extensions/dnd.d.ts +0 -9
  183. package/dist/types/src/extensions/dnd.d.ts.map +0 -1
  184. package/dist/types/src/extensions/factories.d.ts +0 -84
  185. package/dist/types/src/extensions/factories.d.ts.map +0 -1
  186. package/dist/types/src/extensions/focus.d.ts +0 -7
  187. package/dist/types/src/extensions/focus.d.ts.map +0 -1
  188. package/dist/types/src/extensions/folding.d.ts +0 -7
  189. package/dist/types/src/extensions/folding.d.ts.map +0 -1
  190. package/dist/types/src/extensions/hashtag.d.ts +0 -3
  191. package/dist/types/src/extensions/hashtag.d.ts.map +0 -1
  192. package/dist/types/src/extensions/index.d.ts +0 -32
  193. package/dist/types/src/extensions/index.d.ts.map +0 -1
  194. package/dist/types/src/extensions/json.d.ts +0 -7
  195. package/dist/types/src/extensions/json.d.ts.map +0 -1
  196. package/dist/types/src/extensions/listener.d.ts +0 -13
  197. package/dist/types/src/extensions/listener.d.ts.map +0 -1
  198. package/dist/types/src/extensions/markdown/action.d.ts +0 -12
  199. package/dist/types/src/extensions/markdown/action.d.ts.map +0 -1
  200. package/dist/types/src/extensions/markdown/bundle.d.ts +0 -22
  201. package/dist/types/src/extensions/markdown/bundle.d.ts.map +0 -1
  202. package/dist/types/src/extensions/markdown/changes.d.ts +0 -10
  203. package/dist/types/src/extensions/markdown/changes.d.ts.map +0 -1
  204. package/dist/types/src/extensions/markdown/changes.test.d.ts +0 -2
  205. package/dist/types/src/extensions/markdown/changes.test.d.ts.map +0 -1
  206. package/dist/types/src/extensions/markdown/debug.d.ts +0 -11
  207. package/dist/types/src/extensions/markdown/debug.d.ts.map +0 -1
  208. package/dist/types/src/extensions/markdown/decorate.d.ts +0 -25
  209. package/dist/types/src/extensions/markdown/decorate.d.ts.map +0 -1
  210. package/dist/types/src/extensions/markdown/formatting.d.ts +0 -61
  211. package/dist/types/src/extensions/markdown/formatting.d.ts.map +0 -1
  212. package/dist/types/src/extensions/markdown/formatting.test.d.ts +0 -3
  213. package/dist/types/src/extensions/markdown/formatting.test.d.ts.map +0 -1
  214. package/dist/types/src/extensions/markdown/highlight.d.ts +0 -37
  215. package/dist/types/src/extensions/markdown/highlight.d.ts.map +0 -1
  216. package/dist/types/src/extensions/markdown/image.d.ts +0 -7
  217. package/dist/types/src/extensions/markdown/image.d.ts.map +0 -1
  218. package/dist/types/src/extensions/markdown/index.d.ts +0 -10
  219. package/dist/types/src/extensions/markdown/index.d.ts.map +0 -1
  220. package/dist/types/src/extensions/markdown/link.d.ts +0 -7
  221. package/dist/types/src/extensions/markdown/link.d.ts.map +0 -1
  222. package/dist/types/src/extensions/markdown/parser.test.d.ts +0 -2
  223. package/dist/types/src/extensions/markdown/parser.test.d.ts.map +0 -1
  224. package/dist/types/src/extensions/markdown/styles.d.ts +0 -4
  225. package/dist/types/src/extensions/markdown/styles.d.ts.map +0 -1
  226. package/dist/types/src/extensions/markdown/table.d.ts +0 -8
  227. package/dist/types/src/extensions/markdown/table.d.ts.map +0 -1
  228. package/dist/types/src/extensions/mention.d.ts +0 -7
  229. package/dist/types/src/extensions/mention.d.ts.map +0 -1
  230. package/dist/types/src/extensions/modal.d.ts +0 -7
  231. package/dist/types/src/extensions/modal.d.ts.map +0 -1
  232. package/dist/types/src/extensions/modes.d.ts +0 -10
  233. package/dist/types/src/extensions/modes.d.ts.map +0 -1
  234. package/dist/types/src/extensions/outliner/commands.d.ts +0 -10
  235. package/dist/types/src/extensions/outliner/commands.d.ts.map +0 -1
  236. package/dist/types/src/extensions/outliner/editor.d.ts +0 -5
  237. package/dist/types/src/extensions/outliner/editor.d.ts.map +0 -1
  238. package/dist/types/src/extensions/outliner/editor.test.d.ts +0 -2
  239. package/dist/types/src/extensions/outliner/editor.test.d.ts.map +0 -1
  240. package/dist/types/src/extensions/outliner/index.d.ts +0 -4
  241. package/dist/types/src/extensions/outliner/index.d.ts.map +0 -1
  242. package/dist/types/src/extensions/outliner/menu.d.ts +0 -8
  243. package/dist/types/src/extensions/outliner/menu.d.ts.map +0 -1
  244. package/dist/types/src/extensions/outliner/outliner.d.ts +0 -11
  245. package/dist/types/src/extensions/outliner/outliner.d.ts.map +0 -1
  246. package/dist/types/src/extensions/outliner/outliner.test.d.ts +0 -2
  247. package/dist/types/src/extensions/outliner/outliner.test.d.ts.map +0 -1
  248. package/dist/types/src/extensions/outliner/selection.d.ts +0 -12
  249. package/dist/types/src/extensions/outliner/selection.d.ts.map +0 -1
  250. package/dist/types/src/extensions/outliner/tree.d.ts +0 -79
  251. package/dist/types/src/extensions/outliner/tree.d.ts.map +0 -1
  252. package/dist/types/src/extensions/outliner/tree.test.d.ts +0 -2
  253. package/dist/types/src/extensions/outliner/tree.test.d.ts.map +0 -1
  254. package/dist/types/src/extensions/preview/index.d.ts +0 -2
  255. package/dist/types/src/extensions/preview/index.d.ts.map +0 -1
  256. package/dist/types/src/extensions/preview/preview.d.ts +0 -32
  257. package/dist/types/src/extensions/preview/preview.d.ts.map +0 -1
  258. package/dist/types/src/extensions/replacer.d.ts +0 -21
  259. package/dist/types/src/extensions/replacer.d.ts.map +0 -1
  260. package/dist/types/src/extensions/replacer.test.d.ts +0 -2
  261. package/dist/types/src/extensions/replacer.test.d.ts.map +0 -1
  262. package/dist/types/src/extensions/scrolling.d.ts +0 -78
  263. package/dist/types/src/extensions/scrolling.d.ts.map +0 -1
  264. package/dist/types/src/extensions/selection.d.ts +0 -24
  265. package/dist/types/src/extensions/selection.d.ts.map +0 -1
  266. package/dist/types/src/extensions/state.d.ts +0 -2
  267. package/dist/types/src/extensions/state.d.ts.map +0 -1
  268. package/dist/types/src/extensions/submit.d.ts +0 -10
  269. package/dist/types/src/extensions/submit.d.ts.map +0 -1
  270. package/dist/types/src/extensions/tab.d.ts +0 -4
  271. package/dist/types/src/extensions/tab.d.ts.map +0 -1
  272. package/dist/types/src/extensions/tags/extended-markdown.d.ts +0 -10
  273. package/dist/types/src/extensions/tags/extended-markdown.d.ts.map +0 -1
  274. package/dist/types/src/extensions/tags/extended-markdown.test.d.ts +0 -2
  275. package/dist/types/src/extensions/tags/extended-markdown.test.d.ts.map +0 -1
  276. package/dist/types/src/extensions/tags/index.d.ts +0 -4
  277. package/dist/types/src/extensions/tags/index.d.ts.map +0 -1
  278. package/dist/types/src/extensions/tags/streamer.d.ts +0 -12
  279. package/dist/types/src/extensions/tags/streamer.d.ts.map +0 -1
  280. package/dist/types/src/extensions/tags/xml-tags.d.ts +0 -97
  281. package/dist/types/src/extensions/tags/xml-tags.d.ts.map +0 -1
  282. package/dist/types/src/extensions/tags/xml-util.d.ts +0 -10
  283. package/dist/types/src/extensions/tags/xml-util.d.ts.map +0 -1
  284. package/dist/types/src/extensions/typewriter.d.ts +0 -10
  285. package/dist/types/src/extensions/typewriter.d.ts.map +0 -1
  286. package/dist/types/src/styles/index.d.ts +0 -4
  287. package/dist/types/src/styles/index.d.ts.map +0 -1
  288. package/dist/types/src/styles/markdown.d.ts +0 -8
  289. package/dist/types/src/styles/markdown.d.ts.map +0 -1
  290. package/dist/types/src/styles/theme.d.ts +0 -38
  291. package/dist/types/src/styles/theme.d.ts.map +0 -1
  292. package/dist/types/src/styles/tokens.d.ts +0 -3
  293. package/dist/types/src/styles/tokens.d.ts.map +0 -1
  294. package/dist/types/src/types/index.d.ts +0 -2
  295. package/dist/types/src/types/index.d.ts.map +0 -1
  296. package/dist/types/src/types/types.d.ts +0 -21
  297. package/dist/types/src/types/types.d.ts.map +0 -1
  298. package/dist/types/src/util/cursor.d.ts +0 -31
  299. package/dist/types/src/util/cursor.d.ts.map +0 -1
  300. package/dist/types/src/util/debug.d.ts +0 -21
  301. package/dist/types/src/util/debug.d.ts.map +0 -1
  302. package/dist/types/src/util/decorations.d.ts +0 -4
  303. package/dist/types/src/util/decorations.d.ts.map +0 -1
  304. package/dist/types/src/util/dom.d.ts +0 -10
  305. package/dist/types/src/util/dom.d.ts.map +0 -1
  306. package/dist/types/src/util/facet.d.ts +0 -3
  307. package/dist/types/src/util/facet.d.ts.map +0 -1
  308. package/src/components/EditorContent/EditorContent.stories.tsx +0 -70
  309. package/src/components/EditorMenuProvider/util.ts +0 -31
  310. package/src/defaults.ts +0 -52
  311. package/src/extensions/annotations.ts +0 -55
  312. package/src/extensions/autocomplete/autocomplete.ts +0 -151
  313. package/src/extensions/autocomplete/index.ts +0 -8
  314. package/src/extensions/autocomplete/match.ts +0 -46
  315. package/src/extensions/autocomplete/placeholder.ts +0 -117
  316. package/src/extensions/autocomplete/typeahead.ts +0 -87
  317. package/src/extensions/automerge/automerge.stories.tsx +0 -150
  318. package/src/extensions/automerge/automerge.test.tsx +0 -78
  319. package/src/extensions/automerge/automerge.ts +0 -105
  320. package/src/extensions/automerge/cursor.ts +0 -28
  321. package/src/extensions/automerge/defs.ts +0 -31
  322. package/src/extensions/automerge/index.ts +0 -5
  323. package/src/extensions/automerge/sync.ts +0 -79
  324. package/src/extensions/automerge/update-automerge.ts +0 -50
  325. package/src/extensions/automerge/update-codemirror.ts +0 -115
  326. package/src/extensions/autoscroll.ts +0 -163
  327. package/src/extensions/awareness/awareness-provider.ts +0 -127
  328. package/src/extensions/awareness/awareness.ts +0 -315
  329. package/src/extensions/awareness/index.ts +0 -6
  330. package/src/extensions/blast.ts +0 -363
  331. package/src/extensions/blocks.ts +0 -131
  332. package/src/extensions/bookmarks.ts +0 -75
  333. package/src/extensions/comments.ts +0 -598
  334. package/src/extensions/debug.ts +0 -15
  335. package/src/extensions/dnd.ts +0 -37
  336. package/src/extensions/factories.ts +0 -282
  337. package/src/extensions/focus.ts +0 -36
  338. package/src/extensions/folding.tsx +0 -43
  339. package/src/extensions/hashtag.tsx +0 -68
  340. package/src/extensions/index.ts +0 -35
  341. package/src/extensions/json.ts +0 -57
  342. package/src/extensions/listener.ts +0 -32
  343. package/src/extensions/markdown/action.ts +0 -117
  344. package/src/extensions/markdown/bundle.ts +0 -105
  345. package/src/extensions/markdown/changes.test.ts +0 -26
  346. package/src/extensions/markdown/changes.ts +0 -149
  347. package/src/extensions/markdown/debug.ts +0 -44
  348. package/src/extensions/markdown/decorate.ts +0 -601
  349. package/src/extensions/markdown/formatting.test.ts +0 -498
  350. package/src/extensions/markdown/formatting.ts +0 -1265
  351. package/src/extensions/markdown/highlight.ts +0 -183
  352. package/src/extensions/markdown/image.ts +0 -118
  353. package/src/extensions/markdown/index.ts +0 -13
  354. package/src/extensions/markdown/link.ts +0 -50
  355. package/src/extensions/markdown/parser.test.ts +0 -75
  356. package/src/extensions/markdown/styles.ts +0 -135
  357. package/src/extensions/markdown/table.ts +0 -150
  358. package/src/extensions/mention.ts +0 -41
  359. package/src/extensions/modal.ts +0 -24
  360. package/src/extensions/modes.ts +0 -41
  361. package/src/extensions/outliner/commands.ts +0 -270
  362. package/src/extensions/outliner/editor.test.ts +0 -33
  363. package/src/extensions/outliner/editor.ts +0 -184
  364. package/src/extensions/outliner/index.ts +0 -7
  365. package/src/extensions/outliner/menu.ts +0 -128
  366. package/src/extensions/outliner/outliner.test.ts +0 -100
  367. package/src/extensions/outliner/outliner.ts +0 -167
  368. package/src/extensions/outliner/selection.ts +0 -50
  369. package/src/extensions/outliner/tree.test.ts +0 -168
  370. package/src/extensions/outliner/tree.ts +0 -317
  371. package/src/extensions/preview/index.ts +0 -5
  372. package/src/extensions/preview/preview.ts +0 -193
  373. package/src/extensions/replacer.test.ts +0 -75
  374. package/src/extensions/replacer.ts +0 -93
  375. package/src/extensions/scrolling.ts +0 -189
  376. package/src/extensions/selection.ts +0 -100
  377. package/src/extensions/state.ts +0 -7
  378. package/src/extensions/submit.ts +0 -62
  379. package/src/extensions/tab.ts +0 -29
  380. package/src/extensions/tags/extended-markdown.test.ts +0 -262
  381. package/src/extensions/tags/extended-markdown.ts +0 -78
  382. package/src/extensions/tags/index.ts +0 -7
  383. package/src/extensions/tags/streamer.ts +0 -243
  384. package/src/extensions/tags/xml-tags.ts +0 -500
  385. package/src/extensions/tags/xml-util.ts +0 -94
  386. package/src/extensions/typewriter.ts +0 -68
  387. package/src/styles/index.ts +0 -7
  388. package/src/styles/markdown.ts +0 -26
  389. package/src/styles/theme.ts +0 -269
  390. package/src/styles/tokens.ts +0 -17
  391. package/src/types/index.ts +0 -5
  392. package/src/types/types.ts +0 -32
  393. package/src/util/cursor.ts +0 -56
  394. package/src/util/debug.ts +0 -69
  395. package/src/util/decorations.ts +0 -21
  396. package/src/util/dom.ts +0 -34
  397. package/src/util/facet.ts +0 -13
@@ -4,22 +4,22 @@
4
4
 
5
5
  import { type Completion } from '@codemirror/autocomplete';
6
6
  import { type Extension } from '@codemirror/state';
7
- import React, { type FC } from 'react';
8
7
 
9
8
  import { faker } from '@dxos/random';
10
- import { Icon } from '@dxos/react-ui';
11
- import { mx } from '@dxos/react-ui-theme';
12
-
9
+ import { Domino } from '@dxos/ui';
13
10
  import {
14
11
  type EditorSelectionState,
12
+ type RenderCallback,
15
13
  decorateMarkdown,
16
14
  folding,
17
15
  formattingKeymap,
18
16
  image,
19
17
  linkTooltip,
20
18
  table,
21
- } from '../../extensions';
22
- import { createRenderer, str } from '../../util';
19
+ } from '@dxos/ui-editor';
20
+ import { safeUrl } from '@dxos/util';
21
+
22
+ import { str } from '../../util';
23
23
 
24
24
  export const num = () => faker.number.int({ min: 0, max: 9999 }).toLocaleString();
25
25
 
@@ -204,30 +204,27 @@ export const links: Completion[] = [
204
204
  export const names = ['adam', 'alice', 'alison', 'bob', 'carol', 'charlie', 'sayuri', 'shoko'];
205
205
 
206
206
  const hover =
207
- 'rounded-sm text-baseText text-primary-600 hover:text-primary-500 dark:text-primary-300 hover:dark:text-primary-200';
208
-
209
- const LinkTooltip: FC<{ url: string }> = ({ url }) => {
210
- const web = new URL(url);
211
- return (
212
- <a href={url} target='_blank' rel='noreferrer' className={mx(hover, 'flex items-center gap-2')}>
213
- {web.origin}
214
- <Icon icon='ph--arrow-square-out--regular' size={4} />
215
- </a>
207
+ 'rounded-xs text-base-surface-text text-primary-600 hover:text-primary-500 dark:text-primary-300 hover:dark:text-primary-200';
208
+
209
+ export const renderLinkTooltip: RenderCallback<{ url: string }> = (el, { url }) => {
210
+ el.appendChild(
211
+ Domino.of('a')
212
+ .attributes({ href: url, target: '_blank', rel: 'noreferrer', 'aria-label': 'Open link' })
213
+ .classNames(hover, 'flex items-center gap-2')
214
+ .text(safeUrl(url)?.origin ?? url)
215
+ .children(Domino.svg('ph--arrow-square-out--regular')).root,
216
216
  );
217
217
  };
218
218
 
219
- export const renderLinkTooltip = createRenderer(LinkTooltip);
220
-
221
- const LinkButton: FC<{ url: string }> = ({ url }) => {
222
- return (
223
- <a href={url} target='_blank' rel='noreferrer' className={mx(hover)}>
224
- <Icon icon='ph--arrow-square-out--regular' size={4} classNames='inline-block mis-1 mb-[3px]' />
225
- </a>
219
+ export const renderLinkButton: RenderCallback<{ url: string }> = (el, { url }) => {
220
+ el.appendChild(
221
+ Domino.of('a')
222
+ .attributes({ href: url, target: '_blank', rel: 'noreferrer', 'aria-label': 'Open link' })
223
+ .classNames(hover, 'inline-block ms-1 align-[-0.125em]') // Center icon.
224
+ .children(Domino.svg('ph--arrow-square-out--regular')).root,
226
225
  );
227
226
  };
228
227
 
229
- export const renderLinkButton = createRenderer(LinkButton);
230
-
231
228
  // Shared extensions.
232
229
  export const defaultExtensions: Extension[] = [
233
230
  decorateMarkdown({ renderLinkButton, selectionChangeDelay: 100 }),
@@ -4,7 +4,7 @@
4
4
 
5
5
  import { type Resource } from '@dxos/react-ui';
6
6
 
7
- export const translationKey = 'react-ui-editor';
7
+ export const translationKey = '@dxos/react-ui-editor';
8
8
 
9
9
  export const translations = [
10
10
  {
@@ -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';
@@ -2,30 +2,25 @@
2
2
  // Copyright 2024 DXOS.org
3
3
  //
4
4
 
5
- import React, { type FC, type ReactNode } from 'react';
5
+ import React, { type FC } from 'react';
6
6
  import { createRoot } from 'react-dom/client';
7
7
 
8
8
  import { ThemeProvider, Tooltip } from '@dxos/react-ui';
9
- import { defaultTx } from '@dxos/react-ui-theme';
9
+ import { type RenderCallback } from '@dxos/ui-editor';
10
+ import { defaultTx } from '@dxos/ui-theme';
10
11
 
11
- import { type RenderCallback } from '../types';
12
-
13
- /** @deprecated */
14
- // TODO(wittjosiah): Replace with portals which are lighter weight and inherit context from the main react tree.
15
- export const renderRoot = <T extends Element>(root: T, node: ReactNode): T => {
16
- createRoot(root).render(<ThemeProvider tx={defaultTx}>{node}</ThemeProvider>);
17
- return root;
18
- };
12
+ /**
13
+ * @deprecated Use `trim` from `@dxos/util`.
14
+ */
15
+ export const str = (...lines: string[]) => lines.join('\n');
19
16
 
20
17
  /**
21
- * Utility to create a renderer for a React component.
22
18
  * @deprecated
23
19
  */
24
20
  export const createRenderer =
25
21
  <TProps extends object>(Component: FC<TProps>): RenderCallback<TProps> =>
26
22
  (el, props) => {
27
- renderRoot(
28
- el,
23
+ createRoot(el).render(
29
24
  <ThemeProvider tx={defaultTx}>
30
25
  <Tooltip.Provider>
31
26
  <Component {...props} />
@@ -1,22 +0,0 @@
1
- // src/types/types.ts
2
- import * 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,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,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,26 +0,0 @@
1
- import { type StoryObj } from '@storybook/react-vite';
2
- import React from 'react';
3
- declare const meta: {
4
- title: string;
5
- component: React.ForwardRefExoticComponent<Omit<{
6
- value?: string;
7
- onChange?: (value: string) => void;
8
- } & Pick<import("@codemirror/state").EditorStateConfig, "extensions"> & {
9
- id?: string;
10
- doc?: import("@codemirror/state").Text;
11
- initialValue?: string;
12
- autoFocus?: boolean;
13
- scrollTo?: number;
14
- selection?: import("../..").EditorSelection;
15
- selectionEnd?: boolean;
16
- debug?: boolean;
17
- }, "className"> & {
18
- classNames?: import("@dxos/react-ui-types").ClassNameValue;
19
- } & React.RefAttributes<import("./controller").EditorController>>;
20
- decorators: import("@storybook/react").Decorator[];
21
- };
22
- export default meta;
23
- type Story = StoryObj<typeof meta>;
24
- export declare const Default: Story;
25
- export declare const Automerge: Story;
26
- //# sourceMappingURL=EditorContent.stories.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EditorContent.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/EditorContent/EditorContent.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,MAAM,OAAO,CAAC;AAY1B,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;CAI4B,CAAC;AAEvC,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAmBrB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAqBvB,CAAC"}
@@ -1,8 +0,0 @@
1
- import { type EditorView } from '@codemirror/view';
2
- export declare const insertAtCursor: (view: EditorView, from: number, insert: string) => void;
3
- /**
4
- * If the cursor is at the start of a line, insert the text at the cursor.
5
- * Otherwise, insert the text on a new line.
6
- */
7
- export declare const insertAtLineStart: (view: EditorView, from: number, insert: string) => void;
8
- //# sourceMappingURL=util.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../../src/components/EditorMenuProvider/util.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAInD,eAAO,MAAM,cAAc,GAAI,MAAM,UAAU,EAAE,MAAM,MAAM,EAAE,QAAQ,MAAM,SAK5E,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAI,MAAM,UAAU,EAAE,MAAM,MAAM,EAAE,QAAQ,MAAM,SAW/E,CAAC"}
@@ -1,14 +0,0 @@
1
- import { type ThemeExtensionsOptions } from './extensions';
2
- /**
3
- * CodeMirror content width.
4
- * 40rem = 640px. Corresponds to initial plank width (Google docs, Stashpad, etc.)
5
- * 50rem = 800px. Maximum content width for solo mode.
6
- * NOTE: Max width - 4rem = 2rem left/right margin (or 2rem gutter plus 1rem left/right margin).
7
- */
8
- export declare const editorWidth = "!mli-auto is-full max-is-[min(50rem,100%-4rem)]";
9
- export declare const editorSlots: ThemeExtensionsOptions['slots'];
10
- export declare const editorGutter: import("@codemirror/state").Extension;
11
- export declare const editorMonospace: import("@codemirror/state").Extension;
12
- export declare const editorWithToolbarLayout = "grid grid-cols-1 grid-rows-[min-content_1fr] data-[toolbar=disabled]:grid-rows-[1fr] justify-center content-start overflow-hidden";
13
- export declare const stackItemContentEditorClassNames: (role?: string) => string;
14
- //# sourceMappingURL=defaults.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../../src/defaults.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAG3D;;;;;GAKG;AACH,eAAO,MAAM,WAAW,oDAAoD,CAAC;AAE7E,eAAO,MAAM,WAAW,EAAE,sBAAsB,CAAC,OAAO,CAOvD,CAAC;AAEF,eAAO,MAAM,YAAY,uCAOvB,CAAC;AAEH,eAAO,MAAM,eAAe,uCAI1B,CAAC;AAEH,eAAO,MAAM,uBAAuB,sIACiG,CAAC;AAGtI,eAAO,MAAM,gCAAgC,GAAI,OAAO,MAAM,WAI3D,CAAC"}
@@ -1,9 +0,0 @@
1
- import { type Extension } from '@codemirror/state';
2
- export type AnnotationOptions = {
3
- match?: RegExp;
4
- };
5
- /**
6
- *
7
- */
8
- export declare const annotations: ({ match }?: AnnotationOptions) => Extension;
9
- //# sourceMappingURL=annotations.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"annotations.d.ts","sourceRoot":"","sources":["../../../../src/extensions/annotations.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAmB,MAAM,mBAAmB,CAAC;AAKpE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,GAAI,YAAW,iBAAsB,KAAG,SAsC/D,CAAC"}
@@ -1,17 +0,0 @@
1
- import { type Extension } from '@codemirror/state';
2
- export type AutocompleteOptions = {
3
- /**
4
- * Function that returns a list of suggestions based on the current text.
5
- * @param text The current text before the cursor
6
- * @returns Array of suggestion strings
7
- */
8
- onSuggest?: (text: string) => string[];
9
- };
10
- /**
11
- * Creates an autocomplete extension that shows inline suggestions.
12
- * Pressing Tab will complete the suggestion.
13
- *
14
- * @deprecated Use typeahead.
15
- */
16
- export declare const autocomplete: ({ onSuggest }?: AutocompleteOptions) => Extension;
17
- //# sourceMappingURL=autocomplete.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"autocomplete.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/autocomplete/autocomplete.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAQ,MAAM,mBAAmB,CAAC;AAWzD,MAAM,MAAM,mBAAmB,GAAG;IAChC;;;;OAIG;IACH,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;CACxC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,YAAY,GAAI,gBAAe,mBAAwB,KAAG,SAuGtE,CAAC"}
@@ -1,5 +0,0 @@
1
- export * from './autocomplete';
2
- export * from './match';
3
- export * from './placeholder';
4
- export * from './typeahead';
5
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/autocomplete/index.ts"],"names":[],"mappings":"AAIA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC"}
@@ -1,13 +0,0 @@
1
- export type CompoetionContext = {
2
- line: string;
3
- };
4
- export type CompletionOptions = {
5
- default?: string;
6
- minLength?: number;
7
- };
8
- /**
9
- * Util to match current line to a static list of completions.
10
- */
11
- export declare const staticCompletion: (completions: string[], options?: CompletionOptions) => ({ line }: CompoetionContext) => string | undefined;
12
- export declare const matchCompletion: (completion: string, str: string, minLength?: number) => string | undefined;
13
- //# sourceMappingURL=match.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"match.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/autocomplete/match.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,iBAAiB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAC1B,aAAa,MAAM,EAAE,EAAE,UAAS,iBAAsB,MACtD,UAAU,iBAAiB,uBAiB3B,CAAC;AAEJ,eAAO,MAAM,eAAe,GAAI,YAAY,MAAM,EAAE,KAAK,MAAM,EAAE,kBAAa,KAAG,MAAM,GAAG,SAUzF,CAAC"}
@@ -1,20 +0,0 @@
1
- import { type Extension } from '@codemirror/state';
2
- import { EditorView, WidgetType } from '@codemirror/view';
3
- type Content = string | HTMLElement | ((view: EditorView) => HTMLElement);
4
- export type PlaceholderOptions = {
5
- content: Content;
6
- delay?: number;
7
- };
8
- /**
9
- * Shows a transient placeholder at the current cursor position.
10
- */
11
- export declare const placeholder: ({ content, delay }: PlaceholderOptions) => Extension;
12
- export declare class PlaceholderWidget extends WidgetType {
13
- readonly content: Content;
14
- constructor(content: Content);
15
- toDOM(view: EditorView): HTMLSpanElement;
16
- coordsAt(dom: HTMLElement): import("../..").Rect | null;
17
- ignoreEvent(): boolean;
18
- }
19
- export {};
20
- //# sourceMappingURL=placeholder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"placeholder.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/autocomplete/placeholder.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAc,UAAU,EAA+B,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAInG,KAAK,OAAO,GAAG,MAAM,GAAG,WAAW,GAAG,CAAC,CAAC,IAAI,EAAE,UAAU,KAAK,WAAW,CAAC,CAAC;AAE1E,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,GAAI,oBAA4B,kBAAkB,KAAG,SAiD5E,CAAC;AAEF,qBAAa,iBAAkB,SAAQ,UAAU;IACnC,QAAQ,CAAC,OAAO,EAAE,OAAO;gBAAhB,OAAO,EAAE,OAAO;IAIrC,KAAK,CAAC,IAAI,EAAE,UAAU;IAgBb,QAAQ,CAAC,GAAG,EAAE,WAAW;IAqBzB,WAAW;CAGrB"}
@@ -1,10 +0,0 @@
1
- import { type Extension } from '@codemirror/state';
2
- import { type CompoetionContext } from './match';
3
- export type TypeaheadOptions = {
4
- onComplete?: (context: CompoetionContext) => string | undefined;
5
- };
6
- /**
7
- * Shows a completion placeholder.
8
- */
9
- export declare const typeahead: ({ onComplete }?: TypeaheadOptions) => Extension;
10
- //# sourceMappingURL=typeahead.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"typeahead.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/autocomplete/typeahead.ts"],"names":[],"mappings":"AAIA,OAAO,EAAmB,KAAK,SAAS,EAAyB,MAAM,mBAAmB,CAAC;AAW3F,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAIjD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,MAAM,GAAG,SAAS,CAAC;CACjE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,GAAI,iBAAgB,gBAAqB,KAAG,SA4DjE,CAAC"}
@@ -1,4 +0,0 @@
1
- import { type Extension } from '@codemirror/state';
2
- import { DocAccessor } from '@dxos/echo-db';
3
- export declare const automerge: (accessor: DocAccessor) => Extension;
4
- //# sourceMappingURL=automerge.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"automerge.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/automerge/automerge.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,SAAS,EAA2B,MAAM,mBAAmB,CAAC;AAG5E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAS5C,eAAO,MAAM,SAAS,GAAI,UAAU,WAAW,KAAG,SAqFjD,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"automerge.stories.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/automerge/automerge.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,uBAAuB,CAAC;AAI/B,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAA8B,MAAM,OAAO,CAAC;AAuGnD,QAAA,MAAM,IAAI;;eAEa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOW,CAAC;AAEtC,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAErB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAkBtB,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=automerge.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"automerge.test.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/automerge/automerge.test.tsx"],"names":[],"mappings":""}
@@ -1,4 +0,0 @@
1
- import { type DocAccessor } from '@dxos/echo-db';
2
- import { type CursorConverter } from '../../util';
3
- export declare const cursorConverter: (accessor: DocAccessor) => CursorConverter;
4
- //# sourceMappingURL=cursor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cursor.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/automerge/cursor.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,WAAW,EAAwB,MAAM,eAAe,CAAC;AAGvE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,eAAO,MAAM,eAAe,GAAI,UAAU,WAAW,KAAG,eAkBtD,CAAC"}
@@ -1,17 +0,0 @@
1
- import { type Heads, type Prop } from '@automerge/automerge';
2
- import { type EditorState, StateEffect, type StateField, type Transaction } from '@codemirror/state';
3
- export type State = {
4
- path: Prop[];
5
- lastHeads: Heads;
6
- unreconciledTransactions: Transaction[];
7
- };
8
- export declare const getPath: (state: EditorState, field: StateField<State>) => Prop[];
9
- export declare const getLastHeads: (state: EditorState, field: StateField<State>) => Heads;
10
- export type UpdateHeads = {
11
- newHeads: Heads;
12
- };
13
- export declare const updateHeadsEffect: import("@codemirror/state").StateEffectType<UpdateHeads>;
14
- export declare const updateHeads: (newHeads: Heads) => StateEffect<UpdateHeads>;
15
- export declare const reconcileAnnotation: import("@codemirror/state").AnnotationType<boolean>;
16
- export declare const isReconcile: (tr: Transaction) => boolean;
17
- //# sourceMappingURL=defs.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"defs.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/automerge/defs.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAc,KAAK,WAAW,EAAE,WAAW,EAAE,KAAK,UAAU,EAAE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEjH,MAAM,MAAM,KAAK,GAAG;IAClB,IAAI,EAAE,IAAI,EAAE,CAAC;IACb,SAAS,EAAE,KAAK,CAAC;IACjB,wBAAwB,EAAE,WAAW,EAAE,CAAC;CACzC,CAAC;AAEF,eAAO,MAAM,OAAO,GAAI,OAAO,WAAW,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC,KAAG,IAAI,EAA6B,CAAC;AACzG,eAAO,MAAM,YAAY,GAAI,OAAO,WAAW,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC,KAAG,KAAqC,CAAC;AAElH,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE,KAAK,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,iBAAiB,0DAAsC,CAAC;AAErE,eAAO,MAAM,WAAW,GAAI,UAAU,KAAK,KAAG,WAAW,CAAC,WAAW,CAAuC,CAAC;AAE7G,eAAO,MAAM,mBAAmB,qDAA+B,CAAC;AAEhE,eAAO,MAAM,WAAW,GAAI,IAAI,WAAW,KAAG,OAE7C,CAAC"}
@@ -1,2 +0,0 @@
1
- export { automerge } from './automerge';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/automerge/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC"}
@@ -1,17 +0,0 @@
1
- import { type StateField } from '@codemirror/state';
2
- import { type EditorView } from '@codemirror/view';
3
- import { type IDocHandle } from '@dxos/echo-db';
4
- import { type State } from './defs';
5
- /**
6
- * Implements three-way merge (on each mutation).
7
- */
8
- export declare class Syncer {
9
- private readonly _handle;
10
- private readonly _state;
11
- private _pending;
12
- constructor(_handle: IDocHandle, _state: StateField<State>);
13
- reconcile(view: EditorView, editor: boolean): void;
14
- private onEditorChange;
15
- private onAutomergeChange;
16
- }
17
- //# sourceMappingURL=sync.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/automerge/sync.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD,OAAO,EAAE,KAAK,KAAK,EAAwE,MAAM,QAAQ,CAAC;AAI1G;;GAEG;AACH,qBAAa,MAAM;IAKf,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IALzB,OAAO,CAAC,QAAQ,CAAS;gBAIN,OAAO,EAAE,UAAU,EACnB,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC;IAG5C,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;IAclD,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,iBAAiB;CAoB1B"}
@@ -1,6 +0,0 @@
1
- import { type Heads } from '@automerge/automerge';
2
- import { type EditorState, type StateField, type Transaction } from '@codemirror/state';
3
- import { type IDocHandle } from '@dxos/echo-db';
4
- import { type State } from './defs';
5
- export declare const updateAutomerge: (field: StateField<State>, handle: IDocHandle, transactions: Transaction[], state: EditorState) => Heads | undefined;
6
- //# sourceMappingURL=update-automerge.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"update-automerge.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/automerge/update-automerge.ts"],"names":[],"mappings":"AAMA,OAAO,EAAa,KAAK,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAa,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEnG,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,QAAQ,CAAC;AAEpC,eAAO,MAAM,eAAe,GAC1B,OAAO,UAAU,CAAC,KAAK,CAAC,EACxB,QAAQ,UAAU,EAClB,cAAc,WAAW,EAAE,EAC3B,OAAO,WAAW,KACjB,KAAK,GAAG,SA+BV,CAAC"}
@@ -1,5 +0,0 @@
1
- import { type Patch, type Prop } from '@automerge/automerge';
2
- import { type EditorSelection } from '@codemirror/state';
3
- import { type EditorView } from '@codemirror/view';
4
- export declare const updateCodeMirror: (view: EditorView, selection: EditorSelection, target: Prop[], patches: Patch[]) => void;
5
- //# sourceMappingURL=update-codemirror.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"update-codemirror.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/automerge/update-codemirror.ts"],"names":[],"mappings":"AAMA,OAAO,EAGL,KAAK,KAAK,EACV,KAAK,IAAI,EAGV,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAA8B,KAAK,eAAe,EAAoB,MAAM,mBAAmB,CAAC;AACvG,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAInD,eAAO,MAAM,gBAAgB,GAAI,MAAM,UAAU,EAAE,WAAW,eAAe,EAAE,QAAQ,IAAI,EAAE,EAAE,SAAS,KAAK,EAAE,SAiB9G,CAAC"}
@@ -1,20 +0,0 @@
1
- import { EditorView } from '@codemirror/view';
2
- export declare const scrollToBottomEffect: import("@codemirror/state").StateEffectType<ScrollBehavior | undefined>;
3
- export type AutoScrollOptions = {
4
- /** Auto-scroll when reaches the bottom. */
5
- autoScroll?: boolean;
6
- /** Threshold in px to trigger scroll from bottom. */
7
- threshold?: number;
8
- /** Throttle time in ms. */
9
- throttleDelay?: number;
10
- /** Callback when auto-scrolling. */
11
- onAutoScroll?: (props: {
12
- view: EditorView;
13
- distanceFromBottom: number;
14
- }) => boolean | void;
15
- };
16
- /**
17
- * Extension that supports pinning the scroll position and automatically scrolls to the bottom when content is added.
18
- */
19
- export declare const autoScroll: ({ autoScroll, threshold, throttleDelay, onAutoScroll, }?: Partial<AutoScrollOptions>) => import("@codemirror/state").Extension[];
20
- //# sourceMappingURL=autoscroll.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"autoscroll.d.ts","sourceRoot":"","sources":["../../../../src/extensions/autoscroll.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAc,MAAM,kBAAkB,CAAC;AAQ1D,eAAO,MAAM,oBAAoB,yEAAmD,CAAC;AAErF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,2CAA2C;IAC3C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2BAA2B;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oCAAoC;IACpC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,kBAAkB,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,GAAG,IAAI,CAAC;CAC5F,CAAC;AAEF;;GAEG;AAEH,eAAO,MAAM,UAAU,GAAI,0DAKxB,OAAO,CAAC,iBAAiB,CAAM,4CA+HjC,CAAC"}
@@ -1,31 +0,0 @@
1
- import { Event } from '@dxos/async';
2
- import { type Messenger } from '@dxos/protocols';
3
- import { type AwarenessInfo, type AwarenessPosition, type AwarenessProvider, type AwarenessState } from './awareness';
4
- export type AwarenessProviderParams = {
5
- messenger: Messenger;
6
- channel: string;
7
- peerId: string;
8
- info: AwarenessInfo;
9
- };
10
- /**
11
- * Receives and broadcasts profile and cursor position.
12
- */
13
- export declare class SpaceAwarenessProvider implements AwarenessProvider {
14
- private readonly _remoteStates;
15
- private readonly _messenger;
16
- private readonly _channel;
17
- private readonly _peerId;
18
- private readonly _info;
19
- private _ctx?;
20
- private _postTask?;
21
- private _localState?;
22
- readonly remoteStateChange: Event<void>;
23
- constructor({ messenger, channel, peerId, info }: AwarenessProviderParams);
24
- open(): void;
25
- close(): void;
26
- getRemoteStates(): AwarenessState[];
27
- update(position: AwarenessPosition | undefined): void;
28
- private _handleQueryMessage;
29
- private _handlePostMessage;
30
- }
31
- //# sourceMappingURL=awareness-provider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"awareness-provider.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/awareness/awareness-provider.ts"],"names":[],"mappings":"AAIA,OAAO,EAAgB,KAAK,EAAS,MAAM,aAAa,CAAC;AAIzD,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAGjD,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,iBAAiB,EAAE,KAAK,iBAAiB,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAatH,MAAM,MAAM,uBAAuB,GAAG;IACpC,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,aAAa,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,qBAAa,sBAAuB,YAAW,iBAAiB;IAC9D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqC;IAEnE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgB;IAEtC,OAAO,CAAC,IAAI,CAAC,CAAU;IACvB,OAAO,CAAC,SAAS,CAAC,CAAe;IACjC,OAAO,CAAC,WAAW,CAAC,CAAiB;IAErC,SAAgB,iBAAiB,cAAqB;gBAE1C,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,uBAAuB;IAOzE,IAAI,IAAI,IAAI;IAuCZ,KAAK,IAAI,IAAI;IAMb,eAAe,IAAI,cAAc,EAAE;IAInC,MAAM,CAAC,QAAQ,EAAE,iBAAiB,GAAG,SAAS,GAAG,IAAI;IAWrD,OAAO,CAAC,mBAAmB;IAK3B,OAAO,CAAC,kBAAkB;CAM3B"}