edytor 1.0.0-rc.2 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (653) hide show
  1. package/README.md +65 -25
  2. package/dist/block/block.svelte.d.ts +10 -85
  3. package/dist/block/block.svelte.js +47 -141
  4. package/dist/block/colors.d.ts +0 -9
  5. package/dist/block/colors.js +1 -18
  6. package/dist/block/contentRange.d.ts +5 -1
  7. package/dist/block/contentRange.js +15 -16
  8. package/dist/block/inlineBlock.svelte.d.ts +8 -10
  9. package/dist/block/inlineBlock.svelte.js +14 -22
  10. package/dist/clipboard/createClipboardFragment.js +22 -64
  11. package/dist/clipboard/fragmentData.js +17 -42
  12. package/dist/clipboard/htmlFlow.d.ts +6 -1
  13. package/dist/clipboard/htmlFlow.js +26 -13
  14. package/dist/clipboard/insertClipboardFragment.js +5 -4
  15. package/dist/clipboard/moveText.js +16 -8
  16. package/dist/clipboard/serializeClipboardFragment.d.ts +2 -0
  17. package/dist/clipboard/serializeClipboardFragment.js +32 -28
  18. package/dist/cloudflare/DocumentRoom.d.ts +22 -17
  19. package/dist/cloudflare/DocumentRoom.js +10 -5
  20. package/dist/cloudflare/index.d.ts +1 -1
  21. package/dist/cloudflare/index.js +1 -1
  22. package/dist/cloudflare/move.d.ts +1 -18
  23. package/dist/cloudflare/move.js +2 -48
  24. package/dist/cloudflare/room/admission.d.ts +1 -60
  25. package/dist/cloudflare/room/admission.js +25 -29
  26. package/dist/cloudflare/room/comments.d.ts +1 -3
  27. package/dist/cloudflare/room/comments.js +6 -6
  28. package/dist/cloudflare/room/context.d.ts +20 -82
  29. package/dist/cloudflare/room/context.js +8 -8
  30. package/dist/cloudflare/room/forged.d.ts +1 -1
  31. package/dist/cloudflare/room/forged.js +2 -12
  32. package/dist/cloudflare/room/frames.d.ts +1 -1
  33. package/dist/cloudflare/room/frames.js +1 -1
  34. package/dist/cloudflare/room/history.d.ts +1 -25
  35. package/dist/cloudflare/room/history.js +39 -54
  36. package/dist/cloudflare/room/moves.d.ts +1 -13
  37. package/dist/cloudflare/room/moves.js +33 -57
  38. package/dist/cloudflare/room/presence.d.ts +1 -11
  39. package/dist/cloudflare/room/presence.js +4 -4
  40. package/dist/cloudflare/room/purge.d.ts +1 -2
  41. package/dist/cloudflare/room/purge.js +2 -2
  42. package/dist/cloudflare/room/replicas.d.ts +1 -7
  43. package/dist/cloudflare/room/replicas.js +2 -2
  44. package/dist/cloudflare/room/storage.d.ts +9 -30
  45. package/dist/cloudflare/room/storage.js +52 -104
  46. package/dist/cloudflare/room/updates.d.ts +4 -4
  47. package/dist/cloudflare/room/updates.js +17 -24
  48. package/dist/cloudflare/room/validation.d.ts +1 -5
  49. package/dist/cloudflare/room/validation.js +16 -37
  50. package/dist/collaboration/RemoteSelections.svelte +13 -17
  51. package/dist/collaboration/comments/client.d.ts +2 -2
  52. package/dist/collaboration/comments/client.js +1 -1
  53. package/dist/collaboration/history/index.d.ts +5 -5
  54. package/dist/collaboration/history/index.js +5 -5
  55. package/dist/collaboration/history/panel.svelte.d.ts +91 -0
  56. package/dist/collaboration/history/panel.svelte.js +223 -0
  57. package/dist/collaboration/providers.d.ts +12 -3
  58. package/dist/collaboration/providers.js +5 -4
  59. package/dist/components/Block.svelte +160 -119
  60. package/dist/components/Block.svelte.d.ts +8 -3
  61. package/dist/components/Content.svelte +91 -44
  62. package/dist/components/CustomMark.svelte +46 -0
  63. package/dist/components/CustomMark.svelte.d.ts +11 -0
  64. package/dist/components/Edytor.svelte +80 -95
  65. package/dist/components/Edytor.svelte.d.ts +8 -12
  66. package/dist/components/InlineBlock.svelte +4 -9
  67. package/dist/components/Mark.svelte +46 -35
  68. package/dist/components/Mark.svelte.d.ts +7 -0
  69. package/dist/components/Ranges.svelte +96 -0
  70. package/dist/components/Ranges.svelte.d.ts +19 -0
  71. package/dist/components/Suggestion.svelte +3 -2
  72. package/dist/components/Text.svelte +48 -14
  73. package/dist/components/Text.svelte.d.ts +1 -1
  74. package/dist/crdt/admission.d.ts +2 -9
  75. package/dist/crdt/admission.js +3 -9
  76. package/dist/crdt/attribution/attribution.d.ts +11 -72
  77. package/dist/crdt/attribution/attribution.js +5 -52
  78. package/dist/crdt/attribution/block.d.ts +0 -78
  79. package/dist/crdt/attribution/block.js +1 -144
  80. package/dist/crdt/data.d.ts +8 -13
  81. package/dist/crdt/data.js +30 -70
  82. package/dist/crdt/doc/anchors.js +4 -4
  83. package/dist/crdt/doc/content.d.ts +5 -1
  84. package/dist/crdt/doc/content.js +3 -1
  85. package/dist/crdt/doc/delete.d.ts +1 -0
  86. package/dist/crdt/doc/funnel.d.ts +0 -23
  87. package/dist/crdt/doc/funnel.js +34 -85
  88. package/dist/crdt/doc/gate.d.ts +8 -9
  89. package/dist/crdt/doc/gate.js +7 -17
  90. package/dist/crdt/doc/history.d.ts +87 -14
  91. package/dist/crdt/doc/history.js +334 -149
  92. package/dist/crdt/doc/layout.d.ts +0 -1
  93. package/dist/crdt/doc/layout.js +2 -3
  94. package/dist/crdt/doc/meta.d.ts +4 -4
  95. package/dist/crdt/doc/meta.js +10 -21
  96. package/dist/crdt/doc/moves.d.ts +4 -4
  97. package/dist/crdt/doc/moves.js +5 -5
  98. package/dist/crdt/doc/plan.d.ts +2 -0
  99. package/dist/crdt/doc/plan.js +2 -0
  100. package/dist/crdt/doc/reads.d.ts +1 -5
  101. package/dist/crdt/doc/reads.js +38 -49
  102. package/dist/crdt/doc/seed.d.ts +15 -6
  103. package/dist/crdt/doc/seed.js +27 -26
  104. package/dist/crdt/doc/split-merge.d.ts +1 -3
  105. package/dist/crdt/doc/split-merge.js +4 -5
  106. package/dist/crdt/doc/steps.d.ts +3 -7
  107. package/dist/crdt/doc/steps.js +20 -9
  108. package/dist/crdt/doc/types.d.ts +0 -10
  109. package/dist/crdt/document.d.ts +24 -115
  110. package/dist/crdt/document.js +207 -305
  111. package/dist/crdt/edytor-doc.d.ts +671 -90
  112. package/dist/crdt/edytor-doc.js +73 -149
  113. package/dist/crdt/engine-api.d.ts +15 -47
  114. package/dist/crdt/engine.d.ts +7 -17
  115. package/dist/crdt/engine.js +9 -19
  116. package/dist/crdt/flow.d.ts +9 -37
  117. package/dist/crdt/flow.js +260 -238
  118. package/dist/crdt/index.d.ts +26 -85
  119. package/dist/crdt/index.js +21 -47
  120. package/dist/crdt/operations.d.ts +24 -33
  121. package/dist/crdt/operations.js +7 -17
  122. package/dist/crdt/placement/display.d.ts +0 -2
  123. package/dist/crdt/placement/display.js +0 -15
  124. package/dist/crdt/placement/model.d.ts +160 -12
  125. package/dist/crdt/placement/model.js +413 -414
  126. package/dist/crdt/placement/rank.d.ts +1 -5
  127. package/dist/crdt/placement/rank.js +28 -38
  128. package/dist/crdt/protocol.d.ts +4 -5
  129. package/dist/crdt/protocol.js +3 -4
  130. package/dist/crdt/protocols/awareness.d.ts +3 -7
  131. package/dist/crdt/protocols/awareness.js +17 -33
  132. package/dist/crdt/protocols/envelope.d.ts +9 -29
  133. package/dist/crdt/protocols/envelope.js +8 -25
  134. package/dist/crdt/protocols/sync.d.ts +15 -30
  135. package/dist/crdt/protocols/sync.js +27 -89
  136. package/dist/crdt/providers/bound.d.ts +3 -1
  137. package/dist/crdt/providers/bound.js +3 -1
  138. package/dist/crdt/providers/container.d.ts +11 -17
  139. package/dist/crdt/providers/container.js +39 -27
  140. package/dist/crdt/providers/index.d.ts +34 -6
  141. package/dist/crdt/providers/index.js +106 -111
  142. package/dist/crdt/providers/indexeddb.d.ts +2 -12
  143. package/dist/crdt/providers/indexeddb.js +29 -90
  144. package/dist/crdt/providers/room.d.ts +58 -2
  145. package/dist/crdt/providers/room.js +38 -21
  146. package/dist/crdt/providers/websocket.d.ts +1 -1
  147. package/dist/crdt/providers/websocket.js +3 -4
  148. package/dist/crdt/purge.d.ts +2 -2
  149. package/dist/crdt/purge.js +69 -6
  150. package/dist/crdt/rangeDelete.d.ts +4 -42
  151. package/dist/crdt/rangeDelete.js +7 -6
  152. package/dist/crdt/restore.d.ts +21 -1
  153. package/dist/crdt/restore.js +54 -59
  154. package/dist/crdt/schema.d.ts +2 -2
  155. package/dist/crdt/schema.js +4 -5
  156. package/dist/crdt/semantics.d.ts +10 -15
  157. package/dist/crdt/semantics.js +22 -21
  158. package/dist/crdt/storage.d.ts +7 -13
  159. package/dist/crdt/storage.js +10 -24
  160. package/dist/crdt/structs.d.ts +42 -47
  161. package/dist/crdt/structs.js +76 -67
  162. package/dist/crdt/tables.d.ts +9 -0
  163. package/dist/crdt/tables.js +20 -0
  164. package/dist/crdt/text/delete-index.d.ts +0 -13
  165. package/dist/crdt/text/delete-index.js +7 -14
  166. package/dist/crdt/text/deletes.d.ts +9 -22
  167. package/dist/crdt/text/deletes.js +11 -74
  168. package/dist/crdt/text/index/cache.js +3 -3
  169. package/dist/crdt/text/index/fold.d.ts +1 -2
  170. package/dist/crdt/text/index/fold.js +15 -10
  171. package/dist/crdt/text/index/layout.d.ts +0 -10
  172. package/dist/crdt/text/index/layout.js +6 -20
  173. package/dist/crdt/text/index/records.js +2 -1
  174. package/dist/crdt/text/index/report.js +5 -6
  175. package/dist/crdt/text/index/shared.d.ts +11 -4
  176. package/dist/crdt/text/index/shared.js +8 -7
  177. package/dist/crdt/text/index/state.d.ts +3 -33
  178. package/dist/crdt/text/index/state.js +2 -4
  179. package/dist/crdt/text/model.d.ts +82 -2
  180. package/dist/crdt/text/model.js +344 -354
  181. package/dist/crdt/text/rows.d.ts +0 -2
  182. package/dist/crdt/text/rows.js +0 -11
  183. package/dist/crdt/text/runs.d.ts +6 -3
  184. package/dist/crdt/text/runs.js +132 -137
  185. package/dist/crdt/text/streams.d.ts +1 -1
  186. package/dist/crdt/text/streams.js +1 -1
  187. package/dist/crdt/vendor/yjs/API-NOTES.md +25 -8
  188. package/dist/crdt/vendor/yjs/UPSTREAM.md +288 -8
  189. package/dist/crdt/vendor/yjs/dts/global.d.ts +5 -26
  190. package/dist/crdt/vendor/yjs/dts/index.d.ts +10 -15
  191. package/dist/crdt/vendor/yjs/dts/structs/AbstractStruct.d.ts +2 -2
  192. package/dist/crdt/vendor/yjs/dts/structs/Item.d.ts +14 -219
  193. package/dist/crdt/vendor/yjs/dts/structs/Skip.d.ts +2 -2
  194. package/dist/crdt/vendor/yjs/dts/utils/BlockSet.d.ts +2 -2
  195. package/dist/crdt/vendor/yjs/dts/utils/Doc.d.ts +12 -123
  196. package/dist/crdt/vendor/yjs/dts/utils/ID.d.ts +1 -1
  197. package/dist/crdt/vendor/yjs/dts/utils/RangeCursor.d.ts +37 -58
  198. package/dist/crdt/vendor/yjs/dts/utils/Transaction.d.ts +3 -78
  199. package/dist/crdt/vendor/yjs/dts/utils/UpdateDecoder.d.ts +2 -81
  200. package/dist/crdt/vendor/yjs/dts/utils/UpdateEncoder.d.ts +2 -74
  201. package/dist/crdt/vendor/yjs/dts/utils/encoding-helpers.d.ts +4 -4
  202. package/dist/crdt/vendor/yjs/dts/utils/encoding.d.ts +6 -18
  203. package/dist/crdt/vendor/yjs/dts/utils/ids.d.ts +12 -237
  204. package/dist/crdt/vendor/yjs/dts/utils/positions.d.ts +5 -0
  205. package/dist/crdt/vendor/yjs/dts/utils/redo.d.ts +3 -0
  206. package/dist/crdt/vendor/yjs/dts/utils/transaction-helpers.d.ts +1 -3
  207. package/dist/crdt/vendor/yjs/dts/utils/updates.d.ts +6 -23
  208. package/dist/crdt/vendor/yjs/dts/ynode.d.ts +73 -498
  209. package/dist/crdt/vendor/yjs/global.d.ts +5 -26
  210. package/dist/crdt/vendor/yjs/src/index.js +11 -25
  211. package/dist/crdt/vendor/yjs/src/structs/AbstractStruct.js +1 -1
  212. package/dist/crdt/vendor/yjs/src/structs/GC.js +1 -1
  213. package/dist/crdt/vendor/yjs/src/structs/Item.js +10 -372
  214. package/dist/crdt/vendor/yjs/src/structs/Skip.js +1 -1
  215. package/dist/crdt/vendor/yjs/src/utils/BlockSet.js +2 -2
  216. package/dist/crdt/vendor/yjs/src/utils/Doc.js +14 -170
  217. package/dist/crdt/vendor/yjs/src/utils/ID.js +1 -1
  218. package/dist/crdt/vendor/yjs/src/utils/RangeCursor.js +61 -128
  219. package/dist/crdt/vendor/yjs/src/utils/StructStore.js +0 -22
  220. package/dist/crdt/vendor/yjs/src/utils/Transaction.js +17 -282
  221. package/dist/crdt/vendor/yjs/src/utils/UpdateDecoder.js +3 -130
  222. package/dist/crdt/vendor/yjs/src/utils/UpdateEncoder.js +2 -132
  223. package/dist/crdt/vendor/yjs/src/utils/encoding-helpers.js +4 -4
  224. package/dist/crdt/vendor/yjs/src/utils/encoding.js +49 -146
  225. package/dist/crdt/vendor/yjs/src/utils/ids.js +23 -900
  226. package/dist/crdt/vendor/yjs/src/utils/positions.js +115 -0
  227. package/dist/crdt/vendor/yjs/src/utils/redo.js +143 -0
  228. package/dist/crdt/vendor/yjs/src/utils/transaction-helpers.js +10 -127
  229. package/dist/crdt/vendor/yjs/src/utils/updates.js +7 -50
  230. package/dist/crdt/vendor/yjs/src/ynode.js +261 -2226
  231. package/dist/{plugins/blockHandles → dnd}/autoScroll.d.ts +2 -1
  232. package/dist/{plugins/blockHandles → dnd}/autoScroll.js +3 -3
  233. package/dist/dnd/pragmatic.d.ts +4 -22
  234. package/dist/dnd/pragmatic.js +7 -26
  235. package/dist/dnd/track.d.ts +14 -0
  236. package/dist/dnd/track.js +55 -0
  237. package/dist/dnd/vendor/pragmatic/UPSTREAM.md +103 -0
  238. package/dist/dnd/vendor/pragmatic/bind-event-listener/LICENSE +21 -0
  239. package/dist/dnd/vendor/pragmatic/bind-event-listener/bind-all.js +46 -0
  240. package/dist/dnd/vendor/pragmatic/bind-event-listener/bind.js +7 -0
  241. package/dist/dnd/vendor/pragmatic/bind-event-listener/index.js +2 -0
  242. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/LICENSE.md +11 -0
  243. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/adapter/element-adapter-native-data-key.js +6 -0
  244. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/adapter/element-adapter.d.ts +57 -0
  245. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/adapter/element-adapter.js +306 -0
  246. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/entry-point/element/adapter.d.ts +8 -0
  247. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/entry-point/element/adapter.js +10 -0
  248. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/entry-point/element/set-custom-native-drag-preview.d.ts +4 -0
  249. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/entry-point/element/set-custom-native-drag-preview.js +6 -0
  250. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/entry-point/types.d.ts +1 -0
  251. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/honey-pot-fix/get-element-from-point-without-honey-pot.js +12 -0
  252. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/honey-pot-fix/honey-pot-data-attribute.js +3 -0
  253. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/honey-pot-fix/is-honey-pot-element.js +4 -0
  254. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/honey-pot-fix/make-honey-pot-fix.js +333 -0
  255. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/internal-types.d.ts +350 -0
  256. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/ledger/dispatch-consumer-event.js +128 -0
  257. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/ledger/lifecycle-manager.js +340 -0
  258. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/ledger/usage-ledger.js +32 -0
  259. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/make-adapter/make-adapter.js +59 -0
  260. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/make-adapter/make-drop-target.js +288 -0
  261. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/make-adapter/make-monitor.js +85 -0
  262. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/public-utils/combine.js +6 -0
  263. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/public-utils/element/custom-native-drag-preview/set-custom-native-drag-preview.d.ts +36 -0
  264. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/public-utils/element/custom-native-drag-preview/set-custom-native-drag-preview.js +153 -0
  265. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/public-utils/element/custom-native-drag-preview/types.d.ts +16 -0
  266. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/public-utils/once.js +13 -0
  267. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/add-attribute.js +7 -0
  268. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/android.js +10 -0
  269. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/changing-window/count-events-for-safari.js +104 -0
  270. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/changing-window/is-from-another-window.js +16 -0
  271. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/changing-window/is-leaving-window-in-safari.js +12 -0
  272. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/changing-window/is-leaving-window.js +55 -0
  273. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/detect-broken-drag.js +48 -0
  274. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/get-input.js +14 -0
  275. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/is-firefox.js +13 -0
  276. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/is-safari.js +19 -0
  277. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/max-z-index.js +3 -0
  278. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/media-types/text-media-type.js +6 -0
  279. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/media-types/url-media-type.js +6 -0
  280. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/popover-reset-styles.js +40 -0
  281. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/supports-popover.js +16 -0
  282. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/LICENSE.md +11 -0
  283. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/entry-point/element.d.ts +4 -0
  284. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/entry-point/element.js +8 -0
  285. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/internal-types.d.ts +50 -0
  286. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/over-element/data-attributes.js +9 -0
  287. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/over-element/get-scroll-by.js +117 -0
  288. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/over-element/make-api.js +90 -0
  289. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/over-element/try-scroll.js +183 -0
  290. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/axis.js +22 -0
  291. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/can-scroll-on-edge.js +17 -0
  292. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/configuration.js +49 -0
  293. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/edges.js +9 -0
  294. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/engagement-history.js +43 -0
  295. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/get-over-element-hitbox.js +50 -0
  296. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/get-percentage-in-range.js +19 -0
  297. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/get-scroll-change.js +106 -0
  298. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/is-axis-allowed.js +3 -0
  299. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/is-within.js +11 -0
  300. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/scheduler.js +104 -0
  301. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/side.js +6 -0
  302. package/dist/dnd/vendor/pragmatic/raf-schd/LICENSE +21 -0
  303. package/dist/dnd/vendor/pragmatic/raf-schd/raf-schd.esm.js +34 -0
  304. package/dist/edytor.svelte.d.ts +34 -64
  305. package/dist/edytor.svelte.js +118 -180
  306. package/dist/events/beforeInputCommands.d.ts +6 -11
  307. package/dist/events/beforeInputCommands.js +189 -184
  308. package/dist/events/beforeInputDeleteCommands.d.ts +20 -1
  309. package/dist/events/beforeInputDeleteCommands.js +153 -204
  310. package/dist/events/domTextOffset.d.ts +9 -9
  311. package/dist/events/domTextOffset.js +20 -48
  312. package/dist/events/events.utils.d.ts +0 -2
  313. package/dist/events/events.utils.js +0 -4
  314. package/dist/events/nativeInteractiveControl.d.ts +13 -13
  315. package/dist/events/nativeInteractiveControl.js +28 -56
  316. package/dist/events/onBeforeInput.d.ts +6 -1
  317. package/dist/events/onBeforeInput.js +207 -331
  318. package/dist/events/onCopy.js +1 -5
  319. package/dist/events/onDrop.d.ts +7 -1
  320. package/dist/events/onDrop.js +33 -72
  321. package/dist/events/onFocus.d.ts +9 -4
  322. package/dist/events/onFocus.js +92 -72
  323. package/dist/events/onInput.d.ts +8 -4
  324. package/dist/events/onInput.js +34 -147
  325. package/dist/events/onKeyDown.js +55 -122
  326. package/dist/events/onPaste.d.ts +13 -1
  327. package/dist/events/onPaste.js +46 -76
  328. package/dist/index.d.ts +10 -13
  329. package/dist/index.js +3 -3
  330. package/dist/kinds.d.ts +4 -6
  331. package/dist/kinds.js +28 -27
  332. package/dist/labels.d.ts +91 -314
  333. package/dist/labels.js +180 -396
  334. package/dist/plugins/Chrome.svelte +29 -0
  335. package/dist/plugins/Chrome.svelte.d.ts +32 -0
  336. package/dist/plugins/Control.svelte +23 -0
  337. package/dist/plugins/Control.svelte.d.ts +30 -0
  338. package/dist/plugins/anchored.svelte.d.ts +47 -0
  339. package/dist/plugins/anchored.svelte.js +73 -0
  340. package/dist/plugins/arrowMove/arrowMove.d.ts +2 -1
  341. package/dist/plugins/arrowMove/arrowMove.js +9 -5
  342. package/dist/plugins/bands.svelte.d.ts +57 -0
  343. package/dist/plugins/bands.svelte.js +95 -0
  344. package/dist/plugins/blockHandles/BlockHandle.svelte +14 -151
  345. package/dist/plugins/blockHandles/BlockHandle.svelte.d.ts +2 -2
  346. package/dist/plugins/blockHandles/BlockHandleController.svelte.d.ts +63 -97
  347. package/dist/plugins/blockHandles/BlockHandleController.svelte.js +247 -268
  348. package/dist/plugins/blockHandles/BlockHandles.svelte +46 -29
  349. package/dist/plugins/blockHandles/BlockHandles.svelte.d.ts +2 -2
  350. package/dist/plugins/blockHandles/blockHandlesPlugin.d.ts +29 -23
  351. package/dist/plugins/blockHandles/blockHandlesPlugin.js +130 -162
  352. package/dist/plugins/blockHandles/dragPreview.d.ts +8 -6
  353. package/dist/plugins/blockHandles/dragPreview.js +20 -17
  354. package/dist/plugins/blockHandles/dropIndicator.js +52 -60
  355. package/dist/plugins/blockHandles/geometry.d.ts +46 -1
  356. package/dist/plugins/blockHandles/geometry.js +51 -4
  357. package/dist/plugins/blockMenu/BlockMenuController.svelte.d.ts +59 -28
  358. package/dist/plugins/blockMenu/BlockMenuController.svelte.js +180 -105
  359. package/dist/plugins/blockMenu/blockMenuPlugin.d.ts +1 -3
  360. package/dist/plugins/blockMenu/blockMenuPlugin.js +12 -29
  361. package/dist/plugins/brand.d.ts +8 -0
  362. package/dist/plugins/brand.js +8 -0
  363. package/dist/plugins/chrome.d.ts +79 -0
  364. package/dist/plugins/chrome.js +87 -0
  365. package/dist/plugins/code/CodeHeader.svelte +12 -58
  366. package/dist/plugins/code/CodeHeader.svelte.d.ts +1 -0
  367. package/dist/plugins/code/CodePlugin.svelte +75 -56
  368. package/dist/plugins/code/CodePlugin.svelte.d.ts +0 -2
  369. package/dist/plugins/code/LanguageMenu.svelte +25 -0
  370. package/dist/plugins/code/LanguageMenu.svelte.d.ts +9 -0
  371. package/dist/plugins/code/code.css +5 -100
  372. package/dist/plugins/code/header.svelte.d.ts +47 -0
  373. package/dist/plugins/code/header.svelte.js +141 -0
  374. package/dist/plugins/code/languageMenu.svelte.d.ts +84 -0
  375. package/dist/plugins/code/languageMenu.svelte.js +199 -0
  376. package/dist/plugins/code/languages.d.ts +21 -10
  377. package/dist/plugins/code/languages.js +39 -126
  378. package/dist/plugins/columns/ColumnResize.svelte +13 -25
  379. package/dist/plugins/columns/ColumnResize.svelte.d.ts +1 -1
  380. package/dist/plugins/columns/ColumnsPlugin.svelte +46 -78
  381. package/dist/plugins/columns/ColumnsPlugin.svelte.d.ts +0 -12
  382. package/dist/plugins/columns/columns.css +7 -26
  383. package/dist/plugins/columns/resize.svelte.d.ts +14 -51
  384. package/dist/plugins/columns/resize.svelte.js +70 -164
  385. package/dist/plugins/comments/CommentsController.svelte.d.ts +1 -4
  386. package/dist/plugins/comments/CommentsController.svelte.js +14 -25
  387. package/dist/plugins/comments/CommentsSidebar.svelte +82 -430
  388. package/dist/plugins/comments/CommentsSidebar.svelte.d.ts +6 -7
  389. package/dist/plugins/comments/commentsPlugin.d.ts +31 -10
  390. package/dist/plugins/comments/commentsPlugin.js +12 -10
  391. package/dist/plugins/equation/EquationEditor.svelte +18 -129
  392. package/dist/plugins/equation/EquationEditor.svelte.d.ts +2 -1
  393. package/dist/plugins/equation/EquationPlugin.svelte +123 -168
  394. package/dist/plugins/equation/EquationPlugin.svelte.d.ts +5 -3
  395. package/dist/plugins/equation/EquationView.svelte +20 -11
  396. package/dist/plugins/equation/equation.svelte.d.ts +74 -36
  397. package/dist/plugins/equation/equation.svelte.js +74 -66
  398. package/dist/plugins/equation/importUrl.d.ts +6 -0
  399. package/dist/plugins/equation/importUrl.js +6 -0
  400. package/dist/plugins/equation/katex.d.ts +8 -0
  401. package/dist/plugins/equation/katex.js +77 -0
  402. package/dist/plugins/find/FindController.svelte.d.ts +8 -13
  403. package/dist/plugins/find/FindController.svelte.js +34 -55
  404. package/dist/plugins/find/findPlugin.d.ts +4 -8
  405. package/dist/plugins/find/findPlugin.js +29 -9
  406. package/dist/plugins/image/ImageChrome.svelte +5 -151
  407. package/dist/plugins/image/ImagePlugin.svelte +49 -117
  408. package/dist/plugins/image/ImagePlugin.svelte.d.ts +1 -24
  409. package/dist/plugins/image/ImageToolbarHost.svelte +37 -0
  410. package/dist/plugins/image/ImageToolbarHost.svelte.d.ts +9 -0
  411. package/dist/plugins/image/controls.svelte.d.ts +6 -57
  412. package/dist/plugins/image/controls.svelte.js +51 -174
  413. package/dist/plugins/image/image.d.ts +0 -5
  414. package/dist/plugins/image/image.js +0 -3
  415. package/dist/plugins/image/toolbar.svelte.d.ts +69 -0
  416. package/dist/plugins/image/toolbar.svelte.js +145 -0
  417. package/dist/plugins/index.d.ts +39 -24
  418. package/dist/plugins/index.js +30 -22
  419. package/dist/plugins/list.svelte.d.ts +128 -0
  420. package/dist/plugins/list.svelte.js +217 -0
  421. package/dist/plugins/markdownShortcuts.d.ts +1 -1
  422. package/dist/plugins/markdownShortcuts.js +6 -5
  423. package/dist/plugins/marquee/MarqueeBox.svelte +15 -0
  424. package/dist/plugins/marquee/MarqueeBox.svelte.d.ts +9 -0
  425. package/dist/plugins/marquee/MarqueeController.svelte.d.ts +46 -0
  426. package/dist/plugins/marquee/MarqueeController.svelte.js +243 -0
  427. package/dist/plugins/marquee/marquee.d.ts +33 -0
  428. package/dist/plugins/marquee/marquee.js +89 -0
  429. package/dist/plugins/marquee/marqueePlugin.d.ts +32 -0
  430. package/dist/plugins/marquee/marqueePlugin.js +68 -0
  431. package/dist/plugins/media/AudioPlugin.svelte +3 -88
  432. package/dist/plugins/media/AudioPlugin.svelte.d.ts +1 -4
  433. package/dist/plugins/media/BookmarkPlugin.svelte +124 -112
  434. package/dist/plugins/media/BookmarkPlugin.svelte.d.ts +20 -7
  435. package/dist/plugins/media/EmbedPlugin.svelte +93 -77
  436. package/dist/plugins/media/EmbedPlugin.svelte.d.ts +21 -9
  437. package/dist/plugins/media/EmptySlot.svelte +44 -0
  438. package/dist/plugins/media/EmptySlot.svelte.d.ts +25 -0
  439. package/dist/plugins/media/FilePlugin.svelte +35 -111
  440. package/dist/plugins/media/FilePlugin.svelte.d.ts +12 -4
  441. package/dist/plugins/media/MediaEmpty.svelte +55 -112
  442. package/dist/plugins/media/MediaEmpty.svelte.d.ts +26 -10
  443. package/dist/plugins/media/SourceBlock.svelte +164 -0
  444. package/dist/plugins/media/SourceBlock.svelte.d.ts +33 -0
  445. package/dist/plugins/media/VideoPlugin.svelte +4 -97
  446. package/dist/plugins/media/VideoPlugin.svelte.d.ts +2 -5
  447. package/dist/plugins/media/empty.svelte.d.ts +69 -0
  448. package/dist/plugins/media/empty.svelte.js +111 -0
  449. package/dist/plugins/media/media.d.ts +93 -30
  450. package/dist/plugins/media/media.js +79 -86
  451. package/dist/plugins/media/urlPaste.svelte.d.ts +9 -32
  452. package/dist/plugins/media/urlPaste.svelte.js +46 -75
  453. package/dist/plugins/mention/MentionPlugin.svelte +47 -124
  454. package/dist/plugins/mention/MentionPlugin.svelte.d.ts +11 -23
  455. package/dist/plugins/page/PageLink.svelte +54 -38
  456. package/dist/plugins/page/PagePlugin.svelte +20 -18
  457. package/dist/plugins/page/PagePlugin.svelte.d.ts +2 -4
  458. package/dist/plugins/page/page.d.ts +35 -9
  459. package/dist/plugins/page/page.js +3 -4
  460. package/dist/plugins/pageLink/PageLinkPlugin.svelte +52 -108
  461. package/dist/plugins/pageLink/PageLinkPlugin.svelte.d.ts +11 -23
  462. package/dist/plugins/planned.d.ts +10 -0
  463. package/dist/plugins/planned.js +12 -0
  464. package/dist/plugins/richtext/CalloutIcon.svelte +25 -0
  465. package/dist/plugins/richtext/CalloutIcon.svelte.d.ts +9 -0
  466. package/dist/plugins/richtext/CalloutIconPicker.svelte +26 -0
  467. package/dist/plugins/richtext/CalloutIconPicker.svelte.d.ts +9 -0
  468. package/dist/plugins/richtext/EmptyBody.svelte +25 -0
  469. package/dist/plugins/richtext/EmptyBody.svelte.d.ts +8 -0
  470. package/dist/plugins/richtext/RichTextControl.svelte +39 -0
  471. package/dist/plugins/richtext/RichTextControl.svelte.d.ts +8 -0
  472. package/dist/plugins/richtext/RichTextPlugin.svelte +272 -148
  473. package/dist/plugins/richtext/RichTextPlugin.svelte.d.ts +37 -18
  474. package/dist/plugins/richtext/TodoCheckbox.svelte +10 -21
  475. package/dist/plugins/richtext/TodoCheckbox.svelte.d.ts +0 -2
  476. package/dist/plugins/richtext/body.d.ts +9 -0
  477. package/dist/plugins/richtext/body.js +16 -0
  478. package/dist/plugins/richtext/calloutIcons.svelte.d.ts +97 -0
  479. package/dist/plugins/richtext/calloutIcons.svelte.js +214 -0
  480. package/dist/plugins/richtext/callouts.d.ts +15 -0
  481. package/dist/plugins/richtext/callouts.js +23 -0
  482. package/dist/plugins/richtext/controls.svelte.d.ts +110 -0
  483. package/dist/plugins/richtext/controls.svelte.js +126 -0
  484. package/dist/plugins/richtext/richTextOperations.js +37 -28
  485. package/dist/plugins/slashMenu/SlashMenuController.svelte.d.ts +18 -11
  486. package/dist/plugins/slashMenu/SlashMenuController.svelte.js +93 -35
  487. package/dist/plugins/slashMenu/slashMenuPlugin.d.ts +11 -24
  488. package/dist/plugins/slashMenu/slashMenuPlugin.js +27 -68
  489. package/dist/plugins/suggestions/SuggestionBars.svelte +32 -84
  490. package/dist/plugins/suggestions/SuggestionBars.svelte.d.ts +9 -3
  491. package/dist/plugins/suggestions/suggestionsPlugin.d.ts +10 -16
  492. package/dist/plugins/suggestions/suggestionsPlugin.js +9 -24
  493. package/dist/plugins/table/TableChrome.svelte +96 -127
  494. package/dist/plugins/table/TableChrome.svelte.d.ts +5 -1
  495. package/dist/plugins/table/TablePlugin.svelte +116 -171
  496. package/dist/plugins/table/TablePlugin.svelte.d.ts +0 -4
  497. package/dist/plugins/table/chrome.svelte.d.ts +110 -117
  498. package/dist/plugins/table/chrome.svelte.js +643 -289
  499. package/dist/plugins/table/ops.d.ts +47 -0
  500. package/dist/plugins/table/ops.js +233 -0
  501. package/dist/plugins/table/table.css +55 -134
  502. package/dist/plugins/table/table.d.ts +26 -7
  503. package/dist/plugins/table/table.js +23 -49
  504. package/dist/plugins/toc/TableOfContents.svelte +32 -38
  505. package/dist/plugins/toc/TableOfContents.svelte.d.ts +1 -5
  506. package/dist/plugins/toc/TocPlugin.svelte +22 -22
  507. package/dist/plugins/toc/TocPlugin.svelte.d.ts +4 -6
  508. package/dist/plugins/toc/toc.d.ts +41 -10
  509. package/dist/plugins/toc/toc.js +2 -3
  510. package/dist/plugins/toolbar/ToolbarController.svelte.d.ts +29 -66
  511. package/dist/plugins/toolbar/ToolbarController.svelte.js +151 -76
  512. package/dist/plugins/toolbar/toolbarPlugin.d.ts +14 -13
  513. package/dist/plugins/toolbar/toolbarPlugin.js +28 -43
  514. package/dist/plugins/triggers/TriggerController.svelte.d.ts +6 -45
  515. package/dist/plugins/triggers/TriggerController.svelte.js +51 -96
  516. package/dist/plugins/triggers/place.d.ts +0 -9
  517. package/dist/plugins/triggers/place.js +1 -17
  518. package/dist/plugins/triggers/triggers.d.ts +31 -9
  519. package/dist/plugins/triggers/triggers.js +82 -62
  520. package/dist/plugins/uploads.svelte.d.ts +38 -20
  521. package/dist/plugins/uploads.svelte.js +39 -32
  522. package/dist/plugins.d.ts +167 -60
  523. package/dist/selection/domSelection.d.ts +13 -4
  524. package/dist/selection/domSelection.js +110 -183
  525. package/dist/selection/pointer.svelte.d.ts +12 -10
  526. package/dist/selection/pointer.svelte.js +154 -71
  527. package/dist/selection/replaceSelection.d.ts +21 -22
  528. package/dist/selection/replaceSelection.js +60 -69
  529. package/dist/selection/selection.svelte.d.ts +5 -73
  530. package/dist/selection/selection.svelte.js +263 -542
  531. package/dist/selection/selection.utils.d.ts +34 -11
  532. package/dist/selection/selection.utils.js +128 -247
  533. package/dist/selection/visibility.d.ts +11 -8
  534. package/dist/selection/visibility.js +23 -8
  535. package/dist/session/announcer.svelte.d.ts +2 -1
  536. package/dist/session/announcer.svelte.js +7 -3
  537. package/dist/session/attempt.d.ts +33 -39
  538. package/dist/session/attempt.js +61 -53
  539. package/dist/session/bindings.js +108 -139
  540. package/dist/session/commands.d.ts +47 -22
  541. package/dist/session/commands.js +206 -208
  542. package/dist/session/composition.svelte.d.ts +2 -4
  543. package/dist/session/composition.svelte.js +55 -65
  544. package/dist/session/editing/text.d.ts +6 -0
  545. package/dist/session/editing/text.js +17 -3
  546. package/dist/session/handles.d.ts +10 -1
  547. package/dist/session/handles.js +28 -0
  548. package/dist/session/history.d.ts +0 -4
  549. package/dist/session/history.js +15 -21
  550. package/dist/session/inputRules.js +75 -84
  551. package/dist/session/keymap.d.ts +1 -6
  552. package/dist/session/keymap.js +17 -20
  553. package/dist/session/moves.d.ts +10 -10
  554. package/dist/session/moves.js +31 -59
  555. package/dist/session/navigation.d.ts +18 -3
  556. package/dist/session/navigation.js +194 -153
  557. package/dist/session/ports.d.ts +7 -0
  558. package/dist/session/selection.d.ts +4 -3
  559. package/dist/session/selection.js +8 -0
  560. package/dist/session/suggestions.svelte.d.ts +1 -1
  561. package/dist/session/suggestions.svelte.js +64 -47
  562. package/dist/session/virtual.d.ts +3 -3
  563. package/dist/session/virtual.js +18 -40
  564. package/dist/surface/attributes.d.ts +1 -0
  565. package/dist/surface/attributes.js +3 -26
  566. package/dist/surface/cells.d.ts +5 -0
  567. package/dist/surface/cells.js +5 -0
  568. package/dist/surface/lines.d.ts +32 -0
  569. package/dist/surface/lines.js +43 -0
  570. package/dist/surface/observer.svelte.d.ts +3 -20
  571. package/dist/surface/observer.svelte.js +73 -77
  572. package/dist/surface/overlay.d.ts +48 -6
  573. package/dist/surface/overlay.js +133 -23
  574. package/dist/surface/pin.svelte.d.ts +5 -0
  575. package/dist/surface/pin.svelte.js +5 -0
  576. package/dist/surface/projector.svelte.d.ts +4 -6
  577. package/dist/surface/projector.svelte.js +42 -69
  578. package/dist/text/text.svelte.d.ts +14 -40
  579. package/dist/text/text.svelte.js +35 -51
  580. package/dist/text/wordBoundary.d.ts +19 -0
  581. package/dist/text/wordBoundary.js +29 -44
  582. package/dist/themes/notion.css +315 -126
  583. package/dist/utils/json.d.ts +3 -1
  584. package/dist/utils/json.js +52 -51
  585. package/dist/utils/listen.d.ts +8 -0
  586. package/dist/utils/listen.js +19 -0
  587. package/package.json +4 -5
  588. package/dist/block/block.utils.d.ts +0 -340
  589. package/dist/block/block.utils.js +0 -356
  590. package/dist/collaboration/history/HistoryPanel.svelte +0 -525
  591. package/dist/collaboration/history/HistoryPanel.svelte.d.ts +0 -7
  592. package/dist/collaboration/history/panel.d.ts +0 -43
  593. package/dist/collaboration/history/panel.js +0 -3
  594. package/dist/components/SuggestionRanges.svelte +0 -58
  595. package/dist/components/SuggestionRanges.svelte.d.ts +0 -7
  596. package/dist/crdt/doc/table.d.ts +0 -21
  597. package/dist/crdt/doc/table.js +0 -288
  598. package/dist/crdt/migration/generation.d.ts +0 -58
  599. package/dist/crdt/migration/generation.js +0 -70
  600. package/dist/crdt/migration/legacy-schema.d.ts +0 -61
  601. package/dist/crdt/migration/legacy-schema.js +0 -151
  602. package/dist/crdt/migration/migrate.d.ts +0 -56
  603. package/dist/crdt/migration/migrate.js +0 -227
  604. package/dist/crdt/nodes.d.ts +0 -121
  605. package/dist/crdt/nodes.js +0 -56
  606. package/dist/crdt/text/index/checks.d.ts +0 -15
  607. package/dist/crdt/text/index/checks.js +0 -156
  608. package/dist/crdt/vendor/yjs/dts/utils/EventHandler.d.ts +0 -17
  609. package/dist/crdt/vendor/yjs/dts/utils/RelativePosition.d.ts +0 -80
  610. package/dist/crdt/vendor/yjs/dts/utils/UndoManager.d.ts +0 -205
  611. package/dist/crdt/vendor/yjs/dts/utils/YEvent.d.ts +0 -93
  612. package/dist/crdt/vendor/yjs/dts/utils/meta.d.ts +0 -25
  613. package/dist/crdt/vendor/yjs/dts/utils/renderer-helpers.d.ts +0 -98
  614. package/dist/crdt/vendor/yjs/dts/utils/schemas.d.ts +0 -2
  615. package/dist/crdt/vendor/yjs/src/utils/EventHandler.js +0 -75
  616. package/dist/crdt/vendor/yjs/src/utils/RelativePosition.js +0 -301
  617. package/dist/crdt/vendor/yjs/src/utils/UndoManager.js +0 -554
  618. package/dist/crdt/vendor/yjs/src/utils/YEvent.js +0 -158
  619. package/dist/crdt/vendor/yjs/src/utils/meta.js +0 -74
  620. package/dist/crdt/vendor/yjs/src/utils/renderer-helpers.js +0 -186
  621. package/dist/crdt/vendor/yjs/src/utils/schemas.js +0 -3
  622. package/dist/edytor.utils.d.ts +0 -50
  623. package/dist/edytor.utils.js +0 -67
  624. package/dist/plugins/blockMenu/BlockMenu.svelte +0 -447
  625. package/dist/plugins/blockMenu/BlockMenu.svelte.d.ts +0 -9
  626. package/dist/plugins/find/FindBar.svelte +0 -170
  627. package/dist/plugins/find/FindBar.svelte.d.ts +0 -9
  628. package/dist/plugins/find/FindHighlights.svelte +0 -75
  629. package/dist/plugins/find/FindHighlights.svelte.d.ts +0 -9
  630. package/dist/plugins/icons.d.ts +0 -2
  631. package/dist/plugins/icons.js +0 -63
  632. package/dist/plugins/image/ImageEmpty.svelte +0 -116
  633. package/dist/plugins/image/ImageEmpty.svelte.d.ts +0 -12
  634. package/dist/plugins/keepInView.d.ts +0 -4
  635. package/dist/plugins/keepInView.js +0 -6
  636. package/dist/plugins/media/UrlPasteMenu.svelte +0 -83
  637. package/dist/plugins/media/UrlPasteMenu.svelte.d.ts +0 -7
  638. package/dist/plugins/richtext/labels.d.ts +0 -5
  639. package/dist/plugins/richtext/labels.js +0 -3
  640. package/dist/plugins/slashMenu/SlashMenu.svelte +0 -360
  641. package/dist/plugins/slashMenu/SlashMenu.svelte.d.ts +0 -11
  642. package/dist/plugins/toolbar/LinkCard.svelte +0 -118
  643. package/dist/plugins/toolbar/LinkCard.svelte.d.ts +0 -7
  644. package/dist/plugins/toolbar/Toolbar.svelte +0 -400
  645. package/dist/plugins/toolbar/Toolbar.svelte.d.ts +0 -9
  646. package/dist/plugins/triggers/TriggerMenu.svelte +0 -144
  647. package/dist/plugins/triggers/TriggerMenu.svelte.d.ts +0 -7
  648. package/dist/session/props.d.ts +0 -28
  649. package/dist/session/props.js +0 -162
  650. package/dist/text/deltas.d.ts +0 -22
  651. package/dist/text/deltas.js +0 -46
  652. package/dist/text/text.utils.d.ts +0 -45
  653. package/dist/text/text.utils.js +0 -199
@@ -0,0 +1,104 @@
1
+ import { bindAll } from '../../../bind-event-listener/index.js';
2
+ import { isSafari } from '../is-safari.js';
3
+
4
+ /* For "dragenter" events, the browser should set `relatedTarget` to the previous element.
5
+ * For external drag operations, our first "dragenter" event should have a `event.relatedTarget` of `null`.
6
+ *
7
+ * Unfortunately in Safari `event.relatedTarget` is *always* set to `null`
8
+ * Safari bug: https://bugs.webkit.org/show_bug.cgi?id=242627
9
+ * To work around this we count "dragenter" and "dragleave" events */
10
+ // Using symbols for event properties so we don't clash with
11
+ // anything on the `event` object
12
+ export const symbols = {
13
+ isLeavingWindow: Symbol('leaving'),
14
+ isEnteringWindow: Symbol('entering')
15
+ };
16
+ (function fixSafari() {
17
+ // Don't do anything when server side rendering
18
+ if (typeof window === 'undefined') {
19
+ return;
20
+ }
21
+
22
+ // rather than checking the userAgent for "jsdom" we can do this check
23
+ // so that the check will be removed completely in production code
24
+ if (process.env.NODE_ENV === 'test') {
25
+ return;
26
+ }
27
+ if (!isSafari()) {
28
+ return;
29
+ }
30
+ function getInitialState() {
31
+ return {
32
+ enterCount: 0,
33
+ isOverWindow: false
34
+ };
35
+ }
36
+ let state = getInitialState();
37
+ function resetState() {
38
+ state = getInitialState();
39
+ }
40
+
41
+ // These event listeners are bound _forever_ and _never_ removed
42
+ // We don't bother cleaning up these event listeners (for now)
43
+ // as this workaround is only for Safari
44
+
45
+ // This is how the event count works:
46
+ //
47
+ // lift (+1 enterCount)
48
+ // - dragstart(draggable) [enterCount: 0]
49
+ // - dragenter(draggable) [enterCount: 1]
50
+ // leaving draggable (+0 enterCount)
51
+ // - dragenter(document.body) [enterCount: 2]
52
+ // - dragleave(draggable) [enterCount: 1]
53
+ // leaving window (-1 enterCount)
54
+ // - dragleave(document.body) [enterCount: 0] {leaving the window}
55
+
56
+ // Things to note:
57
+ // - dragenter and dragleave bubble
58
+ // - the first dragenter when entering a window might not be on `window`
59
+ // - it could be on an element that is pressed up against the window
60
+ // - (so we cannot rely on `event.target` values)
61
+
62
+ bindAll(window, [{
63
+ type: 'dragstart',
64
+ listener: () => {
65
+ state.enterCount = 0;
66
+ // drag start occurs in the source window
67
+ state.isOverWindow = true;
68
+ // When a drag first starts it will also trigger a "dragenter" on the draggable element
69
+ }
70
+ }, {
71
+ type: 'drop',
72
+ listener: resetState
73
+ }, {
74
+ type: 'dragend',
75
+ listener: resetState
76
+ }, {
77
+ type: 'dragenter',
78
+ listener: event => {
79
+ if (!state.isOverWindow && state.enterCount === 0) {
80
+ // Patching the `event` object
81
+ // The `event` object is shared with all event listeners for the event
82
+ event[symbols.isEnteringWindow] = true;
83
+ }
84
+ state.isOverWindow = true;
85
+ state.enterCount++;
86
+ }
87
+ }, {
88
+ type: 'dragleave',
89
+ listener: event => {
90
+ state.enterCount--;
91
+ if (state.isOverWindow && state.enterCount === 0) {
92
+ // Patching the `event` object as it is shared with all event listeners
93
+ // The `event` object is shared with all event listeners for the event
94
+ event[symbols.isLeavingWindow] = true;
95
+ state.isOverWindow = false;
96
+ }
97
+ }
98
+ }],
99
+ // using `capture: true` so that adding event listeners
100
+ // in bubble phase will have the correct symbols
101
+ {
102
+ capture: true
103
+ });
104
+ })();
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Does the `EventTarget` look like a `Node` based on "duck typing".
3
+ *
4
+ * Helpful when the `Node` might be outside of the current document
5
+ * so we cannot to an `target instanceof Node` check.
6
+ */
7
+ function isNodeLike(target) {
8
+ return 'nodeName' in target;
9
+ }
10
+
11
+ /**
12
+ * Is an `EventTarget` a `Node` from another `window`?
13
+ */
14
+ export function isFromAnotherWindow(eventTarget) {
15
+ return isNodeLike(eventTarget) && eventTarget.ownerDocument !== document;
16
+ }
@@ -0,0 +1,12 @@
1
+ import { isSafari } from '../is-safari.js';
2
+ import { symbols } from './count-events-for-safari.js';
3
+
4
+ // eslint-disable-next-line @atlaskit/volt-strict-mode/no-multiple-exports
5
+ export function isLeavingWindowInSafari({
6
+ dragLeave
7
+ }) {
8
+ if (!isSafari()) {
9
+ return false;
10
+ }
11
+ return dragLeave.hasOwnProperty(symbols.isLeavingWindow);
12
+ }
@@ -0,0 +1,55 @@
1
+ import { isFirefox } from '../is-firefox.js';
2
+ import { isSafari } from '../is-safari.js';
3
+ import { isFromAnotherWindow } from './is-from-another-window.js';
4
+ import { isLeavingWindowInSafari } from './is-leaving-window-in-safari.js';
5
+ export function isLeavingWindow({
6
+ dragLeave
7
+ }) {
8
+ const {
9
+ type,
10
+ relatedTarget
11
+ } = dragLeave;
12
+ if (type !== 'dragleave') {
13
+ return false;
14
+ }
15
+ if (isSafari()) {
16
+ return isLeavingWindowInSafari({
17
+ dragLeave
18
+ });
19
+ }
20
+
21
+ // Standard check: if going to `null` we are leaving the `window`
22
+ if (relatedTarget == null) {
23
+ return true;
24
+ }
25
+
26
+ /**
27
+ * 🦊 Exception: `iframe` in Firefox (`125.0`)
28
+ *
29
+ * Case 1: parent `window` → child `iframe`
30
+ * `dragLeave.relatedTarget` is element _inside_ the child `iframe`
31
+ * (foreign element)
32
+ *
33
+ * Case 2: child `iframe` → parent `window`
34
+ * `dragLeave.relatedTarget` is the `iframe` in the parent `window`
35
+ * (foreign element)
36
+ */
37
+
38
+ if (isFirefox()) {
39
+ return isFromAnotherWindow(relatedTarget);
40
+ }
41
+
42
+ /**
43
+ * 🌏 Exception: `iframe` in Chrome (`124.0`)
44
+ *
45
+ * Case 1: parent `window` → child `iframe`
46
+ * `dragLeave.relatedTarget` is the `iframe` in the parent `window`
47
+ *
48
+ * Case 2: child `iframe` → parent `window`
49
+ * `dragLeave.relatedTarget` is `null` *(standard check)*
50
+ */
51
+
52
+ // Case 2
53
+ // Using `instanceof` check as the element will be in the same `window`
54
+ return relatedTarget instanceof HTMLIFrameElement;
55
+ }
@@ -0,0 +1,48 @@
1
+ export function getBindingsForBrokenDrags({
2
+ onDragEnd
3
+ }) {
4
+ return [
5
+ // ## Detecting drag ending for removed draggables
6
+ //
7
+ // If a draggable element is removed during a drag and the user drops:
8
+ // 1. if over a valid drop target: we get a "drop" event to know the drag is finished
9
+ // 2. if not over a valid drop target (or cancelled): we get nothing
10
+ // The "dragend" event will not fire on the source draggable if it has been
11
+ // removed from the DOM.
12
+ // So we need to figure out if a drag operation has finished by looking at other events
13
+ // We can do this by looking at other events
14
+
15
+ // ### First detection: "pointermove" events
16
+
17
+ // 1. "pointermove" events cannot fire during a drag and drop operation
18
+ // according to the spec. So if we get a "pointermove" it means that
19
+ // the drag and drop operations has finished. So if we get a "pointermove"
20
+ // we know that the drag is over
21
+ // 2. 🦊😤 Drag and drop operations are _supposed_ to suppress
22
+ // other pointer events. However, firefox will allow a few
23
+ // pointer event to get through after a drag starts.
24
+ // The most I've seen is 3
25
+ {
26
+ type: 'pointermove',
27
+ listener: (() => {
28
+ let callCount = 0;
29
+ return function listener() {
30
+ // Using 20 as it is far bigger than the most observed (3)
31
+ if (callCount < 20) {
32
+ callCount++;
33
+ return;
34
+ }
35
+ onDragEnd();
36
+ };
37
+ })()
38
+ },
39
+ // ### Second detection: "pointerdown" events
40
+
41
+ // If we receive this event then we know that a drag operation has finished
42
+ // and potentially another one is about to start.
43
+ // Note: `pointerdown` fires on all browsers / platforms before "dragstart"
44
+ {
45
+ type: 'pointerdown',
46
+ listener: onDragEnd
47
+ }];
48
+ }
@@ -0,0 +1,14 @@
1
+ export function getInput(event) {
2
+ return {
3
+ altKey: event.altKey,
4
+ button: event.button,
5
+ buttons: event.buttons,
6
+ ctrlKey: event.ctrlKey,
7
+ metaKey: event.metaKey,
8
+ shiftKey: event.shiftKey,
9
+ clientX: event.clientX,
10
+ clientY: event.clientY,
11
+ pageX: event.pageX,
12
+ pageY: event.pageY
13
+ };
14
+ }
@@ -0,0 +1,13 @@
1
+ import { once } from '../public-utils/once.js';
2
+
3
+ // using `cache` as our `isFirefox()` result will not change in a browser
4
+
5
+ /**
6
+ * Returns `true` if a `Firefox` browser
7
+ * */
8
+ export const isFirefox = once(function isFirefox() {
9
+ if (process.env.NODE_ENV === 'test') {
10
+ return false;
11
+ }
12
+ return navigator.userAgent.includes('Firefox');
13
+ });
@@ -0,0 +1,19 @@
1
+ import { once } from '../public-utils/once.js';
2
+
3
+ // using `cache` as our `isSafari()` result will not change in a browser
4
+
5
+ /**
6
+ * Returns `true` if a `Safari` browser.
7
+ * Returns `true` if the browser is running on iOS (they are all Safari).
8
+ *
9
+ * Use `isSafariOnIOS` if you want to check if something is Safari + iOS
10
+ * */
11
+ export const isSafari = once(function isSafari() {
12
+ if (process.env.NODE_ENV === 'test') {
13
+ return false;
14
+ }
15
+ const {
16
+ userAgent
17
+ } = navigator;
18
+ return userAgent.includes('AppleWebKit') && !userAgent.includes('Chrome');
19
+ });
@@ -0,0 +1,3 @@
1
+ // Maximum possible z-index
2
+ // https://stackoverflow.com/questions/491052/minimum-and-maximum-value-of-z-index
3
+ export const maxZIndex = 2147483647;
@@ -0,0 +1,6 @@
1
+ // Why we put the media types in their own files:
2
+ //
3
+ // - we are not putting them all in one file as not all adapters need all types
4
+ // - we are not putting them in the external helpers as some things just need the
5
+ // types and not the external functions code
6
+ export const textMediaType = 'text/plain';
@@ -0,0 +1,6 @@
1
+ // Why we put the media types in their own files:
2
+ //
3
+ // - we are not putting them all in one file as not all adapters need all types
4
+ // - we are not putting them in the external helpers as some things just need the
5
+ // types and not the external functions code
6
+ export const URLMediaType = 'text/uri-list';
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Resets user agent styles for `[popover]` elements.
3
+ *
4
+ * Browsers apply these defaults to popovers (per the WHATWG HTML spec rendering section):
5
+ * - `inset: 0` + `margin: auto` → centers the popover in the viewport
6
+ * - `border: solid` → visible border
7
+ * - `padding: 0.25em` → internal spacing
8
+ * - `overflow: auto` → scrollbars when content overflows
9
+ * - `color: CanvasText` + `background-color: Canvas` → system theme colors
10
+ *
11
+ * This object neutralizes those defaults so the popover behaves like a plain
12
+ * positioned `<div>`, matching the sizing of the legacy (non-popover)
13
+ * fallback container exactly.
14
+ *
15
+ * **Width and height (`auto`)**
16
+ *
17
+ * `width` and `height` override the spec user agent value of `fit-content`
18
+ * with `auto`.
19
+ *
20
+ * _Why?_
21
+ *
22
+ * - When a `[popover]` is sized with `fit-content` and contains a flex
23
+ * container, Safari collapses any flex item that uses `overflow: auto`
24
+ * to `0px`.
25
+ * - Setting the popover's `width` and `height` to `auto` skips the `fit-content`
26
+ * pass and avoids the bug in Safari
27
+ * - Chromium and Firefox tolerate `fit-content` here, but `auto` is safe
28
+ * everywhere and matches our non-popover path
29
+ */
30
+ export const popoverResetUserAgentStyles = {
31
+ inset: 'unset',
32
+ border: 'none',
33
+ padding: 0,
34
+ margin: 0,
35
+ overflow: 'visible',
36
+ color: 'inherit',
37
+ background: 'transparent',
38
+ width: 'auto',
39
+ height: 'auto'
40
+ };
@@ -0,0 +1,16 @@
1
+ import { once } from '../public-utils/once.js';
2
+
3
+ // Using `once` as the value won't change in a browser
4
+
5
+ /**
6
+ * Returns `true` if the browser supports the Popover API (top-layer).
7
+ *
8
+ * When supported, elements with `popover="manual"` can be promoted to the
9
+ * browser's top layer via `element.showPopover()`, which is more reliable
10
+ * than `z-index` for ensuring an element renders above everything else.
11
+ *
12
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/Popover_API
13
+ */
14
+ export const supportsPopover = once(function supportsPopover() {
15
+ return typeof HTMLElement !== 'undefined' && typeof HTMLElement.prototype.showPopover === 'function';
16
+ });
@@ -0,0 +1,11 @@
1
+ Copyright 2023 Atlassian Pty Ltd
2
+
3
+ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in
4
+ compliance with the License. You may obtain a copy of the License at
5
+
6
+ http://www.apache.org/licenses/LICENSE-2.0
7
+
8
+ Unless required by applicable law or agreed to in writing, software distributed under the License is
9
+ distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
10
+ implied. See the License for the specific language governing permissions and limitations under the
11
+ License.
@@ -0,0 +1,4 @@
1
+ import type { ElementDragType, CleanupFn } from '../../pragmatic-drag-and-drop/entry-point/types.js';
2
+ import type { ElementAutoScrollArgs, WindowAutoScrollArgs } from '../internal-types.js';
3
+ export declare const autoScrollForElements: (args: ElementAutoScrollArgs<ElementDragType>) => CleanupFn;
4
+ export declare const autoScrollWindowForElements: (args?: WindowAutoScrollArgs<ElementDragType>) => CleanupFn;
@@ -0,0 +1,8 @@
1
+ import { monitorForElements } from '../../pragmatic-drag-and-drop/adapter/element-adapter.js';
2
+ import { makeApi } from '../over-element/make-api.js';
3
+ const api = makeApi({
4
+ monitor: monitorForElements
5
+ });
6
+ export const autoScrollForElements = api.autoScroll;
7
+ // eslint-disable-next-line @atlaskit/volt-strict-mode/no-multiple-exports
8
+ export const autoScrollWindowForElements = api.autoScrollWindow;
@@ -0,0 +1,50 @@
1
+ import type { AllDragTypes, Input } from '../pragmatic-drag-and-drop/entry-point/types.js';
2
+ export type ElementGetFeedbackArgs<DragType extends AllDragTypes> = {
3
+ /**
4
+ * The users _current_ input
5
+ */
6
+ input: Input;
7
+ /**
8
+ * The data associated with the entity being dragged
9
+ */
10
+ source: DragType['payload'];
11
+ /**
12
+ * The element trying to be scrolled
13
+ */
14
+ element: Element;
15
+ };
16
+ export type WindowGetFeedbackArgs<DragType extends AllDragTypes> = Omit<ElementGetFeedbackArgs<DragType>, 'element'>;
17
+ export type Spacing = {
18
+ top: number;
19
+ right: number;
20
+ bottom: number;
21
+ left: number;
22
+ };
23
+ export type Edge = keyof Spacing;
24
+ export type EngagementHistoryEntry = {
25
+ timeOfEngagementStart: number;
26
+ };
27
+ export type InternalConfig = {
28
+ startHitboxAtPercentageRemainingOfElement: Spacing;
29
+ maxScrollAtPercentageRemainingOfHitbox: Spacing;
30
+ maxPixelScrollPerSecond: number;
31
+ timeDampeningDurationMs: number;
32
+ maxMainAxisHitboxSize: number;
33
+ };
34
+ export type PublicConfig = Partial<{
35
+ maxScrollSpeed: 'standard' | 'fast';
36
+ }>;
37
+ export type ElementAutoScrollArgs<DragType extends AllDragTypes> = {
38
+ element: Element;
39
+ canScroll?: (args: ElementGetFeedbackArgs<DragType>) => boolean;
40
+ getAllowedAxis?: (args: ElementGetFeedbackArgs<DragType>) => AllowedAxis;
41
+ getConfiguration?: (args: ElementGetFeedbackArgs<DragType>) => PublicConfig;
42
+ };
43
+ export type WindowAutoScrollArgs<DragType extends AllDragTypes> = {
44
+ canScroll?: (args: WindowGetFeedbackArgs<DragType>) => boolean;
45
+ getAllowedAxis?: (args: WindowGetFeedbackArgs<DragType>) => AllowedAxis;
46
+ getConfiguration?: (args: WindowGetFeedbackArgs<DragType>) => PublicConfig;
47
+ };
48
+ export type Side = 'start' | 'end';
49
+ export type Axis = 'vertical' | 'horizontal';
50
+ export type AllowedAxis = Axis | 'all';
@@ -0,0 +1,9 @@
1
+ export const dataAttribute = 'data-auto-scrollable';
2
+ // eslint-disable-next-line @atlaskit/volt-strict-mode/no-multiple-exports
3
+ export const selector = `[${dataAttribute}="true"]`;
4
+
5
+ // eslint-disable-next-line @atlaskit/volt-strict-mode/no-multiple-exports
6
+ export function addScrollableAttribute(element) {
7
+ element.setAttribute(dataAttribute, 'true');
8
+ return () => element.removeAttribute(dataAttribute);
9
+ }
@@ -0,0 +1,117 @@
1
+ import { canScrollOnEdge } from '../shared/can-scroll-on-edge.js';
2
+ import { edgeAxisLookup, edges } from '../shared/edges.js';
3
+ import { getOverElementHitbox } from '../shared/get-over-element-hitbox.js';
4
+ import { getScrollChange } from '../shared/get-scroll-change.js';
5
+ import { isAxisAllowed } from '../shared/is-axis-allowed.js';
6
+ import { isWithin } from '../shared/is-within.js';
7
+ function getRectDefault(element) {
8
+ return element.getBoundingClientRect();
9
+ }
10
+ export function getScrollBy({
11
+ element,
12
+ input,
13
+ timeSinceLastFrame,
14
+ engagement,
15
+ config,
16
+ allowedAxis,
17
+ getRect = getRectDefault
18
+ }) {
19
+ const client = {
20
+ x: input.clientX,
21
+ y: input.clientY
22
+ };
23
+ const clientRect = getRect(element);
24
+ const scrollableEdges = edges.reduce((map, edge) => {
25
+ const hitbox = getOverElementHitbox[edge]({
26
+ clientRect,
27
+ config
28
+ });
29
+ const axis = edgeAxisLookup[edge];
30
+
31
+ // Note: changing the allowed axis during a drag will not
32
+ // reset time dampening. It was decided it would be too
33
+ // complex to implement initially, and we can add it
34
+ // later if needed.
35
+ if (!isAxisAllowed(axis, allowedAxis)) {
36
+ return map;
37
+ }
38
+ if (!isWithin({
39
+ client,
40
+ clientRect: hitbox
41
+ })) {
42
+ return map;
43
+ }
44
+ if (!canScrollOnEdge[edge](element)) {
45
+ return map;
46
+ }
47
+ map.set(edge, {
48
+ edge,
49
+ hitbox
50
+ });
51
+ return map;
52
+ }, new Map());
53
+ const left = (() => {
54
+ const axis = 'horizontal';
55
+ const leftEdge = scrollableEdges.get('left');
56
+ if (leftEdge) {
57
+ return getScrollChange({
58
+ client,
59
+ edge: leftEdge.edge,
60
+ hitbox: leftEdge.hitbox,
61
+ axis,
62
+ timeSinceLastFrame,
63
+ engagement,
64
+ isDistanceDampeningEnabled: true,
65
+ config
66
+ });
67
+ }
68
+ const rightEdge = scrollableEdges.get('right');
69
+ if (rightEdge) {
70
+ return getScrollChange({
71
+ client,
72
+ edge: rightEdge.edge,
73
+ hitbox: rightEdge.hitbox,
74
+ axis,
75
+ timeSinceLastFrame,
76
+ engagement,
77
+ isDistanceDampeningEnabled: true,
78
+ config
79
+ });
80
+ }
81
+ return 0;
82
+ })();
83
+ const top = (() => {
84
+ const axis = 'vertical';
85
+ const bottomEdge = scrollableEdges.get('bottom');
86
+ if (bottomEdge) {
87
+ return getScrollChange({
88
+ client,
89
+ edge: bottomEdge.edge,
90
+ hitbox: bottomEdge.hitbox,
91
+ axis,
92
+ timeSinceLastFrame,
93
+ engagement,
94
+ isDistanceDampeningEnabled: true,
95
+ config
96
+ });
97
+ }
98
+ const topEdge = scrollableEdges.get('top');
99
+ if (topEdge) {
100
+ return getScrollChange({
101
+ client,
102
+ edge: topEdge.edge,
103
+ hitbox: topEdge.hitbox,
104
+ axis,
105
+ timeSinceLastFrame,
106
+ engagement,
107
+ isDistanceDampeningEnabled: true,
108
+ config
109
+ });
110
+ }
111
+ return 0;
112
+ })();
113
+ return {
114
+ left,
115
+ top
116
+ };
117
+ }
@@ -0,0 +1,90 @@
1
+ import { combine } from '../../pragmatic-drag-and-drop/public-utils/combine.js';
2
+ import { once } from '../../pragmatic-drag-and-drop/public-utils/once.js';
3
+ import { getScheduler } from '../shared/scheduler.js';
4
+ import { addScrollableAttribute } from './data-attributes.js';
5
+ import { tryScroll } from './try-scroll.js';
6
+ export function makeApi({
7
+ monitor
8
+ }) {
9
+ const elementRegistry = new Map();
10
+ const windowRegistry = new Set();
11
+ function autoScroll(args) {
12
+ // Warn during development if trying to add auto scroll to an element
13
+ // that is not scrollable.
14
+ // Note: this can produce a false positive when a scroll container is not
15
+ // scrollable initially, but becomes scrollable during a drag.
16
+ // I thought of adding the warning as I think it would be a more common pitfall
17
+ // to accidentally register auto scrolling on the wrong element
18
+ // If requested, we could provide a mechanism to opt out of this warning
19
+ if (process.env.NODE_ENV !== 'production') {
20
+ const {
21
+ overflowX,
22
+ overflowY
23
+ } = window.getComputedStyle(args.element);
24
+ const isScrollable = overflowX === 'auto' || overflowX === 'scroll' || overflowY === 'auto' || overflowY === 'scroll';
25
+ if (!isScrollable) {
26
+ // eslint-disable-next-line no-console
27
+ console.warn('Auto scrolling has been attached to an element that appears not to be scrollable', {
28
+ element: args.element,
29
+ overflowX,
30
+ overflowY
31
+ });
32
+ }
33
+ }
34
+
35
+ // Warn if there is an existing registration
36
+ if (process.env.NODE_ENV !== 'production') {
37
+ const existing = elementRegistry.get(args.element);
38
+ if (existing) {
39
+ // eslint-disable-next-line no-console
40
+ console.warn('You have already registered autoScrolling on the same element', {
41
+ existing,
42
+ proposed: args
43
+ });
44
+ }
45
+ }
46
+ elementRegistry.set(args.element, args);
47
+ const cleanup = combine(addScrollableAttribute(args.element), () => elementRegistry.delete(args.element));
48
+ return once(cleanup);
49
+ }
50
+ function autoScrollWindow(args = {}) {
51
+ // Putting `args` in a unique object so that
52
+ // each call will create a unique entry, even if a consumer
53
+ // shares the `args` object between calls.
54
+ // Just being safe here.
55
+ const unique = {
56
+ ...args
57
+ };
58
+ windowRegistry.add(unique);
59
+ function cleanup() {
60
+ windowRegistry.delete(unique);
61
+ }
62
+ return once(cleanup);
63
+ }
64
+ function findEntry(element) {
65
+ var _elementRegistry$get;
66
+ return (_elementRegistry$get = elementRegistry.get(element)) !== null && _elementRegistry$get !== void 0 ? _elementRegistry$get : null;
67
+ }
68
+ function getWindowScrollEntries() {
69
+ return Array.from(windowRegistry);
70
+ }
71
+ function onFrame({
72
+ latestArgs,
73
+ underUsersPointer,
74
+ timeSinceLastFrame
75
+ }) {
76
+ tryScroll({
77
+ input: latestArgs.location.current.input,
78
+ source: latestArgs.source,
79
+ findEntry,
80
+ underUsersPointer,
81
+ timeSinceLastFrame,
82
+ getWindowScrollEntries
83
+ });
84
+ }
85
+ getScheduler(monitor).onFrame(onFrame);
86
+ return {
87
+ autoScroll,
88
+ autoScrollWindow
89
+ };
90
+ }