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
@@ -0,0 +1,103 @@
1
+ # Vendored Pragmatic drag and drop — provenance & changes
2
+
3
+ Atlassian's Pragmatic drag and drop, forked inside edytor: only the modules
4
+ edytor reaches, as the packages publish them, so the block handles' and the
5
+ table grips' drags run the library's own logic without depending on its
6
+ packages. `src/lib/dnd/pragmatic.ts` is the one importer; nothing else in
7
+ edytor imports from this directory. Do not edit these files by hand: re-sync
8
+ (below) and record every change here.
9
+
10
+ ## Pinned source
11
+
12
+ | Package | Version | npm integrity (`pnpm-lock.yaml` before the fork) | License |
13
+ | ----------------------------------------------- | ------- | --------------------------------------------------------------------------------------------------------- | --------------------------------- |
14
+ | `@atlaskit/pragmatic-drag-and-drop` | 4.0.0 | `sha512-pyDo2B5NiaExoKGmgeXKGNUL4aR4UzzSZm8QWWjYTEyBLVqSqKyKUwtVxMw2YEkakagOGFONUdHM32LAH2nPug==` | Apache-2.0, `…/LICENSE.md` |
15
+ | `@atlaskit/pragmatic-drag-and-drop-auto-scroll` | 3.2.1 | `sha512-2fhWAG48EjPoKhoHLG6RcT3/VaCzYEbRb6BtA/Vcfx4FrL0P1KrEgBJ6OAwB0X8MOV6UH22YgjFFHjv8fQD9rA==` | Apache-2.0, `…/LICENSE.md` |
16
+ | `bind-event-listener` (core's dependency) | 3.0.0 | `sha512-PJvH288AWQhKs2v9zyfYdPzlPqf5bXbGMmhmUIY9x4dAUGIWgomO771oBQNwJnMQSnUIXhKu6sgzpBRXTlvb8Q==` | MIT © Alexander Reardon, `LICENSE` |
17
+ | `raf-schd` (core's dependency) | 4.0.3 | `sha512-tQkJl2GRWh83ui2DiPTJz9wEiMN20syf+5oKfB03yYP7ioZcJwsIK8FjrtLwH1m7C7e+Tt2yYBlrOpdT+dyeIQ==` | MIT © Alex Reardon, `LICENSE` |
18
+
19
+ The core's third dependency, `@babel/runtime`, is not needed: the fork takes
20
+ each package's `dist/es2019` build, which uses no Babel helper (object spread,
21
+ destructuring and `for…of` are native there), not its `dist/esm` build.
22
+
23
+ ## Layout
24
+
25
+ ```text
26
+ pragmatic-drag-and-drop/ dist/es2019/<path>.js and dist/types/<path>.d.ts of the core
27
+ pragmatic-drag-and-drop-auto-scroll/ the same, of the auto-scroll package
28
+ bind-event-listener/ index.js, bind.js, bind-all.js: its src/*.ts with the types removed
29
+ raf-schd/ dist/raf-schd.esm.js, verbatim
30
+ ```
31
+
32
+ Each package keeps its published directory structure, so a file here diffs
33
+ against `dist/es2019/<same path>` (or `dist/types/<same path>` for a `.d.ts`).
34
+
35
+ ## What was kept
36
+
37
+ The module closure of the three entry points `pragmatic.ts` imports, nothing
38
+ else:
39
+
40
+ - core `entry-point/element/adapter` (`draggable`, `dropTargetForElements`,
41
+ `monitorForElements`): the element adapter, the drag lifecycle, drop targets
42
+ and monitors, the honey pot fix, the window-leaving and broken-drag
43
+ detection;
44
+ - core `entry-point/element/set-custom-native-drag-preview`;
45
+ - auto-scroll `entry-point/element` (`autoScrollForElements`,
46
+ `autoScrollWindowForElements`, the over-element API and its scheduler).
47
+
48
+ The `.d.ts` files are the declarations those entry points' types reach (9
49
+ files); a `.js` without one is reached only from other vendored `.js`.
50
+ Everything else the packages publish (the external and text-selection
51
+ adapters, the other utilities, the hitbox package (the block handles split a
52
+ row into its halves themselves), the unsafe-overflow auto-scroll, CommonJS and `dist/esm` builds) is left out.
53
+
54
+ ## Local changes (the only ones)
55
+
56
+ 1. **Import specifiers.** Every relative specifier gains its file extension
57
+ (`'./once'` → `'./once.js'`, a directory import its `/index.js`), so the
58
+ packaged `dist/` loads in Node as ES modules too. Every bare specifier
59
+ between the packages (`@atlaskit/pragmatic-drag-and-drop/adapter/element-adapter`,
60
+ `…/utils/combine`, `…/utils/once`, `…/get-element-from-point-without-honey-pot`,
61
+ `…/types` in the declarations) and to the two dependencies
62
+ (`bind-event-listener`, `raf-schd`) becomes the relative path of the
63
+ vendored file. This binds the auto-scroll package to the same core as the
64
+ element adapter: its monitor sees the drags the adapter starts (edytor
65
+ used to rebuild the auto-scroll API from its CommonJS `makeApi` for that,
66
+ since a browser bundle resolved the package's own bare import to a second
67
+ core). Specifiers quoted in comments (the `@deprecated` notes) stay as
68
+ written.
69
+ 2. **`bind-event-listener` in JavaScript.** The package publishes CommonJS
70
+ only; its three `src/*.ts` modules are vendored as ES modules with their
71
+ type annotations removed (the code, comments and names unchanged). Its
72
+ types are not needed: no vendored declaration names them.
73
+
74
+ No statement of the libraries' own code is changed. A check that a re-sync
75
+ reproduces this: strip every import specifier from each vendored file and from
76
+ its upstream file, and compare: they are equal.
77
+
78
+ ## How edytor builds around it
79
+
80
+ - `tsconfig*.json` exclude `src/lib/dnd/vendor/**`: TypeScript reads the
81
+ vendored `.d.ts` beside each entry `.js`, never checks the JavaScript.
82
+ - ESLint, Prettier, `scripts/deps.mjs` (the context graph) and the line counts
83
+ (`scripts/xloc.mjs`, `scripts/bundle-size.mjs`) skip it as vendored code.
84
+ - `package.json#sideEffects` lists the core's directory: upstream declares the
85
+ core with side effects (`count-events-for-safari.js` binds its WebKit
86
+ listeners at import), the auto-scroll without.
87
+ - Nothing runs against the DOM at import (the core guards `typeof window`):
88
+ server rendering imports it as before.
89
+
90
+ ## Re-syncing with upstream
91
+
92
+ 1. Install the new versions of the two packages (and of `bind-event-listener`,
93
+ `raf-schd`) somewhere outside the package's dependencies.
94
+ 2. From each package's `module:es2019` entry (`element/adapter`,
95
+ `element/set-custom-native-drag-preview`, auto-scroll
96
+ `element`), follow every import; copy each reached `dist/es2019` file and,
97
+ from each entry's `types` field, each reached `dist/types` declaration to
98
+ the same path here, rewriting specifiers as in change 1.
99
+ 3. Redo change 2 from `bind-event-listener`'s `src/`; copy
100
+ `raf-schd/dist/raf-schd.esm.js`; copy the license files.
101
+ 4. Update the table above, run the drag lanes (the block handle, table, columns,
102
+ drop reach, auto-scroll, drag preview and press-after-drag specs in
103
+ Chromium, Firefox and WebKit, the jsdom drag rows) and the packed consumer.
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2020 Alexander Reardon
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,46 @@
1
+ import { bind } from './bind.js';
2
+
3
+ function toOptions(value) {
4
+ if (typeof value === 'undefined') {
5
+ return undefined;
6
+ }
7
+
8
+ // Convert capture boolean format to options to object
9
+ if (typeof value === 'boolean') {
10
+ return {
11
+ capture: value,
12
+ };
13
+ }
14
+
15
+ // Already an object, don't need to convert it
16
+ return value;
17
+ }
18
+
19
+ function getBinding(original, sharedOptions) {
20
+ // No shared options, just return original binding
21
+ if (sharedOptions == null) {
22
+ return original;
23
+ }
24
+
25
+ const binding = {
26
+ ...original,
27
+ // Converting both options to object format for merging
28
+ options: {
29
+ ...toOptions(sharedOptions),
30
+ // Giving individual binding option precedence
31
+ ...toOptions(original.options),
32
+ },
33
+ };
34
+ return binding;
35
+ }
36
+
37
+ export function bindAll(target, bindings, sharedOptions) {
38
+ const unbinds = bindings.map((original) => {
39
+ const binding = getBinding(original, sharedOptions);
40
+ return bind(target, binding);
41
+ });
42
+
43
+ return function unbindAll() {
44
+ unbinds.forEach((unbind) => unbind());
45
+ };
46
+ }
@@ -0,0 +1,7 @@
1
+ export function bind(target, { type, listener, options }) {
2
+ target.addEventListener(type, listener, options);
3
+
4
+ return function unbind() {
5
+ target.removeEventListener(type, listener, options);
6
+ };
7
+ }
@@ -0,0 +1,2 @@
1
+ export { bind } from './bind.js';
2
+ export { bindAll } from './bind-all.js';
@@ -0,0 +1,11 @@
1
+ Copyright 2022 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,6 @@
1
+ /**
2
+ * This key has been pulled into a separate module
3
+ * so that the external adapter does not need to import
4
+ * the element adapter
5
+ */
6
+ export const elementAdapterNativeDataKey = 'application/vnd.pdnd';
@@ -0,0 +1,57 @@
1
+ import { type AllEvents, type BaseEventPayload, type CleanupFn, type DropTargetArgs, type DropTargetEventBasePayload, type DropTargetEventPayloadMap, type DropTargetGetFeedbackArgs, type ElementDragType, type EventPayloadMap, type Input, type MonitorArgs, type MonitorGetFeedbackArgs, type NativeMediaType } from '../internal-types.js';
2
+ export type { ElementDragPayload } from '../internal-types.js';
3
+ type DraggableGetFeedbackArgs = {
4
+ /**
5
+ * The user input as a drag is trying to start (the `initial` input)
6
+ */
7
+ input: Input;
8
+ /**
9
+ * The `draggable` element
10
+ */
11
+ element: HTMLElement;
12
+ /**
13
+ * The `dragHandle` element for the `draggable`
14
+ */
15
+ dragHandle: Element | null;
16
+ };
17
+ type DraggableArgs = {
18
+ /** The `HTMLElement` that you want to attach draggable behaviour to.
19
+ * `element` is our unique _key_ for a draggable.
20
+ * `element` is a `HTMLElement` as only a `HTMLElement`
21
+ * can have a "draggable" attribute
22
+ */
23
+ element: HTMLElement;
24
+ /** The part of a draggable `element` that you want to use to control the dragging of the whole `element` */
25
+ dragHandle?: Element;
26
+ /** Conditionally allow a drag to occur */
27
+ canDrag?: (args: DraggableGetFeedbackArgs) => boolean;
28
+ /** Used to attach data to a drag operation. Called once just before the drag starts */
29
+ getInitialData?: (args: DraggableGetFeedbackArgs) => Record<string, unknown>;
30
+ /** Attach data to the native drag data store.
31
+ * This function is useful to attach native data that can be extracted by other web pages
32
+ * or web applications
33
+ * Attaching native data in this way will _not_ cause the native adapter on this page to start
34
+ * Although it can cause a native adapter in other applications to start
35
+ * @example getInitialDataForExternal(() => ({'text/plain': item.description}))
36
+ * */
37
+ getInitialDataForExternal?: (args: DraggableGetFeedbackArgs) => {
38
+ [Key in NativeMediaType]?: string;
39
+ };
40
+ } & Partial<AllEvents<ElementDragType>>;
41
+ export declare const dropTargetForElements: (args: DropTargetArgs<ElementDragType>) => CleanupFn;
42
+ export declare const monitorForElements: (args: MonitorArgs<ElementDragType>) => CleanupFn;
43
+ export declare function draggable(args: DraggableArgs): CleanupFn;
44
+ /** Common event payload for all events */
45
+ export type ElementEventBasePayload = BaseEventPayload<ElementDragType>;
46
+ /** A map containing payloads for all events */
47
+ export type ElementEventPayloadMap = EventPayloadMap<ElementDragType>;
48
+ /** Common event payload for all drop target events */
49
+ export type ElementDropTargetEventBasePayload = DropTargetEventBasePayload<ElementDragType>;
50
+ /** A map containing payloads for all events on drop targets */
51
+ export type ElementDropTargetEventPayloadMap = DropTargetEventPayloadMap<ElementDragType>;
52
+ /** Arguments given to all feedback functions (eg `canDrag()`) on for a `draggable()` */
53
+ export type ElementGetFeedbackArgs = DraggableGetFeedbackArgs;
54
+ /** Arguments given to all feedback functions (eg `canDrop()`) on a `dropTargetForElements()` */
55
+ export type ElementDropTargetGetFeedbackArgs = DropTargetGetFeedbackArgs<ElementDragType>;
56
+ /** Arguments given to all monitor feedback functions (eg `canMonitor()`) for a `monitorForElements` */
57
+ export type ElementMonitorGetFeedbackArgs = MonitorGetFeedbackArgs<ElementDragType>;
@@ -0,0 +1,306 @@
1
+ import { bind } from '../../bind-event-listener/index.js';
2
+ import { getElementFromPointWithoutHoneypot } from '../honey-pot-fix/get-element-from-point-without-honey-pot.js';
3
+ import { makeHoneyPotFix } from '../honey-pot-fix/make-honey-pot-fix.js';
4
+ import { makeAdapter } from '../make-adapter/make-adapter.js';
5
+ import { combine } from '../public-utils/combine.js';
6
+ import { once } from '../public-utils/once.js';
7
+ import { addAttribute } from '../util/add-attribute.js';
8
+ import { androidFallbackText, isAndroid } from '../util/android.js';
9
+ import { getInput } from '../util/get-input.js';
10
+ import { textMediaType } from '../util/media-types/text-media-type.js';
11
+ import { URLMediaType } from '../util/media-types/url-media-type.js';
12
+ import { elementAdapterNativeDataKey } from './element-adapter-native-data-key.js';
13
+
14
+ // Payload for the draggable being dragged
15
+ // eslint-disable-next-line @atlaskit/volt-strict-mode/no-re-exports
16
+
17
+ const draggableRegistry = new WeakMap();
18
+ function addToRegistry(args) {
19
+ draggableRegistry.set(args.element, args);
20
+ return function cleanup() {
21
+ draggableRegistry.delete(args.element);
22
+ };
23
+ }
24
+ const honeyPotFix = makeHoneyPotFix();
25
+ const adapter = makeAdapter({
26
+ typeKey: 'element',
27
+ defaultDropEffect: 'move',
28
+ mount(api) {
29
+ /** Binding event listeners the `document` rather than `window` so that
30
+ * this adapter always gets preference over the text adapter.
31
+ * `document` is the first `EventTarget` under `window`
32
+ * https://twitter.com/alexandereardon/status/1604658588311465985
33
+ */
34
+ return combine(honeyPotFix.bindEvents(), bind(document, {
35
+ type: 'dragstart',
36
+ listener(event) {
37
+ var _entry$dragHandle, _entry$getInitialData, _entry$getInitialData2, _entry$dragHandle2, _entry$getInitialData3, _entry$getInitialData4;
38
+ if (!api.canStart(event)) {
39
+ return;
40
+ }
41
+
42
+ // If the "dragstart" event is cancelled, then a drag won't start
43
+ // There will be no further drag operation events (eg no "dragend" event)
44
+ if (event.defaultPrevented) {
45
+ return;
46
+ }
47
+
48
+ // Technically `dataTransfer` can be `null` according to the types
49
+ // But that behaviour does not seem to appear in the spec.
50
+ // If there is not `dataTransfer`, we can assume something is wrong and not
51
+ // start a drag
52
+ if (!event.dataTransfer) {
53
+ // Including this code on "test" and "development" environments:
54
+ // - Browser tests commonly run against "development" builds
55
+ // - Unit tests commonly run in "test"
56
+ if (process.env.NODE_ENV !== 'production') {
57
+ // eslint-disable-next-line no-console
58
+ console.warn(`
59
+ It appears as though you have are not testing DragEvents correctly.
60
+
61
+ - If you are unit testing, ensure you have polyfilled DragEvent.
62
+ - If you are browser testing, ensure you are dispatching drag events correctly.
63
+
64
+ Please see our testing guides for more information:
65
+ https://atlassian.design/components/pragmatic-drag-and-drop/core-package/testing
66
+ `.replace(/ {2}/g, ''));
67
+ }
68
+ return;
69
+ }
70
+
71
+ // the closest parent that is a draggable element will be marked as
72
+ // the `event.target` for the event
73
+ const target = event.target;
74
+
75
+ // this source is only for elements
76
+ // Note: only HTMLElements can have the "draggable" attribute
77
+ if (!(target instanceof HTMLElement)) {
78
+ return;
79
+ }
80
+
81
+ // see if the thing being dragged is owned by us
82
+ const entry = draggableRegistry.get(target);
83
+
84
+ // no matching element found
85
+ // → dragging an element with `draggable="true"` that is not controlled by us
86
+ if (!entry) {
87
+ return;
88
+ }
89
+
90
+ /**
91
+ * A text selection drag _can_ have the `draggable` element be
92
+ * the `event.target` if the user is dragging the text selection
93
+ * from the `draggable`.
94
+ *
95
+ * To know if the `draggable` is being dragged, we look at whether any
96
+ * `"text/plain"` data is being dragged. If it is, then a text selection
97
+ * drag is occurring.
98
+ *
99
+ * This behaviour has been validated on:
100
+ *
101
+ * - Chrome@128 on Android@14
102
+ * - Chrome@128 on iOS@17.6.1
103
+ * - Chrome@128 on Windows@11
104
+ * - Chrome@128 on MacOS@14.6.1
105
+ * - Firefox@129 on Windows@11 (not possible for user to select text in a draggable)
106
+ * - Firefox@129 on MacOS@14.6.1 (not possible for user to select text in a draggable)
107
+ *
108
+ * Note: Could usually just use: `event.dataTransfer.types.includes(textMediaType)`
109
+ * but unfortunately ProseMirror is always setting `""` as the dragged text
110
+ *
111
+ * Note: Unfortunately editor is (heavily) leaning on the current functionality today
112
+ * and unwinding it will be a decent amount of effort. So for now, a text selection
113
+ * where the `event.target` is a `draggable` element will still trigger the
114
+ * element adapter.
115
+ *
116
+ * // Future state:
117
+ * if(event.dataTransfer.getData(textMediaType)) {
118
+ * return;
119
+ * }
120
+ *
121
+ */
122
+
123
+ const input = getInput(event);
124
+ const feedback = {
125
+ element: entry.element,
126
+ dragHandle: (_entry$dragHandle = entry.dragHandle) !== null && _entry$dragHandle !== void 0 ? _entry$dragHandle : null,
127
+ input
128
+ };
129
+
130
+ // Check: does the draggable want to allow dragging?
131
+ if (entry.canDrag && !entry.canDrag(feedback)) {
132
+ // cancel drag operation if we cannot drag
133
+ event.preventDefault();
134
+ return;
135
+ }
136
+
137
+ // Check: is there a drag handle and is the user using it?
138
+ if (entry.dragHandle) {
139
+ // technically don't need this util, but just being
140
+ // consistent with how we look up what is under the users
141
+ // cursor.
142
+ const over = getElementFromPointWithoutHoneypot({
143
+ x: input.clientX,
144
+ y: input.clientY
145
+ });
146
+
147
+ // if we are not dragging from the drag handle (or something inside the drag handle)
148
+ // then we will cancel the active drag
149
+ if (!entry.dragHandle.contains(over)) {
150
+ event.preventDefault();
151
+ return;
152
+ }
153
+ }
154
+
155
+ /**
156
+ * **Goal**
157
+ * Pass information to other applications
158
+ *
159
+ * **Approach**
160
+ * Put data into the native data store
161
+ *
162
+ * **What about the native adapter?**
163
+ * When the element adapter puts native data into the native data store
164
+ * the native adapter is not triggered in the current window,
165
+ * but a native adapter in an external window _can_ be triggered
166
+ *
167
+ * **Why bake this into core?**
168
+ * This functionality could be pulled out and exposed inside of
169
+ * `onGenerateDragPreview`. But decided to make it a part of the
170
+ * base API as it felt like a common enough use case and ended
171
+ * up being a similar amount of code to include this function as
172
+ * it was to expose the hook for it
173
+ */
174
+ const nativeData = (_entry$getInitialData = (_entry$getInitialData2 = entry.getInitialDataForExternal) === null || _entry$getInitialData2 === void 0 ? void 0 : _entry$getInitialData2.call(entry, feedback)) !== null && _entry$getInitialData !== void 0 ? _entry$getInitialData : null;
175
+ if (nativeData) {
176
+ for (const [key, data] of Object.entries(nativeData)) {
177
+ event.dataTransfer.setData(key, data !== null && data !== void 0 ? data : '');
178
+ }
179
+ }
180
+
181
+ /**
182
+ * 📱 For Android devices, a drag operation will not start unless
183
+ * "text/plain" or "text/uri-list" data exists in the native data store
184
+ * https://twitter.com/alexandereardon/status/1732189803754713424
185
+ *
186
+ * Tested on:
187
+ * Device: Google Pixel 5
188
+ * Android version: 14 (November 5, 2023)
189
+ * Chrome version: 120.0
190
+ */
191
+ if (isAndroid() && !event.dataTransfer.types.includes(textMediaType) && !event.dataTransfer.types.includes(URLMediaType)) {
192
+ event.dataTransfer.setData(textMediaType, androidFallbackText);
193
+ }
194
+
195
+ /**
196
+ * 1. Must set any media type for `iOS15` to work
197
+ * 2. We are also doing adding data so that the native adapter
198
+ * can know that the element adapter has handled this drag
199
+ *
200
+ * We used to wrap this `setData()` in a `try/catch` for Firefox,
201
+ * but it looks like that was not needed.
202
+ *
203
+ * Tested using: https://codesandbox.io/s/checking-firefox-throw-behaviour-on-dragstart-qt8h4f
204
+ *
205
+ * - ✅ Firefox@70.0 (Oct 2019) on macOS Sonoma
206
+ * - ✅ Firefox@70.0 (Oct 2019) on macOS Big Sur
207
+ * - ✅ Firefox@70.0 (Oct 2019) on Windows 10
208
+ *
209
+ * // just checking a few more combinations to be super safe
210
+ *
211
+ * - ✅ Chrome@78 (Oct 2019) on macOS Big Sur
212
+ * - ✅ Chrome@78 (Oct 2019) on Windows 10
213
+ * - ✅ Safari@14.1 on macOS Big Sur
214
+ */
215
+ event.dataTransfer.setData(elementAdapterNativeDataKey, '');
216
+ const payload = {
217
+ element: entry.element,
218
+ dragHandle: (_entry$dragHandle2 = entry.dragHandle) !== null && _entry$dragHandle2 !== void 0 ? _entry$dragHandle2 : null,
219
+ data: (_entry$getInitialData3 = (_entry$getInitialData4 = entry.getInitialData) === null || _entry$getInitialData4 === void 0 ? void 0 : _entry$getInitialData4.call(entry, feedback)) !== null && _entry$getInitialData3 !== void 0 ? _entry$getInitialData3 : {}
220
+ };
221
+ const dragType = {
222
+ type: 'element',
223
+ payload,
224
+ startedFrom: 'internal'
225
+ };
226
+ api.start({
227
+ event,
228
+ dragType
229
+ });
230
+ }
231
+ }));
232
+ },
233
+ dispatchEventToSource: ({
234
+ eventName,
235
+ payload
236
+ }) => {
237
+ var _draggableRegistry$ge, _draggableRegistry$ge2;
238
+ // During a drag operation, a draggable can be:
239
+ // - remounted with different functions
240
+ // - removed completely
241
+ // So we need to get the latest entry from the registry in order
242
+ // to call the latest event functions
243
+
244
+ (_draggableRegistry$ge = draggableRegistry.get(payload.source.element)) === null || _draggableRegistry$ge === void 0 ? void 0 : (_draggableRegistry$ge2 = _draggableRegistry$ge[eventName]) === null || _draggableRegistry$ge2 === void 0 ? void 0 : _draggableRegistry$ge2.call(_draggableRegistry$ge,
245
+ // I cannot seem to get the types right here.
246
+ // TS doesn't seem to like that one event can need `nativeSetDragImage`
247
+ // @ts-expect-error
248
+ payload);
249
+ },
250
+ onPostDispatch: honeyPotFix.getOnPostDispatch()
251
+ });
252
+ export const dropTargetForElements = adapter.dropTarget;
253
+ // eslint-disable-next-line @atlaskit/volt-strict-mode/no-multiple-exports
254
+ export const monitorForElements = adapter.monitor;
255
+
256
+ // eslint-disable-next-line @atlaskit/volt-strict-mode/no-multiple-exports
257
+ export function draggable(args) {
258
+ // Guardrail: warn if the drag handle is not contained in draggable element
259
+ if (process.env.NODE_ENV !== 'production') {
260
+ if (args.dragHandle && !args.element.contains(args.dragHandle)) {
261
+ // eslint-disable-next-line no-console
262
+ console.warn('Drag handle element must be contained in draggable element', {
263
+ element: args.element,
264
+ dragHandle: args.dragHandle
265
+ });
266
+ }
267
+ }
268
+ // Guardrail: warn if the draggable element is already registered
269
+ if (process.env.NODE_ENV !== 'production') {
270
+ const existing = draggableRegistry.get(args.element);
271
+ if (existing) {
272
+ // eslint-disable-next-line no-console
273
+ console.warn('You have already registered a `draggable` on the same element', {
274
+ existing,
275
+ proposed: args
276
+ });
277
+ }
278
+ }
279
+ const cleanup = combine(
280
+ // making the draggable register the adapter rather than drop targets
281
+ // this is because you *must* have a draggable element to start a drag
282
+ // but you _might_ not have any drop targets immediately
283
+ // (You might create drop targets async)
284
+ adapter.registerUsage(), addToRegistry(args), addAttribute(args.element, {
285
+ attribute: 'draggable',
286
+ value: 'true'
287
+ }));
288
+
289
+ // Wrapping in `once` to prevent unexpected side effects if consumers call
290
+ // the clean up function multiple times.
291
+ return once(cleanup);
292
+ }
293
+
294
+ /** Common event payload for all events */
295
+
296
+ /** A map containing payloads for all events */
297
+
298
+ /** Common event payload for all drop target events */
299
+
300
+ /** A map containing payloads for all events on drop targets */
301
+
302
+ /** Arguments given to all feedback functions (eg `canDrag()`) on for a `draggable()` */
303
+
304
+ /** Arguments given to all feedback functions (eg `canDrop()`) on a `dropTargetForElements()` */
305
+
306
+ /** Arguments given to all monitor feedback functions (eg `canMonitor()`) for a `monitorForElements` */
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @deprecated Use `import { draggable, dropTargetForElements, monitorForElements } from '@atlaskit/pragmatic-drag-and-drop/adapter/element-adapter'` instead.
3
+ */
4
+ export { draggable, dropTargetForElements, monitorForElements, type ElementEventBasePayload, type ElementEventPayloadMap, type ElementDropTargetEventBasePayload, type ElementDropTargetEventPayloadMap, type ElementGetFeedbackArgs, type ElementDropTargetGetFeedbackArgs, type ElementMonitorGetFeedbackArgs, } from '../../adapter/element-adapter.js';
5
+ /**
6
+ * @deprecated Use `import { ElementEventBasePayload, ElementEventPayloadMap, ElementDropTargetEventBasePayload, ElementDropTargetEventPayloadMap, ElementGetFeedbackArgs, ElementDropTargetGetFeedbackArgs, ElementMonitorGetFeedbackArgs, ElementDragPayload } from '@atlaskit/pragmatic-drag-and-drop/adapter/element-adapter'` instead.
7
+ */
8
+ export type { ElementDragPayload } from '../../internal-types.js';
@@ -0,0 +1,10 @@
1
+ /* eslint-disable @repo/internal/deprecations/deprecation-ticket-required -- VOLTC-139 tracks removal of these deprecated re-export shims. */
2
+ /**
3
+ * @deprecated Use `import { draggable, dropTargetForElements, monitorForElements } from '@atlaskit/pragmatic-drag-and-drop/adapter/element-adapter'` instead.
4
+ */
5
+
6
+ export { draggable, dropTargetForElements, monitorForElements } from '../../adapter/element-adapter.js';
7
+
8
+ /**
9
+ * @deprecated Use `import { ElementEventBasePayload, ElementEventPayloadMap, ElementDropTargetEventBasePayload, ElementDropTargetEventPayloadMap, ElementGetFeedbackArgs, ElementDropTargetGetFeedbackArgs, ElementMonitorGetFeedbackArgs, ElementDragPayload } from '@atlaskit/pragmatic-drag-and-drop/adapter/element-adapter'` instead.
10
+ */
@@ -0,0 +1,4 @@
1
+ /**
2
+ * @deprecated Use `import { setCustomNativeDragPreview } from '@atlaskit/pragmatic-drag-and-drop/utils/set-custom-native-drag-preview'` instead.
3
+ */
4
+ export { setCustomNativeDragPreview } from '../../public-utils/element/custom-native-drag-preview/set-custom-native-drag-preview.js';
@@ -0,0 +1,6 @@
1
+ /* eslint-disable @repo/internal/deprecations/deprecation-ticket-required -- VOLTC-139 tracks removal of these deprecated re-export shims. */
2
+ /**
3
+ * @deprecated Use `import { setCustomNativeDragPreview } from '@atlaskit/pragmatic-drag-and-drop/utils/set-custom-native-drag-preview'` instead.
4
+ */
5
+
6
+ export { setCustomNativeDragPreview } from '../../public-utils/element/custom-native-drag-preview/set-custom-native-drag-preview.js';
@@ -0,0 +1 @@
1
+ export type { DropTargetAllowedDropEffect, DropTargetRecord, Position, Input, DragLocation, DragLocationHistory, CleanupFn, AllDragTypes, MonitorArgs, BaseEventPayload, ElementDragType, TextSelectionDragType, ExternalDragType, } from '../internal-types.js';
@@ -0,0 +1,12 @@
1
+ import { isHoneyPotElement } from './is-honey-pot-element.js';
2
+ export function getElementFromPointWithoutHoneypot(client) {
3
+ // eslint-disable-next-line no-restricted-syntax
4
+ const [top, second] = document.elementsFromPoint(client.x, client.y);
5
+ if (!top) {
6
+ return null;
7
+ }
8
+ if (isHoneyPotElement(top)) {
9
+ return second !== null && second !== void 0 ? second : null;
10
+ }
11
+ return top;
12
+ }
@@ -0,0 +1,3 @@
1
+ // pulling this into a separate file so adapter(s) that don't
2
+ // need the honey pot can pay as little as possible for it.
3
+ export const honeyPotDataAttribute = 'data-pdnd-honey-pot';
@@ -0,0 +1,4 @@
1
+ import { honeyPotDataAttribute } from './honey-pot-data-attribute.js';
2
+ export function isHoneyPotElement(target) {
3
+ return target instanceof Element && target.hasAttribute(honeyPotDataAttribute);
4
+ }