@dxos/react-ui-editor 0.3.10 → 0.3.11-main.008b7c6

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 (211) hide show
  1. package/dist/lib/browser/index.mjs +1537 -847
  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 -10
  5. package/dist/types/src/components/TextEditor/MarkdownEditor.stories.d.ts.map +1 -1
  6. package/dist/types/src/components/TextEditor/TextEditor.d.ts +3 -2
  7. package/dist/types/src/components/TextEditor/TextEditor.d.ts.map +1 -1
  8. package/dist/types/src/components/TextEditor/TextEditor.stories.d.ts +3 -0
  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 -2
  11. package/dist/types/src/components/TextEditor/automerge.stories.d.ts.map +1 -0
  12. package/dist/types/src/components/TextEditor/codemirror.stories.d.ts.map +1 -1
  13. package/dist/types/src/components/TextEditor/index.d.ts +0 -2
  14. package/dist/types/src/components/TextEditor/index.d.ts.map +1 -1
  15. package/dist/types/src/{hooks/yjs → components/TextEditor}/yjs.stories.d.ts +1 -1
  16. package/dist/types/src/components/TextEditor/yjs.stories.d.ts.map +1 -0
  17. package/dist/types/src/extensions/autocomplete.d.ts.map +1 -0
  18. package/dist/types/src/extensions/automerge/automerge.d.ts +9 -0
  19. package/dist/types/src/extensions/automerge/automerge.d.ts.map +1 -0
  20. package/dist/types/src/extensions/automerge/cursor.d.ts +5 -0
  21. package/dist/types/src/extensions/automerge/cursor.d.ts.map +1 -0
  22. package/dist/types/src/extensions/automerge/defs.d.ts +26 -0
  23. package/dist/types/src/extensions/automerge/defs.d.ts.map +1 -0
  24. package/dist/types/src/extensions/automerge/index.d.ts +3 -0
  25. package/dist/types/src/extensions/automerge/index.d.ts.map +1 -0
  26. package/dist/types/src/{hooks/automerge/PatchSemaphore.d.ts → extensions/automerge/semaphore.d.ts} +5 -5
  27. package/dist/types/src/extensions/automerge/semaphore.d.ts.map +1 -0
  28. package/dist/types/src/extensions/automerge/update-automerge.d.ts +5 -0
  29. package/dist/types/src/extensions/automerge/update-automerge.d.ts.map +1 -0
  30. package/dist/types/src/extensions/automerge/update-codemirror.d.ts +5 -0
  31. package/dist/types/src/extensions/automerge/update-codemirror.d.ts.map +1 -0
  32. package/dist/types/src/extensions/awareness.d.ts +46 -0
  33. package/dist/types/src/extensions/awareness.d.ts.map +1 -0
  34. package/dist/types/src/extensions/basic.d.ts.map +1 -0
  35. package/dist/types/src/extensions/blast.d.ts.map +1 -0
  36. package/dist/types/src/extensions/code.d.ts.map +1 -0
  37. package/dist/types/src/extensions/comments.d.ts +50 -0
  38. package/dist/types/src/extensions/comments.d.ts.map +1 -0
  39. package/dist/types/src/extensions/hr.d.ts +2 -0
  40. package/dist/types/src/extensions/hr.d.ts.map +1 -0
  41. package/dist/types/src/extensions/image.d.ts.map +1 -0
  42. package/dist/types/src/{components/TextEditor/extensions → extensions}/index.d.ts +6 -3
  43. package/dist/types/src/extensions/index.d.ts.map +1 -0
  44. package/dist/types/src/{components/TextEditor/extensions → extensions}/link.d.ts +1 -0
  45. package/dist/types/src/extensions/link.d.ts.map +1 -0
  46. package/dist/types/src/extensions/listener.d.ts +10 -0
  47. package/dist/types/src/extensions/listener.d.ts.map +1 -0
  48. package/dist/types/src/extensions/markdown/bundle.d.ts.map +1 -0
  49. package/dist/types/src/{components/TextEditor/extensions → extensions}/markdown/highlight.d.ts +0 -1
  50. package/dist/types/src/extensions/markdown/highlight.d.ts.map +1 -0
  51. package/dist/types/src/extensions/markdown/index.d.ts.map +1 -0
  52. package/dist/types/src/extensions/mention.d.ts.map +1 -0
  53. package/dist/types/src/extensions/mermaid.d.ts +3 -0
  54. package/dist/types/src/extensions/mermaid.d.ts.map +1 -0
  55. package/dist/types/src/extensions/table.d.ts.map +1 -0
  56. package/dist/types/src/extensions/tasklist.d.ts.map +1 -0
  57. package/dist/types/src/{components/TextEditor/extensions/demo.d.ts → extensions/typewriter.d.ts} +2 -3
  58. package/dist/types/src/extensions/typewriter.d.ts.map +1 -0
  59. package/dist/types/src/extensions/yjs/cursor.d.ts +4 -0
  60. package/dist/types/src/extensions/yjs/cursor.d.ts.map +1 -0
  61. package/dist/types/src/extensions/yjs/index.d.ts +2 -0
  62. package/dist/types/src/extensions/yjs/index.d.ts.map +1 -0
  63. package/dist/types/src/extensions/yjs/yjs.d.ts +4 -0
  64. package/dist/types/src/extensions/yjs/yjs.d.ts.map +1 -0
  65. package/dist/types/src/extensions/yjs/yjs.test.d.ts +2 -0
  66. package/dist/types/src/extensions/yjs/yjs.test.d.ts.map +1 -0
  67. package/dist/types/src/hooks/automerge.d.ts +3 -0
  68. package/dist/types/src/hooks/automerge.d.ts.map +1 -0
  69. package/dist/types/src/hooks/awareness-provider.d.ts +28 -0
  70. package/dist/types/src/hooks/awareness-provider.d.ts.map +1 -0
  71. package/dist/types/src/hooks/index.d.ts +2 -0
  72. package/dist/types/src/hooks/index.d.ts.map +1 -1
  73. package/dist/types/src/hooks/useTextModel.d.ts +20 -11
  74. package/dist/types/src/hooks/useTextModel.d.ts.map +1 -1
  75. package/dist/types/src/hooks/{yjs/space-provider.d.ts → yjs.d.ts} +8 -8
  76. package/dist/types/src/hooks/yjs.d.ts.map +1 -0
  77. package/dist/types/src/index.d.ts +3 -0
  78. package/dist/types/src/index.d.ts.map +1 -1
  79. package/dist/types/src/styles/cursors.d.ts.map +1 -0
  80. package/dist/types/src/styles/index.d.ts +1 -0
  81. package/dist/types/src/styles/index.d.ts.map +1 -1
  82. package/dist/types/src/testing/replicator.d.ts +2 -2
  83. package/dist/types/src/testing/replicator.d.ts.map +1 -1
  84. package/dist/types/src/{components/TextEditor/themes → themes}/default.d.ts +5 -13
  85. package/dist/types/src/themes/default.d.ts.map +1 -0
  86. package/dist/types/src/themes/index.d.ts.map +1 -0
  87. package/dist/types/src/util/cursor.d.ts +17 -0
  88. package/dist/types/src/util/cursor.d.ts.map +1 -0
  89. package/dist/types/src/util/index.d.ts +3 -0
  90. package/dist/types/src/util/index.d.ts.map +1 -0
  91. package/dist/types/src/util/util.d.ts +5 -0
  92. package/dist/types/src/util/util.d.ts.map +1 -0
  93. package/package.json +25 -20
  94. package/src/components/TextEditor/MarkdownEditor.stories.tsx +130 -71
  95. package/src/components/TextEditor/TextEditor.stories.tsx +15 -2
  96. package/src/components/TextEditor/TextEditor.tsx +30 -26
  97. package/src/{hooks/automerge → components/TextEditor}/automerge.stories.tsx +67 -8
  98. package/src/components/TextEditor/codemirror.stories.ts +3 -2
  99. package/src/components/TextEditor/index.ts +0 -3
  100. package/src/{hooks/yjs → components/TextEditor}/yjs.stories.tsx +1 -1
  101. package/src/extensions/automerge/automerge.ts +94 -0
  102. package/src/extensions/automerge/cursor.ts +51 -0
  103. package/src/extensions/automerge/defs.ts +62 -0
  104. package/src/extensions/automerge/index.ts +6 -0
  105. package/src/{hooks/automerge/PatchSemaphore.ts → extensions/automerge/semaphore.ts} +18 -15
  106. package/src/{hooks/automerge/translation/codemirror-to-automerge.ts → extensions/automerge/update-automerge.ts} +6 -7
  107. package/src/{hooks/automerge/translation/automerge-to-codemirror.ts → extensions/automerge/update-codemirror.ts} +14 -11
  108. package/src/extensions/awareness.ts +316 -0
  109. package/src/{components/TextEditor/extensions → extensions}/code.ts +13 -13
  110. package/src/extensions/comments.ts +421 -0
  111. package/src/extensions/hr.ts +74 -0
  112. package/src/{components/TextEditor/extensions → extensions}/image.ts +3 -1
  113. package/src/{components/TextEditor/extensions → extensions}/index.ts +6 -3
  114. package/src/{components/TextEditor/extensions → extensions}/link.ts +66 -10
  115. package/src/extensions/listener.ts +35 -0
  116. package/src/{components/TextEditor/extensions → extensions}/markdown/highlight.ts +6 -9
  117. package/src/extensions/mermaid.ts +11 -0
  118. package/src/{components/TextEditor/extensions → extensions}/table.ts +14 -1
  119. package/src/{components/TextEditor/extensions/demo.ts → extensions/typewriter.ts} +2 -3
  120. package/src/extensions/yjs/cursor.ts +21 -0
  121. package/src/extensions/yjs/index.ts +5 -0
  122. package/src/extensions/yjs/yjs.test.ts +35 -0
  123. package/src/extensions/yjs/yjs.ts +16 -0
  124. package/src/hooks/automerge.ts +52 -0
  125. package/src/hooks/awareness-provider.ts +120 -0
  126. package/src/hooks/index.ts +2 -0
  127. package/src/hooks/useTextModel.ts +43 -79
  128. package/src/hooks/{yjs/space-provider.ts → yjs.ts} +71 -19
  129. package/src/index.ts +3 -0
  130. package/src/styles/index.ts +1 -0
  131. package/src/testing/replicator.ts +10 -16
  132. package/src/{components/TextEditor/themes → themes}/default.ts +61 -38
  133. package/src/util/cursor.ts +29 -0
  134. package/src/util/index.ts +6 -0
  135. package/src/util/util.ts +18 -0
  136. package/dist/types/src/components/TextEditor/extensions/autocomplete.d.ts.map +0 -1
  137. package/dist/types/src/components/TextEditor/extensions/basic.d.ts.map +0 -1
  138. package/dist/types/src/components/TextEditor/extensions/blast.d.ts.map +0 -1
  139. package/dist/types/src/components/TextEditor/extensions/code.d.ts.map +0 -1
  140. package/dist/types/src/components/TextEditor/extensions/comments.d.ts +0 -18
  141. package/dist/types/src/components/TextEditor/extensions/comments.d.ts.map +0 -1
  142. package/dist/types/src/components/TextEditor/extensions/demo.d.ts.map +0 -1
  143. package/dist/types/src/components/TextEditor/extensions/experimental.d.ts +0 -10
  144. package/dist/types/src/components/TextEditor/extensions/experimental.d.ts.map +0 -1
  145. package/dist/types/src/components/TextEditor/extensions/highlight.d.ts +0 -24
  146. package/dist/types/src/components/TextEditor/extensions/highlight.d.ts.map +0 -1
  147. package/dist/types/src/components/TextEditor/extensions/image.d.ts.map +0 -1
  148. package/dist/types/src/components/TextEditor/extensions/index.d.ts.map +0 -1
  149. package/dist/types/src/components/TextEditor/extensions/link.d.ts.map +0 -1
  150. package/dist/types/src/components/TextEditor/extensions/listener.d.ts +0 -9
  151. package/dist/types/src/components/TextEditor/extensions/listener.d.ts.map +0 -1
  152. package/dist/types/src/components/TextEditor/extensions/markdown/bundle.d.ts.map +0 -1
  153. package/dist/types/src/components/TextEditor/extensions/markdown/highlight.d.ts.map +0 -1
  154. package/dist/types/src/components/TextEditor/extensions/markdown/index.d.ts.map +0 -1
  155. package/dist/types/src/components/TextEditor/extensions/mention.d.ts.map +0 -1
  156. package/dist/types/src/components/TextEditor/extensions/table.d.ts.map +0 -1
  157. package/dist/types/src/components/TextEditor/extensions/tasklist.d.ts.map +0 -1
  158. package/dist/types/src/components/TextEditor/extensions/tooltip.d.ts +0 -12
  159. package/dist/types/src/components/TextEditor/extensions/tooltip.d.ts.map +0 -1
  160. package/dist/types/src/components/TextEditor/themes/default.d.ts.map +0 -1
  161. package/dist/types/src/components/TextEditor/themes/index.d.ts.map +0 -1
  162. package/dist/types/src/hooks/automerge/PatchSemaphore.d.ts.map +0 -1
  163. package/dist/types/src/hooks/automerge/automerge.stories.d.ts.map +0 -1
  164. package/dist/types/src/hooks/automerge/handle.d.ts +0 -9
  165. package/dist/types/src/hooks/automerge/handle.d.ts.map +0 -1
  166. package/dist/types/src/hooks/automerge/index.d.ts +0 -3
  167. package/dist/types/src/hooks/automerge/index.d.ts.map +0 -1
  168. package/dist/types/src/hooks/automerge/plugin.d.ts +0 -26
  169. package/dist/types/src/hooks/automerge/plugin.d.ts.map +0 -1
  170. package/dist/types/src/hooks/automerge/translation/automerge-to-codemirror.d.ts +0 -5
  171. package/dist/types/src/hooks/automerge/translation/automerge-to-codemirror.d.ts.map +0 -1
  172. package/dist/types/src/hooks/automerge/translation/codemirror-to-automerge.d.ts +0 -6
  173. package/dist/types/src/hooks/automerge/translation/codemirror-to-automerge.d.ts.map +0 -1
  174. package/dist/types/src/hooks/automerge/translation/index.d.ts +0 -3
  175. package/dist/types/src/hooks/automerge/translation/index.d.ts.map +0 -1
  176. package/dist/types/src/hooks/yjs/cursors.d.ts.map +0 -1
  177. package/dist/types/src/hooks/yjs/index.d.ts +0 -3
  178. package/dist/types/src/hooks/yjs/index.d.ts.map +0 -1
  179. package/dist/types/src/hooks/yjs/space-provider.d.ts.map +0 -1
  180. package/dist/types/src/hooks/yjs/yjs.stories.d.ts.map +0 -1
  181. package/src/components/TextEditor/extensions/comments.ts +0 -173
  182. package/src/components/TextEditor/extensions/experimental.tsx +0 -114
  183. package/src/components/TextEditor/extensions/highlight.ts +0 -128
  184. package/src/components/TextEditor/extensions/listener.ts +0 -23
  185. package/src/components/TextEditor/extensions/tooltip.tsx +0 -61
  186. package/src/hooks/automerge/handle.ts +0 -14
  187. package/src/hooks/automerge/index.ts +0 -6
  188. package/src/hooks/automerge/plugin.ts +0 -134
  189. package/src/hooks/automerge/translation/index.ts +0 -6
  190. package/src/hooks/yjs/index.ts +0 -6
  191. /package/dist/types/src/{components/TextEditor/extensions → extensions}/autocomplete.d.ts +0 -0
  192. /package/dist/types/src/{components/TextEditor/extensions → extensions}/basic.d.ts +0 -0
  193. /package/dist/types/src/{components/TextEditor/extensions → extensions}/blast.d.ts +0 -0
  194. /package/dist/types/src/{components/TextEditor/extensions → extensions}/code.d.ts +0 -0
  195. /package/dist/types/src/{components/TextEditor/extensions → extensions}/image.d.ts +0 -0
  196. /package/dist/types/src/{components/TextEditor/extensions → extensions}/markdown/bundle.d.ts +0 -0
  197. /package/dist/types/src/{components/TextEditor/extensions → extensions}/markdown/index.d.ts +0 -0
  198. /package/dist/types/src/{components/TextEditor/extensions → extensions}/mention.d.ts +0 -0
  199. /package/dist/types/src/{components/TextEditor/extensions → extensions}/table.d.ts +0 -0
  200. /package/dist/types/src/{components/TextEditor/extensions → extensions}/tasklist.d.ts +0 -0
  201. /package/dist/types/src/{hooks/yjs → styles}/cursors.d.ts +0 -0
  202. /package/dist/types/src/{components/TextEditor/themes → themes}/index.d.ts +0 -0
  203. /package/src/{components/TextEditor/extensions → extensions}/autocomplete.ts +0 -0
  204. /package/src/{components/TextEditor/extensions → extensions}/basic.ts +0 -0
  205. /package/src/{components/TextEditor/extensions → extensions}/blast.ts +0 -0
  206. /package/src/{components/TextEditor/extensions → extensions}/markdown/bundle.ts +0 -0
  207. /package/src/{components/TextEditor/extensions → extensions}/markdown/index.ts +0 -0
  208. /package/src/{components/TextEditor/extensions → extensions}/mention.ts +0 -0
  209. /package/src/{components/TextEditor/extensions → extensions}/tasklist.ts +0 -0
  210. /package/src/{hooks/yjs → styles}/cursors.ts +0 -0
  211. /package/src/{components/TextEditor/themes → themes}/index.ts +0 -0
@@ -0,0 +1,50 @@
1
+ import { type Extension } from '@codemirror/state';
2
+ import { EditorView, type Rect } from '@codemirror/view';
3
+ import { type CommentRange, type EditorModel, type Range } from '../hooks';
4
+ type CommentSelected = {
5
+ active?: string;
6
+ closest?: string;
7
+ };
8
+ type ExtendedCommentRange = Range & CommentRange & {
9
+ location?: Rect | null;
10
+ };
11
+ export type CommentsState = CommentSelected & {
12
+ ranges: ExtendedCommentRange[];
13
+ };
14
+ export declare const setFocus: (view: EditorView, thread: string) => void;
15
+ export declare const setCommentRange: import("@codemirror/state").StateEffectType<{
16
+ model: EditorModel;
17
+ comments: CommentRange[];
18
+ }>;
19
+ export declare const setSelection: import("@codemirror/state").StateEffectType<CommentSelected>;
20
+ export type CommentsOptions = {
21
+ key?: string;
22
+ footnote?: boolean;
23
+ /**
24
+ * Called to create a new thread and return the thread id.
25
+ */
26
+ onCreate?: (range: string) => string | undefined;
27
+ /**
28
+ * Called to notify which thread is currently closest to the cursor.
29
+ */
30
+ onSelect?: (state: CommentsState) => void;
31
+ /**
32
+ * Called to render tooltip.
33
+ */
34
+ onHover?: (el: Element) => void;
35
+ };
36
+ /**
37
+ * Comment threads.
38
+ * 1). Updates the EditorModel to store relative selections for a set of comments threads.
39
+ * Since the selections are relative, they do not need to be updated when the document is edited.
40
+ * 2). Implements a StateField to track absolute selections corresponding to the comments (i.e., when the document is edited).
41
+ * 3). Creates decoration marks to apply classes to each selection.
42
+ * 4). Tracks the current cursor position to:
43
+ * a). Update the decoration to show if the cursor is within a current selection.
44
+ * b). Calls a handler to indicate which is the closest selection (e.g., to update the thread sidebar).
45
+ * 5). Optionally, inserts a markdown footnote when creating a comment thread.
46
+ * 6). Optionally, implements a hoverTooltip to show hints when creating a selection range.
47
+ */
48
+ export declare const comments: (options?: CommentsOptions) => Extension;
49
+ export {};
50
+ //# sourceMappingURL=comments.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comments.d.ts","sourceRoot":"","sources":["../../../../src/extensions/comments.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAA2B,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAOL,UAAU,EAIV,KAAK,IAAI,EACV,MAAM,kBAAkB,CAAC;AAS1B,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,KAAK,KAAK,EAAE,MAAM,UAAU,CAAC;AAgC3E,KAAK,eAAe,GAAG;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAGF,KAAK,oBAAoB,GAAG,KAAK,GAC/B,YAAY,GAAG;IAEb,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CACxB,CAAC;AAEJ,MAAM,MAAM,aAAa,GAAG,eAAe,GAAG;IAC5C,MAAM,EAAE,oBAAoB,EAAE,CAAC;CAChC,CAAC;AAEF,eAAO,MAAM,QAAQ,SAAU,UAAU,UAAU,MAAM,SAWxD,CAAC;AAEF,eAAO,MAAM,eAAe;WAA+B,WAAW;cAAY,YAAY,EAAE;EAAK,CAAC;AAEtG,eAAO,MAAM,YAAY,8DAAwC,CAAC;AAiGlE,MAAM,MAAM,eAAe,GAAG;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IACjD;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAC1C;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,KAAK,IAAI,CAAC;CACjC,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,QAAQ,aAAa,eAAe,KAAQ,SAgMxD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const hr: () => import("@codemirror/state").Extension[];
2
+ //# sourceMappingURL=hr.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hr.d.ts","sourceRoot":"","sources":["../../../../src/extensions/hr.ts"],"names":[],"mappings":"AAmDA,eAAO,MAAM,EAAE,+CAsBd,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../../../../src/extensions/image.ts"],"names":[],"mappings":"AAKA,OAAO,EAEL,KAAK,SAAS,EAKf,MAAM,mBAAmB,CAAC;AAG3B,MAAM,MAAM,YAAY,GAAG,EAAE,CAAC;AAE9B,eAAO,MAAM,KAAK,aAAa,YAAY,KAAQ,SAMlD,CAAC"}
@@ -1,16 +1,19 @@
1
1
  export * from './autocomplete';
2
+ export * from './automerge';
3
+ export * from './awareness';
2
4
  export * from './basic';
3
5
  export * from './blast';
4
6
  export * from './code';
5
- export * from './demo';
6
7
  export * from './comments';
7
- export * from './highlight';
8
+ export * from './hr';
8
9
  export * from './image';
9
10
  export * from './link';
10
11
  export * from './listener';
11
12
  export * from './markdown';
12
13
  export * from './mention';
14
+ export * from './mermaid';
13
15
  export * from './table';
14
16
  export * from './tasklist';
15
- export * from './tooltip';
17
+ export * from './typewriter';
18
+ export * from './yjs';
16
19
  //# 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,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,MAAM,CAAC;AACrB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,OAAO,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/link.ts"],"names":[],"mappings":"AAMA,OAAO,EAEL,KAAK,SAAS,EAKf,MAAM,mBAAmB,CAAC;AAW3B,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,SAyDhD,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 @@
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,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF;;;;;;;GAOG;AAEH,eAAO,MAAM,cAAc,wDAIxB,qBAAqB,KAAG,SAAS,EA6CnC,CAAC"}
@@ -12,7 +12,6 @@ export declare const markdownTags: {
12
12
  CodeText: Tag;
13
13
  EmphasisMark: Tag;
14
14
  HeaderMark: Tag;
15
- HorizontalRule: Tag;
16
15
  InlineCode: Tag;
17
16
  LinkLabel: Tag;
18
17
  LinkReference: Tag;
@@ -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;AAgB7D;;;;GAIG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;CAgBxB,CAAC;AAaF,eAAO,MAAM,sBAAsB,EAAE,cAAc,EAKlD,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,sBAAsB,cAAe,OAAO,mBAgIxD,CAAC"}
@@ -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,aAAa,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;AAEF,eAAO,MAAM,OAAO,iBAAkB,cAAc,KAAG,SAmBtD,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type Extension } from '@codemirror/state';
2
+ export declare const mermaid: () => Extension;
3
+ //# sourceMappingURL=mermaid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mermaid.d.ts","sourceRoot":"","sources":["../../../../src/extensions/mermaid.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAInD,eAAO,MAAM,OAAO,QAAO,SAE1B,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../../src/extensions/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/tasklist.ts"],"names":[],"mappings":"AA+DA,MAAM,MAAM,eAAe,GAAG,EAAE,CAAC;AAEjC,eAAO,MAAM,QAAQ,aAAa,eAAe,4CAuDhD,CAAC"}
@@ -4,8 +4,7 @@ export type DemoOptions = {
4
4
  items?: string[];
5
5
  };
6
6
  /**
7
- * Demo script.
8
7
  * Configurable plugin that let's user cycle through pre-configured input script.
9
8
  */
10
- export declare const demo: ({ delay, items }?: DemoOptions) => Extension;
11
- //# sourceMappingURL=demo.d.ts.map
9
+ export declare const typewriter: ({ delay, items }?: DemoOptions) => Extension;
10
+ //# sourceMappingURL=typewriter.d.ts.map
@@ -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,4 @@
1
+ import * as Y from 'yjs';
2
+ import { type CursorConverter } from '../../util';
3
+ export declare const cursorConverter: (text: Y.Text) => CursorConverter;
4
+ //# sourceMappingURL=cursor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cursor.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/yjs/cursor.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAIzB,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,eAAO,MAAM,eAAe,SAAU,MAAM,KAAG,eAU7C,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './yjs';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/yjs/index.ts"],"names":[],"mappings":"AAIA,cAAc,OAAO,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type * as YP from 'y-protocols/awareness';
2
+ import type { YText } from '@dxos/text-model';
3
+ export declare const yjs: (content: YText, awareness?: YP.Awareness) => import("@codemirror/state").Extension[];
4
+ //# sourceMappingURL=yjs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yjs.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/yjs/yjs.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAEjD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAK9C,eAAO,MAAM,GAAG,YAAa,KAAK,cAAc,GAAG,SAAS,4CAG3D,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=yjs.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yjs.test.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/yjs/yjs.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import { type EditorModel, type UseTextModelProps } from './useTextModel';
2
+ export declare const createAutomergeModel: ({ space, identity, text }: UseTextModelProps) => EditorModel;
3
+ //# sourceMappingURL=automerge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"automerge.d.ts","sourceRoot":"","sources":["../../../../src/hooks/automerge.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,KAAK,WAAW,EAAc,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAItF,eAAO,MAAM,oBAAoB,8BAA+B,iBAAiB,KAAG,WAqCnF,CAAC"}
@@ -0,0 +1,28 @@
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
+ export declare class SpaceAwarenessProvider implements AwarenessProvider {
11
+ readonly remoteStateChange: Event<void>;
12
+ private readonly _remoteStates;
13
+ private readonly _space;
14
+ private readonly _channel;
15
+ private readonly _peerId;
16
+ private readonly _info;
17
+ private _localState?;
18
+ private _postTask?;
19
+ private _ctx?;
20
+ constructor(params: AwarenessProviderParams);
21
+ open(): void;
22
+ close(): void;
23
+ update(position: AwarenessPosition | undefined): void;
24
+ getRemoteStates(): AwarenessState[];
25
+ private _handleQueryMessage;
26
+ private _handlePostMessage;
27
+ }
28
+ //# 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,qBAAa,sBAAuB,YAAW,iBAAiB;IAC9D,SAAgB,iBAAiB,cAAqB;IAEtD,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,WAAW,CAAC,CAAiB;IACrC,OAAO,CAAC,SAAS,CAAC,CAAe;IACjC,OAAO,CAAC,IAAI,CAAC,CAAU;gBAEX,MAAM,EAAE,uBAAuB;IAO3C,IAAI;IAoCJ,KAAK;IAML,MAAM,CAAC,QAAQ,EAAE,iBAAiB,GAAG,SAAS,GAAG,IAAI;IAWrD,eAAe,IAAI,cAAc,EAAE;IAInC,OAAO,CAAC,mBAAmB;IAK3B,OAAO,CAAC,kBAAkB;CAK3B"}
@@ -1,3 +1,5 @@
1
+ export * from './automerge';
2
+ export * from './awareness-provider';
1
3
  export * from './useTextModel';
2
4
  export * from './yjs';
3
5
  //# 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,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,OAAO,CAAC"}
@@ -1,31 +1,40 @@
1
- import { type Extension } from '@codemirror/state';
2
- import type * as awarenessProtocol from 'y-protocols/awareness';
1
+ import { StateField, type Extension } from '@codemirror/state';
2
+ import type * as YP from 'y-protocols/awareness';
3
3
  import { type DocAccessor, type Space, type TextObject } from '@dxos/react-client/echo';
4
4
  import { type Identity } from '@dxos/react-client/halo';
5
5
  import type { YText, YXmlFragment } from '@dxos/text-model';
6
- type Awareness = awarenessProtocol.Awareness;
7
- export type DocumentRange = {
8
- id: string;
6
+ /**
7
+ * State field makes the model available to other extensions.
8
+ */
9
+ export declare const modelState: StateField<EditorModel | undefined>;
10
+ export type Range = {
9
11
  from: number;
10
12
  to: number;
11
13
  };
14
+ export type CommentRange = {
15
+ id: string;
16
+ cursor: string;
17
+ };
12
18
  export type EditorModel = {
13
19
  id: string;
14
- content: string | YText | YXmlFragment | DocAccessor;
15
20
  text: () => string;
16
- ranges: DocumentRange[];
17
21
  extension?: Extension;
18
- awareness?: Awareness;
22
+ content: string | YText | YXmlFragment | DocAccessor;
23
+ /**
24
+ * @deprecated Use CursorConverter.
25
+ */
26
+ getCursorFromRange?: (value: Range) => string;
27
+ getRangeFromCursor?: (cursor: string) => Range | undefined;
28
+ awareness?: YP.Awareness;
19
29
  peer?: {
20
30
  id: string;
21
31
  name?: string;
22
32
  };
23
33
  };
24
- export type UseTextModelOptions = {
34
+ export type UseTextModelProps = {
25
35
  identity?: Identity | null;
26
36
  space?: Space;
27
37
  text?: TextObject;
28
38
  };
29
- export declare const useTextModel: ({ identity, space, text }: UseTextModelOptions) => EditorModel | undefined;
30
- export {};
39
+ export declare const useTextModel: (props: UseTextModelProps) => EditorModel | undefined;
31
40
  //# sourceMappingURL=useTextModel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useTextModel.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useTextModel.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAInD,OAAO,KAAK,KAAK,iBAAiB,MAAM,uBAAuB,CAAC;AAGhE,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,KAAK,EACV,KAAK,UAAU,EAIhB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAM5D,KAAK,SAAS,GAAG,iBAAiB,CAAC,SAAS,CAAC;AAE7C,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAGF,MAAM,MAAM,WAAW,GAAG;IACxB,EAAE,EAAE,MAAM,CAAC;IAEX,OAAO,EAAE,MAAM,GAAG,KAAK,GAAG,YAAY,GAAG,WAAW,CAAC;IACrD,IAAI,EAAE,MAAM,MAAM,CAAC;IACnB,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,IAAI,CAAC,EAAE;QACL,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;CACH,CAAC;AAGF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC3B,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,IAAI,CAAC,EAAE,UAAU,CAAC;CACnB,CAAC;AAIF,eAAO,MAAM,YAAY,8BAA+B,mBAAmB,KAAG,WAAW,GAAG,SAM3F,CAAC"}
1
+ {"version":3,"file":"useTextModel.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useTextModel.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE/D,OAAO,KAAK,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAEjD,OAAO,EAAqB,KAAK,WAAW,EAAE,KAAK,KAAK,EAAE,KAAK,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC3G,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAO5D;;GAEG;AACH,eAAO,MAAM,UAAU,qCAGrB,CAAC;AAEH,MAAM,MAAM,KAAK,GAAG;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAGF,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,KAAK,GAAG,YAAY,GAAG,WAAW,CAAC;IACrD;;OAEG;IACH,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,CAAC;IAC9C,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,KAAK,GAAG,SAAS,CAAC;IAE3D,SAAS,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC;IAEzB,IAAI,CAAC,EAAE;QACL,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;CACH,CAAC;AAGF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC3B,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,IAAI,CAAC,EAAE,UAAU,CAAC;CACnB,CAAC;AAIF,eAAO,MAAM,YAAY,UAAW,iBAAiB,KAAG,WAAW,GAAG,SAKrE,CAAC"}
@@ -1,27 +1,27 @@
1
1
  import { Observable } from 'lib0/observable';
2
- import * as awarenessProtocol from 'y-protocols/awareness';
2
+ import * as YP from 'y-protocols/awareness';
3
3
  import { type Doc } from 'yjs';
4
4
  import { type Space } from '@dxos/react-client/echo';
5
- type Awareness = awarenessProtocol.Awareness;
5
+ import { type EditorModel, type UseTextModelProps } from './useTextModel';
6
+ export declare const createYjsModel: ({ identity, space, text }: UseTextModelProps) => EditorModel;
6
7
  /**
7
8
  * Yjs awareness provider on top of a DXOS space.
8
9
  */
9
- export declare class SpaceAwarenessProvider extends Observable<any> {
10
+ export declare class YAwarenessProvider extends Observable<any> {
10
11
  private readonly _space;
11
12
  private readonly _awareness;
12
13
  private readonly _clientId;
13
14
  private readonly _channel;
14
- constructor({ space, doc, channel, awareness }: {
15
+ constructor({ space, doc, channel, awareness, }: {
15
16
  space: Space;
16
17
  doc: Doc;
17
18
  channel: string;
18
- awareness?: Awareness;
19
+ awareness?: YP.Awareness;
19
20
  });
20
- get awareness(): Awareness;
21
+ get awareness(): YP.Awareness;
21
22
  private _handleAwarenessUpdate;
22
23
  private _handleSpaceMessage;
23
24
  private _readMessage;
24
25
  private _handleBeforeUnload;
25
26
  }
26
- export {};
27
- //# sourceMappingURL=space-provider.d.ts.map
27
+ //# sourceMappingURL=yjs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yjs.d.ts","sourceRoot":"","sources":["../../../../src/hooks/yjs.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAE5C,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,KAAK,CAAC;AAI/B,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAKrD,OAAO,EAAE,KAAK,WAAW,EAA0B,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGlG,eAAO,MAAM,cAAc,8BAA+B,iBAAiB,KAAG,WAyC7E,CAAC;AAOF;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,UAAU,CAAC,GAAG,CAAC;IACrD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAe;IAC1C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;gBAEtB,EACV,KAAK,EACL,GAAG,EACH,OAAO,EACP,SAAS,GACV,EAAE;QACD,KAAK,EAAE,KAAK,CAAC;QACb,GAAG,EAAE,GAAG,CAAC;QACT,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC;KAC1B;IA4BD,IAAI,SAAS,IAAI,EAAE,CAAC,SAAS,CAE5B;IAED,OAAO,CAAC,sBAAsB;IAS9B,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,YAAY;IAoCpB,OAAO,CAAC,mBAAmB;CAG5B"}
@@ -1,5 +1,8 @@
1
1
  export { TextKind } from '@dxos/protocols/proto/dxos/echo/model/text';
2
2
  export { Doc, YText, YXmlFragment } from '@dxos/text-model';
3
+ export { type Extension } from '@codemirror/state';
3
4
  export * from './components';
5
+ export * from './extensions';
4
6
  export * from './hooks';
7
+ export * from './themes';
5
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,4CAA4C,CAAC;AACtE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAE5D,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,4CAA4C,CAAC;AACtE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cursors.d.ts","sourceRoot":"","sources":["../../../../src/styles/cursors.ts"],"names":[],"mappings":"AAoBA,eAAO,MAAM,WAAW;;;CAAsD,CAAC"}
@@ -1,3 +1,4 @@
1
+ export * from './cursors';
1
2
  export * from './markdown';
2
3
  export * from './tokens';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/styles/index.ts"],"names":[],"mappings":"AAIA,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/styles/index.ts"],"names":[],"mappings":"AAIA,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC"}
@@ -1,10 +1,10 @@
1
1
  import { Observable } from 'lib0/observable';
2
- import * as awarenessProtocol from 'y-protocols/awareness';
2
+ import * as YP from 'y-protocols/awareness';
3
3
  import { Doc } from 'yjs';
4
4
  import { Event } from '@dxos/async';
5
5
  import { TextKind } from '@dxos/protocols/proto/dxos/echo/model/text';
6
6
  import { type EditorModel } from '../hooks';
7
- type Awareness = awarenessProtocol.Awareness;
7
+ type Awareness = YP.Awareness;
8
8
  /**
9
9
  * Yjs awareness provider in-memory.
10
10
  */
@@ -1 +1 @@
1
- {"version":3,"file":"replicator.d.ts","sourceRoot":"","sources":["../../../../src/testing/replicator.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,KAAK,iBAAiB,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,OAAO,EAAE,QAAQ,EAAE,MAAM,4CAA4C,CAAC;AAEtE,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AAEzD,KAAK,SAAS,GAAG,iBAAiB,CAAC,SAAS,CAAC;AAM7C;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,UAAU,CAAC,GAAG,CAAC;IACpD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoB;IAClD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAM;gBAEf,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE;QAAE,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;QAAC,GAAG,EAAE,GAAG,CAAC;QAAC,SAAS,CAAC,EAAE,SAAS,CAAA;KAAE;IA+BtG,IAAI,SAAS,IAAI,SAAS,CAEzB;IAED,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,sBAAsB;IAY9B,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,YAAY;IA0CpB,OAAO,CAAC,mBAAmB;CAG5B;AAED;;GAEG;AACH,qBAAa,UAAU;IAIT,OAAO,CAAC,QAAQ,CAAC,KAAK;IAHlC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IACnD,OAAO,CAAC,MAAM,CAAqB;gBAEN,KAAK,EAAE,QAAQ;IAE5C,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE;IAI7B,UAAU,OAAQ,MAAM,QAAO,GAAG,KAAe,WAAW,CAqB1D;CACH;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,EAAE,UAAU,CAAC;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,CAAC,EAAE,GAAG,CAAC;CACX,CAAC;AAEF,eAAO,MAAM,WAAW,4BAA6B,kBAAkB,KAAG,WAEzE,CAAC"}
1
+ {"version":3,"file":"replicator.d.ts","sourceRoot":"","sources":["../../../../src/testing/replicator.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAE5C,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,OAAO,EAAE,QAAQ,EAAE,MAAM,4CAA4C,CAAC;AAEtE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AAG5C,KAAK,SAAS,GAAG,EAAE,CAAC,SAAS,CAAC;AAM9B;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,UAAU,CAAC,GAAG,CAAC;IACpD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoB;IAClD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAM;gBAEf,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE;QAAE,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;QAAC,GAAG,EAAE,GAAG,CAAC;QAAC,SAAS,CAAC,EAAE,SAAS,CAAA;KAAE;IA4BtG,IAAI,SAAS,IAAI,SAAS,CAEzB;IAED,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,sBAAsB;IAS9B,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,YAAY;IA0CpB,OAAO,CAAC,mBAAmB;CAG5B;AAED;;GAEG;AACH,qBAAa,UAAU;IAIT,OAAO,CAAC,QAAQ,CAAC,KAAK;IAHlC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IACnD,OAAO,CAAC,MAAM,CAAqB;gBAEN,KAAK,EAAE,QAAQ;IAE5C,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE;IAI7B,UAAU,OAAQ,MAAM,QAAO,GAAG,KAAe,WAAW,CAoB1D;CACH;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,EAAE,UAAU,CAAC;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,CAAC,EAAE,GAAG,CAAC;CACX,CAAC;AAEF,eAAO,MAAM,WAAW,4BAA6B,kBAAkB,KAAG,WAEzE,CAAC"}
@@ -1,4 +1,4 @@
1
- import { type StyleSpec } from 'style-mod';
1
+ import { type ThemeStyles } from '../styles';
2
2
  /**
3
3
  * Minimal styles.
4
4
  * https://codemirror.net/examples/styling
@@ -10,16 +10,8 @@ import { type StyleSpec } from 'style-mod';
10
10
  * NOTE: Use one of '&', '&light', and '&dark' prefix to scope instance.
11
11
  * NOTE: `light` and `dark` selectors are preprocessed by CodeMirror and can only be in the base theme.
12
12
  */
13
- export declare const defaultTheme: {
14
- [selector: string]: StyleSpec;
15
- };
16
- export declare const textTheme: {
17
- [selector: string]: StyleSpec;
18
- };
19
- export declare const markdownTheme: {
20
- [selector: string]: StyleSpec;
21
- };
22
- export declare const codeTheme: {
23
- [selector: string]: StyleSpec;
24
- };
13
+ export declare const defaultTheme: ThemeStyles;
14
+ export declare const textTheme: ThemeStyles;
15
+ export declare const markdownTheme: ThemeStyles;
16
+ export declare const codeTheme: ThemeStyles;
25
17
  //# sourceMappingURL=default.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../../../src/themes/default.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,WAAW,EAAU,MAAM,WAAW,CAAC;AAKrD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,YAAY,EAAE,WA8P1B,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,WAOvB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,WAK3B,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,WAOvB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/themes/index.ts"],"names":[],"mappings":"AAIA,cAAc,WAAW,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { Facet } from '@codemirror/state';
2
+ /**
3
+ * Converts indexes into the text document into stable peer-independent cursors.
4
+ *
5
+ * See:
6
+ * - https://automerge.org/automerge/api-docs/js/functions/next.getCursor.html
7
+ * - https://github.com/yjs/yjs?tab=readme-ov-file#relative-positions
8
+ *
9
+ * @param {assoc} number Negative values will associate the cursor with the previous character
10
+ * while positive - with the next one.
11
+ */
12
+ export interface CursorConverter {
13
+ toCursor(position: number, assoc?: -1 | 1 | undefined): string;
14
+ fromCursor(cursor: string): number;
15
+ }
16
+ export declare const CursorConverter: Facet<CursorConverter, CursorConverter>;
17
+ //# sourceMappingURL=cursor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cursor.d.ts","sourceRoot":"","sources":["../../../../src/util/cursor.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C;;;;;;;;;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,eAAO,MAAM,eAAe,yCAE1B,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './cursor';
2
+ export * from './util';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/util/index.ts"],"names":[],"mappings":"AAIA,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * CodeMirror callbacks swallow errors so wrap handlers.
3
+ */
4
+ export declare const callbackWrapper: <T extends Function>(fn: T) => T;
5
+ //# sourceMappingURL=util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../src/util/util.ts"],"names":[],"mappings":"AAMA;;GAEG;AAEH,eAAO,MAAM,eAAe,kCAOR,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/react-ui-editor",
3
- "version": "0.3.10",
3
+ "version": "0.3.11-main.008b7c6",
4
4
  "description": "Document editing experience within a DXOS shell.",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -32,24 +32,26 @@
32
32
  "lib0": "^0.2.65",
33
33
  "lodash.defaultsdeep": "^4.6.1",
34
34
  "lodash.get": "^4.4.2",
35
+ "lodash.pick": "^4.4.0",
35
36
  "lodash.sortby": "^4.7.0",
36
37
  "style-mod": "^4.1.0",
37
38
  "y-codemirror.next": "^0.3.2",
38
39
  "y-protocols": "^1.0.5",
39
40
  "yjs": "^13.6.10",
40
- "@dxos/automerge": "0.3.10",
41
- "@dxos/async": "0.3.10",
42
- "@dxos/debug": "0.3.10",
43
- "@dxos/display-name": "0.3.10",
44
- "@dxos/invariant": "0.3.10",
45
- "@dxos/echo-schema": "0.3.10",
46
- "@dxos/protocols": "0.3.10",
47
- "@dxos/react-async": "0.3.10",
48
- "@dxos/log": "0.3.10",
49
- "@dxos/react-ui": "0.3.10",
50
- "@dxos/react-ui-theme": "0.3.10",
51
- "@dxos/text-model": "0.3.10",
52
- "@dxos/util": "0.3.10"
41
+ "@dxos/automerge": "0.3.11-main.008b7c6",
42
+ "@dxos/async": "0.3.11-main.008b7c6",
43
+ "@dxos/context": "0.3.11-main.008b7c6",
44
+ "@dxos/display-name": "0.3.11-main.008b7c6",
45
+ "@dxos/debug": "0.3.11-main.008b7c6",
46
+ "@dxos/echo-schema": "0.3.11-main.008b7c6",
47
+ "@dxos/invariant": "0.3.11-main.008b7c6",
48
+ "@dxos/log": "0.3.11-main.008b7c6",
49
+ "@dxos/react-async": "0.3.11-main.008b7c6",
50
+ "@dxos/protocols": "0.3.11-main.008b7c6",
51
+ "@dxos/react-ui": "0.3.11-main.008b7c6",
52
+ "@dxos/react-ui-theme": "0.3.11-main.008b7c6",
53
+ "@dxos/util": "0.3.11-main.008b7c6",
54
+ "@dxos/text-model": "0.3.11-main.008b7c6"
53
55
  },
54
56
  "devDependencies": {
55
57
  "@automerge/automerge-repo-network-broadcastchannel": "^1.0.19",
@@ -58,22 +60,25 @@
58
60
  "@preact/signals-react": "^1.3.6",
59
61
  "@types/lodash.defaultsdeep": "^4.6.6",
60
62
  "@types/lodash.get": "^4.4.7",
63
+ "@types/lodash.pick": "^4.4.7",
61
64
  "@types/lodash.sortby": "^4.7.7",
62
65
  "@types/react": "^18.0.21",
63
66
  "@types/react-dom": "^18.0.6",
67
+ "deepsignal": "1.4.0-shallow.0",
64
68
  "react": "^18.2.0",
65
69
  "react-dom": "^18.2.0",
66
- "@dxos/config": "0.3.10",
67
- "@dxos/echo-typegen": "0.3.10",
68
- "@dxos/react-ui": "0.3.10",
69
- "@dxos/storybook-utils": "0.3.10",
70
- "@dxos/react-client": "0.3.10"
70
+ "@dxos/echo-signals": "0.3.11-main.008b7c6",
71
+ "@dxos/config": "0.3.11-main.008b7c6",
72
+ "@dxos/echo-typegen": "0.3.11-main.008b7c6",
73
+ "@dxos/react-client": "0.3.11-main.008b7c6",
74
+ "@dxos/react-ui": "0.3.11-main.008b7c6",
75
+ "@dxos/storybook-utils": "0.3.11-main.008b7c6"
71
76
  },
72
77
  "peerDependencies": {
73
78
  "@phosphor-icons/react": "^2.0.5",
74
79
  "react": "^18.2.0",
75
80
  "react-dom": "^18.2.0",
76
- "@dxos/react-client": "0.3.10"
81
+ "@dxos/react-client": "0.3.11-main.008b7c6"
77
82
  },
78
83
  "publishConfig": {
79
84
  "access": "public"