edytor 1.0.0-rc.3 → 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 (642) 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 +27 -137
  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.js +7 -7
  13. package/dist/clipboard/insertClipboardFragment.js +5 -4
  14. package/dist/clipboard/moveText.js +16 -8
  15. package/dist/clipboard/serializeClipboardFragment.d.ts +2 -0
  16. package/dist/clipboard/serializeClipboardFragment.js +32 -28
  17. package/dist/cloudflare/DocumentRoom.d.ts +4 -17
  18. package/dist/cloudflare/DocumentRoom.js +3 -5
  19. package/dist/cloudflare/move.d.ts +1 -18
  20. package/dist/cloudflare/move.js +2 -48
  21. package/dist/cloudflare/room/admission.d.ts +1 -60
  22. package/dist/cloudflare/room/admission.js +25 -29
  23. package/dist/cloudflare/room/comments.d.ts +1 -3
  24. package/dist/cloudflare/room/comments.js +6 -6
  25. package/dist/cloudflare/room/context.d.ts +19 -82
  26. package/dist/cloudflare/room/context.js +8 -8
  27. package/dist/cloudflare/room/forged.d.ts +1 -1
  28. package/dist/cloudflare/room/forged.js +2 -12
  29. package/dist/cloudflare/room/frames.d.ts +1 -1
  30. package/dist/cloudflare/room/frames.js +1 -1
  31. package/dist/cloudflare/room/history.d.ts +1 -25
  32. package/dist/cloudflare/room/history.js +39 -54
  33. package/dist/cloudflare/room/moves.d.ts +1 -13
  34. package/dist/cloudflare/room/moves.js +33 -57
  35. package/dist/cloudflare/room/presence.d.ts +1 -11
  36. package/dist/cloudflare/room/presence.js +4 -4
  37. package/dist/cloudflare/room/purge.d.ts +1 -2
  38. package/dist/cloudflare/room/purge.js +2 -2
  39. package/dist/cloudflare/room/replicas.d.ts +1 -7
  40. package/dist/cloudflare/room/replicas.js +2 -2
  41. package/dist/cloudflare/room/storage.d.ts +3 -32
  42. package/dist/cloudflare/room/storage.js +33 -108
  43. package/dist/cloudflare/room/updates.d.ts +4 -4
  44. package/dist/cloudflare/room/updates.js +17 -24
  45. package/dist/cloudflare/room/validation.d.ts +1 -5
  46. package/dist/cloudflare/room/validation.js +16 -37
  47. package/dist/collaboration/RemoteSelections.svelte +13 -17
  48. package/dist/collaboration/comments/client.d.ts +2 -2
  49. package/dist/collaboration/comments/client.js +1 -1
  50. package/dist/collaboration/history/index.d.ts +5 -5
  51. package/dist/collaboration/history/index.js +5 -5
  52. package/dist/collaboration/history/panel.svelte.d.ts +91 -0
  53. package/dist/collaboration/history/panel.svelte.js +223 -0
  54. package/dist/collaboration/providers.d.ts +12 -3
  55. package/dist/collaboration/providers.js +5 -4
  56. package/dist/components/Block.svelte +39 -55
  57. package/dist/components/Block.svelte.d.ts +7 -5
  58. package/dist/components/Content.svelte +1 -5
  59. package/dist/components/Edytor.svelte +53 -96
  60. package/dist/components/Edytor.svelte.d.ts +8 -12
  61. package/dist/components/Ranges.svelte +96 -0
  62. package/dist/components/Ranges.svelte.d.ts +19 -0
  63. package/dist/components/Suggestion.svelte +3 -2
  64. package/dist/components/Text.svelte +2 -5
  65. package/dist/components/Text.svelte.d.ts +1 -1
  66. package/dist/crdt/admission.d.ts +2 -9
  67. package/dist/crdt/admission.js +3 -9
  68. package/dist/crdt/attribution/attribution.d.ts +11 -72
  69. package/dist/crdt/attribution/attribution.js +5 -52
  70. package/dist/crdt/attribution/block.d.ts +0 -78
  71. package/dist/crdt/attribution/block.js +1 -144
  72. package/dist/crdt/data.d.ts +8 -13
  73. package/dist/crdt/data.js +30 -70
  74. package/dist/crdt/doc/anchors.js +4 -4
  75. package/dist/crdt/doc/content.d.ts +5 -1
  76. package/dist/crdt/doc/content.js +3 -1
  77. package/dist/crdt/doc/delete.d.ts +1 -0
  78. package/dist/crdt/doc/funnel.d.ts +0 -23
  79. package/dist/crdt/doc/funnel.js +34 -85
  80. package/dist/crdt/doc/gate.d.ts +8 -9
  81. package/dist/crdt/doc/gate.js +7 -17
  82. package/dist/crdt/doc/history.d.ts +87 -14
  83. package/dist/crdt/doc/history.js +334 -149
  84. package/dist/crdt/doc/layout.d.ts +0 -1
  85. package/dist/crdt/doc/layout.js +2 -3
  86. package/dist/crdt/doc/meta.d.ts +4 -4
  87. package/dist/crdt/doc/meta.js +10 -21
  88. package/dist/crdt/doc/moves.d.ts +4 -4
  89. package/dist/crdt/doc/moves.js +5 -5
  90. package/dist/crdt/doc/plan.d.ts +2 -0
  91. package/dist/crdt/doc/plan.js +2 -0
  92. package/dist/crdt/doc/reads.d.ts +1 -5
  93. package/dist/crdt/doc/reads.js +38 -49
  94. package/dist/crdt/doc/seed.d.ts +15 -6
  95. package/dist/crdt/doc/seed.js +27 -26
  96. package/dist/crdt/doc/split-merge.d.ts +1 -3
  97. package/dist/crdt/doc/split-merge.js +4 -5
  98. package/dist/crdt/doc/steps.d.ts +3 -7
  99. package/dist/crdt/doc/steps.js +20 -9
  100. package/dist/crdt/doc/types.d.ts +0 -10
  101. package/dist/crdt/document.d.ts +24 -115
  102. package/dist/crdt/document.js +207 -305
  103. package/dist/crdt/edytor-doc.d.ts +671 -90
  104. package/dist/crdt/edytor-doc.js +73 -149
  105. package/dist/crdt/engine-api.d.ts +15 -47
  106. package/dist/crdt/engine.d.ts +7 -17
  107. package/dist/crdt/engine.js +9 -19
  108. package/dist/crdt/flow.d.ts +9 -37
  109. package/dist/crdt/flow.js +260 -238
  110. package/dist/crdt/index.d.ts +26 -85
  111. package/dist/crdt/index.js +21 -47
  112. package/dist/crdt/operations.d.ts +24 -33
  113. package/dist/crdt/operations.js +7 -17
  114. package/dist/crdt/placement/display.d.ts +0 -2
  115. package/dist/crdt/placement/display.js +0 -15
  116. package/dist/crdt/placement/model.d.ts +160 -12
  117. package/dist/crdt/placement/model.js +413 -414
  118. package/dist/crdt/placement/rank.d.ts +1 -5
  119. package/dist/crdt/placement/rank.js +28 -38
  120. package/dist/crdt/protocol.d.ts +4 -5
  121. package/dist/crdt/protocol.js +3 -4
  122. package/dist/crdt/protocols/awareness.d.ts +3 -7
  123. package/dist/crdt/protocols/awareness.js +17 -33
  124. package/dist/crdt/protocols/envelope.d.ts +9 -29
  125. package/dist/crdt/protocols/envelope.js +8 -25
  126. package/dist/crdt/protocols/sync.d.ts +15 -30
  127. package/dist/crdt/protocols/sync.js +27 -89
  128. package/dist/crdt/providers/bound.d.ts +3 -1
  129. package/dist/crdt/providers/bound.js +3 -1
  130. package/dist/crdt/providers/container.d.ts +11 -17
  131. package/dist/crdt/providers/container.js +39 -27
  132. package/dist/crdt/providers/index.d.ts +34 -6
  133. package/dist/crdt/providers/index.js +106 -111
  134. package/dist/crdt/providers/indexeddb.d.ts +2 -12
  135. package/dist/crdt/providers/indexeddb.js +29 -90
  136. package/dist/crdt/providers/room.d.ts +58 -2
  137. package/dist/crdt/providers/room.js +38 -21
  138. package/dist/crdt/providers/websocket.d.ts +1 -1
  139. package/dist/crdt/providers/websocket.js +3 -4
  140. package/dist/crdt/purge.d.ts +2 -2
  141. package/dist/crdt/purge.js +69 -6
  142. package/dist/crdt/rangeDelete.d.ts +4 -42
  143. package/dist/crdt/rangeDelete.js +7 -6
  144. package/dist/crdt/restore.d.ts +21 -1
  145. package/dist/crdt/restore.js +54 -59
  146. package/dist/crdt/schema.d.ts +2 -2
  147. package/dist/crdt/schema.js +4 -5
  148. package/dist/crdt/semantics.d.ts +10 -15
  149. package/dist/crdt/semantics.js +22 -21
  150. package/dist/crdt/storage.d.ts +7 -13
  151. package/dist/crdt/storage.js +10 -24
  152. package/dist/crdt/structs.d.ts +42 -47
  153. package/dist/crdt/structs.js +76 -67
  154. package/dist/crdt/tables.d.ts +9 -0
  155. package/dist/crdt/tables.js +20 -0
  156. package/dist/crdt/text/delete-index.d.ts +0 -13
  157. package/dist/crdt/text/delete-index.js +7 -14
  158. package/dist/crdt/text/deletes.d.ts +9 -22
  159. package/dist/crdt/text/deletes.js +11 -74
  160. package/dist/crdt/text/index/cache.js +3 -3
  161. package/dist/crdt/text/index/fold.d.ts +1 -2
  162. package/dist/crdt/text/index/fold.js +15 -10
  163. package/dist/crdt/text/index/layout.d.ts +0 -10
  164. package/dist/crdt/text/index/layout.js +6 -20
  165. package/dist/crdt/text/index/records.js +2 -1
  166. package/dist/crdt/text/index/report.js +5 -6
  167. package/dist/crdt/text/index/shared.d.ts +11 -4
  168. package/dist/crdt/text/index/shared.js +8 -7
  169. package/dist/crdt/text/index/state.d.ts +3 -33
  170. package/dist/crdt/text/index/state.js +2 -4
  171. package/dist/crdt/text/model.d.ts +82 -2
  172. package/dist/crdt/text/model.js +344 -354
  173. package/dist/crdt/text/rows.d.ts +0 -2
  174. package/dist/crdt/text/rows.js +0 -11
  175. package/dist/crdt/text/runs.d.ts +6 -3
  176. package/dist/crdt/text/runs.js +132 -137
  177. package/dist/crdt/text/streams.d.ts +1 -1
  178. package/dist/crdt/text/streams.js +1 -1
  179. package/dist/crdt/vendor/yjs/API-NOTES.md +25 -8
  180. package/dist/crdt/vendor/yjs/UPSTREAM.md +288 -8
  181. package/dist/crdt/vendor/yjs/dts/global.d.ts +5 -26
  182. package/dist/crdt/vendor/yjs/dts/index.d.ts +10 -15
  183. package/dist/crdt/vendor/yjs/dts/structs/AbstractStruct.d.ts +2 -2
  184. package/dist/crdt/vendor/yjs/dts/structs/Item.d.ts +14 -219
  185. package/dist/crdt/vendor/yjs/dts/structs/Skip.d.ts +2 -2
  186. package/dist/crdt/vendor/yjs/dts/utils/BlockSet.d.ts +2 -2
  187. package/dist/crdt/vendor/yjs/dts/utils/Doc.d.ts +12 -123
  188. package/dist/crdt/vendor/yjs/dts/utils/ID.d.ts +1 -1
  189. package/dist/crdt/vendor/yjs/dts/utils/RangeCursor.d.ts +37 -58
  190. package/dist/crdt/vendor/yjs/dts/utils/Transaction.d.ts +3 -78
  191. package/dist/crdt/vendor/yjs/dts/utils/UpdateDecoder.d.ts +2 -81
  192. package/dist/crdt/vendor/yjs/dts/utils/UpdateEncoder.d.ts +2 -74
  193. package/dist/crdt/vendor/yjs/dts/utils/encoding-helpers.d.ts +4 -4
  194. package/dist/crdt/vendor/yjs/dts/utils/encoding.d.ts +6 -18
  195. package/dist/crdt/vendor/yjs/dts/utils/ids.d.ts +12 -237
  196. package/dist/crdt/vendor/yjs/dts/utils/positions.d.ts +5 -0
  197. package/dist/crdt/vendor/yjs/dts/utils/redo.d.ts +3 -0
  198. package/dist/crdt/vendor/yjs/dts/utils/transaction-helpers.d.ts +1 -3
  199. package/dist/crdt/vendor/yjs/dts/utils/updates.d.ts +6 -23
  200. package/dist/crdt/vendor/yjs/dts/ynode.d.ts +73 -498
  201. package/dist/crdt/vendor/yjs/global.d.ts +5 -26
  202. package/dist/crdt/vendor/yjs/src/index.js +11 -25
  203. package/dist/crdt/vendor/yjs/src/structs/AbstractStruct.js +1 -1
  204. package/dist/crdt/vendor/yjs/src/structs/GC.js +1 -1
  205. package/dist/crdt/vendor/yjs/src/structs/Item.js +10 -372
  206. package/dist/crdt/vendor/yjs/src/structs/Skip.js +1 -1
  207. package/dist/crdt/vendor/yjs/src/utils/BlockSet.js +2 -2
  208. package/dist/crdt/vendor/yjs/src/utils/Doc.js +14 -170
  209. package/dist/crdt/vendor/yjs/src/utils/ID.js +1 -1
  210. package/dist/crdt/vendor/yjs/src/utils/RangeCursor.js +61 -128
  211. package/dist/crdt/vendor/yjs/src/utils/StructStore.js +0 -22
  212. package/dist/crdt/vendor/yjs/src/utils/Transaction.js +17 -282
  213. package/dist/crdt/vendor/yjs/src/utils/UpdateDecoder.js +3 -130
  214. package/dist/crdt/vendor/yjs/src/utils/UpdateEncoder.js +2 -132
  215. package/dist/crdt/vendor/yjs/src/utils/encoding-helpers.js +4 -4
  216. package/dist/crdt/vendor/yjs/src/utils/encoding.js +49 -146
  217. package/dist/crdt/vendor/yjs/src/utils/ids.js +23 -900
  218. package/dist/crdt/vendor/yjs/src/utils/positions.js +115 -0
  219. package/dist/crdt/vendor/yjs/src/utils/redo.js +143 -0
  220. package/dist/crdt/vendor/yjs/src/utils/transaction-helpers.js +10 -127
  221. package/dist/crdt/vendor/yjs/src/utils/updates.js +7 -50
  222. package/dist/crdt/vendor/yjs/src/ynode.js +261 -2226
  223. package/dist/dnd/autoScroll.js +1 -2
  224. package/dist/dnd/pragmatic.d.ts +4 -22
  225. package/dist/dnd/pragmatic.js +7 -26
  226. package/dist/dnd/track.d.ts +14 -0
  227. package/dist/dnd/track.js +55 -0
  228. package/dist/dnd/vendor/pragmatic/UPSTREAM.md +103 -0
  229. package/dist/dnd/vendor/pragmatic/bind-event-listener/LICENSE +21 -0
  230. package/dist/dnd/vendor/pragmatic/bind-event-listener/bind-all.js +46 -0
  231. package/dist/dnd/vendor/pragmatic/bind-event-listener/bind.js +7 -0
  232. package/dist/dnd/vendor/pragmatic/bind-event-listener/index.js +2 -0
  233. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/LICENSE.md +11 -0
  234. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/adapter/element-adapter-native-data-key.js +6 -0
  235. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/adapter/element-adapter.d.ts +57 -0
  236. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/adapter/element-adapter.js +306 -0
  237. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/entry-point/element/adapter.d.ts +8 -0
  238. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/entry-point/element/adapter.js +10 -0
  239. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/entry-point/element/set-custom-native-drag-preview.d.ts +4 -0
  240. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/entry-point/element/set-custom-native-drag-preview.js +6 -0
  241. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/entry-point/types.d.ts +1 -0
  242. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/honey-pot-fix/get-element-from-point-without-honey-pot.js +12 -0
  243. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/honey-pot-fix/honey-pot-data-attribute.js +3 -0
  244. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/honey-pot-fix/is-honey-pot-element.js +4 -0
  245. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/honey-pot-fix/make-honey-pot-fix.js +333 -0
  246. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/internal-types.d.ts +350 -0
  247. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/ledger/dispatch-consumer-event.js +128 -0
  248. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/ledger/lifecycle-manager.js +340 -0
  249. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/ledger/usage-ledger.js +32 -0
  250. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/make-adapter/make-adapter.js +59 -0
  251. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/make-adapter/make-drop-target.js +288 -0
  252. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/make-adapter/make-monitor.js +85 -0
  253. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/public-utils/combine.js +6 -0
  254. 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
  255. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/public-utils/element/custom-native-drag-preview/set-custom-native-drag-preview.js +153 -0
  256. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/public-utils/element/custom-native-drag-preview/types.d.ts +16 -0
  257. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/public-utils/once.js +13 -0
  258. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/add-attribute.js +7 -0
  259. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/android.js +10 -0
  260. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/changing-window/count-events-for-safari.js +104 -0
  261. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/changing-window/is-from-another-window.js +16 -0
  262. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/changing-window/is-leaving-window-in-safari.js +12 -0
  263. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/changing-window/is-leaving-window.js +55 -0
  264. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/detect-broken-drag.js +48 -0
  265. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/get-input.js +14 -0
  266. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/is-firefox.js +13 -0
  267. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/is-safari.js +19 -0
  268. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/max-z-index.js +3 -0
  269. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/media-types/text-media-type.js +6 -0
  270. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/media-types/url-media-type.js +6 -0
  271. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/popover-reset-styles.js +40 -0
  272. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/supports-popover.js +16 -0
  273. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/LICENSE.md +11 -0
  274. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/entry-point/element.d.ts +4 -0
  275. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/entry-point/element.js +8 -0
  276. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/internal-types.d.ts +50 -0
  277. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/over-element/data-attributes.js +9 -0
  278. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/over-element/get-scroll-by.js +117 -0
  279. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/over-element/make-api.js +90 -0
  280. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/over-element/try-scroll.js +183 -0
  281. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/axis.js +22 -0
  282. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/can-scroll-on-edge.js +17 -0
  283. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/configuration.js +49 -0
  284. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/edges.js +9 -0
  285. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/engagement-history.js +43 -0
  286. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/get-over-element-hitbox.js +50 -0
  287. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/get-percentage-in-range.js +19 -0
  288. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/get-scroll-change.js +106 -0
  289. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/is-axis-allowed.js +3 -0
  290. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/is-within.js +11 -0
  291. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/scheduler.js +104 -0
  292. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/side.js +6 -0
  293. package/dist/dnd/vendor/pragmatic/raf-schd/LICENSE +21 -0
  294. package/dist/dnd/vendor/pragmatic/raf-schd/raf-schd.esm.js +34 -0
  295. package/dist/edytor.svelte.d.ts +34 -64
  296. package/dist/edytor.svelte.js +116 -180
  297. package/dist/events/beforeInputCommands.d.ts +6 -11
  298. package/dist/events/beforeInputCommands.js +185 -181
  299. package/dist/events/beforeInputDeleteCommands.d.ts +20 -1
  300. package/dist/events/beforeInputDeleteCommands.js +153 -204
  301. package/dist/events/domTextOffset.d.ts +9 -9
  302. package/dist/events/domTextOffset.js +20 -48
  303. package/dist/events/events.utils.d.ts +0 -2
  304. package/dist/events/events.utils.js +0 -4
  305. package/dist/events/nativeInteractiveControl.d.ts +13 -13
  306. package/dist/events/nativeInteractiveControl.js +28 -56
  307. package/dist/events/onBeforeInput.d.ts +6 -1
  308. package/dist/events/onBeforeInput.js +207 -331
  309. package/dist/events/onCopy.js +1 -5
  310. package/dist/events/onDrop.d.ts +1 -1
  311. package/dist/events/onDrop.js +27 -69
  312. package/dist/events/onFocus.d.ts +9 -4
  313. package/dist/events/onFocus.js +45 -67
  314. package/dist/events/onInput.d.ts +8 -4
  315. package/dist/events/onInput.js +34 -147
  316. package/dist/events/onKeyDown.js +55 -122
  317. package/dist/events/onPaste.d.ts +13 -1
  318. package/dist/events/onPaste.js +46 -76
  319. package/dist/index.d.ts +10 -14
  320. package/dist/index.js +3 -3
  321. package/dist/kinds.d.ts +4 -6
  322. package/dist/kinds.js +28 -27
  323. package/dist/labels.d.ts +81 -320
  324. package/dist/labels.js +180 -408
  325. package/dist/plugins/Chrome.svelte +29 -0
  326. package/dist/plugins/Chrome.svelte.d.ts +32 -0
  327. package/dist/plugins/Control.svelte +23 -0
  328. package/dist/plugins/Control.svelte.d.ts +30 -0
  329. package/dist/plugins/anchored.svelte.d.ts +47 -0
  330. package/dist/plugins/anchored.svelte.js +73 -0
  331. package/dist/plugins/arrowMove/arrowMove.d.ts +2 -1
  332. package/dist/plugins/arrowMove/arrowMove.js +9 -5
  333. package/dist/plugins/bands.svelte.d.ts +57 -0
  334. package/dist/plugins/bands.svelte.js +95 -0
  335. package/dist/plugins/blockHandles/BlockHandle.svelte +14 -154
  336. package/dist/plugins/blockHandles/BlockHandle.svelte.d.ts +2 -2
  337. package/dist/plugins/blockHandles/BlockHandleController.svelte.d.ts +39 -94
  338. package/dist/plugins/blockHandles/BlockHandleController.svelte.js +190 -247
  339. package/dist/plugins/blockHandles/BlockHandles.svelte +27 -17
  340. package/dist/plugins/blockHandles/BlockHandles.svelte.d.ts +2 -2
  341. package/dist/plugins/blockHandles/blockHandlesPlugin.d.ts +25 -39
  342. package/dist/plugins/blockHandles/blockHandlesPlugin.js +129 -185
  343. package/dist/plugins/blockHandles/dragPreview.d.ts +8 -6
  344. package/dist/plugins/blockHandles/dragPreview.js +18 -16
  345. package/dist/plugins/blockHandles/dropIndicator.js +52 -60
  346. package/dist/plugins/blockHandles/geometry.d.ts +2 -1
  347. package/dist/plugins/blockHandles/geometry.js +6 -6
  348. package/dist/plugins/blockMenu/BlockMenuController.svelte.d.ts +28 -38
  349. package/dist/plugins/blockMenu/BlockMenuController.svelte.js +116 -183
  350. package/dist/plugins/blockMenu/blockMenuPlugin.d.ts +1 -3
  351. package/dist/plugins/blockMenu/blockMenuPlugin.js +12 -29
  352. package/dist/plugins/brand.d.ts +8 -0
  353. package/dist/plugins/brand.js +8 -0
  354. package/dist/plugins/chrome.d.ts +45 -38
  355. package/dist/plugins/chrome.js +59 -36
  356. package/dist/plugins/code/CodeHeader.svelte +3 -35
  357. package/dist/plugins/code/CodePlugin.svelte +50 -53
  358. package/dist/plugins/code/CodePlugin.svelte.d.ts +0 -2
  359. package/dist/plugins/code/LanguageMenu.svelte +16 -125
  360. package/dist/plugins/code/LanguageMenu.svelte.d.ts +2 -1
  361. package/dist/plugins/code/code.css +5 -117
  362. package/dist/plugins/code/header.svelte.d.ts +2 -11
  363. package/dist/plugins/code/header.svelte.js +11 -38
  364. package/dist/plugins/code/languageMenu.svelte.d.ts +12 -32
  365. package/dist/plugins/code/languageMenu.svelte.js +30 -160
  366. package/dist/plugins/code/languages.d.ts +9 -19
  367. package/dist/plugins/code/languages.js +39 -126
  368. package/dist/plugins/columns/ColumnResize.svelte +13 -25
  369. package/dist/plugins/columns/ColumnResize.svelte.d.ts +1 -1
  370. package/dist/plugins/columns/ColumnsPlugin.svelte +46 -78
  371. package/dist/plugins/columns/ColumnsPlugin.svelte.d.ts +0 -12
  372. package/dist/plugins/columns/columns.css +7 -26
  373. package/dist/plugins/columns/resize.svelte.d.ts +14 -51
  374. package/dist/plugins/columns/resize.svelte.js +70 -164
  375. package/dist/plugins/comments/CommentsController.svelte.d.ts +1 -4
  376. package/dist/plugins/comments/CommentsController.svelte.js +14 -25
  377. package/dist/plugins/comments/CommentsSidebar.svelte +82 -431
  378. package/dist/plugins/comments/CommentsSidebar.svelte.d.ts +4 -2
  379. package/dist/plugins/comments/commentsPlugin.d.ts +25 -9
  380. package/dist/plugins/comments/commentsPlugin.js +12 -10
  381. package/dist/plugins/equation/EquationEditor.svelte +16 -130
  382. package/dist/plugins/equation/EquationEditor.svelte.d.ts +1 -2
  383. package/dist/plugins/equation/EquationPlugin.svelte +109 -165
  384. package/dist/plugins/equation/EquationPlugin.svelte.d.ts +2 -2
  385. package/dist/plugins/equation/EquationView.svelte +20 -11
  386. package/dist/plugins/equation/equation.svelte.d.ts +37 -24
  387. package/dist/plugins/equation/equation.svelte.js +20 -94
  388. package/dist/plugins/equation/katex.js +6 -9
  389. package/dist/plugins/find/FindController.svelte.d.ts +8 -13
  390. package/dist/plugins/find/FindController.svelte.js +34 -55
  391. package/dist/plugins/find/findPlugin.d.ts +4 -8
  392. package/dist/plugins/find/findPlugin.js +29 -9
  393. package/dist/plugins/image/ImageChrome.svelte +6 -167
  394. package/dist/plugins/image/ImageChrome.svelte.d.ts +0 -2
  395. package/dist/plugins/image/ImagePlugin.svelte +45 -134
  396. package/dist/plugins/image/ImagePlugin.svelte.d.ts +1 -42
  397. package/dist/plugins/image/ImageToolbarHost.svelte +37 -0
  398. package/dist/plugins/image/ImageToolbarHost.svelte.d.ts +9 -0
  399. package/dist/plugins/image/controls.svelte.d.ts +6 -36
  400. package/dist/plugins/image/controls.svelte.js +43 -212
  401. package/dist/plugins/image/image.d.ts +0 -5
  402. package/dist/plugins/image/image.js +0 -3
  403. package/dist/plugins/image/toolbar.svelte.d.ts +69 -0
  404. package/dist/plugins/image/toolbar.svelte.js +145 -0
  405. package/dist/plugins/index.d.ts +31 -26
  406. package/dist/plugins/index.js +29 -22
  407. package/dist/plugins/list.svelte.d.ts +128 -0
  408. package/dist/plugins/list.svelte.js +217 -0
  409. package/dist/plugins/markdownShortcuts.d.ts +1 -1
  410. package/dist/plugins/markdownShortcuts.js +6 -5
  411. package/dist/plugins/marquee/MarqueeBox.svelte +3 -20
  412. package/dist/plugins/marquee/MarqueeBox.svelte.d.ts +1 -1
  413. package/dist/plugins/marquee/MarqueeController.svelte.d.ts +0 -2
  414. package/dist/plugins/marquee/MarqueeController.svelte.js +20 -23
  415. package/dist/plugins/marquee/marquee.js +4 -21
  416. package/dist/plugins/marquee/marqueePlugin.d.ts +4 -3
  417. package/dist/plugins/marquee/marqueePlugin.js +16 -15
  418. package/dist/plugins/media/AudioPlugin.svelte +3 -90
  419. package/dist/plugins/media/AudioPlugin.svelte.d.ts +1 -4
  420. package/dist/plugins/media/BookmarkPlugin.svelte +113 -120
  421. package/dist/plugins/media/BookmarkPlugin.svelte.d.ts +10 -15
  422. package/dist/plugins/media/EmbedPlugin.svelte +82 -86
  423. package/dist/plugins/media/EmbedPlugin.svelte.d.ts +11 -17
  424. package/dist/plugins/media/EmptySlot.svelte +44 -0
  425. package/dist/plugins/media/EmptySlot.svelte.d.ts +25 -0
  426. package/dist/plugins/media/FilePlugin.svelte +35 -113
  427. package/dist/plugins/media/FilePlugin.svelte.d.ts +12 -4
  428. package/dist/plugins/media/MediaEmpty.svelte +51 -90
  429. package/dist/plugins/media/MediaEmpty.svelte.d.ts +26 -10
  430. package/dist/plugins/media/SourceBlock.svelte +164 -0
  431. package/dist/plugins/media/SourceBlock.svelte.d.ts +33 -0
  432. package/dist/plugins/media/VideoPlugin.svelte +4 -99
  433. package/dist/plugins/media/VideoPlugin.svelte.d.ts +2 -5
  434. package/dist/plugins/media/empty.svelte.d.ts +36 -44
  435. package/dist/plugins/media/empty.svelte.js +41 -45
  436. package/dist/plugins/media/media.d.ts +90 -44
  437. package/dist/plugins/media/media.js +77 -99
  438. package/dist/plugins/media/urlPaste.svelte.d.ts +6 -37
  439. package/dist/plugins/media/urlPaste.svelte.js +32 -102
  440. package/dist/plugins/mention/MentionPlugin.svelte +42 -123
  441. package/dist/plugins/mention/MentionPlugin.svelte.d.ts +6 -25
  442. package/dist/plugins/page/PageLink.svelte +54 -38
  443. package/dist/plugins/page/PagePlugin.svelte +20 -18
  444. package/dist/plugins/page/PagePlugin.svelte.d.ts +2 -4
  445. package/dist/plugins/page/page.d.ts +35 -9
  446. package/dist/plugins/page/page.js +3 -4
  447. package/dist/plugins/pageLink/PageLinkPlugin.svelte +47 -107
  448. package/dist/plugins/pageLink/PageLinkPlugin.svelte.d.ts +6 -25
  449. package/dist/plugins/planned.d.ts +10 -0
  450. package/dist/plugins/planned.js +12 -0
  451. package/dist/plugins/richtext/CalloutIcon.svelte +13 -26
  452. package/dist/plugins/richtext/CalloutIconPicker.svelte +26 -0
  453. package/dist/plugins/richtext/CalloutIconPicker.svelte.d.ts +9 -0
  454. package/dist/plugins/richtext/EmptyBody.svelte +13 -20
  455. package/dist/plugins/richtext/RichTextControl.svelte +39 -0
  456. package/dist/plugins/richtext/RichTextControl.svelte.d.ts +8 -0
  457. package/dist/plugins/richtext/RichTextPlugin.svelte +161 -177
  458. package/dist/plugins/richtext/RichTextPlugin.svelte.d.ts +33 -34
  459. package/dist/plugins/richtext/TodoCheckbox.svelte +10 -21
  460. package/dist/plugins/richtext/TodoCheckbox.svelte.d.ts +0 -2
  461. package/dist/plugins/richtext/body.js +2 -2
  462. package/dist/plugins/richtext/calloutIcons.svelte.d.ts +50 -55
  463. package/dist/plugins/richtext/calloutIcons.svelte.js +86 -174
  464. package/dist/plugins/richtext/callouts.d.ts +15 -0
  465. package/dist/plugins/richtext/callouts.js +23 -0
  466. package/dist/plugins/richtext/controls.svelte.d.ts +110 -0
  467. package/dist/plugins/richtext/controls.svelte.js +126 -0
  468. package/dist/plugins/richtext/richTextOperations.js +37 -28
  469. package/dist/plugins/slashMenu/SlashMenuController.svelte.d.ts +2 -14
  470. package/dist/plugins/slashMenu/SlashMenuController.svelte.js +34 -71
  471. package/dist/plugins/slashMenu/slashMenuPlugin.d.ts +9 -26
  472. package/dist/plugins/slashMenu/slashMenuPlugin.js +27 -68
  473. package/dist/plugins/suggestions/SuggestionBars.svelte +27 -84
  474. package/dist/plugins/suggestions/SuggestionBars.svelte.d.ts +9 -3
  475. package/dist/plugins/suggestions/suggestionsPlugin.d.ts +10 -18
  476. package/dist/plugins/suggestions/suggestionsPlugin.js +9 -24
  477. package/dist/plugins/table/TableChrome.svelte +40 -124
  478. package/dist/plugins/table/TablePlugin.svelte +106 -168
  479. package/dist/plugins/table/TablePlugin.svelte.d.ts +0 -4
  480. package/dist/plugins/table/chrome.svelte.d.ts +38 -141
  481. package/dist/plugins/table/chrome.svelte.js +339 -589
  482. package/dist/plugins/table/ops.d.ts +47 -0
  483. package/dist/plugins/table/ops.js +233 -0
  484. package/dist/plugins/table/table.css +16 -152
  485. package/dist/plugins/table/table.d.ts +15 -14
  486. package/dist/plugins/table/table.js +22 -16
  487. package/dist/plugins/toc/TableOfContents.svelte +32 -38
  488. package/dist/plugins/toc/TableOfContents.svelte.d.ts +1 -5
  489. package/dist/plugins/toc/TocPlugin.svelte +22 -22
  490. package/dist/plugins/toc/TocPlugin.svelte.d.ts +4 -6
  491. package/dist/plugins/toc/toc.d.ts +41 -10
  492. package/dist/plugins/toc/toc.js +2 -3
  493. package/dist/plugins/toolbar/ToolbarController.svelte.d.ts +4 -68
  494. package/dist/plugins/toolbar/ToolbarController.svelte.js +63 -89
  495. package/dist/plugins/toolbar/toolbarPlugin.d.ts +8 -18
  496. package/dist/plugins/toolbar/toolbarPlugin.js +28 -43
  497. package/dist/plugins/triggers/TriggerController.svelte.d.ts +4 -68
  498. package/dist/plugins/triggers/TriggerController.svelte.js +48 -129
  499. package/dist/plugins/triggers/place.d.ts +0 -9
  500. package/dist/plugins/triggers/place.js +1 -17
  501. package/dist/plugins/triggers/triggers.d.ts +31 -9
  502. package/dist/plugins/triggers/triggers.js +82 -62
  503. package/dist/plugins/uploads.svelte.d.ts +38 -20
  504. package/dist/plugins/uploads.svelte.js +39 -32
  505. package/dist/plugins.d.ts +154 -59
  506. package/dist/selection/domSelection.d.ts +13 -4
  507. package/dist/selection/domSelection.js +110 -183
  508. package/dist/selection/pointer.svelte.d.ts +8 -10
  509. package/dist/selection/pointer.svelte.js +32 -73
  510. package/dist/selection/replaceSelection.d.ts +21 -22
  511. package/dist/selection/replaceSelection.js +60 -69
  512. package/dist/selection/selection.svelte.d.ts +5 -73
  513. package/dist/selection/selection.svelte.js +224 -542
  514. package/dist/selection/selection.utils.d.ts +34 -11
  515. package/dist/selection/selection.utils.js +128 -247
  516. package/dist/selection/visibility.d.ts +3 -8
  517. package/dist/selection/visibility.js +7 -5
  518. package/dist/session/announcer.svelte.d.ts +2 -1
  519. package/dist/session/announcer.svelte.js +7 -3
  520. package/dist/session/attempt.d.ts +33 -39
  521. package/dist/session/attempt.js +61 -55
  522. package/dist/session/bindings.js +108 -139
  523. package/dist/session/commands.d.ts +47 -22
  524. package/dist/session/commands.js +206 -208
  525. package/dist/session/composition.svelte.d.ts +2 -4
  526. package/dist/session/composition.svelte.js +55 -65
  527. package/dist/session/editing/text.d.ts +6 -0
  528. package/dist/session/editing/text.js +17 -3
  529. package/dist/session/handles.d.ts +10 -1
  530. package/dist/session/handles.js +28 -0
  531. package/dist/session/history.d.ts +0 -4
  532. package/dist/session/history.js +15 -21
  533. package/dist/session/inputRules.js +75 -84
  534. package/dist/session/keymap.d.ts +1 -6
  535. package/dist/session/keymap.js +17 -20
  536. package/dist/session/moves.d.ts +10 -10
  537. package/dist/session/moves.js +31 -59
  538. package/dist/session/navigation.d.ts +3 -2
  539. package/dist/session/navigation.js +127 -168
  540. package/dist/session/ports.d.ts +2 -7
  541. package/dist/session/selection.d.ts +4 -3
  542. package/dist/session/selection.js +5 -0
  543. package/dist/session/suggestions.svelte.d.ts +1 -1
  544. package/dist/session/suggestions.svelte.js +42 -47
  545. package/dist/session/virtual.d.ts +3 -3
  546. package/dist/session/virtual.js +18 -40
  547. package/dist/surface/attributes.d.ts +1 -0
  548. package/dist/surface/attributes.js +3 -26
  549. package/dist/surface/cells.d.ts +5 -0
  550. package/dist/surface/cells.js +5 -0
  551. package/dist/surface/lines.d.ts +2 -2
  552. package/dist/surface/lines.js +1 -1
  553. package/dist/surface/observer.svelte.d.ts +3 -20
  554. package/dist/surface/observer.svelte.js +52 -72
  555. package/dist/surface/overlay.d.ts +41 -3
  556. package/dist/surface/overlay.js +92 -37
  557. package/dist/surface/pin.svelte.d.ts +5 -0
  558. package/dist/surface/pin.svelte.js +5 -0
  559. package/dist/surface/projector.svelte.d.ts +4 -6
  560. package/dist/surface/projector.svelte.js +42 -69
  561. package/dist/text/text.svelte.d.ts +14 -40
  562. package/dist/text/text.svelte.js +35 -51
  563. package/dist/text/wordBoundary.d.ts +19 -0
  564. package/dist/text/wordBoundary.js +29 -44
  565. package/dist/themes/notion.css +263 -106
  566. package/dist/utils/json.d.ts +3 -1
  567. package/dist/utils/json.js +52 -51
  568. package/dist/utils/listen.d.ts +8 -0
  569. package/dist/utils/listen.js +19 -0
  570. package/package.json +4 -5
  571. package/dist/block/block.utils.d.ts +0 -340
  572. package/dist/block/block.utils.js +0 -356
  573. package/dist/collaboration/history/HistoryPanel.svelte +0 -554
  574. package/dist/collaboration/history/HistoryPanel.svelte.d.ts +0 -7
  575. package/dist/collaboration/history/panel.d.ts +0 -61
  576. package/dist/collaboration/history/panel.js +0 -3
  577. package/dist/components/SuggestionRanges.svelte +0 -58
  578. package/dist/components/SuggestionRanges.svelte.d.ts +0 -7
  579. package/dist/crdt/doc/table.d.ts +0 -21
  580. package/dist/crdt/doc/table.js +0 -288
  581. package/dist/crdt/migration/generation.d.ts +0 -58
  582. package/dist/crdt/migration/generation.js +0 -70
  583. package/dist/crdt/migration/legacy-schema.d.ts +0 -61
  584. package/dist/crdt/migration/legacy-schema.js +0 -151
  585. package/dist/crdt/migration/migrate.d.ts +0 -56
  586. package/dist/crdt/migration/migrate.js +0 -227
  587. package/dist/crdt/nodes.d.ts +0 -121
  588. package/dist/crdt/nodes.js +0 -56
  589. package/dist/crdt/text/index/checks.d.ts +0 -15
  590. package/dist/crdt/text/index/checks.js +0 -156
  591. package/dist/crdt/vendor/yjs/dts/utils/EventHandler.d.ts +0 -17
  592. package/dist/crdt/vendor/yjs/dts/utils/RelativePosition.d.ts +0 -80
  593. package/dist/crdt/vendor/yjs/dts/utils/UndoManager.d.ts +0 -205
  594. package/dist/crdt/vendor/yjs/dts/utils/YEvent.d.ts +0 -93
  595. package/dist/crdt/vendor/yjs/dts/utils/meta.d.ts +0 -25
  596. package/dist/crdt/vendor/yjs/dts/utils/renderer-helpers.d.ts +0 -98
  597. package/dist/crdt/vendor/yjs/dts/utils/schemas.d.ts +0 -2
  598. package/dist/crdt/vendor/yjs/src/utils/EventHandler.js +0 -75
  599. package/dist/crdt/vendor/yjs/src/utils/RelativePosition.js +0 -301
  600. package/dist/crdt/vendor/yjs/src/utils/UndoManager.js +0 -554
  601. package/dist/crdt/vendor/yjs/src/utils/YEvent.js +0 -158
  602. package/dist/crdt/vendor/yjs/src/utils/meta.js +0 -74
  603. package/dist/crdt/vendor/yjs/src/utils/renderer-helpers.js +0 -186
  604. package/dist/crdt/vendor/yjs/src/utils/schemas.js +0 -3
  605. package/dist/edytor.utils.d.ts +0 -50
  606. package/dist/edytor.utils.js +0 -67
  607. package/dist/plugins/blockMenu/BlockMenu.svelte +0 -335
  608. package/dist/plugins/blockMenu/BlockMenu.svelte.d.ts +0 -9
  609. package/dist/plugins/find/FindBar.svelte +0 -170
  610. package/dist/plugins/find/FindBar.svelte.d.ts +0 -9
  611. package/dist/plugins/find/FindHighlights.svelte +0 -75
  612. package/dist/plugins/find/FindHighlights.svelte.d.ts +0 -9
  613. package/dist/plugins/icons.d.ts +0 -2
  614. package/dist/plugins/icons.js +0 -63
  615. package/dist/plugins/image/ImageEmpty.svelte +0 -93
  616. package/dist/plugins/image/ImageEmpty.svelte.d.ts +0 -15
  617. package/dist/plugins/image/empty.svelte.d.ts +0 -56
  618. package/dist/plugins/image/empty.svelte.js +0 -83
  619. package/dist/plugins/keepInView.d.ts +0 -4
  620. package/dist/plugins/keepInView.js +0 -6
  621. package/dist/plugins/media/UrlPasteMenu.svelte +0 -92
  622. package/dist/plugins/media/UrlPasteMenu.svelte.d.ts +0 -9
  623. package/dist/plugins/richtext/CalloutIconMenu.svelte +0 -98
  624. package/dist/plugins/richtext/CalloutIconMenu.svelte.d.ts +0 -9
  625. package/dist/plugins/richtext/labels.d.ts +0 -9
  626. package/dist/plugins/richtext/labels.js +0 -7
  627. package/dist/plugins/slashMenu/SlashMenu.svelte +0 -276
  628. package/dist/plugins/slashMenu/SlashMenu.svelte.d.ts +0 -11
  629. package/dist/plugins/table/dragPreview.d.ts +0 -29
  630. package/dist/plugins/table/dragPreview.js +0 -103
  631. package/dist/plugins/toolbar/LinkCard.svelte +0 -122
  632. package/dist/plugins/toolbar/LinkCard.svelte.d.ts +0 -9
  633. package/dist/plugins/toolbar/Toolbar.svelte +0 -349
  634. package/dist/plugins/toolbar/Toolbar.svelte.d.ts +0 -9
  635. package/dist/plugins/triggers/TriggerMenu.svelte +0 -135
  636. package/dist/plugins/triggers/TriggerMenu.svelte.d.ts +0 -7
  637. package/dist/session/props.d.ts +0 -28
  638. package/dist/session/props.js +0 -162
  639. package/dist/text/deltas.d.ts +0 -22
  640. package/dist/text/deltas.js +0 -46
  641. package/dist/text/text.utils.d.ts +0 -45
  642. package/dist/text/text.utils.js +0 -199
@@ -1,11 +1,13 @@
1
1
  import type { PreviewCell } from '../surface/cells.js';
2
2
  import { Suggestion } from '../session/suggestions.svelte.js';
3
+ /**
4
+ * A child in the flow: a block's id, a block suggestion's preview in the
5
+ * flow among its siblings (in place of a block), or a suggestion's own
6
+ * block, rendered from its preview cell, never registered (`Suggestion`).
7
+ */
8
+ export type Kid = string | Suggestion | PreviewCell;
3
9
  type $$ComponentProps = {
4
- id?: string;
5
- /** A suggestion's block: rendered from its preview cell, never registered (`Suggestion`). */
6
- preview?: PreviewCell;
7
- /** A block suggestion's preview in the flow among its siblings, in place of a block. */
8
- suggestion?: Suggestion;
10
+ kid: Kid;
9
11
  };
10
12
  declare const Block: import("svelte").Component<$$ComponentProps, {}, "">;
11
13
  type Block = ReturnType<typeof Block>;
@@ -51,11 +51,7 @@
51
51
  /** Segments are keyed causally (the preceding atom's id, or `start`), never by ordinal. */
52
52
  const keyOf = (part: Part) => (part.kind === 'text' ? `s:${part.key}:${epoch}` : `a:${part.id}`);
53
53
 
54
- const view = (segment: Segment) =>
55
- edytor.pin.render(id, segment.key) ?? {
56
- deltas: segmentDeltas(cell!, segment, transform),
57
- empty: segment.text === ''
58
- };
54
+ const view = (segment: Segment) => edytor.pin.shown(cell!, segment, transform);
59
55
 
60
56
  /** A suggestion's text after this block's (`end`): its first block's content. */
61
57
  const ghosts = $derived(
@@ -2,7 +2,7 @@
2
2
  // `EdytorClass` alias: the emitted `.svelte.d.ts` also declares `Edytor`
3
3
  // (the component + its bindable instance type) — an unaliased import
4
4
  // collides there (TS2440 for bundler-resolution consumers).
5
- import { Edytor as EdytorClass, useEdytor, type Snippets } from '../edytor.svelte.js';
5
+ import { Edytor as EdytorClass, useEdytor } from '../edytor.svelte.js';
6
6
  import {
7
7
  SyncRefusedError,
8
8
  type Awareness,
@@ -19,43 +19,28 @@
19
19
  } from '../collaboration/awarenessSelection.js';
20
20
  import { createIndexeddbSync, createWebsocketSync } from '../collaboration/providers.js';
21
21
  export { EdytorClass as EdytorContext, useEdytor };
22
- import type { Placeholder, Plugin } from '../plugins.js';
22
+ import type { Plugin } from '../plugins.js';
23
+ import { brandOf } from '../plugins/brand.js';
23
24
  import type { PartialLabels } from '../labels.js';
24
- import {
25
- blockHandlesPlugin,
26
- createBlockHandlesPlugin,
27
- isBlockHandlesPlugin,
28
- type BlockHandlesOptions
29
- } from '../plugins/blockHandles/blockHandlesPlugin.js';
30
- import { isRichTextPlugin, richTextPlugin } from '../plugins/richtext/RichTextPlugin.svelte';
31
- import { arrowMovePlugin } from '../plugins/arrowMove/arrowMove.js';
32
- import { imagePlugin, isImagePlugin } from '../plugins/image/ImagePlugin.svelte';
33
- import {
34
- isSuggestionsPlugin,
35
- suggestionsPlugin
36
- } from '../plugins/suggestions/suggestionsPlugin.js';
25
+ import { createRichTextPlugin } from '../plugins/richtext/RichTextPlugin.svelte';
26
+ import { createArrowMovePlugin } from '../plugins/arrowMove/arrowMove.js';
27
+ import { createImagePlugin } from '../plugins/image/ImagePlugin.svelte';
28
+ import { createSuggestionsPlugin } from '../plugins/suggestions/suggestionsPlugin.js';
37
29
 
38
30
  /**
39
- * The plugins every view has unless it lists its own (or sets
31
+ * The plugins every view has unless it lists one of their kind (or sets
40
32
  * `defaultPlugins={false}`), after the app's so its kinds and keys win:
41
33
  * block moves, the suggestion UI, the image kind, then rich text.
42
34
  */
43
- const withDefaults = (plugins: Plugin[] = []): Plugin[] => [
44
- ...plugins,
45
- ...(plugins.includes(arrowMovePlugin) ? [] : [arrowMovePlugin]),
46
- ...(plugins.some(isSuggestionsPlugin) ? [] : [suggestionsPlugin]),
47
- ...(plugins.some(isImagePlugin) ? [] : [imagePlugin]),
48
- ...(plugins.some(isRichTextPlugin) ? [] : [richTextPlugin])
35
+ const DEFAULTS = [
36
+ createArrowMovePlugin(),
37
+ createSuggestionsPlugin(),
38
+ createImagePlugin(),
39
+ createRichTextPlugin()
49
40
  ];
50
- /**
51
- * The handles: none with `false`, the configured ones (replacing any
52
- * listed) with options, else the listed ones or the default, first.
53
- */
54
- const withHandles = (plugins: Plugin[] | undefined, handles: boolean | BlockHandlesOptions) => {
55
- const others = plugins?.filter((plugin) => !isBlockHandlesPlugin(plugin));
56
- if (handles === false) return others;
57
- if (typeof handles === 'object') return [createBlockHandlesPlugin(handles), ...(others ?? [])];
58
- return plugins?.some(isBlockHandlesPlugin) ? plugins : [blockHandlesPlugin, ...(plugins ?? [])];
41
+ const withDefaults = (plugins: Plugin[] = []): Plugin[] => {
42
+ const listed = new Set(plugins.map(brandOf));
43
+ return [...plugins, ...DEFAULTS.filter((plugin) => !listed.has(brandOf(plugin)))];
59
44
  };
60
45
  /**
61
46
  * The sync of a room id no dial can carry (`validRoomId`): no socket, the
@@ -80,10 +65,8 @@
80
65
  children: []
81
66
  };
82
67
 
83
- export type EdytorProps = Snippets & {
68
+ export type EdytorProps = {
84
69
  plugins?: Plugin[];
85
- /** Show built-in block handles, with optional pointer dragging and activation callback. */
86
- blockHandles?: boolean | BlockHandlesOptions;
87
70
  /** Add rich text, arrow moves, the suggestion UI and images unless `plugins` lists them (default `true`). */
88
71
  defaultPlugins?: boolean;
89
72
  class?: string;
@@ -100,7 +83,7 @@
100
83
  document?: EdytorDocument;
101
84
  doc?: YDoc;
102
85
  awareness?: Awareness;
103
- /** The local author (id, name, color) of the document this view owns: history lineage and presence. */
86
+ /** The local author (id, name, color) of the document this view owns: attribution and presence. */
104
87
  actor?: DocumentActor;
105
88
  /**
106
89
  * What this view shares of its selection with peers (`share`: `'caret'`,
@@ -125,13 +108,12 @@
125
108
  onSelectionChange?: (selection: EdytorSelection) => void;
126
109
  /** The initial content, read once (not bindable): follow edits with `onChange` or `edytor.value`. */
127
110
  value?: JSONDoc;
128
- placeholder?: Placeholder;
129
111
  /**
130
- * The words the view says itself, over the English ones: its
131
- * announcements to assistive technology and a suggestion's name. Each
132
- * plugin takes its own `labels`. Read once.
112
+ * The words the package shows and says in this view, over the English
113
+ * ones: any entry of any section (`editor`, `richText`, `table`…) and
114
+ * the commands' slash `keywords` by id. Read once.
133
115
  */
134
- labels?: PartialLabels<'editor'>;
116
+ labels?: PartialLabels;
135
117
  translate?: 'yes' | 'no';
136
118
  spellcheck?: boolean;
137
119
  autocorrect?: 'on' | 'off';
@@ -195,7 +177,6 @@
195
177
 
196
178
  let {
197
179
  plugins: userPlugins,
198
- blockHandles,
199
180
  defaultPlugins = true,
200
181
  class: className,
201
182
  'aria-label': ariaLabel,
@@ -223,7 +204,6 @@
223
204
  onChange,
224
205
  onDocChange,
225
206
  onSelectionChange,
226
- placeholder,
227
207
  labels,
228
208
  translate = 'no',
229
209
  spellcheck = true,
@@ -231,17 +211,12 @@
231
211
  autocomplete = 'off',
232
212
  autocapitalize = 'none',
233
213
  inputmode,
234
- enterkeyhint,
235
- ...snippets
214
+ enterkeyhint
236
215
  }: EdytorProps = $props();
237
216
 
238
217
  const initialEdytorOptions = untrack(() => ({
239
- snippets,
240
218
  readonly,
241
- plugins: withHandles(
242
- defaultPlugins ? withDefaults(userPlugins) : userPlugins,
243
- blockHandles ?? true
244
- ),
219
+ plugins: defaultPlugins ? withDefaults(userPlugins) : userPlugins,
245
220
  document: edytorDocument,
246
221
  doc,
247
222
  awareness,
@@ -253,7 +228,6 @@
253
228
  onDocChange,
254
229
  sync: !!sync || room !== undefined,
255
230
  value,
256
- placeholder,
257
231
  labels
258
232
  }));
259
233
 
@@ -354,25 +328,13 @@
354
328
  $effect(edytor.surface.post);
355
329
  $effect(edytor.projector.post);
356
330
 
357
- const browserMutationGuardAttributes = $derived({
358
- spellcheck,
359
- autocorrect,
360
- autocomplete,
361
- autocapitalize,
362
- inputmode,
363
- enterkeyhint
364
- });
365
-
366
331
  /**
367
- * The root's browser attributes. Optional hints (`inputmode`,
368
- * `enterkeyhint`) stay absent when unset — emitting a guessed default
369
- * would override the browser/UA's own choice.
332
+ * The root's browser hints, several of them unknown to Svelte's element
333
+ * types; one left unset is absent (a guessed default would override the
334
+ * browser's own choice).
370
335
  */
371
- const editableRootBrowserAttributes = (
372
- node: HTMLElement,
373
- attributes: typeof browserMutationGuardAttributes
374
- ) => {
375
- const apply = (next: typeof attributes) => {
336
+ const browserAttributes = (node: HTMLElement, attributes: Record<string, unknown>) => {
337
+ const apply = (next: Record<string, unknown>) => {
376
338
  for (const [name, value] of Object.entries(next))
377
339
  if (value === undefined) node.removeAttribute(name);
378
340
  else node.setAttribute(name, String(value));
@@ -380,28 +342,25 @@
380
342
  apply(attributes);
381
343
  return { update: apply };
382
344
  };
383
-
384
- const nonNativeEditableBlockChromeSelection = (node: HTMLElement) => {
385
- const { selection } = edytor;
386
- // `selectstart` is the only event fired before a drag-selection
387
- // begins — the guard keeps one from starting on non-editable
388
- // chrome (markers, void/island chrome, plugin UI). A press on that
389
- // chrome is the press's (`events/onFocus.ts`).
390
- node.addEventListener('selectstart', selection.pointer.onSelectStart);
391
- return {
392
- destroy: () => node.removeEventListener('selectstart', selection.pointer.onSelectStart)
393
- };
394
- };
395
345
  </script>
396
346
 
397
347
  {#if edytor.synced}
398
348
  <!-- The editing host is focusable (contenteditable): no tabindex of its own. -->
399
349
  <!-- svelte-ignore a11y_aria_activedescendant_has_tabindex -->
350
+ <!-- `selectstart`, fired before a drag-selection begins, keeps one from starting on
351
+ non-editable chrome (a press there is the press's: `events/onFocus.ts`). -->
400
352
  <div
401
353
  class={className}
402
354
  use:edytor.attach
403
- use:editableRootBrowserAttributes={browserMutationGuardAttributes}
404
- use:nonNativeEditableBlockChromeSelection
355
+ onselectstart={edytor.selection.pointer.onSelectStart}
356
+ use:browserAttributes={{
357
+ spellcheck,
358
+ autocorrect,
359
+ autocomplete,
360
+ autocapitalize,
361
+ inputmode,
362
+ enterkeyhint
363
+ }}
405
364
  data-edytor
406
365
  data-edytor-selection={edytor.selection.value.kind === 'blocks' ? 'blocks' : undefined}
407
366
  contenteditable={!readonly}
@@ -419,8 +378,7 @@
419
378
  {translate}
420
379
  >
421
380
  {#each edytor.suggestions.around(edytor.cells?.rootIds ?? []) as kid (kid)}<Block
422
- id={typeof kid === 'string' ? kid : undefined}
423
- suggestion={typeof kid === 'string' ? undefined : kid}
381
+ {kid}
424
382
  />{/each}<span
425
383
  data-edytor-render-anchor
426
384
  contenteditable="false"
@@ -433,19 +391,18 @@
433
391
  <!-- The room's JSON, read-only, while this view's document hydrates. -->
434
392
  <div data-edytor-snapshot style="display: contents">
435
393
  <Snapshot
436
- value={snapshot}
437
- readonly
438
- plugins={userPlugins}
439
- {defaultPlugins}
440
- {blockHandles}
441
- class={className}
442
- {placeholder}
443
- {labels}
444
- aria-label={ariaLabel}
445
- aria-labelledby={ariaLabelledby}
446
- aria-describedby={ariaDescribedby}
447
- {id}
448
- {...snippets}
394
+ {...{
395
+ value: snapshot,
396
+ readonly: true,
397
+ plugins: userPlugins,
398
+ defaultPlugins,
399
+ class: className,
400
+ labels,
401
+ 'aria-label': ariaLabel,
402
+ 'aria-labelledby': ariaLabelledby,
403
+ 'aria-describedby': ariaDescribedby,
404
+ id
405
+ }}
449
406
  />
450
407
  </div>
451
408
  {/if}
@@ -1,15 +1,12 @@
1
- import { Edytor as EdytorClass, useEdytor, type Snippets } from '../edytor.svelte.js';
1
+ import { Edytor as EdytorClass, useEdytor } from '../edytor.svelte.js';
2
2
  import { SyncRefusedError, type Awareness, type DocChange, type DocumentActor, type EdytorDocument, type YDoc } from '../crdt/index.js';
3
3
  import type { EdytorSync, WebsocketSyncOptions } from '../collaboration/index.js';
4
4
  import { type PresenceOptions } from '../collaboration/awarenessSelection.js';
5
5
  export { EdytorClass as EdytorContext, useEdytor };
6
- import type { Placeholder, Plugin } from '../plugins.js';
6
+ import type { Plugin } from '../plugins.js';
7
7
  import type { PartialLabels } from '../labels.js';
8
- import { type BlockHandlesOptions } from '../plugins/blockHandles/blockHandlesPlugin.js';
9
- export type EdytorProps = Snippets & {
8
+ export type EdytorProps = {
10
9
  plugins?: Plugin[];
11
- /** Show built-in block handles, with optional pointer dragging and activation callback. */
12
- blockHandles?: boolean | BlockHandlesOptions;
13
10
  /** Add rich text, arrow moves, the suggestion UI and images unless `plugins` lists them (default `true`). */
14
11
  defaultPlugins?: boolean;
15
12
  class?: string;
@@ -26,7 +23,7 @@ export type EdytorProps = Snippets & {
26
23
  document?: EdytorDocument;
27
24
  doc?: YDoc;
28
25
  awareness?: Awareness;
29
- /** The local author (id, name, color) of the document this view owns: history lineage and presence. */
26
+ /** The local author (id, name, color) of the document this view owns: attribution and presence. */
30
27
  actor?: DocumentActor;
31
28
  /**
32
29
  * What this view shares of its selection with peers (`share`: `'caret'`,
@@ -51,13 +48,12 @@ export type EdytorProps = Snippets & {
51
48
  onSelectionChange?: (selection: EdytorSelection) => void;
52
49
  /** The initial content, read once (not bindable): follow edits with `onChange` or `edytor.value`. */
53
50
  value?: JSONDoc;
54
- placeholder?: Placeholder;
55
51
  /**
56
- * The words the view says itself, over the English ones: its
57
- * announcements to assistive technology and a suggestion's name. Each
58
- * plugin takes its own `labels`. Read once.
52
+ * The words the package shows and says in this view, over the English
53
+ * ones: any entry of any section (`editor`, `richText`, `table`…) and
54
+ * the commands' slash `keywords` by id. Read once.
59
55
  */
60
- labels?: PartialLabels<'editor'>;
56
+ labels?: PartialLabels;
61
57
  translate?: 'yes' | 'no';
62
58
  spellcheck?: boolean;
63
59
  autocorrect?: 'on' | 'off';
@@ -0,0 +1,96 @@
1
+ <script lang="ts" module>
2
+ import type { PresencePoint } from '../collaboration/awarenessSelection.js';
3
+ import type { Edytor } from '../edytor.svelte.js';
4
+
5
+ /** A run of text the overlay marks: its ends, and whether it is the current one (`data-current`). */
6
+ export type MarkedRange = { start: PresencePoint; end: PresencePoint; current?: boolean };
7
+
8
+ /** The run of `length` at block offset `offset` of block `id` (none where it is not shown). */
9
+ export const runOf = (
10
+ edytor: Edytor,
11
+ id: string,
12
+ offset: number,
13
+ length: number,
14
+ current?: boolean
15
+ ): MarkedRange[] => {
16
+ const block = edytor.idToBlock.get(id);
17
+ const [start, end] = [block?.textAtOffset(offset), block?.textAtOffset(offset + length)];
18
+ return start && end ? [{ start, end, current }] : [];
19
+ };
20
+ </script>
21
+
22
+ <script lang="ts">
23
+ import { onMount } from 'svelte';
24
+ import { rangeRects, type RemoteSelectionRect } from '../collaboration/remoteSelection.js';
25
+
26
+ /**
27
+ * Runs of text marked in the overlay (never inside the host), one
28
+ * rectangle per line box, measured once per frame: the find matches, the
29
+ * text a `replace` suggestion removes, the comment being written. Each
30
+ * rectangle carries `data-edytor-<name>` (`data-current` on the current
31
+ * run's); the layer is `z`.
32
+ */
33
+ let {
34
+ edytor,
35
+ name,
36
+ z,
37
+ ranges
38
+ }: { edytor: Edytor; name: string; z: number; ranges: () => MarkedRange[] } = $props();
39
+
40
+ let rects: (RemoteSelectionRect & { current?: boolean })[] = $state([]);
41
+
42
+ onMount(() =>
43
+ edytor.overlay.add((origin) => {
44
+ const next = ranges().flatMap(({ start, end, current }) =>
45
+ rangeRects(edytor, start, end, origin).map((rect) => ({ ...rect, current }))
46
+ );
47
+ if (next.length || rects.length) return () => (rects = next);
48
+ })
49
+ );
50
+ // What the runs read changed: the overlay measures again.
51
+ $effect(() => {
52
+ void ranges();
53
+ edytor.overlay.invalidate();
54
+ });
55
+ </script>
56
+
57
+ <div data-edytor-ranges={name} contenteditable="false" aria-hidden="true" style:z-index={z}>
58
+ {#each rects as rect, index (index)}
59
+ <span
60
+ {...{ [`data-edytor-${name}`]: '' }}
61
+ data-current={rect.current || undefined}
62
+ style:left={`${rect.left}px`}
63
+ style:top={`${rect.top}px`}
64
+ style:width={`${rect.width}px`}
65
+ style:height={`${rect.height}px`}
66
+ ></span>
67
+ {/each}
68
+ </div>
69
+
70
+ <style>
71
+ [data-edytor-ranges] {
72
+ position: absolute;
73
+ left: 0;
74
+ top: 0;
75
+ pointer-events: none;
76
+ }
77
+ [data-edytor-ranges] > span {
78
+ position: absolute;
79
+ }
80
+ :global([data-edytor-find-match]) {
81
+ border-radius: 2px;
82
+ background: var(--edytor-find-match, rgb(255 212 0 / 0.3));
83
+ mix-blend-mode: multiply;
84
+ }
85
+ :global([data-edytor-find-match][data-current]) {
86
+ background: var(--edytor-find-current, rgb(255 166 0 / 0.55));
87
+ }
88
+ :global([data-edytor-suggestion-range]) {
89
+ background: var(--edytor-suggestion-removed, rgb(235 87 87 / 0.18));
90
+ border-bottom: 1px solid var(--edytor-suggestion-removed-line, rgb(235 87 87 / 0.6));
91
+ }
92
+ :global([data-edytor-comment-draft]) {
93
+ background: var(--edytor-comment-active, rgb(255 212 0 / 0.42));
94
+ mix-blend-mode: multiply;
95
+ }
96
+ </style>
@@ -0,0 +1,19 @@
1
+ import type { PresencePoint } from '../collaboration/awarenessSelection.js';
2
+ import type { Edytor } from '../edytor.svelte.js';
3
+ /** A run of text the overlay marks: its ends, and whether it is the current one (`data-current`). */
4
+ export type MarkedRange = {
5
+ start: PresencePoint;
6
+ end: PresencePoint;
7
+ current?: boolean;
8
+ };
9
+ /** The run of `length` at block offset `offset` of block `id` (none where it is not shown). */
10
+ export declare const runOf: (edytor: Edytor, id: string, offset: number, length: number, current?: boolean) => MarkedRange[];
11
+ type $$ComponentProps = {
12
+ edytor: Edytor;
13
+ name: string;
14
+ z: number;
15
+ ranges: () => MarkedRange[];
16
+ };
17
+ declare const Ranges: import("svelte").Component<$$ComponentProps, {}, "">;
18
+ type Ranges = ReturnType<typeof Ranges>;
19
+ export default Ranges;
@@ -3,6 +3,7 @@
3
3
  import type { Edytor } from '../edytor.svelte.js';
4
4
  import type { Suggestion } from '../session/suggestions.svelte.js';
5
5
  import { previewCells } from '../surface/cells.js';
6
+ import { editorEnglish, labelsOf } from '../labels.js';
6
7
  import Block from './Block.svelte';
7
8
 
8
9
  /**
@@ -28,12 +29,12 @@
28
29
  data-edytor-suggestion={suggestion.id}
29
30
  data-status={suggestion.status}
30
31
  contenteditable="false"
31
- aria-label={suggestion.label ?? edytor.labels.suggestion}
32
+ aria-label={suggestion.label ?? labelsOf(edytor, 'editor', editorEnglish).suggestion}
32
33
  role="group"
33
34
  use:edytor.surface.preview={suggestion.id}
34
35
  onmousedown={cancel}
35
36
  >
36
- {#each cells as cell (cell.id)}<Block id={cell.id} preview={cell} />{/each}
37
+ {#each cells as cell (cell.id)}<Block kid={cell} />{/each}
37
38
  </div>
38
39
 
39
40
  <style>
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
2
  import { getContext } from 'svelte';
3
3
  import type { Edytor } from '../edytor.svelte.js';
4
- import type { RenderDelta } from '../surface/cells.js';
4
+ import { rendersMark, type RenderDelta } from '../surface/cells.js';
5
5
  import { Text } from '../text/text.svelte.js';
6
6
  import Mark, { customAt } from './Mark.svelte';
7
7
  import CustomMark from './CustomMark.svelte';
@@ -61,10 +61,7 @@
61
61
 
62
62
  /** A delta's marks this view renders (an unknown mark renders its text only). */
63
63
  const rendered = (delta: RenderDelta): RenderDelta => {
64
- const known = delta.marks.filter(([name]) => {
65
- const definition = edytor.marks.get(name);
66
- return Boolean(definition?.snippet || definition?.tag);
67
- });
64
+ const known = delta.marks.filter(([name]) => rendersMark(edytor.marks, name));
68
65
  return known.length === delta.marks.length ? delta : { text: delta.text, marks: known };
69
66
  };
70
67
  const shown = $derived(empty ? FILLER : deltas);
@@ -1,4 +1,4 @@
1
- import type { RenderDelta } from '../surface/cells.js';
1
+ import { type RenderDelta } from '../surface/cells.js';
2
2
  import { Text } from '../text/text.svelte.js';
3
3
  type $$ComponentProps = {
4
4
  text: Text | undefined;
@@ -5,8 +5,7 @@
5
5
  * gate here, in the same order, with the same refusal semantics:
6
6
  *
7
7
  * 1. **`assertUsableDoc`** — is this a v14 engine doc at all
8
- * ({@link UnsupportedDocError} `'foreign'`), and is it a v13-era
9
- * layout that must be migrated rather than adopted (`'legacy'`)?
8
+ * ({@link UnsupportedDocError} `'foreign'`)?
10
9
  * 2. **`assertSchema`** — does the committed schema manifest allow
11
10
  * this build to own the doc ({@link SchemaMismatchError}:
12
11
  * `'unversioned'` content with no version stamp, `'unsupported'`
@@ -43,8 +42,6 @@
43
42
  * from the engine's pending store pending store discarded; a
44
43
  * stamp that got in anyway (raw
45
44
  * apply) makes the doc read-only
46
- * v13 migration `bindLegacyReader` gate → rebuild via legacy DB byte-identical; no
47
- * document-level `init` → `loadDocument` v14 generation activated
48
45
  *
49
46
  * TWO LAYERS. The transport layer (`providers/*`, `protocols/*`) proves
50
47
  * the generation of every frame and container and refuses updates that
@@ -108,8 +105,6 @@ export declare class UndecodableUpdateError extends Error {
108
105
  * - {@link UnsupportedDocError} `'foreign'` — not a v14 engine doc
109
106
  * (foreign roots/engines may still attach *content* later; this is
110
107
  * about doc shape);
111
- * - {@link UnsupportedDocError} `'legacy'` — v13-era layout present;
112
- * route through `crdt/migration` instead of attaching;
113
108
  * - {@link SchemaMismatchError} `'unversioned' | 'unsupported' |
114
109
  * 'foreign'` — a schema claim this build cannot own.
115
110
  *
@@ -137,9 +132,7 @@ export declare const bindAdmission: (Y: EngineApi) => {
137
132
  * Throws {@link UndecodableUpdateError} for payloads that fail to
138
133
  * decode/integrate at all, then the usual typed refusals.
139
134
  */
140
- admitUpdate: (update: Uint8Array | ReadonlyArray<Uint8Array | {
141
- v2: Uint8Array;
142
- }>, docName?: string, options?: {
135
+ admitUpdate: (update: Uint8Array | ReadonlyArray<Uint8Array>, docName?: string, options?: {
143
136
  /** Prepare the scratch doc before anything is applied (e.g. its `gcFilter`). */
144
137
  prepare?: (doc: YDoc) => void;
145
138
  }) => YDoc;
@@ -5,8 +5,7 @@
5
5
  * gate here, in the same order, with the same refusal semantics:
6
6
  *
7
7
  * 1. **`assertUsableDoc`** — is this a v14 engine doc at all
8
- * ({@link UnsupportedDocError} `'foreign'`), and is it a v13-era
9
- * layout that must be migrated rather than adopted (`'legacy'`)?
8
+ * ({@link UnsupportedDocError} `'foreign'`)?
10
9
  * 2. **`assertSchema`** — does the committed schema manifest allow
11
10
  * this build to own the doc ({@link SchemaMismatchError}:
12
11
  * `'unversioned'` content with no version stamp, `'unsupported'`
@@ -43,8 +42,6 @@
43
42
  * from the engine's pending store pending store discarded; a
44
43
  * stamp that got in anyway (raw
45
44
  * apply) makes the doc read-only
46
- * v13 migration `bindLegacyReader` gate → rebuild via legacy DB byte-identical; no
47
- * document-level `init` → `loadDocument` v14 generation activated
48
45
  *
49
46
  * TWO LAYERS. The transport layer (`providers/*`, `protocols/*`) proves
50
47
  * the generation of every frame and container and refuses updates that
@@ -92,8 +89,6 @@ export class UndecodableUpdateError extends Error {
92
89
  * - {@link UnsupportedDocError} `'foreign'` — not a v14 engine doc
93
90
  * (foreign roots/engines may still attach *content* later; this is
94
91
  * about doc shape);
95
- * - {@link UnsupportedDocError} `'legacy'` — v13-era layout present;
96
- * route through `crdt/migration` instead of attaching;
97
92
  * - {@link SchemaMismatchError} `'unversioned' | 'unsupported' |
98
93
  * 'foreign'` — a schema claim this build cannot own.
99
94
  *
@@ -138,10 +133,9 @@ export const bindAdmission = (Y) => ({
138
133
  admitUpdate: (update, docName = 'loaded document', options = {}) => {
139
134
  const doc = keepingReplaced(new Y.Doc());
140
135
  options.prepare?.(doc);
141
- const apply = (part) => part instanceof Uint8Array ? Y.applyUpdate(doc, part) : Y.applyUpdateV2(doc, part.v2);
136
+ const apply = (part) => Y.applyUpdate(doc, part);
142
137
  try {
143
- // Several updates (`{ v2 }`: in the v2 encoding) are applied in one
144
- // transaction, with no merge pass.
138
+ // Several updates are applied in one transaction, with no merge pass.
145
139
  if (update instanceof Uint8Array)
146
140
  apply(update);
147
141
  else