edytor 1.0.0-rc.2 → 1.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 (653) hide show
  1. package/README.md +65 -25
  2. package/dist/block/block.svelte.d.ts +10 -85
  3. package/dist/block/block.svelte.js +47 -141
  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 +8 -10
  9. package/dist/block/inlineBlock.svelte.js +14 -22
  10. package/dist/clipboard/createClipboardFragment.js +22 -64
  11. package/dist/clipboard/fragmentData.js +17 -42
  12. package/dist/clipboard/htmlFlow.d.ts +6 -1
  13. package/dist/clipboard/htmlFlow.js +26 -13
  14. package/dist/clipboard/insertClipboardFragment.js +5 -4
  15. package/dist/clipboard/moveText.js +16 -8
  16. package/dist/clipboard/serializeClipboardFragment.d.ts +2 -0
  17. package/dist/clipboard/serializeClipboardFragment.js +32 -28
  18. package/dist/cloudflare/DocumentRoom.d.ts +22 -17
  19. package/dist/cloudflare/DocumentRoom.js +10 -5
  20. package/dist/cloudflare/index.d.ts +1 -1
  21. package/dist/cloudflare/index.js +1 -1
  22. package/dist/cloudflare/move.d.ts +1 -18
  23. package/dist/cloudflare/move.js +2 -48
  24. package/dist/cloudflare/room/admission.d.ts +1 -60
  25. package/dist/cloudflare/room/admission.js +25 -29
  26. package/dist/cloudflare/room/comments.d.ts +1 -3
  27. package/dist/cloudflare/room/comments.js +6 -6
  28. package/dist/cloudflare/room/context.d.ts +20 -82
  29. package/dist/cloudflare/room/context.js +8 -8
  30. package/dist/cloudflare/room/forged.d.ts +1 -1
  31. package/dist/cloudflare/room/forged.js +2 -12
  32. package/dist/cloudflare/room/frames.d.ts +1 -1
  33. package/dist/cloudflare/room/frames.js +1 -1
  34. package/dist/cloudflare/room/history.d.ts +1 -25
  35. package/dist/cloudflare/room/history.js +39 -54
  36. package/dist/cloudflare/room/moves.d.ts +1 -13
  37. package/dist/cloudflare/room/moves.js +33 -57
  38. package/dist/cloudflare/room/presence.d.ts +1 -11
  39. package/dist/cloudflare/room/presence.js +4 -4
  40. package/dist/cloudflare/room/purge.d.ts +1 -2
  41. package/dist/cloudflare/room/purge.js +2 -2
  42. package/dist/cloudflare/room/replicas.d.ts +1 -7
  43. package/dist/cloudflare/room/replicas.js +2 -2
  44. package/dist/cloudflare/room/storage.d.ts +9 -30
  45. package/dist/cloudflare/room/storage.js +52 -104
  46. package/dist/cloudflare/room/updates.d.ts +4 -4
  47. package/dist/cloudflare/room/updates.js +17 -24
  48. package/dist/cloudflare/room/validation.d.ts +1 -5
  49. package/dist/cloudflare/room/validation.js +16 -37
  50. package/dist/collaboration/RemoteSelections.svelte +13 -17
  51. package/dist/collaboration/comments/client.d.ts +2 -2
  52. package/dist/collaboration/comments/client.js +1 -1
  53. package/dist/collaboration/history/index.d.ts +5 -5
  54. package/dist/collaboration/history/index.js +5 -5
  55. package/dist/collaboration/history/panel.svelte.d.ts +91 -0
  56. package/dist/collaboration/history/panel.svelte.js +223 -0
  57. package/dist/collaboration/providers.d.ts +12 -3
  58. package/dist/collaboration/providers.js +5 -4
  59. package/dist/components/Block.svelte +160 -119
  60. package/dist/components/Block.svelte.d.ts +8 -3
  61. package/dist/components/Content.svelte +91 -44
  62. package/dist/components/CustomMark.svelte +46 -0
  63. package/dist/components/CustomMark.svelte.d.ts +11 -0
  64. package/dist/components/Edytor.svelte +80 -95
  65. package/dist/components/Edytor.svelte.d.ts +8 -12
  66. package/dist/components/InlineBlock.svelte +4 -9
  67. package/dist/components/Mark.svelte +46 -35
  68. package/dist/components/Mark.svelte.d.ts +7 -0
  69. package/dist/components/Ranges.svelte +96 -0
  70. package/dist/components/Ranges.svelte.d.ts +19 -0
  71. package/dist/components/Suggestion.svelte +3 -2
  72. package/dist/components/Text.svelte +48 -14
  73. package/dist/components/Text.svelte.d.ts +1 -1
  74. package/dist/crdt/admission.d.ts +2 -9
  75. package/dist/crdt/admission.js +3 -9
  76. package/dist/crdt/attribution/attribution.d.ts +11 -72
  77. package/dist/crdt/attribution/attribution.js +5 -52
  78. package/dist/crdt/attribution/block.d.ts +0 -78
  79. package/dist/crdt/attribution/block.js +1 -144
  80. package/dist/crdt/data.d.ts +8 -13
  81. package/dist/crdt/data.js +30 -70
  82. package/dist/crdt/doc/anchors.js +4 -4
  83. package/dist/crdt/doc/content.d.ts +5 -1
  84. package/dist/crdt/doc/content.js +3 -1
  85. package/dist/crdt/doc/delete.d.ts +1 -0
  86. package/dist/crdt/doc/funnel.d.ts +0 -23
  87. package/dist/crdt/doc/funnel.js +34 -85
  88. package/dist/crdt/doc/gate.d.ts +8 -9
  89. package/dist/crdt/doc/gate.js +7 -17
  90. package/dist/crdt/doc/history.d.ts +87 -14
  91. package/dist/crdt/doc/history.js +334 -149
  92. package/dist/crdt/doc/layout.d.ts +0 -1
  93. package/dist/crdt/doc/layout.js +2 -3
  94. package/dist/crdt/doc/meta.d.ts +4 -4
  95. package/dist/crdt/doc/meta.js +10 -21
  96. package/dist/crdt/doc/moves.d.ts +4 -4
  97. package/dist/crdt/doc/moves.js +5 -5
  98. package/dist/crdt/doc/plan.d.ts +2 -0
  99. package/dist/crdt/doc/plan.js +2 -0
  100. package/dist/crdt/doc/reads.d.ts +1 -5
  101. package/dist/crdt/doc/reads.js +38 -49
  102. package/dist/crdt/doc/seed.d.ts +15 -6
  103. package/dist/crdt/doc/seed.js +27 -26
  104. package/dist/crdt/doc/split-merge.d.ts +1 -3
  105. package/dist/crdt/doc/split-merge.js +4 -5
  106. package/dist/crdt/doc/steps.d.ts +3 -7
  107. package/dist/crdt/doc/steps.js +20 -9
  108. package/dist/crdt/doc/types.d.ts +0 -10
  109. package/dist/crdt/document.d.ts +24 -115
  110. package/dist/crdt/document.js +207 -305
  111. package/dist/crdt/edytor-doc.d.ts +671 -90
  112. package/dist/crdt/edytor-doc.js +73 -149
  113. package/dist/crdt/engine-api.d.ts +15 -47
  114. package/dist/crdt/engine.d.ts +7 -17
  115. package/dist/crdt/engine.js +9 -19
  116. package/dist/crdt/flow.d.ts +9 -37
  117. package/dist/crdt/flow.js +260 -238
  118. package/dist/crdt/index.d.ts +26 -85
  119. package/dist/crdt/index.js +21 -47
  120. package/dist/crdt/operations.d.ts +24 -33
  121. package/dist/crdt/operations.js +7 -17
  122. package/dist/crdt/placement/display.d.ts +0 -2
  123. package/dist/crdt/placement/display.js +0 -15
  124. package/dist/crdt/placement/model.d.ts +160 -12
  125. package/dist/crdt/placement/model.js +413 -414
  126. package/dist/crdt/placement/rank.d.ts +1 -5
  127. package/dist/crdt/placement/rank.js +28 -38
  128. package/dist/crdt/protocol.d.ts +4 -5
  129. package/dist/crdt/protocol.js +3 -4
  130. package/dist/crdt/protocols/awareness.d.ts +3 -7
  131. package/dist/crdt/protocols/awareness.js +17 -33
  132. package/dist/crdt/protocols/envelope.d.ts +9 -29
  133. package/dist/crdt/protocols/envelope.js +8 -25
  134. package/dist/crdt/protocols/sync.d.ts +15 -30
  135. package/dist/crdt/protocols/sync.js +27 -89
  136. package/dist/crdt/providers/bound.d.ts +3 -1
  137. package/dist/crdt/providers/bound.js +3 -1
  138. package/dist/crdt/providers/container.d.ts +11 -17
  139. package/dist/crdt/providers/container.js +39 -27
  140. package/dist/crdt/providers/index.d.ts +34 -6
  141. package/dist/crdt/providers/index.js +106 -111
  142. package/dist/crdt/providers/indexeddb.d.ts +2 -12
  143. package/dist/crdt/providers/indexeddb.js +29 -90
  144. package/dist/crdt/providers/room.d.ts +58 -2
  145. package/dist/crdt/providers/room.js +38 -21
  146. package/dist/crdt/providers/websocket.d.ts +1 -1
  147. package/dist/crdt/providers/websocket.js +3 -4
  148. package/dist/crdt/purge.d.ts +2 -2
  149. package/dist/crdt/purge.js +69 -6
  150. package/dist/crdt/rangeDelete.d.ts +4 -42
  151. package/dist/crdt/rangeDelete.js +7 -6
  152. package/dist/crdt/restore.d.ts +21 -1
  153. package/dist/crdt/restore.js +54 -59
  154. package/dist/crdt/schema.d.ts +2 -2
  155. package/dist/crdt/schema.js +4 -5
  156. package/dist/crdt/semantics.d.ts +10 -15
  157. package/dist/crdt/semantics.js +22 -21
  158. package/dist/crdt/storage.d.ts +7 -13
  159. package/dist/crdt/storage.js +10 -24
  160. package/dist/crdt/structs.d.ts +42 -47
  161. package/dist/crdt/structs.js +76 -67
  162. package/dist/crdt/tables.d.ts +9 -0
  163. package/dist/crdt/tables.js +20 -0
  164. package/dist/crdt/text/delete-index.d.ts +0 -13
  165. package/dist/crdt/text/delete-index.js +7 -14
  166. package/dist/crdt/text/deletes.d.ts +9 -22
  167. package/dist/crdt/text/deletes.js +11 -74
  168. package/dist/crdt/text/index/cache.js +3 -3
  169. package/dist/crdt/text/index/fold.d.ts +1 -2
  170. package/dist/crdt/text/index/fold.js +15 -10
  171. package/dist/crdt/text/index/layout.d.ts +0 -10
  172. package/dist/crdt/text/index/layout.js +6 -20
  173. package/dist/crdt/text/index/records.js +2 -1
  174. package/dist/crdt/text/index/report.js +5 -6
  175. package/dist/crdt/text/index/shared.d.ts +11 -4
  176. package/dist/crdt/text/index/shared.js +8 -7
  177. package/dist/crdt/text/index/state.d.ts +3 -33
  178. package/dist/crdt/text/index/state.js +2 -4
  179. package/dist/crdt/text/model.d.ts +82 -2
  180. package/dist/crdt/text/model.js +344 -354
  181. package/dist/crdt/text/rows.d.ts +0 -2
  182. package/dist/crdt/text/rows.js +0 -11
  183. package/dist/crdt/text/runs.d.ts +6 -3
  184. package/dist/crdt/text/runs.js +132 -137
  185. package/dist/crdt/text/streams.d.ts +1 -1
  186. package/dist/crdt/text/streams.js +1 -1
  187. package/dist/crdt/vendor/yjs/API-NOTES.md +25 -8
  188. package/dist/crdt/vendor/yjs/UPSTREAM.md +288 -8
  189. package/dist/crdt/vendor/yjs/dts/global.d.ts +5 -26
  190. package/dist/crdt/vendor/yjs/dts/index.d.ts +10 -15
  191. package/dist/crdt/vendor/yjs/dts/structs/AbstractStruct.d.ts +2 -2
  192. package/dist/crdt/vendor/yjs/dts/structs/Item.d.ts +14 -219
  193. package/dist/crdt/vendor/yjs/dts/structs/Skip.d.ts +2 -2
  194. package/dist/crdt/vendor/yjs/dts/utils/BlockSet.d.ts +2 -2
  195. package/dist/crdt/vendor/yjs/dts/utils/Doc.d.ts +12 -123
  196. package/dist/crdt/vendor/yjs/dts/utils/ID.d.ts +1 -1
  197. package/dist/crdt/vendor/yjs/dts/utils/RangeCursor.d.ts +37 -58
  198. package/dist/crdt/vendor/yjs/dts/utils/Transaction.d.ts +3 -78
  199. package/dist/crdt/vendor/yjs/dts/utils/UpdateDecoder.d.ts +2 -81
  200. package/dist/crdt/vendor/yjs/dts/utils/UpdateEncoder.d.ts +2 -74
  201. package/dist/crdt/vendor/yjs/dts/utils/encoding-helpers.d.ts +4 -4
  202. package/dist/crdt/vendor/yjs/dts/utils/encoding.d.ts +6 -18
  203. package/dist/crdt/vendor/yjs/dts/utils/ids.d.ts +12 -237
  204. package/dist/crdt/vendor/yjs/dts/utils/positions.d.ts +5 -0
  205. package/dist/crdt/vendor/yjs/dts/utils/redo.d.ts +3 -0
  206. package/dist/crdt/vendor/yjs/dts/utils/transaction-helpers.d.ts +1 -3
  207. package/dist/crdt/vendor/yjs/dts/utils/updates.d.ts +6 -23
  208. package/dist/crdt/vendor/yjs/dts/ynode.d.ts +73 -498
  209. package/dist/crdt/vendor/yjs/global.d.ts +5 -26
  210. package/dist/crdt/vendor/yjs/src/index.js +11 -25
  211. package/dist/crdt/vendor/yjs/src/structs/AbstractStruct.js +1 -1
  212. package/dist/crdt/vendor/yjs/src/structs/GC.js +1 -1
  213. package/dist/crdt/vendor/yjs/src/structs/Item.js +10 -372
  214. package/dist/crdt/vendor/yjs/src/structs/Skip.js +1 -1
  215. package/dist/crdt/vendor/yjs/src/utils/BlockSet.js +2 -2
  216. package/dist/crdt/vendor/yjs/src/utils/Doc.js +14 -170
  217. package/dist/crdt/vendor/yjs/src/utils/ID.js +1 -1
  218. package/dist/crdt/vendor/yjs/src/utils/RangeCursor.js +61 -128
  219. package/dist/crdt/vendor/yjs/src/utils/StructStore.js +0 -22
  220. package/dist/crdt/vendor/yjs/src/utils/Transaction.js +17 -282
  221. package/dist/crdt/vendor/yjs/src/utils/UpdateDecoder.js +3 -130
  222. package/dist/crdt/vendor/yjs/src/utils/UpdateEncoder.js +2 -132
  223. package/dist/crdt/vendor/yjs/src/utils/encoding-helpers.js +4 -4
  224. package/dist/crdt/vendor/yjs/src/utils/encoding.js +49 -146
  225. package/dist/crdt/vendor/yjs/src/utils/ids.js +23 -900
  226. package/dist/crdt/vendor/yjs/src/utils/positions.js +115 -0
  227. package/dist/crdt/vendor/yjs/src/utils/redo.js +143 -0
  228. package/dist/crdt/vendor/yjs/src/utils/transaction-helpers.js +10 -127
  229. package/dist/crdt/vendor/yjs/src/utils/updates.js +7 -50
  230. package/dist/crdt/vendor/yjs/src/ynode.js +261 -2226
  231. package/dist/{plugins/blockHandles → dnd}/autoScroll.d.ts +2 -1
  232. package/dist/{plugins/blockHandles → dnd}/autoScroll.js +3 -3
  233. package/dist/dnd/pragmatic.d.ts +4 -22
  234. package/dist/dnd/pragmatic.js +7 -26
  235. package/dist/dnd/track.d.ts +14 -0
  236. package/dist/dnd/track.js +55 -0
  237. package/dist/dnd/vendor/pragmatic/UPSTREAM.md +103 -0
  238. package/dist/dnd/vendor/pragmatic/bind-event-listener/LICENSE +21 -0
  239. package/dist/dnd/vendor/pragmatic/bind-event-listener/bind-all.js +46 -0
  240. package/dist/dnd/vendor/pragmatic/bind-event-listener/bind.js +7 -0
  241. package/dist/dnd/vendor/pragmatic/bind-event-listener/index.js +2 -0
  242. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/LICENSE.md +11 -0
  243. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/adapter/element-adapter-native-data-key.js +6 -0
  244. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/adapter/element-adapter.d.ts +57 -0
  245. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/adapter/element-adapter.js +306 -0
  246. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/entry-point/element/adapter.d.ts +8 -0
  247. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/entry-point/element/adapter.js +10 -0
  248. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/entry-point/element/set-custom-native-drag-preview.d.ts +4 -0
  249. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/entry-point/element/set-custom-native-drag-preview.js +6 -0
  250. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/entry-point/types.d.ts +1 -0
  251. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/honey-pot-fix/get-element-from-point-without-honey-pot.js +12 -0
  252. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/honey-pot-fix/honey-pot-data-attribute.js +3 -0
  253. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/honey-pot-fix/is-honey-pot-element.js +4 -0
  254. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/honey-pot-fix/make-honey-pot-fix.js +333 -0
  255. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/internal-types.d.ts +350 -0
  256. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/ledger/dispatch-consumer-event.js +128 -0
  257. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/ledger/lifecycle-manager.js +340 -0
  258. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/ledger/usage-ledger.js +32 -0
  259. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/make-adapter/make-adapter.js +59 -0
  260. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/make-adapter/make-drop-target.js +288 -0
  261. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/make-adapter/make-monitor.js +85 -0
  262. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/public-utils/combine.js +6 -0
  263. 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
  264. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/public-utils/element/custom-native-drag-preview/set-custom-native-drag-preview.js +153 -0
  265. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/public-utils/element/custom-native-drag-preview/types.d.ts +16 -0
  266. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/public-utils/once.js +13 -0
  267. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/add-attribute.js +7 -0
  268. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/android.js +10 -0
  269. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/changing-window/count-events-for-safari.js +104 -0
  270. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/changing-window/is-from-another-window.js +16 -0
  271. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/changing-window/is-leaving-window-in-safari.js +12 -0
  272. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/changing-window/is-leaving-window.js +55 -0
  273. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/detect-broken-drag.js +48 -0
  274. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/get-input.js +14 -0
  275. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/is-firefox.js +13 -0
  276. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/is-safari.js +19 -0
  277. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/max-z-index.js +3 -0
  278. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/media-types/text-media-type.js +6 -0
  279. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/media-types/url-media-type.js +6 -0
  280. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/popover-reset-styles.js +40 -0
  281. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/supports-popover.js +16 -0
  282. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/LICENSE.md +11 -0
  283. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/entry-point/element.d.ts +4 -0
  284. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/entry-point/element.js +8 -0
  285. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/internal-types.d.ts +50 -0
  286. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/over-element/data-attributes.js +9 -0
  287. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/over-element/get-scroll-by.js +117 -0
  288. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/over-element/make-api.js +90 -0
  289. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/over-element/try-scroll.js +183 -0
  290. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/axis.js +22 -0
  291. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/can-scroll-on-edge.js +17 -0
  292. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/configuration.js +49 -0
  293. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/edges.js +9 -0
  294. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/engagement-history.js +43 -0
  295. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/get-over-element-hitbox.js +50 -0
  296. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/get-percentage-in-range.js +19 -0
  297. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/get-scroll-change.js +106 -0
  298. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/is-axis-allowed.js +3 -0
  299. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/is-within.js +11 -0
  300. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/scheduler.js +104 -0
  301. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/side.js +6 -0
  302. package/dist/dnd/vendor/pragmatic/raf-schd/LICENSE +21 -0
  303. package/dist/dnd/vendor/pragmatic/raf-schd/raf-schd.esm.js +34 -0
  304. package/dist/edytor.svelte.d.ts +34 -64
  305. package/dist/edytor.svelte.js +118 -180
  306. package/dist/events/beforeInputCommands.d.ts +6 -11
  307. package/dist/events/beforeInputCommands.js +189 -184
  308. package/dist/events/beforeInputDeleteCommands.d.ts +20 -1
  309. package/dist/events/beforeInputDeleteCommands.js +153 -204
  310. package/dist/events/domTextOffset.d.ts +9 -9
  311. package/dist/events/domTextOffset.js +20 -48
  312. package/dist/events/events.utils.d.ts +0 -2
  313. package/dist/events/events.utils.js +0 -4
  314. package/dist/events/nativeInteractiveControl.d.ts +13 -13
  315. package/dist/events/nativeInteractiveControl.js +28 -56
  316. package/dist/events/onBeforeInput.d.ts +6 -1
  317. package/dist/events/onBeforeInput.js +207 -331
  318. package/dist/events/onCopy.js +1 -5
  319. package/dist/events/onDrop.d.ts +7 -1
  320. package/dist/events/onDrop.js +33 -72
  321. package/dist/events/onFocus.d.ts +9 -4
  322. package/dist/events/onFocus.js +92 -72
  323. package/dist/events/onInput.d.ts +8 -4
  324. package/dist/events/onInput.js +34 -147
  325. package/dist/events/onKeyDown.js +55 -122
  326. package/dist/events/onPaste.d.ts +13 -1
  327. package/dist/events/onPaste.js +46 -76
  328. package/dist/index.d.ts +10 -13
  329. package/dist/index.js +3 -3
  330. package/dist/kinds.d.ts +4 -6
  331. package/dist/kinds.js +28 -27
  332. package/dist/labels.d.ts +91 -314
  333. package/dist/labels.js +180 -396
  334. package/dist/plugins/Chrome.svelte +29 -0
  335. package/dist/plugins/Chrome.svelte.d.ts +32 -0
  336. package/dist/plugins/Control.svelte +23 -0
  337. package/dist/plugins/Control.svelte.d.ts +30 -0
  338. package/dist/plugins/anchored.svelte.d.ts +47 -0
  339. package/dist/plugins/anchored.svelte.js +73 -0
  340. package/dist/plugins/arrowMove/arrowMove.d.ts +2 -1
  341. package/dist/plugins/arrowMove/arrowMove.js +9 -5
  342. package/dist/plugins/bands.svelte.d.ts +57 -0
  343. package/dist/plugins/bands.svelte.js +95 -0
  344. package/dist/plugins/blockHandles/BlockHandle.svelte +14 -151
  345. package/dist/plugins/blockHandles/BlockHandle.svelte.d.ts +2 -2
  346. package/dist/plugins/blockHandles/BlockHandleController.svelte.d.ts +63 -97
  347. package/dist/plugins/blockHandles/BlockHandleController.svelte.js +247 -268
  348. package/dist/plugins/blockHandles/BlockHandles.svelte +46 -29
  349. package/dist/plugins/blockHandles/BlockHandles.svelte.d.ts +2 -2
  350. package/dist/plugins/blockHandles/blockHandlesPlugin.d.ts +29 -23
  351. package/dist/plugins/blockHandles/blockHandlesPlugin.js +130 -162
  352. package/dist/plugins/blockHandles/dragPreview.d.ts +8 -6
  353. package/dist/plugins/blockHandles/dragPreview.js +20 -17
  354. package/dist/plugins/blockHandles/dropIndicator.js +52 -60
  355. package/dist/plugins/blockHandles/geometry.d.ts +46 -1
  356. package/dist/plugins/blockHandles/geometry.js +51 -4
  357. package/dist/plugins/blockMenu/BlockMenuController.svelte.d.ts +59 -28
  358. package/dist/plugins/blockMenu/BlockMenuController.svelte.js +180 -105
  359. package/dist/plugins/blockMenu/blockMenuPlugin.d.ts +1 -3
  360. package/dist/plugins/blockMenu/blockMenuPlugin.js +12 -29
  361. package/dist/plugins/brand.d.ts +8 -0
  362. package/dist/plugins/brand.js +8 -0
  363. package/dist/plugins/chrome.d.ts +79 -0
  364. package/dist/plugins/chrome.js +87 -0
  365. package/dist/plugins/code/CodeHeader.svelte +12 -58
  366. package/dist/plugins/code/CodeHeader.svelte.d.ts +1 -0
  367. package/dist/plugins/code/CodePlugin.svelte +75 -56
  368. package/dist/plugins/code/CodePlugin.svelte.d.ts +0 -2
  369. package/dist/plugins/code/LanguageMenu.svelte +25 -0
  370. package/dist/plugins/code/LanguageMenu.svelte.d.ts +9 -0
  371. package/dist/plugins/code/code.css +5 -100
  372. package/dist/plugins/code/header.svelte.d.ts +47 -0
  373. package/dist/plugins/code/header.svelte.js +141 -0
  374. package/dist/plugins/code/languageMenu.svelte.d.ts +84 -0
  375. package/dist/plugins/code/languageMenu.svelte.js +199 -0
  376. package/dist/plugins/code/languages.d.ts +21 -10
  377. package/dist/plugins/code/languages.js +39 -126
  378. package/dist/plugins/columns/ColumnResize.svelte +13 -25
  379. package/dist/plugins/columns/ColumnResize.svelte.d.ts +1 -1
  380. package/dist/plugins/columns/ColumnsPlugin.svelte +46 -78
  381. package/dist/plugins/columns/ColumnsPlugin.svelte.d.ts +0 -12
  382. package/dist/plugins/columns/columns.css +7 -26
  383. package/dist/plugins/columns/resize.svelte.d.ts +14 -51
  384. package/dist/plugins/columns/resize.svelte.js +70 -164
  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 -430
  388. package/dist/plugins/comments/CommentsSidebar.svelte.d.ts +6 -7
  389. package/dist/plugins/comments/commentsPlugin.d.ts +31 -10
  390. package/dist/plugins/comments/commentsPlugin.js +12 -10
  391. package/dist/plugins/equation/EquationEditor.svelte +18 -129
  392. package/dist/plugins/equation/EquationEditor.svelte.d.ts +2 -1
  393. package/dist/plugins/equation/EquationPlugin.svelte +123 -168
  394. package/dist/plugins/equation/EquationPlugin.svelte.d.ts +5 -3
  395. package/dist/plugins/equation/EquationView.svelte +20 -11
  396. package/dist/plugins/equation/equation.svelte.d.ts +74 -36
  397. package/dist/plugins/equation/equation.svelte.js +74 -66
  398. package/dist/plugins/equation/importUrl.d.ts +6 -0
  399. package/dist/plugins/equation/importUrl.js +6 -0
  400. package/dist/plugins/equation/katex.d.ts +8 -0
  401. package/dist/plugins/equation/katex.js +77 -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 +5 -151
  407. package/dist/plugins/image/ImagePlugin.svelte +49 -117
  408. package/dist/plugins/image/ImagePlugin.svelte.d.ts +1 -24
  409. package/dist/plugins/image/ImageToolbarHost.svelte +37 -0
  410. package/dist/plugins/image/ImageToolbarHost.svelte.d.ts +9 -0
  411. package/dist/plugins/image/controls.svelte.d.ts +6 -57
  412. package/dist/plugins/image/controls.svelte.js +51 -174
  413. package/dist/plugins/image/image.d.ts +0 -5
  414. package/dist/plugins/image/image.js +0 -3
  415. package/dist/plugins/image/toolbar.svelte.d.ts +69 -0
  416. package/dist/plugins/image/toolbar.svelte.js +145 -0
  417. package/dist/plugins/index.d.ts +39 -24
  418. package/dist/plugins/index.js +30 -22
  419. package/dist/plugins/list.svelte.d.ts +128 -0
  420. package/dist/plugins/list.svelte.js +217 -0
  421. package/dist/plugins/markdownShortcuts.d.ts +1 -1
  422. package/dist/plugins/markdownShortcuts.js +6 -5
  423. package/dist/plugins/marquee/MarqueeBox.svelte +15 -0
  424. package/dist/plugins/marquee/MarqueeBox.svelte.d.ts +9 -0
  425. package/dist/plugins/marquee/MarqueeController.svelte.d.ts +46 -0
  426. package/dist/plugins/marquee/MarqueeController.svelte.js +243 -0
  427. package/dist/plugins/marquee/marquee.d.ts +33 -0
  428. package/dist/plugins/marquee/marquee.js +89 -0
  429. package/dist/plugins/marquee/marqueePlugin.d.ts +32 -0
  430. package/dist/plugins/marquee/marqueePlugin.js +68 -0
  431. package/dist/plugins/media/AudioPlugin.svelte +3 -88
  432. package/dist/plugins/media/AudioPlugin.svelte.d.ts +1 -4
  433. package/dist/plugins/media/BookmarkPlugin.svelte +124 -112
  434. package/dist/plugins/media/BookmarkPlugin.svelte.d.ts +20 -7
  435. package/dist/plugins/media/EmbedPlugin.svelte +93 -77
  436. package/dist/plugins/media/EmbedPlugin.svelte.d.ts +21 -9
  437. package/dist/plugins/media/EmptySlot.svelte +44 -0
  438. package/dist/plugins/media/EmptySlot.svelte.d.ts +25 -0
  439. package/dist/plugins/media/FilePlugin.svelte +35 -111
  440. package/dist/plugins/media/FilePlugin.svelte.d.ts +12 -4
  441. package/dist/plugins/media/MediaEmpty.svelte +55 -112
  442. package/dist/plugins/media/MediaEmpty.svelte.d.ts +26 -10
  443. package/dist/plugins/media/SourceBlock.svelte +164 -0
  444. package/dist/plugins/media/SourceBlock.svelte.d.ts +33 -0
  445. package/dist/plugins/media/VideoPlugin.svelte +4 -97
  446. package/dist/plugins/media/VideoPlugin.svelte.d.ts +2 -5
  447. package/dist/plugins/media/empty.svelte.d.ts +69 -0
  448. package/dist/plugins/media/empty.svelte.js +111 -0
  449. package/dist/plugins/media/media.d.ts +93 -30
  450. package/dist/plugins/media/media.js +79 -86
  451. package/dist/plugins/media/urlPaste.svelte.d.ts +9 -32
  452. package/dist/plugins/media/urlPaste.svelte.js +46 -75
  453. package/dist/plugins/mention/MentionPlugin.svelte +47 -124
  454. package/dist/plugins/mention/MentionPlugin.svelte.d.ts +11 -23
  455. package/dist/plugins/page/PageLink.svelte +54 -38
  456. package/dist/plugins/page/PagePlugin.svelte +20 -18
  457. package/dist/plugins/page/PagePlugin.svelte.d.ts +2 -4
  458. package/dist/plugins/page/page.d.ts +35 -9
  459. package/dist/plugins/page/page.js +3 -4
  460. package/dist/plugins/pageLink/PageLinkPlugin.svelte +52 -108
  461. package/dist/plugins/pageLink/PageLinkPlugin.svelte.d.ts +11 -23
  462. package/dist/plugins/planned.d.ts +10 -0
  463. package/dist/plugins/planned.js +12 -0
  464. package/dist/plugins/richtext/CalloutIcon.svelte +25 -0
  465. package/dist/plugins/richtext/CalloutIcon.svelte.d.ts +9 -0
  466. package/dist/plugins/richtext/CalloutIconPicker.svelte +26 -0
  467. package/dist/plugins/richtext/CalloutIconPicker.svelte.d.ts +9 -0
  468. package/dist/plugins/richtext/EmptyBody.svelte +25 -0
  469. package/dist/plugins/richtext/EmptyBody.svelte.d.ts +8 -0
  470. package/dist/plugins/richtext/RichTextControl.svelte +39 -0
  471. package/dist/plugins/richtext/RichTextControl.svelte.d.ts +8 -0
  472. package/dist/plugins/richtext/RichTextPlugin.svelte +272 -148
  473. package/dist/plugins/richtext/RichTextPlugin.svelte.d.ts +37 -18
  474. package/dist/plugins/richtext/TodoCheckbox.svelte +10 -21
  475. package/dist/plugins/richtext/TodoCheckbox.svelte.d.ts +0 -2
  476. package/dist/plugins/richtext/body.d.ts +9 -0
  477. package/dist/plugins/richtext/body.js +16 -0
  478. package/dist/plugins/richtext/calloutIcons.svelte.d.ts +97 -0
  479. package/dist/plugins/richtext/calloutIcons.svelte.js +214 -0
  480. package/dist/plugins/richtext/callouts.d.ts +15 -0
  481. package/dist/plugins/richtext/callouts.js +23 -0
  482. package/dist/plugins/richtext/controls.svelte.d.ts +110 -0
  483. package/dist/plugins/richtext/controls.svelte.js +126 -0
  484. package/dist/plugins/richtext/richTextOperations.js +37 -28
  485. package/dist/plugins/slashMenu/SlashMenuController.svelte.d.ts +18 -11
  486. package/dist/plugins/slashMenu/SlashMenuController.svelte.js +93 -35
  487. package/dist/plugins/slashMenu/slashMenuPlugin.d.ts +11 -24
  488. package/dist/plugins/slashMenu/slashMenuPlugin.js +27 -68
  489. package/dist/plugins/suggestions/SuggestionBars.svelte +32 -84
  490. package/dist/plugins/suggestions/SuggestionBars.svelte.d.ts +9 -3
  491. package/dist/plugins/suggestions/suggestionsPlugin.d.ts +10 -16
  492. package/dist/plugins/suggestions/suggestionsPlugin.js +9 -24
  493. package/dist/plugins/table/TableChrome.svelte +96 -127
  494. package/dist/plugins/table/TableChrome.svelte.d.ts +5 -1
  495. package/dist/plugins/table/TablePlugin.svelte +116 -171
  496. package/dist/plugins/table/TablePlugin.svelte.d.ts +0 -4
  497. package/dist/plugins/table/chrome.svelte.d.ts +110 -117
  498. package/dist/plugins/table/chrome.svelte.js +643 -289
  499. package/dist/plugins/table/ops.d.ts +47 -0
  500. package/dist/plugins/table/ops.js +233 -0
  501. package/dist/plugins/table/table.css +55 -134
  502. package/dist/plugins/table/table.d.ts +26 -7
  503. package/dist/plugins/table/table.js +23 -49
  504. package/dist/plugins/toc/TableOfContents.svelte +32 -38
  505. package/dist/plugins/toc/TableOfContents.svelte.d.ts +1 -5
  506. package/dist/plugins/toc/TocPlugin.svelte +22 -22
  507. package/dist/plugins/toc/TocPlugin.svelte.d.ts +4 -6
  508. package/dist/plugins/toc/toc.d.ts +41 -10
  509. package/dist/plugins/toc/toc.js +2 -3
  510. package/dist/plugins/toolbar/ToolbarController.svelte.d.ts +29 -66
  511. package/dist/plugins/toolbar/ToolbarController.svelte.js +151 -76
  512. package/dist/plugins/toolbar/toolbarPlugin.d.ts +14 -13
  513. package/dist/plugins/toolbar/toolbarPlugin.js +28 -43
  514. package/dist/plugins/triggers/TriggerController.svelte.d.ts +6 -45
  515. package/dist/plugins/triggers/TriggerController.svelte.js +51 -96
  516. package/dist/plugins/triggers/place.d.ts +0 -9
  517. package/dist/plugins/triggers/place.js +1 -17
  518. package/dist/plugins/triggers/triggers.d.ts +31 -9
  519. package/dist/plugins/triggers/triggers.js +82 -62
  520. package/dist/plugins/uploads.svelte.d.ts +38 -20
  521. package/dist/plugins/uploads.svelte.js +39 -32
  522. package/dist/plugins.d.ts +167 -60
  523. package/dist/selection/domSelection.d.ts +13 -4
  524. package/dist/selection/domSelection.js +110 -183
  525. package/dist/selection/pointer.svelte.d.ts +12 -10
  526. package/dist/selection/pointer.svelte.js +154 -71
  527. package/dist/selection/replaceSelection.d.ts +21 -22
  528. package/dist/selection/replaceSelection.js +60 -69
  529. package/dist/selection/selection.svelte.d.ts +5 -73
  530. package/dist/selection/selection.svelte.js +263 -542
  531. package/dist/selection/selection.utils.d.ts +34 -11
  532. package/dist/selection/selection.utils.js +128 -247
  533. package/dist/selection/visibility.d.ts +11 -8
  534. package/dist/selection/visibility.js +23 -8
  535. package/dist/session/announcer.svelte.d.ts +2 -1
  536. package/dist/session/announcer.svelte.js +7 -3
  537. package/dist/session/attempt.d.ts +33 -39
  538. package/dist/session/attempt.js +61 -53
  539. package/dist/session/bindings.js +108 -139
  540. package/dist/session/commands.d.ts +47 -22
  541. package/dist/session/commands.js +206 -208
  542. package/dist/session/composition.svelte.d.ts +2 -4
  543. package/dist/session/composition.svelte.js +55 -65
  544. package/dist/session/editing/text.d.ts +6 -0
  545. package/dist/session/editing/text.js +17 -3
  546. package/dist/session/handles.d.ts +10 -1
  547. package/dist/session/handles.js +28 -0
  548. package/dist/session/history.d.ts +0 -4
  549. package/dist/session/history.js +15 -21
  550. package/dist/session/inputRules.js +75 -84
  551. package/dist/session/keymap.d.ts +1 -6
  552. package/dist/session/keymap.js +17 -20
  553. package/dist/session/moves.d.ts +10 -10
  554. package/dist/session/moves.js +31 -59
  555. package/dist/session/navigation.d.ts +18 -3
  556. package/dist/session/navigation.js +194 -153
  557. package/dist/session/ports.d.ts +7 -0
  558. package/dist/session/selection.d.ts +4 -3
  559. package/dist/session/selection.js +8 -0
  560. package/dist/session/suggestions.svelte.d.ts +1 -1
  561. package/dist/session/suggestions.svelte.js +64 -47
  562. package/dist/session/virtual.d.ts +3 -3
  563. package/dist/session/virtual.js +18 -40
  564. package/dist/surface/attributes.d.ts +1 -0
  565. package/dist/surface/attributes.js +3 -26
  566. package/dist/surface/cells.d.ts +5 -0
  567. package/dist/surface/cells.js +5 -0
  568. package/dist/surface/lines.d.ts +32 -0
  569. package/dist/surface/lines.js +43 -0
  570. package/dist/surface/observer.svelte.d.ts +3 -20
  571. package/dist/surface/observer.svelte.js +73 -77
  572. package/dist/surface/overlay.d.ts +48 -6
  573. package/dist/surface/overlay.js +133 -23
  574. package/dist/surface/pin.svelte.d.ts +5 -0
  575. package/dist/surface/pin.svelte.js +5 -0
  576. package/dist/surface/projector.svelte.d.ts +4 -6
  577. package/dist/surface/projector.svelte.js +42 -69
  578. package/dist/text/text.svelte.d.ts +14 -40
  579. package/dist/text/text.svelte.js +35 -51
  580. package/dist/text/wordBoundary.d.ts +19 -0
  581. package/dist/text/wordBoundary.js +29 -44
  582. package/dist/themes/notion.css +315 -126
  583. package/dist/utils/json.d.ts +3 -1
  584. package/dist/utils/json.js +52 -51
  585. package/dist/utils/listen.d.ts +8 -0
  586. package/dist/utils/listen.js +19 -0
  587. package/package.json +4 -5
  588. package/dist/block/block.utils.d.ts +0 -340
  589. package/dist/block/block.utils.js +0 -356
  590. package/dist/collaboration/history/HistoryPanel.svelte +0 -525
  591. package/dist/collaboration/history/HistoryPanel.svelte.d.ts +0 -7
  592. package/dist/collaboration/history/panel.d.ts +0 -43
  593. package/dist/collaboration/history/panel.js +0 -3
  594. package/dist/components/SuggestionRanges.svelte +0 -58
  595. package/dist/components/SuggestionRanges.svelte.d.ts +0 -7
  596. package/dist/crdt/doc/table.d.ts +0 -21
  597. package/dist/crdt/doc/table.js +0 -288
  598. package/dist/crdt/migration/generation.d.ts +0 -58
  599. package/dist/crdt/migration/generation.js +0 -70
  600. package/dist/crdt/migration/legacy-schema.d.ts +0 -61
  601. package/dist/crdt/migration/legacy-schema.js +0 -151
  602. package/dist/crdt/migration/migrate.d.ts +0 -56
  603. package/dist/crdt/migration/migrate.js +0 -227
  604. package/dist/crdt/nodes.d.ts +0 -121
  605. package/dist/crdt/nodes.js +0 -56
  606. package/dist/crdt/text/index/checks.d.ts +0 -15
  607. package/dist/crdt/text/index/checks.js +0 -156
  608. package/dist/crdt/vendor/yjs/dts/utils/EventHandler.d.ts +0 -17
  609. package/dist/crdt/vendor/yjs/dts/utils/RelativePosition.d.ts +0 -80
  610. package/dist/crdt/vendor/yjs/dts/utils/UndoManager.d.ts +0 -205
  611. package/dist/crdt/vendor/yjs/dts/utils/YEvent.d.ts +0 -93
  612. package/dist/crdt/vendor/yjs/dts/utils/meta.d.ts +0 -25
  613. package/dist/crdt/vendor/yjs/dts/utils/renderer-helpers.d.ts +0 -98
  614. package/dist/crdt/vendor/yjs/dts/utils/schemas.d.ts +0 -2
  615. package/dist/crdt/vendor/yjs/src/utils/EventHandler.js +0 -75
  616. package/dist/crdt/vendor/yjs/src/utils/RelativePosition.js +0 -301
  617. package/dist/crdt/vendor/yjs/src/utils/UndoManager.js +0 -554
  618. package/dist/crdt/vendor/yjs/src/utils/YEvent.js +0 -158
  619. package/dist/crdt/vendor/yjs/src/utils/meta.js +0 -74
  620. package/dist/crdt/vendor/yjs/src/utils/renderer-helpers.js +0 -186
  621. package/dist/crdt/vendor/yjs/src/utils/schemas.js +0 -3
  622. package/dist/edytor.utils.d.ts +0 -50
  623. package/dist/edytor.utils.js +0 -67
  624. package/dist/plugins/blockMenu/BlockMenu.svelte +0 -447
  625. package/dist/plugins/blockMenu/BlockMenu.svelte.d.ts +0 -9
  626. package/dist/plugins/find/FindBar.svelte +0 -170
  627. package/dist/plugins/find/FindBar.svelte.d.ts +0 -9
  628. package/dist/plugins/find/FindHighlights.svelte +0 -75
  629. package/dist/plugins/find/FindHighlights.svelte.d.ts +0 -9
  630. package/dist/plugins/icons.d.ts +0 -2
  631. package/dist/plugins/icons.js +0 -63
  632. package/dist/plugins/image/ImageEmpty.svelte +0 -116
  633. package/dist/plugins/image/ImageEmpty.svelte.d.ts +0 -12
  634. package/dist/plugins/keepInView.d.ts +0 -4
  635. package/dist/plugins/keepInView.js +0 -6
  636. package/dist/plugins/media/UrlPasteMenu.svelte +0 -83
  637. package/dist/plugins/media/UrlPasteMenu.svelte.d.ts +0 -7
  638. package/dist/plugins/richtext/labels.d.ts +0 -5
  639. package/dist/plugins/richtext/labels.js +0 -3
  640. package/dist/plugins/slashMenu/SlashMenu.svelte +0 -360
  641. package/dist/plugins/slashMenu/SlashMenu.svelte.d.ts +0 -11
  642. package/dist/plugins/toolbar/LinkCard.svelte +0 -118
  643. package/dist/plugins/toolbar/LinkCard.svelte.d.ts +0 -7
  644. package/dist/plugins/toolbar/Toolbar.svelte +0 -400
  645. package/dist/plugins/toolbar/Toolbar.svelte.d.ts +0 -9
  646. package/dist/plugins/triggers/TriggerMenu.svelte +0 -144
  647. package/dist/plugins/triggers/TriggerMenu.svelte.d.ts +0 -7
  648. package/dist/session/props.d.ts +0 -28
  649. package/dist/session/props.js +0 -162
  650. package/dist/text/deltas.d.ts +0 -22
  651. package/dist/text/deltas.js +0 -46
  652. package/dist/text/text.utils.d.ts +0 -45
  653. package/dist/text/text.utils.js +0 -199
@@ -1,10 +1,10 @@
1
1
  import { CONTENT_NODE, HORIZON_ROOT, INLINE_NODE, RESTORED_ROOT, TEXT_DELETES_ROOT } from '../schema.js';
2
- import { attrItems, clientsOf, dropSearchMarkers, engineOps, firstItem, keepFromCollection, nextClock, onTransaction, stepsOf, structAt, walkIdSetStructs } from '../structs.js';
2
+ import { attrItems, clientsOf, dropSearchMarkers, engineOps, firstItem, keepFromCollection, nextClock, onTransaction, stepsOf, structAt, walkIdSet } from '../structs.js';
3
3
  import { clip, decode, deleteIndex, encode, FOLD_SPANS, keyOf, mergeSpans, overlaps } from './delete-index.js';
4
4
  const REACT = Symbol('edytor.text-deletes');
5
5
  const states = new WeakMap();
6
6
  export const bindDeletes = (Y) => {
7
- const { idSet, each, rootSpans, members, liveRoots, shown, indexOf, leaves, holders, minus, parts, addCopies, indexRecord, indexMark, dropMarks, recordsIn, sync, copiesOf, forget, collect } = deleteIndex(Y);
7
+ const { idSet, each, rootSpans, members, liveRoots, shown, indexOf, leaves, holders, minus, parts, addCopies, indexRecord, indexMark, recordsIn, sync } = deleteIndex(Y);
8
8
  const ops = engineOps(Y);
9
9
  const attach = (doc) => {
10
10
  let s = states.get(doc);
@@ -75,7 +75,7 @@ export const bindDeletes = (Y) => {
75
75
  // A leaf has no copy: a local `redone` link left by an earlier
76
76
  // restoration points at a copy this lineage no longer shows.
77
77
  it.redone = null;
78
- const copy = ops.redo(tr, it, new Set([it]), p.um());
78
+ const copy = ops.redo(tr, it, new Set([it]));
79
79
  if (copy === null)
80
80
  continue;
81
81
  dropSearchMarkers(copy.parent);
@@ -85,7 +85,7 @@ export const bindDeletes = (Y) => {
85
85
  if (attrs !== undefined) {
86
86
  const kids = [...attrs.values()].filter((c) => c.deleted);
87
87
  for (const kid of kids)
88
- ops.redo(tr, kid, new Set(kids), p.um());
88
+ ops.redo(tr, kid, new Set(kids));
89
89
  }
90
90
  const e = {
91
91
  c: copy.id.client,
@@ -252,14 +252,9 @@ export const bindDeletes = (Y) => {
252
252
  /** The text units `ids` names, as spans. */
253
253
  const unitsIn = (s, ids) => {
254
254
  const out = [];
255
- ids.clients.forEach((ranges, c) => {
256
- for (const r of ranges.getIds())
257
- walkIdSetStructs(Y, s.doc, idSet([{ c, k: r.clock, n: r.len }]), (st) => {
258
- const lo = Math.max(r.clock, st.id.clock);
259
- const hi = Math.min(r.clock + r.len, st.id.clock + st.length);
260
- if (hi > lo && isUnit(st))
261
- out.push({ c, k: lo, n: hi - lo });
262
- });
255
+ walkIdSet(Y, s.doc, ids, (st, lo, hi) => {
256
+ if (hi > lo && isUnit(st))
257
+ out.push({ c: st.id.client, k: lo, n: hi - lo });
263
258
  });
264
259
  return out;
265
260
  };
@@ -320,68 +315,10 @@ export const bindDeletes = (Y) => {
320
315
  if (tr !== null)
321
316
  remove(tr, shown(s, spans.flatMap((sp) => rootSpans(s, sp))));
322
317
  },
323
- /**
324
- * Whether every live mark holding a character of `spans` was written
325
- * where `old` says (a withdrawn block's content was deleted
326
- * before the horizon). Characters no mark holds count as old.
327
- */
328
- heldBefore: (doc, spans, old) => {
329
- const s = attach(doc);
330
- return spans
331
- .flatMap((sp) => rootSpans(s, sp))
332
- .every((r) => holders(s, r).every((mark) => old(mark.client, mark.clock)));
333
- },
334
- /**
335
- * The purge's part (`room.purge.what`), inside the purge
336
- * transaction: delete every text delete mark record `old` names, and
337
- * every restoration record `old` names whose copies are all deleted
338
- * and that no remaining mark holds; its copies are forgotten (the
339
- * `gcFilter` no longer keeps them) and collected. Writes no mark.
340
- */
341
- purge: (doc, old) => {
342
- const s = attach(doc);
343
- const tr = s.doc._transaction;
344
- if (tr === null)
345
- throw new Error('purge: outside a transaction');
346
- const spans = [];
347
- const dropped = [];
348
- for (let it = firstItem(s.marks); it; it = it.right)
349
- if (!it.deleted)
350
- for (let j = 0; j < it.length; j++) {
351
- const r = { client: it.id.client, clock: it.id.clock + j };
352
- if (!old(r.client, r.clock))
353
- continue;
354
- dropped.push(r);
355
- const last = spans[spans.length - 1];
356
- if (last !== undefined && last.c === r.client && last.k + last.n === r.clock)
357
- last.n++;
358
- else
359
- spans.push({ c: r.client, k: r.clock, n: 1 });
360
- }
361
- dropMarks(s, dropped);
362
- const marks = dropped.length;
363
- remove(tr, spans);
364
- const doomed = [];
365
- attrItems(s.restored).forEach((it, key) => {
366
- if (it.deleted || !old(it.id.client, it.id.clock))
367
- return;
368
- const [record, bytes] = recordsIn(it, null)[0] ?? [];
369
- if (bytes === undefined)
370
- return;
371
- const copies = copiesOf(record, bytes);
372
- const dead = copies.every((e) => liveRoots(s, { c: e.c, k: e.k, n: e.n, rk: e.k }).length === 0 &&
373
- holders(s, { c: e.rc, k: e.rk, n: e.n }).length === 0);
374
- if (dead)
375
- doomed.push({ key, copies });
376
- });
377
- for (const { key, copies } of doomed) {
378
- s.restored.deleteAttr(key);
379
- forget(s, copies);
380
- collect(s, tr, copies);
381
- }
382
- return { marks, records: doomed.length };
383
- },
384
- /** The `restoreFilter` and `onApply` options of a history on `doc` (fork patch YP11). */
318
+ /** A doc's index of marks and copies, and the delete the purge writes (`purge.ts`). */
319
+ state: attach,
320
+ remove,
321
+ /** The restore and apply rules of a history on `doc` (`doc/history.ts`). */
385
322
  history: (doc, um) => {
386
323
  const s = attach(doc);
387
324
  const p = { um, watch: [], tr: null, units: [] };
@@ -3,11 +3,11 @@
3
3
  * when a fold invalidates it, sharing unchanged runs and interned payloads.
4
4
  */
5
5
  import { cloneJsonSafe } from '../../../utils/json.js';
6
- import { canonKey, deepFreeze, displayOf } from '../model.js';
6
+ import { canonKey, deepFreeze, displayOf, readSegs } from '../model.js';
7
7
  import { runEquals } from './shared.js';
8
8
  /** The run cache of one doc's index. */
9
9
  export const indexCache = (ix) => {
10
- const { T, blocks, textConsumers, listConsumers, cache, dirty, foldStats, frames, ownShim } = ix;
10
+ const { blocks, textConsumers, listConsumers, cache, dirty, foldStats, frames, ownShim } = ix;
11
11
  const rangeStats = { items: 0, markers: 0 };
12
12
  // ── run cache ────────────────────────────────────────────────────
13
13
  const internMap = new Map();
@@ -97,7 +97,7 @@ export const indexCache = (ix) => {
97
97
  deps.lists.add(c.m);
98
98
  }) ?? [];
99
99
  const fresh = [];
100
- for (const item of T.readSegs(segs, rangeStats)) {
100
+ for (const item of readSegs(segs, rangeStats)) {
101
101
  if (item.kind === 'text') {
102
102
  const last = fresh[fresh.length - 1];
103
103
  const marks = item.marks === undefined ? undefined : intern(item.marks);
@@ -1,4 +1,3 @@
1
- import type { EngineDeepEvent } from '../../engine-api.js';
2
1
  import { type BlockId } from '../../placement/model.js';
3
2
  import type { ContentRun } from '../runs.js';
4
3
  import type { IndexAnchored } from './anchored.js';
@@ -17,7 +16,7 @@ export declare const indexFold: (ix: IndexState & IndexClaims & IndexStreams & I
17
16
  openTx: () => Tx | null | undefined;
18
17
  syncAll: () => void;
19
18
  unfolded: () => boolean;
20
- onCommit: (e: EngineDeepEvent) => void;
19
+ onCommit: (tr: Tx) => void;
21
20
  committed: WeakSet<Tx>;
22
21
  };
23
22
  export type IndexFold = ReturnType<typeof indexFold>;
@@ -4,16 +4,17 @@
4
4
  * pending part of every transaction whose commit fold has not run.
5
5
  */
6
6
  import { readData } from '../../data.js';
7
+ import { Y } from '../../engine.js';
7
8
  import { LIVE_WRITERS, baseIdOf, incarnationId } from '../../incarnations.js';
8
9
  import { candidatesOf } from '../../placement/model.js';
9
10
  import { CONTENT, NONCE, hasDeleteMark, isNodeLike } from '../../schema.js';
10
- import { engineOps, itemOf, queuedTransactions, sequenceLength, walkIdSetRanges, walkIdSetStructs } from '../../structs.js';
11
+ import { changedUnder, engineOps, itemOf, queuedTransactions, sequenceLength, walkIdSet } from '../../structs.js';
11
12
  import { DEAD, isBoundary } from '../model.js';
12
13
  import { gapOfItem, headOf, rowLength, segmentOfGap, shiftGap } from '../rows.js';
13
- import { CONTENT_ATTR, EMPTY_RUNS, ENTRY_FACET, facetOf, indexChecks, sameShape, typeAttr } from './shared.js';
14
+ import { CONTENT_ATTR, EMPTY_RUNS, ENTRY_FACET, facetOf, checksOf, indexChecks, sameShape, typeAttr } from './shared.js';
14
15
  /** The fold of one doc's index, over every part it folds into. */
15
16
  export const indexFold = (ix) => {
16
- const { Y, doc, registry, dataRoot, blocks, shells, textConsumers, ownerSeeds, rows, retargets, unresolved, reclaim, placementSeeds, stateSeeds, incarnations, cache, dirty, foldStats, frames, candidates, ownerOf, invalidateBlock, streamOf, streamsIn, setRow, scanRow, refreshDelims, placeHome, applyRetargets, noteKind, argParent, noteCands, kept, updateBlockRec, ensureRec, syncIncarnations, computeRuns, tableFacts } = ix;
17
+ const { doc, registry, dataRoot, blocks, shells, textConsumers, ownerSeeds, rows, retargets, unresolved, reclaim, placementSeeds, stateSeeds, incarnations, cache, dirty, foldStats, frames, candidates, ownerOf, invalidateBlock, streamOf, streamsIn, setRow, scanRow, refreshDelims, placeHome, applyRetargets, noteKind, argParent, noteCands, kept, updateBlockRec, ensureRec, syncIncarnations, computeRuns, tableFacts } = ix;
17
18
  const ops = engineOps(Y);
18
19
  const NO_EDITS = Object.freeze({
19
20
  edits: [],
@@ -38,7 +39,7 @@ export const indexFold = (ix) => {
38
39
  if (ins === undefined || del === undefined)
39
40
  return (built = null);
40
41
  const out = new Map();
41
- const visit = (idSet, deleted) => walkIdSetRanges(Y, doc, idSet, (s, from, to) => {
42
+ const visit = (idSet, deleted) => walkIdSet(Y, doc, idSet, (s, from, to) => {
42
43
  const parent = s.parent;
43
44
  if (s.parentSub !== null || !isNodeLike(parent))
44
45
  return;
@@ -384,7 +385,7 @@ export const indexFold = (ix) => {
384
385
  for (const b of ctx.invalidated)
385
386
  dirty.add(b);
386
387
  if (indexChecks.on)
387
- ix.checks.check();
388
+ checksOf(ix).check();
388
389
  if (derived)
389
390
  ix.version++;
390
391
  if (ix.reporting) {
@@ -449,8 +450,8 @@ export const indexFold = (ix) => {
449
450
  changed.set(s.parent, (subs = new Set()));
450
451
  subs.add(s.parentSub);
451
452
  };
452
- walkIdSetStructs(Y, doc, ins, note);
453
- walkIdSetStructs(Y, doc, del, note);
453
+ walkIdSet(Y, doc, ins, note);
454
+ walkIdSet(Y, doc, del, note);
454
455
  fold(changed, makeEditIndex(ins, del));
455
456
  return true;
456
457
  };
@@ -473,9 +474,13 @@ export const indexFold = (ix) => {
473
474
  tr.insertSet !== undefined &&
474
475
  tr.deleteSet !== undefined &&
475
476
  lengthOf(tr.insertSet) + lengthOf(tr.deleteSet) !== (cursors.get(tr)?.mark ?? 0));
476
- /** The commit: fold `transaction.changed` once (the report publishes from `update`). */
477
- const onCommit = (e) => {
478
- const tr = e.transaction;
477
+ /**
478
+ * The commit of a transaction that changed the registry or a node under
479
+ * it: fold `transaction.changed` once (the report publishes from `update`).
480
+ */
481
+ const onCommit = (tr) => {
482
+ if (!changedUnder(tr, [registry]))
483
+ return;
479
484
  let [ins, del] = [tr.insertSet, tr.deleteSet];
480
485
  // The writes a read folded already moved the rows: only the rest
481
486
  // are edits now (the facets fold again, idempotent).
@@ -18,16 +18,6 @@ export declare const indexLayout: (ix: IndexState) => {
18
18
  cellRank: (row: BlockId, id: BlockId) => string | undefined;
19
19
  tableFacts: (b: BlockId, data: unknown) => string;
20
20
  declaredItems: () => Set<string>;
21
- dissolveVisit: (kids: Map<BlockId | null, ChildSlot[]>, out: Set<BlockId>, ids: readonly BlockId[], layout: boolean, ctx?: {
22
- table: BlockId;
23
- } | {
24
- row: BlockId;
25
- columns: Map<string, number> | null;
26
- seen: Set<string>;
27
- } | null) => {
28
- id: BlockId;
29
- kids: BlockId[];
30
- }[];
31
21
  dissolve: (kids: Map<BlockId | null, ChildSlot[]>) => Set<BlockId>;
32
22
  redissolve: (changed: Map<BlockId, [BlockId | null | undefined, BlockId | null | undefined]>, kinds: Iterable<BlockId>) => Set<BlockId>;
33
23
  };
@@ -1,5 +1,5 @@
1
1
  import { encodeRank, RANK_VMAX } from '../../placement/rank.js';
2
- import { unlistedRank } from '../../tables.js';
2
+ import { listedColumns, unlistedRank } from '../../tables.js';
3
3
  /** The layout rules of one doc's index, over its state. */
4
4
  export const indexLayout = (ix) => {
5
5
  const { blocks, kindsOf } = ix;
@@ -46,19 +46,10 @@ export const indexLayout = (ix) => {
46
46
  if (data === null || typeof data !== 'object')
47
47
  return null;
48
48
  let index = columnsMemo.get(data);
49
- if (index !== undefined)
50
- return index;
51
- const columns = data.columns;
52
- index = null;
53
- if (Array.isArray(columns)) {
54
- index = new Map();
55
- for (const c of columns) {
56
- const id = c?.id;
57
- if (typeof id === 'string' && !index.has(id))
58
- index.set(id, index.size);
59
- }
49
+ if (index === undefined) {
50
+ const ids = listedColumns(data);
51
+ columnsMemo.set(data, (index = ids && new Map(ids.map((id, i) => [id, i]))));
60
52
  }
61
- columnsMemo.set(data, index);
62
53
  return index;
63
54
  };
64
55
  /** The column a cell names (`data.column`), if any. */
@@ -75,12 +66,8 @@ export const indexLayout = (ix) => {
75
66
  const k = kindsOf.get(b);
76
67
  if (data === null || typeof data !== 'object')
77
68
  return '';
78
- if (k?.table) {
79
- const columns = data.columns;
80
- return Array.isArray(columns)
81
- ? JSON.stringify(columns.map((c) => c?.id ?? null))
82
- : '';
83
- }
69
+ if (k?.table)
70
+ return JSON.stringify(listedColumns(data));
84
71
  if (k?.cell) {
85
72
  const c = data.column;
86
73
  return typeof c === 'string' ? c : '';
@@ -281,7 +268,6 @@ export const indexLayout = (ix) => {
281
268
  cellRank,
282
269
  tableFacts,
283
270
  declaredItems,
284
- dissolveVisit,
285
271
  dissolve,
286
272
  redissolve
287
273
  };
@@ -4,6 +4,7 @@
4
4
  * the maintained facts must re-decide.
5
5
  */
6
6
  import { readData } from '../../data.js';
7
+ import { Y } from '../../engine.js';
7
8
  import { baseIdOf, incarnationNode, incarnationsOf, isIncarnationId } from '../../incarnations.js';
8
9
  import { candidatesOf } from '../../placement/model.js';
9
10
  import { engineOps } from '../../structs.js';
@@ -12,7 +13,7 @@ import { readClaims } from '../model.js';
12
13
  import { dropFrom, sameShape, typeAttr } from './shared.js';
13
14
  /** The block records of one doc's index. */
14
15
  export const indexRecords = (ix) => {
15
- const { Y, registry, blocks, shells, attachOf, foreignOf, retargets, reclaim, byArgParent, placementSeeds, stateSeeds, incarnations, noteClaims, effectiveClaims, noteKind, argParent, noteCands } = ix;
16
+ const { registry, blocks, shells, attachOf, foreignOf, retargets, reclaim, byArgParent, placementSeeds, stateSeeds, incarnations, noteClaims, effectiveClaims, noteKind, argParent, noteCands } = ix;
16
17
  // ── records ──────────────────────────────────────────────────────
17
18
  /** Fork patch YP14's predicate: the registry values the engine keeps. */
18
19
  const kept = engineOps(Y).isKeptReplaced;
@@ -5,16 +5,15 @@
5
5
  import { cloneJsonSafe, sameIds } from '../../../utils/json.js';
6
6
  import { readData } from '../../data.js';
7
7
  import { callEach } from '../../protocols/observable.js';
8
- import { protectItems } from '../model.js';
9
- import { EMPTY_IDS, dataOf, indexChecks, keyOf } from './shared.js';
8
+ import { EMPTY_IDS, checksOf, dataOf, indexChecks, keyOf } from './shared.js';
10
9
  /** The change report of one doc's index. */
11
10
  export const indexReporter = (ix) => {
12
- const { T, doc, dataRoot, blocks, following, dirtyLists, leftLists, candidates, ownShim, ensurePlacements, typeOf, intern, runs, syncAll } = ix;
11
+ const { doc, dataRoot, blocks, following, dirtyLists, leftLists, candidates, ensurePlacements, typeOf, runs, syncAll } = ix;
13
12
  const docData = () => cloneJsonSafe(readData(dataRoot) ?? {});
14
13
  let dataChanged = false;
15
14
  // ── projection ───────────────────────────────────────────────────
16
- /** `id`'s visible content items, canonical and frozen. */
17
- const itemsOf = (id) => protectItems(T.readSegs(ownShim.display(id) ?? []), intern);
15
+ /** `id`'s visible content items: its runs, as fresh wrappers over their shared payloads. */
16
+ const itemsOf = (id) => runs(id).map((r) => ({ ...r }));
18
17
  const projectBlock = (id) => {
19
18
  const rec = blocks.get(id);
20
19
  const projected = {
@@ -290,7 +289,7 @@ export const indexReporter = (ix) => {
290
289
  leftLists.clear();
291
290
  ix.allListsDirty = false;
292
291
  if (indexChecks.on)
293
- ix.checks.checkPublished(published);
292
+ checksOf(ix).checkPublished(published);
294
293
  const empty = r.added.size + r.removed.size + r.moved.size + r.meta.size + r.content.size + r.order.size;
295
294
  return empty === 0 && !r.data ? null : r;
296
295
  };
@@ -1,6 +1,7 @@
1
1
  import type { EngineNode } from '../../engine-api.js';
2
2
  import type { BlockId, BlockRec } from '../../placement/model.js';
3
3
  import type { ContentRun, DisplayRoles } from '../runs.js';
4
+ import type { SelfChecks } from './state.js';
4
5
  /**
5
6
  * The facet name of a block's registry entry itself (inserted or removed) —
6
7
  * every other facet is named by the block attr it entered through.
@@ -48,14 +49,20 @@ export type Cached = {
48
49
  */
49
50
  export declare const sameShape: (roles: DisplayRoles, a: string, b: string) => boolean;
50
51
  /**
51
- * Test lanes turn this on (`globalThis.__EDYTOR_INDEX_CHECKS__`, set before
52
- * the index loads): after every fold the index checks each fact it keeps
53
- * incrementally against a rebuild from the replicated state and throws on
54
- * the first difference. Off in production.
52
+ * The index's self-checks, off in production: a test lane's setup installs
53
+ * `of`, which builds an index's checker (on its first check), and turns them
54
+ * `on`. After every fold the index checks each fact it keeps incrementally
55
+ * against a rebuild from the replicated state and throws on the first
56
+ * difference; after every report, the published tree.
55
57
  */
56
58
  export declare const indexChecks: {
57
59
  on: boolean;
60
+ of?: (ix: never) => SelfChecks;
58
61
  };
62
+ /** `ix`'s checker ({@link indexChecks}), built on its first check. */
63
+ export declare const checksOf: (ix: {
64
+ checks: SelfChecks | null;
65
+ }) => SelfChecks;
59
66
  /** Add `value` to `key`'s set in `index`. */
60
67
  export declare const addTo: <K, V>(index: Map<K, Set<V>>, key: K, value: V) => void;
61
68
  /** Remove `value` from `key`'s set in `index` (the set goes once empty). */
@@ -74,14 +74,15 @@ export const sameShape = (roles, a, b) => {
74
74
  cells.has(a) === cells.has(b));
75
75
  };
76
76
  /**
77
- * Test lanes turn this on (`globalThis.__EDYTOR_INDEX_CHECKS__`, set before
78
- * the index loads): after every fold the index checks each fact it keeps
79
- * incrementally against a rebuild from the replicated state and throws on
80
- * the first difference. Off in production.
77
+ * The index's self-checks, off in production: a test lane's setup installs
78
+ * `of`, which builds an index's checker (on its first check), and turns them
79
+ * `on`. After every fold the index checks each fact it keeps incrementally
80
+ * against a rebuild from the replicated state and throws on the first
81
+ * difference; after every report, the published tree.
81
82
  */
82
- export const indexChecks = {
83
- on: globalThis.__EDYTOR_INDEX_CHECKS__ === true
84
- };
83
+ export const indexChecks = { on: false };
84
+ /** `ix`'s checker ({@link indexChecks}), built on its first check. */
85
+ export const checksOf = (ix) => (ix.checks ??= indexChecks.of(ix));
85
86
  /** Add `value` to `key`'s set in `index`. */
86
87
  export const addTo = (index, key, value) => {
87
88
  let set = index.get(key);
@@ -5,10 +5,9 @@
5
5
  * indexes, the counters and flags) are read through `ix` at every use.
6
6
  * What one part alone keeps stays in that part.
7
7
  */
8
- import type { EngineApi, EngineDoc, EngineTransaction } from '../../engine-api.js';
8
+ import type { EngineDoc, EngineTransaction } from '../../engine-api.js';
9
9
  import { type BlockId, type BlockRec, type ChildSlot, type ResolvedPlacement } from '../../placement/model.js';
10
10
  import type { IdSetLike } from '../../structs.js';
11
- import type { TextEngine } from '../model.js';
12
11
  import type { LiveRow, RowItem } from '../rows.js';
13
12
  import type { ContentRun, DisplayRoles, Folded } from '../runs.js';
14
13
  import type { Cached } from './shared.js';
@@ -76,36 +75,7 @@ export type SelfChecks = {
76
75
  checkPublished: (pub: Published) => void;
77
76
  };
78
77
  /** Build the empty state of `doc`'s index. */
79
- export declare const indexState: (Y: EngineApi, T: TextEngine, doc: EngineDoc) => {
80
- Y: Pick<typeof import("../../vendor/yjs/dts/index.js"), import("../../engine.js").EngineSymbol>;
81
- T: {
82
- newNode: (name: string) => import("../../engine-api.js").EngineNode;
83
- resolveAnchor: (doc: EngineDoc, text: import("../../engine-api.js").EngineNode, anchor: import("../model.js").Anchor) => number | null;
84
- anchorAt: (text: import("../../engine-api.js").EngineNode, index: number, assoc: number) => import("../model.js").Anchor;
85
- openRangeCursor: (text: import("../../engine-api.js").EngineNode) => import("../model.js").RangeCursor;
86
- itemsOfRange: (text: import("../../engine-api.js").EngineNode, i0: number, i1: number) => import("../model.js").RangeItem[];
87
- readSegs: (segs: readonly import("../model.js").Seg[], stats?: import("../model.js").RangeReadStats) => import("../model.js").RangeItem[];
88
- computeOwnership: (doc: EngineDoc, given: ReadonlyMap<import("../model.js").BlockId, import("../model.js").TextBlockRec>) => import("../model.js").Ownership;
89
- flatten: (b: import("../model.js").BlockId, blocks: unknown, own: import("../model.js").Ownership) => import("../model.js").Seg[];
90
- ownedLength: (segs: readonly import("../model.js").Seg[]) => number;
91
- contentItemsOf: (b: import("../model.js").BlockId, blocks: unknown, own: import("../model.js").Ownership) => import("../model.js").RangeItem[];
92
- blockTextOf: (b: import("../model.js").BlockId, blocks: unknown, own: import("../model.js").Ownership) => string;
93
- insertIntoText: (doc: EngineDoc, blocks: unknown, own: import("../model.js").Ownership, b: import("../model.js").BlockId, offset: number, payload: string | import("../../engine-api.js").EngineNode, marks?: Record<string, unknown>) => void;
94
- deleteRange: (doc: EngineDoc, blocks: unknown, own: import("../model.js").Ownership, b: import("../model.js").BlockId, offset: number, length: number) => void;
95
- formatRangeIn: (doc: EngineDoc, blocks: unknown, own: import("../model.js").Ownership, b: import("../model.js").BlockId, offset: number, length: number, formats: Record<string, unknown>) => void;
96
- purgeStreams: (streams: readonly import("../model.js").Stream[]) => void;
97
- findAtom: (own: import("../model.js").Ownership, b: import("../model.js").BlockId, inlineId: string) => {
98
- text: import("../../engine-api.js").EngineNode;
99
- at: number;
100
- node: import("../../engine-api.js").EngineNode;
101
- } | null;
102
- splitAt: (blocks: ReadonlyMap<import("../model.js").BlockId, import("../model.js").TextBlockRec>, own: import("../model.js").Ownership, b: import("../model.js").BlockId, offset: number, newId: import("../model.js").BlockId, n: number) => import("../model.js").MergeClaim[];
103
- claimInto: (blocks: ReadonlyMap<import("../model.js").BlockId, import("../model.js").TextBlockRec>, own: Pick<import("../model.js").Ownership, "streamOf">, from: import("../model.js").BlockId, into: import("../model.js").BlockId) => void;
104
- ownText: (doc: EngineDoc, rec: import("../model.js").TextBlockRec) => {
105
- from: unknown;
106
- to: number;
107
- };
108
- };
78
+ export declare const indexState: (doc: EngineDoc) => {
109
79
  doc: EngineDoc;
110
80
  registry: import("../../engine-api.js").EngineNode;
111
81
  /** The document's own data (`crdt/data.ts`): outside the registry, reported apart. */
@@ -217,7 +187,7 @@ export declare const indexState: (Y: EngineApi, T: TextEngine, doc: EngineDoc) =
217
187
  frames: Set<Folded>;
218
188
  candidates: Set<string>;
219
189
  reporting: boolean;
220
- /** The self-checks, once built (`checks.ts`). */
190
+ /** The self-checks, once built (`checksOf`). */
221
191
  checks: SelfChecks | null;
222
192
  };
223
193
  export type IndexState = ReturnType<typeof indexState>;
@@ -1,13 +1,11 @@
1
1
  import { REGISTRY_KEY } from '../../placement/model.js';
2
2
  import { DOC_DATA_ROOT } from '../../schema.js';
3
3
  /** Build the empty state of `doc`'s index. */
4
- export const indexState = (Y, T, doc) => {
4
+ export const indexState = (doc) => {
5
5
  // The children index starts as the one without the layout rules (no layout yet).
6
6
  const kids0 = new Map();
7
7
  const slots0 = new Map();
8
8
  return {
9
- Y,
10
- T,
11
9
  doc,
12
10
  registry: doc.get(REGISTRY_KEY),
13
11
  /** The document's own data (`crdt/data.ts`): outside the registry, reported apart. */
@@ -114,7 +112,7 @@ export const indexState = (Y, T, doc) => {
114
112
  frames: new Set(),
115
113
  candidates: new Set(),
116
114
  reporting: false,
117
- /** The self-checks, once built (`checks.ts`). */
115
+ /** The self-checks, once built (`checksOf`). */
118
116
  checks: null
119
117
  };
120
118
  };
@@ -29,7 +29,10 @@
29
29
  *
30
30
  * The item guards are `text/items.ts`, the range reads `text/ranges.ts` and
31
31
  * the stream table `text/streams.ts` (re-exported here); this module declares
32
- * the text model's types and binds its reads and writes to an engine.
32
+ * the text model's types and its reads and writes, each a function edytor's
33
+ * modules import (the public binding's `text` lists them, `bindText`). The
34
+ * from-scratch ownership (`computeOwnership`) is the oracle the index is
35
+ * checked against: only the public binding and the tests reach it.
33
36
  */
34
37
  import type { EngineApi, EngineDoc, EngineNode } from '../engine-api.js';
35
38
  import { type IdSetOf } from '../structs.js';
@@ -239,7 +242,84 @@ export type Ownership = {
239
242
  /** `b`'s effective claims (`merge.claim.anchor`), when the context computed them. */
240
243
  claimsOf?: (b: BlockId) => readonly Claim[];
241
244
  };
242
- export declare const bindText: (Y: EngineApi) => {
245
+ /** Construct a detached v14 node, viewed through the structural interface. */
246
+ export declare const newNode: (name: string) => EngineNode;
247
+ /** Anchor → live index in `text`, or `null` when its item is not integrated here. */
248
+ export declare const resolveAnchor: (doc: EngineDoc, text: EngineNode, anchor: Anchor) => number | null;
249
+ /**
250
+ * Live index → anchor bound on the `assoc` side: `assoc < 0` binds the unit
251
+ * before `index` (an insert at `index` lands right of it; `i: null` at the
252
+ * text start), `assoc >= 0` the unit at `index` (`i: null` at the text end).
253
+ */
254
+ export declare const anchorAt: (text: EngineNode, index: number, assoc: number) => Anchor;
255
+ /** A bounded read cursor on `text` (live-content space). */
256
+ export declare const openRangeCursor: (text: EngineNode) => RangeCursor;
257
+ export declare const itemsOfRange: (text: EngineNode, i0: number, i1: number) => RangeItem[];
258
+ /** The items of `segs`, one cursor per backing text. */
259
+ export declare const readSegs: (segs: readonly Seg[], stats?: RangeReadStats) => RangeItem[];
260
+ export declare const computeOwnership: (doc: EngineDoc, given: ReadonlyMap<BlockId, TextBlockRec>) => Ownership;
261
+ /** `b`'s display pieces (`[]` when hidden or streamless and claimless). */
262
+ export declare const flatten: (b: BlockId, blocks: unknown, own: Ownership) => Seg[];
263
+ export declare const contentItemsOf: (b: BlockId, blocks: unknown, own: Ownership) => RangeItem[];
264
+ export declare const blockTextOf: (b: BlockId, blocks: unknown, own: Ownership) => string;
265
+ /**
266
+ * Insert at a display offset, beside the boundary the engine walk and the
267
+ * left side choose. The display must be non-empty: a streamless block gets
268
+ * its own text first ({@link ownText}). The content goes in its gap
269
+ * (`insertInGap`, fork patch YP13: after the marks attached to the text before it,
270
+ * before those attached to the text after it); text then shows exactly
271
+ * `marks` (an operation for each mark its gap gave it otherwise).
272
+ */
273
+ export declare const insertIntoText: (doc: EngineDoc, blocks: unknown, own: Ownership, b: BlockId, offset: number, payload: string | EngineNode, marks?: Record<string, unknown>) => void;
274
+ /** The per-stream delete: each range lies inside one stream's pieces, so no boundary is ever removed. */
275
+ export declare const deleteRange: (doc: EngineDoc, blocks: unknown, own: Ownership, b: BlockId, offset: number, length: number) => void;
276
+ export declare const formatRangeIn: (doc: EngineDoc, blocks: unknown, own: Ownership, b: BlockId, offset: number, length: number, formats: Record<string, unknown>) => void;
277
+ /**
278
+ * Delete the content of streams `streams` (the room's purge of a
279
+ * block deleted past the horizon): every piece, so no boundary goes and
280
+ * each stream still delimits, writing no delete mark.
281
+ * Streams of one text are deleted from its end, so the indices the
282
+ * caller read stay valid.
283
+ */
284
+ export declare const purgeStreams: (streams: readonly Stream[]) => void;
285
+ /** The inline atom `inlineId` in `b`'s display: its text, engine index and node. */
286
+ export declare const findAtom: (own: Ownership, b: BlockId, inlineId: string) => {
287
+ text: EngineNode;
288
+ at: number;
289
+ node: EngineNode;
290
+ } | null;
291
+ /**
292
+ * Split `b`'s display at `offset` for the new block `newId` (incarnation
293
+ * `n`): one boundary through fork patch YP7 at the end of the gap, and the claims that
294
+ * follow the split point — every claim of the stream's own block, then each
295
+ * holder's claims after the one that led down — returned for re-insertion
296
+ * on the new block and deleted from their holders. No text is copied.
297
+ */
298
+ export declare const splitAt: (blocks: ReadonlyMap<BlockId, TextBlockRec>, own: Ownership, b: BlockId, offset: number, newId: BlockId, n: number) => MergeClaim[];
299
+ /**
300
+ * Append a merge claim `{m: from}` to `into`'s claims list, anchored to
301
+ * the end of `into`'s stream (`merge.claim.anchor`): its last unit (its
302
+ * opening boundary when empty; none at an own text's start) and the item
303
+ * after it.
304
+ */
305
+ export declare const claimInto: (blocks: ReadonlyMap<BlockId, TextBlockRec>, own: Pick<Ownership, "streamOf">, from: BlockId, into: BlockId) => void;
306
+ /**
307
+ * Give streamless block `rec` its own text and re-mint its nonce, so a late
308
+ * copy of its old boundary is inert. Both writes carry a writer id
309
+ * derived from the block's node and its dead incarnation, so replicas that
310
+ * type into the block concurrently write the SAME items and both typings
311
+ * land in one text (the seed writer's mechanism). Returns the nonce
312
+ * change (the caller moves the block's attribution record with it).
313
+ */
314
+ export declare const ownText: (doc: EngineDoc, rec: TextBlockRec) => {
315
+ from: unknown;
316
+ to: number;
317
+ };
318
+ /**
319
+ * The text engine as one object (the public binding's `text`): the reads
320
+ * and writes above. Edytor's own modules import them directly.
321
+ */
322
+ export declare const bindText: (_Y: EngineApi) => {
243
323
  newNode: (name: string) => EngineNode;
244
324
  resolveAnchor: (doc: EngineDoc, text: EngineNode, anchor: Anchor) => number | null;
245
325
  anchorAt: (text: EngineNode, index: number, assoc: number) => Anchor;