@dxos/react-ui-editor 0.3.11-main.f5e7551 → 0.3.11-main.f7c1031

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 (262) hide show
  1. package/dist/lib/browser/index.mjs +3878 -1921
  2. package/dist/lib/browser/index.mjs.map +4 -4
  3. package/dist/lib/browser/meta.json +1 -1
  4. package/dist/types/src/components/TextEditor/MarkdownEditor.stories.d.ts +14 -15
  5. package/dist/types/src/components/TextEditor/MarkdownEditor.stories.d.ts.map +1 -1
  6. package/dist/types/src/components/TextEditor/TextEditor.d.ts +20 -17
  7. package/dist/types/src/components/TextEditor/TextEditor.d.ts.map +1 -1
  8. package/dist/types/src/components/TextEditor/TextEditor.stories.d.ts +6 -3
  9. package/dist/types/src/components/TextEditor/TextEditor.stories.d.ts.map +1 -1
  10. package/dist/types/src/{hooks/automerge → components/TextEditor}/automerge.stories.d.ts +6 -1
  11. package/dist/types/src/components/TextEditor/automerge.stories.d.ts.map +1 -0
  12. package/dist/types/src/components/TextEditor/hooks.stories.d.ts +23 -0
  13. package/dist/types/src/components/TextEditor/hooks.stories.d.ts.map +1 -0
  14. package/dist/types/src/components/TextEditor/index.d.ts +0 -2
  15. package/dist/types/src/components/TextEditor/index.d.ts.map +1 -1
  16. package/dist/types/src/components/Toolbar/Toolbar.d.ts +29 -0
  17. package/dist/types/src/components/Toolbar/Toolbar.d.ts.map +1 -0
  18. package/dist/types/src/components/Toolbar/Toolbar.stories.d.ts +25 -0
  19. package/dist/types/src/components/Toolbar/Toolbar.stories.d.ts.map +1 -0
  20. package/dist/types/src/components/Toolbar/index.d.ts +2 -0
  21. package/dist/types/src/components/Toolbar/index.d.ts.map +1 -0
  22. package/dist/types/src/components/index.d.ts +1 -0
  23. package/dist/types/src/components/index.d.ts.map +1 -1
  24. package/dist/types/src/extensions/autocomplete.d.ts.map +1 -0
  25. package/dist/types/src/extensions/automerge/automerge.d.ts +9 -0
  26. package/dist/types/src/extensions/automerge/automerge.d.ts.map +1 -0
  27. package/dist/types/src/extensions/automerge/automerge.spec.d.ts +2 -0
  28. package/dist/types/src/extensions/automerge/automerge.spec.d.ts.map +1 -0
  29. package/dist/types/src/extensions/automerge/automerge.test.d.ts +2 -0
  30. package/dist/types/src/extensions/automerge/automerge.test.d.ts.map +1 -0
  31. package/dist/types/src/extensions/automerge/cursor.d.ts +5 -0
  32. package/dist/types/src/extensions/automerge/cursor.d.ts.map +1 -0
  33. package/dist/types/src/extensions/automerge/defs.d.ts +24 -0
  34. package/dist/types/src/extensions/automerge/defs.d.ts.map +1 -0
  35. package/dist/types/src/extensions/automerge/index.d.ts +3 -0
  36. package/dist/types/src/extensions/automerge/index.d.ts.map +1 -0
  37. package/dist/types/src/extensions/automerge/semaphore.d.ts +15 -0
  38. package/dist/types/src/extensions/automerge/semaphore.d.ts.map +1 -0
  39. package/dist/types/src/extensions/automerge/update-automerge.d.ts +5 -0
  40. package/dist/types/src/extensions/automerge/update-automerge.d.ts.map +1 -0
  41. package/dist/types/src/extensions/automerge/update-codemirror.d.ts.map +1 -0
  42. package/dist/types/src/extensions/awareness.d.ts +46 -0
  43. package/dist/types/src/extensions/awareness.d.ts.map +1 -0
  44. package/dist/types/src/extensions/basic.d.ts +8 -0
  45. package/dist/types/src/extensions/basic.d.ts.map +1 -0
  46. package/dist/types/src/extensions/blast.d.ts.map +1 -0
  47. package/dist/types/src/extensions/comments.d.ts +71 -0
  48. package/dist/types/src/extensions/comments.d.ts.map +1 -0
  49. package/dist/types/src/extensions/cursor.d.ts +25 -0
  50. package/dist/types/src/extensions/cursor.d.ts.map +1 -0
  51. package/dist/types/src/extensions/index.d.ts +13 -0
  52. package/dist/types/src/extensions/index.d.ts.map +1 -0
  53. package/dist/types/src/extensions/listener.d.ts +10 -0
  54. package/dist/types/src/extensions/listener.d.ts.map +1 -0
  55. package/dist/types/src/extensions/markdown/bundle.d.ts +14 -0
  56. package/dist/types/src/extensions/markdown/bundle.d.ts.map +1 -0
  57. package/dist/types/src/extensions/markdown/code.d.ts.map +1 -0
  58. package/dist/types/src/extensions/markdown/formatting.d.ts +57 -0
  59. package/dist/types/src/extensions/markdown/formatting.d.ts.map +1 -0
  60. package/dist/types/src/extensions/markdown/formatting.test.d.ts +3 -0
  61. package/dist/types/src/extensions/markdown/formatting.test.d.ts.map +1 -0
  62. package/dist/types/src/extensions/markdown/heading.d.ts +6 -0
  63. package/dist/types/src/extensions/markdown/heading.d.ts.map +1 -0
  64. package/dist/types/src/extensions/markdown/highlight.d.ts.map +1 -0
  65. package/dist/types/src/extensions/markdown/hr.d.ts.map +1 -0
  66. package/dist/types/src/extensions/markdown/image.d.ts.map +1 -0
  67. package/dist/types/src/extensions/markdown/index.d.ts +11 -0
  68. package/dist/types/src/extensions/markdown/index.d.ts.map +1 -0
  69. package/dist/types/src/{components/TextEditor/extensions → extensions/markdown}/link.d.ts +1 -0
  70. package/dist/types/src/extensions/markdown/link.d.ts.map +1 -0
  71. package/dist/types/src/extensions/markdown/table.d.ts.map +1 -0
  72. package/dist/types/src/extensions/markdown/tasklist.d.ts.map +1 -0
  73. package/dist/types/src/extensions/mention.d.ts.map +1 -0
  74. package/dist/types/src/extensions/outliner.d.ts +4 -0
  75. package/dist/types/src/extensions/outliner.d.ts.map +1 -0
  76. package/dist/types/src/extensions/typewriter.d.ts.map +1 -0
  77. package/dist/types/src/hooks/awareness-provider.d.ts +31 -0
  78. package/dist/types/src/hooks/awareness-provider.d.ts.map +1 -0
  79. package/dist/types/src/hooks/defs.d.ts +25 -0
  80. package/dist/types/src/hooks/defs.d.ts.map +1 -0
  81. package/dist/types/src/hooks/index.d.ts +5 -1
  82. package/dist/types/src/hooks/index.d.ts.map +1 -1
  83. package/dist/types/src/hooks/useActionHandler.d.ts +4 -0
  84. package/dist/types/src/hooks/useActionHandler.d.ts.map +1 -0
  85. package/dist/types/src/hooks/useEditorView.d.ts +17 -0
  86. package/dist/types/src/hooks/useEditorView.d.ts.map +1 -0
  87. package/dist/types/src/hooks/useTextEditor.d.ts +39 -0
  88. package/dist/types/src/hooks/useTextEditor.d.ts.map +1 -0
  89. package/dist/types/src/hooks/useTextModel.d.ts +14 -31
  90. package/dist/types/src/hooks/useTextModel.d.ts.map +1 -1
  91. package/dist/types/src/index.d.ts +5 -0
  92. package/dist/types/src/index.d.ts.map +1 -1
  93. package/dist/types/src/styles/cursors.d.ts.map +1 -0
  94. package/dist/types/src/styles/index.d.ts +1 -0
  95. package/dist/types/src/styles/index.d.ts.map +1 -1
  96. package/dist/types/src/styles/markdown.d.ts +2 -2
  97. package/dist/types/src/styles/markdown.d.ts.map +1 -1
  98. package/dist/types/src/styles/tokens.d.ts +1 -0
  99. package/dist/types/src/styles/tokens.d.ts.map +1 -1
  100. package/dist/types/src/{components/TextEditor/themes → themes}/default.d.ts +1 -1
  101. package/dist/types/src/themes/default.d.ts.map +1 -0
  102. package/dist/types/src/themes/index.d.ts.map +1 -0
  103. package/dist/types/src/util.d.ts +7 -0
  104. package/dist/types/src/util.d.ts.map +1 -0
  105. package/package.json +48 -36
  106. package/src/components/TextEditor/MarkdownEditor.stories.tsx +93 -102
  107. package/src/components/TextEditor/TextEditor.stories.tsx +13 -34
  108. package/src/components/TextEditor/TextEditor.tsx +137 -97
  109. package/src/{hooks/automerge → components/TextEditor}/automerge.stories.tsx +65 -6
  110. package/src/components/TextEditor/hooks.stories.tsx +111 -0
  111. package/src/components/TextEditor/index.ts +0 -3
  112. package/src/components/Toolbar/Toolbar.stories.tsx +102 -0
  113. package/src/components/Toolbar/Toolbar.tsx +245 -0
  114. package/src/components/Toolbar/index.ts +5 -0
  115. package/src/components/index.ts +1 -0
  116. package/src/{components/TextEditor/extensions → extensions}/autocomplete.ts +23 -19
  117. package/src/extensions/automerge/automerge.spec.tsx +76 -0
  118. package/src/extensions/automerge/automerge.test.ts +13 -0
  119. package/src/extensions/automerge/automerge.ts +103 -0
  120. package/src/extensions/automerge/cursor.ts +52 -0
  121. package/src/extensions/automerge/defs.ts +41 -0
  122. package/src/extensions/automerge/index.ts +6 -0
  123. package/src/extensions/automerge/semaphore.ts +81 -0
  124. package/src/extensions/automerge/update-automerge.ts +49 -0
  125. package/src/{hooks → extensions}/automerge/update-codemirror.ts +17 -9
  126. package/src/extensions/awareness.ts +313 -0
  127. package/src/{components/TextEditor/extensions → extensions}/basic.ts +17 -10
  128. package/src/{components/TextEditor/extensions → extensions}/blast.ts +4 -1
  129. package/src/extensions/comments.ts +486 -0
  130. package/src/extensions/cursor.ts +50 -0
  131. package/src/{components/TextEditor/extensions → extensions}/index.ts +4 -8
  132. package/src/extensions/listener.ts +35 -0
  133. package/src/{components/TextEditor/extensions → extensions}/markdown/bundle.ts +23 -28
  134. package/src/extensions/markdown/code.ts +150 -0
  135. package/src/extensions/markdown/formatting.test.ts +481 -0
  136. package/src/extensions/markdown/formatting.ts +1198 -0
  137. package/src/extensions/markdown/heading.ts +59 -0
  138. package/src/{components/TextEditor/extensions → extensions}/markdown/highlight.ts +12 -27
  139. package/src/extensions/markdown/hr.ts +71 -0
  140. package/src/extensions/markdown/image.ts +87 -0
  141. package/src/extensions/markdown/index.ts +14 -0
  142. package/src/{components/TextEditor/extensions → extensions/markdown}/link.ts +121 -58
  143. package/src/{components/TextEditor/extensions → extensions/markdown}/table.ts +10 -4
  144. package/src/extensions/markdown/tasklist.ts +110 -0
  145. package/src/{components/TextEditor/extensions → extensions}/mention.ts +9 -2
  146. package/src/extensions/outliner.ts +12 -0
  147. package/src/{components/TextEditor/extensions → extensions}/typewriter.ts +1 -1
  148. package/src/hooks/awareness-provider.ts +124 -0
  149. package/src/hooks/defs.ts +42 -0
  150. package/src/hooks/index.ts +6 -1
  151. package/src/hooks/useActionHandler.ts +93 -0
  152. package/src/hooks/useEditorView.ts +29 -0
  153. package/src/hooks/useTextEditor.ts +153 -0
  154. package/src/hooks/useTextModel.ts +48 -114
  155. package/src/index.ts +5 -0
  156. package/src/styles/index.ts +1 -0
  157. package/src/styles/markdown.ts +9 -12
  158. package/src/styles/tokens.ts +3 -0
  159. package/src/{components/TextEditor/themes → themes}/default.ts +60 -84
  160. package/src/util.ts +41 -0
  161. package/dist/types/src/components/TextEditor/codemirror.stories.d.ts +0 -12
  162. package/dist/types/src/components/TextEditor/codemirror.stories.d.ts.map +0 -1
  163. package/dist/types/src/components/TextEditor/extensions/autocomplete.d.ts.map +0 -1
  164. package/dist/types/src/components/TextEditor/extensions/basic.d.ts +0 -9
  165. package/dist/types/src/components/TextEditor/extensions/basic.d.ts.map +0 -1
  166. package/dist/types/src/components/TextEditor/extensions/blast.d.ts.map +0 -1
  167. package/dist/types/src/components/TextEditor/extensions/code.d.ts.map +0 -1
  168. package/dist/types/src/components/TextEditor/extensions/comments.d.ts +0 -48
  169. package/dist/types/src/components/TextEditor/extensions/comments.d.ts.map +0 -1
  170. package/dist/types/src/components/TextEditor/extensions/hr.d.ts.map +0 -1
  171. package/dist/types/src/components/TextEditor/extensions/image.d.ts.map +0 -1
  172. package/dist/types/src/components/TextEditor/extensions/index.d.ts +0 -17
  173. package/dist/types/src/components/TextEditor/extensions/index.d.ts.map +0 -1
  174. package/dist/types/src/components/TextEditor/extensions/link.d.ts.map +0 -1
  175. package/dist/types/src/components/TextEditor/extensions/listener.d.ts +0 -9
  176. package/dist/types/src/components/TextEditor/extensions/listener.d.ts.map +0 -1
  177. package/dist/types/src/components/TextEditor/extensions/markdown/bundle.d.ts +0 -17
  178. package/dist/types/src/components/TextEditor/extensions/markdown/bundle.d.ts.map +0 -1
  179. package/dist/types/src/components/TextEditor/extensions/markdown/highlight.d.ts.map +0 -1
  180. package/dist/types/src/components/TextEditor/extensions/markdown/index.d.ts +0 -3
  181. package/dist/types/src/components/TextEditor/extensions/markdown/index.d.ts.map +0 -1
  182. package/dist/types/src/components/TextEditor/extensions/mention.d.ts.map +0 -1
  183. package/dist/types/src/components/TextEditor/extensions/mermaid.d.ts +0 -3
  184. package/dist/types/src/components/TextEditor/extensions/mermaid.d.ts.map +0 -1
  185. package/dist/types/src/components/TextEditor/extensions/table.d.ts.map +0 -1
  186. package/dist/types/src/components/TextEditor/extensions/tasklist.d.ts.map +0 -1
  187. package/dist/types/src/components/TextEditor/extensions/tooltip.d.ts +0 -12
  188. package/dist/types/src/components/TextEditor/extensions/tooltip.d.ts.map +0 -1
  189. package/dist/types/src/components/TextEditor/extensions/typewriter.d.ts.map +0 -1
  190. package/dist/types/src/components/TextEditor/extensions/util.d.ts +0 -5
  191. package/dist/types/src/components/TextEditor/extensions/util.d.ts.map +0 -1
  192. package/dist/types/src/components/TextEditor/themes/default.d.ts.map +0 -1
  193. package/dist/types/src/components/TextEditor/themes/index.d.ts.map +0 -1
  194. package/dist/types/src/hooks/automerge/automerge.stories.d.ts.map +0 -1
  195. package/dist/types/src/hooks/automerge/handle.d.ts +0 -9
  196. package/dist/types/src/hooks/automerge/handle.d.ts.map +0 -1
  197. package/dist/types/src/hooks/automerge/index.d.ts +0 -3
  198. package/dist/types/src/hooks/automerge/index.d.ts.map +0 -1
  199. package/dist/types/src/hooks/automerge/plugin.d.ts +0 -26
  200. package/dist/types/src/hooks/automerge/plugin.d.ts.map +0 -1
  201. package/dist/types/src/hooks/automerge/semaphore.d.ts +0 -19
  202. package/dist/types/src/hooks/automerge/semaphore.d.ts.map +0 -1
  203. package/dist/types/src/hooks/automerge/update-automerge.d.ts +0 -6
  204. package/dist/types/src/hooks/automerge/update-automerge.d.ts.map +0 -1
  205. package/dist/types/src/hooks/automerge/update-codemirror.d.ts.map +0 -1
  206. package/dist/types/src/hooks/yjs/cursors.d.ts.map +0 -1
  207. package/dist/types/src/hooks/yjs/index.d.ts +0 -3
  208. package/dist/types/src/hooks/yjs/index.d.ts.map +0 -1
  209. package/dist/types/src/hooks/yjs/space-provider.d.ts +0 -27
  210. package/dist/types/src/hooks/yjs/space-provider.d.ts.map +0 -1
  211. package/dist/types/src/hooks/yjs/yjs.stories.d.ts +0 -12
  212. package/dist/types/src/hooks/yjs/yjs.stories.d.ts.map +0 -1
  213. package/dist/types/src/hooks/yjs/yjs.test.d.ts +0 -2
  214. package/dist/types/src/hooks/yjs/yjs.test.d.ts.map +0 -1
  215. package/dist/types/src/testing/index.d.ts +0 -3
  216. package/dist/types/src/testing/index.d.ts.map +0 -1
  217. package/dist/types/src/testing/proto/gen/schema.d.ts +0 -15
  218. package/dist/types/src/testing/proto/gen/schema.d.ts.map +0 -1
  219. package/dist/types/src/testing/proto/index.d.ts +0 -2
  220. package/dist/types/src/testing/proto/index.d.ts.map +0 -1
  221. package/dist/types/src/testing/replicator.d.ts +0 -45
  222. package/dist/types/src/testing/replicator.d.ts.map +0 -1
  223. package/src/components/TextEditor/codemirror.stories.ts +0 -114
  224. package/src/components/TextEditor/extensions/code.ts +0 -99
  225. package/src/components/TextEditor/extensions/comments.ts +0 -388
  226. package/src/components/TextEditor/extensions/hr.ts +0 -74
  227. package/src/components/TextEditor/extensions/image.ts +0 -69
  228. package/src/components/TextEditor/extensions/listener.ts +0 -23
  229. package/src/components/TextEditor/extensions/markdown/index.ts +0 -6
  230. package/src/components/TextEditor/extensions/mermaid.ts +0 -11
  231. package/src/components/TextEditor/extensions/tasklist.ts +0 -121
  232. package/src/components/TextEditor/extensions/tooltip.ts +0 -61
  233. package/src/components/TextEditor/extensions/util.ts +0 -18
  234. package/src/hooks/automerge/handle.ts +0 -14
  235. package/src/hooks/automerge/index.ts +0 -6
  236. package/src/hooks/automerge/plugin.ts +0 -134
  237. package/src/hooks/automerge/semaphore.ts +0 -78
  238. package/src/hooks/automerge/update-automerge.ts +0 -44
  239. package/src/hooks/yjs/index.ts +0 -6
  240. package/src/hooks/yjs/space-provider.ts +0 -126
  241. package/src/hooks/yjs/yjs.stories.tsx +0 -56
  242. package/src/hooks/yjs/yjs.test.ts +0 -59
  243. package/src/testing/index.ts +0 -6
  244. package/src/testing/proto/gen/schema.ts +0 -49
  245. package/src/testing/proto/index.ts +0 -5
  246. package/src/testing/proto/schema.proto +0 -15
  247. package/src/testing/replicator.ts +0 -189
  248. /package/dist/types/src/{components/TextEditor/extensions → extensions}/autocomplete.d.ts +0 -0
  249. /package/dist/types/src/{hooks → extensions}/automerge/update-codemirror.d.ts +0 -0
  250. /package/dist/types/src/{components/TextEditor/extensions → extensions}/blast.d.ts +0 -0
  251. /package/dist/types/src/{components/TextEditor/extensions → extensions/markdown}/code.d.ts +0 -0
  252. /package/dist/types/src/{components/TextEditor/extensions → extensions}/markdown/highlight.d.ts +0 -0
  253. /package/dist/types/src/{components/TextEditor/extensions → extensions/markdown}/hr.d.ts +0 -0
  254. /package/dist/types/src/{components/TextEditor/extensions → extensions/markdown}/image.d.ts +0 -0
  255. /package/dist/types/src/{components/TextEditor/extensions → extensions/markdown}/table.d.ts +0 -0
  256. /package/dist/types/src/{components/TextEditor/extensions → extensions/markdown}/tasklist.d.ts +0 -0
  257. /package/dist/types/src/{components/TextEditor/extensions → extensions}/mention.d.ts +0 -0
  258. /package/dist/types/src/{components/TextEditor/extensions → extensions}/typewriter.d.ts +0 -0
  259. /package/dist/types/src/{hooks/yjs → styles}/cursors.d.ts +0 -0
  260. /package/dist/types/src/{components/TextEditor/themes → themes}/index.d.ts +0 -0
  261. /package/src/{hooks/yjs → styles}/cursors.ts +0 -0
  262. /package/src/{components/TextEditor/themes → themes}/index.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"automerge.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/automerge/automerge.ts"],"names":[],"mappings":"AAOA,OAAO,EAAc,KAAK,SAAS,EAAoB,MAAM,mBAAmB,CAAC;AAGjF,OAAO,EAAa,KAAK,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAGjE,OAAO,EAAqB,KAAK,UAAU,EAA2B,MAAM,QAAQ,CAAC;AAIrF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,EAAE,IAAI,EAAE,CAAC;CACd,CAAC;AAEF,eAAO,MAAM,SAAS,qBAAsB,gBAAgB,KAAG,SAgF9D,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=automerge.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"automerge.spec.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/automerge/automerge.spec.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=automerge.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"automerge.test.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/automerge/automerge.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import type { Prop } from '@dxos/automerge/automerge';
2
+ import { type IDocHandle } from './defs';
3
+ import { type CursorConverter } from '../cursor';
4
+ export declare const cursorConverter: (handle: IDocHandle, path: Prop[]) => CursorConverter;
5
+ //# sourceMappingURL=cursor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cursor.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/automerge/cursor.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAGtD,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,WAAW,CAAC;AAEjD,eAAO,MAAM,eAAe,WAAY,UAAU,QAAQ,IAAI,EAAE,KAAG,eAuCjE,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { StateEffect, type StateField, type EditorState, type Transaction } from '@codemirror/state';
2
+ import { type ChangeFn, type ChangeOptions, type Doc, type Heads, type Prop } from '@dxos/automerge/automerge';
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
+ export type IDocHandle<T = any> = {
18
+ docSync(): Doc<T> | undefined;
19
+ change(callback: ChangeFn<T>, options?: ChangeOptions<T>): void;
20
+ changeAt(heads: Heads, callback: ChangeFn<T>, options?: ChangeOptions<T>): string[] | undefined;
21
+ addListener(event: 'change', listener: () => void): void;
22
+ removeListener(event: 'change', listener: () => void): void;
23
+ };
24
+ //# sourceMappingURL=defs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defs.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/automerge/defs.ts"],"names":[],"mappings":"AAMA,OAAO,EAAc,WAAW,EAAE,KAAK,UAAU,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEjH,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,aAAa,EAAE,KAAK,GAAG,EAAE,KAAK,KAAK,EAAE,KAAK,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAE/G,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,UAAW,WAAW,SAAS,WAAW,KAAK,CAAC,KAAG,IAAI,EAA6B,CAAC;AACzG,eAAO,MAAM,YAAY,UAAW,WAAW,SAAS,WAAW,KAAK,CAAC,UAAwC,CAAC;AAElH,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE,KAAK,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,iBAAiB,0DAAsC,CAAC;AAErE,eAAO,MAAM,WAAW,uBAAsB,YAAY,WAAW,CAAuC,CAAC;AAE7G,eAAO,MAAM,mBAAmB,qDAA+B,CAAC;AAEhE,eAAO,MAAM,WAAW,OAAQ,WAAW,KAAG,OAE7C,CAAC;AAEF,MAAM,MAAM,UAAU,CAAC,CAAC,GAAG,GAAG,IAAI;IAChC,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAC9B,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAChE,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;IAEhG,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IACzD,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;CAC7D,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { automerge } from './automerge';
2
+ export { type IDocHandle } from './defs';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/automerge/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,QAAQ,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { type StateField } from '@codemirror/state';
2
+ import { type EditorView } from '@codemirror/view';
3
+ import { type IDocHandle, type State } from './defs';
4
+ /**
5
+ * Implements three-way merge (on each mutation).
6
+ */
7
+ export declare class PatchSemaphore {
8
+ private readonly _handle;
9
+ private readonly _state;
10
+ private _inReconcile;
11
+ constructor(_handle: IDocHandle, _state: StateField<State>);
12
+ reconcile(view: EditorView): void;
13
+ private doReconcile;
14
+ }
15
+ //# sourceMappingURL=semaphore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semaphore.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/automerge/semaphore.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAInD,OAAO,EAML,KAAK,UAAU,EACf,KAAK,KAAK,EACX,MAAM,QAAQ,CAAC;AAIhB;;GAEG;AACH,qBAAa,cAAc;IAKvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IALzB,OAAO,CAAC,YAAY,CAAS;gBAIV,OAAO,EAAE,UAAU,EACnB,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC;IAG5C,SAAS,CAAC,IAAI,EAAE,UAAU;IAQ1B,OAAO,CAAC,WAAW;CAqCpB"}
@@ -0,0 +1,5 @@
1
+ import { type EditorState, type StateField, type Transaction } from '@codemirror/state';
2
+ import { type Heads } from '@dxos/automerge/automerge';
3
+ import { type IDocHandle, type State } from './defs';
4
+ export declare const updateAutomerge: (field: StateField<State>, handle: IDocHandle, transactions: Transaction[], state: EditorState) => Heads | undefined;
5
+ //# sourceMappingURL=update-automerge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-automerge.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/automerge/update-automerge.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,KAAK,WAAW,EAAa,MAAM,mBAAmB,CAAC;AAEnG,OAAO,EAAa,KAAK,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAElE,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,KAAK,EAAE,MAAM,QAAQ,CAAC;AAErD,eAAO,MAAM,eAAe,UACnB,WAAW,KAAK,CAAC,UAChB,UAAU,gBACJ,WAAW,EAAE,SACpB,WAAW,KACjB,KAAK,GAAG,SA+BV,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-codemirror.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/automerge/update-codemirror.ts"],"names":[],"mappings":"AAMA,OAAO,EAA8B,KAAK,eAAe,EAAoB,MAAM,mBAAmB,CAAC;AACvG,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EAGL,KAAK,KAAK,EACV,KAAK,IAAI,EAGV,MAAM,2BAA2B,CAAC;AAInC,eAAO,MAAM,gBAAgB,SAAU,UAAU,aAAa,eAAe,UAAU,IAAI,EAAE,WAAW,KAAK,EAAE,SAiB9G,CAAC"}
@@ -0,0 +1,46 @@
1
+ import { Facet, type Extension } from '@codemirror/state';
2
+ import { type DecorationSet, EditorView, type PluginValue, type ViewUpdate } from '@codemirror/view';
3
+ import { Event } from '@dxos/async';
4
+ export interface AwarenessProvider {
5
+ remoteStateChange: Event<void>;
6
+ open(): void;
7
+ close(): void;
8
+ getRemoteStates(): AwarenessState[];
9
+ update(position: AwarenessPosition | undefined): void;
10
+ }
11
+ export declare const awarenessProvider: Facet<AwarenessProvider, AwarenessProvider>;
12
+ export type AwarenessPosition = {
13
+ anchor?: string;
14
+ head?: string;
15
+ };
16
+ export type AwarenessInfo = {
17
+ displayName?: string;
18
+ color?: string;
19
+ lightColor?: string;
20
+ };
21
+ export type AwarenessState = {
22
+ position?: AwarenessPosition;
23
+ peerId: string;
24
+ info: AwarenessInfo;
25
+ };
26
+ /**
27
+ * Extension provides presence information about other peers.
28
+ */
29
+ export declare const awareness: (provider?: AwarenessProvider) => Extension;
30
+ /**
31
+ * Generates selection decorations from remote peers.
32
+ */
33
+ export declare class RemoteSelectionsDecorator implements PluginValue {
34
+ decorations: DecorationSet;
35
+ private readonly _ctx;
36
+ private _cursorConverter;
37
+ private _provider;
38
+ private _lastAnchor?;
39
+ private _lastHead?;
40
+ constructor(view: EditorView);
41
+ destroy(): void;
42
+ update(update: ViewUpdate): void;
43
+ private _updateLocalSelection;
44
+ private _updateRemoteSelections;
45
+ }
46
+ //# sourceMappingURL=awareness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"awareness.d.ts","sourceRoot":"","sources":["../../../../src/extensions/awareness.ts"],"names":[],"mappings":"AAIA,OAAO,EAAc,KAAK,EAAE,KAAK,SAAS,EAAwB,MAAM,mBAAmB,CAAC;AAC5F,OAAO,EAEL,KAAK,aAAa,EAClB,UAAU,EACV,KAAK,WAAW,EAEhB,KAAK,UAAU,EAEhB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAKpC,MAAM,WAAW,iBAAiB;IAChC,iBAAiB,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAE/B,IAAI,IAAI,IAAI,CAAC;IACb,KAAK,IAAI,IAAI,CAAC;IAEd,eAAe,IAAI,cAAc,EAAE,CAAC;IACpC,MAAM,CAAC,QAAQ,EAAE,iBAAiB,GAAG,SAAS,GAAG,IAAI,CAAC;CACvD;AAYD,eAAO,MAAM,iBAAiB,6CAE5B,CAAC;AAKH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,aAAa,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,oCAA+B,SAQpD,CAAC;AAEF;;GAEG;AACH,qBAAa,yBAA0B,YAAW,WAAW;IACpD,WAAW,EAAE,aAAa,CAAmB;IAEpD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAiB;IAEtC,OAAO,CAAC,gBAAgB,CAAkB;IAC1C,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,WAAW,CAAC,CAAqB;IACzC,OAAO,CAAC,SAAS,CAAC,CAAqB;gBAE3B,IAAI,EAAE,UAAU;IAS5B,OAAO;IAKP,MAAM,CAAC,MAAM,EAAE,UAAU;IAKzB,OAAO,CAAC,qBAAqB;IAoB7B,OAAO,CAAC,uBAAuB;CA4EhC"}
@@ -0,0 +1,8 @@
1
+ import { type Extension } from '@codemirror/state';
2
+ import { type ThemeMode } from '@dxos/react-ui';
3
+ import { type TextEditorProps } from '../components';
4
+ export type BasicBundleOptions = {
5
+ themeMode?: ThemeMode;
6
+ } & Pick<TextEditorProps, 'placeholder' | 'lineWrapping'>;
7
+ export declare const createBasicBundle: ({ themeMode, placeholder: _placeholder, lineWrapping, }?: BasicBundleOptions) => Extension[];
8
+ //# sourceMappingURL=basic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"basic.d.ts","sourceRoot":"","sources":["../../../../src/extensions/basic.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAInD,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAGhD,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAErD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,GAAG,IAAI,CAAC,eAAe,EAAE,aAAa,GAAG,cAAc,CAAC,CAAC;AAE1D,eAAO,MAAM,iBAAiB,6DAI3B,kBAAkB,KAAQ,SAAS,EAchB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blast.d.ts","sourceRoot":"","sources":["../../../../src/extensions/blast.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAMnD,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,YAAY,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,gBAAgB,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/C,qBAAqB,EAAE;QAAE,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;IACpE,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,MAAM,EAAE,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,YAU5B,CAAC;AAEF,eAAO,MAAM,KAAK,aAAa,QAAQ,YAAY,CAAC,KAAoB,SAmEvE,CAAC"}
@@ -0,0 +1,71 @@
1
+ import { type Extension } from '@codemirror/state';
2
+ import { type Command, EditorView, type Rect } from '@codemirror/view';
3
+ import { type Comment, type Range } from '../hooks';
4
+ type CommentState = {
5
+ comment: Comment;
6
+ range: Range;
7
+ location?: Rect | null;
8
+ };
9
+ type SelectionState = {
10
+ current?: string;
11
+ closest?: string;
12
+ };
13
+ export type CommentsState = {
14
+ comments: CommentState[];
15
+ selection: SelectionState;
16
+ };
17
+ export declare const focusComment: (view: EditorView, id: string, center?: boolean) => void;
18
+ export declare const setComments: import("@codemirror/state").StateEffectType<Comment[]>;
19
+ export declare const setSelection: import("@codemirror/state").StateEffectType<SelectionState>;
20
+ export type CommentsOptions = {
21
+ /**
22
+ * Key shortcut to create a new thread.
23
+ */
24
+ key?: string;
25
+ /**
26
+ * Called to create a new thread and return the thread id.
27
+ */
28
+ onCreate?: (params: {
29
+ cursor: string;
30
+ from: number;
31
+ location?: Rect | null;
32
+ }) => string | undefined;
33
+ /**
34
+ * Selection cut/deleted.
35
+ */
36
+ onDelete?: (thread: string) => void;
37
+ /**
38
+ * Called when a comment is moved.
39
+ */
40
+ onUpdate?: (thread: string, cursor: string) => void;
41
+ /**
42
+ * Called to notify which thread is currently closest to the cursor.
43
+ */
44
+ onSelect?: (state: CommentsState) => void;
45
+ /**
46
+ * Called to render tooltip.
47
+ */
48
+ onHover?: (el: Element, shortcut: string) => void;
49
+ };
50
+ /**
51
+ * Create comment thread action.
52
+ */
53
+ export declare const createComment: Command;
54
+ /**
55
+ * Comment threads.
56
+ * 1). Updates the EditorModel to store relative selections for a set of comments threads.
57
+ * Since the selections are relative, they do not need to be updated when the document is edited.
58
+ * 2). Implements a StateField to track absolute selections corresponding to the comments (i.e., when the document is edited).
59
+ * 3). Creates decoration marks to apply classes to each selection.
60
+ * 4). Tracks the current cursor position to:
61
+ * a). Update the decoration to show if the cursor is within a current selection.
62
+ * b). Calls a handler to indicate which is the closest selection (e.g., to update the thread sidebar).
63
+ * 5). Optionally, implements a hoverTooltip to show hints when creating a selection range.
64
+ */
65
+ export declare const comments: (options?: CommentsOptions) => Extension;
66
+ /**
67
+ * Update comments state field.
68
+ */
69
+ export declare const useComments: (view: EditorView | null, comments?: Comment[]) => void;
70
+ export {};
71
+ //# sourceMappingURL=comments.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comments.d.ts","sourceRoot":"","sources":["../../../../src/extensions/comments.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,SAAS,EAA8D,MAAM,mBAAmB,CAAC;AAC/G,OAAO,EAAwB,KAAK,OAAO,EAAc,UAAU,EAAE,KAAK,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAQzG,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,UAAU,CAAC;AA2BpD,KAAK,YAAY,GAAG;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CACxB,CAAC;AAEF,KAAK,cAAc,GAAG;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,SAAS,EAAE,cAAc,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,YAAY,SAAU,UAAU,MAAM,MAAM,2BAiBxD,CAAC;AAEF,eAAO,MAAM,WAAW,wDAAkC,CAAC;AAE3D,eAAO,MAAM,YAAY,6DAAuC,CAAC;AAwEjE,MAAM,MAAM,eAAe,GAAG;IAC5B;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;KAAE,KAAK,MAAM,GAAG,SAAS,CAAC;IACpG;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAC1C;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CACnD,CAAC;AAwHF;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,OAiC3B,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,QAAQ,aAAa,eAAe,KAAQ,SAgIxD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,SAAU,UAAU,GAAG,IAAI,aAAY,OAAO,EAAE,SAQvE,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { type EditorState, Facet } from '@codemirror/state';
2
+ import type { Range } from '../hooks';
3
+ /**
4
+ * Converts indexes into the text document into stable peer-independent cursors.
5
+ *
6
+ * See:
7
+ * - https://automerge.org/automerge/api-docs/js/functions/next.getCursor.html
8
+ * - https://github.com/yjs/yjs?tab=readme-ov-file#relative-positions
9
+ *
10
+ * @param {assoc} number Negative values will associate the cursor with the previous character
11
+ * while positive - with the next one.
12
+ */
13
+ export interface CursorConverter {
14
+ toCursor(position: number, assoc?: -1 | 1 | undefined): string;
15
+ fromCursor(cursor: string): number;
16
+ }
17
+ export declare class Cursor {
18
+ static readonly converter: Facet<CursorConverter, CursorConverter>;
19
+ static readonly getCursorFromRange: (state: EditorState, range: Range) => string;
20
+ static readonly getRangeFromCursor: (state: EditorState, cursor: string) => {
21
+ from: number;
22
+ to: number;
23
+ } | undefined;
24
+ }
25
+ //# sourceMappingURL=cursor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cursor.d.ts","sourceRoot":"","sources":["../../../../src/extensions/cursor.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE5D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEtC;;;;;;;;;GASG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,MAAM,CAAC;IAC/D,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;CACpC;AAOD,qBAAa,MAAM;IACjB,MAAM,CAAC,QAAQ,CAAC,SAAS,0CAEtB;IAEH,MAAM,CAAC,QAAQ,CAAC,kBAAkB,UAAW,WAAW,SAAS,KAAK,YAMpE;IAEF,MAAM,CAAC,QAAQ,CAAC,kBAAkB,UAAW,WAAW,UAAU,MAAM;;;kBAOtE;CACH"}
@@ -0,0 +1,13 @@
1
+ export * from './autocomplete';
2
+ export * from './automerge';
3
+ export * from './awareness';
4
+ export * from './basic';
5
+ export * from './blast';
6
+ export * from './comments';
7
+ export * from './cursor';
8
+ export * from './listener';
9
+ export * from './markdown';
10
+ export * from './mention';
11
+ export * from './outliner';
12
+ export * from './typewriter';
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/extensions/index.ts"],"names":[],"mappings":"AAIA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { type Extension } from '@codemirror/state';
2
+ export type ListenerOptions = {
3
+ onFocus?: (focused: boolean) => void;
4
+ onChange?: (text: string) => void;
5
+ };
6
+ /**
7
+ * Event listener.
8
+ */
9
+ export declare const listener: ({ onFocus, onChange }: ListenerOptions) => Extension;
10
+ //# sourceMappingURL=listener.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listener.d.ts","sourceRoot":"","sources":["../../../../src/extensions/listener.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAGnD,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACrC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,0BAA2B,eAAe,KAAG,SAmBjE,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { type Extension } from '@codemirror/state';
2
+ import type { ThemeMode } from '@dxos/react-ui';
3
+ import { type TextEditorProps } from '../../components';
4
+ export type MarkdownBundleOptions = {
5
+ themeMode?: ThemeMode;
6
+ } & Pick<TextEditorProps, 'placeholder' | 'lineWrapping'>;
7
+ /**
8
+ * Markdown bundle.
9
+ * Refs:
10
+ * https://codemirror.net/docs/community
11
+ * https://codemirror.net/docs/ref/#codemirror.basicSetup
12
+ */
13
+ export declare const createMarkdownExtensions: ({ themeMode, placeholder: _placeholder, lineWrapping, }?: MarkdownBundleOptions) => Extension[];
14
+ //# sourceMappingURL=bundle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/markdown/bundle.ts"],"names":[],"mappings":"AAUA,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAYhE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAIhD,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExD,MAAM,MAAM,qBAAqB,GAAG;IAClC,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,GAAG,IAAI,CAAC,eAAe,EAAE,aAAa,GAAG,cAAc,CAAC,CAAC;AAE1D;;;;;GAKG;AAEH,eAAO,MAAM,wBAAwB,6DAIlC,qBAAqB,KAAQ,SAAS,EAyDxC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/markdown/code.ts"],"names":[],"mappings":"AAkIA,eAAO,MAAM,IAAI,+CAmBhB,CAAC"}
@@ -0,0 +1,57 @@
1
+ import { type Extension, type StateCommand, type EditorState } from '@codemirror/state';
2
+ import { EditorView } from '@codemirror/view';
3
+ export type Formatting = {
4
+ blockType: 'paragraph' | 'tablecell' | 'codeblock' | 'heading1' | 'heading2' | 'heading3' | 'heading4' | 'heading5' | 'heading6' | null;
5
+ strong: boolean;
6
+ emphasis: boolean;
7
+ strikethrough: boolean;
8
+ code: boolean;
9
+ link: boolean;
10
+ listStyle: null | 'ordered' | 'bullet' | 'task';
11
+ blockquote: boolean;
12
+ };
13
+ export declare const compareFormatting: (a: Formatting, b: Formatting) => boolean;
14
+ export declare enum Inline {
15
+ Strong = 0,
16
+ Emphasis = 1,
17
+ Strikethrough = 2,
18
+ Code = 3
19
+ }
20
+ export declare enum List {
21
+ Ordered = 0,
22
+ Bullet = 1,
23
+ Task = 2
24
+ }
25
+ export declare const setHeading: (level: number) => StateCommand;
26
+ export declare const setStyle: (type: Inline, enable: boolean) => StateCommand;
27
+ export declare const addStyle: (style: Inline) => StateCommand;
28
+ export declare const removeStyle: (style: Inline) => StateCommand;
29
+ export declare const toggleStyle: (style: Inline) => StateCommand;
30
+ export declare const toggleStrong: StateCommand;
31
+ export declare const toggleEmphasis: StateCommand;
32
+ export declare const toggleStrikethrough: StateCommand;
33
+ export declare const toggleInlineCode: StateCommand;
34
+ export declare const insertTable: (view: EditorView) => void;
35
+ export declare const removeLink: StateCommand;
36
+ export declare const addLink: StateCommand;
37
+ export declare const addList: (type: List) => StateCommand;
38
+ export declare const removeList: (type: List) => StateCommand;
39
+ export declare const toggleList: (type: List) => StateCommand;
40
+ export declare const setBlockquote: (enable: boolean) => StateCommand;
41
+ export declare const addBlockquote: StateCommand;
42
+ export declare const removeBlockquote: StateCommand;
43
+ export declare const toggleBlockquote: StateCommand;
44
+ export declare const addCodeblock: StateCommand;
45
+ export declare const removeCodeblock: StateCommand;
46
+ export declare const toggleCodeblock: StateCommand;
47
+ export type FormattingOptions = {};
48
+ export declare const formatting: (options?: FormattingOptions) => Extension;
49
+ /**
50
+ * Query an editor state for the active formatting at the selection.
51
+ */
52
+ export declare const getFormatting: (state: EditorState) => Formatting;
53
+ /**
54
+ * Hook computes the current formatting state.
55
+ */
56
+ export declare const useFormattingState: () => [Formatting | null, Extension];
57
+ //# sourceMappingURL=formatting.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatting.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/markdown/formatting.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,KAAK,SAAS,EACd,KAAK,YAAY,EAEjB,KAAK,WAAW,EAKjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAkC,UAAU,EAAuC,MAAM,kBAAkB,CAAC;AAYnH,MAAM,MAAM,UAAU,GAAG;IAGvB,SAAS,EACL,WAAW,GACX,WAAW,GACX,WAAW,GACX,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,IAAI,CAAC;IAET,MAAM,EAAE,OAAO,CAAC;IAEhB,QAAQ,EAAE,OAAO,CAAC;IAElB,aAAa,EAAE,OAAO,CAAC;IAEvB,IAAI,EAAE,OAAO,CAAC;IAEd,IAAI,EAAE,OAAO,CAAC;IAEd,SAAS,EAAE,IAAI,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;IAEhD,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,iBAAiB,MAAO,UAAU,KAAK,UAAU,YAQ/B,CAAC;AAEhC,oBAAY,MAAM;IAChB,MAAM,IAAI;IACV,QAAQ,IAAI;IACZ,aAAa,IAAI;IACjB,IAAI,IAAI;CACT;AAED,oBAAY,IAAI;IACd,OAAO,IAAA;IACP,MAAM,IAAA;IACN,IAAI,IAAA;CACL;AAMD,eAAO,MAAM,UAAU,UACb,MAAM,KAAG,YAmDhB,CAAC;AAMJ,eAAO,MAAM,QAAQ,SACZ,MAAM,UAAU,OAAO,KAAG,YAmJhC,CAAC;AAEJ,eAAO,MAAM,QAAQ,UAAW,MAAM,KAAG,YAAqC,CAAC;AAE/E,eAAO,MAAM,WAAW,UAAW,MAAM,KAAG,YAAsC,CAAC;AAEnF,eAAO,MAAM,WAAW,UACd,MAAM,KAAG,YAahB,CAAC;AAEJ,eAAO,MAAM,YAAY,cAA6B,CAAC;AACvD,eAAO,MAAM,cAAc,cAA+B,CAAC;AAC3D,eAAO,MAAM,mBAAmB,cAAoC,CAAC;AACrE,eAAO,MAAM,gBAAgB,cAA2B,CAAC;AA8CzD,eAAO,MAAM,WAAW,SAAU,UAAU,SAQ3C,CAAC;AA4BF,eAAO,MAAM,UAAU,EAAE,YAUxB,CAAC;AAGF,eAAO,MAAM,OAAO,EAAE,YAmFrB,CAAC;AAMF,eAAO,MAAM,OAAO,SACX,IAAI,KAAG,YAsHb,CAAC;AAEJ,eAAO,MAAM,UAAU,SACd,IAAI,KAAG,YAwDb,CAAC;AAEJ,eAAO,MAAM,UAAU,SACd,IAAI,KAAG,YAMb,CAAC;AAqBJ,eAAO,MAAM,aAAa,WACf,OAAO,KAAG,YAiElB,CAAC;AAEJ,eAAO,MAAM,aAAa,cAAsB,CAAC;AAEjD,eAAO,MAAM,gBAAgB,cAAuB,CAAC;AAErD,eAAO,MAAM,gBAAgB,EAAE,YAE9B,CAAC;AAMF,eAAO,MAAM,YAAY,EAAE,YAsD1B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,YAyC7B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,YAE7B,CAAC;AAMF,MAAM,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAEnC,eAAO,MAAM,UAAU,aAAa,iBAAiB,KAAQ,SAU5D,CAAC;AAyGF;;GAEG;AACH,eAAO,MAAM,aAAa,UAAW,WAAW,KAAG,UAiKlD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,QAAO,CAAC,UAAU,GAAG,IAAI,EAAE,SAAS,CAgBlE,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type Formatting } from './formatting';
2
+ export declare const emptyFormatting: Formatting;
3
+ //# sourceMappingURL=formatting.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatting.test.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/markdown/formatting.test.ts"],"names":[],"mappings":"AAUA,OAAO,EAeL,KAAK,UAAU,EAChB,MAAM,cAAc,CAAC;AAEtB,eAAO,MAAM,eAAe,EAAE,UAS7B,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { type DecorationSet, ViewPlugin, type ViewUpdate } from '@codemirror/view';
2
+ export declare const heading: () => ViewPlugin<{
3
+ decorations: DecorationSet;
4
+ update(update: ViewUpdate): void;
5
+ }>[];
6
+ //# sourceMappingURL=heading.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"heading.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/markdown/heading.ts"],"names":[],"mappings":"AAMA,OAAO,EAAc,KAAK,aAAa,EAAmB,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAkChH,eAAO,MAAM,OAAO;;mBASG,UAAU;IAShC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"highlight.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/markdown/highlight.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAmB,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,KAAK,cAAc,EAAS,MAAM,iBAAiB,CAAC;AAe7D;;;;GAIG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;CAexB,CAAC;AAaF,eAAO,MAAM,sBAAsB,EAAE,cAAc,EAKlD,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,sBAAsB,cAAe,OAAO,mBAmHxD,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hr.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/markdown/hr.ts"],"names":[],"mappings":"AAmDA,eAAO,MAAM,EAAE,+CAmBd,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/markdown/image.ts"],"names":[],"mappings":"AAKA,OAAO,EAAoB,KAAK,SAAS,EAA4C,MAAM,mBAAmB,CAAC;AAG/G,MAAM,MAAM,YAAY,GAAG,EAAE,CAAC;AAE9B,eAAO,MAAM,KAAK,aAAa,YAAY,KAAQ,SA8BlD,CAAC"}
@@ -0,0 +1,11 @@
1
+ export * from './bundle';
2
+ export * from './code';
3
+ export * from './formatting';
4
+ export * from './heading';
5
+ export * from './highlight';
6
+ export * from './hr';
7
+ export * from './image';
8
+ export * from './link';
9
+ export * from './table';
10
+ export * from './tasklist';
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/markdown/index.ts"],"names":[],"mappings":"AAIA,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,MAAM,CAAC;AACrB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { type Extension } from '@codemirror/state';
2
2
  export type LinkOptions = {
3
3
  link?: boolean;
4
+ onHover?: (el: Element, url: string) => void;
4
5
  onRender?: (el: Element, url: string) => void;
5
6
  };
6
7
  /**
@@ -0,0 +1 @@
1
+ {"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/markdown/link.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,SAAS,EAAmB,MAAM,mBAAmB,CAAC;AAmBpE,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,IAAI,aAAa,WAAW,KAAQ,SAuDhD,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/markdown/table.ts"],"names":[],"mappings":"AAKA,OAAO,EAAoB,KAAK,QAAQ,EAAmB,UAAU,EAAoB,MAAM,mBAAmB,CAAC;AASnH,MAAM,MAAM,YAAY,GAAG,EAAE,CAAC;AAE9B;;;GAGG;AACH,eAAO,MAAM,KAAK,aAAa,YAAY,8BAM1C,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tasklist.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/markdown/tasklist.ts"],"names":[],"mappings":"AAsFA,MAAM,MAAM,eAAe,GAAG,EAAE,CAAC;AAEjC,eAAO,MAAM,QAAQ,aAAa,eAAe,4CAqBhD,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mention.d.ts","sourceRoot":"","sources":["../../../../src/extensions/mention.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;CACtC,CAAC;AAGF,eAAO,MAAM,OAAO,iBAAkB,cAAc,KAAG,SAyBtD,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { type Extension } from '@codemirror/state';
2
+ export type OutlinerOptions = {};
3
+ export declare const outliner: (options?: OutlinerOptions) => Extension;
4
+ //# sourceMappingURL=outliner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outliner.d.ts","sourceRoot":"","sources":["../../../../src/extensions/outliner.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD,MAAM,MAAM,eAAe,GAAG,EAAE,CAAC;AAGjC,eAAO,MAAM,QAAQ,aAAa,eAAe,KAAQ,SAExD,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typewriter.d.ts","sourceRoot":"","sources":["../../../../src/extensions/typewriter.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAKnD,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC;AAIF;;GAEG;AACH,eAAO,MAAM,UAAU,sBAA0C,WAAW,KAAQ,SAgDnF,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { Event } from '@dxos/async';
2
+ import { type Space } from '@dxos/react-client/echo';
3
+ import { type AwarenessInfo, type AwarenessPosition, type AwarenessProvider, type AwarenessState } from '../extensions';
4
+ export type AwarenessProviderParams = {
5
+ space: Space;
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 _space;
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(params: 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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"awareness-provider.d.ts","sourceRoot":"","sources":["../../../../src/hooks/awareness-provider.ts"],"names":[],"mappings":"AAIA,OAAO,EAAgB,KAAK,EAAS,MAAM,aAAa,CAAC;AAIzD,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAGrD,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,iBAAiB,EAAE,KAAK,iBAAiB,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAaxH,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,EAAE,KAAK,CAAC;IACb,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,MAAM,CAAQ;IAC/B,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,MAAM,EAAE,uBAAuB;IAO3C,IAAI;IAqCJ,KAAK;IAML,eAAe,IAAI,cAAc,EAAE;IAInC,MAAM,CAAC,QAAQ,EAAE,iBAAiB,GAAG,SAAS,GAAG,IAAI;IAWrD,OAAO,CAAC,mBAAmB;IAK3B,OAAO,CAAC,kBAAkB;CAK3B"}
@@ -0,0 +1,25 @@
1
+ import { type Extension, StateField } from '@codemirror/state';
2
+ import { type DocAccessor } from '@dxos/echo-schema';
3
+ export type Range = {
4
+ from: number;
5
+ to: number;
6
+ };
7
+ export type Comment = {
8
+ id: string;
9
+ cursor?: string;
10
+ };
11
+ export type EditorModel = {
12
+ id: string;
13
+ text: () => string;
14
+ extension?: Extension;
15
+ content: string | DocAccessor;
16
+ peer?: {
17
+ id: string;
18
+ name?: string;
19
+ };
20
+ };
21
+ /**
22
+ * State field makes the model available to other extensions.
23
+ */
24
+ export declare const modelState: StateField<EditorModel | undefined>;
25
+ //# sourceMappingURL=defs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defs.d.ts","sourceRoot":"","sources":["../../../../src/hooks/defs.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/D,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGrD,MAAM,MAAM,KAAK,GAAG;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAGF,MAAM,MAAM,OAAO,GAAG;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,SAAS,CAAC;IAGtB,OAAO,EAAE,MAAM,GAAG,WAAW,CAAC;IAG9B,IAAI,CAAC,EAAE;QACL,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;CACH,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,qCAGrB,CAAC"}
@@ -1,3 +1,7 @@
1
+ export * from './awareness-provider';
2
+ export * from './defs';
3
+ export * from './useActionHandler';
4
+ export * from './useEditorView';
5
+ export * from './useTextEditor';
1
6
  export * from './useTextModel';
2
- export * from './yjs';
3
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/index.ts"],"names":[],"mappings":"AAIA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,OAAO,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/index.ts"],"names":[],"mappings":"AAIA,cAAc,sBAAsB,CAAC;AACrC,cAAc,QAAQ,CAAC;AAEvB,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { EditorView } from '@codemirror/view';
2
+ import type { ToolbarProps } from '../components';
3
+ export declare const useActionHandler: (view?: EditorView | null) => ToolbarProps['onAction'];
4
+ //# sourceMappingURL=useActionHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useActionHandler.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useActionHandler.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAqBlD,eAAO,MAAM,gBAAgB,UAAW,UAAU,GAAG,IAAI,KAAG,YAAY,CAAC,UAAU,CAiElF,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { type EditorView } from '@codemirror/view';
2
+ import { type RefCallback } from 'react';
3
+ /**
4
+ * Hook for accessing the editor view.
5
+ *
6
+ * ```tsx
7
+ * const Test = () => {
8
+ * const [editorRef, editorView] = useEditorView();
9
+ * useEffect(() => {
10
+ * editorView?.focus();
11
+ * }, [editorView]);
12
+ * return <TextEditor ref={editorRef} />;
13
+ * };
14
+ * ```
15
+ */
16
+ export declare const useEditorView: () => [RefCallback<EditorView | null>, EditorView | null];
17
+ //# sourceMappingURL=useEditorView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useEditorView.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useEditorView.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,KAAK,WAAW,EAAY,MAAM,OAAO,CAAC;AAEnD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,aAAa,QAAO,CAAC,YAAY,UAAU,GAAG,IAAI,CAAC,EAAE,UAAU,GAAG,IAAI,CAQlF,CAAC"}