edytor 1.0.0-rc.3 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (667) hide show
  1. package/README.md +21 -39
  2. package/dist/block/block.svelte.d.ts +11 -84
  3. package/dist/block/block.svelte.js +30 -134
  4. package/dist/block/colors.d.ts +0 -9
  5. package/dist/block/colors.js +1 -18
  6. package/dist/block/contentRange.d.ts +5 -1
  7. package/dist/block/contentRange.js +15 -16
  8. package/dist/block/inlineBlock.svelte.d.ts +11 -9
  9. package/dist/block/inlineBlock.svelte.js +18 -21
  10. package/dist/clipboard/createClipboardFragment.js +22 -64
  11. package/dist/clipboard/fragmentData.js +17 -42
  12. package/dist/clipboard/htmlFlow.js +7 -7
  13. package/dist/clipboard/insertClipboardFragment.js +5 -4
  14. package/dist/clipboard/moveText.js +16 -8
  15. package/dist/clipboard/serializeClipboardFragment.d.ts +2 -0
  16. package/dist/clipboard/serializeClipboardFragment.js +32 -28
  17. package/dist/cloudflare/DocumentRoom.d.ts +4 -17
  18. package/dist/cloudflare/DocumentRoom.js +3 -5
  19. package/dist/cloudflare/move.d.ts +1 -18
  20. package/dist/cloudflare/move.js +2 -48
  21. package/dist/cloudflare/room/admission.d.ts +1 -60
  22. package/dist/cloudflare/room/admission.js +25 -29
  23. package/dist/cloudflare/room/comments.d.ts +1 -3
  24. package/dist/cloudflare/room/comments.js +6 -6
  25. package/dist/cloudflare/room/context.d.ts +25 -82
  26. package/dist/cloudflare/room/context.js +8 -8
  27. package/dist/cloudflare/room/forged.d.ts +1 -1
  28. package/dist/cloudflare/room/forged.js +2 -12
  29. package/dist/cloudflare/room/frames.d.ts +1 -1
  30. package/dist/cloudflare/room/frames.js +1 -1
  31. package/dist/cloudflare/room/history.d.ts +1 -25
  32. package/dist/cloudflare/room/history.js +39 -54
  33. package/dist/cloudflare/room/moves.d.ts +1 -13
  34. package/dist/cloudflare/room/moves.js +33 -57
  35. package/dist/cloudflare/room/presence.d.ts +1 -11
  36. package/dist/cloudflare/room/presence.js +4 -4
  37. package/dist/cloudflare/room/purge.d.ts +1 -2
  38. package/dist/cloudflare/room/purge.js +2 -2
  39. package/dist/cloudflare/room/replicas.d.ts +1 -7
  40. package/dist/cloudflare/room/replicas.js +2 -2
  41. package/dist/cloudflare/room/storage.d.ts +3 -32
  42. package/dist/cloudflare/room/storage.js +33 -108
  43. package/dist/cloudflare/room/updates.d.ts +4 -4
  44. package/dist/cloudflare/room/updates.js +17 -24
  45. package/dist/cloudflare/room/validation.d.ts +1 -5
  46. package/dist/cloudflare/room/validation.js +16 -37
  47. package/dist/collaboration/RemoteSelections.svelte +13 -17
  48. package/dist/collaboration/awarenessSelection.d.ts +22 -1
  49. package/dist/collaboration/awarenessSelection.js +42 -0
  50. package/dist/collaboration/comments/client.d.ts +2 -2
  51. package/dist/collaboration/comments/client.js +1 -1
  52. package/dist/collaboration/history/index.d.ts +5 -5
  53. package/dist/collaboration/history/index.js +5 -5
  54. package/dist/collaboration/history/panel.svelte.d.ts +91 -0
  55. package/dist/collaboration/history/panel.svelte.js +223 -0
  56. package/dist/collaboration/providers.d.ts +12 -3
  57. package/dist/collaboration/providers.js +5 -4
  58. package/dist/components/Block.svelte +42 -56
  59. package/dist/components/Block.svelte.d.ts +7 -5
  60. package/dist/components/Content.svelte +1 -5
  61. package/dist/components/Edytor.svelte +82 -99
  62. package/dist/components/Edytor.svelte.d.ts +16 -13
  63. package/dist/components/InlineBlock.svelte +1 -1
  64. package/dist/components/Ranges.svelte +96 -0
  65. package/dist/components/Ranges.svelte.d.ts +19 -0
  66. package/dist/components/Suggestion.svelte +3 -2
  67. package/dist/components/Text.svelte +2 -5
  68. package/dist/components/Text.svelte.d.ts +1 -1
  69. package/dist/crdt/admission.d.ts +2 -9
  70. package/dist/crdt/admission.js +3 -9
  71. package/dist/crdt/attribution/attribution.d.ts +11 -72
  72. package/dist/crdt/attribution/attribution.js +5 -52
  73. package/dist/crdt/attribution/block.d.ts +0 -78
  74. package/dist/crdt/attribution/block.js +1 -144
  75. package/dist/crdt/data.d.ts +18 -13
  76. package/dist/crdt/data.js +49 -71
  77. package/dist/crdt/doc/anchors.js +4 -4
  78. package/dist/crdt/doc/content.d.ts +5 -1
  79. package/dist/crdt/doc/content.js +3 -1
  80. package/dist/crdt/doc/delete.d.ts +1 -0
  81. package/dist/crdt/doc/funnel.d.ts +0 -23
  82. package/dist/crdt/doc/funnel.js +34 -85
  83. package/dist/crdt/doc/gate.d.ts +8 -9
  84. package/dist/crdt/doc/gate.js +7 -17
  85. package/dist/crdt/doc/history.d.ts +87 -14
  86. package/dist/crdt/doc/history.js +334 -149
  87. package/dist/crdt/doc/layout.d.ts +0 -1
  88. package/dist/crdt/doc/layout.js +2 -3
  89. package/dist/crdt/doc/meta.d.ts +4 -4
  90. package/dist/crdt/doc/meta.js +10 -21
  91. package/dist/crdt/doc/moves.d.ts +4 -4
  92. package/dist/crdt/doc/moves.js +5 -5
  93. package/dist/crdt/doc/plan.d.ts +2 -0
  94. package/dist/crdt/doc/plan.js +2 -0
  95. package/dist/crdt/doc/reads.d.ts +8 -5
  96. package/dist/crdt/doc/reads.js +49 -50
  97. package/dist/crdt/doc/seed.d.ts +15 -6
  98. package/dist/crdt/doc/seed.js +27 -26
  99. package/dist/crdt/doc/split-merge.d.ts +1 -3
  100. package/dist/crdt/doc/split-merge.js +4 -5
  101. package/dist/crdt/doc/steps.d.ts +3 -7
  102. package/dist/crdt/doc/steps.js +20 -9
  103. package/dist/crdt/doc/types.d.ts +0 -10
  104. package/dist/crdt/document.d.ts +32 -115
  105. package/dist/crdt/document.js +216 -302
  106. package/dist/crdt/edytor-doc.d.ts +689 -90
  107. package/dist/crdt/edytor-doc.js +74 -149
  108. package/dist/crdt/engine-api.d.ts +15 -47
  109. package/dist/crdt/engine.d.ts +7 -17
  110. package/dist/crdt/engine.js +9 -19
  111. package/dist/crdt/flow.d.ts +9 -37
  112. package/dist/crdt/flow.js +260 -238
  113. package/dist/crdt/index.d.ts +32 -85
  114. package/dist/crdt/index.js +21 -47
  115. package/dist/crdt/operations.d.ts +24 -33
  116. package/dist/crdt/operations.js +8 -17
  117. package/dist/crdt/placement/display.d.ts +0 -2
  118. package/dist/crdt/placement/display.js +0 -15
  119. package/dist/crdt/placement/model.d.ts +160 -12
  120. package/dist/crdt/placement/model.js +413 -414
  121. package/dist/crdt/placement/rank.d.ts +1 -5
  122. package/dist/crdt/placement/rank.js +28 -38
  123. package/dist/crdt/props.d.ts +32 -0
  124. package/dist/crdt/props.js +172 -0
  125. package/dist/crdt/protocol.d.ts +4 -5
  126. package/dist/crdt/protocol.js +3 -4
  127. package/dist/crdt/protocols/awareness.d.ts +3 -7
  128. package/dist/crdt/protocols/awareness.js +17 -33
  129. package/dist/crdt/protocols/envelope.d.ts +9 -29
  130. package/dist/crdt/protocols/envelope.js +8 -25
  131. package/dist/crdt/protocols/sync.d.ts +15 -30
  132. package/dist/crdt/protocols/sync.js +27 -89
  133. package/dist/crdt/providers/bound.d.ts +3 -1
  134. package/dist/crdt/providers/bound.js +3 -1
  135. package/dist/crdt/providers/container.d.ts +11 -17
  136. package/dist/crdt/providers/container.js +39 -27
  137. package/dist/crdt/providers/index.d.ts +34 -6
  138. package/dist/crdt/providers/index.js +106 -111
  139. package/dist/crdt/providers/indexeddb.d.ts +2 -12
  140. package/dist/crdt/providers/indexeddb.js +29 -90
  141. package/dist/crdt/providers/room.d.ts +58 -2
  142. package/dist/crdt/providers/room.js +38 -21
  143. package/dist/crdt/providers/websocket.d.ts +1 -1
  144. package/dist/crdt/providers/websocket.js +3 -4
  145. package/dist/crdt/purge.d.ts +2 -2
  146. package/dist/crdt/purge.js +69 -6
  147. package/dist/crdt/rangeDelete.d.ts +4 -42
  148. package/dist/crdt/rangeDelete.js +7 -6
  149. package/dist/crdt/restore.d.ts +21 -1
  150. package/dist/crdt/restore.js +54 -59
  151. package/dist/crdt/schema.d.ts +2 -2
  152. package/dist/crdt/schema.js +4 -5
  153. package/dist/crdt/semantics.d.ts +10 -15
  154. package/dist/crdt/semantics.js +22 -21
  155. package/dist/crdt/storage.d.ts +7 -13
  156. package/dist/crdt/storage.js +10 -24
  157. package/dist/crdt/structs.d.ts +42 -47
  158. package/dist/crdt/structs.js +76 -67
  159. package/dist/crdt/tables.d.ts +9 -0
  160. package/dist/crdt/tables.js +20 -0
  161. package/dist/crdt/text/delete-index.d.ts +0 -13
  162. package/dist/crdt/text/delete-index.js +7 -14
  163. package/dist/crdt/text/deletes.d.ts +9 -22
  164. package/dist/crdt/text/deletes.js +11 -74
  165. package/dist/crdt/text/index/cache.js +3 -3
  166. package/dist/crdt/text/index/fold.d.ts +1 -2
  167. package/dist/crdt/text/index/fold.js +15 -10
  168. package/dist/crdt/text/index/layout.d.ts +0 -10
  169. package/dist/crdt/text/index/layout.js +6 -20
  170. package/dist/crdt/text/index/records.js +2 -1
  171. package/dist/crdt/text/index/report.js +5 -6
  172. package/dist/crdt/text/index/shared.d.ts +11 -4
  173. package/dist/crdt/text/index/shared.js +8 -7
  174. package/dist/crdt/text/index/state.d.ts +3 -33
  175. package/dist/crdt/text/index/state.js +2 -4
  176. package/dist/crdt/text/model.d.ts +82 -2
  177. package/dist/crdt/text/model.js +344 -354
  178. package/dist/crdt/text/rows.d.ts +0 -2
  179. package/dist/crdt/text/rows.js +0 -11
  180. package/dist/crdt/text/runs.d.ts +6 -3
  181. package/dist/crdt/text/runs.js +132 -137
  182. package/dist/crdt/text/streams.d.ts +1 -1
  183. package/dist/crdt/text/streams.js +1 -1
  184. package/dist/crdt/vendor/yjs/API-NOTES.md +25 -8
  185. package/dist/crdt/vendor/yjs/UPSTREAM.md +288 -8
  186. package/dist/crdt/vendor/yjs/dts/global.d.ts +5 -26
  187. package/dist/crdt/vendor/yjs/dts/index.d.ts +10 -15
  188. package/dist/crdt/vendor/yjs/dts/structs/AbstractStruct.d.ts +2 -2
  189. package/dist/crdt/vendor/yjs/dts/structs/Item.d.ts +14 -219
  190. package/dist/crdt/vendor/yjs/dts/structs/Skip.d.ts +2 -2
  191. package/dist/crdt/vendor/yjs/dts/utils/BlockSet.d.ts +2 -2
  192. package/dist/crdt/vendor/yjs/dts/utils/Doc.d.ts +12 -123
  193. package/dist/crdt/vendor/yjs/dts/utils/ID.d.ts +1 -1
  194. package/dist/crdt/vendor/yjs/dts/utils/RangeCursor.d.ts +37 -58
  195. package/dist/crdt/vendor/yjs/dts/utils/Transaction.d.ts +3 -78
  196. package/dist/crdt/vendor/yjs/dts/utils/UpdateDecoder.d.ts +2 -81
  197. package/dist/crdt/vendor/yjs/dts/utils/UpdateEncoder.d.ts +2 -74
  198. package/dist/crdt/vendor/yjs/dts/utils/encoding-helpers.d.ts +4 -4
  199. package/dist/crdt/vendor/yjs/dts/utils/encoding.d.ts +6 -18
  200. package/dist/crdt/vendor/yjs/dts/utils/ids.d.ts +12 -237
  201. package/dist/crdt/vendor/yjs/dts/utils/positions.d.ts +5 -0
  202. package/dist/crdt/vendor/yjs/dts/utils/redo.d.ts +3 -0
  203. package/dist/crdt/vendor/yjs/dts/utils/transaction-helpers.d.ts +1 -3
  204. package/dist/crdt/vendor/yjs/dts/utils/updates.d.ts +6 -23
  205. package/dist/crdt/vendor/yjs/dts/ynode.d.ts +73 -498
  206. package/dist/crdt/vendor/yjs/global.d.ts +5 -26
  207. package/dist/crdt/vendor/yjs/src/index.js +11 -25
  208. package/dist/crdt/vendor/yjs/src/structs/AbstractStruct.js +1 -1
  209. package/dist/crdt/vendor/yjs/src/structs/GC.js +1 -1
  210. package/dist/crdt/vendor/yjs/src/structs/Item.js +10 -372
  211. package/dist/crdt/vendor/yjs/src/structs/Skip.js +1 -1
  212. package/dist/crdt/vendor/yjs/src/utils/BlockSet.js +2 -2
  213. package/dist/crdt/vendor/yjs/src/utils/Doc.js +14 -170
  214. package/dist/crdt/vendor/yjs/src/utils/ID.js +1 -1
  215. package/dist/crdt/vendor/yjs/src/utils/RangeCursor.js +61 -128
  216. package/dist/crdt/vendor/yjs/src/utils/StructStore.js +0 -22
  217. package/dist/crdt/vendor/yjs/src/utils/Transaction.js +17 -282
  218. package/dist/crdt/vendor/yjs/src/utils/UpdateDecoder.js +3 -130
  219. package/dist/crdt/vendor/yjs/src/utils/UpdateEncoder.js +2 -132
  220. package/dist/crdt/vendor/yjs/src/utils/encoding-helpers.js +4 -4
  221. package/dist/crdt/vendor/yjs/src/utils/encoding.js +49 -146
  222. package/dist/crdt/vendor/yjs/src/utils/ids.js +23 -900
  223. package/dist/crdt/vendor/yjs/src/utils/positions.js +115 -0
  224. package/dist/crdt/vendor/yjs/src/utils/redo.js +143 -0
  225. package/dist/crdt/vendor/yjs/src/utils/transaction-helpers.js +10 -127
  226. package/dist/crdt/vendor/yjs/src/utils/updates.js +7 -50
  227. package/dist/crdt/vendor/yjs/src/ynode.js +261 -2226
  228. package/dist/dnd/autoScroll.js +1 -2
  229. package/dist/{plugins/blockHandles → dnd}/dropIndicator.d.ts +2 -2
  230. package/dist/{plugins/blockHandles → dnd}/dropIndicator.js +52 -60
  231. package/dist/{plugins/blockHandles → dnd}/geometry.d.ts +4 -3
  232. package/dist/{plugins/blockHandles → dnd}/geometry.js +6 -6
  233. package/dist/dnd/placement.d.ts +200 -0
  234. package/dist/dnd/placement.js +426 -0
  235. package/dist/dnd/pragmatic.d.ts +4 -22
  236. package/dist/dnd/pragmatic.js +7 -26
  237. package/dist/dnd/track.d.ts +14 -0
  238. package/dist/dnd/track.js +55 -0
  239. package/dist/dnd/vendor/pragmatic/UPSTREAM.md +103 -0
  240. package/dist/dnd/vendor/pragmatic/bind-event-listener/LICENSE +21 -0
  241. package/dist/dnd/vendor/pragmatic/bind-event-listener/bind-all.js +46 -0
  242. package/dist/dnd/vendor/pragmatic/bind-event-listener/bind.js +7 -0
  243. package/dist/dnd/vendor/pragmatic/bind-event-listener/index.js +2 -0
  244. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/LICENSE.md +11 -0
  245. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/adapter/element-adapter-native-data-key.js +6 -0
  246. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/adapter/element-adapter.d.ts +57 -0
  247. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/adapter/element-adapter.js +306 -0
  248. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/entry-point/element/adapter.d.ts +8 -0
  249. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/entry-point/element/adapter.js +10 -0
  250. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/entry-point/element/set-custom-native-drag-preview.d.ts +4 -0
  251. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/entry-point/element/set-custom-native-drag-preview.js +6 -0
  252. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/entry-point/types.d.ts +1 -0
  253. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/honey-pot-fix/get-element-from-point-without-honey-pot.js +12 -0
  254. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/honey-pot-fix/honey-pot-data-attribute.js +3 -0
  255. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/honey-pot-fix/is-honey-pot-element.js +4 -0
  256. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/honey-pot-fix/make-honey-pot-fix.js +333 -0
  257. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/internal-types.d.ts +350 -0
  258. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/ledger/dispatch-consumer-event.js +128 -0
  259. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/ledger/lifecycle-manager.js +340 -0
  260. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/ledger/usage-ledger.js +32 -0
  261. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/make-adapter/make-adapter.js +59 -0
  262. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/make-adapter/make-drop-target.js +288 -0
  263. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/make-adapter/make-monitor.js +85 -0
  264. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/public-utils/combine.js +6 -0
  265. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/public-utils/element/custom-native-drag-preview/set-custom-native-drag-preview.d.ts +36 -0
  266. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/public-utils/element/custom-native-drag-preview/set-custom-native-drag-preview.js +153 -0
  267. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/public-utils/element/custom-native-drag-preview/types.d.ts +16 -0
  268. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/public-utils/once.js +13 -0
  269. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/add-attribute.js +7 -0
  270. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/android.js +10 -0
  271. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/changing-window/count-events-for-safari.js +104 -0
  272. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/changing-window/is-from-another-window.js +16 -0
  273. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/changing-window/is-leaving-window-in-safari.js +12 -0
  274. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/changing-window/is-leaving-window.js +55 -0
  275. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/detect-broken-drag.js +48 -0
  276. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/get-input.js +14 -0
  277. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/is-firefox.js +13 -0
  278. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/is-safari.js +19 -0
  279. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/max-z-index.js +3 -0
  280. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/media-types/text-media-type.js +6 -0
  281. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/media-types/url-media-type.js +6 -0
  282. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/popover-reset-styles.js +40 -0
  283. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/supports-popover.js +16 -0
  284. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/LICENSE.md +11 -0
  285. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/entry-point/element.d.ts +4 -0
  286. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/entry-point/element.js +8 -0
  287. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/internal-types.d.ts +50 -0
  288. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/over-element/data-attributes.js +9 -0
  289. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/over-element/get-scroll-by.js +117 -0
  290. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/over-element/make-api.js +90 -0
  291. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/over-element/try-scroll.js +183 -0
  292. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/axis.js +22 -0
  293. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/can-scroll-on-edge.js +17 -0
  294. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/configuration.js +49 -0
  295. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/edges.js +9 -0
  296. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/engagement-history.js +43 -0
  297. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/get-over-element-hitbox.js +50 -0
  298. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/get-percentage-in-range.js +19 -0
  299. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/get-scroll-change.js +106 -0
  300. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/is-axis-allowed.js +3 -0
  301. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/is-within.js +11 -0
  302. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/scheduler.js +104 -0
  303. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/side.js +6 -0
  304. package/dist/dnd/vendor/pragmatic/raf-schd/LICENSE +21 -0
  305. package/dist/dnd/vendor/pragmatic/raf-schd/raf-schd.esm.js +34 -0
  306. package/dist/edytor.svelte.d.ts +46 -63
  307. package/dist/edytor.svelte.js +126 -181
  308. package/dist/events/beforeInputCommands.d.ts +6 -11
  309. package/dist/events/beforeInputCommands.js +189 -181
  310. package/dist/events/beforeInputDeleteCommands.d.ts +20 -1
  311. package/dist/events/beforeInputDeleteCommands.js +153 -204
  312. package/dist/events/domTextOffset.d.ts +9 -9
  313. package/dist/events/domTextOffset.js +20 -48
  314. package/dist/events/events.utils.d.ts +0 -2
  315. package/dist/events/events.utils.js +0 -4
  316. package/dist/events/nativeInteractiveControl.d.ts +13 -13
  317. package/dist/events/nativeInteractiveControl.js +28 -56
  318. package/dist/events/onBeforeInput.d.ts +6 -1
  319. package/dist/events/onBeforeInput.js +207 -331
  320. package/dist/events/onCopy.js +1 -5
  321. package/dist/events/onDrop.d.ts +7 -1
  322. package/dist/events/onDrop.js +64 -78
  323. package/dist/events/onFocus.d.ts +9 -4
  324. package/dist/events/onFocus.js +45 -67
  325. package/dist/events/onInput.d.ts +8 -4
  326. package/dist/events/onInput.js +34 -147
  327. package/dist/events/onKeyDown.js +55 -122
  328. package/dist/events/onPaste.d.ts +14 -1
  329. package/dist/events/onPaste.js +51 -76
  330. package/dist/index.d.ts +11 -15
  331. package/dist/index.js +3 -3
  332. package/dist/kinds.d.ts +4 -6
  333. package/dist/kinds.js +28 -27
  334. package/dist/labels.d.ts +83 -320
  335. package/dist/labels.js +181 -408
  336. package/dist/plugins/Chrome.svelte +29 -0
  337. package/dist/plugins/Chrome.svelte.d.ts +32 -0
  338. package/dist/plugins/Control.svelte +23 -0
  339. package/dist/plugins/Control.svelte.d.ts +30 -0
  340. package/dist/plugins/anchored.svelte.d.ts +47 -0
  341. package/dist/plugins/anchored.svelte.js +73 -0
  342. package/dist/plugins/arrowMove/arrowMove.d.ts +2 -1
  343. package/dist/plugins/arrowMove/arrowMove.js +9 -5
  344. package/dist/plugins/bands.svelte.d.ts +57 -0
  345. package/dist/plugins/bands.svelte.js +95 -0
  346. package/dist/plugins/blockHandles/BlockHandle.svelte +14 -154
  347. package/dist/plugins/blockHandles/BlockHandle.svelte.d.ts +2 -2
  348. package/dist/plugins/blockHandles/BlockHandleController.svelte.d.ts +21 -196
  349. package/dist/plugins/blockHandles/BlockHandleController.svelte.js +158 -573
  350. package/dist/plugins/blockHandles/BlockHandles.svelte +15 -23
  351. package/dist/plugins/blockHandles/BlockHandles.svelte.d.ts +2 -2
  352. package/dist/plugins/blockHandles/blockHandlesPlugin.d.ts +25 -39
  353. package/dist/plugins/blockHandles/blockHandlesPlugin.js +130 -185
  354. package/dist/plugins/blockHandles/dragPreview.d.ts +8 -6
  355. package/dist/plugins/blockHandles/dragPreview.js +18 -16
  356. package/dist/plugins/blockMenu/BlockMenuController.svelte.d.ts +28 -38
  357. package/dist/plugins/blockMenu/BlockMenuController.svelte.js +116 -183
  358. package/dist/plugins/blockMenu/blockMenuPlugin.d.ts +1 -3
  359. package/dist/plugins/blockMenu/blockMenuPlugin.js +12 -29
  360. package/dist/plugins/brand.d.ts +8 -0
  361. package/dist/plugins/brand.js +8 -0
  362. package/dist/plugins/chrome.d.ts +45 -38
  363. package/dist/plugins/chrome.js +59 -36
  364. package/dist/plugins/code/CodeHeader.svelte +8 -38
  365. package/dist/plugins/code/CodePlugin.svelte +53 -56
  366. package/dist/plugins/code/CodePlugin.svelte.d.ts +0 -2
  367. package/dist/plugins/code/LanguageMenu.svelte +16 -125
  368. package/dist/plugins/code/LanguageMenu.svelte.d.ts +2 -1
  369. package/dist/plugins/code/code.css +5 -117
  370. package/dist/plugins/code/header.svelte.d.ts +2 -11
  371. package/dist/plugins/code/header.svelte.js +11 -38
  372. package/dist/plugins/code/languageMenu.svelte.d.ts +12 -32
  373. package/dist/plugins/code/languageMenu.svelte.js +30 -160
  374. package/dist/plugins/code/languages.d.ts +9 -22
  375. package/dist/plugins/code/languages.js +39 -128
  376. package/dist/plugins/columns/ColumnResize.svelte +16 -27
  377. package/dist/plugins/columns/ColumnResize.svelte.d.ts +1 -1
  378. package/dist/plugins/columns/ColumnsPlugin.svelte +46 -78
  379. package/dist/plugins/columns/ColumnsPlugin.svelte.d.ts +0 -12
  380. package/dist/plugins/columns/columns.css +7 -26
  381. package/dist/plugins/columns/gaps.d.ts +7 -5
  382. package/dist/plugins/columns/gaps.js +11 -6
  383. package/dist/plugins/columns/resize.svelte.d.ts +17 -54
  384. package/dist/plugins/columns/resize.svelte.js +80 -173
  385. package/dist/plugins/comments/CommentsController.svelte.d.ts +1 -4
  386. package/dist/plugins/comments/CommentsController.svelte.js +14 -25
  387. package/dist/plugins/comments/CommentsSidebar.svelte +82 -431
  388. package/dist/plugins/comments/CommentsSidebar.svelte.d.ts +4 -2
  389. package/dist/plugins/comments/commentsPlugin.d.ts +25 -9
  390. package/dist/plugins/comments/commentsPlugin.js +12 -10
  391. package/dist/plugins/equation/EquationEditor.svelte +16 -130
  392. package/dist/plugins/equation/EquationEditor.svelte.d.ts +1 -2
  393. package/dist/plugins/equation/EquationPlugin.svelte +109 -172
  394. package/dist/plugins/equation/EquationPlugin.svelte.d.ts +3 -2
  395. package/dist/plugins/equation/EquationView.svelte +20 -11
  396. package/dist/plugins/equation/equation.css +7 -0
  397. package/dist/plugins/equation/equation.svelte.d.ts +37 -24
  398. package/dist/plugins/equation/equation.svelte.js +20 -94
  399. package/dist/plugins/equation/katex.js +6 -9
  400. package/dist/plugins/fileDrop.d.ts +28 -0
  401. package/dist/plugins/fileDrop.js +116 -0
  402. package/dist/plugins/find/FindController.svelte.d.ts +8 -13
  403. package/dist/plugins/find/FindController.svelte.js +34 -55
  404. package/dist/plugins/find/findPlugin.d.ts +4 -8
  405. package/dist/plugins/find/findPlugin.js +29 -9
  406. package/dist/plugins/image/ImageChrome.svelte +6 -167
  407. package/dist/plugins/image/ImageChrome.svelte.d.ts +0 -2
  408. package/dist/plugins/image/ImagePlugin.svelte +71 -151
  409. package/dist/plugins/image/ImagePlugin.svelte.d.ts +12 -41
  410. package/dist/plugins/image/ImageToolbarHost.svelte +37 -0
  411. package/dist/plugins/image/ImageToolbarHost.svelte.d.ts +9 -0
  412. package/dist/plugins/image/controls.svelte.d.ts +6 -36
  413. package/dist/plugins/image/controls.svelte.js +43 -212
  414. package/dist/plugins/image/image.css +17 -0
  415. package/dist/plugins/image/image.d.ts +0 -5
  416. package/dist/plugins/image/image.js +0 -3
  417. package/dist/plugins/image/toolbar.svelte.d.ts +69 -0
  418. package/dist/plugins/image/toolbar.svelte.js +145 -0
  419. package/dist/plugins/index.d.ts +30 -26
  420. package/dist/plugins/index.js +28 -22
  421. package/dist/plugins/list.svelte.d.ts +128 -0
  422. package/dist/plugins/list.svelte.js +217 -0
  423. package/dist/plugins/markdownShortcuts.d.ts +1 -1
  424. package/dist/plugins/markdownShortcuts.js +10 -9
  425. package/dist/plugins/marquee/MarqueeBox.svelte +3 -20
  426. package/dist/plugins/marquee/MarqueeBox.svelte.d.ts +1 -1
  427. package/dist/plugins/marquee/MarqueeController.svelte.d.ts +0 -2
  428. package/dist/plugins/marquee/MarqueeController.svelte.js +20 -23
  429. package/dist/plugins/marquee/marquee.js +4 -21
  430. package/dist/plugins/marquee/marqueePlugin.d.ts +4 -3
  431. package/dist/plugins/marquee/marqueePlugin.js +16 -15
  432. package/dist/plugins/media/AudioPlugin.svelte +13 -88
  433. package/dist/plugins/media/AudioPlugin.svelte.d.ts +11 -4
  434. package/dist/plugins/media/BookmarkPlugin.svelte +113 -120
  435. package/dist/plugins/media/BookmarkPlugin.svelte.d.ts +10 -15
  436. package/dist/plugins/media/EmbedPlugin.svelte +82 -86
  437. package/dist/plugins/media/EmbedPlugin.svelte.d.ts +11 -17
  438. package/dist/plugins/media/EmptySlot.svelte +44 -0
  439. package/dist/plugins/media/EmptySlot.svelte.d.ts +25 -0
  440. package/dist/plugins/media/FilePlugin.svelte +45 -113
  441. package/dist/plugins/media/FilePlugin.svelte.d.ts +21 -4
  442. package/dist/plugins/media/MediaEmpty.svelte +51 -90
  443. package/dist/plugins/media/MediaEmpty.svelte.d.ts +26 -10
  444. package/dist/plugins/media/SourceBlock.svelte +200 -0
  445. package/dist/plugins/media/SourceBlock.svelte.d.ts +34 -0
  446. package/dist/plugins/media/UploadPreview.svelte +32 -0
  447. package/dist/plugins/media/UploadPreview.svelte.d.ts +11 -0
  448. package/dist/plugins/media/VideoPlugin.svelte +14 -97
  449. package/dist/plugins/media/VideoPlugin.svelte.d.ts +12 -5
  450. package/dist/plugins/media/empty.svelte.d.ts +47 -46
  451. package/dist/plugins/media/empty.svelte.js +67 -60
  452. package/dist/plugins/media/media.d.ts +97 -44
  453. package/dist/plugins/media/media.js +77 -99
  454. package/dist/plugins/media/upload.css +23 -0
  455. package/dist/plugins/media/urlPaste.svelte.d.ts +6 -37
  456. package/dist/plugins/media/urlPaste.svelte.js +32 -102
  457. package/dist/plugins/mention/MentionPlugin.svelte +84 -126
  458. package/dist/plugins/mention/MentionPlugin.svelte.d.ts +17 -27
  459. package/dist/plugins/mention/mention.css +6 -0
  460. package/dist/plugins/page/PageLink.svelte +54 -38
  461. package/dist/plugins/page/PagePlugin.svelte +20 -18
  462. package/dist/plugins/page/PagePlugin.svelte.d.ts +2 -4
  463. package/dist/plugins/page/page.d.ts +35 -9
  464. package/dist/plugins/page/page.js +3 -4
  465. package/dist/plugins/pageLink/PageLinkPlugin.svelte +154 -109
  466. package/dist/plugins/pageLink/PageLinkPlugin.svelte.d.ts +19 -26
  467. package/dist/plugins/pageLink/pageLink.css +6 -0
  468. package/dist/plugins/planned.d.ts +10 -0
  469. package/dist/plugins/planned.js +12 -0
  470. package/dist/plugins/richtext/CalloutIcon.svelte +13 -26
  471. package/dist/plugins/richtext/CalloutIconPicker.svelte +26 -0
  472. package/dist/plugins/richtext/CalloutIconPicker.svelte.d.ts +9 -0
  473. package/dist/plugins/richtext/EmptyBody.svelte +13 -20
  474. package/dist/plugins/richtext/RichTextControl.svelte +39 -0
  475. package/dist/plugins/richtext/RichTextControl.svelte.d.ts +8 -0
  476. package/dist/plugins/richtext/RichTextPlugin.svelte +174 -183
  477. package/dist/plugins/richtext/RichTextPlugin.svelte.d.ts +34 -34
  478. package/dist/plugins/richtext/TodoCheckbox.svelte +10 -21
  479. package/dist/plugins/richtext/TodoCheckbox.svelte.d.ts +0 -2
  480. package/dist/plugins/richtext/body.js +2 -2
  481. package/dist/plugins/richtext/calloutIcons.svelte.d.ts +50 -55
  482. package/dist/plugins/richtext/calloutIcons.svelte.js +86 -174
  483. package/dist/plugins/richtext/callouts.d.ts +15 -0
  484. package/dist/plugins/richtext/callouts.js +23 -0
  485. package/dist/plugins/richtext/controls.svelte.d.ts +110 -0
  486. package/dist/plugins/richtext/controls.svelte.js +126 -0
  487. package/dist/plugins/richtext/richTextOperations.js +37 -28
  488. package/dist/plugins/richtext/richtext.css +6 -0
  489. package/dist/plugins/slashMenu/SlashMenuController.svelte.d.ts +2 -14
  490. package/dist/plugins/slashMenu/SlashMenuController.svelte.js +34 -71
  491. package/dist/plugins/slashMenu/slashMenuPlugin.d.ts +9 -26
  492. package/dist/plugins/slashMenu/slashMenuPlugin.js +27 -68
  493. package/dist/plugins/suggestions/SuggestionBars.svelte +27 -84
  494. package/dist/plugins/suggestions/SuggestionBars.svelte.d.ts +9 -3
  495. package/dist/plugins/suggestions/suggestionsPlugin.d.ts +10 -18
  496. package/dist/plugins/suggestions/suggestionsPlugin.js +9 -24
  497. package/dist/plugins/table/TableChrome.svelte +40 -124
  498. package/dist/plugins/table/TablePlugin.svelte +106 -168
  499. package/dist/plugins/table/TablePlugin.svelte.d.ts +0 -4
  500. package/dist/plugins/table/chrome.svelte.d.ts +38 -141
  501. package/dist/plugins/table/chrome.svelte.js +340 -589
  502. package/dist/plugins/table/ops.d.ts +47 -0
  503. package/dist/plugins/table/ops.js +233 -0
  504. package/dist/plugins/table/table.css +16 -152
  505. package/dist/plugins/table/table.d.ts +15 -14
  506. package/dist/plugins/table/table.js +22 -16
  507. package/dist/plugins/toc/TableOfContents.svelte +32 -38
  508. package/dist/plugins/toc/TableOfContents.svelte.d.ts +1 -5
  509. package/dist/plugins/toc/TocPlugin.svelte +22 -22
  510. package/dist/plugins/toc/TocPlugin.svelte.d.ts +4 -6
  511. package/dist/plugins/toc/toc.d.ts +41 -10
  512. package/dist/plugins/toc/toc.js +2 -3
  513. package/dist/plugins/toolbar/ToolbarController.svelte.d.ts +4 -68
  514. package/dist/plugins/toolbar/ToolbarController.svelte.js +63 -89
  515. package/dist/plugins/toolbar/toolbarPlugin.d.ts +8 -18
  516. package/dist/plugins/toolbar/toolbarPlugin.js +28 -43
  517. package/dist/plugins/triggers/TriggerController.svelte.d.ts +4 -68
  518. package/dist/plugins/triggers/TriggerController.svelte.js +48 -129
  519. package/dist/plugins/triggers/place.d.ts +0 -9
  520. package/dist/plugins/triggers/place.js +1 -17
  521. package/dist/plugins/triggers/triggers.d.ts +31 -9
  522. package/dist/plugins/triggers/triggers.js +82 -62
  523. package/dist/plugins/uploads.svelte.d.ts +55 -24
  524. package/dist/plugins/uploads.svelte.js +123 -50
  525. package/dist/plugins.d.ts +187 -66
  526. package/dist/selection/domSelection.d.ts +13 -4
  527. package/dist/selection/domSelection.js +110 -183
  528. package/dist/selection/pointer.svelte.d.ts +8 -10
  529. package/dist/selection/pointer.svelte.js +32 -73
  530. package/dist/selection/replaceSelection.d.ts +21 -22
  531. package/dist/selection/replaceSelection.js +60 -69
  532. package/dist/selection/selection.svelte.d.ts +5 -73
  533. package/dist/selection/selection.svelte.js +224 -542
  534. package/dist/selection/selection.utils.d.ts +34 -11
  535. package/dist/selection/selection.utils.js +128 -247
  536. package/dist/selection/visibility.d.ts +3 -8
  537. package/dist/selection/visibility.js +7 -5
  538. package/dist/session/announcer.svelte.d.ts +2 -1
  539. package/dist/session/announcer.svelte.js +7 -3
  540. package/dist/session/attempt.d.ts +43 -39
  541. package/dist/session/attempt.js +62 -55
  542. package/dist/session/bindings.js +117 -145
  543. package/dist/session/commands.d.ts +47 -22
  544. package/dist/session/commands.js +208 -208
  545. package/dist/session/composition.svelte.d.ts +2 -4
  546. package/dist/session/composition.svelte.js +55 -65
  547. package/dist/session/editing/text.d.ts +6 -0
  548. package/dist/session/editing/text.js +17 -3
  549. package/dist/session/handles.d.ts +10 -1
  550. package/dist/session/handles.js +28 -0
  551. package/dist/session/history.d.ts +0 -4
  552. package/dist/session/history.js +16 -21
  553. package/dist/session/inputRules.d.ts +6 -3
  554. package/dist/session/inputRules.js +78 -83
  555. package/dist/session/keymap.d.ts +1 -6
  556. package/dist/session/keymap.js +17 -20
  557. package/dist/session/moves.d.ts +43 -10
  558. package/dist/session/moves.js +101 -59
  559. package/dist/session/navigation.d.ts +10 -2
  560. package/dist/session/navigation.js +140 -172
  561. package/dist/session/ports.d.ts +2 -7
  562. package/dist/session/props.d.ts +25 -25
  563. package/dist/session/props.js +62 -159
  564. package/dist/session/selection.d.ts +4 -3
  565. package/dist/session/selection.js +5 -0
  566. package/dist/session/suggestions.svelte.d.ts +1 -1
  567. package/dist/session/suggestions.svelte.js +42 -47
  568. package/dist/session/uploads.d.ts +29 -0
  569. package/dist/session/uploads.js +10 -0
  570. package/dist/session/virtual.d.ts +3 -3
  571. package/dist/session/virtual.js +18 -40
  572. package/dist/surface/attributes.d.ts +1 -0
  573. package/dist/surface/attributes.js +3 -26
  574. package/dist/surface/cells.d.ts +5 -0
  575. package/dist/surface/cells.js +5 -0
  576. package/dist/surface/lines.d.ts +2 -2
  577. package/dist/surface/lines.js +1 -1
  578. package/dist/surface/observer.svelte.d.ts +3 -20
  579. package/dist/surface/observer.svelte.js +52 -72
  580. package/dist/surface/overlay.d.ts +41 -3
  581. package/dist/surface/overlay.js +92 -37
  582. package/dist/surface/pin.svelte.d.ts +5 -0
  583. package/dist/surface/pin.svelte.js +5 -0
  584. package/dist/surface/projector.svelte.d.ts +4 -6
  585. package/dist/surface/projector.svelte.js +42 -69
  586. package/dist/text/text.svelte.d.ts +14 -40
  587. package/dist/text/text.svelte.js +35 -51
  588. package/dist/text/wordBoundary.d.ts +19 -0
  589. package/dist/text/wordBoundary.js +29 -44
  590. package/dist/themes/notion.css +272 -106
  591. package/dist/utils/json.d.ts +3 -1
  592. package/dist/utils/json.js +52 -51
  593. package/dist/utils/listen.d.ts +8 -0
  594. package/dist/utils/listen.js +19 -0
  595. package/package.json +4 -5
  596. package/dist/block/block.utils.d.ts +0 -340
  597. package/dist/block/block.utils.js +0 -356
  598. package/dist/collaboration/history/HistoryPanel.svelte +0 -554
  599. package/dist/collaboration/history/HistoryPanel.svelte.d.ts +0 -7
  600. package/dist/collaboration/history/panel.d.ts +0 -61
  601. package/dist/collaboration/history/panel.js +0 -3
  602. package/dist/components/SuggestionRanges.svelte +0 -58
  603. package/dist/components/SuggestionRanges.svelte.d.ts +0 -7
  604. package/dist/crdt/doc/table.d.ts +0 -21
  605. package/dist/crdt/doc/table.js +0 -288
  606. package/dist/crdt/migration/generation.d.ts +0 -58
  607. package/dist/crdt/migration/generation.js +0 -70
  608. package/dist/crdt/migration/legacy-schema.d.ts +0 -61
  609. package/dist/crdt/migration/legacy-schema.js +0 -151
  610. package/dist/crdt/migration/migrate.d.ts +0 -56
  611. package/dist/crdt/migration/migrate.js +0 -227
  612. package/dist/crdt/nodes.d.ts +0 -121
  613. package/dist/crdt/nodes.js +0 -56
  614. package/dist/crdt/text/index/checks.d.ts +0 -15
  615. package/dist/crdt/text/index/checks.js +0 -156
  616. package/dist/crdt/vendor/yjs/dts/utils/EventHandler.d.ts +0 -17
  617. package/dist/crdt/vendor/yjs/dts/utils/RelativePosition.d.ts +0 -80
  618. package/dist/crdt/vendor/yjs/dts/utils/UndoManager.d.ts +0 -205
  619. package/dist/crdt/vendor/yjs/dts/utils/YEvent.d.ts +0 -93
  620. package/dist/crdt/vendor/yjs/dts/utils/meta.d.ts +0 -25
  621. package/dist/crdt/vendor/yjs/dts/utils/renderer-helpers.d.ts +0 -98
  622. package/dist/crdt/vendor/yjs/dts/utils/schemas.d.ts +0 -2
  623. package/dist/crdt/vendor/yjs/src/utils/EventHandler.js +0 -75
  624. package/dist/crdt/vendor/yjs/src/utils/RelativePosition.js +0 -301
  625. package/dist/crdt/vendor/yjs/src/utils/UndoManager.js +0 -554
  626. package/dist/crdt/vendor/yjs/src/utils/YEvent.js +0 -158
  627. package/dist/crdt/vendor/yjs/src/utils/meta.js +0 -74
  628. package/dist/crdt/vendor/yjs/src/utils/renderer-helpers.js +0 -186
  629. package/dist/crdt/vendor/yjs/src/utils/schemas.js +0 -3
  630. package/dist/edytor.utils.d.ts +0 -50
  631. package/dist/edytor.utils.js +0 -67
  632. package/dist/plugins/blockMenu/BlockMenu.svelte +0 -335
  633. package/dist/plugins/blockMenu/BlockMenu.svelte.d.ts +0 -9
  634. package/dist/plugins/find/FindBar.svelte +0 -170
  635. package/dist/plugins/find/FindBar.svelte.d.ts +0 -9
  636. package/dist/plugins/find/FindHighlights.svelte +0 -75
  637. package/dist/plugins/find/FindHighlights.svelte.d.ts +0 -9
  638. package/dist/plugins/icons.d.ts +0 -2
  639. package/dist/plugins/icons.js +0 -63
  640. package/dist/plugins/image/ImageEmpty.svelte +0 -93
  641. package/dist/plugins/image/ImageEmpty.svelte.d.ts +0 -15
  642. package/dist/plugins/image/empty.svelte.d.ts +0 -56
  643. package/dist/plugins/image/empty.svelte.js +0 -83
  644. package/dist/plugins/keepInView.d.ts +0 -4
  645. package/dist/plugins/keepInView.js +0 -6
  646. package/dist/plugins/media/UrlPasteMenu.svelte +0 -92
  647. package/dist/plugins/media/UrlPasteMenu.svelte.d.ts +0 -9
  648. package/dist/plugins/richtext/CalloutIconMenu.svelte +0 -98
  649. package/dist/plugins/richtext/CalloutIconMenu.svelte.d.ts +0 -9
  650. package/dist/plugins/richtext/labels.d.ts +0 -9
  651. package/dist/plugins/richtext/labels.js +0 -7
  652. package/dist/plugins/slashMenu/SlashMenu.svelte +0 -276
  653. package/dist/plugins/slashMenu/SlashMenu.svelte.d.ts +0 -11
  654. package/dist/plugins/table/dragPreview.d.ts +0 -29
  655. package/dist/plugins/table/dragPreview.js +0 -103
  656. package/dist/plugins/toolbar/LinkCard.svelte +0 -122
  657. package/dist/plugins/toolbar/LinkCard.svelte.d.ts +0 -9
  658. package/dist/plugins/toolbar/Toolbar.svelte +0 -349
  659. package/dist/plugins/toolbar/Toolbar.svelte.d.ts +0 -9
  660. package/dist/plugins/triggers/TriggerMenu.svelte +0 -135
  661. package/dist/plugins/triggers/TriggerMenu.svelte.d.ts +0 -7
  662. package/dist/text/deltas.d.ts +0 -22
  663. package/dist/text/deltas.js +0 -46
  664. package/dist/text/text.utils.d.ts +0 -45
  665. package/dist/text/text.utils.js +0 -199
  666. /package/dist/{plugins/columns → dnd}/stacking.d.ts +0 -0
  667. /package/dist/{plugins/columns → dnd}/stacking.js +0 -0
@@ -1,5 +1,3 @@
1
- import { replacedMark } from '../session/suggestions.svelte.js';
2
- import { colorAttributes } from '../block/colors.js';
3
1
  /** Chromium expands these shorthands into longhands: a longhand of an owned shorthand is owned. */
4
2
  const LONGHANDS = {
5
3
  outline: ['outline-width', 'outline-style', 'outline-color'],
@@ -41,6 +39,9 @@ export const ownedOf = (edytor, element, entry) => {
41
39
  };
42
40
  if (!entry || entry.kind === 'preview')
43
41
  return null;
42
+ // A block's: what its render owns (`Block.svelte`), one reading.
43
+ if (entry.owned)
44
+ return entry.owned();
44
45
  const { block } = entry;
45
46
  if (entry.kind === 'mark') {
46
47
  const name = entry.name ?? null;
@@ -73,30 +74,6 @@ export const ownedOf = (edytor, element, entry) => {
73
74
  style: {}
74
75
  };
75
76
  }
76
- const cell = edytor.cells?.get(block);
77
- const isVoid = Boolean(cell && edytor.definitionOf(cell.type).void);
78
- if (entry.kind === 'block') {
79
- const handle = edytor.idToBlock.block(block);
80
- const { selectedBlocks, focusedBlocks } = edytor.selection;
81
- const colors = colorAttributes(cell?.data);
82
- return {
83
- strict: false,
84
- owned: {
85
- 'data-edytor-block': 'true',
86
- 'data-edytor-color': colors['data-edytor-color'] ?? null,
87
- 'data-edytor-background': colors['data-edytor-background'] ?? null,
88
- 'data-edytor-id': block,
89
- 'data-edytor-type': cell?.type ?? null,
90
- 'data-edytor-void': isVoid ? 'true' : null,
91
- 'data-edytor-selected': selectedBlocks.has(handle) ? 'true' : null,
92
- 'data-edytor-focused': focusedBlocks.has(handle) ? 'true' : null,
93
- 'data-edytor-suggestion-replaced': replacedMark(edytor.suggestions.at(block)),
94
- dir: blockDir(ownText(cell?.runs ?? [])),
95
- contenteditable: isVoid ? 'false' : null
96
- },
97
- style: isVoid ? { 'user-select': 'none' } : {}
98
- };
99
- }
100
77
  const text = edytor.nodeToText.get(element);
101
78
  const voided = insideVoid(edytor, block);
102
79
  return {
@@ -70,6 +70,11 @@ export type Part = Segment | AtomPart;
70
70
  * with a segment (an empty content is one empty `start` segment).
71
71
  */
72
72
  export declare const partsOf: (runs: readonly ContentRun[]) => readonly Part[];
73
+ /** Whether a view renders mark `name` (its record has a tag or a snippet): an unknown mark renders its text only. */
74
+ export declare const rendersMark: (marks: ReadonlyMap<string, {
75
+ tag?: unknown;
76
+ snippet?: unknown;
77
+ }>, name: string) => boolean;
73
78
  export type RenderDelta = {
74
79
  readonly text: string;
75
80
  /** Mark entries in nesting order (the first run's order when runs merge). */
@@ -171,6 +171,11 @@ export const partsOf = (runs) => {
171
171
  partsMemo.set(runs, Object.freeze(parts));
172
172
  return parts;
173
173
  };
174
+ /** Whether a view renders mark `name` (its record has a tag or a snippet): an unknown mark renders its text only. */
175
+ export const rendersMark = (marks, name) => {
176
+ const mark = marks.get(name);
177
+ return Boolean(mark?.tag || mark?.snippet);
178
+ };
174
179
  /** Mark payloads compare by canonical value: key-sorted, `undefined` values dropped. */
175
180
  const marksKey = (marks) => marks
176
181
  ? JSON.stringify(Object.entries(marks)
@@ -26,7 +26,7 @@ export declare const sameLine: (a: DOMRect, b: DOMRect) => boolean;
26
26
  export declare const onOneLine: (a: {
27
27
  text: Text;
28
28
  offset: number;
29
- }, b: {
29
+ } | null, b: {
30
30
  text: Text;
31
31
  offset: number;
32
- }) => boolean | null;
32
+ } | null) => boolean | null;
@@ -38,6 +38,6 @@ export const sameLine = (a, b) => Math.abs(a.top + a.height / 2 - (b.top + b.hei
38
38
  * text).
39
39
  */
40
40
  export const onOneLine = (a, b) => {
41
- const [x, y] = [caretBox(a.text, a.offset, false), caretBox(b.text, b.offset, false)];
41
+ const [x, y] = [a && caretBox(a.text, a.offset, false), b && caretBox(b.text, b.offset, false)];
42
42
  return x && y ? sameLine(x, y) : null;
43
43
  };
@@ -1,22 +1,7 @@
1
- import type { YTransaction } from '../crdt/index.js';
2
1
  import type { Edytor } from '../edytor.svelte.js';
3
2
  import type { Text } from '../text/text.svelte.js';
4
- import { type Kind } from './attributes.js';
5
- import type { Patched, Replaced } from './cells.js';
6
- export type Verdict = 'adopt' | 'invert' | 'defer';
7
- /** Where an adopted edit lands: the block and offset its anchor resolves to now. */
8
- export type Place = {
9
- block: string;
10
- at: number;
11
- remove: number;
12
- insert: string;
13
- };
14
- export type Finding = {
15
- block: string | null;
16
- verdict: Verdict;
17
- why: string;
18
- place?: Place;
19
- };
3
+ import { type Kind, type Owned } from './attributes.js';
4
+ import { type Patched, type Replaced } from './cells.js';
20
5
  export declare class SurfaceObserver {
21
6
  #private;
22
7
  private edytor;
@@ -28,7 +13,7 @@ export declare class SurfaceObserver {
28
13
  /** Observe `root` (the host): records name what to compare. */
29
14
  attach: (root: HTMLElement) => () => void;
30
15
  /** Register an element the core rendered (an attachment); returns its release. */
31
- register: (node: Element, kind: Kind, block: string, name?: string) => () => void;
16
+ register: (node: Element, kind: Kind, block: string, name?: string, owned?: () => Owned) => () => void;
32
17
  /** The render anchor (`Edytor.svelte`): a registered child of the strict root. */
33
18
  anchor: (node: HTMLElement) => {
34
19
  destroy: () => void;
@@ -45,8 +30,6 @@ export declare class SurfaceObserver {
45
30
  signal: () => undefined;
46
31
  /** Records the observer has not compared yet: the DOM may differ from what the cells rendered. */
47
32
  pending: () => boolean;
48
- /** Before a transaction: pending records name their contents while the model equals the render. */
49
- before: (transaction: YTransaction) => void;
50
33
  /**
51
34
  * Compare and act now (an `input` event, a composition's end, a context
52
35
  * menu): the contents the last flush rendered, not those waiting for one.
@@ -36,10 +36,12 @@
36
36
  import { tick, untrack } from 'svelte';
37
37
  import { diffText } from '../utils/diffText.js';
38
38
  import { jsonEquals } from '../utils/json.js';
39
- import { activeMarks } from '../session/editing/text.js';
39
+ import { activeMarks, marksForInsertion } from '../session/editing/text.js';
40
40
  import { INTENTS } from '../session/attempt.js';
41
41
  import { getCollapsedDomTextSelection, handleNativeLineBreakTextValue, readDomText } from '../events/onInput.js';
42
42
  import { diverges, heal, ownedOf } from './attributes.js';
43
+ import { getTextContentOffsetAtPoint } from '../events/domTextOffset.js';
44
+ import { rendersMark } from './cells.js';
43
45
  const ZWSP = /\u200B/g;
44
46
  const ATOM = '\uFFFC';
45
47
  /** Attributes that claim a core element's identity: never on an unregistered element. */
@@ -90,12 +92,8 @@ const caretIn = (nodes) => {
90
92
  return undefined;
91
93
  let offset = 0;
92
94
  for (const node of nodes) {
93
- if (node === anchor || node.contains(anchor)) {
94
- const range = node.ownerDocument.createRange();
95
- range.selectNodeContents(node);
96
- range.setEnd(anchor, selection.anchorOffset);
97
- return offset + range.toString().length;
98
- }
95
+ if (node.contains(anchor))
96
+ return offset + getTextContentOffsetAtPoint(node, anchor, selection.anchorOffset);
99
97
  offset += node.textContent?.length ?? 0;
100
98
  }
101
99
  return undefined;
@@ -131,6 +129,7 @@ export class SurfaceObserver {
131
129
  /** Of those, the ones a commit re-rendered (a remount discards its DOM: never snapshotted). */
132
130
  #rerendered = new Set();
133
131
  #bases = new Map();
132
+ /** A snapshotted edit: where it lands, or the verdict an expectation gave it. */
134
133
  #snapshots = new Map();
135
134
  /** Divergence a model-owned attempt's drift window may still repair: compared once it closed. */
136
135
  #waiting = new Set();
@@ -148,8 +147,6 @@ export class SurfaceObserver {
148
147
  }
149
148
  /** Observe `root` (the host): records name what to compare. */
150
149
  attach = (root) => {
151
- if (typeof MutationObserver === 'undefined')
152
- return () => { };
153
150
  const mo = (this.#mo = new MutationObserver((records) => {
154
151
  records.forEach(this.#intake);
155
152
  this.signal();
@@ -171,8 +168,8 @@ export class SurfaceObserver {
171
168
  };
172
169
  };
173
170
  /** Register an element the core rendered (an attachment); returns its release. */
174
- register = (node, kind, block, name) => {
175
- this.#registry.set(node, { kind, block, name });
171
+ register = (node, kind, block, name, owned) => {
172
+ this.#registry.set(node, { kind, block, name, owned });
176
173
  if (kind === 'block')
177
174
  this.#blocks.set(block, node);
178
175
  else if (kind !== 'anchor' && kind !== 'preview') {
@@ -222,12 +219,6 @@ export class SurfaceObserver {
222
219
  this.signal();
223
220
  return this.#dirty.size > 0 || this.#removed.length > 0;
224
221
  };
225
- /** Before a transaction: pending records name their contents while the model equals the render. */
226
- before = (transaction) => {
227
- void transaction;
228
- if (this.#take())
229
- this.signal();
230
- };
231
222
  /**
232
223
  * Compare and act now (an `input` event, a composition's end, a context
233
224
  * menu): the contents the last flush rendered, not those waiting for one.
@@ -411,21 +402,15 @@ export class SurfaceObserver {
411
402
  if (!dom || !cell || dom.text === base.text || dom.text === textOf(cell))
412
403
  continue;
413
404
  // An expectation claims the edit, or it is placed through the anchor minted at it.
414
- const claimed = this.#divergence(id);
405
+ const verdict = this.#divergence(id);
415
406
  // An edit the window defers is drift: the flush's render restores the cell.
416
- if (claimed.verdict === 'defer')
417
- claimed.verdict = 'invert';
418
- if (claimed.verdict !== 'adopt' || claimed.why === 'attempt') {
419
- this.#snapshots.set(id, claimed);
407
+ if (verdict !== 'adopt') {
408
+ this.#snapshots.set(id, verdict === 'defer' ? 'invert' : verdict);
420
409
  continue;
421
410
  }
422
411
  const change = diffText(base.text, dom.text);
423
- this.#snapshots.set(id, {
424
- block: id,
425
- verdict: 'adopt',
426
- why: 'snapshot',
427
- place: { ...change, ...this.#place(id, base, dom.text, change.at, textOf(cell)) }
428
- });
412
+ const place = this.#place(id, base, dom.text, change.at, textOf(cell));
413
+ this.#snapshots.set(id, { ...change, ...place });
429
414
  }
430
415
  };
431
416
  /** The live composition host's block. */
@@ -494,14 +479,14 @@ export class SurfaceObserver {
494
479
  }
495
480
  if (this.#fresh) {
496
481
  this.#fresh = false;
497
- void settle(work).then(edytor.projector.recordsChanged);
482
+ void settle(work).then(edytor.projector.inputHandled);
498
483
  }
499
484
  return work;
500
485
  };
501
486
  /** A content differs from its cell (text, structure or a missing element). */
502
487
  #diverges = (id) => {
503
488
  if (id === null)
504
- return this.#root() !== null;
489
+ return this.#rootDiverges();
505
490
  const cell = this.edytor.cells?.get(id);
506
491
  const dom = cell && id !== this.#host && this.#read(id);
507
492
  return Boolean(dom && (dom.broken || dom.text !== textOf(cell) || this.#shape(id)));
@@ -524,9 +509,9 @@ export class SurfaceObserver {
524
509
  if (snapshot) {
525
510
  // Compared again at the next pass, once the edit is resolved.
526
511
  this.#dirty.add(id);
527
- if (snapshot.verdict === 'adopt' && snapshot.place)
528
- return [this.#adoptAt(snapshot.place)];
529
- if (snapshot.verdict === 'invert')
512
+ if (typeof snapshot === 'object')
513
+ return [this.#adoptAt(snapshot)];
514
+ if (snapshot === 'invert')
530
515
  this.#invert(id);
531
516
  return [];
532
517
  }
@@ -542,12 +527,12 @@ export class SurfaceObserver {
542
527
  this.#invert(id);
543
528
  return [];
544
529
  }
545
- const { verdict } = this.#divergence(id);
530
+ const verdict = this.#divergence(id);
546
531
  if (verdict === 'defer')
547
532
  this.#waiting.add(id);
548
533
  if (verdict === 'invert')
549
534
  this.#invert(id);
550
- if (verdict !== 'adopt')
535
+ if (verdict === 'defer' || verdict === 'invert')
551
536
  return [];
552
537
  return this.#adoptContent(id);
553
538
  };
@@ -558,24 +543,19 @@ export class SurfaceObserver {
558
543
  */
559
544
  #divergence = (id) => {
560
545
  const { attempts, composition } = this.edytor;
561
- if (composition.tail()?.parent.id === id)
562
- return { block: id, verdict: 'invert', why: 'tail' };
563
- // A composition with no target writes nothing: what its IME wrote is drift.
564
- if (composition.targetless)
565
- return { block: id, verdict: 'invert', why: 'tail' };
566
- // A structural key waiting for its `beforeinput` or deadline owns the drift it causes.
567
- if (attempts.key)
568
- return { block: id, verdict: 'invert', why: 'key' };
546
+ // The composition's tail; a composition with no target writes nothing: what its
547
+ // IME wrote is drift; a structural key waiting for its `beforeinput` or
548
+ // deadline owns the drift it causes.
549
+ if (composition.tail()?.parent.id === id || composition.targetless || attempts.key)
550
+ return 'invert';
569
551
  for (const text of this.#texts(id)) {
570
552
  if (attempts.on(text))
571
- return { block: id, verdict: 'adopt', why: 'attempt' };
553
+ return 'attempt';
572
554
  if (attempts.drifting(text))
573
- return { block: id, verdict: 'invert', why: 'drift' };
555
+ return 'invert';
574
556
  }
575
557
  // A model-owned attempt's window is open: its drift may land around its host (a merge target).
576
- if (attempts.busy)
577
- return { block: id, verdict: 'defer', why: 'window' };
578
- return { block: id, verdict: 'adopt', why: 'location' };
558
+ return attempts.busy ? 'defer' : 'adopt';
579
559
  };
580
560
  /**
581
561
  * Restore the current cell (never the IME's host): the exact text when the
@@ -704,10 +684,7 @@ export class SurfaceObserver {
704
684
  const node = nodes[i];
705
685
  const chain = delta.marks
706
686
  .map(([name]) => name)
707
- .filter((name) => {
708
- const mark = this.edytor.marks.get(name);
709
- return mark?.snippet || mark?.tag;
710
- });
687
+ .filter((name) => rendersMark(this.edytor.marks, name));
711
688
  if (!chain.length) {
712
689
  if (node.nodeType !== Node.TEXT_NODE)
713
690
  return 'foreign-child';
@@ -727,11 +704,11 @@ export class SurfaceObserver {
727
704
  }
728
705
  return null;
729
706
  };
730
- /** The root's children: registered block elements in cell order, the anchor, Svelte's anchors. */
731
- #root = () => {
707
+ /** The root's children differ from its registered block elements in cell order, the anchor, Svelte's anchors. */
708
+ #rootDiverges = () => {
732
709
  const { node, cells } = this.edytor;
733
710
  if (!node || !cells)
734
- return null;
711
+ return false;
735
712
  const shown = [];
736
713
  for (const child of node.childNodes) {
737
714
  if (isAnchor(child))
@@ -740,14 +717,10 @@ export class SurfaceObserver {
740
717
  if (entry?.kind === 'block')
741
718
  shown.push(entry.block);
742
719
  else if (entry?.kind !== 'anchor' && entry?.kind !== 'preview')
743
- return { block: null, verdict: 'invert', why: 'root-child' };
720
+ return true;
744
721
  }
745
- const missing = cells.rootIds.some((id) => this.#blocks.get(id)?.parentNode !== node);
746
- if (missing)
747
- return { block: null, verdict: 'invert', why: 'missing' };
748
- return shown.join() === cells.rootIds.join()
749
- ? null
750
- : { block: null, verdict: 'invert', why: 'root-order' };
722
+ return (cells.rootIds.some((id) => this.#blocks.get(id)?.parentNode !== node) ||
723
+ shown.join() !== cells.rootIds.join());
751
724
  };
752
725
  /**
753
726
  * The root is a strict container: a child it does not render is removed.
@@ -911,7 +884,7 @@ const shownMarks = (text, at) => {
911
884
  };
912
885
  /** The rendered marks the model gives the character at `at` of `text`. */
913
886
  const modelMarks = (edytor, text, at) => Object.keys(activeMarks(text.getMarksAtRange(at, at + 1)[0]?.marks))
914
- .filter((name) => edytor.marks.get(name)?.tag || edytor.marks.get(name)?.snippet)
887
+ .filter((name) => rendersMark(edytor.marks, name))
915
888
  .sort()
916
889
  .join();
917
890
  /**
@@ -937,7 +910,7 @@ export const adopt = async (edytor, text, dom, domCaret, prefer) => {
937
910
  const caret = drifted ? undefined : domCaret;
938
911
  if (attempt)
939
912
  edytor.selection.select(attempt.target);
940
- const { startText, yStart } = edytor.selection.state;
913
+ const { startText, yStart } = edytor.selection.textRange();
941
914
  const grow = value.length - text.length;
942
915
  const back = attempt?.isCollapsed && INTENTS[attempt.inputType]?.dir === 'back';
943
916
  const change = diffText(text.stringContent, value, attempt && startText === text ? yStart + (back ? grow : Math.max(0, grow)) : (prefer ?? caret));
@@ -953,12 +926,16 @@ export const adopt = async (edytor, text, dom, domCaret, prefer) => {
953
926
  const same = removed.every((part) => jsonEquals(activeMarks(part.marks), marks));
954
927
  const shown = insert && shownMarks(text, at);
955
928
  const kind = attempt ? attempt.inputType || (insert ? 'insertText' : 'deleteContent') : null;
956
- edytor.dispatcher.run(kind ?? 'foreignChange', () => insert
957
- ? text.insertText({ value: insert, start: at, end: at + remove })
958
- : text.parent.deleteContentAtRange({
959
- start: [text.index, at],
960
- end: [text.index, at + remove]
961
- }));
929
+ edytor.dispatcher.run(kind ?? 'foreignChange', () => {
930
+ const [id, from] = [text.parent.id, text.segStart + at];
931
+ // A replaced range's common marks; else the view's insertion rule.
932
+ const replaced = remove ? text.getMarksAtRange(at, at + remove) : undefined;
933
+ const marks = replaced && marksForInsertion(text, at, { replaced });
934
+ if (remove)
935
+ edytor.deleteText(id, from, remove);
936
+ if (insert)
937
+ edytor.insertText(id, from, insert, marks);
938
+ });
962
939
  const adopted = text.isInDocument && text.stringContent === value;
963
940
  if (attempt)
964
941
  attempt.phase = adopted ? 'applied' : 'failed';
@@ -979,9 +956,12 @@ export const adopt = async (edytor, text, dom, domCaret, prefer) => {
979
956
  return true;
980
957
  const end = caret ?? (attempt ? at + insert.length : undefined);
981
958
  if (adopted && end !== undefined)
982
- edytor.selection.setAtTextOffset(text, Math.min(end, text.length));
959
+ edytor.selection.selectText(text, Math.min(end, text.length));
983
960
  // A deletion of uniformly marked text keeps its marks pending at the caret.
984
- if (adopted && same && Object.keys(marks).length > 0 && edytor.selection.state.startText === text)
961
+ if (adopted &&
962
+ same &&
963
+ Object.keys(marks).length > 0 &&
964
+ edytor.selection.textRange().startText === text)
985
965
  edytor.selection.stage(marks);
986
966
  return true;
987
967
  };
@@ -18,14 +18,52 @@ import { type Component } from 'svelte';
18
18
  * `content-visibility: auto` skips it off screen, or it is not
19
19
  * displayed. Its geometry is not computed — reading it would force a layout
20
20
  * of that subtree, every frame a measure asks — so measures read its nearest
21
- * rendered ancestor instead (`checkVisibility`; where it is missing, every
22
- * node counts as rendered).
21
+ * rendered ancestor instead (`checkVisibility`).
23
22
  */
24
23
  export declare const renderSkipped: (node: Element) => boolean;
25
24
  /** `node`, or its nearest ancestor whose rendering the browser does not skip. */
26
25
  export declare const rendered: (node: Element) => Element;
27
26
  /** Reads layout with the layer's origin; returns the writes to apply after every read. */
28
27
  export type Measure = (origin: DOMRect) => (() => void) | void;
28
+ /**
29
+ * The run of `count` items in vertical order (a parent's children, the
30
+ * top-level blocks) whose boxes (`boxAt`, client px) meet the band from
31
+ * `top` to `bottom`, edges included unless `strict`: two binary searches,
32
+ * O(log n) boxes read, an item without a box counted as above the band.
33
+ * Answers its first index and the index after its last.
34
+ */
35
+ export declare const bandRun: (count: number, boxAt: (index: number) => DOMRect | undefined, top: number, bottom: number, strict?: boolean) => [number, number];
36
+ /** A box relative to the layer. */
37
+ export type LayerBox = {
38
+ x: number;
39
+ y: number;
40
+ width: number;
41
+ height: number;
42
+ };
43
+ /** `element`'s box relative to the layer (`origin`), `null` when it is not in the page. */
44
+ export declare const layerBox: (element: Element | null | undefined, origin: DOMRect) => LayerBox | null;
45
+ /** Whether two measures hold the same values (`a`'s): a state is written only when one moved. */
46
+ export declare const sameValues: <T extends object>(a: T | null, b: T | null) => boolean;
47
+ /** A mounted host whose chrome places itself layer-relative: pinned at the layer's origin. */
48
+ export declare const pin: (host: HTMLElement) => CSSStyleDeclaration & {
49
+ position: string;
50
+ left: string;
51
+ top: string;
52
+ };
53
+ /**
54
+ * A popup's place near `rect` (client px), 8px inside the viewport: `gap`
55
+ * below it, above it when there is no room below (`above`: above first,
56
+ * below when there is no room above), its left edge at `rect`'s or
57
+ * centered on it (`center`). Measured now from `box` (the host's first
58
+ * element by default; `fallback` before it has a size), written by the
59
+ * answer (the overlay's read-then-write pass).
60
+ */
61
+ export declare const placeNear: (host: HTMLElement, rect: DOMRect, fallback: readonly [width: number, height: number], { gap, above, center, box }?: {
62
+ gap?: number;
63
+ above?: boolean;
64
+ center?: boolean;
65
+ box?: Element | null;
66
+ }) => (() => void) | void;
29
67
  export declare class Overlay {
30
68
  #private;
31
69
  /** The layer: absolutely positioned at its static place right after the host. */
@@ -36,7 +74,7 @@ export declare class Overlay {
36
74
  * font or a stylesheet that loads, a kind's markup drawn later (KaTeX, an
37
75
  * image), a host whose height its page fixes — moves the blocks under the
38
76
  * chrome. Watched while it is a top-level block near the viewport
39
- * (`#watch`): a nested block's resize resizes its top-level block, and a
77
+ * (`near`): a nested block's resize resizes its top-level block, and a
40
78
  * block farther away moves no chrome in view (one above it scrolls the
41
79
  * page, by scroll anchoring, or resizes the host). Answers the release.
42
80
  */