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
@@ -24,9 +24,9 @@
24
24
  * (`BlockSpec`, `Destination`, `ProjectedDoc`, `DocChange`, `JSONDoc`,
25
25
  * …), the provider/sync contract (`EdytorSync`), `Awareness`, the
26
26
  * admission errors a load throws, the attribution read surface
27
- * (`DocumentAttribution`), and migration.
27
+ * (`DocumentAttribution`).
28
28
  * - **Composition** — `bindCrdt(Y)` for consumers that inject the engine
29
- * themselves (node/SSR-side provider stacks, migration tooling,
29
+ * themselves (node/SSR-side provider stacks,
30
30
  * alternate engine instances) plus the engine typings that contract
31
31
  * needs.
32
32
  *
@@ -49,15 +49,14 @@ export { defaultSemantics, richTextSemantics, codeSemantics, imageSemantics, med
49
49
  export { tableBlock, type TableBlockOptions } from './tables.js';
50
50
  export { markName, type MarkEdge } from './text/marks.js';
51
51
  export type { JSONDoc, JSONBlock, JSONText, JSONInlineBlock, SerializableContent } from '../utils/json.js';
52
- /** Canonical JSON → the `BlockSpec` `facade.insertBlock` takes (ids kept or minted). */
52
+ /** Canonical JSON → the `BlockSpec` `facade.insertBlocks` takes (ids kept or minted). */
53
53
  export { toBlockSpec } from '../utils/json.js';
54
54
  export { type EdytorDoc, type OpResult, type Plan, type Prepared, type DocChange, type BlockRole, type OrderPolicy, type DocAnchor, type AnchorAffinity, type DataTarget } from './edytor-doc.js';
55
- export { DOCUMENT_OPERATIONS, type DocumentOperations, type DocumentReads, type DocumentWrites } from './operations.js';
55
+ export { DOCUMENT_OPERATIONS, DOCUMENT_WRITES, type DocumentOperations, type DocumentReads, type DocumentWrites } from './operations.js';
56
56
  export { type DataPatch } from './data.js';
57
57
  export { type DocPosition, type RangeView } from './rangeDelete.js';
58
58
  export { type FlowView } from './flow.js';
59
59
  export { type BlockId, type Destination, type ContentItem, type BlockSpec, type InlineSpec, type ProjectedBlock, type ProjectedDoc } from './placement/model.js';
60
- export { type DocBlock } from './nodes.js';
61
60
  export { type ContentRun } from './text/runs.js';
62
61
  export type { YDoc, YUndoManager, YTransaction } from './engine-api.js';
63
62
  export { type EdytorSync, type EdytorSyncPayload, type EdytorSyncCleanup, type IndexeddbSyncOptions, type WebsocketSync, type WebsocketSyncOptions, type ProviderStack, type PrefetchOptions, type PrefetchResult, type LastUpdatedOptions } from './providers/index.js';
@@ -66,10 +65,9 @@ export { Awareness, type AwarenessDoc, type AwarenessStates, type AwarenessUpdat
66
65
  export { SchemaMismatchError, UndecodableUpdateError, UnsupportedDocError } from './admission.js';
67
66
  export { type DocumentAttribution, type AttributionActor, type ActorProfile, type AttributionController } from './attribution/index.js';
68
67
  export { type ActorId, type BlockAttribution } from './attribution/index.js';
69
- export { isLegacyDoc } from './migration/legacy-schema.js';
70
- export { type Migration, type MigrationStatus, type MigrationRecord, type MigrationPhase, type MigrateResult, type MigrateOptions } from './migration/migrate.js';
71
68
  import type { EngineApi, YDoc } from './engine-api.js';
72
69
  import { Awareness as _Awareness } from './protocols/awareness.js';
70
+ import { type PrefetchOptions } from './providers/index.js';
73
71
  export declare const bindCrdt: (Y: EngineApi) => {
74
72
  /** Create a v14 edytor document — `new Y.Doc(opts)` on the bound engine, with the document's rules (`doc.newDoc`). */
75
73
  createDoc: (opts?: ConstructorParameters<EngineApi["Doc"]>[0]) => YDoc;
@@ -77,7 +75,7 @@ export declare const bindCrdt: (Y: EngineApi) => {
77
75
  Awareness: typeof _Awareness;
78
76
  doc: {
79
77
  SCHEMA: {
80
- readonly version: 5;
78
+ readonly version: 6;
81
79
  readonly name: "edytor-doc";
82
80
  readonly roots: {
83
81
  readonly registry: "blocks";
@@ -88,7 +86,7 @@ export declare const bindCrdt: (Y: EngineApi) => {
88
86
  readonly schema: "schema";
89
87
  };
90
88
  };
91
- SCHEMA_VERSION: 5;
89
+ SCHEMA_VERSION: 6;
92
90
  SCHEMA_NAME: "edytor-doc";
93
91
  META_KEY: "meta";
94
92
  init: (doc: import("./engine-api.js").EngineDoc, opts?: {
@@ -108,17 +106,8 @@ export declare const bindCrdt: (Y: EngineApi) => {
108
106
  insertFlow: (target: import("./flow.js").FlowTarget, flow: import("./flow.js").Flow, view?: import("./flow.js").FlowView) => import("./edytor-doc.js").Prepared;
109
107
  deleteRange: (from: import("./rangeDelete.js").DocPosition, to: import("./rangeDelete.js").DocPosition, view?: import("./rangeDelete.js").RangeView) => import("./edytor-doc.js").Prepared;
110
108
  replaceRange: (from: import("./rangeDelete.js").DocPosition, to: import("./rangeDelete.js").DocPosition, view?: import("./rangeDelete.js").RangeView) => import("./edytor-doc.js").Prepared;
111
- insertTableRow: (table: import("./index.js").BlockId, index: number) => import("./edytor-doc.js").Prepared;
112
- deleteTableRows: (rows: readonly import("./index.js").BlockId[]) => import("./edytor-doc.js").Prepared;
113
- insertTableColumn: (table: import("./index.js").BlockId, index: number, width?: number) => import("./edytor-doc.js").Prepared;
114
- deleteTableColumn: (table: import("./index.js").BlockId, column: string | number) => import("./edytor-doc.js").Prepared;
115
- moveTableColumn: (table: import("./index.js").BlockId, column: string | number, to: number) => import("./edytor-doc.js").Prepared;
116
- moveTableRows: (rows: readonly import("./index.js").BlockId[], to: number) => import("./edytor-doc.js").Prepared;
117
- fillTableCell: (row: import("./index.js").BlockId, column: string | number) => import("./edytor-doc.js").Prepared;
118
109
  insertBlocks: (dest: import("./index.js").Destination, specs: readonly (import("./index.js").BlockSpec | import("./index.js").JSONBlock)[]) => import("./edytor-doc.js").Prepared;
119
- insertBlock: (dest: import("./index.js").Destination, spec: import("./index.js").BlockSpec | import("./index.js").JSONBlock) => import("./edytor-doc.js").Prepared;
120
110
  moveBlocks: (ids: readonly import("./index.js").BlockId[], dest: import("./index.js").Destination) => import("./edytor-doc.js").Prepared;
121
- moveBlock: (id: import("./index.js").BlockId, dest: import("./index.js").Destination) => import("./edytor-doc.js").Prepared;
122
111
  nestBlock: (id: import("./index.js").BlockId, parent: import("./index.js").BlockId) => import("./edytor-doc.js").Prepared;
123
112
  unNestBlock: (id: import("./index.js").BlockId) => import("./edytor-doc.js").Prepared;
124
113
  unNestBlocks: (ids: readonly import("./index.js").BlockId[]) => import("./edytor-doc.js").Prepared;
@@ -138,22 +127,18 @@ export declare const bindCrdt: (Y: EngineApi) => {
138
127
  setBlock: (id: import("./index.js").BlockId, value: {
139
128
  type?: string;
140
129
  data?: Record<string, unknown>;
141
- content?: import("./index.js").ContentItem[];
142
- children?: import("./index.js").BlockSpec[];
130
+ content?: (import("./index.js").ContentItem | import("./index.js").JSONText | import("./index.js").JSONInlineBlock)[];
131
+ children?: (import("./index.js").BlockSpec | import("./index.js").JSONBlock)[];
143
132
  }) => import("./edytor-doc.js").Prepared;
144
133
  setBlockType: (id: import("./index.js").BlockId, type: string) => import("./edytor-doc.js").Prepared;
145
134
  patchData: (target: import("./edytor-doc.js").DataTarget, patches: readonly import("./data.js").DataPatch[]) => import("./edytor-doc.js").Prepared;
146
- setBlockData: (id: import("./index.js").BlockId, data: Record<string, unknown>) => import("./edytor-doc.js").Prepared;
147
- duplicateBlock: (id: import("./index.js").BlockId, freshId: (oldId: string, kind: "block" | "inline") => string) => import("./edytor-doc.js").Prepared;
135
+ duplicateBlock: (id: import("./index.js").BlockId, freshId?: (oldId: string, kind: "block" | "inline") => string) => import("./edytor-doc.js").Prepared;
148
136
  insertText: (id: import("./index.js").BlockId, offset: number, text: string, marks?: Record<string, unknown>) => import("./edytor-doc.js").Prepared;
149
137
  deleteText: (id: import("./index.js").BlockId, offset: number, length: number) => import("./edytor-doc.js").Prepared;
150
138
  formatRange: (id: import("./index.js").BlockId, offset: number, length: number, marks: Record<string, unknown>) => import("./edytor-doc.js").Prepared;
151
- setMark: (id: import("./index.js").BlockId, offset: number, length: number, name: string, value: unknown) => import("./edytor-doc.js").Prepared;
152
- unsetMark: (id: import("./index.js").BlockId, offset: number, length: number, name: string) => import("./edytor-doc.js").Prepared;
153
139
  clearMarks: (id: import("./index.js").BlockId, offset: number, length: number) => import("./edytor-doc.js").Prepared;
154
- insertInline: (id: import("./index.js").BlockId, offset: number, atom: import("./index.js").InlineSpec) => import("./edytor-doc.js").Prepared;
140
+ insertInline: (id: import("./index.js").BlockId, offset: number, atom: import("./doc/content.js").NewInline) => import("./edytor-doc.js").Prepared;
155
141
  removeInline: (id: import("./index.js").BlockId, inlineId: string) => import("./edytor-doc.js").Prepared;
156
- setInlineData: (id: import("./index.js").BlockId, inlineId: string, data: Record<string, unknown>) => import("./edytor-doc.js").Prepared;
157
142
  deleteBlocks: (ids: readonly import("./index.js").BlockId[]) => import("./edytor-doc.js").Prepared;
158
143
  };
159
144
  apply: (p: import("./edytor-doc.js").Prepared) => import("./edytor-doc.js").OpResult;
@@ -178,7 +163,7 @@ export declare const bindCrdt: (Y: EngineApi) => {
178
163
  writePlacement: (doc: import("./engine-api.js").EngineDoc, node: import("./engine-api.js").EngineNode, p: import("./index.js").BlockId | null, r: string) => void;
179
164
  withdrawOnUndo: (doc: import("./engine-api.js").EngineDoc) => (item: import("./engine-api.js").EngineItemRef, stackItem: {
180
165
  inserts: {
181
- hasId(id: unknown): boolean;
166
+ has(client: number, clock: number): boolean;
182
167
  };
183
168
  }) => boolean;
184
169
  materializeSpec: (doc: import("./engine-api.js").EngineDoc, sp: import("./index.js").BlockSpec, parent: import("./index.js").BlockId | null, rank: string) => void;
@@ -228,21 +213,11 @@ export declare const bindCrdt: (Y: EngineApi) => {
228
213
  };
229
214
  runsView: import("./text/runs.js").RunView;
230
215
  version: number;
231
- block: (id: import("./index.js").BlockId) => import("./nodes.js").DocBlock;
232
216
  insertFlow: (target: import("./flow.js").FlowTarget, flow: import("./flow.js").Flow, view?: import("./flow.js").FlowView | undefined) => import("./edytor-doc.js").OpResult;
233
217
  deleteRange: (from: import("./rangeDelete.js").DocPosition, to: import("./rangeDelete.js").DocPosition, view?: import("./rangeDelete.js").RangeView | undefined) => import("./edytor-doc.js").OpResult;
234
218
  replaceRange: (from: import("./rangeDelete.js").DocPosition, to: import("./rangeDelete.js").DocPosition, view?: import("./rangeDelete.js").RangeView | undefined) => import("./edytor-doc.js").OpResult;
235
- insertTableRow: (table: string, index: number) => import("./edytor-doc.js").OpResult;
236
- deleteTableRows: (rows: readonly string[]) => import("./edytor-doc.js").OpResult;
237
- insertTableColumn: (table: string, index: number, width?: number | undefined) => import("./edytor-doc.js").OpResult;
238
- deleteTableColumn: (table: string, column: string | number) => import("./edytor-doc.js").OpResult;
239
- moveTableColumn: (table: string, column: string | number, to: number) => import("./edytor-doc.js").OpResult;
240
- moveTableRows: (rows: readonly string[], to: number) => import("./edytor-doc.js").OpResult;
241
- fillTableCell: (row: string, column: string | number) => import("./edytor-doc.js").OpResult;
242
- insertBlocks: (dest: import("./index.js").Destination, specs: readonly (import("./index.js").JSONBlock | import("./index.js").BlockSpec)[]) => import("./edytor-doc.js").OpResult;
243
- insertBlock: (dest: import("./index.js").Destination, spec: import("./index.js").JSONBlock | import("./index.js").BlockSpec) => import("./edytor-doc.js").OpResult;
219
+ insertBlocks: (dest: import("./index.js").Destination, specs: readonly (import("./index.js").BlockSpec | import("./index.js").JSONBlock)[]) => import("./edytor-doc.js").OpResult;
244
220
  moveBlocks: (ids: readonly string[], dest: import("./index.js").Destination) => import("./edytor-doc.js").OpResult;
245
- moveBlock: (id: string, dest: import("./index.js").Destination) => import("./edytor-doc.js").OpResult;
246
221
  nestBlock: (id: string, parent: string) => import("./edytor-doc.js").OpResult;
247
222
  unNestBlock: (id: string) => import("./edytor-doc.js").OpResult;
248
223
  unNestBlocks: (ids: readonly string[]) => import("./edytor-doc.js").OpResult;
@@ -262,22 +237,18 @@ export declare const bindCrdt: (Y: EngineApi) => {
262
237
  setBlock: (id: string, value: {
263
238
  type?: string;
264
239
  data?: Record<string, unknown>;
265
- content?: import("./index.js").ContentItem[];
266
- children?: import("./index.js").BlockSpec[];
240
+ content?: (import("./index.js").ContentItem | import("./index.js").JSONText | import("./index.js").JSONInlineBlock)[];
241
+ children?: (import("./index.js").BlockSpec | import("./index.js").JSONBlock)[];
267
242
  }) => import("./edytor-doc.js").OpResult;
268
243
  setBlockType: (id: string, type: string) => import("./edytor-doc.js").OpResult;
269
244
  patchData: (target: import("./edytor-doc.js").DataTarget, patches: readonly import("./data.js").DataPatch[]) => import("./edytor-doc.js").OpResult;
270
- setBlockData: (id: string, data: Record<string, unknown>) => import("./edytor-doc.js").OpResult;
271
- duplicateBlock: (id: string, freshId: (oldId: string, kind: "block" | "inline") => string) => import("./edytor-doc.js").OpResult;
245
+ duplicateBlock: (id: string, freshId?: ((oldId: string, kind: "block" | "inline") => string) | undefined) => import("./edytor-doc.js").OpResult;
272
246
  insertText: (id: string, offset: number, text: string, marks?: Record<string, unknown> | undefined) => import("./edytor-doc.js").OpResult;
273
247
  deleteText: (id: string, offset: number, length: number) => import("./edytor-doc.js").OpResult;
274
248
  formatRange: (id: string, offset: number, length: number, marks: Record<string, unknown>) => import("./edytor-doc.js").OpResult;
275
- setMark: (id: string, offset: number, length: number, name: string, value: unknown) => import("./edytor-doc.js").OpResult;
276
- unsetMark: (id: string, offset: number, length: number, name: string) => import("./edytor-doc.js").OpResult;
277
249
  clearMarks: (id: string, offset: number, length: number) => import("./edytor-doc.js").OpResult;
278
- insertInline: (id: string, offset: number, atom: import("./index.js").InlineSpec) => import("./edytor-doc.js").OpResult;
250
+ insertInline: (id: string, offset: number, atom: import("./doc/content.js").NewInline) => import("./edytor-doc.js").OpResult;
279
251
  removeInline: (id: string, inlineId: string) => import("./edytor-doc.js").OpResult;
280
- setInlineData: (id: string, inlineId: string, data: Record<string, unknown>) => import("./edytor-doc.js").OpResult;
281
252
  deleteBlocks: (ids: readonly string[]) => import("./edytor-doc.js").OpResult;
282
253
  init: (opts?: Parameters<(doc: import("./engine-api.js").EngineDoc, opts?: {
283
254
  content?: import("./index.js").BlockSpec[];
@@ -289,10 +260,7 @@ export declare const bindCrdt: (Y: EngineApi) => {
289
260
  checkSchema: () => import("./edytor-doc.js").SchemaProblem | null;
290
261
  assertSchema: () => void;
291
262
  dispose: () => void;
292
- createUndoManager: (options?: ConstructorParameters<EngineApi["UndoManager"]>[1] & {
293
- limit?: number;
294
- }) => import("./engine-api.js").YUndoManager;
295
- releaseHistory: (um: import("./engine-api.js").YUndoManager) => void;
263
+ createUndoManager: (options?: import("./doc/history.js").HistoryOptions) => import("./doc/history.js").UndoManager;
296
264
  project: () => import("./index.js").ProjectedDoc;
297
265
  toJSON: () => import("./index.js").JSONDoc;
298
266
  blockJSON: (id: string) => import("./index.js").JSONBlock;
@@ -312,6 +280,12 @@ export declare const bindCrdt: (Y: EngineApi) => {
312
280
  blockDataOf: (id: string) => Record<string, unknown> | undefined;
313
281
  docData: () => import("./doc/types.js").JsonObj;
314
282
  dataItemIds: (target: import("./edytor-doc.js").DataTarget, path: readonly string[]) => string[];
283
+ dataPreview: (target: import("./edytor-doc.js").DataTarget, pending: readonly import("./data.js").DataPatch[]) => {
284
+ data: {
285
+ [x: string]: unknown;
286
+ };
287
+ ids: (path: readonly string[]) => string[];
288
+ } | null;
315
289
  blockAttribution: (id: string) => import("./index.js").BlockAttribution | undefined;
316
290
  crdtId: (id: string) => string | null;
317
291
  resolveBlock: (id: string) => import("./engine-api.js").EngineNode | null;
@@ -400,7 +374,7 @@ export declare const bindCrdt: (Y: EngineApi) => {
400
374
  writePlacement: (doc: import("./engine-api.js").EngineDoc, node: import("./engine-api.js").EngineNode, p: import("./index.js").BlockId | null, r: string) => void;
401
375
  withdrawOnUndo: (doc: import("./engine-api.js").EngineDoc) => (item: import("./engine-api.js").EngineItemRef, stackItem: {
402
376
  inserts: {
403
- hasId(id: unknown): boolean;
377
+ has(client: number, clock: number): boolean;
404
378
  };
405
379
  }) => boolean;
406
380
  materializeSpec: (doc: import("./engine-api.js").EngineDoc, sp: import("./index.js").BlockSpec, parent: import("./index.js").BlockId | null, rank: string) => void;
@@ -453,7 +427,7 @@ export declare const bindCrdt: (Y: EngineApi) => {
453
427
  };
454
428
  };
455
429
  providers: {
456
- prefetch: (options: import("./index.js").PrefetchOptions) => Promise<import("./index.js").PrefetchResult>;
430
+ prefetch: (options: PrefetchOptions) => Promise<import("./index.js").PrefetchResult>;
457
431
  lastUpdated: (options: import("./index.js").LastUpdatedOptions) => Promise<number | null>;
458
432
  documentSnapshot: (options: import("./index.js").LastUpdatedOptions) => Promise<import("./index.js").JSONDoc | null>;
459
433
  IndexeddbPersistence: {
@@ -479,7 +453,7 @@ export declare const bindCrdt: (Y: EngineApi) => {
479
453
  bcconnected: boolean;
480
454
  disableBc: boolean;
481
455
  _ownsAwareness: boolean;
482
- _bcSubscriber: (data: ArrayBuffer, origin: unknown) => void;
456
+ _bcSubscriber: (data: ArrayBuffer | Uint8Array, origin: unknown) => void;
483
457
  _awarenessUpdateHandler: (updates: {
484
458
  added: number[];
485
459
  updated: number[];
@@ -551,7 +525,7 @@ export declare const bindCrdt: (Y: EngineApi) => {
551
525
  bcChannel: string;
552
526
  bcconnected: boolean;
553
527
  disableBc: boolean;
554
- _bcSubscriber: (data: ArrayBuffer, origin: unknown) => void;
528
+ _bcSubscriber: (data: ArrayBuffer | Uint8Array, origin: unknown) => void;
555
529
  _fromTab: {};
556
530
  wsUnsuccessfulReconnects: number;
557
531
  wsLastMessageReceived: number;
@@ -618,31 +592,11 @@ export declare const bindCrdt: (Y: EngineApi) => {
618
592
  _dbsize: number;
619
593
  _destroyed: boolean;
620
594
  }, forceStore?: boolean) => Promise<undefined>;
621
- clearDocument: (name: string) => Promise<any>;
595
+ clearDocument: (name: string) => Promise<void>;
622
596
  PREFERRED_TRIM_SIZE: number;
623
597
  createIndexeddbSync: (name: string) => import("./index.js").EdytorSync;
624
598
  createWebsocketSync: (options: import("./index.js").WebsocketSyncOptions) => import("./index.js").WebsocketSync;
625
599
  };
626
- migration: {
627
- migrate: (name: string, options?: import("./index.js").MigrateOptions) => Promise<import("./index.js").MigrateResult>;
628
- rollback: (name: string) => Promise<void>;
629
- status: (name: string) => Promise<import("./index.js").MigrationRecord>;
630
- waitForSettled: (name: string) => Promise<import("./index.js").MigrationRecord>;
631
- };
632
- /** The generation cutover (4 → 5): a generation-4 state read as JSON. */
633
- generations: {
634
- isPreviousGenerationRecord: (v: unknown) => v is import("./protocol.js").GenerationRecord;
635
- previousJSON: (updates: ReadonlyArray<Uint8Array | {
636
- v2: Uint8Array;
637
- }>, facadeOf: (doc: YDoc) => {
638
- toJSON(): import("./index.js").JSONDoc;
639
- dispose(): void;
640
- }) => import("./index.js").JSONDoc;
641
- seedOf: (value: import("./index.js").JSONDoc, semantics?: import("./document.js").DocumentSemanticsConfig) => Uint8Array;
642
- previousJSONWith: (updates: ReadonlyArray<Uint8Array | {
643
- v2: Uint8Array;
644
- }>, semantics?: import("./document.js").DocumentSemanticsConfig) => import("./index.js").JSONDoc;
645
- };
646
600
  sync: {
647
601
  messageYjsSyncStep1: number;
648
602
  messageYjsSyncStep2: number;
@@ -650,12 +604,7 @@ export declare const bindCrdt: (Y: EngineApi) => {
650
604
  remoteApplyOrigin: symbol;
651
605
  writeSyncStep1: (encoder: import("lib0-v14/encoding").Encoder, doc: YDoc) => void;
652
606
  writeSyncStep2: (encoder: import("lib0-v14/encoding").Encoder, doc: YDoc, encodedStateVector?: Uint8Array) => void;
653
- step2Update: (payload: Uint8Array) => Uint8Array;
654
- readSyncStep1: (decoder: import("lib0-v14/decoding").Decoder, encoder: import("lib0-v14/encoding").Encoder, doc: YDoc) => void;
655
- readSyncStep2: (decoder: import("lib0-v14/decoding").Decoder, doc: YDoc, transactionOrigin: unknown, errorHandler?: (error: Error) => unknown) => void;
656
607
  writeUpdate: (encoder: import("lib0-v14/encoding").Encoder, update: Uint8Array) => void;
657
- readUpdate: (decoder: import("lib0-v14/decoding").Decoder, doc: YDoc, transactionOrigin: unknown, errorHandler?: (error: Error) => unknown) => void;
658
- readSyncMessage: (decoder: import("lib0-v14/decoding").Decoder, encoder: import("lib0-v14/encoding").Encoder, doc: YDoc, transactionOrigin: unknown, errorHandler?: (error: Error) => unknown) => number;
659
608
  applyRemote: (doc: YDoc, update: Uint8Array, transactionOrigin: unknown, errorHandler?: (error: Error) => unknown) => {
660
609
  applied: boolean;
661
610
  problem: import("./edytor-doc.js").SchemaProblem | null;
@@ -670,13 +619,11 @@ export declare const bindCrdt: (Y: EngineApi) => {
670
619
  };
671
620
  /** The document-admission boundary (`admitUpdate` staged restore + the shared gate vocabulary). */
672
621
  admission: {
673
- admitUpdate: (update: Uint8Array | ReadonlyArray<Uint8Array | {
674
- v2: Uint8Array;
675
- }>, docName?: string, options?: {
622
+ admitUpdate: (update: Uint8Array | ReadonlyArray<Uint8Array>, docName?: string, options?: {
676
623
  prepare?: (doc: YDoc) => void;
677
624
  }) => YDoc;
678
625
  };
679
- /** Bind the attribution service to this engine — actor dictionary + legacy `a/` reads + block attribution (documents attach it automatically). */
626
+ /** Bind the attribution service to this engine — actor dictionary + block attribution (documents attach it automatically). */
680
627
  attribution: {
681
628
  attach: (doc: import("./engine-api.js").EngineDoc, opts: {
682
629
  actor: import("./index.js").AttributionActor;
@@ -684,5 +631,5 @@ export declare const bindCrdt: (Y: EngineApi) => {
684
631
  };
685
632
  };
686
633
  export type Crdt = ReturnType<typeof bindCrdt>;
687
- export type { EngineApi, EngineDoc, EngineNode, EngineDeepEvent, EngineTransaction, EngineItemRef, YNode, YItem } from './engine-api.js';
634
+ export type { EngineApi, EngineDoc, EngineNode, EngineTransaction, EngineItemRef, YNode, YItem } from './engine-api.js';
688
635
  export { EdytorDocDisposedError, DEFAULT_HISTORY_LIMIT } from './edytor-doc.js';
@@ -24,9 +24,9 @@
24
24
  * (`BlockSpec`, `Destination`, `ProjectedDoc`, `DocChange`, `JSONDoc`,
25
25
  * …), the provider/sync contract (`EdytorSync`), `Awareness`, the
26
26
  * admission errors a load throws, the attribution read surface
27
- * (`DocumentAttribution`), and migration.
27
+ * (`DocumentAttribution`).
28
28
  * - **Composition** — `bindCrdt(Y)` for consumers that inject the engine
29
- * themselves (node/SSR-side provider stacks, migration tooling,
29
+ * themselves (node/SSR-side provider stacks,
30
30
  * alternate engine instances) plus the engine typings that contract
31
31
  * needs.
32
32
  *
@@ -65,24 +65,23 @@ export { defaultSemantics, richTextSemantics, codeSemantics, imageSemantics, med
65
65
  export { tableBlock } from './tables.js';
66
66
  // Paired marks — a mark's edge as document semantics, the record a key names.
67
67
  export { markName } from './text/marks.js';
68
- /** Canonical JSON → the `BlockSpec` `facade.insertBlock` takes (ids kept or minted). */
68
+ /** Canonical JSON → the `BlockSpec` `facade.insertBlocks` takes (ids kept or minted). */
69
69
  export { toBlockSpec } from '../utils/json.js';
70
70
  // ── 2 · The document's vocabulary ──────────────────────────────────────
71
71
  //
72
72
  // Types a consumer meets while driving the document's operations
73
- // (`DocumentOperations`: `document.insertBlock(…)`, a room's `transact`) — block specs, destinations, projected
73
+ // (`DocumentOperations`: `document.insertBlocks(…)`, a room's `transact`) — block specs, destinations, projected
74
74
  // trees, change notifications — plus the engine-object types the
75
75
  // document's own members are typed as (`document.doc: YDoc`,
76
76
  // `document.history: YUndoManager`).
77
77
  export {} from './edytor-doc.js';
78
- export { DOCUMENT_OPERATIONS } from './operations.js';
78
+ export { DOCUMENT_OPERATIONS, DOCUMENT_WRITES } from './operations.js';
79
79
  export {} from './data.js';
80
80
  export {} from './rangeDelete.js';
81
81
  export {} from './flow.js';
82
82
  export {} from './placement/model.js';
83
- export {} from './nodes.js';
84
- // `ContentRun` — the maintained-runs item the view layer's delta
85
- // serialization speaks (`text/deltas.ts`). Part of the public
83
+ // `ContentRun` — the maintained-runs item the view layer's text values
84
+ // read (`segmentJSON`, `session/handles.ts`). Part of the public
86
85
  // model→render vocabulary.
87
86
  export {} from './text/runs.js';
88
87
  // ── 3 · Sync, providers, awareness ─────────────────────────────────────
@@ -106,65 +105,40 @@ export { SchemaMismatchError, UndecodableUpdateError, UnsupportedDocError } from
106
105
  // ── 5 · Attribution (read surface) ─────────────────────────────────────
107
106
  //
108
107
  // `document.attribution` hands back a `DocumentAttribution` — compact
109
- // per-block records, the replicated actor dictionary, and `legacy()`
110
- // over pre-existing per-edit records. The types are the public read
111
- // vocabulary; ordinary editing writes no per-edit attribution.
108
+ // per-block records and the replicated actor dictionary. The types are
109
+ // the public read vocabulary; ordinary editing writes no per-edit
110
+ // attribution.
112
111
  export {} from './attribution/index.js';
113
112
  // Compact per-BLOCK attribution read vocabulary (`b/<blockId>`
114
113
  // records + the block-node `l` attr — see `attribution/block.ts`).
115
- // `document.attribution.block(id)` / `facade.blockAttribution(id)` /
116
- // `DocBlock.attribution` are the read entry points.
114
+ // `document.attribution.block(id)` / `document.blockAttribution(id)`
115
+ // are the read entry points.
117
116
  export {} from './attribution/index.js';
118
- // ── 6 · Migration ──────────────────────────────────────────────────────
119
- //
120
- // v13 → v14 one-way import: `isLegacyDoc` detects a v13-era layout, the
121
- // `Migration` surface (via `bindCrdt(Y).migration` or `bindMigration`)
122
- // rebuilds an admitted document whose `MigrateResult.update` restores
123
- // through `loadDocument`. Runbook: `docs/crdt-v14-migration.md`.
124
- export { isLegacyDoc } from './migration/legacy-schema.js';
125
- export {} from './migration/migrate.js';
126
- // ── 7 · Composition — injecting the engine ─────────────────────────────
127
- //
128
- // `bindCrdt(Y)` is the supported one-shot entry for consumers that take
129
- // the engine themselves (the documented node/SSR path):
130
- //
131
- // ```ts
132
- // import * as Y from 'edytor/crdt'; // vendored v14 engine
133
- // import { bindCrdt } from 'edytor/crdt/edytor';
134
- // const crdt = bindCrdt(Y);
135
- // const doc = crdt.createDoc();
136
- // const provider = new crdt.providers.IndexeddbPersistence('my-doc', doc);
137
- // ```
138
- //
139
- // Everything `bindCrdt` composes is also available pre-bound through the
140
- // document factories above — reach for `bindCrdt` when the caller needs
141
- // the raw provider/migration/sync stacks on a doc it owns, not for
142
- // ordinary document work. `EngineApi`/`EngineDoc`/`YDoc` and friends are
143
- // the typings that injection contract speaks.
144
- import { bindGenerations } from './migration/generation.js';
145
117
  import { Awareness as _Awareness } from './protocols/awareness.js';
146
118
  import { bindAdmission } from './admission.js';
147
119
  import { bindAttribution } from './attribution/index.js';
148
120
  import { bindEdytorDoc } from './edytor-doc.js';
149
- import { bindProviders } from './providers/index.js';
150
- import { bindMigration } from './migration/migrate.js';
121
+ import { bindProviders, documentSnapshot, lastUpdated, prefetchWith } from './providers/index.js';
151
122
  import { bindSync } from './protocols/sync.js';
152
123
  export const bindCrdt = (Y) => {
153
124
  const doc = bindEdytorDoc(Y);
125
+ const providers = bindProviders(Y);
154
126
  return {
155
127
  /** Create a v14 edytor document — `new Y.Doc(opts)` on the bound engine, with the document's rules (`doc.newDoc`). */
156
128
  createDoc: (opts) => doc.newDoc(opts),
157
129
  /** Engine-free — same class for every engine instance. */
158
130
  Awareness: _Awareness,
159
131
  doc,
160
- providers: bindProviders(Y),
161
- migration: bindMigration(Y),
162
- /** The generation cutover (4 → 5): a generation-4 state read as JSON. */
163
- generations: bindGenerations(Y),
132
+ providers: {
133
+ ...providers,
134
+ prefetch: (options) => prefetchWith(Y, providers, options),
135
+ lastUpdated,
136
+ documentSnapshot
137
+ },
164
138
  sync: bindSync(Y),
165
139
  /** The document-admission boundary (`admitUpdate` staged restore + the shared gate vocabulary). */
166
140
  admission: bindAdmission(Y),
167
- /** Bind the attribution service to this engine — actor dictionary + legacy `a/` reads + block attribution (documents attach it automatically). */
141
+ /** Bind the attribution service to this engine — actor dictionary + block attribution (documents attach it automatically). */
168
142
  attribution: bindAttribution(Y)
169
143
  };
170
144
  };
@@ -1,27 +1,27 @@
1
1
  /**
2
- * The document's public operations and reads (`DocumentOperations`): the
3
- * raw path, view-free, with no plugin hook, no view's undo and no readonly
4
- * check. An `EdytorDocument` carries them itself (`document.insertBlock(…)`),
5
- * and a room's `transact` callback and `validate` receive them. The
6
- * facade a document binds has more (the index, the engine hooks): those
7
- * stay internal. `DOCUMENT_OPERATIONS` lists the names, checked against
8
- * the interface here and against the facade in `document.ts`. Worker-safe:
9
- * types and one list.
2
+ * The document's public operations and reads (`DocumentOperations`). The
3
+ * writes (`DocumentWrites`) are the one operation set, entered two ways
4
+ * under the same names and arguments: on a bare `EdytorDocument`
5
+ * (`document.insertBlocks(…)`, a room's `transact` callback and `validate`)
6
+ * they are raw — no plugin hook, no view's undo, no readonly check; through
7
+ * a view (`edytor.insertBlocks(…)`) they are dispatched. The facade a
8
+ * document binds has more (the index, the engine hooks): those stay
9
+ * internal. `DOCUMENT_OPERATIONS` lists the names, `DOCUMENT_WRITES` the
10
+ * writes, checked against the interfaces here and against the facade in
11
+ * `document.ts`. Worker-safe: types and two lists.
10
12
  */
11
13
  import type { BlockAttribution } from './attribution/block.js';
12
14
  import type { AnchorAffinity, DataTarget, DocAnchor, DocChange, JsonObj, OpResult, OrderPolicy, Prepared } from './doc/types.js';
13
15
  import type { DataPatch } from './data.js';
16
+ import type { NewInline } from './doc/content.js';
14
17
  import type { Flow, FlowTarget, FlowView } from './flow.js';
15
- import type { DocBlock } from './nodes.js';
16
- import type { BlockId, BlockSpec, ContentItem, Destination, InlineSpec, ProjectedDoc, SplitTail } from './placement/model.js';
18
+ import type { BlockId, BlockSpec, ContentItem, Destination, ProjectedDoc, SplitTail } from './placement/model.js';
17
19
  import type { DocPosition, RangeView } from './rangeDelete.js';
18
20
  import type { ContentRun } from './text/runs.js';
19
- import type { JSONBlock, JSONDoc } from '../utils/json.js';
21
+ import type { JSONBlock, JSONDoc, JSONInlineBlock, JSONText } from '../utils/json.js';
20
22
  /** The document's writes: each one transaction, answering what it did (`OpResult`). */
21
23
  export interface DocumentWrites {
22
- insertBlock(dest: Destination, spec: JSONBlock | BlockSpec): OpResult;
23
24
  insertBlocks(dest: Destination, specs: readonly (JSONBlock | BlockSpec)[]): OpResult;
24
- moveBlock(id: BlockId, dest: Destination): OpResult;
25
25
  moveBlocks(ids: readonly BlockId[], dest: Destination): OpResult;
26
26
  nestBlock(id: BlockId, parent: BlockId): OpResult;
27
27
  unNestBlock(id: BlockId): OpResult;
@@ -43,29 +43,20 @@ export interface DocumentWrites {
43
43
  setBlock(id: BlockId, value: {
44
44
  type?: string;
45
45
  data?: Record<string, unknown>;
46
- content?: ContentItem[];
47
- children?: BlockSpec[];
46
+ content?: (ContentItem | JSONText | JSONInlineBlock)[];
47
+ children?: (BlockSpec | JSONBlock)[];
48
48
  }): OpResult;
49
49
  setBlockType(id: BlockId, type: string): OpResult;
50
50
  patchData(target: DataTarget, patches: readonly DataPatch[]): OpResult;
51
- setBlockData(id: BlockId, data: Record<string, unknown>): OpResult;
52
- duplicateBlock(id: BlockId, freshId: (oldId: string, kind: 'block' | 'inline') => string): OpResult;
53
- insertTableRow(table: BlockId, index: number): OpResult;
54
- deleteTableRows(rows: readonly BlockId[]): OpResult;
55
- insertTableColumn(table: BlockId, index: number, width?: number): OpResult;
56
- deleteTableColumn(table: BlockId, column: string | number): OpResult;
57
- moveTableColumn(table: BlockId, column: string | number, to: number): OpResult;
58
- moveTableRows(rows: readonly BlockId[], to: number): OpResult;
59
- fillTableCell(row: BlockId, column: string | number): OpResult;
51
+ /** `freshId` names each copy (fresh ids by default). */
52
+ duplicateBlock(id: BlockId, freshId?: (oldId: string, kind: 'block' | 'inline') => string): OpResult;
60
53
  insertText(id: BlockId, offset: number, text: string, marks?: Record<string, unknown>): OpResult;
61
54
  deleteText(id: BlockId, offset: number, length: number): OpResult;
62
55
  formatRange(id: BlockId, offset: number, length: number, marks: Record<string, unknown>): OpResult;
63
- setMark(id: BlockId, offset: number, length: number, name: string, value: unknown): OpResult;
64
- unsetMark(id: BlockId, offset: number, length: number, name: string): OpResult;
65
56
  clearMarks(id: BlockId, offset: number, length: number): OpResult;
66
- insertInline(id: BlockId, offset: number, atom: InlineSpec): OpResult;
57
+ /** An atom without an id gets a fresh one. */
58
+ insertInline(id: BlockId, offset: number, atom: NewInline): OpResult;
67
59
  removeInline(id: BlockId, inlineId: string): OpResult;
68
- setInlineData(id: BlockId, inlineId: string, data: Record<string, unknown>): OpResult;
69
60
  deleteRange(from: DocPosition, to: DocPosition, view?: RangeView): OpResult;
70
61
  replaceRange(from: DocPosition, to: DocPosition, view?: RangeView): OpResult;
71
62
  insertFlow(target: FlowTarget, flow: Flow, view?: FlowView): OpResult;
@@ -136,8 +127,8 @@ export interface DocumentReads {
136
127
  /**
137
128
  * The document's public operations: the writes, each also prepared
138
129
  * (`prepare.<op>(…)`, pure, then `apply(plan)`; `compose` joins plans),
139
- * the reads, a block's handle, `transact`, `onChange` and `version`. See
140
- * the document API reference.
130
+ * the reads, `transact`, `onChange` and `version`. See the document API
131
+ * reference.
141
132
  */
142
133
  export interface DocumentOperations extends DocumentWrites, DocumentReads {
143
134
  /** Every write, prepared: a plan of named steps and its effect, or `refused`. Writes nothing. */
@@ -150,12 +141,12 @@ export interface DocumentOperations extends DocumentWrites, DocumentReads {
150
141
  compose(...parts: Prepared[]): Prepared;
151
142
  /** Group writes in one transaction and one change event (no rollback on a throw). */
152
143
  transact<R>(fn: () => R, origin?: unknown): R;
153
- /** A handle over block `id`: the same operations bound to it (cached; refused when absent). */
154
- block(id: BlockId): DocBlock;
155
144
  /** Hear each transaction's change; answers the unsubscribe. */
156
145
  onChange(listener: (change: DocChange) => void): () => void;
157
146
  /** Changes on every write that changed the tree. */
158
147
  readonly version: number;
159
148
  }
149
+ /** Every write of `DocumentWrites`: what a view dispatches under the same names (`edytor.insertBlocks(…)`). */
150
+ export declare const DOCUMENT_WRITES: readonly ["insertBlocks", "moveBlocks", "nestBlock", "unNestBlock", "unNestBlocks", "liftOut", "wrapInLayout", "placeBeside", "splitBlock", "mergeBlocks", "mergeBackward", "mergeForward", "deleteBlock", "deleteBlocks", "setBlock", "setBlockType", "patchData", "duplicateBlock", "insertText", "deleteText", "formatRange", "clearMarks", "insertInline", "removeInline", "deleteRange", "replaceRange", "insertFlow"];
160
151
  /** Every name of `DocumentOperations`, for the document's own members (`EdytorDocument`). */
161
- export declare const DOCUMENT_OPERATIONS: readonly ["insertBlock", "insertBlocks", "moveBlock", "moveBlocks", "nestBlock", "unNestBlock", "unNestBlocks", "liftOut", "wrapInLayout", "placeBeside", "splitBlock", "mergeBlocks", "mergeBackward", "mergeForward", "deleteBlock", "deleteBlocks", "setBlock", "setBlockType", "patchData", "setBlockData", "duplicateBlock", "insertTableRow", "deleteTableRows", "insertTableColumn", "deleteTableColumn", "moveTableColumn", "moveTableRows", "fillTableCell", "insertText", "deleteText", "formatRange", "setMark", "unsetMark", "clearMarks", "insertInline", "removeInline", "setInlineData", "deleteRange", "replaceRange", "insertFlow", "toJSON", "docData", "dataItemIds", "project", "blockJSON", "childrenIds", "parentOf", "ancestorsOf", "positionOf", "pathOf", "blockTypeOf", "blockDataOf", "blockText", "contentItems", "displayLength", "runs", "hasBlock", "isVisibleBlock", "listBlockIds", "blockAttribution", "isVoid", "isIsland", "isLines", "islandOf", "insideIsland", "isLayout", "isLayoutItem", "besideAt", "isTable", "isTableRow", "isTableCell", "tableOf", "tableColumns", "tableGrid", "order", "compare", "next", "previous", "canPlace", "canMerge", "fits", "nestParent", "landingOf", "anchorAt", "resolveAnchor", "prepare", "apply", "compose", "transact", "block", "onChange", "version"];
152
+ export declare const DOCUMENT_OPERATIONS: readonly ["insertBlocks", "moveBlocks", "nestBlock", "unNestBlock", "unNestBlocks", "liftOut", "wrapInLayout", "placeBeside", "splitBlock", "mergeBlocks", "mergeBackward", "mergeForward", "deleteBlock", "deleteBlocks", "setBlock", "setBlockType", "patchData", "duplicateBlock", "insertText", "deleteText", "formatRange", "clearMarks", "insertInline", "removeInline", "deleteRange", "replaceRange", "insertFlow", "toJSON", "docData", "dataItemIds", "dataPreview", "project", "blockJSON", "childrenIds", "parentOf", "ancestorsOf", "positionOf", "pathOf", "blockTypeOf", "blockDataOf", "blockText", "contentItems", "displayLength", "runs", "hasBlock", "isVisibleBlock", "listBlockIds", "blockAttribution", "isVoid", "isIsland", "isLines", "islandOf", "insideIsland", "isLayout", "isLayoutItem", "besideAt", "isTable", "isTableRow", "isTableCell", "tableOf", "tableColumns", "tableGrid", "order", "compare", "next", "previous", "canPlace", "canMerge", "fits", "nestParent", "landingOf", "anchorAt", "resolveAnchor", "prepare", "apply", "compose", "transact", "onChange", "version"];
@@ -1,8 +1,6 @@
1
- /** Every name of `DocumentOperations`, for the document's own members (`EdytorDocument`). */
2
- export const DOCUMENT_OPERATIONS = [
3
- 'insertBlock',
1
+ /** Every write of `DocumentWrites`: what a view dispatches under the same names (`edytor.insertBlocks(…)`). */
2
+ export const DOCUMENT_WRITES = [
4
3
  'insertBlocks',
5
- 'moveBlock',
6
4
  'moveBlocks',
7
5
  'nestBlock',
8
6
  'unNestBlock',
@@ -19,30 +17,24 @@ export const DOCUMENT_OPERATIONS = [
19
17
  'setBlock',
20
18
  'setBlockType',
21
19
  'patchData',
22
- 'setBlockData',
23
20
  'duplicateBlock',
24
- 'insertTableRow',
25
- 'deleteTableRows',
26
- 'insertTableColumn',
27
- 'deleteTableColumn',
28
- 'moveTableColumn',
29
- 'moveTableRows',
30
- 'fillTableCell',
31
21
  'insertText',
32
22
  'deleteText',
33
23
  'formatRange',
34
- 'setMark',
35
- 'unsetMark',
36
24
  'clearMarks',
37
25
  'insertInline',
38
26
  'removeInline',
39
- 'setInlineData',
40
27
  'deleteRange',
41
28
  'replaceRange',
42
- 'insertFlow',
29
+ 'insertFlow'
30
+ ];
31
+ /** Every name of `DocumentOperations`, for the document's own members (`EdytorDocument`). */
32
+ export const DOCUMENT_OPERATIONS = [
33
+ ...DOCUMENT_WRITES,
43
34
  'toJSON',
44
35
  'docData',
45
36
  'dataItemIds',
37
+ 'dataPreview',
46
38
  'project',
47
39
  'blockJSON',
48
40
  'childrenIds',
@@ -89,7 +81,6 @@ export const DOCUMENT_OPERATIONS = [
89
81
  'apply',
90
82
  'compose',
91
83
  'transact',
92
- 'block',
93
84
  'onChange',
94
85
  'version'
95
86
  ];
@@ -33,8 +33,6 @@ export declare const textRanker: (blocks: ReadonlyMap<BlockId, BlockRec>, placem
33
33
  /** Drop what was decided for `home`'s text (every one, without it). */
34
34
  forget: (home?: BlockId) => void;
35
35
  };
36
- /** The inverse of `ownerOf` over `blocks`: each live owner → the blocks it displays. */
37
- export declare const displayIndex: (blocks: ReadonlyMap<BlockId, unknown>, ownerOf: (b: BlockId) => Owner) => Map<BlockId, BlockId[]>;
38
36
  /**
39
37
  * THE liveness answer: `id` carries no live delete mark, owns
40
38
  * itself (`own.hidden` covers both: a delete-marked or unknown block owns
@@ -139,21 +139,6 @@ export const textRanker = (blocks, placements, homeOf, inText) => {
139
139
  }
140
140
  };
141
141
  };
142
- /** The inverse of `ownerOf` over `blocks`: each live owner → the blocks it displays. */
143
- export const displayIndex = (blocks, ownerOf) => {
144
- const by = new Map();
145
- for (const b of blocks.keys()) {
146
- const owner = ownerOf(b);
147
- if (typeof owner !== 'string')
148
- continue;
149
- const list = by.get(owner);
150
- if (list === undefined)
151
- by.set(owner, [b]);
152
- else
153
- list.push(b);
154
- }
155
- return by;
156
- };
157
142
  /**
158
143
  * THE liveness answer: `id` carries no live delete mark, owns
159
144
  * itself (`own.hidden` covers both: a delete-marked or unknown block owns