@dxos/ui-editor 0.9.1-staging.ee54ba693a → 0.11.0

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 (551) hide show
  1. package/dist/lib/chunk-diff.mjs +935 -0
  2. package/dist/lib/chunk-diff.mjs.map +1 -0
  3. package/dist/lib/headless.mjs +2 -0
  4. package/dist/lib/index.mjs +9937 -0
  5. package/dist/lib/index.mjs.map +1 -0
  6. package/dist/lib/types.mjs +18 -0
  7. package/dist/lib/types.mjs.map +1 -0
  8. package/dist/types/src/extensions/{bookmarks.d.ts → behavior/bookmarks.d.ts} +3 -0
  9. package/dist/types/src/extensions/behavior/bookmarks.d.ts.map +1 -0
  10. package/dist/types/src/extensions/behavior/dnd.d.ts.map +1 -0
  11. package/dist/types/src/extensions/behavior/index.d.ts +6 -0
  12. package/dist/types/src/extensions/behavior/index.d.ts.map +1 -0
  13. package/dist/types/src/extensions/{listener.d.ts → behavior/listener.d.ts} +3 -0
  14. package/dist/types/src/extensions/behavior/listener.d.ts.map +1 -0
  15. package/dist/types/src/extensions/{spacing.d.ts → behavior/spacing.d.ts} +3 -0
  16. package/dist/types/src/extensions/behavior/spacing.d.ts.map +1 -0
  17. package/dist/types/src/extensions/behavior/submit.d.ts.map +1 -0
  18. package/dist/types/src/extensions/collab/automerge/automerge.d.ts.map +1 -0
  19. package/dist/types/src/extensions/collab/automerge/automerge.test.d.ts.map +1 -0
  20. package/dist/types/src/extensions/{automerge → collab/automerge}/cursor.d.ts +1 -1
  21. package/dist/types/src/extensions/collab/automerge/cursor.d.ts.map +1 -0
  22. package/dist/types/src/extensions/{automerge → collab/automerge}/defs.d.ts +3 -1
  23. package/dist/types/src/extensions/collab/automerge/defs.d.ts.map +1 -0
  24. package/dist/types/src/extensions/collab/automerge/index.d.ts +3 -0
  25. package/dist/types/src/extensions/collab/automerge/index.d.ts.map +1 -0
  26. package/dist/types/src/extensions/collab/automerge/sync.d.ts.map +1 -0
  27. package/dist/types/src/extensions/{automerge → collab/automerge}/update-automerge.d.ts +4 -0
  28. package/dist/types/src/extensions/collab/automerge/update-automerge.d.ts.map +1 -0
  29. package/dist/types/src/extensions/{automerge → collab/automerge}/update-codemirror.d.ts +4 -0
  30. package/dist/types/src/extensions/collab/automerge/update-codemirror.d.ts.map +1 -0
  31. package/dist/types/src/extensions/collab/awareness/awareness-provider.d.ts.map +1 -0
  32. package/dist/types/src/extensions/{awareness → collab/awareness}/awareness.d.ts +4 -1
  33. package/dist/types/src/extensions/collab/awareness/awareness.d.ts.map +1 -0
  34. package/dist/types/src/extensions/collab/awareness/index.d.ts.map +1 -0
  35. package/dist/types/src/extensions/collab/index.d.ts +3 -0
  36. package/dist/types/src/extensions/collab/index.d.ts.map +1 -0
  37. package/dist/types/src/extensions/completion/autocomplete.d.ts.map +1 -0
  38. package/dist/types/src/extensions/{autocomplete → completion}/index.d.ts +1 -0
  39. package/dist/types/src/extensions/completion/index.d.ts.map +1 -0
  40. package/dist/types/src/extensions/{autocomplete → completion}/match.d.ts +2 -2
  41. package/dist/types/src/extensions/completion/match.d.ts.map +1 -0
  42. package/dist/types/src/extensions/{mention.d.ts → completion/mention.d.ts} +3 -0
  43. package/dist/types/src/extensions/completion/mention.d.ts.map +1 -0
  44. package/dist/types/src/extensions/completion/placeholder.d.ts.map +1 -0
  45. package/dist/types/src/extensions/{autocomplete → completion}/typeahead.d.ts +2 -2
  46. package/dist/types/src/extensions/completion/typeahead.d.ts.map +1 -0
  47. package/dist/types/src/extensions/{factories.d.ts → core/factories.d.ts} +23 -2
  48. package/dist/types/src/extensions/core/factories.d.ts.map +1 -0
  49. package/dist/types/src/extensions/core/factories.test.d.ts.map +1 -0
  50. package/dist/types/src/extensions/core/index.d.ts +3 -0
  51. package/dist/types/src/extensions/core/index.d.ts.map +1 -0
  52. package/dist/types/src/extensions/{modes.d.ts → core/modes.d.ts} +3 -0
  53. package/dist/types/src/extensions/core/modes.d.ts.map +1 -0
  54. package/dist/types/src/extensions/{debug.d.ts → debug/debug.d.ts} +3 -0
  55. package/dist/types/src/extensions/debug/debug.d.ts.map +1 -0
  56. package/dist/types/src/extensions/debug/index.d.ts +2 -0
  57. package/dist/types/src/extensions/debug/index.d.ts.map +1 -0
  58. package/dist/types/src/extensions/{annotations.d.ts → decoration/annotations.d.ts} +1 -1
  59. package/dist/types/src/extensions/decoration/annotations.d.ts.map +1 -0
  60. package/dist/types/src/extensions/decoration/assistant.d.ts +27 -0
  61. package/dist/types/src/extensions/decoration/assistant.d.ts.map +1 -0
  62. package/dist/types/src/extensions/decoration/fader.d.ts.map +1 -0
  63. package/dist/types/src/extensions/decoration/hashtag.d.ts +6 -0
  64. package/dist/types/src/extensions/decoration/hashtag.d.ts.map +1 -0
  65. package/dist/types/src/extensions/decoration/index.d.ts +8 -0
  66. package/dist/types/src/extensions/decoration/index.d.ts.map +1 -0
  67. package/dist/types/src/extensions/decoration/marker.d.ts.map +1 -0
  68. package/dist/types/src/extensions/{pos.d.ts → decoration/pos.d.ts} +40 -14
  69. package/dist/types/src/extensions/decoration/pos.d.ts.map +1 -0
  70. package/dist/types/src/extensions/decoration/pos.test.d.ts.map +1 -0
  71. package/dist/types/src/extensions/{replacer.d.ts → decoration/replacer.d.ts} +8 -8
  72. package/dist/types/src/extensions/decoration/replacer.d.ts.map +1 -0
  73. package/dist/types/src/extensions/decoration/replacer.test.d.ts.map +1 -0
  74. package/dist/types/src/extensions/{blast.d.ts → demo/blast.d.ts} +3 -0
  75. package/dist/types/src/extensions/demo/blast.d.ts.map +1 -0
  76. package/dist/types/src/extensions/demo/index.d.ts +3 -0
  77. package/dist/types/src/extensions/demo/index.d.ts.map +1 -0
  78. package/dist/types/src/extensions/demo/snippets.d.ts.map +1 -0
  79. package/dist/types/src/extensions/index.d.ts +10 -33
  80. package/dist/types/src/extensions/index.d.ts.map +1 -1
  81. package/dist/types/src/extensions/language/index.d.ts +5 -0
  82. package/dist/types/src/extensions/language/index.d.ts.map +1 -0
  83. package/dist/types/src/extensions/language/json/index.d.ts +2 -0
  84. package/dist/types/src/extensions/language/json/index.d.ts.map +1 -0
  85. package/dist/types/src/extensions/language/json/json.d.ts +12 -0
  86. package/dist/types/src/extensions/language/json/json.d.ts.map +1 -0
  87. package/dist/types/src/extensions/language/markdown/action.d.ts.map +1 -0
  88. package/dist/types/src/extensions/language/markdown/bundle.d.ts.map +1 -0
  89. package/dist/types/src/extensions/{markdown → language/markdown}/changes.d.ts +1 -1
  90. package/dist/types/src/extensions/language/markdown/changes.d.ts.map +1 -0
  91. package/dist/types/src/extensions/language/markdown/changes.test.d.ts.map +1 -0
  92. package/dist/types/src/extensions/{markdown → language/markdown}/debug.d.ts +3 -0
  93. package/dist/types/src/extensions/language/markdown/debug.d.ts.map +1 -0
  94. package/dist/types/src/extensions/{markdown → language/markdown}/decorate.d.ts +5 -1
  95. package/dist/types/src/extensions/language/markdown/decorate.d.ts.map +1 -0
  96. package/dist/types/src/extensions/{markdown → language/markdown}/formatting.d.ts +11 -2
  97. package/dist/types/src/extensions/language/markdown/formatting.d.ts.map +1 -0
  98. package/dist/types/src/extensions/language/markdown/formatting.test.d.ts.map +1 -0
  99. package/dist/types/src/extensions/{markdown → language/markdown}/highlight.d.ts +16 -12
  100. package/dist/types/src/extensions/language/markdown/highlight.d.ts.map +1 -0
  101. package/dist/types/src/extensions/language/markdown/image.d.ts.map +1 -0
  102. package/dist/types/src/extensions/language/markdown/image.test.d.ts.map +1 -0
  103. package/dist/types/src/extensions/language/markdown/index.d.ts.map +1 -0
  104. package/dist/types/src/extensions/language/markdown/link.d.ts +25 -0
  105. package/dist/types/src/extensions/language/markdown/link.d.ts.map +1 -0
  106. package/dist/types/src/extensions/language/markdown/link.test.d.ts +2 -0
  107. package/dist/types/src/extensions/language/markdown/link.test.d.ts.map +1 -0
  108. package/dist/types/src/extensions/language/markdown/parser.test.d.ts.map +1 -0
  109. package/dist/types/src/extensions/{markdown → language/markdown}/styles.d.ts +3 -0
  110. package/dist/types/src/extensions/language/markdown/styles.d.ts.map +1 -0
  111. package/dist/types/src/extensions/language/markdown/table.d.ts.map +1 -0
  112. package/dist/types/src/extensions/language/mermaid/index.d.ts +2 -0
  113. package/dist/types/src/extensions/language/mermaid/index.d.ts.map +1 -0
  114. package/dist/types/src/extensions/language/mermaid/mermaid.d.ts +18 -0
  115. package/dist/types/src/extensions/language/mermaid/mermaid.d.ts.map +1 -0
  116. package/dist/types/src/extensions/language/xml/extended-markdown.d.ts.map +1 -0
  117. package/dist/types/src/extensions/language/xml/extended-markdown.test.d.ts.map +1 -0
  118. package/dist/types/src/extensions/language/xml/index.d.ts.map +1 -0
  119. package/dist/types/src/extensions/language/xml/stub.d.ts +76 -0
  120. package/dist/types/src/extensions/language/xml/stub.d.ts.map +1 -0
  121. package/dist/types/src/extensions/language/xml/widgets/anchor.d.ts.map +1 -0
  122. package/dist/types/src/extensions/language/xml/widgets/index.d.ts.map +1 -0
  123. package/dist/types/src/extensions/language/xml/xml-block-decoration.d.ts +48 -0
  124. package/dist/types/src/extensions/language/xml/xml-block-decoration.d.ts.map +1 -0
  125. package/dist/types/src/extensions/language/xml/xml-formatting.d.ts.map +1 -0
  126. package/dist/types/src/extensions/{tags → language/xml}/xml-tags.d.ts +12 -1
  127. package/dist/types/src/extensions/language/xml/xml-tags.d.ts.map +1 -0
  128. package/dist/types/src/extensions/language/xml/xml-tags.test.d.ts +2 -0
  129. package/dist/types/src/extensions/language/xml/xml-tags.test.d.ts.map +1 -0
  130. package/dist/types/src/extensions/language/xml/xml-util.d.ts.map +1 -0
  131. package/dist/types/src/extensions/language/xml/xml-util.test.d.ts.map +1 -0
  132. package/dist/types/src/extensions/review/change-bar.d.ts +29 -0
  133. package/dist/types/src/extensions/review/change-bar.d.ts.map +1 -0
  134. package/dist/types/src/extensions/{comments.d.ts → review/comments.d.ts} +56 -38
  135. package/dist/types/src/extensions/review/comments.d.ts.map +1 -0
  136. package/dist/types/src/extensions/review/comments.test.d.ts +2 -0
  137. package/dist/types/src/extensions/review/comments.test.d.ts.map +1 -0
  138. package/dist/types/src/extensions/review/diff.d.ts +131 -0
  139. package/dist/types/src/extensions/review/diff.d.ts.map +1 -0
  140. package/dist/types/src/extensions/review/diff.test.d.ts +2 -0
  141. package/dist/types/src/extensions/review/diff.test.d.ts.map +1 -0
  142. package/dist/types/src/extensions/review/index.d.ts +7 -0
  143. package/dist/types/src/extensions/review/index.d.ts.map +1 -0
  144. package/dist/types/src/extensions/review/suggest.d.ts +89 -0
  145. package/dist/types/src/extensions/review/suggest.d.ts.map +1 -0
  146. package/dist/types/src/extensions/review/suggest.test.d.ts +2 -0
  147. package/dist/types/src/extensions/review/suggest.test.d.ts.map +1 -0
  148. package/dist/types/src/extensions/review/suggestions-overlay.d.ts +25 -0
  149. package/dist/types/src/extensions/review/suggestions-overlay.d.ts.map +1 -0
  150. package/dist/types/src/extensions/review/suggestions-overlay.test.d.ts +2 -0
  151. package/dist/types/src/extensions/review/suggestions-overlay.test.d.ts.map +1 -0
  152. package/dist/types/src/extensions/review/track-changes.d.ts +27 -0
  153. package/dist/types/src/extensions/review/track-changes.d.ts.map +1 -0
  154. package/dist/types/src/extensions/review/track-changes.test.d.ts +2 -0
  155. package/dist/types/src/extensions/review/track-changes.test.d.ts.map +1 -0
  156. package/dist/types/src/extensions/{busy.d.ts → state/busy.d.ts} +1 -0
  157. package/dist/types/src/extensions/state/busy.d.ts.map +1 -0
  158. package/dist/types/src/extensions/{focus.d.ts → state/focus.d.ts} +4 -0
  159. package/dist/types/src/extensions/state/focus.d.ts.map +1 -0
  160. package/dist/types/src/extensions/state/index.d.ts +5 -0
  161. package/dist/types/src/extensions/state/index.d.ts.map +1 -0
  162. package/dist/types/src/extensions/state/modal.d.ts.map +1 -0
  163. package/dist/types/src/extensions/{selection.d.ts → state/selection.d.ts} +1 -1
  164. package/dist/types/src/extensions/state/selection.d.ts.map +1 -0
  165. package/dist/types/src/extensions/state/selection.test.d.ts.map +1 -0
  166. package/dist/types/src/extensions/streaming/index.d.ts +4 -0
  167. package/dist/types/src/extensions/streaming/index.d.ts.map +1 -0
  168. package/dist/types/src/extensions/streaming/pending/index.d.ts.map +1 -0
  169. package/dist/types/src/extensions/streaming/pending/pending-text-stream.d.ts.map +1 -0
  170. package/dist/types/src/extensions/streaming/pending/pending-text-stream.test.d.ts.map +1 -0
  171. package/dist/types/src/extensions/{pending → streaming/pending}/pending-text.d.ts +1 -0
  172. package/dist/types/src/extensions/streaming/pending/pending-text.d.ts.map +1 -0
  173. package/dist/types/src/extensions/streaming/pending/pending-text.test.d.ts.map +1 -0
  174. package/dist/types/src/extensions/streaming/scrolling/auto-scroll.d.ts.map +1 -0
  175. package/dist/types/src/extensions/streaming/scrolling/crawler.d.ts.map +1 -0
  176. package/dist/types/src/extensions/streaming/scrolling/index.d.ts.map +1 -0
  177. package/dist/types/src/extensions/streaming/scrolling/scroll-past-end.d.ts +4 -0
  178. package/dist/types/src/extensions/streaming/scrolling/scroll-past-end.d.ts.map +1 -0
  179. package/dist/types/src/extensions/streaming/scrolling/scrollbar-autohide.d.ts.map +1 -0
  180. package/dist/types/src/extensions/streaming/scrolling/scroller.d.ts.map +1 -0
  181. package/dist/types/src/extensions/{typewriter.d.ts → streaming/typewriter.d.ts} +12 -12
  182. package/dist/types/src/extensions/streaming/typewriter.d.ts.map +1 -0
  183. package/dist/types/src/extensions/streaming/typewriter.test.d.ts.map +1 -0
  184. package/dist/types/src/extensions/structure/blocks/blocks.d.ts +52 -0
  185. package/dist/types/src/extensions/structure/blocks/blocks.d.ts.map +1 -0
  186. package/dist/types/src/extensions/structure/blocks/blocks.test.d.ts +2 -0
  187. package/dist/types/src/extensions/structure/blocks/blocks.test.d.ts.map +1 -0
  188. package/dist/types/src/extensions/structure/blocks/drag.d.ts +57 -0
  189. package/dist/types/src/extensions/structure/blocks/drag.d.ts.map +1 -0
  190. package/dist/types/src/extensions/structure/blocks/index.d.ts +5 -0
  191. package/dist/types/src/extensions/structure/blocks/index.d.ts.map +1 -0
  192. package/dist/types/src/extensions/structure/blocks/selection.d.ts +47 -0
  193. package/dist/types/src/extensions/structure/blocks/selection.d.ts.map +1 -0
  194. package/dist/types/src/extensions/structure/blocks/selection.test.d.ts +2 -0
  195. package/dist/types/src/extensions/structure/blocks/selection.test.d.ts.map +1 -0
  196. package/dist/types/src/extensions/structure/blocks/types.d.ts +17 -0
  197. package/dist/types/src/extensions/structure/blocks/types.d.ts.map +1 -0
  198. package/dist/types/src/extensions/structure/folding/folding.d.ts.map +1 -0
  199. package/dist/types/src/extensions/structure/folding/index.d.ts +3 -0
  200. package/dist/types/src/extensions/structure/folding/index.d.ts.map +1 -0
  201. package/dist/types/src/extensions/structure/folding/turns.d.ts +55 -0
  202. package/dist/types/src/extensions/structure/folding/turns.d.ts.map +1 -0
  203. package/dist/types/src/extensions/structure/folding/turns.test.d.ts +2 -0
  204. package/dist/types/src/extensions/structure/folding/turns.test.d.ts.map +1 -0
  205. package/dist/types/src/extensions/structure/index.d.ts +4 -0
  206. package/dist/types/src/extensions/structure/index.d.ts.map +1 -0
  207. package/dist/types/src/extensions/structure/outliner/commands.d.ts +31 -0
  208. package/dist/types/src/extensions/structure/outliner/commands.d.ts.map +1 -0
  209. package/dist/types/src/extensions/structure/outliner/dnd.d.ts +43 -0
  210. package/dist/types/src/extensions/structure/outliner/dnd.d.ts.map +1 -0
  211. package/dist/types/src/extensions/structure/outliner/dnd.test.d.ts +2 -0
  212. package/dist/types/src/extensions/structure/outliner/dnd.test.d.ts.map +1 -0
  213. package/dist/types/src/extensions/structure/outliner/editor.d.ts.map +1 -0
  214. package/dist/types/src/extensions/structure/outliner/editor.test.d.ts.map +1 -0
  215. package/dist/types/src/extensions/{outliner → structure/outliner}/index.d.ts +1 -0
  216. package/dist/types/src/extensions/structure/outliner/index.d.ts.map +1 -0
  217. package/dist/types/src/extensions/{outliner → structure/outliner}/menu.d.ts +1 -0
  218. package/dist/types/src/extensions/structure/outliner/menu.d.ts.map +1 -0
  219. package/dist/types/src/extensions/structure/outliner/outliner.d.ts.map +1 -0
  220. package/dist/types/src/extensions/structure/outliner/outliner.test.d.ts.map +1 -0
  221. package/dist/types/src/extensions/{outliner → structure/outliner}/tree.d.ts +1 -1
  222. package/dist/types/src/extensions/structure/outliner/tree.d.ts.map +1 -0
  223. package/dist/types/src/extensions/structure/outliner/tree.test.d.ts.map +1 -0
  224. package/dist/types/src/headless.d.ts +4 -0
  225. package/dist/types/src/headless.d.ts.map +1 -0
  226. package/dist/types/src/styles/theme.d.ts +1 -1
  227. package/dist/types/src/styles/theme.d.ts.map +1 -1
  228. package/dist/types/src/util/util.d.ts +2 -0
  229. package/dist/types/src/util/util.d.ts.map +1 -1
  230. package/dist/types/tsconfig.tsbuildinfo +1 -1
  231. package/package.json +48 -42
  232. package/src/defaults.ts +1 -1
  233. package/src/extensions/{bookmarks.ts → behavior/bookmarks.ts} +24 -14
  234. package/src/extensions/behavior/index.ts +9 -0
  235. package/src/extensions/{listener.ts → behavior/listener.ts} +4 -1
  236. package/src/extensions/{spacing.ts → behavior/spacing.ts} +8 -2
  237. package/src/extensions/{submit.ts → behavior/submit.ts} +2 -10
  238. package/src/extensions/{automerge → collab/automerge}/automerge.test.tsx +4 -4
  239. package/src/extensions/{automerge → collab/automerge}/automerge.ts +7 -4
  240. package/src/extensions/{automerge → collab/automerge}/cursor.ts +1 -1
  241. package/src/extensions/{automerge → collab/automerge}/defs.ts +4 -1
  242. package/src/extensions/{automerge → collab/automerge}/index.ts +1 -0
  243. package/src/extensions/{automerge → collab/automerge}/sync.ts +1 -2
  244. package/src/extensions/{automerge → collab/automerge}/update-automerge.ts +4 -0
  245. package/src/extensions/{automerge → collab/automerge}/update-codemirror.ts +5 -1
  246. package/src/extensions/{awareness → collab/awareness}/awareness-provider.ts +3 -4
  247. package/src/extensions/{awareness → collab/awareness}/awareness.ts +19 -16
  248. package/src/extensions/collab/index.ts +6 -0
  249. package/src/extensions/{autocomplete → completion}/autocomplete.ts +7 -5
  250. package/src/extensions/{autocomplete → completion}/index.ts +2 -1
  251. package/src/extensions/{autocomplete → completion}/match.ts +2 -2
  252. package/src/extensions/{mention.ts → completion/mention.ts} +3 -0
  253. package/src/extensions/{autocomplete → completion}/placeholder.ts +1 -1
  254. package/src/extensions/completion/typeahead.ts +97 -0
  255. package/src/extensions/{factories.ts → core/factories.ts} +35 -13
  256. package/src/extensions/core/index.ts +6 -0
  257. package/src/extensions/{modes.ts → core/modes.ts} +4 -1
  258. package/src/extensions/{debug.ts → debug/debug.ts} +3 -0
  259. package/src/extensions/debug/index.ts +5 -0
  260. package/src/extensions/{annotations.ts → decoration/annotations.ts} +12 -10
  261. package/src/extensions/decoration/assistant.ts +225 -0
  262. package/src/extensions/{fader.ts → decoration/fader.ts} +17 -19
  263. package/src/extensions/{hashtag.ts → decoration/hashtag.ts} +35 -28
  264. package/src/extensions/decoration/index.ts +11 -0
  265. package/src/extensions/{marker.ts → decoration/marker.ts} +18 -18
  266. package/src/extensions/{pos.test.ts → decoration/pos.test.ts} +57 -1
  267. package/src/extensions/{pos.ts → decoration/pos.ts} +165 -31
  268. package/src/extensions/{blast.ts → demo/blast.ts} +3 -0
  269. package/src/extensions/demo/index.ts +6 -0
  270. package/src/extensions/{snippets.ts → demo/snippets.ts} +5 -1
  271. package/src/extensions/index.ts +10 -33
  272. package/src/extensions/language/index.ts +8 -0
  273. package/src/extensions/language/json/index.ts +5 -0
  274. package/src/extensions/{json.ts → language/json/json.ts} +11 -6
  275. package/src/extensions/{markdown → language/markdown}/action.ts +1 -1
  276. package/src/extensions/{markdown → language/markdown}/bundle.ts +7 -1
  277. package/src/extensions/{markdown → language/markdown}/changes.test.ts +2 -2
  278. package/src/extensions/{markdown → language/markdown}/changes.ts +2 -2
  279. package/src/extensions/{markdown → language/markdown}/debug.ts +3 -0
  280. package/src/extensions/{markdown → language/markdown}/decorate.ts +96 -85
  281. package/src/extensions/{markdown → language/markdown}/formatting.test.ts +88 -1
  282. package/src/extensions/{markdown → language/markdown}/formatting.ts +193 -74
  283. package/src/extensions/{markdown → language/markdown}/highlight.ts +42 -41
  284. package/src/extensions/{markdown → language/markdown}/image.test.ts +1 -1
  285. package/src/extensions/{markdown → language/markdown}/image.ts +6 -6
  286. package/src/extensions/language/markdown/link.test.ts +58 -0
  287. package/src/extensions/language/markdown/link.ts +109 -0
  288. package/src/extensions/{markdown → language/markdown}/parser.test.ts +0 -28
  289. package/src/extensions/{markdown → language/markdown}/styles.ts +38 -7
  290. package/src/extensions/{markdown → language/markdown}/table.ts +5 -5
  291. package/src/extensions/language/mermaid/index.ts +5 -0
  292. package/src/extensions/language/mermaid/mermaid.ts +44 -0
  293. package/src/extensions/{tags → language/xml}/DESIGN.md +3 -3
  294. package/src/extensions/{tags → language/xml}/extended-markdown.test.ts +2 -1
  295. package/src/extensions/{tags → language/xml}/extended-markdown.ts +2 -4
  296. package/src/extensions/language/xml/stub.ts +233 -0
  297. package/src/extensions/language/xml/xml-block-decoration.ts +165 -0
  298. package/src/extensions/{tags → language/xml}/xml-formatting.ts +54 -38
  299. package/src/extensions/language/xml/xml-tags.test.ts +588 -0
  300. package/src/extensions/{tags → language/xml}/xml-tags.ts +165 -66
  301. package/src/extensions/{tags → language/xml}/xml-util.test.ts +2 -2
  302. package/src/extensions/review/change-bar.ts +94 -0
  303. package/src/extensions/review/comments.test.ts +72 -0
  304. package/src/extensions/{comments.ts → review/comments.ts} +395 -267
  305. package/src/extensions/review/diff.test.ts +405 -0
  306. package/src/extensions/review/diff.ts +502 -0
  307. package/src/extensions/review/index.ts +10 -0
  308. package/src/extensions/review/suggest.test.ts +170 -0
  309. package/src/extensions/review/suggest.ts +512 -0
  310. package/src/extensions/review/suggestions-overlay.test.ts +58 -0
  311. package/src/extensions/review/suggestions-overlay.ts +50 -0
  312. package/src/extensions/review/track-changes.test.ts +101 -0
  313. package/src/extensions/review/track-changes.ts +215 -0
  314. package/src/extensions/{busy.ts → state/busy.ts} +1 -0
  315. package/src/extensions/{focus.ts → state/focus.ts} +4 -0
  316. package/src/extensions/state/index.ts +8 -0
  317. package/src/extensions/{selection.ts → state/selection.ts} +3 -3
  318. package/src/extensions/streaming/index.ts +7 -0
  319. package/src/extensions/{pending → streaming/pending}/pending-text-stream.ts +10 -3
  320. package/src/extensions/{pending → streaming/pending}/pending-text.test.ts +1 -1
  321. package/src/extensions/{pending → streaming/pending}/pending-text.ts +20 -19
  322. package/src/extensions/{scrolling → streaming/scrolling}/auto-scroll.ts +9 -6
  323. package/src/extensions/{scrolling → streaming/scrolling}/scroll-past-end.ts +1 -0
  324. package/src/extensions/{scrolling → streaming/scrolling}/scrollbar-autohide.ts +13 -11
  325. package/src/extensions/{typewriter.ts → streaming/typewriter.ts} +46 -47
  326. package/src/extensions/structure/blocks/DESIGN.md +134 -0
  327. package/src/extensions/structure/blocks/blocks.test.ts +147 -0
  328. package/src/extensions/structure/blocks/blocks.ts +219 -0
  329. package/src/extensions/structure/blocks/drag.ts +996 -0
  330. package/src/extensions/structure/blocks/index.ts +8 -0
  331. package/src/extensions/structure/blocks/selection.test.ts +56 -0
  332. package/src/extensions/structure/blocks/selection.ts +279 -0
  333. package/src/extensions/structure/blocks/types.ts +22 -0
  334. package/src/extensions/{folding.ts → structure/folding/folding.ts} +12 -10
  335. package/src/extensions/structure/folding/index.ts +6 -0
  336. package/src/extensions/structure/folding/turns.test.ts +72 -0
  337. package/src/extensions/structure/folding/turns.ts +209 -0
  338. package/src/extensions/structure/index.ts +7 -0
  339. package/src/extensions/structure/outliner/DESIGN.md +183 -0
  340. package/src/extensions/structure/outliner/SPEC.mdl +305 -0
  341. package/src/extensions/{outliner → structure/outliner}/commands.ts +125 -42
  342. package/src/extensions/structure/outliner/dnd.test.ts +142 -0
  343. package/src/extensions/structure/outliner/dnd.ts +375 -0
  344. package/src/extensions/structure/outliner/editor.test.ts +85 -0
  345. package/src/extensions/{outliner → structure/outliner}/editor.ts +14 -9
  346. package/src/extensions/{outliner → structure/outliner}/index.ts +1 -0
  347. package/src/extensions/{outliner → structure/outliner}/menu.ts +48 -25
  348. package/src/extensions/structure/outliner/outliner.test.ts +193 -0
  349. package/src/extensions/structure/outliner/outliner.ts +183 -0
  350. package/src/extensions/{outliner → structure/outliner}/tree.test.ts +2 -2
  351. package/src/extensions/{outliner → structure/outliner}/tree.ts +1 -1
  352. package/src/headless.ts +13 -0
  353. package/src/styles/theme.ts +3 -1
  354. package/src/util/util.ts +3 -0
  355. package/dist/lib/browser/index.mjs +0 -9594
  356. package/dist/lib/browser/index.mjs.map +0 -7
  357. package/dist/lib/browser/meta.json +0 -1
  358. package/dist/lib/browser/types/index.mjs +0 -33
  359. package/dist/lib/browser/types/index.mjs.map +0 -7
  360. package/dist/lib/node-esm/index.mjs +0 -9596
  361. package/dist/lib/node-esm/index.mjs.map +0 -7
  362. package/dist/lib/node-esm/meta.json +0 -1
  363. package/dist/lib/node-esm/types/index.mjs +0 -35
  364. package/dist/lib/node-esm/types/index.mjs.map +0 -7
  365. package/dist/types/src/extensions/annotations.d.ts.map +0 -1
  366. package/dist/types/src/extensions/autocomplete/autocomplete.d.ts.map +0 -1
  367. package/dist/types/src/extensions/autocomplete/index.d.ts.map +0 -1
  368. package/dist/types/src/extensions/autocomplete/match.d.ts.map +0 -1
  369. package/dist/types/src/extensions/autocomplete/placeholder.d.ts.map +0 -1
  370. package/dist/types/src/extensions/autocomplete/typeahead.d.ts.map +0 -1
  371. package/dist/types/src/extensions/automerge/automerge.d.ts.map +0 -1
  372. package/dist/types/src/extensions/automerge/automerge.test.d.ts.map +0 -1
  373. package/dist/types/src/extensions/automerge/cursor.d.ts.map +0 -1
  374. package/dist/types/src/extensions/automerge/defs.d.ts.map +0 -1
  375. package/dist/types/src/extensions/automerge/index.d.ts +0 -2
  376. package/dist/types/src/extensions/automerge/index.d.ts.map +0 -1
  377. package/dist/types/src/extensions/automerge/sync.d.ts.map +0 -1
  378. package/dist/types/src/extensions/automerge/update-automerge.d.ts.map +0 -1
  379. package/dist/types/src/extensions/automerge/update-codemirror.d.ts.map +0 -1
  380. package/dist/types/src/extensions/awareness/awareness-provider.d.ts.map +0 -1
  381. package/dist/types/src/extensions/awareness/awareness.d.ts.map +0 -1
  382. package/dist/types/src/extensions/awareness/index.d.ts.map +0 -1
  383. package/dist/types/src/extensions/blast.d.ts.map +0 -1
  384. package/dist/types/src/extensions/blocks.d.ts +0 -2
  385. package/dist/types/src/extensions/blocks.d.ts.map +0 -1
  386. package/dist/types/src/extensions/bookmarks.d.ts.map +0 -1
  387. package/dist/types/src/extensions/busy.d.ts.map +0 -1
  388. package/dist/types/src/extensions/comments.d.ts.map +0 -1
  389. package/dist/types/src/extensions/debug.d.ts.map +0 -1
  390. package/dist/types/src/extensions/dnd.d.ts.map +0 -1
  391. package/dist/types/src/extensions/factories.d.ts.map +0 -1
  392. package/dist/types/src/extensions/factories.test.d.ts.map +0 -1
  393. package/dist/types/src/extensions/fader.d.ts.map +0 -1
  394. package/dist/types/src/extensions/focus.d.ts.map +0 -1
  395. package/dist/types/src/extensions/folding.d.ts.map +0 -1
  396. package/dist/types/src/extensions/hashtag.d.ts +0 -3
  397. package/dist/types/src/extensions/hashtag.d.ts.map +0 -1
  398. package/dist/types/src/extensions/json.d.ts +0 -7
  399. package/dist/types/src/extensions/json.d.ts.map +0 -1
  400. package/dist/types/src/extensions/listener.d.ts.map +0 -1
  401. package/dist/types/src/extensions/markdown/action.d.ts.map +0 -1
  402. package/dist/types/src/extensions/markdown/bundle.d.ts.map +0 -1
  403. package/dist/types/src/extensions/markdown/changes.d.ts.map +0 -1
  404. package/dist/types/src/extensions/markdown/changes.test.d.ts.map +0 -1
  405. package/dist/types/src/extensions/markdown/debug.d.ts.map +0 -1
  406. package/dist/types/src/extensions/markdown/decorate.d.ts.map +0 -1
  407. package/dist/types/src/extensions/markdown/formatting.d.ts.map +0 -1
  408. package/dist/types/src/extensions/markdown/formatting.test.d.ts.map +0 -1
  409. package/dist/types/src/extensions/markdown/highlight.d.ts.map +0 -1
  410. package/dist/types/src/extensions/markdown/image.d.ts.map +0 -1
  411. package/dist/types/src/extensions/markdown/image.test.d.ts.map +0 -1
  412. package/dist/types/src/extensions/markdown/index.d.ts.map +0 -1
  413. package/dist/types/src/extensions/markdown/link.d.ts +0 -7
  414. package/dist/types/src/extensions/markdown/link.d.ts.map +0 -1
  415. package/dist/types/src/extensions/markdown/parser.test.d.ts.map +0 -1
  416. package/dist/types/src/extensions/markdown/styles.d.ts.map +0 -1
  417. package/dist/types/src/extensions/markdown/table.d.ts.map +0 -1
  418. package/dist/types/src/extensions/marker.d.ts.map +0 -1
  419. package/dist/types/src/extensions/mention.d.ts.map +0 -1
  420. package/dist/types/src/extensions/modal.d.ts.map +0 -1
  421. package/dist/types/src/extensions/modes.d.ts.map +0 -1
  422. package/dist/types/src/extensions/outliner/commands.d.ts +0 -10
  423. package/dist/types/src/extensions/outliner/commands.d.ts.map +0 -1
  424. package/dist/types/src/extensions/outliner/editor.d.ts.map +0 -1
  425. package/dist/types/src/extensions/outliner/editor.test.d.ts.map +0 -1
  426. package/dist/types/src/extensions/outliner/index.d.ts.map +0 -1
  427. package/dist/types/src/extensions/outliner/menu.d.ts.map +0 -1
  428. package/dist/types/src/extensions/outliner/outliner.d.ts.map +0 -1
  429. package/dist/types/src/extensions/outliner/outliner.test.d.ts.map +0 -1
  430. package/dist/types/src/extensions/outliner/selection.d.ts +0 -12
  431. package/dist/types/src/extensions/outliner/selection.d.ts.map +0 -1
  432. package/dist/types/src/extensions/outliner/tree.d.ts.map +0 -1
  433. package/dist/types/src/extensions/outliner/tree.test.d.ts.map +0 -1
  434. package/dist/types/src/extensions/pending/index.d.ts.map +0 -1
  435. package/dist/types/src/extensions/pending/pending-text-stream.d.ts.map +0 -1
  436. package/dist/types/src/extensions/pending/pending-text-stream.test.d.ts.map +0 -1
  437. package/dist/types/src/extensions/pending/pending-text.d.ts.map +0 -1
  438. package/dist/types/src/extensions/pending/pending-text.test.d.ts.map +0 -1
  439. package/dist/types/src/extensions/pos.d.ts.map +0 -1
  440. package/dist/types/src/extensions/pos.test.d.ts.map +0 -1
  441. package/dist/types/src/extensions/replacer.d.ts.map +0 -1
  442. package/dist/types/src/extensions/replacer.test.d.ts.map +0 -1
  443. package/dist/types/src/extensions/scrolling/auto-scroll.d.ts.map +0 -1
  444. package/dist/types/src/extensions/scrolling/crawler.d.ts.map +0 -1
  445. package/dist/types/src/extensions/scrolling/index.d.ts.map +0 -1
  446. package/dist/types/src/extensions/scrolling/scroll-past-end.d.ts +0 -3
  447. package/dist/types/src/extensions/scrolling/scroll-past-end.d.ts.map +0 -1
  448. package/dist/types/src/extensions/scrolling/scrollbar-autohide.d.ts.map +0 -1
  449. package/dist/types/src/extensions/scrolling/scroller.d.ts.map +0 -1
  450. package/dist/types/src/extensions/selection.d.ts.map +0 -1
  451. package/dist/types/src/extensions/selection.test.d.ts.map +0 -1
  452. package/dist/types/src/extensions/snippets.d.ts.map +0 -1
  453. package/dist/types/src/extensions/spacing.d.ts.map +0 -1
  454. package/dist/types/src/extensions/state.d.ts +0 -2
  455. package/dist/types/src/extensions/state.d.ts.map +0 -1
  456. package/dist/types/src/extensions/submit.d.ts.map +0 -1
  457. package/dist/types/src/extensions/tags/extended-markdown.d.ts.map +0 -1
  458. package/dist/types/src/extensions/tags/extended-markdown.test.d.ts.map +0 -1
  459. package/dist/types/src/extensions/tags/index.d.ts.map +0 -1
  460. package/dist/types/src/extensions/tags/stub.d.ts +0 -35
  461. package/dist/types/src/extensions/tags/stub.d.ts.map +0 -1
  462. package/dist/types/src/extensions/tags/widgets/anchor.d.ts.map +0 -1
  463. package/dist/types/src/extensions/tags/widgets/index.d.ts.map +0 -1
  464. package/dist/types/src/extensions/tags/xml-block-decoration.d.ts +0 -31
  465. package/dist/types/src/extensions/tags/xml-block-decoration.d.ts.map +0 -1
  466. package/dist/types/src/extensions/tags/xml-formatting.d.ts.map +0 -1
  467. package/dist/types/src/extensions/tags/xml-tags.d.ts.map +0 -1
  468. package/dist/types/src/extensions/tags/xml-util.d.ts.map +0 -1
  469. package/dist/types/src/extensions/tags/xml-util.test.d.ts.map +0 -1
  470. package/dist/types/src/extensions/typewriter.d.ts.map +0 -1
  471. package/dist/types/src/extensions/typewriter.test.d.ts.map +0 -1
  472. package/src/extensions/autocomplete/typeahead.ts +0 -87
  473. package/src/extensions/blocks.ts +0 -131
  474. package/src/extensions/markdown/link.ts +0 -49
  475. package/src/extensions/outliner/editor.test.ts +0 -33
  476. package/src/extensions/outliner/outliner.test.ts +0 -99
  477. package/src/extensions/outliner/outliner.ts +0 -166
  478. package/src/extensions/outliner/selection.ts +0 -50
  479. package/src/extensions/state.ts +0 -7
  480. package/src/extensions/tags/stub.ts +0 -80
  481. package/src/extensions/tags/xml-block-decoration.ts +0 -123
  482. package/dist/types/src/extensions/{dnd.d.ts → behavior/dnd.d.ts} +0 -0
  483. package/dist/types/src/extensions/{submit.d.ts → behavior/submit.d.ts} +0 -0
  484. package/dist/types/src/extensions/{automerge → collab/automerge}/automerge.d.ts +0 -0
  485. package/dist/types/src/extensions/{automerge → collab/automerge}/automerge.test.d.ts +0 -0
  486. package/dist/types/src/extensions/{automerge → collab/automerge}/sync.d.ts +0 -0
  487. package/dist/types/src/extensions/{awareness → collab/awareness}/awareness-provider.d.ts +0 -0
  488. package/dist/types/src/extensions/{awareness → collab/awareness}/index.d.ts +0 -0
  489. package/dist/types/src/extensions/{autocomplete → completion}/autocomplete.d.ts +0 -0
  490. package/dist/types/src/extensions/{autocomplete → completion}/placeholder.d.ts +0 -0
  491. package/dist/types/src/extensions/{factories.test.d.ts → core/factories.test.d.ts} +0 -0
  492. package/dist/types/src/extensions/{fader.d.ts → decoration/fader.d.ts} +0 -0
  493. package/dist/types/src/extensions/{marker.d.ts → decoration/marker.d.ts} +0 -0
  494. package/dist/types/src/extensions/{pos.test.d.ts → decoration/pos.test.d.ts} +0 -0
  495. package/dist/types/src/extensions/{replacer.test.d.ts → decoration/replacer.test.d.ts} +0 -0
  496. package/dist/types/src/extensions/{snippets.d.ts → demo/snippets.d.ts} +0 -0
  497. package/dist/types/src/extensions/{markdown → language/markdown}/action.d.ts +0 -0
  498. package/dist/types/src/extensions/{markdown → language/markdown}/bundle.d.ts +0 -0
  499. package/dist/types/src/extensions/{markdown → language/markdown}/changes.test.d.ts +0 -0
  500. package/dist/types/src/extensions/{markdown → language/markdown}/formatting.test.d.ts +0 -0
  501. package/dist/types/src/extensions/{markdown → language/markdown}/image.d.ts +0 -0
  502. package/dist/types/src/extensions/{markdown → language/markdown}/image.test.d.ts +0 -0
  503. package/dist/types/src/extensions/{markdown → language/markdown}/index.d.ts +0 -0
  504. package/dist/types/src/extensions/{markdown → language/markdown}/parser.test.d.ts +0 -0
  505. package/dist/types/src/extensions/{markdown → language/markdown}/table.d.ts +0 -0
  506. package/dist/types/src/extensions/{tags → language/xml}/extended-markdown.d.ts +0 -0
  507. package/dist/types/src/extensions/{tags → language/xml}/extended-markdown.test.d.ts +0 -0
  508. package/dist/types/src/extensions/{tags → language/xml}/index.d.ts +0 -0
  509. package/dist/types/src/extensions/{tags → language/xml}/widgets/anchor.d.ts +0 -0
  510. package/dist/types/src/extensions/{tags → language/xml}/widgets/index.d.ts +0 -0
  511. package/dist/types/src/extensions/{tags → language/xml}/xml-formatting.d.ts +0 -0
  512. package/dist/types/src/extensions/{tags → language/xml}/xml-util.d.ts +0 -0
  513. package/dist/types/src/extensions/{tags → language/xml}/xml-util.test.d.ts +0 -0
  514. package/dist/types/src/extensions/{modal.d.ts → state/modal.d.ts} +0 -0
  515. package/dist/types/src/extensions/{selection.test.d.ts → state/selection.test.d.ts} +0 -0
  516. package/dist/types/src/extensions/{pending → streaming/pending}/index.d.ts +0 -0
  517. package/dist/types/src/extensions/{pending → streaming/pending}/pending-text-stream.d.ts +0 -0
  518. package/dist/types/src/extensions/{pending → streaming/pending}/pending-text-stream.test.d.ts +0 -0
  519. package/dist/types/src/extensions/{pending → streaming/pending}/pending-text.test.d.ts +0 -0
  520. package/dist/types/src/extensions/{scrolling → streaming/scrolling}/auto-scroll.d.ts +0 -0
  521. package/dist/types/src/extensions/{scrolling → streaming/scrolling}/crawler.d.ts +0 -0
  522. package/dist/types/src/extensions/{scrolling → streaming/scrolling}/index.d.ts +0 -0
  523. package/dist/types/src/extensions/{scrolling → streaming/scrolling}/scrollbar-autohide.d.ts +0 -0
  524. package/dist/types/src/extensions/{scrolling → streaming/scrolling}/scroller.d.ts +0 -0
  525. package/dist/types/src/extensions/{typewriter.test.d.ts → streaming/typewriter.test.d.ts} +0 -0
  526. package/dist/types/src/extensions/{folding.d.ts → structure/folding/folding.d.ts} +0 -0
  527. package/dist/types/src/extensions/{outliner → structure/outliner}/editor.d.ts +0 -0
  528. package/dist/types/src/extensions/{outliner → structure/outliner}/editor.test.d.ts +0 -0
  529. package/dist/types/src/extensions/{outliner → structure/outliner}/outliner.d.ts +0 -0
  530. package/dist/types/src/extensions/{outliner → structure/outliner}/outliner.test.d.ts +0 -0
  531. package/dist/types/src/extensions/{outliner → structure/outliner}/tree.test.d.ts +0 -0
  532. package/src/extensions/{dnd.ts → behavior/dnd.ts} +29 -29
  533. package/src/extensions/{awareness → collab/awareness}/index.ts +0 -0
  534. package/src/extensions/{factories.test.ts → core/factories.test.ts} +0 -0
  535. package/src/extensions/{replacer.test.ts → decoration/replacer.test.ts} +0 -0
  536. package/src/extensions/{replacer.ts → decoration/replacer.ts} +25 -25
  537. /package/src/extensions/{markdown → language/markdown}/index.ts +0 -0
  538. /package/src/extensions/{tags → language/xml}/index.ts +0 -0
  539. /package/src/extensions/{tags → language/xml}/testing/text.md +0 -0
  540. /package/src/extensions/{tags → language/xml}/testing/text.txt +0 -0
  541. /package/src/extensions/{tags → language/xml}/widgets/anchor.ts +0 -0
  542. /package/src/extensions/{tags → language/xml}/widgets/index.ts +0 -0
  543. /package/src/extensions/{tags → language/xml}/xml-util.ts +0 -0
  544. /package/src/extensions/{modal.ts → state/modal.ts} +0 -0
  545. /package/src/extensions/{selection.test.ts → state/selection.test.ts} +0 -0
  546. /package/src/extensions/{pending → streaming/pending}/index.ts +0 -0
  547. /package/src/extensions/{pending → streaming/pending}/pending-text-stream.test.ts +0 -0
  548. /package/src/extensions/{scrolling → streaming/scrolling}/crawler.ts +0 -0
  549. /package/src/extensions/{scrolling → streaming/scrolling}/index.ts +0 -0
  550. /package/src/extensions/{scrolling → streaming/scrolling}/scroller.ts +0 -0
  551. /package/src/extensions/{typewriter.test.ts → streaming/typewriter.test.ts} +0 -0
@@ -0,0 +1,29 @@
1
+ import { type EditorState, type Extension, RangeSet } from '@codemirror/state';
2
+ import { GutterMarker } from '@codemirror/view';
3
+ /**
4
+ * A change-bar gutter marker: a vertical bar tinted with the author's colour. Full line height by
5
+ * default; `rows` caps it to that many text rows (in `lh` units) — a BLOCK-insert proposal renders
6
+ * as a widget occupying the top rows of its host line, and the bar must cover the proposal's rows
7
+ * without tinting the host line's own text below it.
8
+ */
9
+ export declare class ChangeBarMarker extends GutterMarker {
10
+ #private;
11
+ constructor(colour: string, rows?: number, offsetRows?: number);
12
+ eq(other: ChangeBarMarker): boolean;
13
+ toDOM(): HTMLElement;
14
+ }
15
+ /**
16
+ * Per-line change-bar markers for one suggestion source, derived from editor state. Contributed by the
17
+ * suggestion extensions (`trackChanges`, `suggestions`) so each can colour its own lines by author.
18
+ */
19
+ export type ChangeBarProvider = (state: EditorState) => RangeSet<GutterMarker>;
20
+ /** Contribute per-line change bars to the shared author-coloured gutter (see {@link ChangeBarMarker}). */
21
+ export declare const changeBars: (provider: ChangeBarProvider) => Extension;
22
+ /**
23
+ * Keeps the change-bar column mounted with no markers. Hosts that toggle review overlays install this
24
+ * once alongside their compartments, so entering/leaving Suggesting reconfigures marker providers
25
+ * inside an existing gutter instead of adding and removing the column — which shifted the text and
26
+ * flickered on every mode switch.
27
+ */
28
+ export declare const changeBarGutter: Extension;
29
+ //# sourceMappingURL=change-bar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"change-bar.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/review/change-bar.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,SAAS,EAAS,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACtF,OAAO,EAAc,YAAY,EAAU,MAAM,kBAAkB,CAAC;AAEpE;;;;;GAKG;AACH,qBAAa,eAAgB,SAAQ,YAAY;;IAK/C,YAAY,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAK7D;IAEQ,EAAE,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAE3C;IAEQ,KAAK,IAAI,WAAW,CAa5B;CACF;AAED;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,WAAW,KAAK,QAAQ,CAAC,YAAY,CAAC,CAAC;AAmC/E,0GAA0G;AAC1G,eAAO,MAAM,UAAU,aAAc,iBAAiB,KAAG,SAA4C,CAAC;AAEtG;;;;;GAKG;AACH,eAAO,MAAM,eAAe,EAAE,SAAuD,CAAC"}
@@ -1,51 +1,34 @@
1
1
  import { type Extension, StateField } from '@codemirror/state';
2
2
  import { type Command, EditorView, type Rect } from '@codemirror/view';
3
3
  import { type CleanupFn } from '@dxos/async';
4
- import { type Comment, type Range, type RenderCallback } from '../types';
5
- type CommentState = {
6
- comment: Comment;
7
- range: Range;
8
- location?: Rect | null;
9
- };
10
- type SelectionState = {
11
- current?: string;
12
- closest?: string;
13
- };
14
- export type CommentsState = {
15
- id?: string;
16
- comments: CommentState[];
17
- selection: SelectionState;
18
- };
19
- export declare const setComments: import("@codemirror/state").StateEffectType<{
20
- id: string;
21
- comments: Comment[];
22
- }>;
23
- export declare const setSelection: import("@codemirror/state").StateEffectType<SelectionState>;
24
- /**
25
- * State field (reducer) that tracks comment ranges.
26
- * The ranges are tracked as Automerge cursors from which the absolute indexed ranges can be computed.
27
- */
28
- export declare const commentsState: StateField<CommentsState>;
29
- export declare const commentClickedEffect: import("@codemirror/state").StateEffectType<string>;
30
- /**
31
- * Create comment thread action.
32
- */
33
- export declare const createComment: Command;
4
+ import { type Comment, type Range } from '../../types';
34
5
  export type CommentsOptions = {
35
6
  /**
36
7
  * Document id.
37
8
  */
38
- id?: string;
9
+ id: string;
39
10
  /**
40
11
  * Key shortcut to create a new thread.
41
12
  */
42
13
  key?: string;
43
14
  /**
44
- * Called to render tooltip.
15
+ * Get the current comments.
16
+ */
17
+ getComments?: () => Comment[];
18
+ /**
19
+ * Subscribe to external comment updates.
20
+ */
21
+ subscribe?: (sink: () => void) => CleanupFn;
22
+ /**
23
+ * The branch under review; new comments are tagged with it (undefined = main/unbranched). Scopes
24
+ * a comment to the branch being reviewed so its visibility tracks the active diff.
25
+ */
26
+ reviewBranch?: string;
27
+ /**
28
+ * Prohibit creating new comments (e.g. on a per-user suggestion branch). Existing comments still
29
+ * render; the create command becomes a no-op.
45
30
  */
46
- renderTooltip?: RenderCallback<{
47
- shortcut: string;
48
- }>;
31
+ readonly?: boolean;
49
32
  /**
50
33
  * Called to create a new thread and return the thread id.
51
34
  */
@@ -53,6 +36,7 @@ export type CommentsOptions = {
53
36
  cursor: string;
54
37
  from: number;
55
38
  location?: Rect | null;
39
+ branch?: string;
56
40
  }) => void;
57
41
  /**
58
42
  * Selection cut/deleted.
@@ -71,6 +55,12 @@ export type CommentsOptions = {
71
55
  * Called to notify which thread is currently closest to the cursor.
72
56
  */
73
57
  onSelect?: (state: CommentsState) => void;
58
+ /**
59
+ * Called when a comment is deliberately activated (clicked). Distinct from `onSelect` (passive
60
+ * cursor-proximity): a click is an explicit user intent, e.g. to reveal the thread in a companion.
61
+ * The editor-side selection/highlight is already applied by the time this fires.
62
+ */
63
+ onActivate?: (id: string) => void;
74
64
  };
75
65
  /**
76
66
  * Comment threads.
@@ -83,7 +73,36 @@ export type CommentsOptions = {
83
73
  * b). Calls a handler to indicate which is the closest selection (e.g., to update the thread sidebar).
84
74
  * 5). Optionally, implements a hoverTooltip to show hints when creating a selection range.
85
75
  */
86
- export declare const comments: (options?: CommentsOptions) => Extension;
76
+ export declare const comments: (options: CommentsOptions) => Extension;
77
+ type CommentState = {
78
+ comment: Comment;
79
+ range: Range;
80
+ location?: Rect | null;
81
+ };
82
+ type SelectionState = {
83
+ current?: string;
84
+ closest?: string;
85
+ };
86
+ export type CommentsState = {
87
+ id?: string;
88
+ comments: CommentState[];
89
+ selection: SelectionState;
90
+ };
91
+ export declare const setComments: import("@codemirror/state").StateEffectType<{
92
+ id: string;
93
+ comments: Comment[];
94
+ }>;
95
+ export declare const setSelection: import("@codemirror/state").StateEffectType<SelectionState>;
96
+ /**
97
+ * State field (reducer) that tracks comment ranges.
98
+ * The ranges are tracked as Automerge cursors from which the absolute indexed ranges can be computed.
99
+ * Included by {@link comments}; exported for direct state reads.
100
+ */
101
+ export declare const commentsState: StateField<CommentsState>;
102
+ /**
103
+ * Create comment thread action.
104
+ */
105
+ export declare const createComment: Command;
87
106
  /**
88
107
  * Whether the [from, to] document range is entirely within the editor's scroll
89
108
  * viewport. Returns false if either endpoint isn't currently rendered (off-screen).
@@ -102,7 +121,6 @@ export type ScrollThreadOptions = {
102
121
  * Scroll the comment thread with the given id into view (if not already entirely
103
122
  * visible) and mark it the current comment so the editor highlights it.
104
123
  */
105
- export declare const scrollThreadIntoView: (view: EditorView, id: string, { y, yMargin }?: ScrollThreadOptions) => void;
106
- export declare const createExternalCommentSync: (id: string, subscribe: (sink: () => void) => CleanupFn, getComments: () => Comment[]) => Extension;
124
+ export declare const scrollCommentIntoView: (view: EditorView, id: string, { y, yMargin }?: ScrollThreadOptions) => void;
107
125
  export {};
108
126
  //# sourceMappingURL=comments.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comments.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/review/comments.ts"],"names":[],"mappings":"AAMA,OAAO,EAGL,KAAK,SAAS,EAEd,UAAU,EAEX,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,KAAK,OAAO,EAEZ,UAAU,EACV,KAAK,IAAI,EAKV,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,KAAK,SAAS,EAAY,MAAM,aAAa,CAAC;AAIvD,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,aAAa,CAAC;AAQvD,MAAM,MAAM,eAAe,GAAG;IAC5B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,OAAO,EAAE,CAAC;IAC9B;;OAEG;IACH,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,IAAI,KAAK,SAAS,CAAC;IAC5C;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;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,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACvG;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC5C;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC5D;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAC1C;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,QAAQ,YAAa,eAAe,KAAG,SA8InD,CAAC;AAMF,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,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,SAAS,EAAE,cAAc,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,WAAW;QAA4B,MAAM;cAAY,OAAO,EAAE;EAAK,CAAC;AAErF,eAAO,MAAM,YAAY,6DAAuC,CAAC;AAIjE;;;;GAIG;AACH,eAAO,MAAM,aAAa,2BAuCxB,CAAC;AAsPH;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,OAgD3B,CAAC;AAMF;;;GAGG;AACH,eAAO,MAAM,cAAc,SAAU,UAAU,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,KAAG,OAStF,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,yCAAyC;IACzC,CAAC,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;IAC3C,qEAAqE;IACrE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,SAC1B,UAAU,MACZ,MAAM,mBACiB,mBAAmB,SAwB/C,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=comments.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comments.test.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/review/comments.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,131 @@
1
+ import { type Extension } from '@codemirror/state';
2
+ export type DiffOptions = {
3
+ /**
4
+ * The baseline document to diff against. The editor's own document is the modified side, so
5
+ * insertions and deletions are shown relative to this original.
6
+ */
7
+ original: string;
8
+ };
9
+ /**
10
+ * Inline (unified) diff view: renders the editor's document with insertions and deletions marked
11
+ * relative to {@link DiffOptions.original}. The editor stays editable — edits to the document update
12
+ * the diff against the (static) original live — so it can overlay a live editor to compare the
13
+ * current state against another version (e.g. another branch) without locking editing.
14
+ */
15
+ export declare const diffView: ({ original }: DiffOptions) => Extension;
16
+ /**
17
+ * A single reviewable change between `before` (the original) and `after` (the proposal), anchored in
18
+ * the BEFORE text so it can be rendered as a suggestion over the original document and applied in
19
+ * place. `[from, to)` is the original range the hunk replaces (`from === to` for a pure insertion);
20
+ * `removed` is the original text in that range, `inserted` is the proposal text that replaces it.
21
+ */
22
+ export type DiffHunk = {
23
+ from: number;
24
+ to: number;
25
+ removed: string;
26
+ inserted: string;
27
+ };
28
+ /**
29
+ * Groups the word-level diff between `before` and `after` into contiguous {@link DiffHunk}s — each a
30
+ * maximal run of insertions/deletions bounded by unchanged text. Used to render Google-Docs-style
31
+ * suggestions (accept/reject per hunk) over the original document (see {@link suggestChanges}).
32
+ */
33
+ export declare const diffHunks: (before: string, after: string) => DiffHunk[];
34
+ /**
35
+ * Coalesce an author's adjacent {@link DiffHunk}s into one hunk per group, so a run of nearby edits
36
+ * reviews as a single unit (e.g. one anchored card in the comment-style layer). Two hunks merge when
37
+ * the unchanged `before` gap between them is at most `maxGap` characters; the merged hunk spans both
38
+ * and absorbs the gap text into `removed` (and, unchanged, into `inserted`) so it still reconstructs
39
+ * `after`. With `respectBlockBoundaries` (default) a gap containing a blank line (paragraph break) is
40
+ * never bridged, keeping edits in different blocks as separate groups.
41
+ *
42
+ * `hunks` must be ordered and non-overlapping as {@link diffHunks} returns them. Defaults
43
+ * (`maxGap: 0`) make grouping a no-op — each hunk is its own group — so callers opt into wider
44
+ * coalescing explicitly.
45
+ */
46
+ export type GroupPolicy = {
47
+ maxGap?: number;
48
+ respectBlockBoundaries?: boolean;
49
+ };
50
+ export declare const groupHunks: (hunks: DiffHunk[], before: string, policy?: GroupPolicy) => DiffHunk[];
51
+ /**
52
+ * Coalesces two pure insertions forming a matched markdown delimiter pair around intervening text
53
+ * (e.g. `**` before and after a phrase) into ONE replace hunk spanning the wrapped text. Without
54
+ * this, wrapping MULTIPLE words diffs as two zero-width inserts, and accepting either half alone
55
+ * leaves broken syntax. Only a tight wrap (same line, non-empty gap) reads as one formatting action.
56
+ */
57
+ export declare const pairMarkupHunks: (hunks: DiffHunk[], before: string) => DiffHunk[];
58
+ /**
59
+ * Re-anchors {@link DiffHunk}s computed against `base` into `doc` coordinates, so a foreign author's
60
+ * proposal (diffed `base` vs proposal) can be decorated over a `doc` that has itself diverged from
61
+ * `base` (the user's own branch edits). Each hunk offset is mapped through the character-level
62
+ * `base`↔`doc` diff ({@link computeCharHunks}): a position in an unchanged region shifts by the net
63
+ * length of edits before it; a position inside a doc-edited region clamps to that region's edge (the
64
+ * `from` to its start, the `to` to its end). Without this, a proposal diffed against `base` would
65
+ * render at stale offsets over the diverged `doc`.
66
+ */
67
+ export declare const rebaseHunks: (base: string, doc: string, hunks: DiffHunk[]) => DiffHunk[];
68
+ /**
69
+ * {@link rebaseHunks} with a precomputed `base`↔`doc` character diff. Callers rebasing MANY hunk sets
70
+ * against the same pair — e.g. every author's proposal over one branch (see {@link suggestions}) —
71
+ * compute {@link computeCharHunks} once and reuse it, rather than re-diffing the whole document per set.
72
+ */
73
+ export declare const rebaseHunksWith: (charHunks: Hunk[], hunks: DiffHunk[]) => DiffHunk[];
74
+ /** A changed hunk between two documents as character ranges in each (A = original, B = modified). */
75
+ export type Hunk = {
76
+ fromA: number;
77
+ toA: number;
78
+ fromB: number;
79
+ toB: number;
80
+ };
81
+ /**
82
+ * LINE-level changed hunks between `original` (A) and `modified` (B) as character ranges (via
83
+ * `@codemirror/merge` `Chunk.build`). Coarser than {@link computeWordHunks}; retained for callers that
84
+ * want whole-line change regions.
85
+ */
86
+ export declare const computeHunks: (original: string, modified: string) => Hunk[];
87
+ /**
88
+ * WORD-level changed hunks between `original` (A) and `modified` (B), each carrying both coordinate
89
+ * ranges. Matches the word granularity of {@link diffHunks} (same `diffWordsWithSpace` alignment), so
90
+ * {@link cherryPickHunk} / {@link revertHunk} resolve exactly the anchored word(s) — accepting one
91
+ * word does not pull in the rest of its line.
92
+ */
93
+ export declare const computeWordHunks: (original: string, modified: string) => Hunk[];
94
+ /**
95
+ * CHARACTER-level changed hunks between `original` (A) and `modified` (B), each carrying both
96
+ * coordinate ranges. Finer than {@link computeWordHunks}: an in-word or whitespace/newline edit shows
97
+ * only the changed characters, not a whole-word delete+insert. Used for live "Suggesting mode" tracked
98
+ * changes (see {@link trackChanges}), where word granularity makes every keystroke read as a struck
99
+ * word rebuilt beside it.
100
+ */
101
+ export declare const computeCharHunks: (original: string, modified: string) => Hunk[];
102
+ /**
103
+ * Resolve a single change to apply when cherry-picking from `compare` (A) into `current` (B): find
104
+ * the hunk overlapping `range` (a character range in `current`) and return the splice that replaces
105
+ * that hunk's current text with the compare version. Returns undefined if no hunk overlaps the range
106
+ * (e.g. the change was already applied/reverted). `compare` is read live by the caller, so applying
107
+ * the result always reflects the latest diff — not a snapshot.
108
+ */
109
+ export declare const cherryPickHunk: (current: string, compare: string, range: {
110
+ start: number;
111
+ end: number;
112
+ }) => {
113
+ from: number;
114
+ del: number;
115
+ insert: string;
116
+ } | undefined;
117
+ /**
118
+ * Resolve the splice that reverts a single change on `compare` (a branch) back to `base` (main) —
119
+ * the reject counterpart to {@link cherryPickHunk}. `baseRange` is a character range in `base`; the
120
+ * hunk overlapping it is located and the returned splice (in `compare` coordinates) replaces the
121
+ * branch's version with the base text. Returns undefined if no hunk overlaps the range.
122
+ */
123
+ export declare const revertHunk: (base: string, compare: string, baseRange: {
124
+ start: number;
125
+ end: number;
126
+ }) => {
127
+ from: number;
128
+ del: number;
129
+ insert: string;
130
+ } | undefined;
131
+ //# sourceMappingURL=diff.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/review/diff.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,SAAS,EAAQ,MAAM,mBAAmB,CAAC;AAIzD,MAAM,MAAM,WAAW,GAAG;IACxB;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAuBF;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,iBAAkB,WAAW,KAAG,SAGpD,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,SAAS,WAAY,MAAM,SAAS,MAAM,KAAG,QAAQ,EAsDjE,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,WAAW,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,sBAAsB,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAEhF,eAAO,MAAM,UAAU,UAAW,QAAQ,EAAE,UAAU,MAAM,WAAU,WAAW,KAAQ,QAAQ,EAkBhG,CAAC;AAKF;;;;;GAKG;AACH,eAAO,MAAM,eAAe,UAAW,QAAQ,EAAE,UAAU,MAAM,KAAG,QAAQ,EA4B3E,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,WAAW,SAAU,MAAM,OAAO,MAAM,SAAS,QAAQ,EAAE,KAAG,QAAQ,EAC9B,CAAC;AAEtD;;;;GAIG;AACH,eAAO,MAAM,eAAe,cAAe,IAAI,EAAE,SAAS,QAAQ,EAAE,KAAG,QAAQ,EAkC9E,CAAC;AAEF,qGAAqG;AACrG,MAAM,MAAM,IAAI,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9E;;;;GAIG;AACH,eAAO,MAAM,YAAY,aAAc,MAAM,YAAY,MAAM,KAAG,IAAI,EAMjE,CAAC;AAEN;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,aAAc,MAAM,YAAY,MAAM,KAAG,IAAI,EA4BzE,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,aAAc,MAAM,YAAY,MAAM,KAAG,IAAI,EAGT,CAAC;AA0IlE;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,YAChB,MAAM,WACN,MAAM,SACR;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,KACpC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,SAelD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,UAAU,SACf,MAAM,WACH,MAAM,aACJ;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,KACxC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,SAclD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=diff.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff.test.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/review/diff.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ export * from './change-bar';
2
+ export * from './comments';
3
+ export * from './diff';
4
+ export * from './suggest';
5
+ export * from './suggestions-overlay';
6
+ export * from './track-changes';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/review/index.ts"],"names":[],"mappings":"AAIA,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,89 @@
1
+ import { type Extension } from '@codemirror/state';
2
+ import { type DiffHunk, type GroupPolicy } from './diff';
3
+ /** One author's proposed revision of the editor's document (the base). */
4
+ export type SuggestionSource = {
5
+ /** Stable author identity (e.g. an identity DID); distinguishes overlapping suggestions. */
6
+ author: string;
7
+ /** Author colour, supplied by the caller to match the collaboration awareness cursor palette. */
8
+ colour: string;
9
+ /** The author's full proposed content, diffed against the base (or the editor's document if no base). */
10
+ content: string;
11
+ /**
12
+ * The text this proposal was authored against (its branch's fork anchor). Diffing against it rather
13
+ * than the live document keeps the diff to what THIS author changed — otherwise text the reader has
14
+ * typed since the fork, which the proposal cannot contain, reads as the author deleting it.
15
+ * Falls back to {@link SuggestionsOptions.base}, then the editor's document.
16
+ */
17
+ base?: string;
18
+ };
19
+ export type SuggestionsOptions = {
20
+ /** The proposals to overlay; each is diffed against the editor's document. */
21
+ sources: SuggestionSource[];
22
+ /**
23
+ * The accepted base (`main`) each source is diffed against. When given, a source is diffed
24
+ * `base` vs `source.content` and its hunks are rebased into the editor document's coordinates (see
25
+ * {@link rebaseHunks}) — so a foreign author's proposal decorates the right span even after the user's
26
+ * own branch (the editor document) has diverged from `base`. Omit to diff each source directly against
27
+ * the editor document (the standalone single-branch behaviour).
28
+ */
29
+ base?: string;
30
+ /**
31
+ * Show the hover Accept/Reject controls (default true). The ambient review overlay disables them
32
+ * (DESIGN §4, Decision 4: the companion cards are the review surface); the explicit compare path
33
+ * keeps them as its inline accept mechanism.
34
+ */
35
+ hoverControls?: boolean;
36
+ /**
37
+ * Optional grouping policy: coalesce an author's adjacent hunks into one reviewable unit (see
38
+ * {@link groupHunks}). Omit to render one control per raw hunk.
39
+ */
40
+ group?: GroupPolicy;
41
+ /**
42
+ * Invoked when a change is accepted. When provided, the container owns the mutation (routing the
43
+ * accept through a durable operation that merges the hunk to the parent), so the extension does NOT
44
+ * splice locally — it only dismisses the widget. Absent ⇒ the extension splices the source's text
45
+ * into the document directly (standalone use).
46
+ */
47
+ onAccept?: (hunk: DiffHunk, author: string) => void;
48
+ /**
49
+ * Invoked when a change is rejected. Lets the container route the reject through a durable operation
50
+ * (revert the hunk on the author's branch). The widget is dismissed either way.
51
+ */
52
+ onReject?: (hunk: DiffHunk, author: string) => void;
53
+ /** Invoked when a change is clicked in the document, so the host can reveal it elsewhere. */
54
+ onSelect?: (hunk: DiffHunk, author: string) => void;
55
+ };
56
+ /**
57
+ * Position-independent key so a dismissal survives offset shifts from unrelated edits. Scoped by
58
+ * author so dismissing one author's change never hides an identical change by another.
59
+ */
60
+ export declare const suggestionKey: (hunk: DiffHunk, author: string) => string;
61
+ /**
62
+ * Google-Docs-style multi-author suggestion overlay: renders each change between the editor's
63
+ * document (the base) and every {@link SuggestionSource} in place — the removed original struck
64
+ * through, the proposed replacement shown beside it, tinted with the author's colour — with hover
65
+ * Accept/Reject controls in the (non-clipped) tooltip layer. Overlapping suggestions from different
66
+ * authors stack deterministically (by
67
+ * offset, then author). Accept splices the source's version of that hunk into the document (merging
68
+ * the change); Reject hides the suggestion without altering the document (a view-only dismissal for
69
+ * the session).
70
+ */
71
+ export declare const suggestions: ({ sources, base, group, hoverControls, onAccept, onReject, onSelect, }: SuggestionsOptions) => Extension;
72
+ export type SuggestChangesOptions = {
73
+ /** The proposal (e.g. a branch's content) whose changes are suggested over the editor's document. */
74
+ proposal: string;
75
+ /**
76
+ * Author colour for the inline markers — pass the branch author's palette colour (e.g.
77
+ * `var(--color-<hue>-text)`) so the suggestion reads with the author's consistent colour. Defaults
78
+ * to the success colour for a standalone (author-agnostic) review.
79
+ */
80
+ colour?: string;
81
+ onAccept?: (hunk: DiffHunk) => void;
82
+ onReject?: (hunk: DiffHunk) => void;
83
+ };
84
+ /**
85
+ * Single-source suggestion overlay — the common case of one proposal (e.g. a branch) reviewed against
86
+ * the editor's document. A thin wrapper over {@link suggestions}.
87
+ */
88
+ export declare const suggestChanges: ({ proposal, colour, onAccept, onReject, }: SuggestChangesOptions) => Extension;
89
+ //# sourceMappingURL=suggest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"suggest.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/review/suggest.ts"],"names":[],"mappings":"AAIA,OAAO,EAAoB,KAAK,SAAS,EAAqC,MAAM,mBAAmB,CAAC;AAcxG,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,WAAW,EAOjB,MAAM,QAAQ,CAAC;AAEhB,0EAA0E;AAC1E,MAAM,MAAM,gBAAgB,GAAG;IAC7B,4FAA4F;IAC5F,MAAM,EAAE,MAAM,CAAC;IACf,iGAAiG;IACjG,MAAM,EAAE,MAAM,CAAC;IACf,yGAAyG;IACzG,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,8EAA8E;IAC9E,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,6FAA6F;IAC7F,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACrD,CAAC;AAKF;;;GAGG;AACH,eAAO,MAAM,aAAa,SAAU,QAAQ,UAAU,MAAM,KAAG,MAAsD,CAAC;AActH;;;;;;;;;GASG;AACH,eAAO,MAAM,WAAW,2EAQrB,kBAAkB,KAAG,SAwIvB,CAAC;AA4HF,MAAM,MAAM,qBAAqB,GAAG;IAClC,qGAAqG;IACrG,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACpC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;CACrC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,8CAKxB,qBAAqB,KAAG,SAKvB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=suggest.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"suggest.test.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/review/suggest.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,25 @@
1
+ import { type Extension } from '@codemirror/state';
2
+ import { EditorView } from '@codemirror/view';
3
+ import { type DiffHunk } from './diff';
4
+ import { type SuggestionSource } from './suggest';
5
+ export type SuggestionsOverlay = {
6
+ /** Initially empty; install once alongside the editor's other extensions. */
7
+ extension: Extension;
8
+ /**
9
+ * Live-swaps the aggregated suggestion sources without remounting the editor. Pass `base` (the
10
+ * accepted `main`) when the editor is bound to a diverged document (e.g. the user's own suggestion
11
+ * branch in Suggesting mode) so each source is diffed against `base` and rebased into the document's
12
+ * coordinates; omit it to diff sources directly against the editor document.
13
+ */
14
+ reconfigure: (view: EditorView, sources: SuggestionSource[], enabled: boolean, base?: string) => void;
15
+ };
16
+ /**
17
+ * Compartment-backed overlay of ALL active suggestion branches' changes for the ambient review
18
+ * model: the editor's default view renders every open suggestion branch as a live suggestion layer,
19
+ * and the controller reconfigures the aggregated `sources` in place as branches open/close/edit —
20
+ * mirroring how `MarkdownArticle` reconfigures its compare overlay via `compareCompartment`, so
21
+ * toggling the overlay never remounts the editor (which would rebind automerge and lose
22
+ * scroll/selection).
23
+ */
24
+ export declare const suggestionsOverlay: (onAccept?: (hunk: DiffHunk, author: string) => void, onReject?: (hunk: DiffHunk, author: string) => void, onSelect?: (hunk: DiffHunk, author: string) => void) => SuggestionsOverlay;
25
+ //# sourceMappingURL=suggestions-overlay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"suggestions-overlay.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/review/suggestions-overlay.ts"],"names":[],"mappings":"AAIA,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,KAAK,gBAAgB,EAAe,MAAM,WAAW,CAAC;AAE/D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,6EAA6E;IAC7E,SAAS,EAAE,SAAS,CAAC;IACrB;;;;;OAKG;IACH,WAAW,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,gBAAgB,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CACvG,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,cAClB,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,aACxC,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,aACxC,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,KAClD,kBAeF,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=suggestions-overlay.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"suggestions-overlay.test.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/review/suggestions-overlay.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,27 @@
1
+ import { type Extension } from '@codemirror/state';
2
+ export type TrackChangesOptions = {
3
+ /**
4
+ * The accepted base (`main`) the branch is diffed against. The editor's document is the branch, so
5
+ * insertions and deletions are computed relative to this. Replace it live with {@link setBase} (e.g.
6
+ * when a merge lands on main) rather than rebuilding the extension.
7
+ */
8
+ main: string;
9
+ /** The branch author's palette colour (e.g. `var(--color-cyan-text)`) applied to the tracked marks. */
10
+ colour: string;
11
+ };
12
+ /**
13
+ * Replaces the tracked base without rebuilding the extension, so a merge to main re-diffs the live
14
+ * document. The base is a {@link StateField} fed by this effect rather than a closure constant, matching
15
+ * the production shape (see the bind-to-branch spike).
16
+ */
17
+ export declare const setBase: import("@codemirror/state").StateEffectType<string>;
18
+ /**
19
+ * Google-Docs-style "Suggesting mode" via bind-to-branch: the editor is bound to the branch document
20
+ * and edits accrue natively to it, while the diff against {@link TrackChangesOptions.main} is decorated
21
+ * over the live buffer — insertions as author-coloured underlined marks, deletions as phantom
22
+ * strikethrough widgets rendering the removed base text (which is absent from the document). A
23
+ * replacement renders both, `~~old~~new`. Single author; foreign authors compose via the separate
24
+ * `suggestions()` overlay.
25
+ */
26
+ export declare const trackChanges: ({ main, colour }: TrackChangesOptions) => Extension;
27
+ //# sourceMappingURL=track-changes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"track-changes.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/review/track-changes.ts"],"names":[],"mappings":"AAIA,OAAO,EAAoB,KAAK,SAAS,EAAqC,MAAM,mBAAmB,CAAC;AAQxG,MAAM,MAAM,mBAAmB,GAAG;IAChC;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;IACb,uGAAuG;IACvG,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,OAAO,qDAA+B,CAAC;AAEpD;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,qBAAsB,mBAAmB,KAAG,SA6FpE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=track-changes.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"track-changes.test.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/review/track-changes.test.ts"],"names":[],"mappings":""}
@@ -5,6 +5,7 @@ import { type EditorState, type Extension, StateField } from '@codemirror/state'
5
5
  * placeholder hint) to suppress themselves while something else owns the caret.
6
6
  */
7
7
  export declare const setBusy: import("@codemirror/state").StateEffectType<boolean>;
8
+ /** Shared busy StateField. Included by {@link busy}; exported for direct reads (see {@link isBusy}). */
8
9
  export declare const busyState: StateField<boolean>;
9
10
  /** Whether any extension has flagged the editor busy. Safe when the field is absent (returns false). */
10
11
  export declare const isBusy: (state: EditorState) => boolean;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"busy.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/state/busy.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,SAAS,EAAe,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE9F;;;;GAIG;AACH,eAAO,MAAM,OAAO,sDAAgC,CAAC;AAErD,wGAAwG;AACxG,eAAO,MAAM,SAAS,qBAYpB,CAAC;AAEH,wGAAwG;AACxG,eAAO,MAAM,MAAM,UAAW,WAAW,KAAG,OAAiD,CAAC;AAE9F,gGAAgG;AAChG,eAAO,MAAM,IAAI,QAAO,SAAsB,CAAC"}
@@ -1,4 +1,8 @@
1
1
  import { StateField } from '@codemirror/state';
2
+ /**
3
+ * Boolean StateField holding the editor's current focus state.
4
+ * Included by {@link focus}; exported for direct reads.
5
+ */
2
6
  export declare const focusField: StateField<boolean>;
3
7
  /**
4
8
  * Manage focus.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"focus.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/state/focus.ts"],"names":[],"mappings":"AAIA,OAAO,EAAe,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAK5D;;;GAGG;AACH,eAAO,MAAM,UAAU,qBAWrB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,KAAK,iEAUjB,CAAC"}
@@ -0,0 +1,5 @@
1
+ export * from './busy';
2
+ export * from './focus';
3
+ export * from './modal';
4
+ export * from './selection';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/state/index.ts"],"names":[],"mappings":"AAIA,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modal.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/state/modal.ts"],"names":[],"mappings":"AAIA,OAAO,EAAe,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE5D,eAAO,MAAM,gBAAgB,sDAAgC,CAAC;AAE9D;;GAEG;AACH,eAAO,MAAM,eAAe,qBAY1B,CAAC"}
@@ -12,7 +12,7 @@ export type EditorSelectionState = {
12
12
  scrollTo?: number;
13
13
  selection?: EditorSelection;
14
14
  };
15
- export declare const EditorSelectionSchema: Schema.mutable<Schema.Struct<{
15
+ export declare const EditorSelection: Schema.mutable<Schema.Struct<{
16
16
  anchor: typeof Schema.Number;
17
17
  head: Schema.optional<typeof Schema.Number>;
18
18
  }>>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selection.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/state/selection.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAe,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEtF,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAOxC;;GAEG;AACH,eAAO,MAAM,UAAU,mDAA6B,CAAC;AAErD,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,eAAe,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,eAAe;;;GAGL,CAAC;AAExB,eAAO,MAAM,0BAA0B;;;;;;GAGhB,CAAC;AAExB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,oBAAoB,KAAK,IAAI,CAAC;IAC5D,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,oBAAoB,GAAG,SAAS,CAAC;CAC5D,CAAC;AAIF,eAAO,MAAM,4BAA4B,4BAA6B,oBAAoB,KAAG,eAO5F,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,4BAA4B,OAAO,CAAC,gBAAgB,CAAC,KAAQ,SAyCvF,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selection.test.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/state/selection.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export * from './pending';
2
+ export * from './scrolling';
3
+ export * from './typewriter';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/streaming/index.ts"],"names":[],"mappings":"AAIA,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/extensions/streaming/pending/index.ts"],"names":[],"mappings":"AAIA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pending-text-stream.d.ts","sourceRoot":"","sources":["../../../../../../src/extensions/streaming/pending/pending-text-stream.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAcnD;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,CAAC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACjE,uCAAuC;IACvC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,2CAA2C;IAC3C,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,yEAAyE;IACzE,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,MAAM,IAAI,IAAI,CAAC;CAChB,CAAC;AAEF,2FAA2F;AAC3F,eAAO,MAAM,qBAAqB,SAAU,UAAU,KAAG,eAOvD,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,4DAA4D;AAC5D,eAAO,MAAM,qBAAqB,cACrB,CAAC,QAAQ,EAAE,mBAAmB,KAAK,IAAI,KACjD,eAAe,GAAG;IAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;CAezD,CAAC;AAMF,iFAAiF;AACjF,MAAM,MAAM,SAAS,GAAG;IACtB,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;IAC1D,YAAY,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CACzC,CAAC;AAOF,MAAM,MAAM,0BAA0B,GAAG;IACvC,2FAA2F;IAC3F,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mGAAmG;IACnG,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACxB,mCAAmC;IACnC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gFAAgF;IAChF,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,gGAAgG;IAChG,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1D,yDAAyD;IACzD,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC;AASF;;;;GAIG;AACH,qBAAa,mBAAmB;;IAiB9B,YAAY,IAAI,EAAE,eAAe,EAAE,OAAO,GAAE,0BAA+B,EAI1E;IAED,uGAAuG;IACvG,KAAK,CAAC,OAAO,GAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,IAAI,CAanE;IAED,mDAAmD;IACnD,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAUvB;IAED,uEAAuE;IACvE,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAO9B;IAED;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAqB3B;IAED,OAAO,IAAI,IAAI,CAId;CAqEF"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pending-text-stream.test.d.ts","sourceRoot":"","sources":["../../../../../../src/extensions/streaming/pending/pending-text-stream.test.ts"],"names":[],"mappings":""}
@@ -25,6 +25,7 @@ export declare const setPendingInterim: import("@codemirror/state").StateEffectT
25
25
  export declare const setPendingFinal: import("@codemirror/state").StateEffectType<string>;
26
26
  /** Discard the pending buffer without modifying the document. */
27
27
  export declare const cancelPendingText: import("@codemirror/state").StateEffectType<void>;
28
+ /** StateField holding the pending text buffer (anchor, final, interim, placeholder); building block of the pendingText extension. */
28
29
  export declare const pendingTextState: StateField<PendingTextState | null>;
29
30
  /**
30
31
  * Insert the finalized pending text into the document and clear the buffer. The text is terminated
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pending-text.d.ts","sourceRoot":"","sources":["../../../../../../src/extensions/streaming/pending/pending-text.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAe,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAE,KAAK,OAAO,EAA8C,MAAM,kBAAkB,CAAC;AAW5F;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,+GAA+G;AAC/G,eAAO,MAAM,gBAAgB;YAAgC,MAAM;kBAAgB,MAAM;EAAK,CAAC;AAE/F,4FAA4F;AAC5F,eAAO,MAAM,iBAAiB,qDAA+B,CAAC;AAE9D,2CAA2C;AAC3C,eAAO,MAAM,iBAAiB,qDAA+B,CAAC;AAE9D,8EAA8E;AAC9E,eAAO,MAAM,eAAe,qDAA+B,CAAC;AAE5D,iEAAiE;AACjE,eAAO,MAAM,iBAAiB,mDAA6B,CAAC;AAS5D,qIAAqI;AACrI,eAAO,MAAM,gBAAgB,qCA2B3B,CAAC;AASH;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,OAe3B,CAAC;AAEF,+DAA+D;AAC/D,eAAO,MAAM,aAAa,EAAE,OAO3B,CAAC;AA8GF;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,QAAO,SAW9B,CAAC"}