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
- import type { EngineApi, EngineDoc, YDoc, YUndoManager } from './engine-api.js';
1
+ import type { EngineApi, EngineDoc, YDoc } from './engine-api.js';
2
2
  import { SCHEMA } from './schema.js';
3
- import { type BlockId, type BlockSpec, type Destination } from './placement/model.js';
3
+ import { bindModel, type BlockId } from './placement/model.js';
4
+ import { bindText } from './text/model.js';
4
5
  import { type RunView } from './text/runs.js';
5
- import { type DocBlock } from './nodes.js';
6
6
  import { type BlockAttribution } from './attribution/block.js';
7
- import { type JSONBlock, type JSONDoc } from '../utils/json.js';
7
+ import type { JSONBlock, JSONDoc } from '../utils/json.js';
8
8
  import { assertSchema, assertUsableDoc, checkSchema, isInitialized, META_KEY, registryEmpty, SCHEMA_NAME, SCHEMA_VERSION, SchemaMismatchError, schemaVersion } from './doc/gate.js';
9
9
  import type { EngineNode } from './engine-api.js';
10
10
  import type { ContentItem, InlineSpec, ModelView, SplitTail } from './placement/model.js';
@@ -17,20 +17,249 @@ export { SCHEMA };
17
17
  export { assertSchema, assertUsableDoc, checkSchema, isInitialized, META_KEY, registryEmpty, SCHEMA_NAME, SCHEMA_VERSION, SchemaMismatchError, schemaVersion };
18
18
  export { UnsupportedDocError, type SchemaProblem } from './doc/gate.js';
19
19
  export { SEED_ORIGIN } from './doc/seed.js';
20
- export { EdytorDocDisposedError, lineageDepthOf } from './doc/funnel.js';
20
+ export { EdytorDocDisposedError } from './doc/funnel.js';
21
21
  export { DEFAULT_HISTORY_LIMIT } from './doc/history.js';
22
22
  export type { AnchorAffinity, BlockRole, DataTarget, DocAnchor, DocChange, EdytorDocConfig, OpResult, OrderPolicy, Plan, PlanEffect, PlanStep, Prepared, TextRange };
23
23
  export type EdytorDoc = ReturnType<EdytorDocBinding['create']>;
24
+ /** A facade as the editor reads it: every member but the public binding's engine layers. */
25
+ export type DocFacade = Omit<EdytorDoc, 'model' | 'text'>;
24
26
  export type EdytorDocBinding = ReturnType<typeof bindEdytorDoc>;
27
+ export type DocModelBinding = ReturnType<typeof bindDocModel>;
28
+ /**
29
+ * The engine layers a facade lists as `model` and `text`: the public
30
+ * binding's ({@link bindDocModel}); an editor's facade lists none, so its
31
+ * graph holds neither object.
32
+ */
33
+ type Layers = {
34
+ model: ReturnType<typeof bindModel> | undefined;
35
+ text: ReturnType<typeof bindText> | undefined;
36
+ };
37
+ /**
38
+ * The per-doc facade factory over the engine `Y` (the editor's documents
39
+ * use it directly; {@link bindDocModel} is the public binding around it).
40
+ */
41
+ export declare const docFacade: <L extends Layers>(Y: EngineApi, layers: L) => (doc: EngineDoc, config?: EdytorDocConfig) => {
42
+ /** Every op prepared: pure, a plan of named steps + its effect, or `refused`. */
43
+ prepare: {
44
+ insertFlow: (target: import("./flow.js").FlowTarget, flow: import("./flow.js").Flow, view?: import("./flow.js").FlowView) => Prepared;
45
+ deleteRange: (from: DocPosition, to: DocPosition, view?: import("./rangeDelete.js").RangeView) => Prepared;
46
+ replaceRange: (from: DocPosition, to: DocPosition, view?: import("./rangeDelete.js").RangeView) => Prepared;
47
+ insertBlocks: (dest: import("./index.js").Destination, specs: readonly (import("./index.js").BlockSpec | JSONBlock)[]) => Prepared;
48
+ moveBlocks: (ids: readonly BlockId[], dest: import("./index.js").Destination) => Prepared;
49
+ /**
50
+ * Move `id` to the last position under `parent` — under a container
51
+ * it is no item of, under its last item (`nestParent`: Tab after a list).
52
+ */
53
+ nestBlock: (id: BlockId, parent: BlockId) => Prepared;
54
+ unNestBlock: (id: BlockId) => Prepared;
55
+ unNestBlocks: (ids: readonly BlockId[]) => Prepared;
56
+ liftOut: (id: BlockId, kind: string, { keep, after }?: {
57
+ keep?: boolean;
58
+ after?: readonly import("./index.js").BlockSpec[];
59
+ }) => Prepared;
60
+ placeBeside: (ids: readonly BlockId[], target: BlockId, side: "left" | "right", kind?: string) => Prepared;
61
+ wrapInLayout: (ids: readonly BlockId[], kind?: string, columns?: number) => Prepared;
62
+ splitBlock: (id: BlockId, offset: number, newId: BlockId, tail?: SplitTail) => Prepared;
63
+ mergeBlocks: (fromId: BlockId, intoId: BlockId) => Prepared;
64
+ mergeBackward: (id: BlockId) => Prepared;
65
+ mergeForward: (id: BlockId) => Prepared;
66
+ deleteBlock: (id: BlockId, opts?: {
67
+ keepChildren?: boolean;
68
+ }) => Prepared;
69
+ setBlock: (id: BlockId, value: {
70
+ type?: string;
71
+ data?: Record<string, unknown>;
72
+ content?: (ContentItem | import("./index.js").JSONText | import("./index.js").JSONInlineBlock)[];
73
+ children?: (import("./index.js").BlockSpec | JSONBlock)[];
74
+ }) => Prepared;
75
+ setBlockType: (id: BlockId, type: string) => Prepared;
76
+ patchData: (target: DataTarget, patches: readonly DataPatch[]) => Prepared;
77
+ duplicateBlock: (id: BlockId, freshId?: (oldId: string, kind: "block" | "inline") => string) => Prepared;
78
+ insertText: (id: BlockId, offset: number, text: string, marks?: Record<string, unknown>) => Prepared;
79
+ deleteText: (id: BlockId, offset: number, length: number) => Prepared;
80
+ formatRange: (id: BlockId, offset: number, length: number, marks: Record<string, unknown>) => Prepared;
81
+ clearMarks: (id: BlockId, offset: number, length: number) => Prepared;
82
+ insertInline: (id: BlockId, offset: number, atom: import("./doc/content.js").NewInline) => Prepared;
83
+ removeInline: (id: BlockId, inlineId: string) => Prepared;
84
+ /** Delete a block selection — one plan; only the members leave (`deleteBlocks` above). */
85
+ deleteBlocks: (ids: readonly BlockId[]) => Prepared;
86
+ };
87
+ /** Write a prepared plan exactly (refusals pass through). */
88
+ apply: (p: Prepared) => OpResult;
89
+ compose: (...parts: Prepared[]) => Prepared;
90
+ transact: <R>(fn: () => R, origin?: unknown) => R;
91
+ model: L["model"];
92
+ text: L["text"];
93
+ runsView: RunView;
94
+ version: number;
95
+ insertFlow: (target: import("./flow.js").FlowTarget, flow: import("./flow.js").Flow, view?: import("./flow.js").FlowView | undefined) => OpResult;
96
+ deleteRange: (from: DocPosition, to: DocPosition, view?: import("./rangeDelete.js").RangeView | undefined) => OpResult;
97
+ replaceRange: (from: DocPosition, to: DocPosition, view?: import("./rangeDelete.js").RangeView | undefined) => OpResult;
98
+ insertBlocks: (dest: import("./index.js").Destination, specs: readonly (import("./index.js").BlockSpec | JSONBlock)[]) => OpResult;
99
+ moveBlocks: (ids: readonly string[], dest: import("./index.js").Destination) => OpResult;
100
+ nestBlock: (id: string, parent: string) => OpResult;
101
+ unNestBlock: (id: string) => OpResult;
102
+ unNestBlocks: (ids: readonly string[]) => OpResult;
103
+ liftOut: (id: string, kind: string, args_2?: {
104
+ keep?: boolean;
105
+ after?: readonly import("./index.js").BlockSpec[];
106
+ } | undefined) => OpResult;
107
+ placeBeside: (ids: readonly string[], target: string, side: "right" | "left", kind?: string | undefined) => OpResult;
108
+ wrapInLayout: (ids: readonly string[], kind?: string | undefined, columns?: number | undefined) => OpResult;
109
+ splitBlock: (id: string, offset: number, newId: string, tail?: SplitTail | undefined) => OpResult;
110
+ mergeBlocks: (fromId: string, intoId: string) => OpResult;
111
+ mergeBackward: (id: string) => OpResult;
112
+ mergeForward: (id: string) => OpResult;
113
+ deleteBlock: (id: string, opts?: {
114
+ keepChildren?: boolean;
115
+ } | undefined) => OpResult;
116
+ setBlock: (id: string, value: {
117
+ type?: string;
118
+ data?: Record<string, unknown>;
119
+ content?: (ContentItem | import("./index.js").JSONText | import("./index.js").JSONInlineBlock)[];
120
+ children?: (import("./index.js").BlockSpec | JSONBlock)[];
121
+ }) => OpResult;
122
+ setBlockType: (id: string, type: string) => OpResult;
123
+ patchData: (target: DataTarget, patches: readonly DataPatch[]) => OpResult;
124
+ duplicateBlock: (id: string, freshId?: ((oldId: string, kind: "block" | "inline") => string) | undefined) => OpResult;
125
+ insertText: (id: string, offset: number, text: string, marks?: Record<string, unknown> | undefined) => OpResult;
126
+ deleteText: (id: string, offset: number, length: number) => OpResult;
127
+ formatRange: (id: string, offset: number, length: number, marks: Record<string, unknown>) => OpResult;
128
+ clearMarks: (id: string, offset: number, length: number) => OpResult;
129
+ insertInline: (id: string, offset: number, atom: import("./doc/content.js").NewInline) => OpResult;
130
+ removeInline: (id: string, inlineId: string) => OpResult;
131
+ deleteBlocks: (ids: readonly string[]) => OpResult;
132
+ init: (opts?: Parameters<(doc: EngineDoc, opts?: {
133
+ content?: import("./index.js").BlockSpec[];
134
+ defaultType?: string;
135
+ }) => void>[1]) => void;
136
+ /** Apply the deterministic seed of `value` and the document's `data` — the document's seed decision. */
137
+ seed: (value: JSONBlock[], data?: JsonObj) => void;
138
+ isInitialized: () => boolean;
139
+ /** Replicated `meta.v` schema version (the module-level read, bound). */
140
+ schemaVersion: () => number | undefined;
141
+ /**
142
+ * The schema gate for this doc — throws {@link SchemaMismatchError}
143
+ * on unversioned-content or unsupported-version state. Consumers
144
+ * (`Edytor.sync()`, packed consumers) call it before trusting
145
+ * a synced doc.
146
+ */
147
+ checkSchema: () => import("./edytor-doc.js").SchemaProblem | null;
148
+ assertSchema: () => void;
149
+ dispose: () => void;
150
+ createUndoManager: (options?: import("./doc/history.js").HistoryOptions) => import("./doc/history.js").UndoManager;
151
+ project: () => import("./index.js").ProjectedDoc;
152
+ toJSON: () => JSONDoc;
153
+ blockJSON: (id: string) => JSONBlock;
154
+ childrenIds: (id: string | null) => string[];
155
+ /** Visible children of `parent` with their ranks, in `(rank, id)` order. */
156
+ childSlots: (parent: BlockId | null) => import("./placement/model.js").ChildSlot[];
157
+ slotOf: (id: string) => {
158
+ parent: BlockId | null;
159
+ rank: string;
160
+ } | null;
161
+ positionOf: (id: string) => import("./index.js").Destination | null;
162
+ pathOf: (id: string) => number[] | null;
163
+ parentOf: (id: string) => string | null;
164
+ ancestorsOf: (id: string) => string[];
165
+ listBlockIds: () => string[];
166
+ blockText: (id: string) => string | null;
167
+ blockTypeOf: (id: string) => string | undefined;
168
+ blockDataOf: (id: string) => Record<string, unknown> | undefined;
169
+ docData: () => JsonObj;
170
+ dataItemIds: (target: DataTarget, path: readonly string[]) => string[];
171
+ /**
172
+ * Compact per-block attribution (`{createdBy, contributors,
173
+ * lastChangedBy}`), or `undefined` for unauthored/system blocks.
174
+ * O(1) per call; live-replicated (remote values read the same).
175
+ */
176
+ blockAttribution: (id: string) => BlockAttribution | undefined;
177
+ crdtId: (id: string) => string | null;
178
+ resolveBlock: (id: string) => EngineNode | null;
179
+ displayLength: (id: string) => number;
180
+ contentItems: (id: string) => ContentItem[];
181
+ hasBlock: (id: string) => boolean;
182
+ isVisibleBlock: (id: string) => boolean;
183
+ order: () => readonly BlockId[];
184
+ compare: (a: BlockId, b: BlockId) => number;
185
+ next: (id: string, policy?: OrderPolicy | undefined) => string | null;
186
+ previous: (id: string, policy?: OrderPolicy | undefined) => string | null;
187
+ anchorAt: (id: string, offset: number, affinity?: AnchorAffinity | undefined) => DocAnchor | null;
188
+ resolveAnchor: (anchor: DocAnchor) => {
189
+ blockId: BlockId;
190
+ offset: number;
191
+ } | null;
192
+ followUndo: (anchor: DocAnchor) => DocAnchor;
193
+ /** Re-read the roles after `roleOf` answers differently (roles adopted later). */
194
+ rolesChanged: () => void;
195
+ isVoid: (id: string) => boolean;
196
+ isIsland: (id: string) => boolean;
197
+ isLines: (id: string) => boolean;
198
+ /** `id` is a layout: its kind's role says `layout` (`layout.*`). */
199
+ isLayout: (id: string) => boolean;
200
+ /** `id` is a layout item: of its layout's item kind, directly in it (a column). */
201
+ isLayoutItem: (id: string) => boolean;
202
+ /** The block a beside placement at `id` stands beside (`placeBeside`'s resolution). */
203
+ besideAt: (id: BlockId, kind?: string) => string;
204
+ islandOf: (id: string) => string | null;
205
+ /** `id` is a table: its kind's role says `table` (`table.*`). */
206
+ isTable: (id: string) => boolean;
207
+ /** `id` is a table's row: of its table's row kind, directly in it. */
208
+ isTableRow: (id: string) => boolean;
209
+ /** `id` is a table's cell: of its row's cell kind, directly in a row of a table. */
210
+ isTableCell: (id: string) => boolean;
211
+ /** The table `id` is, or whose row or cell it is; `null` for any other block. */
212
+ tableOf: (id: string) => string | null;
213
+ /** The columns a table lists (`data.columns`), or `null` when it lists none. */
214
+ tableColumns: (id: string) => {
215
+ id: string;
216
+ width?: number;
217
+ }[] | null;
218
+ /**
219
+ * A table as a grid: its column ids and each shown row's cells by
220
+ * column, `null` where the row shows none (a padded cell, `table.pad`).
221
+ */
222
+ tableGrid: (id: string) => {
223
+ columns: string[];
224
+ rows: {
225
+ id: BlockId;
226
+ cells: (BlockId | null)[];
227
+ }[];
228
+ } | null;
229
+ insideIsland: (id: string) => boolean;
230
+ canPlace: (ids: readonly BlockId[], parent?: BlockId | null) => boolean;
231
+ canMerge: (from: BlockId, into: BlockId) => boolean;
232
+ /** May a block of `kind` sit directly under `parent`? The container rule (`fits`). */
233
+ fits: (parent: BlockId | null, kind: string) => boolean;
234
+ /** Where `ids` nest when nested into `parent` (Tab, a drop inside it): `nestParent`. */
235
+ nestParent: (ids: readonly BlockId[], parent: BlockId) => string;
236
+ /** Where a block of `kind` at `id`'s place lands, and the containers it leaves (`liftOut`). */
237
+ landingOf: (id: BlockId, kind: string, after?: boolean) => {
238
+ parent: string | null;
239
+ levels: string[];
240
+ };
241
+ defaultChild: (id: string | null) => string;
242
+ runs: (id: string) => readonly ContentRun[];
243
+ contentJSON: (id: string) => ({
244
+ text: string;
245
+ marks?: Record<string, unknown>;
246
+ } | {
247
+ id?: string;
248
+ type: string;
249
+ data?: unknown;
250
+ })[];
251
+ onChange: (cb: (change: DocChange) => void) => (() => void);
252
+ };
25
253
  /**
26
254
  * Bind the assembled model to a concrete engine surface. `Y` must be the
27
255
  * vendored v14 module — injected so this file type-checks structurally and
28
- * never imports vendor `.js` (see `engine-api.ts`).
256
+ * never imports vendor `.js` (see `engine-api.ts`). A document composes
257
+ * this binding; {@link bindEdytorDoc} adds the room's purge and restore.
29
258
  */
30
- export declare const bindEdytorDoc: (Y: EngineApi) => {
259
+ export declare const bindDocModel: (Y: EngineApi) => {
31
260
  /** The schema manifest constants table. */
32
261
  SCHEMA: {
33
- readonly version: 5;
262
+ readonly version: 6;
34
263
  readonly name: "edytor-doc";
35
264
  readonly roots: {
36
265
  readonly registry: "blocks";
@@ -41,15 +270,15 @@ export declare const bindEdytorDoc: (Y: EngineApi) => {
41
270
  readonly schema: "schema";
42
271
  };
43
272
  };
44
- SCHEMA_VERSION: 5;
273
+ SCHEMA_VERSION: 6;
45
274
  SCHEMA_NAME: "edytor-doc";
46
275
  META_KEY: "meta";
47
276
  /** Doc-level API (no facade needed). */
48
277
  init: (doc: EngineDoc, opts?: {
49
- content?: BlockSpec[];
278
+ content?: import("./index.js").BlockSpec[];
50
279
  defaultType?: string;
51
280
  }) => void;
52
- restore: (doc: EngineDoc, content: BlockSpec[]) => void;
281
+ restore: (doc: EngineDoc, content: import("./index.js").BlockSpec[]) => void;
53
282
  seed: (doc: EngineDoc, value?: JSONBlock[], defaultType?: string, data?: JsonObj) => void;
54
283
  isInitialized: (doc: EngineDoc) => boolean;
55
284
  schemaVersion: (doc: EngineDoc) => number | undefined;
@@ -64,18 +293,8 @@ export declare const bindEdytorDoc: (Y: EngineApi) => {
64
293
  insertFlow: (target: import("./flow.js").FlowTarget, flow: import("./flow.js").Flow, view?: import("./flow.js").FlowView) => Prepared;
65
294
  deleteRange: (from: DocPosition, to: DocPosition, view?: import("./rangeDelete.js").RangeView) => Prepared;
66
295
  replaceRange: (from: DocPosition, to: DocPosition, view?: import("./rangeDelete.js").RangeView) => Prepared;
67
- insertTableRow: (table: BlockId, index: number) => Prepared;
68
- deleteTableRows: (rows: readonly BlockId[]) => Prepared;
69
- insertTableColumn: (table: BlockId, index: number, width?: number) => Prepared;
70
- deleteTableColumn: (table: BlockId, column: string | number) => Prepared;
71
- moveTableColumn: (table: BlockId, column: string | number, to: number) => Prepared;
72
- moveTableRows: (rows: readonly BlockId[], to: number) => Prepared;
73
- fillTableCell: (row: BlockId, column: string | number) => Prepared;
74
- insertBlocks: (dest: Destination, specs: readonly (BlockSpec | JSONBlock)[]) => Prepared;
75
- insertBlock: (dest: Destination, spec: BlockSpec | JSONBlock) => Prepared;
76
- moveBlocks: (ids: readonly BlockId[], dest: Destination) => Prepared;
77
- /** Relocate `id` — identity preserved. */
78
- moveBlock: (id: BlockId, dest: Destination) => Prepared;
296
+ insertBlocks: (dest: import("./index.js").Destination, specs: readonly (import("./index.js").BlockSpec | JSONBlock)[]) => Prepared;
297
+ moveBlocks: (ids: readonly BlockId[], dest: import("./index.js").Destination) => Prepared;
79
298
  /**
80
299
  * Move `id` to the last position under `parent` — under a container
81
300
  * it is no item of, under its last item (`nestParent`: Tab after a list).
@@ -85,7 +304,7 @@ export declare const bindEdytorDoc: (Y: EngineApi) => {
85
304
  unNestBlocks: (ids: readonly BlockId[]) => Prepared;
86
305
  liftOut: (id: BlockId, kind: string, { keep, after }?: {
87
306
  keep?: boolean;
88
- after?: readonly BlockSpec[];
307
+ after?: readonly import("./index.js").BlockSpec[];
89
308
  }) => Prepared;
90
309
  placeBeside: (ids: readonly BlockId[], target: BlockId, side: "left" | "right", kind?: string) => Prepared;
91
310
  wrapInLayout: (ids: readonly BlockId[], kind?: string, columns?: number) => Prepared;
@@ -99,24 +318,18 @@ export declare const bindEdytorDoc: (Y: EngineApi) => {
99
318
  setBlock: (id: BlockId, value: {
100
319
  type?: string;
101
320
  data?: Record<string, unknown>;
102
- content?: ContentItem[];
103
- children?: BlockSpec[];
321
+ content?: (ContentItem | import("./index.js").JSONText | import("./index.js").JSONInlineBlock)[];
322
+ children?: (import("./index.js").BlockSpec | JSONBlock)[];
104
323
  }) => Prepared;
105
324
  setBlockType: (id: BlockId, type: string) => Prepared;
106
325
  patchData: (target: DataTarget, patches: readonly DataPatch[]) => Prepared;
107
- /** Replace a block's `data`: a patch of its root. */
108
- setBlockData: (id: BlockId, data: Record<string, unknown>) => Prepared;
109
- duplicateBlock: (id: BlockId, freshId: (oldId: string, kind: "block" | "inline") => string) => Prepared;
326
+ duplicateBlock: (id: BlockId, freshId?: (oldId: string, kind: "block" | "inline") => string) => Prepared;
110
327
  insertText: (id: BlockId, offset: number, text: string, marks?: Record<string, unknown>) => Prepared;
111
328
  deleteText: (id: BlockId, offset: number, length: number) => Prepared;
112
329
  formatRange: (id: BlockId, offset: number, length: number, marks: Record<string, unknown>) => Prepared;
113
- setMark: (id: BlockId, offset: number, length: number, name: string, value: unknown) => Prepared;
114
- unsetMark: (id: BlockId, offset: number, length: number, name: string) => Prepared;
115
330
  clearMarks: (id: BlockId, offset: number, length: number) => Prepared;
116
- insertInline: (id: BlockId, offset: number, atom: InlineSpec) => Prepared;
331
+ insertInline: (id: BlockId, offset: number, atom: import("./doc/content.js").NewInline) => Prepared;
117
332
  removeInline: (id: BlockId, inlineId: string) => Prepared;
118
- /** Replace an inline atom's `data`: a patch of its root. */
119
- setInlineData: (id: BlockId, inlineId: string, data: Record<string, unknown>) => Prepared;
120
333
  /** Delete a block selection — one plan; only the members leave (`deleteBlocks` above). */
121
334
  deleteBlocks: (ids: readonly BlockId[]) => Prepared;
122
335
  };
@@ -134,7 +347,7 @@ export declare const bindEdytorDoc: (Y: EngineApi) => {
134
347
  view: (doc: EngineDoc) => ModelView;
135
348
  resolvePlacements: (blocks: Map<BlockId, import("./placement/model.js").BlockRec>, ownerOf?: (b: BlockId) => import("./text/model.js").Owner) => Map<BlockId, import("./placement/model.js").ResolvedPlacement>;
136
349
  childrenIndex: (placements: Map<BlockId, import("./placement/model.js").ResolvedPlacement>, own: import("./placement/model.js").DisplayOwnership) => Map<BlockId | null, import("./placement/model.js").ChildSlot[]>;
137
- positionInView: (v: ModelView, id: BlockId) => Destination | null;
350
+ positionInView: (v: ModelView, id: BlockId) => import("./index.js").Destination | null;
138
351
  buildInline: (atom: InlineSpec) => EngineNode;
139
352
  isSelfOrDescendant: (placements: Map<BlockId, import("./placement/model.js").ResolvedPlacement>, own: import("./text/model.js").Ownership, id: BlockId, maybeAncestor: BlockId) => boolean;
140
353
  ranksAt: (siblings: readonly {
@@ -143,21 +356,21 @@ export declare const bindEdytorDoc: (Y: EngineApi) => {
143
356
  writePlacement: (doc: EngineDoc, node: EngineNode, p: BlockId | null, r: string) => void;
144
357
  withdrawOnUndo: (doc: EngineDoc) => (item: import("./engine-api.js").EngineItemRef, stackItem: {
145
358
  inserts: {
146
- hasId(id: unknown): boolean;
359
+ has(client: number, clock: number): boolean;
147
360
  };
148
361
  }) => boolean;
149
- materializeSpec: (doc: EngineDoc, sp: BlockSpec, parent: BlockId | null, rank: string) => void;
150
- collides: (doc: EngineDoc, specs: readonly BlockSpec[]) => boolean;
362
+ materializeSpec: (doc: EngineDoc, sp: import("./index.js").BlockSpec, parent: BlockId | null, rank: string) => void;
363
+ collides: (doc: EngineDoc, specs: readonly import("./index.js").BlockSpec[]) => boolean;
151
364
  writeSplit: (doc: EngineDoc, id: BlockId, offset: number, newId: BlockId, tail: SplitTail, place: import("./placement/model.js").PlacementValue) => void;
152
365
  ownText: (doc: EngineDoc, id: BlockId) => {
153
366
  from: unknown;
154
367
  to: number;
155
368
  };
156
- insertBlocks: (doc: EngineDoc, dest: Destination, specs: BlockSpec[]) => boolean;
157
- insertBlock: (doc: EngineDoc, dest: Destination, spec: BlockSpec) => boolean;
158
- restoreBlocks: (doc: EngineDoc, specs: BlockSpec[]) => void;
369
+ insertBlocks: (doc: EngineDoc, dest: import("./index.js").Destination, specs: import("./index.js").BlockSpec[]) => boolean;
370
+ insertBlock: (doc: EngineDoc, dest: import("./index.js").Destination, spec: import("./index.js").BlockSpec) => boolean;
371
+ restoreBlocks: (doc: EngineDoc, specs: import("./index.js").BlockSpec[]) => void;
159
372
  project: (doc: EngineDoc) => import("./index.js").ProjectedDoc;
160
- positionOf: (doc: EngineDoc, id: BlockId) => Destination | null;
373
+ positionOf: (doc: EngineDoc, id: BlockId) => import("./index.js").Destination | null;
161
374
  listBlockIds: (doc: EngineDoc) => BlockId[];
162
375
  blockText: (doc: EngineDoc, id: BlockId) => string | null;
163
376
  crdtId: (doc: EngineDoc, id: BlockId) => string | null;
@@ -193,34 +406,17 @@ export declare const bindEdytorDoc: (Y: EngineApi) => {
193
406
  };
194
407
  runsView: RunView;
195
408
  version: number;
196
- /**
197
- * The typed handle over one document block — the domain command
198
- * surface (see `nodes.ts` for the contract: display offsets,
199
- * transaction-aware reads, dead-safe). Handles are cached per
200
- * id; a handle for an absent id reports `exists`/`live`/`visible`
201
- * false and refuses ops.
202
- */
203
- block: (id: BlockId) => DocBlock;
204
409
  insertFlow: (target: import("./flow.js").FlowTarget, flow: import("./flow.js").Flow, view?: import("./flow.js").FlowView | undefined) => OpResult;
205
410
  deleteRange: (from: DocPosition, to: DocPosition, view?: import("./rangeDelete.js").RangeView | undefined) => OpResult;
206
411
  replaceRange: (from: DocPosition, to: DocPosition, view?: import("./rangeDelete.js").RangeView | undefined) => OpResult;
207
- insertTableRow: (table: string, index: number) => OpResult;
208
- deleteTableRows: (rows: readonly string[]) => OpResult;
209
- insertTableColumn: (table: string, index: number, width?: number | undefined) => OpResult;
210
- deleteTableColumn: (table: string, column: string | number) => OpResult;
211
- moveTableColumn: (table: string, column: string | number, to: number) => OpResult;
212
- moveTableRows: (rows: readonly string[], to: number) => OpResult;
213
- fillTableCell: (row: string, column: string | number) => OpResult;
214
- insertBlocks: (dest: Destination, specs: readonly (JSONBlock | BlockSpec)[]) => OpResult;
215
- insertBlock: (dest: Destination, spec: JSONBlock | BlockSpec) => OpResult;
216
- moveBlocks: (ids: readonly string[], dest: Destination) => OpResult;
217
- moveBlock: (id: string, dest: Destination) => OpResult;
412
+ insertBlocks: (dest: import("./index.js").Destination, specs: readonly (import("./index.js").BlockSpec | JSONBlock)[]) => OpResult;
413
+ moveBlocks: (ids: readonly string[], dest: import("./index.js").Destination) => OpResult;
218
414
  nestBlock: (id: string, parent: string) => OpResult;
219
415
  unNestBlock: (id: string) => OpResult;
220
416
  unNestBlocks: (ids: readonly string[]) => OpResult;
221
417
  liftOut: (id: string, kind: string, args_2?: {
222
418
  keep?: boolean;
223
- after?: readonly BlockSpec[];
419
+ after?: readonly import("./index.js").BlockSpec[];
224
420
  } | undefined) => OpResult;
225
421
  placeBeside: (ids: readonly string[], target: string, side: "right" | "left", kind?: string | undefined) => OpResult;
226
422
  wrapInLayout: (ids: readonly string[], kind?: string | undefined, columns?: number | undefined) => OpResult;
@@ -234,25 +430,21 @@ export declare const bindEdytorDoc: (Y: EngineApi) => {
234
430
  setBlock: (id: string, value: {
235
431
  type?: string;
236
432
  data?: Record<string, unknown>;
237
- content?: ContentItem[];
238
- children?: BlockSpec[];
433
+ content?: (ContentItem | import("./index.js").JSONText | import("./index.js").JSONInlineBlock)[];
434
+ children?: (import("./index.js").BlockSpec | JSONBlock)[];
239
435
  }) => OpResult;
240
436
  setBlockType: (id: string, type: string) => OpResult;
241
437
  patchData: (target: DataTarget, patches: readonly DataPatch[]) => OpResult;
242
- setBlockData: (id: string, data: Record<string, unknown>) => OpResult;
243
- duplicateBlock: (id: string, freshId: (oldId: string, kind: "block" | "inline") => string) => OpResult;
438
+ duplicateBlock: (id: string, freshId?: ((oldId: string, kind: "block" | "inline") => string) | undefined) => OpResult;
244
439
  insertText: (id: string, offset: number, text: string, marks?: Record<string, unknown> | undefined) => OpResult;
245
440
  deleteText: (id: string, offset: number, length: number) => OpResult;
246
441
  formatRange: (id: string, offset: number, length: number, marks: Record<string, unknown>) => OpResult;
247
- setMark: (id: string, offset: number, length: number, name: string, value: unknown) => OpResult;
248
- unsetMark: (id: string, offset: number, length: number, name: string) => OpResult;
249
442
  clearMarks: (id: string, offset: number, length: number) => OpResult;
250
- insertInline: (id: string, offset: number, atom: InlineSpec) => OpResult;
443
+ insertInline: (id: string, offset: number, atom: import("./doc/content.js").NewInline) => OpResult;
251
444
  removeInline: (id: string, inlineId: string) => OpResult;
252
- setInlineData: (id: string, inlineId: string, data: Record<string, unknown>) => OpResult;
253
445
  deleteBlocks: (ids: readonly string[]) => OpResult;
254
446
  init: (opts?: Parameters<(doc: EngineDoc, opts?: {
255
- content?: BlockSpec[];
447
+ content?: import("./index.js").BlockSpec[];
256
448
  defaultType?: string;
257
449
  }) => void>[1]) => void;
258
450
  /** Apply the deterministic seed of `value` and the document's `data` — the document's seed decision. */
@@ -269,17 +461,407 @@ export declare const bindEdytorDoc: (Y: EngineApi) => {
269
461
  checkSchema: () => import("./edytor-doc.js").SchemaProblem | null;
270
462
  assertSchema: () => void;
271
463
  dispose: () => void;
272
- createUndoManager: (options?: ConstructorParameters<EngineApi["UndoManager"]>[1] & {
273
- limit?: number;
274
- }) => YUndoManager;
464
+ createUndoManager: (options?: import("./doc/history.js").HistoryOptions) => import("./doc/history.js").UndoManager;
465
+ project: () => import("./index.js").ProjectedDoc;
466
+ toJSON: () => JSONDoc;
467
+ blockJSON: (id: string) => JSONBlock;
468
+ childrenIds: (id: string | null) => string[];
469
+ /** Visible children of `parent` with their ranks, in `(rank, id)` order. */
470
+ childSlots: (parent: BlockId | null) => import("./placement/model.js").ChildSlot[];
471
+ slotOf: (id: string) => {
472
+ parent: BlockId | null;
473
+ rank: string;
474
+ } | null;
475
+ positionOf: (id: string) => import("./index.js").Destination | null;
476
+ pathOf: (id: string) => number[] | null;
477
+ parentOf: (id: string) => string | null;
478
+ ancestorsOf: (id: string) => string[];
479
+ listBlockIds: () => string[];
480
+ blockText: (id: string) => string | null;
481
+ blockTypeOf: (id: string) => string | undefined;
482
+ blockDataOf: (id: string) => Record<string, unknown> | undefined;
483
+ docData: () => JsonObj;
484
+ dataItemIds: (target: DataTarget, path: readonly string[]) => string[];
485
+ /**
486
+ * Compact per-block attribution (`{createdBy, contributors,
487
+ * lastChangedBy}`), or `undefined` for unauthored/system blocks.
488
+ * O(1) per call; live-replicated (remote values read the same).
489
+ */
490
+ blockAttribution: (id: string) => BlockAttribution | undefined;
491
+ crdtId: (id: string) => string | null;
492
+ resolveBlock: (id: string) => EngineNode | null;
493
+ displayLength: (id: string) => number;
494
+ contentItems: (id: string) => ContentItem[];
495
+ hasBlock: (id: string) => boolean;
496
+ isVisibleBlock: (id: string) => boolean;
497
+ order: () => readonly BlockId[];
498
+ compare: (a: BlockId, b: BlockId) => number;
499
+ next: (id: string, policy?: OrderPolicy | undefined) => string | null;
500
+ previous: (id: string, policy?: OrderPolicy | undefined) => string | null;
501
+ anchorAt: (id: string, offset: number, affinity?: AnchorAffinity | undefined) => DocAnchor | null;
502
+ resolveAnchor: (anchor: DocAnchor) => {
503
+ blockId: BlockId;
504
+ offset: number;
505
+ } | null;
506
+ followUndo: (anchor: DocAnchor) => DocAnchor;
507
+ /** Re-read the roles after `roleOf` answers differently (roles adopted later). */
508
+ rolesChanged: () => void;
509
+ isVoid: (id: string) => boolean;
510
+ isIsland: (id: string) => boolean;
511
+ isLines: (id: string) => boolean;
512
+ /** `id` is a layout: its kind's role says `layout` (`layout.*`). */
513
+ isLayout: (id: string) => boolean;
514
+ /** `id` is a layout item: of its layout's item kind, directly in it (a column). */
515
+ isLayoutItem: (id: string) => boolean;
516
+ /** The block a beside placement at `id` stands beside (`placeBeside`'s resolution). */
517
+ besideAt: (id: BlockId, kind?: string) => string;
518
+ islandOf: (id: string) => string | null;
519
+ /** `id` is a table: its kind's role says `table` (`table.*`). */
520
+ isTable: (id: string) => boolean;
521
+ /** `id` is a table's row: of its table's row kind, directly in it. */
522
+ isTableRow: (id: string) => boolean;
523
+ /** `id` is a table's cell: of its row's cell kind, directly in a row of a table. */
524
+ isTableCell: (id: string) => boolean;
525
+ /** The table `id` is, or whose row or cell it is; `null` for any other block. */
526
+ tableOf: (id: string) => string | null;
527
+ /** The columns a table lists (`data.columns`), or `null` when it lists none. */
528
+ tableColumns: (id: string) => {
529
+ id: string;
530
+ width?: number;
531
+ }[] | null;
532
+ /**
533
+ * A table as a grid: its column ids and each shown row's cells by
534
+ * column, `null` where the row shows none (a padded cell, `table.pad`).
535
+ */
536
+ tableGrid: (id: string) => {
537
+ columns: string[];
538
+ rows: {
539
+ id: BlockId;
540
+ cells: (BlockId | null)[];
541
+ }[];
542
+ } | null;
543
+ insideIsland: (id: string) => boolean;
544
+ canPlace: (ids: readonly BlockId[], parent?: BlockId | null) => boolean;
545
+ canMerge: (from: BlockId, into: BlockId) => boolean;
546
+ /** May a block of `kind` sit directly under `parent`? The container rule (`fits`). */
547
+ fits: (parent: BlockId | null, kind: string) => boolean;
548
+ /** Where `ids` nest when nested into `parent` (Tab, a drop inside it): `nestParent`. */
549
+ nestParent: (ids: readonly BlockId[], parent: BlockId) => string;
550
+ /** Where a block of `kind` at `id`'s place lands, and the containers it leaves (`liftOut`). */
551
+ landingOf: (id: BlockId, kind: string, after?: boolean) => {
552
+ parent: string | null;
553
+ levels: string[];
554
+ };
555
+ defaultChild: (id: string | null) => string;
556
+ runs: (id: string) => readonly ContentRun[];
557
+ contentJSON: (id: string) => ({
558
+ text: string;
559
+ marks?: Record<string, unknown>;
560
+ } | {
561
+ id?: string;
562
+ type: string;
563
+ data?: unknown;
564
+ })[];
565
+ onChange: (cb: (change: DocChange) => void) => (() => void);
566
+ };
567
+ /**
568
+ * A new engine document that is an edytor document from the start:
569
+ * a registry value a concurrent creation replaced keeps its subtree
570
+ * (each edytor document carries the rule; the engine's default stays
571
+ * upstream's). `create` gives it to a document it adopts, which must
572
+ * not have integrated anything yet.
573
+ */
574
+ newDoc: (opts?: ConstructorParameters<EngineApi["Doc"]>[0]) => YDoc;
575
+ /**
576
+ * Keep, on `doc`, the text a replica may have to copy again: its
577
+ * `gcFilter` then spares a deleted copy's content, as every facade's
578
+ * history does. A doc that only relays updates (the room) calls it
579
+ * before applying anything, so what it collects and encodes matches
580
+ * what an editing replica keeps.
581
+ */
582
+ keepCopies: (doc: EngineDoc) => void;
583
+ /** The bound engine layers (same instances the facades use). */
584
+ model: {
585
+ REGISTRY_KEY: string;
586
+ registryOf: (doc: EngineDoc) => EngineNode;
587
+ blockNodeOf: (doc: EngineDoc, id: BlockId) => EngineNode | null;
588
+ liveNodeOf: (doc: EngineDoc, id: BlockId) => EngineNode | null;
589
+ isLive: (doc: EngineDoc, id: BlockId) => boolean;
590
+ candidatesOf: (node: EngineNode) => import("./placement/model.js").PlacementCand[];
591
+ view: (doc: EngineDoc) => ModelView;
592
+ resolvePlacements: (blocks: Map<BlockId, import("./placement/model.js").BlockRec>, ownerOf?: (b: BlockId) => import("./text/model.js").Owner) => Map<BlockId, import("./placement/model.js").ResolvedPlacement>;
593
+ childrenIndex: (placements: Map<BlockId, import("./placement/model.js").ResolvedPlacement>, own: import("./placement/model.js").DisplayOwnership) => Map<BlockId | null, import("./placement/model.js").ChildSlot[]>;
594
+ positionInView: (v: ModelView, id: BlockId) => import("./index.js").Destination | null;
595
+ buildInline: (atom: InlineSpec) => EngineNode;
596
+ isSelfOrDescendant: (placements: Map<BlockId, import("./placement/model.js").ResolvedPlacement>, own: import("./text/model.js").Ownership, id: BlockId, maybeAncestor: BlockId) => boolean;
597
+ ranksAt: (siblings: readonly {
598
+ rank: string;
599
+ }[], index: number, count: number, clientId: number, rand?: () => number, run?: boolean) => string[];
600
+ writePlacement: (doc: EngineDoc, node: EngineNode, p: BlockId | null, r: string) => void;
601
+ withdrawOnUndo: (doc: EngineDoc) => (item: import("./engine-api.js").EngineItemRef, stackItem: {
602
+ inserts: {
603
+ has(client: number, clock: number): boolean;
604
+ };
605
+ }) => boolean;
606
+ materializeSpec: (doc: EngineDoc, sp: import("./index.js").BlockSpec, parent: BlockId | null, rank: string) => void;
607
+ collides: (doc: EngineDoc, specs: readonly import("./index.js").BlockSpec[]) => boolean;
608
+ writeSplit: (doc: EngineDoc, id: BlockId, offset: number, newId: BlockId, tail: SplitTail, place: import("./placement/model.js").PlacementValue) => void;
609
+ ownText: (doc: EngineDoc, id: BlockId) => {
610
+ from: unknown;
611
+ to: number;
612
+ };
613
+ insertBlocks: (doc: EngineDoc, dest: import("./index.js").Destination, specs: import("./index.js").BlockSpec[]) => boolean;
614
+ insertBlock: (doc: EngineDoc, dest: import("./index.js").Destination, spec: import("./index.js").BlockSpec) => boolean;
615
+ restoreBlocks: (doc: EngineDoc, specs: import("./index.js").BlockSpec[]) => void;
616
+ project: (doc: EngineDoc) => import("./index.js").ProjectedDoc;
617
+ positionOf: (doc: EngineDoc, id: BlockId) => import("./index.js").Destination | null;
618
+ listBlockIds: (doc: EngineDoc) => BlockId[];
619
+ blockText: (doc: EngineDoc, id: BlockId) => string | null;
620
+ crdtId: (doc: EngineDoc, id: BlockId) => string | null;
621
+ resolveBlock: (doc: EngineDoc, id: BlockId) => EngineNode | null;
622
+ };
623
+ text: {
624
+ newNode: (name: string) => EngineNode;
625
+ resolveAnchor: (doc: EngineDoc, text: EngineNode, anchor: Anchor) => number | null;
626
+ anchorAt: (text: EngineNode, index: number, assoc: number) => Anchor;
627
+ openRangeCursor: (text: EngineNode) => import("./text/model.js").RangeCursor;
628
+ itemsOfRange: (text: EngineNode, i0: number, i1: number) => import("./text/model.js").RangeItem[];
629
+ readSegs: (segs: readonly import("./text/model.js").Seg[], stats?: import("./text/model.js").RangeReadStats) => import("./text/model.js").RangeItem[];
630
+ computeOwnership: (doc: EngineDoc, given: ReadonlyMap<import("./text/model.js").BlockId, import("./text/model.js").TextBlockRec>) => import("./text/model.js").Ownership;
631
+ flatten: (b: import("./text/model.js").BlockId, blocks: unknown, own: import("./text/model.js").Ownership) => import("./text/model.js").Seg[];
632
+ ownedLength: (segs: readonly import("./text/model.js").Seg[]) => number;
633
+ contentItemsOf: (b: import("./text/model.js").BlockId, blocks: unknown, own: import("./text/model.js").Ownership) => import("./text/model.js").RangeItem[];
634
+ blockTextOf: (b: import("./text/model.js").BlockId, blocks: unknown, own: import("./text/model.js").Ownership) => string;
635
+ insertIntoText: (doc: EngineDoc, blocks: unknown, own: import("./text/model.js").Ownership, b: import("./text/model.js").BlockId, offset: number, payload: string | EngineNode, marks?: Record<string, unknown>) => void;
636
+ deleteRange: (doc: EngineDoc, blocks: unknown, own: import("./text/model.js").Ownership, b: import("./text/model.js").BlockId, offset: number, length: number) => void;
637
+ formatRangeIn: (doc: EngineDoc, blocks: unknown, own: import("./text/model.js").Ownership, b: import("./text/model.js").BlockId, offset: number, length: number, formats: Record<string, unknown>) => void;
638
+ purgeStreams: (streams: readonly import("./text/model.js").Stream[]) => void;
639
+ findAtom: (own: import("./text/model.js").Ownership, b: import("./text/model.js").BlockId, inlineId: string) => {
640
+ text: EngineNode;
641
+ at: number;
642
+ node: EngineNode;
643
+ } | null;
644
+ splitAt: (blocks: ReadonlyMap<import("./text/model.js").BlockId, import("./text/model.js").TextBlockRec>, own: import("./text/model.js").Ownership, b: import("./text/model.js").BlockId, offset: number, newId: import("./text/model.js").BlockId, n: number) => import("./text/model.js").MergeClaim[];
645
+ claimInto: (blocks: ReadonlyMap<import("./text/model.js").BlockId, import("./text/model.js").TextBlockRec>, own: Pick<import("./text/model.js").Ownership, "streamOf">, from: import("./text/model.js").BlockId, into: import("./text/model.js").BlockId) => void;
646
+ ownText: (doc: EngineDoc, rec: import("./text/model.js").TextBlockRec) => {
647
+ from: unknown;
648
+ to: number;
649
+ };
650
+ };
651
+ runs: {
652
+ attach: (doc: EngineDoc) => RunView;
653
+ };
654
+ };
655
+ /**
656
+ * {@link bindDocModel} with the room's tasks: only the public binding
657
+ * (`bindCrdt(Y).doc`) reaches them, so an editor's graph holds neither.
658
+ */
659
+ export declare const bindEdytorDoc: (Y: EngineApi) => {
660
+ /** The schema manifest constants table. */
661
+ SCHEMA: {
662
+ readonly version: 6;
663
+ readonly name: "edytor-doc";
664
+ readonly roots: {
665
+ readonly registry: "blocks";
666
+ readonly meta: "meta";
667
+ };
668
+ readonly metaAttrs: {
669
+ readonly version: "v";
670
+ readonly schema: "schema";
671
+ };
672
+ };
673
+ SCHEMA_VERSION: 6;
674
+ SCHEMA_NAME: "edytor-doc";
675
+ META_KEY: "meta";
676
+ /** Doc-level API (no facade needed). */
677
+ init: (doc: EngineDoc, opts?: {
678
+ content?: import("./index.js").BlockSpec[];
679
+ defaultType?: string;
680
+ }) => void;
681
+ restore: (doc: EngineDoc, content: import("./index.js").BlockSpec[]) => void;
682
+ seed: (doc: EngineDoc, value?: JSONBlock[], defaultType?: string, data?: JsonObj) => void;
683
+ isInitialized: (doc: EngineDoc) => boolean;
684
+ schemaVersion: (doc: EngineDoc) => number | undefined;
685
+ registryEmpty: (doc: EngineDoc) => boolean;
686
+ checkSchema: (doc: EngineDoc) => import("./edytor-doc.js").SchemaProblem | null;
687
+ assertSchema: (doc: EngineDoc, docName?: string) => void;
688
+ SchemaMismatchError: typeof SchemaMismatchError;
689
+ /** Attach the per-doc facade. */
690
+ create: (doc: EngineDoc, config?: EdytorDocConfig) => {
691
+ /** Every op prepared: pure, a plan of named steps + its effect, or `refused`. */
692
+ prepare: {
693
+ insertFlow: (target: import("./flow.js").FlowTarget, flow: import("./flow.js").Flow, view?: import("./flow.js").FlowView) => Prepared;
694
+ deleteRange: (from: DocPosition, to: DocPosition, view?: import("./rangeDelete.js").RangeView) => Prepared;
695
+ replaceRange: (from: DocPosition, to: DocPosition, view?: import("./rangeDelete.js").RangeView) => Prepared;
696
+ insertBlocks: (dest: import("./index.js").Destination, specs: readonly (import("./index.js").BlockSpec | JSONBlock)[]) => Prepared;
697
+ moveBlocks: (ids: readonly BlockId[], dest: import("./index.js").Destination) => Prepared;
698
+ /**
699
+ * Move `id` to the last position under `parent` — under a container
700
+ * it is no item of, under its last item (`nestParent`: Tab after a list).
701
+ */
702
+ nestBlock: (id: BlockId, parent: BlockId) => Prepared;
703
+ unNestBlock: (id: BlockId) => Prepared;
704
+ unNestBlocks: (ids: readonly BlockId[]) => Prepared;
705
+ liftOut: (id: BlockId, kind: string, { keep, after }?: {
706
+ keep?: boolean;
707
+ after?: readonly import("./index.js").BlockSpec[];
708
+ }) => Prepared;
709
+ placeBeside: (ids: readonly BlockId[], target: BlockId, side: "left" | "right", kind?: string) => Prepared;
710
+ wrapInLayout: (ids: readonly BlockId[], kind?: string, columns?: number) => Prepared;
711
+ splitBlock: (id: BlockId, offset: number, newId: BlockId, tail?: SplitTail) => Prepared;
712
+ mergeBlocks: (fromId: BlockId, intoId: BlockId) => Prepared;
713
+ mergeBackward: (id: BlockId) => Prepared;
714
+ mergeForward: (id: BlockId) => Prepared;
715
+ deleteBlock: (id: BlockId, opts?: {
716
+ keepChildren?: boolean;
717
+ }) => Prepared;
718
+ setBlock: (id: BlockId, value: {
719
+ type?: string;
720
+ data?: Record<string, unknown>;
721
+ content?: (ContentItem | import("./index.js").JSONText | import("./index.js").JSONInlineBlock)[];
722
+ children?: (import("./index.js").BlockSpec | JSONBlock)[];
723
+ }) => Prepared;
724
+ setBlockType: (id: BlockId, type: string) => Prepared;
725
+ patchData: (target: DataTarget, patches: readonly DataPatch[]) => Prepared;
726
+ duplicateBlock: (id: BlockId, freshId?: (oldId: string, kind: "block" | "inline") => string) => Prepared;
727
+ insertText: (id: BlockId, offset: number, text: string, marks?: Record<string, unknown>) => Prepared;
728
+ deleteText: (id: BlockId, offset: number, length: number) => Prepared;
729
+ formatRange: (id: BlockId, offset: number, length: number, marks: Record<string, unknown>) => Prepared;
730
+ clearMarks: (id: BlockId, offset: number, length: number) => Prepared;
731
+ insertInline: (id: BlockId, offset: number, atom: import("./doc/content.js").NewInline) => Prepared;
732
+ removeInline: (id: BlockId, inlineId: string) => Prepared;
733
+ /** Delete a block selection — one plan; only the members leave (`deleteBlocks` above). */
734
+ deleteBlocks: (ids: readonly BlockId[]) => Prepared;
735
+ };
736
+ /** Write a prepared plan exactly (refusals pass through). */
737
+ apply: (p: Prepared) => OpResult;
738
+ compose: (...parts: Prepared[]) => Prepared;
739
+ transact: <R>(fn: () => R, origin?: unknown) => R;
740
+ model: {
741
+ REGISTRY_KEY: string;
742
+ registryOf: (doc: EngineDoc) => EngineNode;
743
+ blockNodeOf: (doc: EngineDoc, id: BlockId) => EngineNode | null;
744
+ liveNodeOf: (doc: EngineDoc, id: BlockId) => EngineNode | null;
745
+ isLive: (doc: EngineDoc, id: BlockId) => boolean;
746
+ candidatesOf: (node: EngineNode) => import("./placement/model.js").PlacementCand[];
747
+ view: (doc: EngineDoc) => ModelView;
748
+ resolvePlacements: (blocks: Map<BlockId, import("./placement/model.js").BlockRec>, ownerOf?: (b: BlockId) => import("./text/model.js").Owner) => Map<BlockId, import("./placement/model.js").ResolvedPlacement>;
749
+ childrenIndex: (placements: Map<BlockId, import("./placement/model.js").ResolvedPlacement>, own: import("./placement/model.js").DisplayOwnership) => Map<BlockId | null, import("./placement/model.js").ChildSlot[]>;
750
+ positionInView: (v: ModelView, id: BlockId) => import("./index.js").Destination | null;
751
+ buildInline: (atom: InlineSpec) => EngineNode;
752
+ isSelfOrDescendant: (placements: Map<BlockId, import("./placement/model.js").ResolvedPlacement>, own: import("./text/model.js").Ownership, id: BlockId, maybeAncestor: BlockId) => boolean;
753
+ ranksAt: (siblings: readonly {
754
+ rank: string;
755
+ }[], index: number, count: number, clientId: number, rand?: () => number, run?: boolean) => string[];
756
+ writePlacement: (doc: EngineDoc, node: EngineNode, p: BlockId | null, r: string) => void;
757
+ withdrawOnUndo: (doc: EngineDoc) => (item: import("./engine-api.js").EngineItemRef, stackItem: {
758
+ inserts: {
759
+ has(client: number, clock: number): boolean;
760
+ };
761
+ }) => boolean;
762
+ materializeSpec: (doc: EngineDoc, sp: import("./index.js").BlockSpec, parent: BlockId | null, rank: string) => void;
763
+ collides: (doc: EngineDoc, specs: readonly import("./index.js").BlockSpec[]) => boolean;
764
+ writeSplit: (doc: EngineDoc, id: BlockId, offset: number, newId: BlockId, tail: SplitTail, place: import("./placement/model.js").PlacementValue) => void;
765
+ ownText: (doc: EngineDoc, id: BlockId) => {
766
+ from: unknown;
767
+ to: number;
768
+ };
769
+ insertBlocks: (doc: EngineDoc, dest: import("./index.js").Destination, specs: import("./index.js").BlockSpec[]) => boolean;
770
+ insertBlock: (doc: EngineDoc, dest: import("./index.js").Destination, spec: import("./index.js").BlockSpec) => boolean;
771
+ restoreBlocks: (doc: EngineDoc, specs: import("./index.js").BlockSpec[]) => void;
772
+ project: (doc: EngineDoc) => import("./index.js").ProjectedDoc;
773
+ positionOf: (doc: EngineDoc, id: BlockId) => import("./index.js").Destination | null;
774
+ listBlockIds: (doc: EngineDoc) => BlockId[];
775
+ blockText: (doc: EngineDoc, id: BlockId) => string | null;
776
+ crdtId: (doc: EngineDoc, id: BlockId) => string | null;
777
+ resolveBlock: (doc: EngineDoc, id: BlockId) => EngineNode | null;
778
+ };
779
+ text: {
780
+ newNode: (name: string) => EngineNode;
781
+ resolveAnchor: (doc: EngineDoc, text: EngineNode, anchor: Anchor) => number | null;
782
+ anchorAt: (text: EngineNode, index: number, assoc: number) => Anchor;
783
+ openRangeCursor: (text: EngineNode) => import("./text/model.js").RangeCursor;
784
+ itemsOfRange: (text: EngineNode, i0: number, i1: number) => import("./text/model.js").RangeItem[];
785
+ readSegs: (segs: readonly import("./text/model.js").Seg[], stats?: import("./text/model.js").RangeReadStats) => import("./text/model.js").RangeItem[];
786
+ computeOwnership: (doc: EngineDoc, given: ReadonlyMap<import("./text/model.js").BlockId, import("./text/model.js").TextBlockRec>) => import("./text/model.js").Ownership;
787
+ flatten: (b: import("./text/model.js").BlockId, blocks: unknown, own: import("./text/model.js").Ownership) => import("./text/model.js").Seg[];
788
+ ownedLength: (segs: readonly import("./text/model.js").Seg[]) => number;
789
+ contentItemsOf: (b: import("./text/model.js").BlockId, blocks: unknown, own: import("./text/model.js").Ownership) => import("./text/model.js").RangeItem[];
790
+ blockTextOf: (b: import("./text/model.js").BlockId, blocks: unknown, own: import("./text/model.js").Ownership) => string;
791
+ insertIntoText: (doc: EngineDoc, blocks: unknown, own: import("./text/model.js").Ownership, b: import("./text/model.js").BlockId, offset: number, payload: string | EngineNode, marks?: Record<string, unknown>) => void;
792
+ deleteRange: (doc: EngineDoc, blocks: unknown, own: import("./text/model.js").Ownership, b: import("./text/model.js").BlockId, offset: number, length: number) => void;
793
+ formatRangeIn: (doc: EngineDoc, blocks: unknown, own: import("./text/model.js").Ownership, b: import("./text/model.js").BlockId, offset: number, length: number, formats: Record<string, unknown>) => void;
794
+ purgeStreams: (streams: readonly import("./text/model.js").Stream[]) => void;
795
+ findAtom: (own: import("./text/model.js").Ownership, b: import("./text/model.js").BlockId, inlineId: string) => {
796
+ text: EngineNode;
797
+ at: number;
798
+ node: EngineNode;
799
+ } | null;
800
+ splitAt: (blocks: ReadonlyMap<import("./text/model.js").BlockId, import("./text/model.js").TextBlockRec>, own: import("./text/model.js").Ownership, b: import("./text/model.js").BlockId, offset: number, newId: import("./text/model.js").BlockId, n: number) => import("./text/model.js").MergeClaim[];
801
+ claimInto: (blocks: ReadonlyMap<import("./text/model.js").BlockId, import("./text/model.js").TextBlockRec>, own: Pick<import("./text/model.js").Ownership, "streamOf">, from: import("./text/model.js").BlockId, into: import("./text/model.js").BlockId) => void;
802
+ ownText: (doc: EngineDoc, rec: import("./text/model.js").TextBlockRec) => {
803
+ from: unknown;
804
+ to: number;
805
+ };
806
+ };
807
+ runsView: RunView;
808
+ version: number;
809
+ insertFlow: (target: import("./flow.js").FlowTarget, flow: import("./flow.js").Flow, view?: import("./flow.js").FlowView | undefined) => OpResult;
810
+ deleteRange: (from: DocPosition, to: DocPosition, view?: import("./rangeDelete.js").RangeView | undefined) => OpResult;
811
+ replaceRange: (from: DocPosition, to: DocPosition, view?: import("./rangeDelete.js").RangeView | undefined) => OpResult;
812
+ insertBlocks: (dest: import("./index.js").Destination, specs: readonly (import("./index.js").BlockSpec | JSONBlock)[]) => OpResult;
813
+ moveBlocks: (ids: readonly string[], dest: import("./index.js").Destination) => OpResult;
814
+ nestBlock: (id: string, parent: string) => OpResult;
815
+ unNestBlock: (id: string) => OpResult;
816
+ unNestBlocks: (ids: readonly string[]) => OpResult;
817
+ liftOut: (id: string, kind: string, args_2?: {
818
+ keep?: boolean;
819
+ after?: readonly import("./index.js").BlockSpec[];
820
+ } | undefined) => OpResult;
821
+ placeBeside: (ids: readonly string[], target: string, side: "right" | "left", kind?: string | undefined) => OpResult;
822
+ wrapInLayout: (ids: readonly string[], kind?: string | undefined, columns?: number | undefined) => OpResult;
823
+ splitBlock: (id: string, offset: number, newId: string, tail?: SplitTail | undefined) => OpResult;
824
+ mergeBlocks: (fromId: string, intoId: string) => OpResult;
825
+ mergeBackward: (id: string) => OpResult;
826
+ mergeForward: (id: string) => OpResult;
827
+ deleteBlock: (id: string, opts?: {
828
+ keepChildren?: boolean;
829
+ } | undefined) => OpResult;
830
+ setBlock: (id: string, value: {
831
+ type?: string;
832
+ data?: Record<string, unknown>;
833
+ content?: (ContentItem | import("./index.js").JSONText | import("./index.js").JSONInlineBlock)[];
834
+ children?: (import("./index.js").BlockSpec | JSONBlock)[];
835
+ }) => OpResult;
836
+ setBlockType: (id: string, type: string) => OpResult;
837
+ patchData: (target: DataTarget, patches: readonly DataPatch[]) => OpResult;
838
+ duplicateBlock: (id: string, freshId?: ((oldId: string, kind: "block" | "inline") => string) | undefined) => OpResult;
839
+ insertText: (id: string, offset: number, text: string, marks?: Record<string, unknown> | undefined) => OpResult;
840
+ deleteText: (id: string, offset: number, length: number) => OpResult;
841
+ formatRange: (id: string, offset: number, length: number, marks: Record<string, unknown>) => OpResult;
842
+ clearMarks: (id: string, offset: number, length: number) => OpResult;
843
+ insertInline: (id: string, offset: number, atom: import("./doc/content.js").NewInline) => OpResult;
844
+ removeInline: (id: string, inlineId: string) => OpResult;
845
+ deleteBlocks: (ids: readonly string[]) => OpResult;
846
+ init: (opts?: Parameters<(doc: EngineDoc, opts?: {
847
+ content?: import("./index.js").BlockSpec[];
848
+ defaultType?: string;
849
+ }) => void>[1]) => void;
850
+ /** Apply the deterministic seed of `value` and the document's `data` — the document's seed decision. */
851
+ seed: (value: JSONBlock[], data?: JsonObj) => void;
852
+ isInitialized: () => boolean;
853
+ /** Replicated `meta.v` schema version (the module-level read, bound). */
854
+ schemaVersion: () => number | undefined;
275
855
  /**
276
- * Drop every step of a history `createUndoManager` made (undo and
277
- * redo) and release what they kept for their undo, as the history
278
- * limit does: the engine collects that content now, the doc's
279
- * `gcFilter` still deciding. The room's validation history runs
280
- * it after each frame.
856
+ * The schema gate for this doc — throws {@link SchemaMismatchError}
857
+ * on unversioned-content or unsupported-version state. Consumers
858
+ * (`Edytor.sync()`, packed consumers) call it before trusting
859
+ * a synced doc.
281
860
  */
282
- releaseHistory: (um: YUndoManager) => void;
861
+ checkSchema: () => import("./edytor-doc.js").SchemaProblem | null;
862
+ assertSchema: () => void;
863
+ dispose: () => void;
864
+ createUndoManager: (options?: import("./doc/history.js").HistoryOptions) => import("./doc/history.js").UndoManager;
283
865
  project: () => import("./index.js").ProjectedDoc;
284
866
  toJSON: () => JSONDoc;
285
867
  blockJSON: (id: string) => JSONBlock;
@@ -290,7 +872,7 @@ export declare const bindEdytorDoc: (Y: EngineApi) => {
290
872
  parent: BlockId | null;
291
873
  rank: string;
292
874
  } | null;
293
- positionOf: (id: string) => Destination | null;
875
+ positionOf: (id: string) => import("./index.js").Destination | null;
294
876
  pathOf: (id: string) => number[] | null;
295
877
  parentOf: (id: string) => string | null;
296
878
  ancestorsOf: (id: string) => string[];
@@ -414,7 +996,6 @@ export declare const bindEdytorDoc: (Y: EngineApi) => {
414
996
  * registry holds and writing only what differs (`room.history.restore`), inside the caller's transaction.
415
997
  */
416
998
  restoreTo: <Plan>(doc: EngineDoc, facade: import("./restore.js").RestoreFacade<Plan>, json: JSONDoc) => import("./restore.js").RestoreReport;
417
- /** The bound engine layers (same instances the facades use). */
418
999
  model: {
419
1000
  REGISTRY_KEY: string;
420
1001
  registryOf: (doc: EngineDoc) => EngineNode;
@@ -425,7 +1006,7 @@ export declare const bindEdytorDoc: (Y: EngineApi) => {
425
1006
  view: (doc: EngineDoc) => ModelView;
426
1007
  resolvePlacements: (blocks: Map<BlockId, import("./placement/model.js").BlockRec>, ownerOf?: (b: BlockId) => import("./text/model.js").Owner) => Map<BlockId, import("./placement/model.js").ResolvedPlacement>;
427
1008
  childrenIndex: (placements: Map<BlockId, import("./placement/model.js").ResolvedPlacement>, own: import("./placement/model.js").DisplayOwnership) => Map<BlockId | null, import("./placement/model.js").ChildSlot[]>;
428
- positionInView: (v: ModelView, id: BlockId) => Destination | null;
1009
+ positionInView: (v: ModelView, id: BlockId) => import("./index.js").Destination | null;
429
1010
  buildInline: (atom: InlineSpec) => EngineNode;
430
1011
  isSelfOrDescendant: (placements: Map<BlockId, import("./placement/model.js").ResolvedPlacement>, own: import("./text/model.js").Ownership, id: BlockId, maybeAncestor: BlockId) => boolean;
431
1012
  ranksAt: (siblings: readonly {
@@ -434,21 +1015,21 @@ export declare const bindEdytorDoc: (Y: EngineApi) => {
434
1015
  writePlacement: (doc: EngineDoc, node: EngineNode, p: BlockId | null, r: string) => void;
435
1016
  withdrawOnUndo: (doc: EngineDoc) => (item: import("./engine-api.js").EngineItemRef, stackItem: {
436
1017
  inserts: {
437
- hasId(id: unknown): boolean;
1018
+ has(client: number, clock: number): boolean;
438
1019
  };
439
1020
  }) => boolean;
440
- materializeSpec: (doc: EngineDoc, sp: BlockSpec, parent: BlockId | null, rank: string) => void;
441
- collides: (doc: EngineDoc, specs: readonly BlockSpec[]) => boolean;
1021
+ materializeSpec: (doc: EngineDoc, sp: import("./index.js").BlockSpec, parent: BlockId | null, rank: string) => void;
1022
+ collides: (doc: EngineDoc, specs: readonly import("./index.js").BlockSpec[]) => boolean;
442
1023
  writeSplit: (doc: EngineDoc, id: BlockId, offset: number, newId: BlockId, tail: SplitTail, place: import("./placement/model.js").PlacementValue) => void;
443
1024
  ownText: (doc: EngineDoc, id: BlockId) => {
444
1025
  from: unknown;
445
1026
  to: number;
446
1027
  };
447
- insertBlocks: (doc: EngineDoc, dest: Destination, specs: BlockSpec[]) => boolean;
448
- insertBlock: (doc: EngineDoc, dest: Destination, spec: BlockSpec) => boolean;
449
- restoreBlocks: (doc: EngineDoc, specs: BlockSpec[]) => void;
1028
+ insertBlocks: (doc: EngineDoc, dest: import("./index.js").Destination, specs: import("./index.js").BlockSpec[]) => boolean;
1029
+ insertBlock: (doc: EngineDoc, dest: import("./index.js").Destination, spec: import("./index.js").BlockSpec) => boolean;
1030
+ restoreBlocks: (doc: EngineDoc, specs: import("./index.js").BlockSpec[]) => void;
450
1031
  project: (doc: EngineDoc) => import("./index.js").ProjectedDoc;
451
- positionOf: (doc: EngineDoc, id: BlockId) => Destination | null;
1032
+ positionOf: (doc: EngineDoc, id: BlockId) => import("./index.js").Destination | null;
452
1033
  listBlockIds: (doc: EngineDoc) => BlockId[];
453
1034
  blockText: (doc: EngineDoc, id: BlockId) => string | null;
454
1035
  crdtId: (doc: EngineDoc, id: BlockId) => string | null;