@helpdice/draggable 0.0.0-stage → 0.0.2

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 (472) hide show
  1. package/LICENSE +13 -0
  2. package/README.md +164 -2
  3. package/dist/draggable.cjs.js +9925 -0
  4. package/dist/draggable.cjs.js.map +1 -0
  5. package/dist/draggable.esm.js +9899 -0
  6. package/dist/draggable.esm.js.map +1 -0
  7. package/dist/types/animation.d.ts +31 -0
  8. package/dist/types/debug/middleware/action-timing-average.d.ts +3 -0
  9. package/dist/types/debug/middleware/action-timing.d.ts +3 -0
  10. package/dist/types/debug/middleware/log.d.ts +4 -0
  11. package/dist/types/debug/middleware/user-timing.d.ts +3 -0
  12. package/dist/types/debug/timings.d.ts +3 -0
  13. package/dist/types/dev-warning.d.ts +4 -0
  14. package/dist/types/empty.d.ts +2 -0
  15. package/dist/types/index.d.ts +8 -0
  16. package/dist/types/invariant.d.ts +4 -0
  17. package/dist/types/native-with-fallback.d.ts +10 -0
  18. package/dist/types/screen-reader-message-preset.d.ts +9 -0
  19. package/dist/types/state/action-creators.d.ts +158 -0
  20. package/dist/types/state/auto-scroller/auto-scroller-types.d.ts +6 -0
  21. package/dist/types/state/auto-scroller/can-scroll.d.ts +19 -0
  22. package/dist/types/state/auto-scroller/fluid-scroller/config.d.ts +11 -0
  23. package/dist/types/state/auto-scroller/fluid-scroller/did-start-in-scrollable-area.d.ts +0 -0
  24. package/dist/types/state/auto-scroller/fluid-scroller/get-best-scrollable-droppable.d.ts +9 -0
  25. package/dist/types/state/auto-scroller/fluid-scroller/get-droppable-scroll-change.d.ts +11 -0
  26. package/dist/types/state/auto-scroller/fluid-scroller/get-percentage.d.ts +7 -0
  27. package/dist/types/state/auto-scroller/fluid-scroller/get-scroll/adjust-for-size-limits.d.ts +8 -0
  28. package/dist/types/state/auto-scroller/fluid-scroller/get-scroll/get-scroll-on-axis/dampen-value-by-time.d.ts +2 -0
  29. package/dist/types/state/auto-scroller/fluid-scroller/get-scroll/get-scroll-on-axis/get-distance-thresholds.d.ts +8 -0
  30. package/dist/types/state/auto-scroller/fluid-scroller/get-scroll/get-scroll-on-axis/get-value-from-distance.d.ts +3 -0
  31. package/dist/types/state/auto-scroller/fluid-scroller/get-scroll/get-scroll-on-axis/get-value.d.ts +9 -0
  32. package/dist/types/state/auto-scroller/fluid-scroller/get-scroll/get-scroll-on-axis/index.d.ts +11 -0
  33. package/dist/types/state/auto-scroller/fluid-scroller/get-scroll/get-scroll-on-axis/min-scroll.d.ts +2 -0
  34. package/dist/types/state/auto-scroller/fluid-scroller/get-scroll/index.d.ts +10 -0
  35. package/dist/types/state/auto-scroller/fluid-scroller/get-window-scroll-change.d.ts +11 -0
  36. package/dist/types/state/auto-scroller/fluid-scroller/index.d.ts +13 -0
  37. package/dist/types/state/auto-scroller/fluid-scroller/scroll.d.ts +11 -0
  38. package/dist/types/state/auto-scroller/index.d.ts +11 -0
  39. package/dist/types/state/auto-scroller/jump-scroller.d.ts +11 -0
  40. package/dist/types/state/axis.d.ts +3 -0
  41. package/dist/types/state/calculate-drag-impact/calculate-reorder-impact.d.ts +13 -0
  42. package/dist/types/state/can-start-drag.d.ts +3 -0
  43. package/dist/types/state/create-store.d.ts +16 -0
  44. package/dist/types/state/did-start-after-critical.d.ts +2 -0
  45. package/dist/types/state/dimension-marshal/dimension-marshal-types.d.ts +23 -0
  46. package/dist/types/state/dimension-marshal/dimension-marshal.d.ts +4 -0
  47. package/dist/types/state/dimension-marshal/get-initial-publish.d.ts +10 -0
  48. package/dist/types/state/dimension-marshal/while-dragging-publisher.d.ts +17 -0
  49. package/dist/types/state/dimension-structures.d.ts +5 -0
  50. package/dist/types/state/droppable/get-droppable.d.ts +21 -0
  51. package/dist/types/state/droppable/is-home-of.d.ts +3 -0
  52. package/dist/types/state/droppable/scroll-droppable.d.ts +4 -0
  53. package/dist/types/state/droppable/should-use-placeholder.d.ts +3 -0
  54. package/dist/types/state/droppable/util/clip.d.ts +3 -0
  55. package/dist/types/state/droppable/util/get-subject.d.ts +10 -0
  56. package/dist/types/state/droppable/what-is-dragged-over-from-result.d.ts +3 -0
  57. package/dist/types/state/droppable/what-is-dragged-over.d.ts +3 -0
  58. package/dist/types/state/droppable/with-placeholder.d.ts +3 -0
  59. package/dist/types/state/get-center-from-impact/get-client-border-box-center/get-client-from-page-border-box-center.d.ts +9 -0
  60. package/dist/types/state/get-center-from-impact/get-client-border-box-center/index.d.ts +12 -0
  61. package/dist/types/state/get-center-from-impact/get-page-border-box-center/index.d.ts +11 -0
  62. package/dist/types/state/get-center-from-impact/get-page-border-box-center/when-combining.d.ts +9 -0
  63. package/dist/types/state/get-center-from-impact/get-page-border-box-center/when-reordering.d.ts +11 -0
  64. package/dist/types/state/get-center-from-impact/move-relative-to.d.ts +16 -0
  65. package/dist/types/state/get-combined-item-displacement.d.ts +10 -0
  66. package/dist/types/state/get-displaced-by.d.ts +4 -0
  67. package/dist/types/state/get-displacement-groups.d.ts +12 -0
  68. package/dist/types/state/get-drag-impact/get-combine-impact.d.ts +13 -0
  69. package/dist/types/state/get-drag-impact/get-reorder-impact.d.ts +13 -0
  70. package/dist/types/state/get-drag-impact/index.d.ts +13 -0
  71. package/dist/types/state/get-draggables-inside-droppable.d.ts +3 -0
  72. package/dist/types/state/get-droppable-over.d.ts +9 -0
  73. package/dist/types/state/get-frame.d.ts +3 -0
  74. package/dist/types/state/get-home-location.d.ts +3 -0
  75. package/dist/types/state/get-impact-location.d.ts +3 -0
  76. package/dist/types/state/get-is-displaced.d.ts +7 -0
  77. package/dist/types/state/get-lift-effect.d.ts +13 -0
  78. package/dist/types/state/get-max-scroll.d.ts +9 -0
  79. package/dist/types/state/is-movement-allowed.d.ts +2 -0
  80. package/dist/types/state/is-within.d.ts +2 -0
  81. package/dist/types/state/middleware/auto-scroll.d.ts +4 -0
  82. package/dist/types/state/middleware/dimension-marshal-stopper.d.ts +4 -0
  83. package/dist/types/state/middleware/drop/drop-animation-finish-middleware.d.ts +3 -0
  84. package/dist/types/state/middleware/drop/drop-animation-flush-on-scroll-middleware.d.ts +3 -0
  85. package/dist/types/state/middleware/drop/drop-middleware.d.ts +3 -0
  86. package/dist/types/state/middleware/drop/get-drop-duration.d.ts +9 -0
  87. package/dist/types/state/middleware/drop/get-drop-impact.d.ts +16 -0
  88. package/dist/types/state/middleware/drop/get-new-home-client-offset.d.ts +11 -0
  89. package/dist/types/state/middleware/drop/index.d.ts +1 -0
  90. package/dist/types/state/middleware/focus.d.ts +4 -0
  91. package/dist/types/state/middleware/lift.d.ts +4 -0
  92. package/dist/types/state/middleware/pending-drop.d.ts +3 -0
  93. package/dist/types/state/middleware/responders/async-marshal.d.ts +9 -0
  94. package/dist/types/state/middleware/responders/expiring-announce.d.ts +6 -0
  95. package/dist/types/state/middleware/responders/index.d.ts +1 -0
  96. package/dist/types/state/middleware/responders/is-equal.d.ts +4 -0
  97. package/dist/types/state/middleware/responders/publisher.d.ts +17 -0
  98. package/dist/types/state/middleware/responders/responders-middleware.d.ts +4 -0
  99. package/dist/types/state/middleware/scroll-listener.d.ts +3 -0
  100. package/dist/types/state/middleware/style.d.ts +4 -0
  101. package/dist/types/state/middleware/util/validate-dimensions.d.ts +2 -0
  102. package/dist/types/state/move-in-direction/index.d.ts +8 -0
  103. package/dist/types/state/move-in-direction/move-cross-axis/get-best-cross-axis-droppable.d.ts +11 -0
  104. package/dist/types/state/move-in-direction/move-cross-axis/get-closest-draggable.d.ts +11 -0
  105. package/dist/types/state/move-in-direction/move-cross-axis/index.d.ts +15 -0
  106. package/dist/types/state/move-in-direction/move-cross-axis/move-to-new-droppable.d.ts +14 -0
  107. package/dist/types/state/move-in-direction/move-cross-axis/without-starting-displacement.d.ts +4 -0
  108. package/dist/types/state/move-in-direction/move-in-direction-types.d.ts +7 -0
  109. package/dist/types/state/move-in-direction/move-to-next-place/index.d.ts +16 -0
  110. package/dist/types/state/move-in-direction/move-to-next-place/is-totally-visible-in-new-location.d.ts +12 -0
  111. package/dist/types/state/move-in-direction/move-to-next-place/move-to-next-combine/index.d.ts +10 -0
  112. package/dist/types/state/move-in-direction/move-to-next-place/move-to-next-index/from-combine.d.ts +11 -0
  113. package/dist/types/state/move-in-direction/move-to-next-place/move-to-next-index/from-reorder.d.ts +9 -0
  114. package/dist/types/state/move-in-direction/move-to-next-place/move-to-next-index/index.d.ts +14 -0
  115. package/dist/types/state/no-impact.d.ts +6 -0
  116. package/dist/types/state/patch-dimension-map.d.ts +3 -0
  117. package/dist/types/state/patch-droppable-map.d.ts +3 -0
  118. package/dist/types/state/position.d.ts +10 -0
  119. package/dist/types/state/post-reducer/when-moving/refresh-snap.d.ts +8 -0
  120. package/dist/types/state/post-reducer/when-moving/update.d.ts +12 -0
  121. package/dist/types/state/publish-while-dragging-in-virtual/adjust-additions-for-scroll-changes.d.ts +8 -0
  122. package/dist/types/state/publish-while-dragging-in-virtual/index.d.ts +7 -0
  123. package/dist/types/state/publish-while-dragging-in-virtual/offset-draggable.d.ts +9 -0
  124. package/dist/types/state/recompute-placeholders.d.ts +10 -0
  125. package/dist/types/state/rect.d.ts +2 -0
  126. package/dist/types/state/reducer.d.ts +5 -0
  127. package/dist/types/state/registry/create-registry.d.ts +2 -0
  128. package/dist/types/state/registry/registry-types.d.ts +62 -0
  129. package/dist/types/state/registry/use-registry.d.ts +2 -0
  130. package/dist/types/state/remove-draggable-from-list.d.ts +3 -0
  131. package/dist/types/state/scroll-viewport.d.ts +4 -0
  132. package/dist/types/state/spacing.d.ts +6 -0
  133. package/dist/types/state/store-types.d.ts +10 -0
  134. package/dist/types/state/update-displacement-visibility/recompute.d.ts +10 -0
  135. package/dist/types/state/update-displacement-visibility/speculatively-increase.d.ts +11 -0
  136. package/dist/types/state/visibility/is-partially-visible-through-frame.d.ts +3 -0
  137. package/dist/types/state/visibility/is-position-in-frame.d.ts +2 -0
  138. package/dist/types/state/visibility/is-totally-visible-through-frame-on-axis.d.ts +4 -0
  139. package/dist/types/state/visibility/is-totally-visible-through-frame.d.ts +3 -0
  140. package/dist/types/state/visibility/is-visible.d.ts +13 -0
  141. package/dist/types/state/with-scroll-change/with-all-displacement.d.ts +4 -0
  142. package/dist/types/state/with-scroll-change/with-droppable-displacement.d.ts +4 -0
  143. package/dist/types/state/with-scroll-change/with-droppable-scroll.d.ts +4 -0
  144. package/dist/types/state/with-scroll-change/with-viewport-displacement.d.ts +4 -0
  145. package/dist/types/types.d.ts +323 -0
  146. package/dist/types/view/animate-in-out/animate-in-out.d.ts +24 -0
  147. package/dist/types/view/animate-in-out/index.d.ts +1 -0
  148. package/dist/types/view/check-is-valid-inner-ref.d.ts +1 -0
  149. package/dist/types/view/context/app-context.d.ts +16 -0
  150. package/dist/types/view/context/droppable-context.d.ts +9 -0
  151. package/dist/types/view/context/hooks.d.ts +3 -0
  152. package/dist/types/view/context/store-context.d.ts +4 -0
  153. package/dist/types/view/data-attributes.d.ts +22 -0
  154. package/dist/types/view/drag-drop-context/app.d.ts +13 -0
  155. package/dist/types/view/drag-drop-context/check-doctype.d.ts +2 -0
  156. package/dist/types/view/drag-drop-context/check-react-version.d.ts +2 -0
  157. package/dist/types/view/drag-drop-context/drag-drop-context-types.d.ts +5 -0
  158. package/dist/types/view/drag-drop-context/drag-drop-context.d.ts +12 -0
  159. package/dist/types/view/drag-drop-context/error-boundary.d.ts +20 -0
  160. package/dist/types/view/drag-drop-context/index.d.ts +1 -0
  161. package/dist/types/view/drag-drop-context/use-startup-validation.d.ts +1 -0
  162. package/dist/types/view/drag-drop-context/use-unique-context-id.d.ts +3 -0
  163. package/dist/types/view/draggable/connected-draggable.d.ts +5 -0
  164. package/dist/types/view/draggable/draggable-api.d.ts +3 -0
  165. package/dist/types/view/draggable/draggable-types.d.ts +106 -0
  166. package/dist/types/view/draggable/draggable.d.ts +2 -0
  167. package/dist/types/view/draggable/get-style.d.ts +3 -0
  168. package/dist/types/view/draggable/index.d.ts +1 -0
  169. package/dist/types/view/draggable/use-validation.d.ts +4 -0
  170. package/dist/types/view/droppable/connected-droppable.d.ts +7 -0
  171. package/dist/types/view/droppable/droppable-types.d.ts +50 -0
  172. package/dist/types/view/droppable/droppable.d.ts +2 -0
  173. package/dist/types/view/droppable/index.d.ts +1 -0
  174. package/dist/types/view/droppable/use-validation.d.ts +8 -0
  175. package/dist/types/view/event-bindings/bind-events.d.ts +2 -0
  176. package/dist/types/view/event-bindings/event-types.d.ts +10 -0
  177. package/dist/types/view/get-body-element.d.ts +2 -0
  178. package/dist/types/view/get-border-box-center-position.d.ts +3 -0
  179. package/dist/types/view/get-document-element.d.ts +2 -0
  180. package/dist/types/view/get-elements/find-drag-handle.d.ts +2 -0
  181. package/dist/types/view/get-elements/find-draggable.d.ts +2 -0
  182. package/dist/types/view/is-strict-equal.d.ts +2 -0
  183. package/dist/types/view/is-type-of-element/is-element.d.ts +1 -0
  184. package/dist/types/view/is-type-of-element/is-html-element.d.ts +1 -0
  185. package/dist/types/view/is-type-of-element/is-svg-element.d.ts +1 -0
  186. package/dist/types/view/key-codes.d.ts +12 -0
  187. package/dist/types/view/placeholder/index.d.ts +1 -0
  188. package/dist/types/view/placeholder/placeholder-types.d.ts +14 -0
  189. package/dist/types/view/placeholder/placeholder.d.ts +28 -0
  190. package/dist/types/view/scroll-listener.d.ts +12 -0
  191. package/dist/types/view/throw-if-invalid-inner-ref.d.ts +2 -0
  192. package/dist/types/view/use-announcer/index.d.ts +1 -0
  193. package/dist/types/view/use-announcer/use-announcer.d.ts +3 -0
  194. package/dist/types/view/use-dev-setup-warning.d.ts +1 -0
  195. package/dist/types/view/use-dev.d.ts +1 -0
  196. package/dist/types/view/use-draggable-publisher/get-dimension.d.ts +3 -0
  197. package/dist/types/view/use-draggable-publisher/index.d.ts +1 -0
  198. package/dist/types/view/use-draggable-publisher/use-draggable-publisher.d.ts +8 -0
  199. package/dist/types/view/use-droppable-publisher/check-for-nested-scroll-container.d.ts +2 -0
  200. package/dist/types/view/use-droppable-publisher/get-closest-scrollable.d.ts +2 -0
  201. package/dist/types/view/use-droppable-publisher/get-dimension.d.ts +15 -0
  202. package/dist/types/view/use-droppable-publisher/get-env.d.ts +6 -0
  203. package/dist/types/view/use-droppable-publisher/get-listener-options.d.ts +5 -0
  204. package/dist/types/view/use-droppable-publisher/get-scroll.d.ts +3 -0
  205. package/dist/types/view/use-droppable-publisher/index.d.ts +1 -0
  206. package/dist/types/view/use-droppable-publisher/is-in-fixed-container.d.ts +2 -0
  207. package/dist/types/view/use-droppable-publisher/use-droppable-publisher.d.ts +13 -0
  208. package/dist/types/view/use-focus-marshal/focus-marshal-types.d.ts +9 -0
  209. package/dist/types/view/use-focus-marshal/index.d.ts +1 -0
  210. package/dist/types/view/use-focus-marshal/use-focus-marshal.d.ts +3 -0
  211. package/dist/types/view/use-hidden-text-element/index.d.ts +1 -0
  212. package/dist/types/view/use-hidden-text-element/use-hidden-text-element.d.ts +12 -0
  213. package/dist/types/view/use-isomorphic-layout-effect.d.ts +3 -0
  214. package/dist/types/view/use-previous-ref.d.ts +1 -0
  215. package/dist/types/view/use-required-context.d.ts +2 -0
  216. package/dist/types/view/use-sensor-marshal/closest.d.ts +1 -0
  217. package/dist/types/view/use-sensor-marshal/find-closest-draggable-id-from-event.d.ts +2 -0
  218. package/dist/types/view/use-sensor-marshal/index.d.ts +4 -0
  219. package/dist/types/view/use-sensor-marshal/is-event-in-interactive-element.d.ts +5 -0
  220. package/dist/types/view/use-sensor-marshal/lock.d.ts +11 -0
  221. package/dist/types/view/use-sensor-marshal/sensors/use-keyboard-sensor.d.ts +2 -0
  222. package/dist/types/view/use-sensor-marshal/sensors/use-mouse-sensor.d.ts +4 -0
  223. package/dist/types/view/use-sensor-marshal/sensors/use-touch-sensor.d.ts +4 -0
  224. package/dist/types/view/use-sensor-marshal/sensors/util/prevent-standard-key-events.d.ts +2 -0
  225. package/dist/types/view/use-sensor-marshal/sensors/util/supported-page-visibility-event-name.d.ts +2 -0
  226. package/dist/types/view/use-sensor-marshal/use-sensor-marshal.d.ts +12 -0
  227. package/dist/types/view/use-sensor-marshal/use-validate-sensor-hooks.d.ts +2 -0
  228. package/dist/types/view/use-style-marshal/get-styles.d.ts +10 -0
  229. package/dist/types/view/use-style-marshal/index.d.ts +1 -0
  230. package/dist/types/view/use-style-marshal/style-marshal-types.d.ts +6 -0
  231. package/dist/types/view/use-style-marshal/use-style-marshal.d.ts +3 -0
  232. package/dist/types/view/use-unique-id.d.ts +7 -0
  233. package/dist/types/view/visually-hidden-style.d.ts +2 -0
  234. package/dist/types/view/window/get-max-window-scroll.d.ts +3 -0
  235. package/dist/types/view/window/get-viewport.d.ts +3 -0
  236. package/dist/types/view/window/get-window-from-el.d.ts +2 -0
  237. package/dist/types/view/window/get-window-scroll.d.ts +3 -0
  238. package/dist/types/view/window/scroll-window.d.ts +3 -0
  239. package/package.json +157 -4
  240. package/src/animation.ts +75 -0
  241. package/src/debug/middleware/action-timing-average.ts +52 -0
  242. package/src/debug/middleware/action-timing.ts +16 -0
  243. package/src/debug/middleware/log.ts +26 -0
  244. package/src/debug/middleware/user-timing.ts +16 -0
  245. package/src/debug/timings.ts +87 -0
  246. package/src/dev-warning.ts +50 -0
  247. package/src/empty.ts +6 -0
  248. package/src/index.ts +67 -0
  249. package/src/invariant.ts +64 -0
  250. package/src/native-with-fallback.ts +69 -0
  251. package/src/screen-reader-message-preset.ts +135 -0
  252. package/src/state/action-creators.ts +358 -0
  253. package/src/state/auto-scroller/auto-scroller-types.ts +8 -0
  254. package/src/state/auto-scroller/can-scroll.ts +320 -0
  255. package/src/state/auto-scroller/fluid-scroller/config.ts +25 -0
  256. package/src/state/auto-scroller/fluid-scroller/did-start-in-scrollable-area.ts +1 -0
  257. package/src/state/auto-scroller/fluid-scroller/get-best-scrollable-droppable.ts +77 -0
  258. package/src/state/auto-scroller/fluid-scroller/get-droppable-scroll-change.ts +39 -0
  259. package/src/state/auto-scroller/fluid-scroller/get-percentage.ts +25 -0
  260. package/src/state/auto-scroller/fluid-scroller/get-scroll/adjust-for-size-limits.ts +30 -0
  261. package/src/state/auto-scroller/fluid-scroller/get-scroll/get-scroll-on-axis/dampen-value-by-time.ts +37 -0
  262. package/src/state/auto-scroller/fluid-scroller/get-scroll/get-scroll-on-axis/get-distance-thresholds.ts +25 -0
  263. package/src/state/auto-scroller/fluid-scroller/get-scroll/get-scroll-on-axis/get-value-from-distance.ts +61 -0
  264. package/src/state/auto-scroller/fluid-scroller/get-scroll/get-scroll-on-axis/get-value.ts +39 -0
  265. package/src/state/auto-scroller/fluid-scroller/get-scroll/get-scroll-on-axis/index.ts +46 -0
  266. package/src/state/auto-scroller/fluid-scroller/get-scroll/get-scroll-on-axis/min-scroll.ts +4 -0
  267. package/src/state/auto-scroller/fluid-scroller/get-scroll/index.ts +76 -0
  268. package/src/state/auto-scroller/fluid-scroller/get-window-scroll-change.ts +31 -0
  269. package/src/state/auto-scroller/fluid-scroller/index.ts +91 -0
  270. package/src/state/auto-scroller/fluid-scroller/scroll.ts +72 -0
  271. package/src/state/auto-scroller/index.ts +56 -0
  272. package/src/state/auto-scroller/jump-scroller.ts +140 -0
  273. package/src/state/axis.ts +26 -0
  274. package/src/state/calculate-drag-impact/calculate-reorder-impact.ts +138 -0
  275. package/src/state/can-start-drag.ts +29 -0
  276. package/src/state/create-store.ts +98 -0
  277. package/src/state/did-start-after-critical.ts +9 -0
  278. package/src/state/dimension-marshal/dimension-marshal-types.ts +49 -0
  279. package/src/state/dimension-marshal/dimension-marshal.ts +219 -0
  280. package/src/state/dimension-marshal/get-initial-publish.ts +66 -0
  281. package/src/state/dimension-marshal/while-dragging-publisher.ts +146 -0
  282. package/src/state/dimension-structures.ts +35 -0
  283. package/src/state/droppable/get-droppable.ts +103 -0
  284. package/src/state/droppable/is-home-of.ts +7 -0
  285. package/src/state/droppable/scroll-droppable.ts +53 -0
  286. package/src/state/droppable/should-use-placeholder.ts +7 -0
  287. package/src/state/droppable/util/clip.ts +17 -0
  288. package/src/state/droppable/util/get-subject.ts +63 -0
  289. package/src/state/droppable/what-is-dragged-over-from-result.ts +16 -0
  290. package/src/state/droppable/what-is-dragged-over.ts +16 -0
  291. package/src/state/droppable/with-placeholder.ts +174 -0
  292. package/src/state/get-center-from-impact/get-client-border-box-center/get-client-from-page-border-box-center.ts +30 -0
  293. package/src/state/get-center-from-impact/get-client-border-box-center/index.ts +45 -0
  294. package/src/state/get-center-from-impact/get-page-border-box-center/index.ts +71 -0
  295. package/src/state/get-center-from-impact/get-page-border-box-center/when-combining.ts +40 -0
  296. package/src/state/get-center-from-impact/get-page-border-box-center/when-reordering.ts +113 -0
  297. package/src/state/get-center-from-impact/move-relative-to.ts +68 -0
  298. package/src/state/get-combined-item-displacement.ts +35 -0
  299. package/src/state/get-displaced-by.ts +17 -0
  300. package/src/state/get-displacement-groups.ts +131 -0
  301. package/src/state/get-drag-impact/get-combine-impact.ts +131 -0
  302. package/src/state/get-drag-impact/get-reorder-impact.ts +145 -0
  303. package/src/state/get-drag-impact/index.ts +94 -0
  304. package/src/state/get-draggables-inside-droppable.ts +31 -0
  305. package/src/state/get-droppable-over.ts +161 -0
  306. package/src/state/get-frame.ts +10 -0
  307. package/src/state/get-home-location.ts +7 -0
  308. package/src/state/get-impact-location.ts +16 -0
  309. package/src/state/get-is-displaced.ts +12 -0
  310. package/src/state/get-lift-effect.ts +84 -0
  311. package/src/state/get-max-scroll.ts +32 -0
  312. package/src/state/is-movement-allowed.ts +13 -0
  313. package/src/state/is-within.ts +9 -0
  314. package/src/state/middleware/auto-scroll.ts +38 -0
  315. package/src/state/middleware/dimension-marshal-stopper.ts +20 -0
  316. package/src/state/middleware/drop/drop-animation-finish-middleware.ts +21 -0
  317. package/src/state/middleware/drop/drop-animation-flush-on-scroll-middleware.ts +63 -0
  318. package/src/state/middleware/drop/drop-middleware.ts +146 -0
  319. package/src/state/middleware/drop/get-drop-duration.ts +48 -0
  320. package/src/state/middleware/drop/get-drop-impact.ts +79 -0
  321. package/src/state/middleware/drop/get-new-home-client-offset.ts +55 -0
  322. package/src/state/middleware/drop/index.ts +2 -0
  323. package/src/state/middleware/focus.ts +42 -0
  324. package/src/state/middleware/lift.ts +66 -0
  325. package/src/state/middleware/pending-drop.ts +37 -0
  326. package/src/state/middleware/responders/async-marshal.ts +58 -0
  327. package/src/state/middleware/responders/expiring-announce.ts +44 -0
  328. package/src/state/middleware/responders/index.ts +2 -0
  329. package/src/state/middleware/responders/is-equal.ts +57 -0
  330. package/src/state/middleware/responders/publisher.ts +255 -0
  331. package/src/state/middleware/responders/responders-middleware.ts +81 -0
  332. package/src/state/middleware/scroll-listener.ts +31 -0
  333. package/src/state/middleware/style.ts +22 -0
  334. package/src/state/middleware/util/validate-dimensions.ts +71 -0
  335. package/src/state/move-in-direction/index.ts +85 -0
  336. package/src/state/move-in-direction/move-cross-axis/get-best-cross-axis-droppable.ts +169 -0
  337. package/src/state/move-in-direction/move-cross-axis/get-closest-draggable.ts +80 -0
  338. package/src/state/move-in-direction/move-cross-axis/index.ts +110 -0
  339. package/src/state/move-in-direction/move-cross-axis/move-to-new-droppable.ts +122 -0
  340. package/src/state/move-in-direction/move-cross-axis/without-starting-displacement.ts +31 -0
  341. package/src/state/move-in-direction/move-in-direction-types.ts +10 -0
  342. package/src/state/move-in-direction/move-to-next-place/index.ts +133 -0
  343. package/src/state/move-in-direction/move-to-next-place/is-totally-visible-in-new-location.ts +53 -0
  344. package/src/state/move-in-direction/move-to-next-place/move-to-next-combine/index.ts +98 -0
  345. package/src/state/move-in-direction/move-to-next-place/move-to-next-index/from-combine.ts +53 -0
  346. package/src/state/move-in-direction/move-to-next-place/move-to-next-index/from-reorder.ts +44 -0
  347. package/src/state/move-in-direction/move-to-next-place/move-to-next-index/index.ts +87 -0
  348. package/src/state/no-impact.ts +33 -0
  349. package/src/state/patch-dimension-map.ts +11 -0
  350. package/src/state/patch-droppable-map.ts +10 -0
  351. package/src/state/position.ts +65 -0
  352. package/src/state/post-reducer/when-moving/refresh-snap.ts +68 -0
  353. package/src/state/post-reducer/when-moving/update.ts +121 -0
  354. package/src/state/publish-while-dragging-in-virtual/adjust-additions-for-scroll-changes.ts +59 -0
  355. package/src/state/publish-while-dragging-in-virtual/index.ts +159 -0
  356. package/src/state/publish-while-dragging-in-virtual/offset-draggable.ts +36 -0
  357. package/src/state/recompute-placeholders.ts +101 -0
  358. package/src/state/rect.ts +7 -0
  359. package/src/state/reducer.ts +467 -0
  360. package/src/state/registry/create-registry.ts +162 -0
  361. package/src/state/registry/registry-types.ts +106 -0
  362. package/src/state/registry/use-registry.ts +20 -0
  363. package/src/state/remove-draggable-from-list.ts +13 -0
  364. package/src/state/scroll-viewport.ts +34 -0
  365. package/src/state/spacing.ts +45 -0
  366. package/src/state/store-types.ts +19 -0
  367. package/src/state/update-displacement-visibility/recompute.ts +55 -0
  368. package/src/state/update-displacement-visibility/speculatively-increase.ts +112 -0
  369. package/src/state/visibility/is-partially-visible-through-frame.ts +60 -0
  370. package/src/state/visibility/is-position-in-frame.ts +12 -0
  371. package/src/state/visibility/is-totally-visible-through-frame-on-axis.ts +19 -0
  372. package/src/state/visibility/is-totally-visible-through-frame.ts +18 -0
  373. package/src/state/visibility/is-visible.ts +102 -0
  374. package/src/state/with-scroll-change/with-all-displacement.ts +15 -0
  375. package/src/state/with-scroll-change/with-droppable-displacement.ts +13 -0
  376. package/src/state/with-scroll-change/with-droppable-scroll.ts +13 -0
  377. package/src/state/with-scroll-change/with-viewport-displacement.ts +7 -0
  378. package/src/types/redux-devtools.d.ts +17 -0
  379. package/src/types.ts +495 -0
  380. package/src/view/animate-in-out/animate-in-out.tsx +98 -0
  381. package/src/view/animate-in-out/index.ts +2 -0
  382. package/src/view/check-is-valid-inner-ref.ts +15 -0
  383. package/src/view/context/app-context.ts +19 -0
  384. package/src/view/context/droppable-context.ts +12 -0
  385. package/src/view/context/hooks.ts +21 -0
  386. package/src/view/context/store-context.ts +8 -0
  387. package/src/view/data-attributes.ts +37 -0
  388. package/src/view/drag-drop-context/app.tsx +300 -0
  389. package/src/view/drag-drop-context/check-doctype.ts +39 -0
  390. package/src/view/drag-drop-context/check-react-version.ts +72 -0
  391. package/src/view/drag-drop-context/drag-drop-context-types.ts +8 -0
  392. package/src/view/drag-drop-context/drag-drop-context.tsx +60 -0
  393. package/src/view/drag-drop-context/error-boundary.tsx +89 -0
  394. package/src/view/drag-drop-context/index.ts +2 -0
  395. package/src/view/drag-drop-context/use-startup-validation.ts +13 -0
  396. package/src/view/drag-drop-context/use-unique-context-id.ts +13 -0
  397. package/src/view/draggable/connected-draggable.tsx +420 -0
  398. package/src/view/draggable/draggable-api.tsx +48 -0
  399. package/src/view/draggable/draggable-types.ts +204 -0
  400. package/src/view/draggable/draggable.tsx +167 -0
  401. package/src/view/draggable/get-style.ts +109 -0
  402. package/src/view/draggable/index.ts +2 -0
  403. package/src/view/draggable/use-validation.ts +70 -0
  404. package/src/view/droppable/connected-droppable.tsx +597 -0
  405. package/src/view/droppable/droppable-types.ts +96 -0
  406. package/src/view/droppable/droppable.tsx +167 -0
  407. package/src/view/droppable/index.ts +2 -0
  408. package/src/view/droppable/use-validation.ts +102 -0
  409. package/src/view/event-bindings/bind-events.ts +39 -0
  410. package/src/view/event-bindings/event-types.ts +15 -0
  411. package/src/view/get-body-element.ts +8 -0
  412. package/src/view/get-border-box-center-position.ts +5 -0
  413. package/src/view/get-document-element.ts +8 -0
  414. package/src/view/get-elements/find-drag-handle.ts +38 -0
  415. package/src/view/get-elements/find-draggable.ts +30 -0
  416. package/src/view/is-strict-equal.ts +2 -0
  417. package/src/view/is-type-of-element/is-element.ts +10 -0
  418. package/src/view/is-type-of-element/is-html-element.ts +10 -0
  419. package/src/view/is-type-of-element/is-svg-element.ts +22 -0
  420. package/src/view/key-codes.ts +13 -0
  421. package/src/view/placeholder/index.ts +2 -0
  422. package/src/view/placeholder/placeholder-types.ts +16 -0
  423. package/src/view/placeholder/placeholder.tsx +204 -0
  424. package/src/view/scroll-listener.ts +74 -0
  425. package/src/view/throw-if-invalid-inner-ref.ts +15 -0
  426. package/src/view/use-announcer/index.ts +2 -0
  427. package/src/view/use-announcer/use-announcer.ts +80 -0
  428. package/src/view/use-dev-setup-warning.ts +22 -0
  429. package/src/view/use-dev.ts +9 -0
  430. package/src/view/use-draggable-publisher/get-dimension.ts +44 -0
  431. package/src/view/use-draggable-publisher/index.ts +2 -0
  432. package/src/view/use-draggable-publisher/use-draggable-publisher.ts +87 -0
  433. package/src/view/use-droppable-publisher/check-for-nested-scroll-container.ts +27 -0
  434. package/src/view/use-droppable-publisher/get-closest-scrollable.ts +96 -0
  435. package/src/view/use-droppable-publisher/get-dimension.ts +140 -0
  436. package/src/view/use-droppable-publisher/get-env.ts +32 -0
  437. package/src/view/use-droppable-publisher/get-listener-options.ts +12 -0
  438. package/src/view/use-droppable-publisher/get-scroll.ts +7 -0
  439. package/src/view/use-droppable-publisher/index.ts +2 -0
  440. package/src/view/use-droppable-publisher/is-in-fixed-container.ts +21 -0
  441. package/src/view/use-droppable-publisher/use-droppable-publisher.ts +288 -0
  442. package/src/view/use-focus-marshal/focus-marshal-types.ts +14 -0
  443. package/src/view/use-focus-marshal/index.ts +2 -0
  444. package/src/view/use-focus-marshal/use-focus-marshal.ts +128 -0
  445. package/src/view/use-hidden-text-element/index.ts +2 -0
  446. package/src/view/use-hidden-text-element/use-hidden-text-element.ts +62 -0
  447. package/src/view/use-isomorphic-layout-effect.ts +18 -0
  448. package/src/view/use-previous-ref.ts +26 -0
  449. package/src/view/use-required-context.ts +22 -0
  450. package/src/view/use-sensor-marshal/closest.ts +89 -0
  451. package/src/view/use-sensor-marshal/find-closest-draggable-id-from-event.ts +50 -0
  452. package/src/view/use-sensor-marshal/index.ts +5 -0
  453. package/src/view/use-sensor-marshal/is-event-in-interactive-element.ts +67 -0
  454. package/src/view/use-sensor-marshal/lock.ts +50 -0
  455. package/src/view/use-sensor-marshal/sensors/use-keyboard-sensor.ts +243 -0
  456. package/src/view/use-sensor-marshal/sensors/use-mouse-sensor.ts +391 -0
  457. package/src/view/use-sensor-marshal/sensors/use-touch-sensor.ts +481 -0
  458. package/src/view/use-sensor-marshal/sensors/util/prevent-standard-key-events.ts +19 -0
  459. package/src/view/use-sensor-marshal/sensors/util/supported-page-visibility-event-name.ts +29 -0
  460. package/src/view/use-sensor-marshal/use-sensor-marshal.ts +504 -0
  461. package/src/view/use-sensor-marshal/use-validate-sensor-hooks.ts +20 -0
  462. package/src/view/use-style-marshal/get-styles.ts +173 -0
  463. package/src/view/use-style-marshal/index.ts +2 -0
  464. package/src/view/use-style-marshal/style-marshal-types.ts +9 -0
  465. package/src/view/use-style-marshal/use-style-marshal.ts +126 -0
  466. package/src/view/use-unique-id.ts +25 -0
  467. package/src/view/visually-hidden-style.ts +16 -0
  468. package/src/view/window/get-max-window-scroll.ts +19 -0
  469. package/src/view/window/get-viewport.ts +49 -0
  470. package/src/view/window/get-window-from-el.ts +12 -0
  471. package/src/view/window/get-window-scroll.ts +30 -0
  472. package/src/view/window/scroll-window.ts +7 -0
@@ -0,0 +1,8 @@
1
+ import type { StateWhenUpdatesAllowed, DimensionMap, Viewport } from '../../../types';
2
+ type Args = {
3
+ state: StateWhenUpdatesAllowed;
4
+ dimensions?: DimensionMap;
5
+ viewport?: Viewport;
6
+ };
7
+ declare const _default: ({ state, dimensions: forcedDimensions, viewport: forcedViewport, }: Args) => StateWhenUpdatesAllowed;
8
+ export default _default;
@@ -0,0 +1,12 @@
1
+ import type { Position } from 'css-box-model';
2
+ import type { DragImpact, Viewport, DimensionMap, StateWhenUpdatesAllowed } from '../../../types';
3
+ type Args = {
4
+ state: StateWhenUpdatesAllowed;
5
+ clientSelection?: Position;
6
+ dimensions?: DimensionMap;
7
+ viewport?: Viewport;
8
+ impact?: DragImpact | null;
9
+ scrollJumpRequest?: Position | null;
10
+ };
11
+ declare const _default: ({ state, clientSelection: forcedClientSelection, dimensions: forcedDimensions, viewport: forcedViewport, impact: forcedImpact, scrollJumpRequest, }: Args) => StateWhenUpdatesAllowed;
12
+ export default _default;
@@ -0,0 +1,8 @@
1
+ import type { Viewport, DraggableDimension, DroppableDimensionMap } from '../../types';
2
+ type Args = {
3
+ additions: DraggableDimension[];
4
+ updatedDroppables: DroppableDimensionMap;
5
+ viewport: Viewport;
6
+ };
7
+ declare const _default: ({ additions, updatedDroppables, viewport, }: Args) => DraggableDimension[];
8
+ export default _default;
@@ -0,0 +1,7 @@
1
+ import type { DraggingState, CollectingState, DropPendingState, Published } from '../../types';
2
+ type Args = {
3
+ state: CollectingState | DropPendingState;
4
+ published: Published;
5
+ };
6
+ declare const _default: ({ state, published, }: Args) => DraggingState | DropPendingState;
7
+ export default _default;
@@ -0,0 +1,9 @@
1
+ import { type Position } from 'css-box-model';
2
+ import type { DraggableDimension } from '../../types';
3
+ type Args = {
4
+ draggable: DraggableDimension;
5
+ offset: Position;
6
+ initialWindowScroll: Position;
7
+ };
8
+ declare const _default: ({ draggable, offset, initialWindowScroll, }: Args) => DraggableDimension;
9
+ export default _default;
@@ -0,0 +1,10 @@
1
+ import type { DraggableDimensionMap, DroppableDimensionMap, DraggableDimension, DragImpact } from '../types';
2
+ type Args = {
3
+ draggable: DraggableDimension;
4
+ draggables: DraggableDimensionMap;
5
+ droppables: DroppableDimensionMap;
6
+ impact: DragImpact;
7
+ previousImpact: DragImpact;
8
+ };
9
+ declare const _default: ({ draggable, draggables, droppables, previousImpact, impact, }: Args) => DroppableDimensionMap;
10
+ export default _default;
@@ -0,0 +1,2 @@
1
+ import type { Rect, Position } from 'css-box-model';
2
+ export declare const offsetRectByPosition: (rect: Rect, point: Position) => Rect;
@@ -0,0 +1,5 @@
1
+ import type { State, DraggingState, CollectingState, DropPendingState } from '../types';
2
+ import type { Action } from './store-types';
3
+ export declare function isDragging(state: State): state is DraggingState | CollectingState | DropPendingState;
4
+ declare const _default: (state: State | undefined, action: Action) => State;
5
+ export default _default;
@@ -0,0 +1,2 @@
1
+ import type { Registry } from './registry-types';
2
+ export default function createRegistry(): Registry;
@@ -0,0 +1,62 @@
1
+ import type { Position } from 'css-box-model';
2
+ import type { Id, DraggableId, DraggableDescriptor, DraggableOptions, DraggableDimension, DroppableId, ScrollOptions, DroppableDescriptor, DroppableDimension, TypeId } from '../../types';
3
+ export type GetDraggableDimensionFn = (windowScroll: Position) => DraggableDimension;
4
+ export type DraggableEntry = {
5
+ uniqueId: Id;
6
+ descriptor: DraggableDescriptor;
7
+ options: DraggableOptions;
8
+ getDimension: GetDraggableDimensionFn;
9
+ };
10
+ export type DraggableAPI = {
11
+ register: (entry: DraggableEntry) => void;
12
+ update: (entry: DraggableEntry, last: DraggableEntry) => void;
13
+ unregister: (entry: DraggableEntry) => void;
14
+ exists: (id: DraggableId) => boolean;
15
+ getById: (id: DraggableId) => DraggableEntry;
16
+ findById: (id: DraggableId) => DraggableEntry | null;
17
+ getAllByType: (type: TypeId) => DraggableEntry[];
18
+ };
19
+ export type GetDroppableDimensionFn = (windowScroll: Position, options: ScrollOptions) => DroppableDimension;
20
+ export type RecollectDroppableOptions = {
21
+ withoutPlaceholder: boolean;
22
+ };
23
+ export type DroppableCallbacks = {
24
+ getDimensionAndWatchScroll: GetDroppableDimensionFn;
25
+ getScrollWhileDragging: () => Position;
26
+ scroll: (change: Position) => void;
27
+ dragStopped: () => void;
28
+ };
29
+ export type DroppableEntry = {
30
+ uniqueId: Id;
31
+ descriptor: DroppableDescriptor;
32
+ callbacks: DroppableCallbacks;
33
+ };
34
+ export type DraggableEntryMap = {
35
+ [id: DraggableId]: DraggableEntry;
36
+ };
37
+ export type DroppableEntryMap = {
38
+ [id: DroppableId]: DroppableEntry;
39
+ };
40
+ export type DroppableAPI = {
41
+ register: (entry: DroppableEntry) => void;
42
+ unregister: (entry: DroppableEntry) => void;
43
+ exists: (id: DraggableId) => boolean;
44
+ getById: (id: DroppableId) => DroppableEntry;
45
+ findById: (id: DroppableId) => DroppableEntry | null;
46
+ getAllByType: (type: TypeId) => DroppableEntry[];
47
+ };
48
+ export type RegistryEvent = {
49
+ type: 'ADDITION';
50
+ value: DraggableEntry;
51
+ } | {
52
+ type: 'REMOVAL';
53
+ value: DraggableEntry;
54
+ };
55
+ export type Subscriber = (event: RegistryEvent) => void;
56
+ export type Unsubscribe = () => void;
57
+ export type Registry = {
58
+ draggable: DraggableAPI;
59
+ droppable: DroppableAPI;
60
+ subscribe: (cb: Subscriber) => Unsubscribe;
61
+ clean: () => void;
62
+ };
@@ -0,0 +1,2 @@
1
+ import type { Registry } from "./registry-types";
2
+ export default function useRegistry(): Registry;
@@ -0,0 +1,3 @@
1
+ import type { DraggableDimension } from '../types';
2
+ declare const _default: import("memoize-one").MemoizedFn<(remove: DraggableDimension, list: DraggableDimension[]) => DraggableDimension[]>;
3
+ export default _default;
@@ -0,0 +1,4 @@
1
+ import type { Position } from 'css-box-model';
2
+ import type { Viewport } from '../types';
3
+ declare const _default: (viewport: Viewport, newScroll: Position) => Viewport;
4
+ export default _default;
@@ -0,0 +1,6 @@
1
+ import type { Spacing, Position } from 'css-box-model';
2
+ export declare const isEqual: (first: Spacing, second: Spacing) => boolean;
3
+ export declare const offsetByPosition: (spacing: Spacing, point: Position) => Spacing;
4
+ export declare const expandByPosition: (spacing: Spacing, position: Position) => Spacing;
5
+ export declare const getCorners: (spacing: Spacing) => Position[];
6
+ export declare const noSpacing: Spacing;
@@ -0,0 +1,10 @@
1
+ import type { Store as ReduxStore, Dispatch as ReduxDispatch, Middleware as ReduxMiddleware, MiddlewareAPI as ReduxMiddlewareAPI } from 'redux';
2
+ import type { Action as ActionCreators } from './action-creators';
3
+ import type { State as ReduxState } from '../types';
4
+ export type Action = ActionCreators;
5
+ export type State = ReduxState;
6
+ export type Dispatch = ReduxDispatch<Action>;
7
+ export type LazyDispatch = ReduxDispatch<Action>;
8
+ export type Store = ReduxStore<State, Action, Dispatch>;
9
+ export type Middleware = ReduxMiddleware<State, Action, Dispatch>;
10
+ export type MiddlewareStore = ReduxMiddlewareAPI<Dispatch, State>;
@@ -0,0 +1,10 @@
1
+ import type { DroppableDimension, DraggableDimensionMap, DragImpact, Viewport } from '../../types';
2
+ type RecomputeArgs = {
3
+ impact: DragImpact;
4
+ draggables: DraggableDimensionMap;
5
+ destination: DroppableDimension;
6
+ viewport: Viewport;
7
+ forceShouldAnimate?: boolean;
8
+ };
9
+ declare const _default: ({ impact, viewport, draggables, destination, forceShouldAnimate, }: RecomputeArgs) => DragImpact;
10
+ export default _default;
@@ -0,0 +1,11 @@
1
+ import type { Position } from 'css-box-model';
2
+ import type { DroppableDimension, DraggableDimensionMap, DragImpact, Viewport } from '../../types';
3
+ type SpeculativeArgs = {
4
+ impact: DragImpact;
5
+ destination: DroppableDimension;
6
+ viewport: Viewport;
7
+ draggables: DraggableDimensionMap;
8
+ maxScrollChange: Position;
9
+ };
10
+ declare const _default: ({ impact, viewport, destination, draggables, maxScrollChange, }: SpeculativeArgs) => DragImpact;
11
+ export default _default;
@@ -0,0 +1,3 @@
1
+ import { type Spacing } from 'css-box-model';
2
+ declare const _default: (frame: Spacing) => (subject: Spacing) => boolean;
3
+ export default _default;
@@ -0,0 +1,2 @@
1
+ import { type Position, type Spacing } from 'css-box-model';
2
+ export default function isPositionInFrame(frame: Spacing): (point: Position) => boolean;
@@ -0,0 +1,4 @@
1
+ import { type Spacing } from 'css-box-model';
2
+ import type { Axis } from '../../types';
3
+ declare const _default: (axis: Axis) => (frame: Spacing) => (subject: Spacing) => boolean;
4
+ export default _default;
@@ -0,0 +1,3 @@
1
+ import { type Spacing } from 'css-box-model';
2
+ declare const _default: (frame: Spacing) => (subject: Spacing) => boolean;
3
+ export default _default;
@@ -0,0 +1,13 @@
1
+ import { type Spacing, type Rect } from 'css-box-model';
2
+ import type { DroppableDimension } from '../../types';
3
+ export type Args = {
4
+ target: Spacing;
5
+ destination: DroppableDimension;
6
+ viewport: Rect;
7
+ withDroppableDisplacement: boolean;
8
+ shouldCheckDroppable?: boolean;
9
+ shouldCheckViewport?: boolean;
10
+ };
11
+ export declare const isPartiallyVisible: (args: Args) => boolean;
12
+ export declare const isTotallyVisible: (args: Args) => boolean;
13
+ export declare const isTotallyVisibleOnAxis: (args: Args) => boolean;
@@ -0,0 +1,4 @@
1
+ import type { Position } from 'css-box-model';
2
+ import type { DroppableDimension, Viewport } from '../../types';
3
+ declare const _default: (page: Position, droppable: DroppableDimension, viewport: Viewport) => Position;
4
+ export default _default;
@@ -0,0 +1,4 @@
1
+ import { type Position } from 'css-box-model';
2
+ import type { DroppableDimension } from '../../types';
3
+ declare const _default: (droppable: DroppableDimension, point: Position) => Position;
4
+ export default _default;
@@ -0,0 +1,4 @@
1
+ import { type Rect } from 'css-box-model';
2
+ import type { DroppableDimension } from '../../types';
3
+ declare const _default: (droppable: DroppableDimension, area: Rect) => Rect;
4
+ export default _default;
@@ -0,0 +1,4 @@
1
+ import { type Position } from 'css-box-model';
2
+ import type { Viewport } from '../../types';
3
+ declare const _default: (viewport: Viewport, point: Position) => Position;
4
+ export default _default;
@@ -0,0 +1,323 @@
1
+ import type { BoxModel, Rect, Position } from 'css-box-model';
2
+ export type Id = string;
3
+ export type DraggableId = Id;
4
+ export type DroppableId = Id;
5
+ export type TypeId = Id;
6
+ export type ContextId = Id;
7
+ export type ElementId = Id;
8
+ export type AnimationFrameID = number;
9
+ export type TimeoutID = ReturnType<typeof setTimeout>;
10
+ export type DroppableMode = 'standard' | 'virtual';
11
+ export type DroppableDescriptor = {
12
+ id: DroppableId;
13
+ type: TypeId;
14
+ mode: DroppableMode;
15
+ };
16
+ export type DraggableDescriptor = {
17
+ id: DraggableId;
18
+ index: number;
19
+ droppableId: DroppableId;
20
+ type: TypeId;
21
+ };
22
+ export type DraggableOptions = {
23
+ canDragInteractiveElements: boolean;
24
+ shouldRespectForcePress: boolean;
25
+ isEnabled: boolean;
26
+ };
27
+ export type Direction = 'horizontal' | 'vertical';
28
+ export type VerticalAxis = {
29
+ direction: 'vertical';
30
+ line: 'y';
31
+ start: 'top';
32
+ end: 'bottom';
33
+ size: 'height';
34
+ crossAxisLine: 'x';
35
+ crossAxisStart: 'left';
36
+ crossAxisEnd: 'right';
37
+ crossAxisSize: 'width';
38
+ };
39
+ export type HorizontalAxis = {
40
+ direction: 'horizontal';
41
+ line: 'x';
42
+ start: 'left';
43
+ end: 'right';
44
+ size: 'width';
45
+ crossAxisLine: 'y';
46
+ crossAxisStart: 'top';
47
+ crossAxisEnd: 'bottom';
48
+ crossAxisSize: 'height';
49
+ };
50
+ export type Axis = VerticalAxis | HorizontalAxis;
51
+ export type ScrollSize = {
52
+ scrollHeight: number;
53
+ scrollWidth: number;
54
+ };
55
+ export type ScrollDetails = {
56
+ initial: Position;
57
+ current: Position;
58
+ max: Position;
59
+ diff: {
60
+ value: Position;
61
+ displacement: Position;
62
+ };
63
+ };
64
+ export type Placeholder = {
65
+ client: BoxModel;
66
+ tagName: string;
67
+ display: string;
68
+ };
69
+ export type DraggableDimension = {
70
+ descriptor: DraggableDescriptor;
71
+ placeholder: Placeholder;
72
+ client: BoxModel;
73
+ page: BoxModel;
74
+ displaceBy: Position;
75
+ };
76
+ export type Scrollable = {
77
+ pageMarginBox: Rect;
78
+ frameClient: BoxModel;
79
+ scrollSize: ScrollSize;
80
+ shouldClipSubject: boolean;
81
+ scroll: ScrollDetails;
82
+ };
83
+ export type PlaceholderInSubject = {
84
+ increasedBy: Position | null;
85
+ placeholderSize: Position;
86
+ oldFrameMaxScroll: Position | null;
87
+ };
88
+ export type DroppableSubject = {
89
+ page: BoxModel;
90
+ withPlaceholder: PlaceholderInSubject | null;
91
+ active: Rect | null;
92
+ };
93
+ export type DroppableDimension = {
94
+ descriptor: DroppableDescriptor;
95
+ axis: Axis;
96
+ isEnabled: boolean;
97
+ isCombineEnabled?: boolean;
98
+ client: BoxModel;
99
+ isFixedOnPage: boolean;
100
+ page: BoxModel;
101
+ frame: Scrollable | null;
102
+ subject: DroppableSubject;
103
+ };
104
+ export type DraggableLocation = {
105
+ droppableId: DroppableId;
106
+ index: number;
107
+ };
108
+ export type DraggableIdMap = {
109
+ [id: DraggableId]: true;
110
+ };
111
+ export type DroppableIdMap = {
112
+ [id: DroppableId]: true;
113
+ };
114
+ export type DraggableDimensionMap = {
115
+ [key: DraggableId]: DraggableDimension;
116
+ };
117
+ export type DroppableDimensionMap = Record<DroppableId, DroppableDimension>;
118
+ export type Displacement = {
119
+ draggableId: DraggableId;
120
+ shouldAnimate: boolean;
121
+ };
122
+ export type DisplacementMap = {
123
+ [key: DraggableId]: Displacement;
124
+ };
125
+ export type DisplacedBy = {
126
+ value: number;
127
+ point: Position;
128
+ };
129
+ export type Combine = {
130
+ draggableId: DraggableId;
131
+ droppableId: DroppableId;
132
+ };
133
+ export type DisplacementGroups = {
134
+ all: DraggableId[];
135
+ visible: DisplacementMap;
136
+ invisible: DraggableIdMap;
137
+ };
138
+ export type ReorderImpact = {
139
+ type: 'REORDER';
140
+ destination: DraggableLocation;
141
+ };
142
+ export type CombineImpact = {
143
+ type: 'COMBINE';
144
+ combine: Combine;
145
+ };
146
+ export type ImpactLocation = ReorderImpact | CombineImpact;
147
+ export type Displaced = {
148
+ forwards: DisplacementGroups;
149
+ backwards: DisplacementGroups;
150
+ };
151
+ export type DragImpact = {
152
+ displaced: DisplacementGroups;
153
+ displacedBy: DisplacedBy;
154
+ at: ImpactLocation | null;
155
+ };
156
+ export type ClientPositions = {
157
+ selection: Position;
158
+ borderBoxCenter: Position;
159
+ offset: Position;
160
+ };
161
+ export type PagePositions = {
162
+ selection: Position;
163
+ borderBoxCenter: Position;
164
+ offset: Position;
165
+ };
166
+ export type MovementMode = 'FLUID' | 'SNAP';
167
+ export type DragPositions = {
168
+ client: ClientPositions;
169
+ page: PagePositions;
170
+ };
171
+ export type DraggableRubric = {
172
+ draggableId: DraggableId;
173
+ type: TypeId;
174
+ source: DraggableLocation;
175
+ };
176
+ export type BeforeCapture = {
177
+ draggableId: DraggableId;
178
+ mode: MovementMode;
179
+ };
180
+ export type DragStart = DraggableRubric & {
181
+ mode: MovementMode;
182
+ };
183
+ export type DragUpdate = DragStart & {
184
+ destination: DraggableLocation | null;
185
+ combine: Combine | null;
186
+ };
187
+ export type DropReason = 'DROP' | 'CANCEL';
188
+ export type DropResult = DragUpdate & {
189
+ reason: DropReason;
190
+ };
191
+ export type ScrollOptions = {
192
+ shouldPublishImmediately: boolean;
193
+ };
194
+ export type LiftRequest = {
195
+ draggableId: DraggableId;
196
+ scrollOptions: ScrollOptions;
197
+ };
198
+ export type Critical = {
199
+ draggable: DraggableDescriptor;
200
+ droppable: DroppableDescriptor;
201
+ };
202
+ export type Viewport = {
203
+ frame: Rect;
204
+ scroll: ScrollDetails;
205
+ };
206
+ export type LiftEffect = {
207
+ inVirtualList: boolean;
208
+ effected: DraggableIdMap;
209
+ displacedBy: DisplacedBy;
210
+ };
211
+ export type DimensionMap = {
212
+ draggables: DraggableDimensionMap;
213
+ droppables: DroppableDimensionMap;
214
+ };
215
+ export type DroppablePublish = {
216
+ droppableId: DroppableId;
217
+ scroll: Position;
218
+ };
219
+ export type Published = {
220
+ additions: DraggableDimension[];
221
+ removals: DraggableId[];
222
+ modified: DroppablePublish[];
223
+ };
224
+ export type CompletedDrag = {
225
+ critical: Critical;
226
+ result: DropResult;
227
+ impact: DragImpact;
228
+ afterCritical: LiftEffect;
229
+ };
230
+ export type IdleState = {
231
+ phase: 'IDLE';
232
+ completed: CompletedDrag | null;
233
+ shouldFlush: boolean;
234
+ };
235
+ export type DraggingState = {
236
+ phase: 'DRAGGING';
237
+ isDragging: true;
238
+ critical: Critical;
239
+ movementMode: MovementMode;
240
+ dimensions: DimensionMap;
241
+ initial: DragPositions;
242
+ current: DragPositions;
243
+ impact: DragImpact;
244
+ viewport: Viewport;
245
+ afterCritical: LiftEffect;
246
+ onLiftImpact: DragImpact;
247
+ isWindowScrollAllowed: boolean;
248
+ scrollJumpRequest: Position | null;
249
+ forceShouldAnimate: boolean | null;
250
+ };
251
+ export type CollectingState = Omit<DraggingState, 'phase'> & {
252
+ phase: 'COLLECTING';
253
+ };
254
+ export type DropPendingState = Omit<DraggingState, 'phase'> & {
255
+ phase: 'DROP_PENDING';
256
+ isWaiting: boolean;
257
+ reason: DropReason;
258
+ };
259
+ export type DropAnimatingState = {
260
+ phase: 'DROP_ANIMATING';
261
+ completed: CompletedDrag;
262
+ newHomeClientOffset: Position;
263
+ dropDuration: number;
264
+ dimensions: DimensionMap;
265
+ };
266
+ export type State = IdleState | DraggingState | CollectingState | DropPendingState | DropAnimatingState;
267
+ export type StateWhenUpdatesAllowed = DraggingState | CollectingState;
268
+ export type Announce = (message: string) => void;
269
+ export type InOutAnimationMode = 'none' | 'open' | 'close';
270
+ export type ResponderProvided = {
271
+ announce: Announce;
272
+ };
273
+ export type OnBeforeCaptureResponder = (before: BeforeCapture) => unknown;
274
+ export type OnBeforeDragStartResponder = (start: DragStart) => unknown;
275
+ export type OnDragStartResponder = (start: DragStart, provided: ResponderProvided) => unknown;
276
+ export type OnDragUpdateResponder = (update: DragUpdate, provided: ResponderProvided) => unknown;
277
+ export type OnDragEndResponder = (result: DropResult, provided: ResponderProvided) => unknown;
278
+ export type Responders = {
279
+ onBeforeCapture?: OnBeforeCaptureResponder | null;
280
+ onBeforeDragStart?: OnBeforeDragStartResponder | null;
281
+ onDragStart?: OnDragStartResponder | null;
282
+ onDragUpdate?: OnDragUpdateResponder | null;
283
+ onDragEnd: OnDragEndResponder;
284
+ };
285
+ export type StopDragOptions = {
286
+ shouldBlockNextClick: boolean;
287
+ };
288
+ type DragActions = {
289
+ drop: (args?: StopDragOptions) => void;
290
+ cancel?: (args?: StopDragOptions) => void;
291
+ isActive: () => boolean;
292
+ shouldRespectForcePress: () => boolean;
293
+ };
294
+ export type FluidDragActions = DragActions & {
295
+ move: (clientSelection: Position) => void;
296
+ };
297
+ export type SnapDragActions = DragActions & {
298
+ moveUp?: () => void;
299
+ moveDown?: () => void;
300
+ moveRight?: () => void;
301
+ moveLeft?: () => void;
302
+ };
303
+ export type PreDragActions = {
304
+ isActive: () => boolean;
305
+ shouldRespectForcePress: () => boolean;
306
+ fluidLift: (clientSelection: Position) => FluidDragActions;
307
+ snapLift: () => SnapDragActions;
308
+ abort: () => void;
309
+ };
310
+ export type TryGetLockOptions = {
311
+ sourceEvent?: Event;
312
+ };
313
+ export type TryGetLock = (draggableId: DraggableId, forceStop?: () => void, options?: TryGetLockOptions) => PreDragActions | null;
314
+ export type SensorAPI = {
315
+ tryGetLock: TryGetLock;
316
+ canGetLock: (id: DraggableId) => boolean;
317
+ isLockClaimed: () => boolean;
318
+ tryReleaseLock: () => void;
319
+ findClosestDraggableId: (event: Event) => DraggableId | null;
320
+ findOptionsForDraggable: (id: DraggableId) => DraggableOptions | null;
321
+ };
322
+ export type Sensor = (api: SensorAPI) => void;
323
+ export {};
@@ -0,0 +1,24 @@
1
+ import React, { type ReactNode } from 'react';
2
+ import type { InOutAnimationMode } from '../../types';
3
+ export type AnimateProvided = {
4
+ onClose: () => void;
5
+ animate: InOutAnimationMode;
6
+ data: unknown;
7
+ };
8
+ type Props = {
9
+ on: unknown;
10
+ shouldAnimate: boolean;
11
+ children: (provided: AnimateProvided) => ReactNode;
12
+ };
13
+ type State = {
14
+ data: unknown;
15
+ isVisible: boolean;
16
+ animate: InOutAnimationMode;
17
+ };
18
+ export default class AnimateInOut extends React.PureComponent<Props, State> {
19
+ state: State;
20
+ static getDerivedStateFromProps(props: Props, state: State): State;
21
+ onClose: () => void;
22
+ render(): React.ReactNode;
23
+ }
24
+ export {};
@@ -0,0 +1 @@
1
+ export { default } from './animate-in-out';
@@ -0,0 +1 @@
1
+ export default function checkIsValidInnerRef(el: HTMLElement | null): void;
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ import type { DraggableId, ContextId, ElementId } from '../../types';
3
+ import type { DimensionMarshal } from '../../state/dimension-marshal/dimension-marshal-types';
4
+ import type { FocusMarshal } from '../use-focus-marshal/focus-marshal-types';
5
+ import type { Registry } from '../../state/registry/registry-types';
6
+ export type AppContextValue = {
7
+ focus: FocusMarshal;
8
+ contextId: ContextId;
9
+ canLift: (id: DraggableId) => boolean;
10
+ isMovementAllowed: () => boolean;
11
+ dragHandleUsageInstructionsId: ElementId;
12
+ marshal: DimensionMarshal;
13
+ registry: Registry;
14
+ };
15
+ declare const _default: React.Context<AppContextValue | null>;
16
+ export default _default;
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import type { DraggableId, DroppableId, TypeId } from '../../types';
3
+ export type DroppableContextValue = {
4
+ isUsingCloneFor?: DraggableId | null;
5
+ droppableId: DroppableId;
6
+ type?: TypeId;
7
+ };
8
+ declare const _default: React.Context<DroppableContextValue | null>;
9
+ export default _default;
@@ -0,0 +1,3 @@
1
+ export declare const useAppDispatch: import("react-redux").UseDispatch<import("redux").Dispatch<import("../../state/action-creators").Action>>;
2
+ export declare const useAppSelector: import("react-redux").UseSelector<unknown>;
3
+ export declare const useAppStore: import("react-redux").UseStore<import("redux").Store<import("../../types").State, import("../../state/action-creators").Action, unknown>>;
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import type { ReactReduxContextValue } from 'react-redux';
3
+ declare const _default: React.Context<ReactReduxContextValue<import("../../types").State, import("../../state/action-creators").Action> | null>;
4
+ export default _default;