@dxos/react-ui-editor 0.3.11-main.bd26370 → 0.3.11-main.fbbdc2a

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 (203) hide show
  1. package/dist/lib/browser/index.mjs +1541 -1062
  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 +0 -3
  5. package/dist/types/src/components/TextEditor/MarkdownEditor.stories.d.ts.map +1 -1
  6. package/dist/types/src/components/TextEditor/TextEditor.d.ts +2 -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 -1
  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 → extensions}/automerge/semaphore.d.ts +4 -4
  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.map +1 -0
  31. package/dist/types/src/extensions/awareness.d.ts +46 -0
  32. package/dist/types/src/extensions/awareness.d.ts.map +1 -0
  33. package/dist/types/src/extensions/basic.d.ts.map +1 -0
  34. package/dist/types/src/extensions/blast.d.ts.map +1 -0
  35. package/dist/types/src/extensions/code.d.ts.map +1 -0
  36. package/dist/types/src/{components/TextEditor/extensions → extensions}/comments.d.ts +4 -2
  37. package/dist/types/src/extensions/comments.d.ts.map +1 -0
  38. package/dist/types/src/extensions/hr.d.ts.map +1 -0
  39. package/dist/types/src/extensions/image.d.ts.map +1 -0
  40. package/dist/types/src/{components/TextEditor/extensions → extensions}/index.d.ts +3 -1
  41. package/dist/types/src/extensions/index.d.ts.map +1 -0
  42. package/dist/types/src/{components/TextEditor/extensions → extensions}/link.d.ts +1 -0
  43. package/dist/types/src/extensions/link.d.ts.map +1 -0
  44. package/dist/types/src/extensions/listener.d.ts +10 -0
  45. package/dist/types/src/extensions/listener.d.ts.map +1 -0
  46. package/dist/types/src/extensions/markdown/bundle.d.ts.map +1 -0
  47. package/dist/types/src/extensions/markdown/highlight.d.ts.map +1 -0
  48. package/dist/types/src/extensions/markdown/index.d.ts.map +1 -0
  49. package/dist/types/src/extensions/mention.d.ts.map +1 -0
  50. package/dist/types/src/extensions/mermaid.d.ts.map +1 -0
  51. package/dist/types/src/extensions/table.d.ts.map +1 -0
  52. package/dist/types/src/extensions/tasklist.d.ts.map +1 -0
  53. package/dist/types/src/extensions/typewriter.d.ts.map +1 -0
  54. package/dist/types/src/extensions/yjs/cursor.d.ts +4 -0
  55. package/dist/types/src/extensions/yjs/cursor.d.ts.map +1 -0
  56. package/dist/types/src/extensions/yjs/index.d.ts +2 -0
  57. package/dist/types/src/extensions/yjs/index.d.ts.map +1 -0
  58. package/dist/types/src/extensions/yjs/yjs.d.ts +4 -0
  59. package/dist/types/src/extensions/yjs/yjs.d.ts.map +1 -0
  60. package/dist/types/src/extensions/yjs/yjs.test.d.ts.map +1 -0
  61. package/dist/types/src/hooks/automerge.d.ts +3 -0
  62. package/dist/types/src/hooks/automerge.d.ts.map +1 -0
  63. package/dist/types/src/hooks/awareness-provider.d.ts +28 -0
  64. package/dist/types/src/hooks/awareness-provider.d.ts.map +1 -0
  65. package/dist/types/src/hooks/index.d.ts +2 -0
  66. package/dist/types/src/hooks/index.d.ts.map +1 -1
  67. package/dist/types/src/hooks/useTextModel.d.ts +9 -8
  68. package/dist/types/src/hooks/useTextModel.d.ts.map +1 -1
  69. package/dist/types/src/hooks/{yjs/space-provider.d.ts → yjs.d.ts} +8 -8
  70. package/dist/types/src/hooks/yjs.d.ts.map +1 -0
  71. package/dist/types/src/index.d.ts +2 -0
  72. package/dist/types/src/index.d.ts.map +1 -1
  73. package/dist/types/src/styles/cursors.d.ts.map +1 -0
  74. package/dist/types/src/styles/index.d.ts +1 -0
  75. package/dist/types/src/styles/index.d.ts.map +1 -1
  76. package/dist/types/src/testing/replicator.d.ts +2 -2
  77. package/dist/types/src/testing/replicator.d.ts.map +1 -1
  78. package/dist/types/src/{components/TextEditor/themes → themes}/default.d.ts +1 -1
  79. package/dist/types/src/themes/default.d.ts.map +1 -0
  80. package/dist/types/src/themes/index.d.ts.map +1 -0
  81. package/dist/types/src/util/cursor.d.ts +17 -0
  82. package/dist/types/src/util/cursor.d.ts.map +1 -0
  83. package/dist/types/src/util/index.d.ts +3 -0
  84. package/dist/types/src/util/index.d.ts.map +1 -0
  85. package/dist/types/src/util/util.d.ts.map +1 -0
  86. package/package.json +22 -21
  87. package/src/components/TextEditor/MarkdownEditor.stories.tsx +11 -13
  88. package/src/components/TextEditor/TextEditor.stories.tsx +14 -1
  89. package/src/components/TextEditor/TextEditor.tsx +7 -7
  90. package/src/{hooks/automerge → components/TextEditor}/automerge.stories.tsx +66 -6
  91. package/src/components/TextEditor/codemirror.stories.ts +3 -2
  92. package/src/components/TextEditor/index.ts +0 -3
  93. package/src/{hooks/yjs → components/TextEditor}/yjs.stories.tsx +1 -1
  94. package/src/extensions/automerge/automerge.ts +94 -0
  95. package/src/extensions/automerge/cursor.ts +51 -0
  96. package/src/extensions/automerge/defs.ts +62 -0
  97. package/src/extensions/automerge/index.ts +6 -0
  98. package/src/{hooks → extensions}/automerge/semaphore.ts +14 -12
  99. package/src/{hooks → extensions}/automerge/update-automerge.ts +5 -6
  100. package/src/{hooks → extensions}/automerge/update-codemirror.ts +13 -5
  101. package/src/extensions/awareness.ts +316 -0
  102. package/src/{components/TextEditor/extensions → extensions}/code.ts +1 -1
  103. package/src/{components/TextEditor/extensions → extensions}/comments.ts +52 -19
  104. package/src/{components/TextEditor/extensions → extensions}/hr.ts +1 -1
  105. package/src/{components/TextEditor/extensions → extensions}/index.ts +3 -1
  106. package/src/{components/TextEditor/extensions → extensions}/link.ts +66 -10
  107. package/src/extensions/listener.ts +35 -0
  108. package/src/{components/TextEditor/extensions → extensions}/markdown/highlight.ts +1 -1
  109. package/src/{components/TextEditor/extensions → extensions}/typewriter.ts +1 -1
  110. package/src/extensions/yjs/cursor.ts +21 -0
  111. package/src/extensions/yjs/index.ts +5 -0
  112. package/src/{hooks → extensions}/yjs/yjs.test.ts +1 -25
  113. package/src/extensions/yjs/yjs.ts +16 -0
  114. package/src/hooks/automerge.ts +52 -0
  115. package/src/hooks/awareness-provider.ts +120 -0
  116. package/src/hooks/index.ts +2 -0
  117. package/src/hooks/useTextModel.ts +20 -93
  118. package/src/hooks/{yjs/space-provider.ts → yjs.ts} +71 -19
  119. package/src/index.ts +2 -0
  120. package/src/styles/index.ts +1 -0
  121. package/src/testing/replicator.ts +10 -15
  122. package/src/{components/TextEditor/themes → themes}/default.ts +1 -1
  123. package/src/util/cursor.ts +29 -0
  124. package/src/util/index.ts +6 -0
  125. package/dist/types/src/components/TextEditor/extensions/autocomplete.d.ts.map +0 -1
  126. package/dist/types/src/components/TextEditor/extensions/basic.d.ts.map +0 -1
  127. package/dist/types/src/components/TextEditor/extensions/blast.d.ts.map +0 -1
  128. package/dist/types/src/components/TextEditor/extensions/code.d.ts.map +0 -1
  129. package/dist/types/src/components/TextEditor/extensions/comments.d.ts.map +0 -1
  130. package/dist/types/src/components/TextEditor/extensions/hr.d.ts.map +0 -1
  131. package/dist/types/src/components/TextEditor/extensions/image.d.ts.map +0 -1
  132. package/dist/types/src/components/TextEditor/extensions/index.d.ts.map +0 -1
  133. package/dist/types/src/components/TextEditor/extensions/link.d.ts.map +0 -1
  134. package/dist/types/src/components/TextEditor/extensions/listener.d.ts +0 -9
  135. package/dist/types/src/components/TextEditor/extensions/listener.d.ts.map +0 -1
  136. package/dist/types/src/components/TextEditor/extensions/markdown/bundle.d.ts.map +0 -1
  137. package/dist/types/src/components/TextEditor/extensions/markdown/highlight.d.ts.map +0 -1
  138. package/dist/types/src/components/TextEditor/extensions/markdown/index.d.ts.map +0 -1
  139. package/dist/types/src/components/TextEditor/extensions/mention.d.ts.map +0 -1
  140. package/dist/types/src/components/TextEditor/extensions/mermaid.d.ts.map +0 -1
  141. package/dist/types/src/components/TextEditor/extensions/table.d.ts.map +0 -1
  142. package/dist/types/src/components/TextEditor/extensions/tasklist.d.ts.map +0 -1
  143. package/dist/types/src/components/TextEditor/extensions/tooltip.d.ts +0 -12
  144. package/dist/types/src/components/TextEditor/extensions/tooltip.d.ts.map +0 -1
  145. package/dist/types/src/components/TextEditor/extensions/typewriter.d.ts.map +0 -1
  146. package/dist/types/src/components/TextEditor/extensions/util.d.ts.map +0 -1
  147. package/dist/types/src/components/TextEditor/themes/default.d.ts.map +0 -1
  148. package/dist/types/src/components/TextEditor/themes/index.d.ts.map +0 -1
  149. package/dist/types/src/hooks/automerge/automerge.stories.d.ts.map +0 -1
  150. package/dist/types/src/hooks/automerge/handle.d.ts +0 -9
  151. package/dist/types/src/hooks/automerge/handle.d.ts.map +0 -1
  152. package/dist/types/src/hooks/automerge/index.d.ts +0 -3
  153. package/dist/types/src/hooks/automerge/index.d.ts.map +0 -1
  154. package/dist/types/src/hooks/automerge/plugin.d.ts +0 -26
  155. package/dist/types/src/hooks/automerge/plugin.d.ts.map +0 -1
  156. package/dist/types/src/hooks/automerge/semaphore.d.ts.map +0 -1
  157. package/dist/types/src/hooks/automerge/update-automerge.d.ts +0 -6
  158. package/dist/types/src/hooks/automerge/update-automerge.d.ts.map +0 -1
  159. package/dist/types/src/hooks/automerge/update-codemirror.d.ts.map +0 -1
  160. package/dist/types/src/hooks/yjs/cursors.d.ts.map +0 -1
  161. package/dist/types/src/hooks/yjs/index.d.ts +0 -3
  162. package/dist/types/src/hooks/yjs/index.d.ts.map +0 -1
  163. package/dist/types/src/hooks/yjs/space-provider.d.ts.map +0 -1
  164. package/dist/types/src/hooks/yjs/yjs.stories.d.ts.map +0 -1
  165. package/dist/types/src/hooks/yjs/yjs.test.d.ts.map +0 -1
  166. package/src/components/TextEditor/extensions/listener.ts +0 -23
  167. package/src/components/TextEditor/extensions/tooltip.ts +0 -61
  168. package/src/hooks/automerge/handle.ts +0 -14
  169. package/src/hooks/automerge/index.ts +0 -6
  170. package/src/hooks/automerge/plugin.ts +0 -134
  171. package/src/hooks/yjs/index.ts +0 -6
  172. /package/dist/types/src/{components/TextEditor/extensions → extensions}/autocomplete.d.ts +0 -0
  173. /package/dist/types/src/{hooks → extensions}/automerge/update-codemirror.d.ts +0 -0
  174. /package/dist/types/src/{components/TextEditor/extensions → extensions}/basic.d.ts +0 -0
  175. /package/dist/types/src/{components/TextEditor/extensions → extensions}/blast.d.ts +0 -0
  176. /package/dist/types/src/{components/TextEditor/extensions → extensions}/code.d.ts +0 -0
  177. /package/dist/types/src/{components/TextEditor/extensions → extensions}/hr.d.ts +0 -0
  178. /package/dist/types/src/{components/TextEditor/extensions → extensions}/image.d.ts +0 -0
  179. /package/dist/types/src/{components/TextEditor/extensions → extensions}/markdown/bundle.d.ts +0 -0
  180. /package/dist/types/src/{components/TextEditor/extensions → extensions}/markdown/highlight.d.ts +0 -0
  181. /package/dist/types/src/{components/TextEditor/extensions → extensions}/markdown/index.d.ts +0 -0
  182. /package/dist/types/src/{components/TextEditor/extensions → extensions}/mention.d.ts +0 -0
  183. /package/dist/types/src/{components/TextEditor/extensions → extensions}/mermaid.d.ts +0 -0
  184. /package/dist/types/src/{components/TextEditor/extensions → extensions}/table.d.ts +0 -0
  185. /package/dist/types/src/{components/TextEditor/extensions → extensions}/tasklist.d.ts +0 -0
  186. /package/dist/types/src/{components/TextEditor/extensions → extensions}/typewriter.d.ts +0 -0
  187. /package/dist/types/src/{hooks → extensions}/yjs/yjs.test.d.ts +0 -0
  188. /package/dist/types/src/{hooks/yjs → styles}/cursors.d.ts +0 -0
  189. /package/dist/types/src/{components/TextEditor/themes → themes}/index.d.ts +0 -0
  190. /package/dist/types/src/{components/TextEditor/extensions → util}/util.d.ts +0 -0
  191. /package/src/{components/TextEditor/extensions → extensions}/autocomplete.ts +0 -0
  192. /package/src/{components/TextEditor/extensions → extensions}/basic.ts +0 -0
  193. /package/src/{components/TextEditor/extensions → extensions}/blast.ts +0 -0
  194. /package/src/{components/TextEditor/extensions → extensions}/image.ts +0 -0
  195. /package/src/{components/TextEditor/extensions → extensions}/markdown/bundle.ts +0 -0
  196. /package/src/{components/TextEditor/extensions → extensions}/markdown/index.ts +0 -0
  197. /package/src/{components/TextEditor/extensions → extensions}/mention.ts +0 -0
  198. /package/src/{components/TextEditor/extensions → extensions}/mermaid.ts +0 -0
  199. /package/src/{components/TextEditor/extensions → extensions}/table.ts +0 -0
  200. /package/src/{components/TextEditor/extensions → extensions}/tasklist.ts +0 -0
  201. /package/src/{hooks/yjs → styles}/cursors.ts +0 -0
  202. /package/src/{components/TextEditor/themes → themes}/index.ts +0 -0
  203. /package/src/{components/TextEditor/extensions → util}/util.ts +0 -0
@@ -0,0 +1,29 @@
1
+ //
2
+ // Copyright 2024 DXOS.org
3
+ //
4
+
5
+ import { Facet } from '@codemirror/state';
6
+
7
+ /**
8
+ * Converts indexes into the text document into stable peer-independent cursors.
9
+ *
10
+ * See:
11
+ * - https://automerge.org/automerge/api-docs/js/functions/next.getCursor.html
12
+ * - https://github.com/yjs/yjs?tab=readme-ov-file#relative-positions
13
+ *
14
+ * @param {assoc} number Negative values will associate the cursor with the previous character
15
+ * while positive - with the next one.
16
+ */
17
+ export interface CursorConverter {
18
+ toCursor(position: number, assoc?: -1 | 1 | undefined): string;
19
+ fromCursor(cursor: string): number;
20
+ }
21
+
22
+ const DEFAULT_CURSOR_CONVERTER: CursorConverter = {
23
+ toCursor: (position) => position.toString(),
24
+ fromCursor: (cursor) => parseInt(cursor),
25
+ };
26
+
27
+ export const CursorConverter = Facet.define<CursorConverter, CursorConverter>({
28
+ combine: (providers) => providers[0] ?? DEFAULT_CURSOR_CONVERTER,
29
+ });
@@ -0,0 +1,6 @@
1
+ //
2
+ // Copyright 2024 DXOS.org
3
+ //
4
+
5
+ export * from './cursor';
6
+ export * from './util';
@@ -1 +0,0 @@
1
- {"version":3,"file":"autocomplete.d.ts","sourceRoot":"","sources":["../../../../../../src/components/TextEditor/extensions/autocomplete.ts"],"names":[],"mappings":"AAQA,OAAO,EAGL,KAAK,UAAU,EAGhB,MAAM,0BAA0B,CAAC;AAGlC,MAAM,MAAM,kBAAkB,GAAG,UAAU,CAAC;AAE5C,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,UAAU,EAAE,CAAC;CAC1C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,iBAAkB,mBAAmB,4CAgC7D,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"basic.d.ts","sourceRoot":"","sources":["../../../../../../src/components/TextEditor/extensions/basic.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAInD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,WAAW,uDAAwD,kBAAkB,KAAG,SAAS,EAa5E,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"blast.d.ts","sourceRoot":"","sources":["../../../../../../src/components/TextEditor/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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"code.d.ts","sourceRoot":"","sources":["../../../../../../src/components/TextEditor/extensions/code.ts"],"names":[],"mappings":"AAuDA,eAAO,MAAM,IAAI,+CA2ChB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"comments.d.ts","sourceRoot":"","sources":["../../../../../../src/components/TextEditor/extensions/comments.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAA2B,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAWL,KAAK,IAAI,EACV,MAAM,kBAAkB,CAAC;AAS1B,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAc,KAAK,KAAK,EAAE,MAAM,gBAAgB,CAAC;AA8B7F,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,eAAe;WAA+B,WAAW;cAAY,YAAY,EAAE;EAAK,CAAC;AA+FtG,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,SA+LxD,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"hr.d.ts","sourceRoot":"","sources":["../../../../../../src/components/TextEditor/extensions/hr.ts"],"names":[],"mappings":"AAmDA,eAAO,MAAM,EAAE,+CAsBd,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../../../../../../src/components/TextEditor/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 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/TextEditor/extensions/index.ts"],"names":[],"mappings":"AAIA,cAAc,gBAAgB,CAAC;AAC/B,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,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../../../../../src/components/TextEditor/extensions/link.ts"],"names":[],"mappings":"AAMA,OAAO,EAEL,KAAK,SAAS,EAKf,MAAM,mBAAmB,CAAC;AAO3B,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,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,SAMhD,CAAC"}
@@ -1,9 +0,0 @@
1
- import { StateField } from '@codemirror/state';
2
- export type ListenerOptions = {
3
- onChange: (text: string) => void;
4
- };
5
- /**
6
- * Based on https://github.com/codemirror/dev/issues/44#issuecomment-789093799
7
- */
8
- export declare const listener: ({ onChange }: ListenerOptions) => StateField<null>;
9
- //# sourceMappingURL=listener.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"listener.d.ts","sourceRoot":"","sources":["../../../../../../src/components/TextEditor/extensions/listener.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,MAAM,MAAM,eAAe,GAAG;IAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,CAAC;AAEnE;;GAEG;AACH,eAAO,MAAM,QAAQ,iBAAkB,eAAe,qBAWrD,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/TextEditor/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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"highlight.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/TextEditor/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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/TextEditor/extensions/markdown/index.ts"],"names":[],"mappings":"AAIA,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mention.d.ts","sourceRoot":"","sources":["../../../../../../src/components/TextEditor/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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mermaid.d.ts","sourceRoot":"","sources":["../../../../../../src/components/TextEditor/extensions/mermaid.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAInD,eAAO,MAAM,OAAO,QAAO,SAE1B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../../../../src/components/TextEditor/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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"tasklist.d.ts","sourceRoot":"","sources":["../../../../../../src/components/TextEditor/extensions/tasklist.ts"],"names":[],"mappings":"AA+DA,MAAM,MAAM,eAAe,GAAG,EAAE,CAAC;AAEjC,eAAO,MAAM,QAAQ,aAAa,eAAe,4CAuDhD,CAAC"}
@@ -1,12 +0,0 @@
1
- import { type Extension } from '@codemirror/state';
2
- export type TooltipOptions = {
3
- onHover: (el: Element, url: string) => void;
4
- regexp?: RegExp;
5
- };
6
- /**
7
- * https://codemirror.net/examples/tooltip
8
- * https://codemirror.net/docs/ref/#view.hoverTooltip
9
- * https://github.com/codemirror/view/blob/main/src/tooltip.ts
10
- */
11
- export declare const tooltip: ({ onHover, regexp }: TooltipOptions) => Extension;
12
- //# sourceMappingURL=tooltip.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tooltip.d.ts","sourceRoot":"","sources":["../../../../../../src/components/TextEditor/extensions/tooltip.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAOnD,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,OAAO,wBAA8C,cAAc,KAAG,SAuC/E,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"typewriter.d.ts","sourceRoot":"","sources":["../../../../../../src/components/TextEditor/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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../../../src/components/TextEditor/extensions/util.ts"],"names":[],"mappings":"AAMA;;GAEG;AAEH,eAAO,MAAM,eAAe,kCAOR,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../../../../../src/components/TextEditor/themes/default.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,WAAW,EAAU,MAAM,iBAAiB,CAAC;AAK3D;;;;;;;;;;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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/TextEditor/themes/index.ts"],"names":[],"mappings":"AAIA,cAAc,WAAW,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"automerge.stories.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/automerge/automerge.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,uBAAuB,CAAC;AAQ/B,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAGtD,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;AAG3C,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,EAAE,IAAI,EAAE,CAAC;CACd,CAAC;;;;;;AA+DF,wBAIE;AAEF,eAAO,MAAM,OAAO,IAAK,CAAC"}
@@ -1,9 +0,0 @@
1
- import type * as A from '@dxos/automerge/automerge';
2
- export type IDocHandle<T = any> = {
3
- docSync(): A.Doc<T> | undefined;
4
- change(callback: A.ChangeFn<T>, options?: A.ChangeOptions<T>): void;
5
- changeAt(heads: A.Heads, callback: A.ChangeFn<T>, options?: A.ChangeOptions<T>): string[] | undefined;
6
- addListener(event: 'change', listener: () => void): void;
7
- removeListener(event: 'change', listener: () => void): void;
8
- };
9
- //# sourceMappingURL=handle.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handle.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/automerge/handle.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,CAAC,MAAM,2BAA2B,CAAC;AAEpD,MAAM,MAAM,UAAU,CAAC,CAAC,GAAG,GAAG,IAAI;IAChC,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAChC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACpE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;IAEtG,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"}
@@ -1,3 +0,0 @@
1
- export { type IDocHandle } from './handle';
2
- export { automergePlugin, type AutomergePlugin } from './plugin';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/automerge/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,KAAK,eAAe,EAAE,MAAM,UAAU,CAAC"}
@@ -1,26 +0,0 @@
1
- import { type EditorState, type Extension, StateEffect, StateField, type Transaction, type TransactionSpec } from '@codemirror/state';
2
- import * as automerge from '@dxos/automerge/automerge';
3
- import { type Heads, type Prop } from '@dxos/automerge/automerge';
4
- import { type IDocHandle } from './handle';
5
- export type Value = {
6
- lastHeads: Heads;
7
- path: Prop[];
8
- unreconciledTransactions: Transaction[];
9
- };
10
- type UpdateHeads = {
11
- newHeads: Heads;
12
- };
13
- export declare const effectType: import("@codemirror/state").StateEffectType<UpdateHeads>;
14
- export declare const updateHeads: (newHeads: automerge.next.Heads) => StateEffect<UpdateHeads>;
15
- export declare const getLastHeads: (state: EditorState, field: Field) => automerge.next.Heads;
16
- export declare const getPath: (state: EditorState, field: Field) => Prop[];
17
- export type Field = StateField<Value>;
18
- export type AutomergePlugin = {
19
- extension: Extension;
20
- };
21
- export declare const automergePlugin: (handle: IDocHandle, path: Prop[]) => AutomergePlugin;
22
- export declare const reconcileAnnotationType: import("@codemirror/state").AnnotationType<unknown>;
23
- export declare const isReconcileTx: (tr: Transaction) => boolean;
24
- export declare const makeReconcile: (tr: TransactionSpec) => void;
25
- export {};
26
- //# sourceMappingURL=plugin.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/automerge/plugin.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,SAAS,EAEd,WAAW,EACX,UAAU,EACV,KAAK,WAAW,EAChB,KAAK,eAAe,EACrB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,KAAK,SAAS,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAElE,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;AAG3C,MAAM,MAAM,KAAK,GAAG;IAClB,SAAS,EAAE,KAAK,CAAC;IACjB,IAAI,EAAE,IAAI,EAAE,CAAC;IACb,wBAAwB,EAAE,WAAW,EAAE,CAAC;CACzC,CAAC;AAEF,KAAK,WAAW,GAAG;IACjB,QAAQ,EAAE,KAAK,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,UAAU,0DAAsC,CAAC;AAE9D,eAAO,MAAM,WAAW,sCAAsB,YAAY,WAAW,CAAgC,CAAC;AAEtG,eAAO,MAAM,YAAY,UAAW,WAAW,uCAAsD,CAAC;AAEtG,eAAO,MAAM,OAAO,UAAW,WAAW,mBAAiB,IAAI,EAA6B,CAAC;AAE7F,MAAM,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;AAMtC,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,EAAE,SAAS,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,eAAe,WAAY,UAAU,QAAQ,IAAI,EAAE,KAAG,eA+DlE,CAAC;AAEF,eAAO,MAAM,uBAAuB,qDAA+B,CAAC;AAEpE,eAAO,MAAM,aAAa,OAAQ,WAAW,KAAG,OAAmD,CAAC;AAEpG,eAAO,MAAM,aAAa,OAAQ,eAAe,SAchD,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"semaphore.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/automerge/semaphore.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAE9D,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,KAAK,KAAK,EAA8E,MAAM,UAAU,CAAC;AAIlH,KAAK,GAAG,CAAC,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC/B,KAAK,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;AAE7B,KAAK,QAAQ,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,KAAK,KAAK,GAAG,SAAS,CAAC;AAE3F;;GAEG;AACH,qBAAa,cAAc;IACzB,MAAM,EAAG,KAAK,CAAC;IACf,YAAY,UAAS;IACrB,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAM;gBAEjB,KAAK,CAAC,EAAE,KAAK;IAMzB,SAAS,WAAY,UAAU,QAAQ,UAAU,UA0C/C;CACH"}
@@ -1,6 +0,0 @@
1
- import { type EditorState, type Transaction } from '@codemirror/state';
2
- import { type Heads } from '@dxos/automerge/automerge';
3
- import { type IDocHandle } from './handle';
4
- import { type Field } from './plugin';
5
- export declare const updateAutomerge: (field: Field, handle: IDocHandle, transactions: Transaction[], state: EditorState) => Heads | undefined;
6
- //# sourceMappingURL=update-automerge.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"update-automerge.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/automerge/update-automerge.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,WAAW,EAAa,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAElF,OAAO,EAAc,KAAK,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAEnE,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,UAAU,CAAC;AAEtC,eAAO,MAAM,eAAe,yBAElB,UAAU,gBACJ,WAAW,EAAE,SACpB,WAAW,KACjB,KAAK,GAAG,SAyBV,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"update-codemirror.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"cursors.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/yjs/cursors.ts"],"names":[],"mappings":"AAoBA,eAAO,MAAM,WAAW;;;CAAsD,CAAC"}
@@ -1,3 +0,0 @@
1
- export * from './cursors';
2
- export * from './space-provider';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/yjs/index.ts"],"names":[],"mappings":"AAIA,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"space-provider.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/yjs/space-provider.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,iBAAiB,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,KAAK,CAAC;AAG/B,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAGrD,KAAK,SAAS,GAAG,iBAAiB,CAAC,SAAS,CAAC;AAO7C;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,UAAU,CAAC,GAAG,CAAC;IACzD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;gBAEtB,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,GAAG,EAAE,GAAG,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,SAAS,CAAA;KAAE;IA+BlH,IAAI,SAAS,IAAI,SAAS,CAEzB;IAED,OAAO,CAAC,sBAAsB;IAY9B,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,YAAY;IAoCpB,OAAO,CAAC,mBAAmB;CAG5B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"yjs.stories.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/yjs/yjs.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,YAAY,CAAC;AAEpB,OAAO,KAAmB,MAAM,OAAO,CAAC;;;;;;AAWxC,wBAIE;AA+BF,eAAO,MAAM,OAAO;;CAGnB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"yjs.test.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/yjs/yjs.test.ts"],"names":[],"mappings":""}
@@ -1,23 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- //
4
-
5
- import { StateField } from '@codemirror/state';
6
-
7
- export type ListenerOptions = { onChange: (text: string) => void };
8
-
9
- /**
10
- * Based on https://github.com/codemirror/dev/issues/44#issuecomment-789093799
11
- */
12
- export const listener = ({ onChange }: ListenerOptions) => {
13
- return StateField.define({
14
- create: () => null,
15
- update: (_value, transaction) => {
16
- if (transaction.docChanged && onChange) {
17
- onChange(transaction.newDoc.toString());
18
- }
19
-
20
- return null;
21
- },
22
- });
23
- };
@@ -1,61 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- //
4
-
5
- import { type Extension } from '@codemirror/state';
6
- import { hoverTooltip } from '@codemirror/view';
7
-
8
- import { tooltipContent } from '@dxos/react-ui-theme';
9
-
10
- const markdownLinkRegexp = /\[([^\]]+)]\(([^)]+)\)/;
11
-
12
- export type TooltipOptions = {
13
- onHover: (el: Element, url: string) => void;
14
- regexp?: RegExp;
15
- };
16
-
17
- /**
18
- * https://codemirror.net/examples/tooltip
19
- * https://codemirror.net/docs/ref/#view.hoverTooltip
20
- * https://github.com/codemirror/view/blob/main/src/tooltip.ts
21
- */
22
- export const tooltip = ({ onHover, regexp = markdownLinkRegexp }: TooltipOptions): Extension =>
23
- hoverTooltip((view, pos) => {
24
- const { from, text } = view.state.doc.lineAt(pos);
25
- const p = pos - from;
26
-
27
- let idx = 0;
28
- let match;
29
- do {
30
- match = text.substring(idx).match(regexp);
31
- if (!match) {
32
- match = undefined;
33
- break;
34
- }
35
-
36
- idx = text.indexOf(match[0]);
37
- if (p >= idx && p < idx + match[0].length) {
38
- break;
39
- }
40
-
41
- idx += match[0].length;
42
- } while (true);
43
-
44
- if (!match) {
45
- return null;
46
- }
47
-
48
- const [, , url] = match ?? [];
49
-
50
- return {
51
- pos: idx + from,
52
- end: idx + from + match[0].length,
53
- above: true,
54
- create: () => {
55
- const el = document.createElement('div');
56
- el.className = tooltipContent({}, 'pli-2 plb-1');
57
- onHover(el, url);
58
- return { dom: el, offset: { x: 0, y: 4 } };
59
- },
60
- };
61
- });
@@ -1,14 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- //
4
-
5
- import type * as A from '@dxos/automerge/automerge';
6
-
7
- export type IDocHandle<T = any> = {
8
- docSync(): A.Doc<T> | undefined;
9
- change(callback: A.ChangeFn<T>, options?: A.ChangeOptions<T>): void;
10
- changeAt(heads: A.Heads, callback: A.ChangeFn<T>, options?: A.ChangeOptions<T>): string[] | undefined;
11
-
12
- addListener(event: 'change', listener: () => void): void;
13
- removeListener(event: 'change', listener: () => void): void;
14
- };
@@ -1,6 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- //
4
-
5
- export { type IDocHandle } from './handle';
6
- export { automergePlugin, type AutomergePlugin } from './plugin';
@@ -1,134 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- //
4
-
5
- import {
6
- Annotation,
7
- type EditorState,
8
- type Extension,
9
- Facet,
10
- StateEffect,
11
- StateField,
12
- type Transaction,
13
- type TransactionSpec,
14
- } from '@codemirror/state';
15
- import { ViewPlugin, type EditorView, type PluginValue, type ViewUpdate } from '@codemirror/view';
16
-
17
- import * as automerge from '@dxos/automerge/automerge';
18
- import { type Heads, type Prop } from '@dxos/automerge/automerge';
19
-
20
- import { type IDocHandle } from './handle';
21
- import { PatchSemaphore } from './semaphore';
22
-
23
- export type Value = {
24
- lastHeads: Heads;
25
- path: Prop[];
26
- unreconciledTransactions: Transaction[];
27
- };
28
-
29
- type UpdateHeads = {
30
- newHeads: Heads;
31
- };
32
-
33
- export const effectType = StateEffect.define<UpdateHeads>({});
34
-
35
- export const updateHeads = (newHeads: Heads): StateEffect<UpdateHeads> => effectType.of({ newHeads });
36
-
37
- export const getLastHeads = (state: EditorState, field: Field): Heads => state.field(field).lastHeads;
38
-
39
- export const getPath = (state: EditorState, field: Field): Prop[] => state.field(field).path;
40
-
41
- export type Field = StateField<Value>;
42
-
43
- const semaphoreFacet = Facet.define<PatchSemaphore, PatchSemaphore>({
44
- combine: (values) => values.at(-1)!, // Take last.
45
- });
46
-
47
- export type AutomergePlugin = {
48
- extension: Extension;
49
- };
50
-
51
- export const automergePlugin = (handle: IDocHandle, path: Prop[]): AutomergePlugin => {
52
- const stateField: StateField<Value> = StateField.define({
53
- create: () => ({
54
- lastHeads: automerge.getHeads(handle.docSync()!),
55
- unreconciledTransactions: [],
56
- path: path.slice(),
57
- }),
58
- update: (value: Value, tr: Transaction) => {
59
- const result: Value = {
60
- lastHeads: value.lastHeads,
61
- unreconciledTransactions: value.unreconciledTransactions.slice(),
62
- path: path.slice(),
63
- };
64
- let clearUnreconciled = false;
65
- for (const effect of tr.effects) {
66
- if (effect.is(effectType)) {
67
- result.lastHeads = effect.value.newHeads;
68
- clearUnreconciled = true;
69
- }
70
- }
71
- if (clearUnreconciled) {
72
- result.unreconciledTransactions = [];
73
- } else {
74
- if (!isReconcileTx(tr)) {
75
- result.unreconciledTransactions.push(tr);
76
- }
77
- }
78
- return result;
79
- },
80
- });
81
-
82
- const semaphore = new PatchSemaphore(stateField);
83
-
84
- const viewPlugin = ViewPlugin.fromClass(
85
- class AutomergeCodemirrorViewPlugin implements PluginValue {
86
- private _view: EditorView;
87
-
88
- constructor(view: EditorView) {
89
- this._view = view;
90
- handle.addListener('change', this._handleChange);
91
- }
92
-
93
- update(update: ViewUpdate) {
94
- if (update.transactions.length > 0 && update.transactions.some((t) => !isReconcileTx(t))) {
95
- queueMicrotask(() => {
96
- this._view.state.facet(semaphoreFacet).reconcile(handle, this._view);
97
- });
98
- }
99
- }
100
-
101
- destroy() {
102
- handle.addListener('change', this._handleChange);
103
- }
104
-
105
- private _handleChange = () => {
106
- this._view.state.facet(semaphoreFacet).reconcile(handle, this._view);
107
- };
108
- },
109
- );
110
-
111
- return {
112
- extension: [stateField, semaphoreFacet.of(semaphore), viewPlugin],
113
- };
114
- };
115
-
116
- export const reconcileAnnotationType = Annotation.define<unknown>();
117
-
118
- export const isReconcileTx = (tr: Transaction): boolean => !!tr.annotation(reconcileAnnotationType);
119
-
120
- export const makeReconcile = (tr: TransactionSpec) => {
121
- if (tr.annotations != null) {
122
- if (tr.annotations instanceof Array) {
123
- tr.annotations = [...tr.annotations, reconcileAnnotationType.of({})];
124
- } else {
125
- tr.annotations = [tr.annotations, reconcileAnnotationType.of({})];
126
- }
127
- } else {
128
- tr.annotations = [reconcileAnnotationType.of({})];
129
- }
130
- // return {
131
- // ...tr,
132
- // annotations: reconcileAnnotationType.of({})
133
- // }
134
- };
@@ -1,6 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- //
4
-
5
- export * from './cursors';
6
- export * from './space-provider';
File without changes