edytor 1.0.0-rc.3 → 2.0.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 (667) hide show
  1. package/README.md +21 -39
  2. package/dist/block/block.svelte.d.ts +11 -84
  3. package/dist/block/block.svelte.js +30 -134
  4. package/dist/block/colors.d.ts +0 -9
  5. package/dist/block/colors.js +1 -18
  6. package/dist/block/contentRange.d.ts +5 -1
  7. package/dist/block/contentRange.js +15 -16
  8. package/dist/block/inlineBlock.svelte.d.ts +11 -9
  9. package/dist/block/inlineBlock.svelte.js +18 -21
  10. package/dist/clipboard/createClipboardFragment.js +22 -64
  11. package/dist/clipboard/fragmentData.js +17 -42
  12. package/dist/clipboard/htmlFlow.js +7 -7
  13. package/dist/clipboard/insertClipboardFragment.js +5 -4
  14. package/dist/clipboard/moveText.js +16 -8
  15. package/dist/clipboard/serializeClipboardFragment.d.ts +2 -0
  16. package/dist/clipboard/serializeClipboardFragment.js +32 -28
  17. package/dist/cloudflare/DocumentRoom.d.ts +4 -17
  18. package/dist/cloudflare/DocumentRoom.js +3 -5
  19. package/dist/cloudflare/move.d.ts +1 -18
  20. package/dist/cloudflare/move.js +2 -48
  21. package/dist/cloudflare/room/admission.d.ts +1 -60
  22. package/dist/cloudflare/room/admission.js +25 -29
  23. package/dist/cloudflare/room/comments.d.ts +1 -3
  24. package/dist/cloudflare/room/comments.js +6 -6
  25. package/dist/cloudflare/room/context.d.ts +25 -82
  26. package/dist/cloudflare/room/context.js +8 -8
  27. package/dist/cloudflare/room/forged.d.ts +1 -1
  28. package/dist/cloudflare/room/forged.js +2 -12
  29. package/dist/cloudflare/room/frames.d.ts +1 -1
  30. package/dist/cloudflare/room/frames.js +1 -1
  31. package/dist/cloudflare/room/history.d.ts +1 -25
  32. package/dist/cloudflare/room/history.js +39 -54
  33. package/dist/cloudflare/room/moves.d.ts +1 -13
  34. package/dist/cloudflare/room/moves.js +33 -57
  35. package/dist/cloudflare/room/presence.d.ts +1 -11
  36. package/dist/cloudflare/room/presence.js +4 -4
  37. package/dist/cloudflare/room/purge.d.ts +1 -2
  38. package/dist/cloudflare/room/purge.js +2 -2
  39. package/dist/cloudflare/room/replicas.d.ts +1 -7
  40. package/dist/cloudflare/room/replicas.js +2 -2
  41. package/dist/cloudflare/room/storage.d.ts +3 -32
  42. package/dist/cloudflare/room/storage.js +33 -108
  43. package/dist/cloudflare/room/updates.d.ts +4 -4
  44. package/dist/cloudflare/room/updates.js +17 -24
  45. package/dist/cloudflare/room/validation.d.ts +1 -5
  46. package/dist/cloudflare/room/validation.js +16 -37
  47. package/dist/collaboration/RemoteSelections.svelte +13 -17
  48. package/dist/collaboration/awarenessSelection.d.ts +22 -1
  49. package/dist/collaboration/awarenessSelection.js +42 -0
  50. package/dist/collaboration/comments/client.d.ts +2 -2
  51. package/dist/collaboration/comments/client.js +1 -1
  52. package/dist/collaboration/history/index.d.ts +5 -5
  53. package/dist/collaboration/history/index.js +5 -5
  54. package/dist/collaboration/history/panel.svelte.d.ts +91 -0
  55. package/dist/collaboration/history/panel.svelte.js +223 -0
  56. package/dist/collaboration/providers.d.ts +12 -3
  57. package/dist/collaboration/providers.js +5 -4
  58. package/dist/components/Block.svelte +42 -56
  59. package/dist/components/Block.svelte.d.ts +7 -5
  60. package/dist/components/Content.svelte +1 -5
  61. package/dist/components/Edytor.svelte +82 -99
  62. package/dist/components/Edytor.svelte.d.ts +16 -13
  63. package/dist/components/InlineBlock.svelte +1 -1
  64. package/dist/components/Ranges.svelte +96 -0
  65. package/dist/components/Ranges.svelte.d.ts +19 -0
  66. package/dist/components/Suggestion.svelte +3 -2
  67. package/dist/components/Text.svelte +2 -5
  68. package/dist/components/Text.svelte.d.ts +1 -1
  69. package/dist/crdt/admission.d.ts +2 -9
  70. package/dist/crdt/admission.js +3 -9
  71. package/dist/crdt/attribution/attribution.d.ts +11 -72
  72. package/dist/crdt/attribution/attribution.js +5 -52
  73. package/dist/crdt/attribution/block.d.ts +0 -78
  74. package/dist/crdt/attribution/block.js +1 -144
  75. package/dist/crdt/data.d.ts +18 -13
  76. package/dist/crdt/data.js +49 -71
  77. package/dist/crdt/doc/anchors.js +4 -4
  78. package/dist/crdt/doc/content.d.ts +5 -1
  79. package/dist/crdt/doc/content.js +3 -1
  80. package/dist/crdt/doc/delete.d.ts +1 -0
  81. package/dist/crdt/doc/funnel.d.ts +0 -23
  82. package/dist/crdt/doc/funnel.js +34 -85
  83. package/dist/crdt/doc/gate.d.ts +8 -9
  84. package/dist/crdt/doc/gate.js +7 -17
  85. package/dist/crdt/doc/history.d.ts +87 -14
  86. package/dist/crdt/doc/history.js +334 -149
  87. package/dist/crdt/doc/layout.d.ts +0 -1
  88. package/dist/crdt/doc/layout.js +2 -3
  89. package/dist/crdt/doc/meta.d.ts +4 -4
  90. package/dist/crdt/doc/meta.js +10 -21
  91. package/dist/crdt/doc/moves.d.ts +4 -4
  92. package/dist/crdt/doc/moves.js +5 -5
  93. package/dist/crdt/doc/plan.d.ts +2 -0
  94. package/dist/crdt/doc/plan.js +2 -0
  95. package/dist/crdt/doc/reads.d.ts +8 -5
  96. package/dist/crdt/doc/reads.js +49 -50
  97. package/dist/crdt/doc/seed.d.ts +15 -6
  98. package/dist/crdt/doc/seed.js +27 -26
  99. package/dist/crdt/doc/split-merge.d.ts +1 -3
  100. package/dist/crdt/doc/split-merge.js +4 -5
  101. package/dist/crdt/doc/steps.d.ts +3 -7
  102. package/dist/crdt/doc/steps.js +20 -9
  103. package/dist/crdt/doc/types.d.ts +0 -10
  104. package/dist/crdt/document.d.ts +32 -115
  105. package/dist/crdt/document.js +216 -302
  106. package/dist/crdt/edytor-doc.d.ts +689 -90
  107. package/dist/crdt/edytor-doc.js +74 -149
  108. package/dist/crdt/engine-api.d.ts +15 -47
  109. package/dist/crdt/engine.d.ts +7 -17
  110. package/dist/crdt/engine.js +9 -19
  111. package/dist/crdt/flow.d.ts +9 -37
  112. package/dist/crdt/flow.js +260 -238
  113. package/dist/crdt/index.d.ts +32 -85
  114. package/dist/crdt/index.js +21 -47
  115. package/dist/crdt/operations.d.ts +24 -33
  116. package/dist/crdt/operations.js +8 -17
  117. package/dist/crdt/placement/display.d.ts +0 -2
  118. package/dist/crdt/placement/display.js +0 -15
  119. package/dist/crdt/placement/model.d.ts +160 -12
  120. package/dist/crdt/placement/model.js +413 -414
  121. package/dist/crdt/placement/rank.d.ts +1 -5
  122. package/dist/crdt/placement/rank.js +28 -38
  123. package/dist/crdt/props.d.ts +32 -0
  124. package/dist/crdt/props.js +172 -0
  125. package/dist/crdt/protocol.d.ts +4 -5
  126. package/dist/crdt/protocol.js +3 -4
  127. package/dist/crdt/protocols/awareness.d.ts +3 -7
  128. package/dist/crdt/protocols/awareness.js +17 -33
  129. package/dist/crdt/protocols/envelope.d.ts +9 -29
  130. package/dist/crdt/protocols/envelope.js +8 -25
  131. package/dist/crdt/protocols/sync.d.ts +15 -30
  132. package/dist/crdt/protocols/sync.js +27 -89
  133. package/dist/crdt/providers/bound.d.ts +3 -1
  134. package/dist/crdt/providers/bound.js +3 -1
  135. package/dist/crdt/providers/container.d.ts +11 -17
  136. package/dist/crdt/providers/container.js +39 -27
  137. package/dist/crdt/providers/index.d.ts +34 -6
  138. package/dist/crdt/providers/index.js +106 -111
  139. package/dist/crdt/providers/indexeddb.d.ts +2 -12
  140. package/dist/crdt/providers/indexeddb.js +29 -90
  141. package/dist/crdt/providers/room.d.ts +58 -2
  142. package/dist/crdt/providers/room.js +38 -21
  143. package/dist/crdt/providers/websocket.d.ts +1 -1
  144. package/dist/crdt/providers/websocket.js +3 -4
  145. package/dist/crdt/purge.d.ts +2 -2
  146. package/dist/crdt/purge.js +69 -6
  147. package/dist/crdt/rangeDelete.d.ts +4 -42
  148. package/dist/crdt/rangeDelete.js +7 -6
  149. package/dist/crdt/restore.d.ts +21 -1
  150. package/dist/crdt/restore.js +54 -59
  151. package/dist/crdt/schema.d.ts +2 -2
  152. package/dist/crdt/schema.js +4 -5
  153. package/dist/crdt/semantics.d.ts +10 -15
  154. package/dist/crdt/semantics.js +22 -21
  155. package/dist/crdt/storage.d.ts +7 -13
  156. package/dist/crdt/storage.js +10 -24
  157. package/dist/crdt/structs.d.ts +42 -47
  158. package/dist/crdt/structs.js +76 -67
  159. package/dist/crdt/tables.d.ts +9 -0
  160. package/dist/crdt/tables.js +20 -0
  161. package/dist/crdt/text/delete-index.d.ts +0 -13
  162. package/dist/crdt/text/delete-index.js +7 -14
  163. package/dist/crdt/text/deletes.d.ts +9 -22
  164. package/dist/crdt/text/deletes.js +11 -74
  165. package/dist/crdt/text/index/cache.js +3 -3
  166. package/dist/crdt/text/index/fold.d.ts +1 -2
  167. package/dist/crdt/text/index/fold.js +15 -10
  168. package/dist/crdt/text/index/layout.d.ts +0 -10
  169. package/dist/crdt/text/index/layout.js +6 -20
  170. package/dist/crdt/text/index/records.js +2 -1
  171. package/dist/crdt/text/index/report.js +5 -6
  172. package/dist/crdt/text/index/shared.d.ts +11 -4
  173. package/dist/crdt/text/index/shared.js +8 -7
  174. package/dist/crdt/text/index/state.d.ts +3 -33
  175. package/dist/crdt/text/index/state.js +2 -4
  176. package/dist/crdt/text/model.d.ts +82 -2
  177. package/dist/crdt/text/model.js +344 -354
  178. package/dist/crdt/text/rows.d.ts +0 -2
  179. package/dist/crdt/text/rows.js +0 -11
  180. package/dist/crdt/text/runs.d.ts +6 -3
  181. package/dist/crdt/text/runs.js +132 -137
  182. package/dist/crdt/text/streams.d.ts +1 -1
  183. package/dist/crdt/text/streams.js +1 -1
  184. package/dist/crdt/vendor/yjs/API-NOTES.md +25 -8
  185. package/dist/crdt/vendor/yjs/UPSTREAM.md +288 -8
  186. package/dist/crdt/vendor/yjs/dts/global.d.ts +5 -26
  187. package/dist/crdt/vendor/yjs/dts/index.d.ts +10 -15
  188. package/dist/crdt/vendor/yjs/dts/structs/AbstractStruct.d.ts +2 -2
  189. package/dist/crdt/vendor/yjs/dts/structs/Item.d.ts +14 -219
  190. package/dist/crdt/vendor/yjs/dts/structs/Skip.d.ts +2 -2
  191. package/dist/crdt/vendor/yjs/dts/utils/BlockSet.d.ts +2 -2
  192. package/dist/crdt/vendor/yjs/dts/utils/Doc.d.ts +12 -123
  193. package/dist/crdt/vendor/yjs/dts/utils/ID.d.ts +1 -1
  194. package/dist/crdt/vendor/yjs/dts/utils/RangeCursor.d.ts +37 -58
  195. package/dist/crdt/vendor/yjs/dts/utils/Transaction.d.ts +3 -78
  196. package/dist/crdt/vendor/yjs/dts/utils/UpdateDecoder.d.ts +2 -81
  197. package/dist/crdt/vendor/yjs/dts/utils/UpdateEncoder.d.ts +2 -74
  198. package/dist/crdt/vendor/yjs/dts/utils/encoding-helpers.d.ts +4 -4
  199. package/dist/crdt/vendor/yjs/dts/utils/encoding.d.ts +6 -18
  200. package/dist/crdt/vendor/yjs/dts/utils/ids.d.ts +12 -237
  201. package/dist/crdt/vendor/yjs/dts/utils/positions.d.ts +5 -0
  202. package/dist/crdt/vendor/yjs/dts/utils/redo.d.ts +3 -0
  203. package/dist/crdt/vendor/yjs/dts/utils/transaction-helpers.d.ts +1 -3
  204. package/dist/crdt/vendor/yjs/dts/utils/updates.d.ts +6 -23
  205. package/dist/crdt/vendor/yjs/dts/ynode.d.ts +73 -498
  206. package/dist/crdt/vendor/yjs/global.d.ts +5 -26
  207. package/dist/crdt/vendor/yjs/src/index.js +11 -25
  208. package/dist/crdt/vendor/yjs/src/structs/AbstractStruct.js +1 -1
  209. package/dist/crdt/vendor/yjs/src/structs/GC.js +1 -1
  210. package/dist/crdt/vendor/yjs/src/structs/Item.js +10 -372
  211. package/dist/crdt/vendor/yjs/src/structs/Skip.js +1 -1
  212. package/dist/crdt/vendor/yjs/src/utils/BlockSet.js +2 -2
  213. package/dist/crdt/vendor/yjs/src/utils/Doc.js +14 -170
  214. package/dist/crdt/vendor/yjs/src/utils/ID.js +1 -1
  215. package/dist/crdt/vendor/yjs/src/utils/RangeCursor.js +61 -128
  216. package/dist/crdt/vendor/yjs/src/utils/StructStore.js +0 -22
  217. package/dist/crdt/vendor/yjs/src/utils/Transaction.js +17 -282
  218. package/dist/crdt/vendor/yjs/src/utils/UpdateDecoder.js +3 -130
  219. package/dist/crdt/vendor/yjs/src/utils/UpdateEncoder.js +2 -132
  220. package/dist/crdt/vendor/yjs/src/utils/encoding-helpers.js +4 -4
  221. package/dist/crdt/vendor/yjs/src/utils/encoding.js +49 -146
  222. package/dist/crdt/vendor/yjs/src/utils/ids.js +23 -900
  223. package/dist/crdt/vendor/yjs/src/utils/positions.js +115 -0
  224. package/dist/crdt/vendor/yjs/src/utils/redo.js +143 -0
  225. package/dist/crdt/vendor/yjs/src/utils/transaction-helpers.js +10 -127
  226. package/dist/crdt/vendor/yjs/src/utils/updates.js +7 -50
  227. package/dist/crdt/vendor/yjs/src/ynode.js +261 -2226
  228. package/dist/dnd/autoScroll.js +1 -2
  229. package/dist/{plugins/blockHandles → dnd}/dropIndicator.d.ts +2 -2
  230. package/dist/{plugins/blockHandles → dnd}/dropIndicator.js +52 -60
  231. package/dist/{plugins/blockHandles → dnd}/geometry.d.ts +4 -3
  232. package/dist/{plugins/blockHandles → dnd}/geometry.js +6 -6
  233. package/dist/dnd/placement.d.ts +200 -0
  234. package/dist/dnd/placement.js +426 -0
  235. package/dist/dnd/pragmatic.d.ts +4 -22
  236. package/dist/dnd/pragmatic.js +7 -26
  237. package/dist/dnd/track.d.ts +14 -0
  238. package/dist/dnd/track.js +55 -0
  239. package/dist/dnd/vendor/pragmatic/UPSTREAM.md +103 -0
  240. package/dist/dnd/vendor/pragmatic/bind-event-listener/LICENSE +21 -0
  241. package/dist/dnd/vendor/pragmatic/bind-event-listener/bind-all.js +46 -0
  242. package/dist/dnd/vendor/pragmatic/bind-event-listener/bind.js +7 -0
  243. package/dist/dnd/vendor/pragmatic/bind-event-listener/index.js +2 -0
  244. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/LICENSE.md +11 -0
  245. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/adapter/element-adapter-native-data-key.js +6 -0
  246. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/adapter/element-adapter.d.ts +57 -0
  247. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/adapter/element-adapter.js +306 -0
  248. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/entry-point/element/adapter.d.ts +8 -0
  249. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/entry-point/element/adapter.js +10 -0
  250. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/entry-point/element/set-custom-native-drag-preview.d.ts +4 -0
  251. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/entry-point/element/set-custom-native-drag-preview.js +6 -0
  252. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/entry-point/types.d.ts +1 -0
  253. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/honey-pot-fix/get-element-from-point-without-honey-pot.js +12 -0
  254. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/honey-pot-fix/honey-pot-data-attribute.js +3 -0
  255. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/honey-pot-fix/is-honey-pot-element.js +4 -0
  256. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/honey-pot-fix/make-honey-pot-fix.js +333 -0
  257. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/internal-types.d.ts +350 -0
  258. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/ledger/dispatch-consumer-event.js +128 -0
  259. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/ledger/lifecycle-manager.js +340 -0
  260. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/ledger/usage-ledger.js +32 -0
  261. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/make-adapter/make-adapter.js +59 -0
  262. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/make-adapter/make-drop-target.js +288 -0
  263. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/make-adapter/make-monitor.js +85 -0
  264. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/public-utils/combine.js +6 -0
  265. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/public-utils/element/custom-native-drag-preview/set-custom-native-drag-preview.d.ts +36 -0
  266. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/public-utils/element/custom-native-drag-preview/set-custom-native-drag-preview.js +153 -0
  267. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/public-utils/element/custom-native-drag-preview/types.d.ts +16 -0
  268. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/public-utils/once.js +13 -0
  269. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/add-attribute.js +7 -0
  270. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/android.js +10 -0
  271. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/changing-window/count-events-for-safari.js +104 -0
  272. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/changing-window/is-from-another-window.js +16 -0
  273. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/changing-window/is-leaving-window-in-safari.js +12 -0
  274. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/changing-window/is-leaving-window.js +55 -0
  275. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/detect-broken-drag.js +48 -0
  276. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/get-input.js +14 -0
  277. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/is-firefox.js +13 -0
  278. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/is-safari.js +19 -0
  279. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/max-z-index.js +3 -0
  280. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/media-types/text-media-type.js +6 -0
  281. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/media-types/url-media-type.js +6 -0
  282. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/popover-reset-styles.js +40 -0
  283. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/supports-popover.js +16 -0
  284. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/LICENSE.md +11 -0
  285. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/entry-point/element.d.ts +4 -0
  286. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/entry-point/element.js +8 -0
  287. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/internal-types.d.ts +50 -0
  288. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/over-element/data-attributes.js +9 -0
  289. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/over-element/get-scroll-by.js +117 -0
  290. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/over-element/make-api.js +90 -0
  291. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/over-element/try-scroll.js +183 -0
  292. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/axis.js +22 -0
  293. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/can-scroll-on-edge.js +17 -0
  294. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/configuration.js +49 -0
  295. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/edges.js +9 -0
  296. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/engagement-history.js +43 -0
  297. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/get-over-element-hitbox.js +50 -0
  298. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/get-percentage-in-range.js +19 -0
  299. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/get-scroll-change.js +106 -0
  300. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/is-axis-allowed.js +3 -0
  301. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/is-within.js +11 -0
  302. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/scheduler.js +104 -0
  303. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/side.js +6 -0
  304. package/dist/dnd/vendor/pragmatic/raf-schd/LICENSE +21 -0
  305. package/dist/dnd/vendor/pragmatic/raf-schd/raf-schd.esm.js +34 -0
  306. package/dist/edytor.svelte.d.ts +46 -63
  307. package/dist/edytor.svelte.js +126 -181
  308. package/dist/events/beforeInputCommands.d.ts +6 -11
  309. package/dist/events/beforeInputCommands.js +189 -181
  310. package/dist/events/beforeInputDeleteCommands.d.ts +20 -1
  311. package/dist/events/beforeInputDeleteCommands.js +153 -204
  312. package/dist/events/domTextOffset.d.ts +9 -9
  313. package/dist/events/domTextOffset.js +20 -48
  314. package/dist/events/events.utils.d.ts +0 -2
  315. package/dist/events/events.utils.js +0 -4
  316. package/dist/events/nativeInteractiveControl.d.ts +13 -13
  317. package/dist/events/nativeInteractiveControl.js +28 -56
  318. package/dist/events/onBeforeInput.d.ts +6 -1
  319. package/dist/events/onBeforeInput.js +207 -331
  320. package/dist/events/onCopy.js +1 -5
  321. package/dist/events/onDrop.d.ts +7 -1
  322. package/dist/events/onDrop.js +64 -78
  323. package/dist/events/onFocus.d.ts +9 -4
  324. package/dist/events/onFocus.js +45 -67
  325. package/dist/events/onInput.d.ts +8 -4
  326. package/dist/events/onInput.js +34 -147
  327. package/dist/events/onKeyDown.js +55 -122
  328. package/dist/events/onPaste.d.ts +14 -1
  329. package/dist/events/onPaste.js +51 -76
  330. package/dist/index.d.ts +11 -15
  331. package/dist/index.js +3 -3
  332. package/dist/kinds.d.ts +4 -6
  333. package/dist/kinds.js +28 -27
  334. package/dist/labels.d.ts +83 -320
  335. package/dist/labels.js +181 -408
  336. package/dist/plugins/Chrome.svelte +29 -0
  337. package/dist/plugins/Chrome.svelte.d.ts +32 -0
  338. package/dist/plugins/Control.svelte +23 -0
  339. package/dist/plugins/Control.svelte.d.ts +30 -0
  340. package/dist/plugins/anchored.svelte.d.ts +47 -0
  341. package/dist/plugins/anchored.svelte.js +73 -0
  342. package/dist/plugins/arrowMove/arrowMove.d.ts +2 -1
  343. package/dist/plugins/arrowMove/arrowMove.js +9 -5
  344. package/dist/plugins/bands.svelte.d.ts +57 -0
  345. package/dist/plugins/bands.svelte.js +95 -0
  346. package/dist/plugins/blockHandles/BlockHandle.svelte +14 -154
  347. package/dist/plugins/blockHandles/BlockHandle.svelte.d.ts +2 -2
  348. package/dist/plugins/blockHandles/BlockHandleController.svelte.d.ts +21 -196
  349. package/dist/plugins/blockHandles/BlockHandleController.svelte.js +158 -573
  350. package/dist/plugins/blockHandles/BlockHandles.svelte +15 -23
  351. package/dist/plugins/blockHandles/BlockHandles.svelte.d.ts +2 -2
  352. package/dist/plugins/blockHandles/blockHandlesPlugin.d.ts +25 -39
  353. package/dist/plugins/blockHandles/blockHandlesPlugin.js +130 -185
  354. package/dist/plugins/blockHandles/dragPreview.d.ts +8 -6
  355. package/dist/plugins/blockHandles/dragPreview.js +18 -16
  356. package/dist/plugins/blockMenu/BlockMenuController.svelte.d.ts +28 -38
  357. package/dist/plugins/blockMenu/BlockMenuController.svelte.js +116 -183
  358. package/dist/plugins/blockMenu/blockMenuPlugin.d.ts +1 -3
  359. package/dist/plugins/blockMenu/blockMenuPlugin.js +12 -29
  360. package/dist/plugins/brand.d.ts +8 -0
  361. package/dist/plugins/brand.js +8 -0
  362. package/dist/plugins/chrome.d.ts +45 -38
  363. package/dist/plugins/chrome.js +59 -36
  364. package/dist/plugins/code/CodeHeader.svelte +8 -38
  365. package/dist/plugins/code/CodePlugin.svelte +53 -56
  366. package/dist/plugins/code/CodePlugin.svelte.d.ts +0 -2
  367. package/dist/plugins/code/LanguageMenu.svelte +16 -125
  368. package/dist/plugins/code/LanguageMenu.svelte.d.ts +2 -1
  369. package/dist/plugins/code/code.css +5 -117
  370. package/dist/plugins/code/header.svelte.d.ts +2 -11
  371. package/dist/plugins/code/header.svelte.js +11 -38
  372. package/dist/plugins/code/languageMenu.svelte.d.ts +12 -32
  373. package/dist/plugins/code/languageMenu.svelte.js +30 -160
  374. package/dist/plugins/code/languages.d.ts +9 -22
  375. package/dist/plugins/code/languages.js +39 -128
  376. package/dist/plugins/columns/ColumnResize.svelte +16 -27
  377. package/dist/plugins/columns/ColumnResize.svelte.d.ts +1 -1
  378. package/dist/plugins/columns/ColumnsPlugin.svelte +46 -78
  379. package/dist/plugins/columns/ColumnsPlugin.svelte.d.ts +0 -12
  380. package/dist/plugins/columns/columns.css +7 -26
  381. package/dist/plugins/columns/gaps.d.ts +7 -5
  382. package/dist/plugins/columns/gaps.js +11 -6
  383. package/dist/plugins/columns/resize.svelte.d.ts +17 -54
  384. package/dist/plugins/columns/resize.svelte.js +80 -173
  385. package/dist/plugins/comments/CommentsController.svelte.d.ts +1 -4
  386. package/dist/plugins/comments/CommentsController.svelte.js +14 -25
  387. package/dist/plugins/comments/CommentsSidebar.svelte +82 -431
  388. package/dist/plugins/comments/CommentsSidebar.svelte.d.ts +4 -2
  389. package/dist/plugins/comments/commentsPlugin.d.ts +25 -9
  390. package/dist/plugins/comments/commentsPlugin.js +12 -10
  391. package/dist/plugins/equation/EquationEditor.svelte +16 -130
  392. package/dist/plugins/equation/EquationEditor.svelte.d.ts +1 -2
  393. package/dist/plugins/equation/EquationPlugin.svelte +109 -172
  394. package/dist/plugins/equation/EquationPlugin.svelte.d.ts +3 -2
  395. package/dist/plugins/equation/EquationView.svelte +20 -11
  396. package/dist/plugins/equation/equation.css +7 -0
  397. package/dist/plugins/equation/equation.svelte.d.ts +37 -24
  398. package/dist/plugins/equation/equation.svelte.js +20 -94
  399. package/dist/plugins/equation/katex.js +6 -9
  400. package/dist/plugins/fileDrop.d.ts +28 -0
  401. package/dist/plugins/fileDrop.js +116 -0
  402. package/dist/plugins/find/FindController.svelte.d.ts +8 -13
  403. package/dist/plugins/find/FindController.svelte.js +34 -55
  404. package/dist/plugins/find/findPlugin.d.ts +4 -8
  405. package/dist/plugins/find/findPlugin.js +29 -9
  406. package/dist/plugins/image/ImageChrome.svelte +6 -167
  407. package/dist/plugins/image/ImageChrome.svelte.d.ts +0 -2
  408. package/dist/plugins/image/ImagePlugin.svelte +71 -151
  409. package/dist/plugins/image/ImagePlugin.svelte.d.ts +12 -41
  410. package/dist/plugins/image/ImageToolbarHost.svelte +37 -0
  411. package/dist/plugins/image/ImageToolbarHost.svelte.d.ts +9 -0
  412. package/dist/plugins/image/controls.svelte.d.ts +6 -36
  413. package/dist/plugins/image/controls.svelte.js +43 -212
  414. package/dist/plugins/image/image.css +17 -0
  415. package/dist/plugins/image/image.d.ts +0 -5
  416. package/dist/plugins/image/image.js +0 -3
  417. package/dist/plugins/image/toolbar.svelte.d.ts +69 -0
  418. package/dist/plugins/image/toolbar.svelte.js +145 -0
  419. package/dist/plugins/index.d.ts +30 -26
  420. package/dist/plugins/index.js +28 -22
  421. package/dist/plugins/list.svelte.d.ts +128 -0
  422. package/dist/plugins/list.svelte.js +217 -0
  423. package/dist/plugins/markdownShortcuts.d.ts +1 -1
  424. package/dist/plugins/markdownShortcuts.js +10 -9
  425. package/dist/plugins/marquee/MarqueeBox.svelte +3 -20
  426. package/dist/plugins/marquee/MarqueeBox.svelte.d.ts +1 -1
  427. package/dist/plugins/marquee/MarqueeController.svelte.d.ts +0 -2
  428. package/dist/plugins/marquee/MarqueeController.svelte.js +20 -23
  429. package/dist/plugins/marquee/marquee.js +4 -21
  430. package/dist/plugins/marquee/marqueePlugin.d.ts +4 -3
  431. package/dist/plugins/marquee/marqueePlugin.js +16 -15
  432. package/dist/plugins/media/AudioPlugin.svelte +13 -88
  433. package/dist/plugins/media/AudioPlugin.svelte.d.ts +11 -4
  434. package/dist/plugins/media/BookmarkPlugin.svelte +113 -120
  435. package/dist/plugins/media/BookmarkPlugin.svelte.d.ts +10 -15
  436. package/dist/plugins/media/EmbedPlugin.svelte +82 -86
  437. package/dist/plugins/media/EmbedPlugin.svelte.d.ts +11 -17
  438. package/dist/plugins/media/EmptySlot.svelte +44 -0
  439. package/dist/plugins/media/EmptySlot.svelte.d.ts +25 -0
  440. package/dist/plugins/media/FilePlugin.svelte +45 -113
  441. package/dist/plugins/media/FilePlugin.svelte.d.ts +21 -4
  442. package/dist/plugins/media/MediaEmpty.svelte +51 -90
  443. package/dist/plugins/media/MediaEmpty.svelte.d.ts +26 -10
  444. package/dist/plugins/media/SourceBlock.svelte +200 -0
  445. package/dist/plugins/media/SourceBlock.svelte.d.ts +34 -0
  446. package/dist/plugins/media/UploadPreview.svelte +32 -0
  447. package/dist/plugins/media/UploadPreview.svelte.d.ts +11 -0
  448. package/dist/plugins/media/VideoPlugin.svelte +14 -97
  449. package/dist/plugins/media/VideoPlugin.svelte.d.ts +12 -5
  450. package/dist/plugins/media/empty.svelte.d.ts +47 -46
  451. package/dist/plugins/media/empty.svelte.js +67 -60
  452. package/dist/plugins/media/media.d.ts +97 -44
  453. package/dist/plugins/media/media.js +77 -99
  454. package/dist/plugins/media/upload.css +23 -0
  455. package/dist/plugins/media/urlPaste.svelte.d.ts +6 -37
  456. package/dist/plugins/media/urlPaste.svelte.js +32 -102
  457. package/dist/plugins/mention/MentionPlugin.svelte +84 -126
  458. package/dist/plugins/mention/MentionPlugin.svelte.d.ts +17 -27
  459. package/dist/plugins/mention/mention.css +6 -0
  460. package/dist/plugins/page/PageLink.svelte +54 -38
  461. package/dist/plugins/page/PagePlugin.svelte +20 -18
  462. package/dist/plugins/page/PagePlugin.svelte.d.ts +2 -4
  463. package/dist/plugins/page/page.d.ts +35 -9
  464. package/dist/plugins/page/page.js +3 -4
  465. package/dist/plugins/pageLink/PageLinkPlugin.svelte +154 -109
  466. package/dist/plugins/pageLink/PageLinkPlugin.svelte.d.ts +19 -26
  467. package/dist/plugins/pageLink/pageLink.css +6 -0
  468. package/dist/plugins/planned.d.ts +10 -0
  469. package/dist/plugins/planned.js +12 -0
  470. package/dist/plugins/richtext/CalloutIcon.svelte +13 -26
  471. package/dist/plugins/richtext/CalloutIconPicker.svelte +26 -0
  472. package/dist/plugins/richtext/CalloutIconPicker.svelte.d.ts +9 -0
  473. package/dist/plugins/richtext/EmptyBody.svelte +13 -20
  474. package/dist/plugins/richtext/RichTextControl.svelte +39 -0
  475. package/dist/plugins/richtext/RichTextControl.svelte.d.ts +8 -0
  476. package/dist/plugins/richtext/RichTextPlugin.svelte +174 -183
  477. package/dist/plugins/richtext/RichTextPlugin.svelte.d.ts +34 -34
  478. package/dist/plugins/richtext/TodoCheckbox.svelte +10 -21
  479. package/dist/plugins/richtext/TodoCheckbox.svelte.d.ts +0 -2
  480. package/dist/plugins/richtext/body.js +2 -2
  481. package/dist/plugins/richtext/calloutIcons.svelte.d.ts +50 -55
  482. package/dist/plugins/richtext/calloutIcons.svelte.js +86 -174
  483. package/dist/plugins/richtext/callouts.d.ts +15 -0
  484. package/dist/plugins/richtext/callouts.js +23 -0
  485. package/dist/plugins/richtext/controls.svelte.d.ts +110 -0
  486. package/dist/plugins/richtext/controls.svelte.js +126 -0
  487. package/dist/plugins/richtext/richTextOperations.js +37 -28
  488. package/dist/plugins/richtext/richtext.css +6 -0
  489. package/dist/plugins/slashMenu/SlashMenuController.svelte.d.ts +2 -14
  490. package/dist/plugins/slashMenu/SlashMenuController.svelte.js +34 -71
  491. package/dist/plugins/slashMenu/slashMenuPlugin.d.ts +9 -26
  492. package/dist/plugins/slashMenu/slashMenuPlugin.js +27 -68
  493. package/dist/plugins/suggestions/SuggestionBars.svelte +27 -84
  494. package/dist/plugins/suggestions/SuggestionBars.svelte.d.ts +9 -3
  495. package/dist/plugins/suggestions/suggestionsPlugin.d.ts +10 -18
  496. package/dist/plugins/suggestions/suggestionsPlugin.js +9 -24
  497. package/dist/plugins/table/TableChrome.svelte +40 -124
  498. package/dist/plugins/table/TablePlugin.svelte +106 -168
  499. package/dist/plugins/table/TablePlugin.svelte.d.ts +0 -4
  500. package/dist/plugins/table/chrome.svelte.d.ts +38 -141
  501. package/dist/plugins/table/chrome.svelte.js +340 -589
  502. package/dist/plugins/table/ops.d.ts +47 -0
  503. package/dist/plugins/table/ops.js +233 -0
  504. package/dist/plugins/table/table.css +16 -152
  505. package/dist/plugins/table/table.d.ts +15 -14
  506. package/dist/plugins/table/table.js +22 -16
  507. package/dist/plugins/toc/TableOfContents.svelte +32 -38
  508. package/dist/plugins/toc/TableOfContents.svelte.d.ts +1 -5
  509. package/dist/plugins/toc/TocPlugin.svelte +22 -22
  510. package/dist/plugins/toc/TocPlugin.svelte.d.ts +4 -6
  511. package/dist/plugins/toc/toc.d.ts +41 -10
  512. package/dist/plugins/toc/toc.js +2 -3
  513. package/dist/plugins/toolbar/ToolbarController.svelte.d.ts +4 -68
  514. package/dist/plugins/toolbar/ToolbarController.svelte.js +63 -89
  515. package/dist/plugins/toolbar/toolbarPlugin.d.ts +8 -18
  516. package/dist/plugins/toolbar/toolbarPlugin.js +28 -43
  517. package/dist/plugins/triggers/TriggerController.svelte.d.ts +4 -68
  518. package/dist/plugins/triggers/TriggerController.svelte.js +48 -129
  519. package/dist/plugins/triggers/place.d.ts +0 -9
  520. package/dist/plugins/triggers/place.js +1 -17
  521. package/dist/plugins/triggers/triggers.d.ts +31 -9
  522. package/dist/plugins/triggers/triggers.js +82 -62
  523. package/dist/plugins/uploads.svelte.d.ts +55 -24
  524. package/dist/plugins/uploads.svelte.js +123 -50
  525. package/dist/plugins.d.ts +187 -66
  526. package/dist/selection/domSelection.d.ts +13 -4
  527. package/dist/selection/domSelection.js +110 -183
  528. package/dist/selection/pointer.svelte.d.ts +8 -10
  529. package/dist/selection/pointer.svelte.js +32 -73
  530. package/dist/selection/replaceSelection.d.ts +21 -22
  531. package/dist/selection/replaceSelection.js +60 -69
  532. package/dist/selection/selection.svelte.d.ts +5 -73
  533. package/dist/selection/selection.svelte.js +224 -542
  534. package/dist/selection/selection.utils.d.ts +34 -11
  535. package/dist/selection/selection.utils.js +128 -247
  536. package/dist/selection/visibility.d.ts +3 -8
  537. package/dist/selection/visibility.js +7 -5
  538. package/dist/session/announcer.svelte.d.ts +2 -1
  539. package/dist/session/announcer.svelte.js +7 -3
  540. package/dist/session/attempt.d.ts +43 -39
  541. package/dist/session/attempt.js +62 -55
  542. package/dist/session/bindings.js +117 -145
  543. package/dist/session/commands.d.ts +47 -22
  544. package/dist/session/commands.js +208 -208
  545. package/dist/session/composition.svelte.d.ts +2 -4
  546. package/dist/session/composition.svelte.js +55 -65
  547. package/dist/session/editing/text.d.ts +6 -0
  548. package/dist/session/editing/text.js +17 -3
  549. package/dist/session/handles.d.ts +10 -1
  550. package/dist/session/handles.js +28 -0
  551. package/dist/session/history.d.ts +0 -4
  552. package/dist/session/history.js +16 -21
  553. package/dist/session/inputRules.d.ts +6 -3
  554. package/dist/session/inputRules.js +78 -83
  555. package/dist/session/keymap.d.ts +1 -6
  556. package/dist/session/keymap.js +17 -20
  557. package/dist/session/moves.d.ts +43 -10
  558. package/dist/session/moves.js +101 -59
  559. package/dist/session/navigation.d.ts +10 -2
  560. package/dist/session/navigation.js +140 -172
  561. package/dist/session/ports.d.ts +2 -7
  562. package/dist/session/props.d.ts +25 -25
  563. package/dist/session/props.js +62 -159
  564. package/dist/session/selection.d.ts +4 -3
  565. package/dist/session/selection.js +5 -0
  566. package/dist/session/suggestions.svelte.d.ts +1 -1
  567. package/dist/session/suggestions.svelte.js +42 -47
  568. package/dist/session/uploads.d.ts +29 -0
  569. package/dist/session/uploads.js +10 -0
  570. package/dist/session/virtual.d.ts +3 -3
  571. package/dist/session/virtual.js +18 -40
  572. package/dist/surface/attributes.d.ts +1 -0
  573. package/dist/surface/attributes.js +3 -26
  574. package/dist/surface/cells.d.ts +5 -0
  575. package/dist/surface/cells.js +5 -0
  576. package/dist/surface/lines.d.ts +2 -2
  577. package/dist/surface/lines.js +1 -1
  578. package/dist/surface/observer.svelte.d.ts +3 -20
  579. package/dist/surface/observer.svelte.js +52 -72
  580. package/dist/surface/overlay.d.ts +41 -3
  581. package/dist/surface/overlay.js +92 -37
  582. package/dist/surface/pin.svelte.d.ts +5 -0
  583. package/dist/surface/pin.svelte.js +5 -0
  584. package/dist/surface/projector.svelte.d.ts +4 -6
  585. package/dist/surface/projector.svelte.js +42 -69
  586. package/dist/text/text.svelte.d.ts +14 -40
  587. package/dist/text/text.svelte.js +35 -51
  588. package/dist/text/wordBoundary.d.ts +19 -0
  589. package/dist/text/wordBoundary.js +29 -44
  590. package/dist/themes/notion.css +272 -106
  591. package/dist/utils/json.d.ts +3 -1
  592. package/dist/utils/json.js +52 -51
  593. package/dist/utils/listen.d.ts +8 -0
  594. package/dist/utils/listen.js +19 -0
  595. package/package.json +4 -5
  596. package/dist/block/block.utils.d.ts +0 -340
  597. package/dist/block/block.utils.js +0 -356
  598. package/dist/collaboration/history/HistoryPanel.svelte +0 -554
  599. package/dist/collaboration/history/HistoryPanel.svelte.d.ts +0 -7
  600. package/dist/collaboration/history/panel.d.ts +0 -61
  601. package/dist/collaboration/history/panel.js +0 -3
  602. package/dist/components/SuggestionRanges.svelte +0 -58
  603. package/dist/components/SuggestionRanges.svelte.d.ts +0 -7
  604. package/dist/crdt/doc/table.d.ts +0 -21
  605. package/dist/crdt/doc/table.js +0 -288
  606. package/dist/crdt/migration/generation.d.ts +0 -58
  607. package/dist/crdt/migration/generation.js +0 -70
  608. package/dist/crdt/migration/legacy-schema.d.ts +0 -61
  609. package/dist/crdt/migration/legacy-schema.js +0 -151
  610. package/dist/crdt/migration/migrate.d.ts +0 -56
  611. package/dist/crdt/migration/migrate.js +0 -227
  612. package/dist/crdt/nodes.d.ts +0 -121
  613. package/dist/crdt/nodes.js +0 -56
  614. package/dist/crdt/text/index/checks.d.ts +0 -15
  615. package/dist/crdt/text/index/checks.js +0 -156
  616. package/dist/crdt/vendor/yjs/dts/utils/EventHandler.d.ts +0 -17
  617. package/dist/crdt/vendor/yjs/dts/utils/RelativePosition.d.ts +0 -80
  618. package/dist/crdt/vendor/yjs/dts/utils/UndoManager.d.ts +0 -205
  619. package/dist/crdt/vendor/yjs/dts/utils/YEvent.d.ts +0 -93
  620. package/dist/crdt/vendor/yjs/dts/utils/meta.d.ts +0 -25
  621. package/dist/crdt/vendor/yjs/dts/utils/renderer-helpers.d.ts +0 -98
  622. package/dist/crdt/vendor/yjs/dts/utils/schemas.d.ts +0 -2
  623. package/dist/crdt/vendor/yjs/src/utils/EventHandler.js +0 -75
  624. package/dist/crdt/vendor/yjs/src/utils/RelativePosition.js +0 -301
  625. package/dist/crdt/vendor/yjs/src/utils/UndoManager.js +0 -554
  626. package/dist/crdt/vendor/yjs/src/utils/YEvent.js +0 -158
  627. package/dist/crdt/vendor/yjs/src/utils/meta.js +0 -74
  628. package/dist/crdt/vendor/yjs/src/utils/renderer-helpers.js +0 -186
  629. package/dist/crdt/vendor/yjs/src/utils/schemas.js +0 -3
  630. package/dist/edytor.utils.d.ts +0 -50
  631. package/dist/edytor.utils.js +0 -67
  632. package/dist/plugins/blockMenu/BlockMenu.svelte +0 -335
  633. package/dist/plugins/blockMenu/BlockMenu.svelte.d.ts +0 -9
  634. package/dist/plugins/find/FindBar.svelte +0 -170
  635. package/dist/plugins/find/FindBar.svelte.d.ts +0 -9
  636. package/dist/plugins/find/FindHighlights.svelte +0 -75
  637. package/dist/plugins/find/FindHighlights.svelte.d.ts +0 -9
  638. package/dist/plugins/icons.d.ts +0 -2
  639. package/dist/plugins/icons.js +0 -63
  640. package/dist/plugins/image/ImageEmpty.svelte +0 -93
  641. package/dist/plugins/image/ImageEmpty.svelte.d.ts +0 -15
  642. package/dist/plugins/image/empty.svelte.d.ts +0 -56
  643. package/dist/plugins/image/empty.svelte.js +0 -83
  644. package/dist/plugins/keepInView.d.ts +0 -4
  645. package/dist/plugins/keepInView.js +0 -6
  646. package/dist/plugins/media/UrlPasteMenu.svelte +0 -92
  647. package/dist/plugins/media/UrlPasteMenu.svelte.d.ts +0 -9
  648. package/dist/plugins/richtext/CalloutIconMenu.svelte +0 -98
  649. package/dist/plugins/richtext/CalloutIconMenu.svelte.d.ts +0 -9
  650. package/dist/plugins/richtext/labels.d.ts +0 -9
  651. package/dist/plugins/richtext/labels.js +0 -7
  652. package/dist/plugins/slashMenu/SlashMenu.svelte +0 -276
  653. package/dist/plugins/slashMenu/SlashMenu.svelte.d.ts +0 -11
  654. package/dist/plugins/table/dragPreview.d.ts +0 -29
  655. package/dist/plugins/table/dragPreview.js +0 -103
  656. package/dist/plugins/toolbar/LinkCard.svelte +0 -122
  657. package/dist/plugins/toolbar/LinkCard.svelte.d.ts +0 -9
  658. package/dist/plugins/toolbar/Toolbar.svelte +0 -349
  659. package/dist/plugins/toolbar/Toolbar.svelte.d.ts +0 -9
  660. package/dist/plugins/triggers/TriggerMenu.svelte +0 -135
  661. package/dist/plugins/triggers/TriggerMenu.svelte.d.ts +0 -7
  662. package/dist/text/deltas.d.ts +0 -22
  663. package/dist/text/deltas.js +0 -46
  664. package/dist/text/text.utils.d.ts +0 -45
  665. package/dist/text/text.utils.js +0 -199
  666. /package/dist/{plugins/columns → dnd}/stacking.d.ts +0 -0
  667. /package/dist/{plugins/columns → dnd}/stacking.js +0 -0
@@ -0,0 +1,96 @@
1
+ <script lang="ts" module>
2
+ import type { PresencePoint } from '../collaboration/awarenessSelection.js';
3
+ import type { Edytor } from '../edytor.svelte.js';
4
+
5
+ /** A run of text the overlay marks: its ends, and whether it is the current one (`data-current`). */
6
+ export type MarkedRange = { start: PresencePoint; end: PresencePoint; current?: boolean };
7
+
8
+ /** The run of `length` at block offset `offset` of block `id` (none where it is not shown). */
9
+ export const runOf = (
10
+ edytor: Edytor,
11
+ id: string,
12
+ offset: number,
13
+ length: number,
14
+ current?: boolean
15
+ ): MarkedRange[] => {
16
+ const block = edytor.idToBlock.get(id);
17
+ const [start, end] = [block?.textAtOffset(offset), block?.textAtOffset(offset + length)];
18
+ return start && end ? [{ start, end, current }] : [];
19
+ };
20
+ </script>
21
+
22
+ <script lang="ts">
23
+ import { onMount } from 'svelte';
24
+ import { rangeRects, type RemoteSelectionRect } from '../collaboration/remoteSelection.js';
25
+
26
+ /**
27
+ * Runs of text marked in the overlay (never inside the host), one
28
+ * rectangle per line box, measured once per frame: the find matches, the
29
+ * text a `replace` suggestion removes, the comment being written. Each
30
+ * rectangle carries `data-edytor-<name>` (`data-current` on the current
31
+ * run's); the layer is `z`.
32
+ */
33
+ let {
34
+ edytor,
35
+ name,
36
+ z,
37
+ ranges
38
+ }: { edytor: Edytor; name: string; z: number; ranges: () => MarkedRange[] } = $props();
39
+
40
+ let rects: (RemoteSelectionRect & { current?: boolean })[] = $state([]);
41
+
42
+ onMount(() =>
43
+ edytor.overlay.add((origin) => {
44
+ const next = ranges().flatMap(({ start, end, current }) =>
45
+ rangeRects(edytor, start, end, origin).map((rect) => ({ ...rect, current }))
46
+ );
47
+ if (next.length || rects.length) return () => (rects = next);
48
+ })
49
+ );
50
+ // What the runs read changed: the overlay measures again.
51
+ $effect(() => {
52
+ void ranges();
53
+ edytor.overlay.invalidate();
54
+ });
55
+ </script>
56
+
57
+ <div data-edytor-ranges={name} contenteditable="false" aria-hidden="true" style:z-index={z}>
58
+ {#each rects as rect, index (index)}
59
+ <span
60
+ {...{ [`data-edytor-${name}`]: '' }}
61
+ data-current={rect.current || undefined}
62
+ style:left={`${rect.left}px`}
63
+ style:top={`${rect.top}px`}
64
+ style:width={`${rect.width}px`}
65
+ style:height={`${rect.height}px`}
66
+ ></span>
67
+ {/each}
68
+ </div>
69
+
70
+ <style>
71
+ [data-edytor-ranges] {
72
+ position: absolute;
73
+ left: 0;
74
+ top: 0;
75
+ pointer-events: none;
76
+ }
77
+ [data-edytor-ranges] > span {
78
+ position: absolute;
79
+ }
80
+ :global([data-edytor-find-match]) {
81
+ border-radius: 2px;
82
+ background: var(--edytor-find-match, rgb(255 212 0 / 0.3));
83
+ mix-blend-mode: multiply;
84
+ }
85
+ :global([data-edytor-find-match][data-current]) {
86
+ background: var(--edytor-find-current, rgb(255 166 0 / 0.55));
87
+ }
88
+ :global([data-edytor-suggestion-range]) {
89
+ background: var(--edytor-suggestion-removed, rgb(235 87 87 / 0.18));
90
+ border-bottom: 1px solid var(--edytor-suggestion-removed-line, rgb(235 87 87 / 0.6));
91
+ }
92
+ :global([data-edytor-comment-draft]) {
93
+ background: var(--edytor-comment-active, rgb(255 212 0 / 0.42));
94
+ mix-blend-mode: multiply;
95
+ }
96
+ </style>
@@ -0,0 +1,19 @@
1
+ import type { PresencePoint } from '../collaboration/awarenessSelection.js';
2
+ import type { Edytor } from '../edytor.svelte.js';
3
+ /** A run of text the overlay marks: its ends, and whether it is the current one (`data-current`). */
4
+ export type MarkedRange = {
5
+ start: PresencePoint;
6
+ end: PresencePoint;
7
+ current?: boolean;
8
+ };
9
+ /** The run of `length` at block offset `offset` of block `id` (none where it is not shown). */
10
+ export declare const runOf: (edytor: Edytor, id: string, offset: number, length: number, current?: boolean) => MarkedRange[];
11
+ type $$ComponentProps = {
12
+ edytor: Edytor;
13
+ name: string;
14
+ z: number;
15
+ ranges: () => MarkedRange[];
16
+ };
17
+ declare const Ranges: import("svelte").Component<$$ComponentProps, {}, "">;
18
+ type Ranges = ReturnType<typeof Ranges>;
19
+ export default Ranges;
@@ -3,6 +3,7 @@
3
3
  import type { Edytor } from '../edytor.svelte.js';
4
4
  import type { Suggestion } from '../session/suggestions.svelte.js';
5
5
  import { previewCells } from '../surface/cells.js';
6
+ import { editorEnglish, labelsOf } from '../labels.js';
6
7
  import Block from './Block.svelte';
7
8
 
8
9
  /**
@@ -28,12 +29,12 @@
28
29
  data-edytor-suggestion={suggestion.id}
29
30
  data-status={suggestion.status}
30
31
  contenteditable="false"
31
- aria-label={suggestion.label ?? edytor.labels.suggestion}
32
+ aria-label={suggestion.label ?? labelsOf(edytor, 'editor', editorEnglish).suggestion}
32
33
  role="group"
33
34
  use:edytor.surface.preview={suggestion.id}
34
35
  onmousedown={cancel}
35
36
  >
36
- {#each cells as cell (cell.id)}<Block id={cell.id} preview={cell} />{/each}
37
+ {#each cells as cell (cell.id)}<Block kid={cell} />{/each}
37
38
  </div>
38
39
 
39
40
  <style>
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
2
  import { getContext } from 'svelte';
3
3
  import type { Edytor } from '../edytor.svelte.js';
4
- import type { RenderDelta } from '../surface/cells.js';
4
+ import { rendersMark, type RenderDelta } from '../surface/cells.js';
5
5
  import { Text } from '../text/text.svelte.js';
6
6
  import Mark, { customAt } from './Mark.svelte';
7
7
  import CustomMark from './CustomMark.svelte';
@@ -61,10 +61,7 @@
61
61
 
62
62
  /** A delta's marks this view renders (an unknown mark renders its text only). */
63
63
  const rendered = (delta: RenderDelta): RenderDelta => {
64
- const known = delta.marks.filter(([name]) => {
65
- const definition = edytor.marks.get(name);
66
- return Boolean(definition?.snippet || definition?.tag);
67
- });
64
+ const known = delta.marks.filter(([name]) => rendersMark(edytor.marks, name));
68
65
  return known.length === delta.marks.length ? delta : { text: delta.text, marks: known };
69
66
  };
70
67
  const shown = $derived(empty ? FILLER : deltas);
@@ -1,4 +1,4 @@
1
- import type { RenderDelta } from '../surface/cells.js';
1
+ import { type RenderDelta } from '../surface/cells.js';
2
2
  import { Text } from '../text/text.svelte.js';
3
3
  type $$ComponentProps = {
4
4
  text: Text | undefined;
@@ -5,8 +5,7 @@
5
5
  * gate here, in the same order, with the same refusal semantics:
6
6
  *
7
7
  * 1. **`assertUsableDoc`** — is this a v14 engine doc at all
8
- * ({@link UnsupportedDocError} `'foreign'`), and is it a v13-era
9
- * layout that must be migrated rather than adopted (`'legacy'`)?
8
+ * ({@link UnsupportedDocError} `'foreign'`)?
10
9
  * 2. **`assertSchema`** — does the committed schema manifest allow
11
10
  * this build to own the doc ({@link SchemaMismatchError}:
12
11
  * `'unversioned'` content with no version stamp, `'unsupported'`
@@ -43,8 +42,6 @@
43
42
  * from the engine's pending store pending store discarded; a
44
43
  * stamp that got in anyway (raw
45
44
  * apply) makes the doc read-only
46
- * v13 migration `bindLegacyReader` gate → rebuild via legacy DB byte-identical; no
47
- * document-level `init` → `loadDocument` v14 generation activated
48
45
  *
49
46
  * TWO LAYERS. The transport layer (`providers/*`, `protocols/*`) proves
50
47
  * the generation of every frame and container and refuses updates that
@@ -108,8 +105,6 @@ export declare class UndecodableUpdateError extends Error {
108
105
  * - {@link UnsupportedDocError} `'foreign'` — not a v14 engine doc
109
106
  * (foreign roots/engines may still attach *content* later; this is
110
107
  * about doc shape);
111
- * - {@link UnsupportedDocError} `'legacy'` — v13-era layout present;
112
- * route through `crdt/migration` instead of attaching;
113
108
  * - {@link SchemaMismatchError} `'unversioned' | 'unsupported' |
114
109
  * 'foreign'` — a schema claim this build cannot own.
115
110
  *
@@ -137,9 +132,7 @@ export declare const bindAdmission: (Y: EngineApi) => {
137
132
  * Throws {@link UndecodableUpdateError} for payloads that fail to
138
133
  * decode/integrate at all, then the usual typed refusals.
139
134
  */
140
- admitUpdate: (update: Uint8Array | ReadonlyArray<Uint8Array | {
141
- v2: Uint8Array;
142
- }>, docName?: string, options?: {
135
+ admitUpdate: (update: Uint8Array | ReadonlyArray<Uint8Array>, docName?: string, options?: {
143
136
  /** Prepare the scratch doc before anything is applied (e.g. its `gcFilter`). */
144
137
  prepare?: (doc: YDoc) => void;
145
138
  }) => YDoc;
@@ -5,8 +5,7 @@
5
5
  * gate here, in the same order, with the same refusal semantics:
6
6
  *
7
7
  * 1. **`assertUsableDoc`** — is this a v14 engine doc at all
8
- * ({@link UnsupportedDocError} `'foreign'`), and is it a v13-era
9
- * layout that must be migrated rather than adopted (`'legacy'`)?
8
+ * ({@link UnsupportedDocError} `'foreign'`)?
10
9
  * 2. **`assertSchema`** — does the committed schema manifest allow
11
10
  * this build to own the doc ({@link SchemaMismatchError}:
12
11
  * `'unversioned'` content with no version stamp, `'unsupported'`
@@ -43,8 +42,6 @@
43
42
  * from the engine's pending store pending store discarded; a
44
43
  * stamp that got in anyway (raw
45
44
  * apply) makes the doc read-only
46
- * v13 migration `bindLegacyReader` gate → rebuild via legacy DB byte-identical; no
47
- * document-level `init` → `loadDocument` v14 generation activated
48
45
  *
49
46
  * TWO LAYERS. The transport layer (`providers/*`, `protocols/*`) proves
50
47
  * the generation of every frame and container and refuses updates that
@@ -92,8 +89,6 @@ export class UndecodableUpdateError extends Error {
92
89
  * - {@link UnsupportedDocError} `'foreign'` — not a v14 engine doc
93
90
  * (foreign roots/engines may still attach *content* later; this is
94
91
  * about doc shape);
95
- * - {@link UnsupportedDocError} `'legacy'` — v13-era layout present;
96
- * route through `crdt/migration` instead of attaching;
97
92
  * - {@link SchemaMismatchError} `'unversioned' | 'unsupported' |
98
93
  * 'foreign'` — a schema claim this build cannot own.
99
94
  *
@@ -138,10 +133,9 @@ export const bindAdmission = (Y) => ({
138
133
  admitUpdate: (update, docName = 'loaded document', options = {}) => {
139
134
  const doc = keepingReplaced(new Y.Doc());
140
135
  options.prepare?.(doc);
141
- const apply = (part) => part instanceof Uint8Array ? Y.applyUpdate(doc, part) : Y.applyUpdateV2(doc, part.v2);
136
+ const apply = (part) => Y.applyUpdate(doc, part);
142
137
  try {
143
- // Several updates (`{ v2 }`: in the v2 encoding) are applied in one
144
- // transaction, with no merge pass.
138
+ // Several updates are applied in one transaction, with no merge pass.
145
139
  if (update instanceof Uint8Array)
146
140
  apply(update);
147
141
  else
@@ -1,6 +1,5 @@
1
1
  /**
2
- * Legacy attribution surface: actor dictionary + inert reads over
3
- * pre-existing per-edit records.
2
+ * Attribution surface: the actor dictionary and the per-block records.
4
3
  *
5
4
  * The per-edit capture pipeline of earlier builds (immutable `a/<nonce>/<seq>` ContentMap records
6
5
  * written in a follow-up transaction per committed edit, projected onto
@@ -23,25 +22,15 @@
23
22
  * also travel inside `encode()` output, so `loadDocument` restores the
24
23
  * dictionary without republishing.
25
24
  *
26
- * LEGACY RECORDS — documents saved by pre-U2 builds carry `a/` records
27
- * under the same root. They are plain replicated state: preserved
28
- * verbatim by `encode()`/sync and readable through `legacy()`, which
29
- * decodes and merges them with the native `decodeContentMap` codecs.
30
- * This build never writes new `a/` records; old replicas that still do
31
- * simply append more keys — reads stay total and convergence is the
32
- * ordinary attribute-record merge.
33
- *
34
- * RETENTION — `a/` state is retained as long as it exists in the
35
- * document (no GC of the records themselves); `live()`/renderer
36
- * projections are gone, and the engine no longer ships concrete
37
- * renderers (fork patch YP8, UPSTREAM.md) — consumers that need a rendered view over
38
- * legacy records implement the engine's `AbstractRenderer` over the
39
- * `ContentMap` `legacy()` returns and pass it to `toDelta({renderer})`.
25
+ * LEGACY RECORDS — documents saved by early builds carry `a/` per-edit
26
+ * records under the same root. They are plain replicated state, preserved
27
+ * verbatim by `encode()`/sync (no GC of the records themselves); nothing
28
+ * reads them. This build never writes new `a/` records; old replicas that
29
+ * still do simply append more keys — convergence is the ordinary
30
+ * attribute-record merge.
40
31
  */
41
32
  import type { EngineApi, EngineDoc } from '../engine-api.js';
42
- import type * as Engine from '../vendor/yjs/dts/index.js';
43
33
  import { ATTRIBUTION_ROOT } from '../schema.js';
44
- import { type JSONBlock } from '../../utils/json.js';
45
34
  import { type BlockAttribution } from './block.js';
46
35
  /** Reserved replicated root for all attribution metadata (`SCHEMA.roots.attribution`). */
47
36
  export { ATTRIBUTION_ROOT };
@@ -63,7 +52,7 @@ export type ActorProfile = {
63
52
  color?: string;
64
53
  };
65
54
  /**
66
- * The document-level attribution surface. `actors`/`actorOf`/`legacy`
55
+ * The document-level attribution surface. `actors`/`actorOf`/`block`
67
56
  * read replicated doc state directly — they resolve remote-applied
68
57
  * records identically and stay correct as old replicas append records.
69
58
  */
@@ -78,16 +67,6 @@ export type DocumentAttribution = {
78
67
  * actor id; only the resolvable profile changes.
79
68
  */
80
69
  setProfile(profile: ActorProfile): void;
81
- /**
82
- * Merged read over the pre-existing `a/` records written by the
83
- * retired per-edit capture pipeline: `{inserts, deletes}` IdMaps in
84
- * the native ContentMap shape, decoded fresh per call. Returns `null`
85
- * when the document carries no legacy records. For a rendered history
86
- * view, implement the engine's `AbstractRenderer` over it (the engine
87
- * ships no concrete renderer); the ordinary
88
- * runs/projection surface does not consult it.
89
- */
90
- legacy(): Engine.ContentMap | null;
91
70
  /**
92
71
  * Compact per-block attribution for `blockId`
93
72
  * (`{createdBy, contributors, lastChangedBy}` — durable actor ids,
@@ -103,48 +82,6 @@ export type DocumentAttribution = {
103
82
  * present it as "written by" for visible text.
104
83
  */
105
84
  block(blockId: string): BlockAttribution | undefined;
106
- /**
107
- * Opt-in bounded lineage ring for `blockId` — the block's subtree
108
- * snapshots captured just BEFORE displacing events: another actor's
109
- * first write (an `l` handoff), a delete, or an undo/redo touching the
110
- * block. Oldest → newest, capped at the document's configured
111
- * `lineage.depth`; `undefined` when the block carries no record (and
112
- * empty when the feature is off or nothing has been displaced yet).
113
- *
114
- * The cap is enforced HERE, at read: concurrent appends under
115
- * partition can transiently store `depth + n` entries (the
116
- * append-side trim only sees the writer's own ring) until the
117
- * replicated watermark trim converges the stored ring — this view
118
- * never returns more than `depth`. A replica configured `depth: 0`
119
- * (writes off) instead sees the ring's own retention bound — the
120
- * deepest depth any surviving entry's writer used.
121
- *
122
- * Each entry's `block` is a deep-copied `JSONBlock` — restoring an
123
- * entry is an ordinary `setBlock`-class edit (which itself lands a
124
- * new entry, displacing the state it overwrote). Entries on a dead
125
- * block stay readable here — the record survives deletion — but a
126
- * reincarnated block id starts a FRESH ring: old history never
127
- * contaminates the new incarnation.
128
- */
129
- history(blockId: string): BlockLineageEntry[] | undefined;
130
- };
131
- /** A public lineage entry — the expanded form of the compact wire record. */
132
- export type BlockLineageEntry = {
133
- /** The displaced owner (absent when the block was unattributed at capture). */
134
- actor?: string;
135
- /** The actor whose edit displaced the state (or whose undo/redo touched the block). */
136
- by: string;
137
- /**
138
- * Ring position at append — a display aid only. It can REPEAT (a trim
139
- * rewinds the position counter, and concurrent replicas assign the
140
- * same position independently): never an entry id — array order is
141
- * the truth.
142
- */
143
- seq: number;
144
- /** Wall-clock capture time — display only, never ordering. */
145
- time?: number;
146
- /** The displaced subtree snapshot (deep-copied — safe to keep/mutate). */
147
- block: JSONBlock;
148
85
  };
149
86
  export type AttributionController = {
150
87
  /** The public read surface handed to `EdytorDocument.attribution`. */
@@ -157,13 +94,15 @@ export type AttributionController = {
157
94
  type AttachOptions = {
158
95
  actor: AttributionActor;
159
96
  };
97
+ /** The display profile of `actor`: its name and color, those it has. */
98
+ export declare const profileOf: (actor: AttributionActor) => ActorProfile;
160
99
  /**
161
100
  * Bind the attribution service to a concrete engine — same injection
162
101
  * pattern as `bindEdytorDoc`/`bindDocument`. Lifecycle is owned by the
163
102
  * calling document: one controller per `EdytorDocument`, attached in the
164
103
  * constructor, released on destroy.
165
104
  */
166
- export declare const bindAttribution: (Y: EngineApi) => {
105
+ export declare const bindAttribution: (_Y: EngineApi) => {
167
106
  attach: (doc: EngineDoc, opts: AttachOptions) => AttributionController;
168
107
  };
169
108
  export type AttributionBinding = ReturnType<typeof bindAttribution>;
@@ -1,6 +1,5 @@
1
1
  import { ATTRIBUTION_ROOT } from '../schema.js';
2
- import { cloneJson } from '../../utils/json.js';
3
- import { blockAttributionOf, lineageOf, lineageWatermarkOf } from './block.js';
2
+ import { blockAttributionOf } from './block.js';
4
3
  /** Reserved replicated root for all attribution metadata (`SCHEMA.roots.attribution`). */
5
4
  export { ATTRIBUTION_ROOT };
6
5
  /**
@@ -9,7 +8,6 @@ export { ATTRIBUTION_ROOT };
9
8
  * out of undo capture; tooling classifies it as bookkeeping.
10
9
  */
11
10
  export const ATTRIBUTION_ORIGIN = Symbol('edytor.attribution');
12
- const RECORD_PREFIX = 'a/'; // legacy immutable per-transaction ContentMap records
13
11
  const ACTOR_PREFIX = 'u/'; // actorId → profile records
14
12
  const CLIENT_PREFIX = 'c/'; // replica clientID → actorId records
15
13
  const sanitizeProfile = (value) => {
@@ -21,7 +19,8 @@ const sanitizeProfile = (value) => {
21
19
  out.color = v.color;
22
20
  return out;
23
21
  };
24
- const profileOf = (actor) => ({
22
+ /** The display profile of `actor`: its name and color, those it has. */
23
+ export const profileOf = (actor) => ({
25
24
  ...(actor.name !== undefined ? { name: actor.name } : {}),
26
25
  ...(actor.color !== undefined ? { color: actor.color } : {})
27
26
  });
@@ -31,7 +30,7 @@ const profileOf = (actor) => ({
31
30
  * calling document: one controller per `EdytorDocument`, attached in the
32
31
  * constructor, released on destroy.
33
32
  */
34
- export const bindAttribution = (Y) => {
33
+ export const bindAttribution = (_Y) => {
35
34
  /**
36
35
  * Attach the actor dictionary to `doc`: publishes this replica's
37
36
  * `c/`+`u/` records and returns the read-through view. No listeners —
@@ -74,55 +73,9 @@ export const bindAttribution = (Y) => {
74
73
  return typeof value === 'string' && value.length > 0 ? value : undefined;
75
74
  },
76
75
  setProfile,
77
- legacy: () => {
78
- const inserts = Y.createIdMap();
79
- const deletes = Y.createIdMap();
80
- let found = false;
81
- for (const key of root.attrKeys()) {
82
- if (!key.startsWith(RECORD_PREFIX))
83
- continue;
84
- const value = root.getAttr(key);
85
- if (!(value instanceof Uint8Array))
86
- continue;
87
- let change;
88
- try {
89
- change = Y.decodeContentMap(value);
90
- }
91
- catch {
92
- continue; // malformed record — skip, never poison the merged map
93
- }
94
- Y.insertIntoIdMap(inserts, change.inserts);
95
- Y.insertIntoIdMap(deletes, change.deletes);
96
- found = true;
97
- }
98
- return found ? Y.createContentMap(inserts, deletes) : null;
99
- },
100
76
  // `b/<id>` records live on the `blockattr` root and `l` on
101
77
  // the block node — plain replicated reads, no observer needed.
102
- block: (blockId) => blockAttributionOf(doc, blockId),
103
- // Opt-in ring (`lineage.depth`): read the record's list items
104
- // capped at the ring's watermark — the max depth of surviving
105
- // entries, identical to the bound appends and the receive-side
106
- // trim enforce, so every replica reads the SAME ring for the
107
- // same stored state regardless of its own `lineage.depth`.
108
- // (Concurrent appends can store a transient excess until the
109
- // trim converges it.) Deep-copy each entry — the stored `j`
110
- // snapshot is shared replicated state and must not be mutable
111
- // through this view.
112
- history: (blockId) => {
113
- const entries = lineageOf(doc, blockId);
114
- if (entries === undefined)
115
- return undefined;
116
- const cap = lineageWatermarkOf(entries);
117
- const visible = entries.length > cap ? entries.slice(entries.length - cap) : entries;
118
- return visible.map((e) => ({
119
- ...(e.a !== undefined ? { actor: e.a } : {}),
120
- by: e.by,
121
- seq: e.s,
122
- ...(e.t !== undefined ? { time: e.t } : {}),
123
- block: cloneJson(e.j)
124
- }));
125
- }
78
+ block: (blockId) => blockAttributionOf(doc, blockId)
126
79
  };
127
80
  return {
128
81
  view,
@@ -77,51 +77,6 @@ export type BlockAttribution = {
77
77
  /** The actor whose state change currently wins the LWW resolution. */
78
78
  lastChangedBy?: ActorId;
79
79
  };
80
- /**
81
- * One bounded-lineage checkpoint on a block's `brec` record — the block's
82
- * subtree JSON captured JUST BEFORE a displacing edit: an `l` handoff
83
- * (another actor's first write), a delete, or an undo/redo touching the
84
- * block. Entries live as list items on the record node itself, appended
85
- * and ring-trimmed to the document's configured depth inside the owning
86
- * op's transaction — they die with the record on reincarnation. Compact
87
- * wire keys keep the replicated payload small; the public surface
88
- * (`attribution.history`) re-expands them.
89
- */
90
- export type LineageEntry = {
91
- /** The displaced owner — the `l` winner when captured (absent when unattributed). */
92
- a?: ActorId;
93
- /** The actor whose edit displaced the state (or whose undo/redo touched the block). */
94
- by: ActorId;
95
- /**
96
- * Ring position at append — a display aid only. It can REPEAT (after a
97
- * trim the position counter rewinds, and concurrent replicas assign
98
- * the same position independently): never an entry id — list order is
99
- * the truth.
100
- */
101
- s: number;
102
- /** Wall-clock capture time — display only, never ordering. */
103
- t?: number;
104
- /** The displaced subtree snapshot (a `JSONBlock`). */
105
- j: unknown;
106
- /**
107
- * The appending writer's configured ring depth. THE retention bound is
108
- * the MAX of surviving entries' `d` — enforced identically by
109
- * `appendLineage` (same-tx trim), `attachRingTrim` (receive-side
110
- * repair), and `history()` (read view), so a shallow replica can never
111
- * evict a deeper writer's surviving history on ANY path. Entries
112
- * written before `d` existed leave it absent → the ring is exempt from
113
- * trimming entirely (the writers' bound is unknowable — evict
114
- * nothing).
115
- */
116
- d?: number;
117
- };
118
- /**
119
- * The ring's retention bound — the deepest `lineage.depth` any surviving
120
- * entry's writer was configured with. `POSITIVE_INFINITY` when ANY entry
121
- * lacks `d` (pre-watermark data): without knowing every writer's bound,
122
- * no entry may be evicted on their behalf.
123
- */
124
- export declare const lineageWatermarkOf: (entries: LineageEntry[]) => number;
125
80
  export { BLOCK_ATTR_ROOT, LAST_CHANGED_ATTR };
126
81
  /** The `k/` member set on a `b/` record node. */
127
82
  export declare const contributorsOfRecord: (rec: EngineNode | null) => Set<ActorId>;
@@ -131,12 +86,6 @@ export declare const contributorsOfRecord: (rec: EngineNode | null) => Set<Actor
131
86
  * carries no attribution at all (system/foreign content stays unlabeled).
132
87
  */
133
88
  export declare const blockAttributionOf: (doc: EngineDoc, id: BlockId) => BlockAttribution | undefined;
134
- /**
135
- * Read one block's lineage ring, oldest → newest — or `undefined` when
136
- * the block carries no record. Entries are the stored content values;
137
- * callers deep-copy before exposing them publicly.
138
- */
139
- export declare const lineageOf: (doc: EngineDoc, id: BlockId) => LineageEntry[] | undefined;
140
89
  /**
141
90
  * Bound write helpers. `stampChange`/`stampCreated`/`unionContributors`
142
91
  * must be called INSIDE the operation's `doc.transact` — they perform
@@ -169,32 +118,5 @@ export declare const bindBlockAttribution: (Y: EngineApi) => {
169
118
  * The merger itself lands via `stampChange` on the survivor.
170
119
  */
171
120
  unionContributors: (doc: EngineDoc, intoId: BlockId, fromId: BlockId) => void;
172
- /**
173
- * Append a displaced-state checkpoint to the block's ring and trim
174
- * to the ring's watermark — `max` of surviving entries' `d`,
175
- * including the fresh one. The caller captures `entry.j` BEFORE its
176
- * model write (see `lineagePending` in `edytor-doc.ts`) and calls
177
- * this only after the write proves out, so a refused write appends
178
- * nothing. The watermark is THE retention policy — identical on
179
- * append, on receive (`attachRingTrim`), and on read — so a shallow
180
- * replica never evicts a deeper writer's surviving history, and the
181
- * bound shrinks only once the deepest entries have themselves
182
- * aged out. Concurrent appends under partition can still merge a
183
- * ring past the watermark — neither side saw the other's entry —
184
- * which the receive-side repair converges back.
185
- */
186
- appendLineage: (doc: EngineDoc, id: BlockId, entry: Omit<LineageEntry, "s" | "d">, depth: number) => void;
187
- /**
188
- * The block's lineage ring, oldest → newest — or `undefined` when
189
- * the block has no record at all. Entries are the stored content
190
- * values; the public surface copies them before handing them out.
191
- */
192
- lineageOf: (doc: EngineDoc, id: BlockId) => LineageEntry[] | undefined;
193
- /**
194
- * Attach the doc's shared ring-watermark repair — once per doc for
195
- * the doc's lifetime (module-level dedupe). See the module-level comment
196
- * below.
197
- */
198
- attachRingTrim: (doc: EngineDoc) => void;
199
121
  };
200
122
  export type BlockAttributionApi = ReturnType<typeof bindBlockAttribution>;