react-native-drax 0.11.0-alpha.2 → 1.1.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 (246) hide show
  1. package/LICENSE.md +1 -1
  2. package/README.md +390 -227
  3. package/lib/module/DebugOverlay.js +121 -0
  4. package/lib/module/DebugOverlay.js.map +1 -0
  5. package/lib/module/Drax.js +36 -0
  6. package/lib/module/Drax.js.map +1 -0
  7. package/lib/module/DraxContext.js +6 -0
  8. package/lib/module/DraxContext.js.map +1 -0
  9. package/lib/module/DraxHandle.js +47 -0
  10. package/lib/module/DraxHandle.js.map +1 -0
  11. package/lib/module/DraxHandleContext.js +11 -0
  12. package/lib/module/DraxHandleContext.js.map +1 -0
  13. package/lib/module/DraxList.js +108 -0
  14. package/lib/module/DraxList.js.map +1 -0
  15. package/lib/module/DraxProvider.js +203 -0
  16. package/lib/module/DraxProvider.js.map +1 -0
  17. package/lib/module/DraxScrollView.js +167 -0
  18. package/lib/module/DraxScrollView.js.map +1 -0
  19. package/lib/module/DraxSubprovider.js +21 -0
  20. package/lib/module/DraxSubprovider.js.map +1 -0
  21. package/lib/module/DraxView.js +348 -0
  22. package/lib/module/DraxView.js.map +1 -0
  23. package/lib/module/HoverLayer.js +152 -0
  24. package/lib/module/HoverLayer.js.map +1 -0
  25. package/lib/module/SortableBoardContainer.js +386 -0
  26. package/lib/module/SortableBoardContainer.js.map +1 -0
  27. package/lib/module/SortableBoardContext.js +6 -0
  28. package/lib/module/SortableBoardContext.js.map +1 -0
  29. package/lib/module/SortableContainer.js +571 -0
  30. package/lib/module/SortableContainer.js.map +1 -0
  31. package/lib/module/SortableItem.js +226 -0
  32. package/lib/module/SortableItem.js.map +1 -0
  33. package/lib/module/SortableItemContext.js +38 -0
  34. package/lib/module/SortableItemContext.js.map +1 -0
  35. package/lib/module/compat/detectVersion.js +19 -0
  36. package/lib/module/compat/detectVersion.js.map +1 -0
  37. package/lib/module/compat/index.js +5 -0
  38. package/lib/module/compat/index.js.map +1 -0
  39. package/lib/module/compat/types.js +4 -0
  40. package/lib/module/compat/types.js.map +1 -0
  41. package/lib/module/compat/useDraxPanGesture.js +94 -0
  42. package/lib/module/compat/useDraxPanGesture.js.map +1 -0
  43. package/lib/module/hooks/index.js +5 -0
  44. package/lib/module/hooks/index.js.map +1 -0
  45. package/lib/module/hooks/useCallbackDispatch.js +688 -0
  46. package/lib/module/hooks/useCallbackDispatch.js.map +1 -0
  47. package/lib/module/hooks/useDragGesture.js +240 -0
  48. package/lib/module/hooks/useDragGesture.js.map +1 -0
  49. package/lib/module/hooks/useDraxContext.js +12 -0
  50. package/lib/module/hooks/useDraxContext.js.map +1 -0
  51. package/lib/module/hooks/useDraxId.js +13 -0
  52. package/lib/module/hooks/useDraxId.js.map +1 -0
  53. package/lib/module/hooks/useDraxMethods.js +73 -0
  54. package/lib/module/hooks/useDraxMethods.js.map +1 -0
  55. package/lib/module/hooks/useDraxScrollHandler.js +97 -0
  56. package/lib/module/hooks/useDraxScrollHandler.js.map +1 -0
  57. package/lib/module/hooks/useSortableBoard.js +37 -0
  58. package/lib/module/hooks/useSortableBoard.js.map +1 -0
  59. package/lib/module/hooks/useSortableList.js +988 -0
  60. package/lib/module/hooks/useSortableList.js.map +1 -0
  61. package/lib/module/hooks/useSpatialIndex.js +283 -0
  62. package/lib/module/hooks/useSpatialIndex.js.map +1 -0
  63. package/lib/module/hooks/useViewStyles.js +158 -0
  64. package/lib/module/hooks/useViewStyles.js.map +1 -0
  65. package/lib/module/hooks/useWebScrollFreeze.js +52 -0
  66. package/lib/module/hooks/useWebScrollFreeze.js.map +1 -0
  67. package/lib/module/index.js +37 -0
  68. package/lib/module/index.js.map +1 -0
  69. package/lib/module/math.js +294 -0
  70. package/lib/module/math.js.map +1 -0
  71. package/lib/module/package.json +1 -0
  72. package/lib/module/params.js +88 -0
  73. package/lib/module/params.js.map +1 -0
  74. package/lib/module/types.js +215 -0
  75. package/lib/module/types.js.map +1 -0
  76. package/lib/typescript/package.json +1 -0
  77. package/lib/typescript/src/DebugOverlay.d.ts +17 -0
  78. package/lib/typescript/src/DebugOverlay.d.ts.map +1 -0
  79. package/lib/typescript/src/Drax.d.ts +28 -0
  80. package/lib/typescript/src/Drax.d.ts.map +1 -0
  81. package/lib/typescript/src/DraxContext.d.ts +3 -0
  82. package/lib/typescript/src/DraxContext.d.ts.map +1 -0
  83. package/lib/typescript/src/DraxHandle.d.ts +25 -0
  84. package/lib/typescript/src/DraxHandle.d.ts.map +1 -0
  85. package/lib/typescript/src/DraxHandleContext.d.ts +12 -0
  86. package/lib/typescript/src/DraxHandleContext.d.ts.map +1 -0
  87. package/lib/typescript/src/DraxList.d.ts +66 -0
  88. package/lib/typescript/src/DraxList.d.ts.map +1 -0
  89. package/lib/typescript/src/DraxProvider.d.ts +4 -0
  90. package/lib/typescript/src/DraxProvider.d.ts.map +1 -0
  91. package/lib/typescript/src/DraxScrollView.d.ts +7 -0
  92. package/lib/typescript/src/DraxScrollView.d.ts.map +1 -0
  93. package/lib/typescript/src/DraxSubprovider.d.ts +4 -0
  94. package/lib/typescript/src/DraxSubprovider.d.ts.map +1 -0
  95. package/lib/typescript/src/DraxView.d.ts +4 -0
  96. package/lib/typescript/src/DraxView.d.ts.map +1 -0
  97. package/lib/typescript/src/HoverLayer.d.ts +38 -0
  98. package/lib/typescript/src/HoverLayer.d.ts.map +1 -0
  99. package/lib/typescript/src/SortableBoardContainer.d.ts +11 -0
  100. package/lib/typescript/src/SortableBoardContainer.d.ts.map +1 -0
  101. package/lib/typescript/src/SortableBoardContext.d.ts +4 -0
  102. package/lib/typescript/src/SortableBoardContext.d.ts.map +1 -0
  103. package/lib/typescript/src/SortableContainer.d.ts +13 -0
  104. package/lib/typescript/src/SortableContainer.d.ts.map +1 -0
  105. package/lib/typescript/src/SortableItem.d.ts +14 -0
  106. package/lib/typescript/src/SortableItem.d.ts.map +1 -0
  107. package/lib/typescript/src/SortableItemContext.d.ts +37 -0
  108. package/lib/typescript/src/SortableItemContext.d.ts.map +1 -0
  109. package/lib/typescript/src/compat/detectVersion.d.ts +2 -0
  110. package/lib/typescript/src/compat/detectVersion.d.ts.map +1 -0
  111. package/lib/typescript/src/compat/index.d.ts +4 -0
  112. package/lib/typescript/src/compat/index.d.ts.map +1 -0
  113. package/lib/typescript/src/compat/types.d.ts +33 -0
  114. package/lib/typescript/src/compat/types.d.ts.map +1 -0
  115. package/lib/typescript/src/compat/useDraxPanGesture.d.ts +8 -0
  116. package/lib/typescript/src/compat/useDraxPanGesture.d.ts.map +1 -0
  117. package/lib/typescript/src/hooks/index.d.ts +3 -0
  118. package/lib/typescript/src/hooks/index.d.ts.map +1 -0
  119. package/lib/typescript/src/hooks/useCallbackDispatch.d.ts +40 -0
  120. package/lib/typescript/src/hooks/useCallbackDispatch.d.ts.map +1 -0
  121. package/lib/typescript/src/hooks/useDragGesture.d.ts +17 -0
  122. package/lib/typescript/src/hooks/useDragGesture.d.ts.map +1 -0
  123. package/lib/typescript/src/hooks/useDraxContext.d.ts +2 -0
  124. package/lib/typescript/src/hooks/useDraxContext.d.ts.map +1 -0
  125. package/{build → lib/typescript/src}/hooks/useDraxId.d.ts +1 -0
  126. package/lib/typescript/src/hooks/useDraxId.d.ts.map +1 -0
  127. package/lib/typescript/src/hooks/useDraxMethods.d.ts +13 -0
  128. package/lib/typescript/src/hooks/useDraxMethods.d.ts.map +1 -0
  129. package/lib/typescript/src/hooks/useDraxScrollHandler.d.ts +27 -0
  130. package/lib/typescript/src/hooks/useDraxScrollHandler.d.ts.map +1 -0
  131. package/lib/typescript/src/hooks/useSortableBoard.d.ts +10 -0
  132. package/lib/typescript/src/hooks/useSortableBoard.d.ts.map +1 -0
  133. package/lib/typescript/src/hooks/useSortableList.d.ts +11 -0
  134. package/lib/typescript/src/hooks/useSortableList.d.ts.map +1 -0
  135. package/lib/typescript/src/hooks/useSpatialIndex.d.ts +22 -0
  136. package/lib/typescript/src/hooks/useSpatialIndex.d.ts.map +1 -0
  137. package/lib/typescript/src/hooks/useViewStyles.d.ts +183 -0
  138. package/lib/typescript/src/hooks/useViewStyles.d.ts.map +1 -0
  139. package/lib/typescript/src/hooks/useWebScrollFreeze.d.ts +14 -0
  140. package/lib/typescript/src/hooks/useWebScrollFreeze.d.ts.map +1 -0
  141. package/lib/typescript/src/index.d.ts +25 -0
  142. package/lib/typescript/src/index.d.ts.map +1 -0
  143. package/lib/typescript/src/math.d.ts +76 -0
  144. package/lib/typescript/src/math.d.ts.map +1 -0
  145. package/{build → lib/typescript/src}/params.d.ts +13 -9
  146. package/lib/typescript/src/params.d.ts.map +1 -0
  147. package/lib/typescript/src/types.d.ts +756 -0
  148. package/lib/typescript/src/types.d.ts.map +1 -0
  149. package/package.json +164 -34
  150. package/src/DebugOverlay.tsx +140 -0
  151. package/src/Drax.ts +33 -0
  152. package/src/DraxContext.ts +8 -0
  153. package/src/DraxHandle.tsx +52 -0
  154. package/src/DraxHandleContext.ts +15 -0
  155. package/src/DraxList.tsx +181 -0
  156. package/src/DraxProvider.tsx +224 -0
  157. package/src/DraxScrollView.tsx +180 -0
  158. package/src/DraxSubprovider.tsx +22 -0
  159. package/src/DraxView.tsx +430 -0
  160. package/src/HoverLayer.tsx +167 -0
  161. package/src/SortableBoardContainer.tsx +439 -0
  162. package/src/SortableBoardContext.ts +6 -0
  163. package/src/SortableContainer.tsx +650 -0
  164. package/src/SortableItem.tsx +264 -0
  165. package/src/SortableItemContext.ts +46 -0
  166. package/src/compat/detectVersion.ts +17 -0
  167. package/src/compat/index.ts +7 -0
  168. package/src/compat/types.ts +35 -0
  169. package/src/compat/useDraxPanGesture.ts +112 -0
  170. package/src/hooks/index.ts +2 -0
  171. package/src/hooks/useCallbackDispatch.tsx +830 -0
  172. package/src/hooks/useDragGesture.ts +273 -0
  173. package/src/hooks/useDraxContext.ts +11 -0
  174. package/src/hooks/useDraxId.ts +11 -0
  175. package/src/hooks/useDraxMethods.ts +71 -0
  176. package/src/hooks/useDraxScrollHandler.ts +121 -0
  177. package/src/hooks/useSortableBoard.ts +44 -0
  178. package/src/hooks/useSortableList.ts +1063 -0
  179. package/src/hooks/useSpatialIndex.ts +336 -0
  180. package/src/hooks/useViewStyles.ts +180 -0
  181. package/src/hooks/useWebScrollFreeze.ts +60 -0
  182. package/src/index.ts +111 -0
  183. package/src/math.ts +333 -0
  184. package/src/params.ts +74 -0
  185. package/src/types.ts +933 -0
  186. package/.editorconfig +0 -15
  187. package/.eslintrc.js +0 -4
  188. package/.prettierrc +0 -16
  189. package/CHANGELOG.md +0 -270
  190. package/CODE-OF-CONDUCT.md +0 -85
  191. package/CONTRIBUTING.md +0 -15
  192. package/FUNDING.yml +0 -4
  193. package/build/AllHoverViews.d.ts +0 -0
  194. package/build/AllHoverViews.js +0 -30
  195. package/build/DraxContext.d.ts +0 -2
  196. package/build/DraxContext.js +0 -6
  197. package/build/DraxList.d.ts +0 -8
  198. package/build/DraxList.js +0 -512
  199. package/build/DraxListItem.d.ts +0 -7
  200. package/build/DraxListItem.js +0 -121
  201. package/build/DraxProvider.d.ts +0 -2
  202. package/build/DraxProvider.js +0 -704
  203. package/build/DraxScrollView.d.ts +0 -6
  204. package/build/DraxScrollView.js +0 -136
  205. package/build/DraxSubprovider.d.ts +0 -3
  206. package/build/DraxSubprovider.js +0 -18
  207. package/build/DraxView.d.ts +0 -8
  208. package/build/DraxView.js +0 -93
  209. package/build/HoverView.d.ts +0 -8
  210. package/build/HoverView.js +0 -40
  211. package/build/PanGestureDetector.d.ts +0 -3
  212. package/build/PanGestureDetector.js +0 -49
  213. package/build/hooks/index.d.ts +0 -4
  214. package/build/hooks/index.js +0 -11
  215. package/build/hooks/useContent.d.ts +0 -23
  216. package/build/hooks/useContent.js +0 -212
  217. package/build/hooks/useDraxContext.d.ts +0 -1
  218. package/build/hooks/useDraxContext.js +0 -13
  219. package/build/hooks/useDraxId.js +0 -13
  220. package/build/hooks/useDraxProtocol.d.ts +0 -5
  221. package/build/hooks/useDraxProtocol.js +0 -32
  222. package/build/hooks/useDraxRegistry.d.ts +0 -78
  223. package/build/hooks/useDraxRegistry.js +0 -714
  224. package/build/hooks/useDraxScrollHandler.d.ts +0 -25
  225. package/build/hooks/useDraxScrollHandler.js +0 -89
  226. package/build/hooks/useDraxState.d.ts +0 -10
  227. package/build/hooks/useDraxState.js +0 -132
  228. package/build/hooks/useMeasurements.d.ts +0 -9
  229. package/build/hooks/useMeasurements.js +0 -119
  230. package/build/hooks/useStatus.d.ts +0 -11
  231. package/build/hooks/useStatus.js +0 -96
  232. package/build/index.d.ts +0 -9
  233. package/build/index.js +0 -33
  234. package/build/math.d.ts +0 -22
  235. package/build/math.js +0 -68
  236. package/build/params.js +0 -27
  237. package/build/transform.d.ts +0 -11
  238. package/build/transform.js +0 -59
  239. package/build/types.d.ts +0 -807
  240. package/build/types.js +0 -46
  241. package/docs/concept.md +0 -79
  242. package/docs/images/color-drag-drop.gif +0 -0
  243. package/docs/images/deck-cards.gif +0 -0
  244. package/docs/images/drag-drop-events.jpg +0 -0
  245. package/docs/images/knight-moves.gif +0 -0
  246. package/docs/images/reorderable-list.gif +0 -0
@@ -0,0 +1,152 @@
1
+ "use strict";
2
+
3
+ import { memo, useLayoutEffect } from 'react';
4
+ import { StyleSheet } from 'react-native';
5
+ import Reanimated, { useAnimatedStyle } from 'react-native-reanimated';
6
+ import { runOnUI } from 'react-native-worklets';
7
+
8
+ /** Flattened hover styles for the currently dragged view */
9
+ import { jsx as _jsx } from "react/jsx-runtime";
10
+ /**
11
+ * Single hover layer component that renders the hover content during drag.
12
+ *
13
+ * This is the ONLY component that reads hoverPositionSV (changes every frame).
14
+ * All other DraxViews read draggedIdSV/receiverIdSV/dragPhaseSV which change ~5x per drag.
15
+ *
16
+ * Content is passed via ref to avoid re-rendering the entire DraxProvider tree.
17
+ * Only this component re-renders when hover content changes (via hoverVersion).
18
+ */
19
+ export const HoverLayer = /*#__PURE__*/memo(({
20
+ hoverContentRef,
21
+ hoverVersion,
22
+ hoverPositionSV,
23
+ dragPhaseSV,
24
+ receiverIdSV,
25
+ hoverReadySV,
26
+ hoverDimsSV,
27
+ hoverStylesRef
28
+ }) => {
29
+ // After hover content is committed to the DOM, activate drag phase + signal readiness.
30
+ // dragPhaseSV is NOT set in the gesture handler — it's set HERE, ensuring:
31
+ // 1. HoverLayer becomes visible (opacity 1) only AFTER content is rendered
32
+ // 2. SortableItem hides only AFTER hover is visible (reads hoverReadySV)
33
+ // Both writes happen in the same runOnUI call → same UI frame → no blink.
34
+ useLayoutEffect(() => {
35
+ if (hoverContentRef.current != null) {
36
+ runOnUI((_dragPhaseSV, _hoverReadySV) => {
37
+ 'worklet';
38
+
39
+ _dragPhaseSV.value = 'dragging';
40
+ _hoverReadySV.value = true;
41
+ })(dragPhaseSV, hoverReadySV);
42
+ }
43
+ }, [hoverVersion]);
44
+
45
+ // Read hover styles from ref in the component body — they're captured by the
46
+ // worklet closure when the component re-renders (on hoverVersion change).
47
+ // This ensures the latest styles are available without SharedValues.
48
+ const hs = hoverStylesRef.current;
49
+ const flatHoverStyle = hs?.hoverStyle ?? null;
50
+ const flatHoverDraggingStyle = hs?.hoverDraggingStyle ?? null;
51
+ const flatHoverDraggingWithReceiverStyle = hs?.hoverDraggingWithReceiverStyle ?? null;
52
+ const flatHoverDraggingWithoutReceiverStyle = hs?.hoverDraggingWithoutReceiverStyle ?? null;
53
+ const flatHoverDragReleasedStyle = hs?.hoverDragReleasedStyle ?? null;
54
+
55
+ // Position style: applied to the outer full-screen container.
56
+ // Only handles positioning (translate) and visibility (opacity).
57
+ const positionStyle = useAnimatedStyle(() => {
58
+ const phase = dragPhaseSV.value;
59
+ if (phase === 'idle') {
60
+ return {
61
+ opacity: 0
62
+ };
63
+ }
64
+ return {
65
+ opacity: 1,
66
+ transform: [{
67
+ translateX: hoverPositionSV.value.x
68
+ }, {
69
+ translateY: hoverPositionSV.value.y
70
+ }]
71
+ };
72
+ });
73
+
74
+ // Visual style: applied to the inner content wrapper.
75
+ // Handles user hover styles (border, shadow, scale, rotate, etc.)
76
+ // so they apply to the content bounds, not the full-screen container.
77
+ const visualStyle = useAnimatedStyle(() => {
78
+ const phase = dragPhaseSV.value;
79
+ if (phase === 'idle') {
80
+ return {};
81
+ }
82
+ let hoverStyles;
83
+ if (phase === 'dragging') {
84
+ const hasReceiver = receiverIdSV.value !== '';
85
+ hoverStyles = {
86
+ ...(flatHoverStyle ?? {}),
87
+ ...(flatHoverDraggingStyle ?? {}),
88
+ ...(hasReceiver ? flatHoverDraggingWithReceiverStyle ?? {} : flatHoverDraggingWithoutReceiverStyle ?? {})
89
+ };
90
+ } else {
91
+ // phase === 'releasing'
92
+ hoverStyles = {
93
+ ...(flatHoverStyle ?? {}),
94
+ ...(flatHoverDragReleasedStyle ?? flatHoverDraggingStyle ?? {})
95
+ };
96
+ }
97
+
98
+ // User transforms (rotate, scale, etc.) stay on the content wrapper.
99
+ const {
100
+ transform: userTransform,
101
+ ...restStyles
102
+ } = hoverStyles;
103
+ return {
104
+ ...restStyles,
105
+ ...(userTransform ? {
106
+ transform: userTransform
107
+ } : {})
108
+ };
109
+ });
110
+
111
+ // Animated dimensions for the inner content wrapper.
112
+ // When hoverDimsSV is non-zero, constrains hover content to those dimensions
113
+ // so cross-container transfers animate smoothly from source to target size.
114
+ const dimensionStyle = useAnimatedStyle(() => {
115
+ const dims = hoverDimsSV.value;
116
+ if (dims.x > 0 && dims.y > 0) {
117
+ return {
118
+ width: dims.x,
119
+ height: dims.y
120
+ };
121
+ }
122
+ return {};
123
+ });
124
+
125
+ // Always render the Reanimated.View — never conditionally unmount it.
126
+ // If we returned null when content is empty, remounting causes a one-frame
127
+ // flash (the view renders at default position before useAnimatedStyle kicks in).
128
+ return /*#__PURE__*/_jsx(Reanimated.View, {
129
+ style: [styles.container, positionStyle],
130
+ pointerEvents: "none",
131
+ children: /*#__PURE__*/_jsx(Reanimated.View, {
132
+ style: [styles.content, dimensionStyle, visualStyle],
133
+ children: hoverContentRef.current
134
+ })
135
+ });
136
+ });
137
+ const styles = StyleSheet.create({
138
+ container: {
139
+ ...StyleSheet.absoluteFillObject,
140
+ // Default hidden — useAnimatedStyle overrides to opacity:1 when dragging.
141
+ // Prevents a one-frame flash on first mount before the animated style evaluates.
142
+ opacity: 0,
143
+ transformOrigin: 'top left'
144
+ },
145
+ content: {
146
+ // Shrink-wrap to content width — without this the inner view stretches
147
+ // to fill the full-screen absolute parent, causing hover styles (border,
148
+ // shadow) to render at screen width instead of content width.
149
+ alignSelf: 'flex-start'
150
+ }
151
+ });
152
+ //# sourceMappingURL=HoverLayer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["memo","useLayoutEffect","StyleSheet","Reanimated","useAnimatedStyle","runOnUI","jsx","_jsx","HoverLayer","hoverContentRef","hoverVersion","hoverPositionSV","dragPhaseSV","receiverIdSV","hoverReadySV","hoverDimsSV","hoverStylesRef","current","_dragPhaseSV","_hoverReadySV","value","hs","flatHoverStyle","hoverStyle","flatHoverDraggingStyle","hoverDraggingStyle","flatHoverDraggingWithReceiverStyle","hoverDraggingWithReceiverStyle","flatHoverDraggingWithoutReceiverStyle","hoverDraggingWithoutReceiverStyle","flatHoverDragReleasedStyle","hoverDragReleasedStyle","positionStyle","phase","opacity","transform","translateX","x","translateY","y","visualStyle","hoverStyles","hasReceiver","userTransform","restStyles","dimensionStyle","dims","width","height","View","style","styles","container","pointerEvents","children","content","create","absoluteFillObject","transformOrigin","alignSelf"],"sourceRoot":"../../src","sources":["HoverLayer.tsx"],"mappings":";;AACA,SAASA,IAAI,EAAEC,eAAe,QAAQ,OAAO;AAE7C,SAASC,UAAU,QAAQ,cAAc;AAEzC,OAAOC,UAAU,IAAIC,gBAAgB,QAAQ,yBAAyB;AACtE,SAASC,OAAO,QAAQ,uBAAuB;;AAI/C;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAwBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,UAAU,gBAAGR,IAAI,CAC5B,CAAC;EAAES,eAAe;EAAEC,YAAY;EAAEC,eAAe;EAAEC,WAAW;EAAEC,YAAY;EAAEC,YAAY;EAAEC,WAAW;EAAEC;AAAgC,CAAC,KAAK;EAC7I;EACA;EACA;EACA;EACA;EACAf,eAAe,CAAC,MAAM;IACpB,IAAIQ,eAAe,CAACQ,OAAO,IAAI,IAAI,EAAE;MACnCZ,OAAO,CAAC,CAACa,YAAoC,EAAEC,aAAmC,KAAK;QACrF,SAAS;;QACTD,YAAY,CAACE,KAAK,GAAG,UAAU;QAC/BD,aAAa,CAACC,KAAK,GAAG,IAAI;MAC5B,CAAC,CAAC,CAACR,WAAW,EAAEE,YAAY,CAAC;IAC/B;EACF,CAAC,EAAE,CAACJ,YAAY,CAAC,CAAC;;EAElB;EACA;EACA;EACA,MAAMW,EAAE,GAAGL,cAAc,CAACC,OAAO;EACjC,MAAMK,cAAc,GAAGD,EAAE,EAAEE,UAAU,IAAI,IAAI;EAC7C,MAAMC,sBAAsB,GAAGH,EAAE,EAAEI,kBAAkB,IAAI,IAAI;EAC7D,MAAMC,kCAAkC,GAAGL,EAAE,EAAEM,8BAA8B,IAAI,IAAI;EACrF,MAAMC,qCAAqC,GAAGP,EAAE,EAAEQ,iCAAiC,IAAI,IAAI;EAC3F,MAAMC,0BAA0B,GAAGT,EAAE,EAAEU,sBAAsB,IAAI,IAAI;;EAErE;EACA;EACA,MAAMC,aAAa,GAAG5B,gBAAgB,CAAC,MAAM;IAC3C,MAAM6B,KAAK,GAAGrB,WAAW,CAACQ,KAAK;IAC/B,IAAIa,KAAK,KAAK,MAAM,EAAE;MACpB,OAAO;QAAEC,OAAO,EAAE;MAAE,CAAC;IACvB;IACA,OAAO;MACLA,OAAO,EAAE,CAAC;MACVC,SAAS,EAAE,CACT;QAAEC,UAAU,EAAEzB,eAAe,CAACS,KAAK,CAACiB;MAAE,CAAC,EACvC;QAAEC,UAAU,EAAE3B,eAAe,CAACS,KAAK,CAACmB;MAAE,CAAC;IAE3C,CAAC;EACH,CAAC,CAAC;;EAEF;EACA;EACA;EACA,MAAMC,WAAW,GAAGpC,gBAAgB,CAAC,MAAM;IACzC,MAAM6B,KAAK,GAAGrB,WAAW,CAACQ,KAAK;IAC/B,IAAIa,KAAK,KAAK,MAAM,EAAE;MACpB,OAAO,CAAC,CAAC;IACX;IAEA,IAAIQ,WAAsB;IAC1B,IAAIR,KAAK,KAAK,UAAU,EAAE;MACxB,MAAMS,WAAW,GAAG7B,YAAY,CAACO,KAAK,KAAK,EAAE;MAC7CqB,WAAW,GAAG;QACZ,IAAInB,cAAc,IAAI,CAAC,CAAC,CAAC;QACzB,IAAIE,sBAAsB,IAAI,CAAC,CAAC,CAAC;QACjC,IAAIkB,WAAW,GACVhB,kCAAkC,IAAI,CAAC,CAAC,GACxCE,qCAAqC,IAAI,CAAC,CAAE;MACnD,CAAC;IACH,CAAC,MAAM;MACL;MACAa,WAAW,GAAG;QACZ,IAAInB,cAAc,IAAI,CAAC,CAAC,CAAC;QACzB,IAAIQ,0BAA0B,IAAIN,sBAAsB,IAAI,CAAC,CAAC;MAChE,CAAC;IACH;;IAEA;IACA,MAAM;MAAEW,SAAS,EAAEQ,aAAa;MAAE,GAAGC;IAAW,CAAC,GAAGH,WAAW;IAE/D,OAAO;MACL,GAAGG,UAAU;MACb,IAAID,aAAa,GAAG;QAAER,SAAS,EAAEQ;MAA6C,CAAC,GAAG,CAAC,CAAC;IACtF,CAAC;EACH,CAAC,CAAC;;EAEF;EACA;EACA;EACA,MAAME,cAAc,GAAGzC,gBAAgB,CAAC,MAAM;IAC5C,MAAM0C,IAAI,GAAG/B,WAAW,CAACK,KAAK;IAC9B,IAAI0B,IAAI,CAACT,CAAC,GAAG,CAAC,IAAIS,IAAI,CAACP,CAAC,GAAG,CAAC,EAAE;MAC5B,OAAO;QACLQ,KAAK,EAAED,IAAI,CAACT,CAAC;QACbW,MAAM,EAAEF,IAAI,CAACP;MACf,CAAC;IACH;IACA,OAAO,CAAC,CAAC;EACX,CAAC,CAAC;;EAEF;EACA;EACA;EACA,oBACEhC,IAAA,CAACJ,UAAU,CAAC8C,IAAI;IACdC,KAAK,EAAE,CAACC,MAAM,CAACC,SAAS,EAAEpB,aAAa,CAAE;IACzCqB,aAAa,EAAC,MAAM;IAAAC,QAAA,eAEpB/C,IAAA,CAACJ,UAAU,CAAC8C,IAAI;MAACC,KAAK,EAAE,CAACC,MAAM,CAACI,OAAO,EAAEV,cAAc,EAAEL,WAAW,CAAE;MAAAc,QAAA,EACnE7C,eAAe,CAACQ;IAAO,CACT;EAAC,CACH,CAAC;AAEtB,CACF,CAAC;AAED,MAAMkC,MAAM,GAAGjD,UAAU,CAACsD,MAAM,CAAC;EAC/BJ,SAAS,EAAE;IACT,GAAGlD,UAAU,CAACuD,kBAAkB;IAChC;IACA;IACAvB,OAAO,EAAE,CAAC;IACVwB,eAAe,EAAE;EACnB,CAAC;EACDH,OAAO,EAAE;IACP;IACA;IACA;IACAI,SAAS,EAAE;EACb;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,386 @@
1
+ "use strict";
2
+
3
+ import { useEffect, useRef } from 'react';
4
+ import { withDelay, withTiming } from 'react-native-reanimated';
5
+ import { runOnJS, runOnUI } from 'react-native-worklets';
6
+ import { DraxView } from "./DraxView.js";
7
+ import { useDraxContext } from "./hooks/useDraxContext.js";
8
+ import { defaultSnapbackDelay, defaultSnapbackDuration } from "./params.js";
9
+ import { SortableBoardContext } from "./SortableBoardContext.js";
10
+ import { isSortableItemPayload } from "./types.js";
11
+ import { jsx as _jsx } from "react/jsx-runtime";
12
+ export const SortableBoardContainer = ({
13
+ board,
14
+ style,
15
+ children,
16
+ draxViewProps
17
+ }) => {
18
+ const boardInternal = board._internal;
19
+ const columns = boardInternal.columns;
20
+ const transferStateRef = boardInternal.transferState;
21
+ const {
22
+ hoverClearDeferredRef,
23
+ draggedIdSV,
24
+ hoverReadySV,
25
+ dragPhaseSV,
26
+ hoverPositionSV,
27
+ hoverDimsSV,
28
+ setHoverContent
29
+ } = useDraxContext();
30
+
31
+ // Source info recorded on drag start
32
+ const sourceInfoRef = useRef(undefined);
33
+
34
+ // ── Find which column contains the given absolute position ──────────
35
+ const findTargetColumn = absolutePos => {
36
+ for (const [colId, internal] of columns.entries()) {
37
+ const bounds = internal.containerMeasurementsRef.current;
38
+ if (!bounds) continue;
39
+ if (absolutePos.x >= bounds.x && absolutePos.x <= bounds.x + bounds.width && absolutePos.y >= bounds.y && absolutePos.y <= bounds.y + bounds.height) {
40
+ return colId;
41
+ }
42
+ }
43
+ return undefined;
44
+ };
45
+
46
+ // ── Convert absolute position to column content position ────────────
47
+ const toContentPos = (absolutePos, col) => {
48
+ const bounds = col.containerMeasurementsRef.current;
49
+ if (!bounds) return {
50
+ x: 0,
51
+ y: 0
52
+ };
53
+ return {
54
+ x: absolutePos.x - bounds.x + col.scrollPosition.value.x,
55
+ y: absolutePos.y - bounds.y + col.scrollPosition.value.y
56
+ };
57
+ };
58
+
59
+ // ── Finalize cross-container transfer ─────────────────────────────────
60
+ // 1. Clear source/target JS-thread drag refs
61
+ // 2. Clear source draggedItem on UI thread
62
+ // 3. rAF → onTransfer → parent setState → useLayoutEffect updates stableData
63
+ // (hover covers any brief re-layout; React 18 flushes setStableData
64
+ // synchronously from useLayoutEffect, so FlatList re-renders before paint)
65
+ // 4. Guarded rAF → rAF → clear hover (skipped if a new drag already started)
66
+ const finalizeTransferRef = useRef(undefined);
67
+ /** Generation counter — incremented on each new drag start.
68
+ * Deferred hover cleanup checks this to skip if a new drag has started. */
69
+ const cleanupGenRef = useRef(0);
70
+ finalizeTransferRef.current = () => {
71
+ const transfer = transferStateRef.current;
72
+ if (!transfer || !transfer.targetId) return;
73
+ const source = columns.get(transfer.sourceId);
74
+ const target = columns.get(transfer.targetId);
75
+ if (!source || !target) return;
76
+ const phantomIndex = target.phantomRef.current?.atDisplayIndex ?? transfer.targetSlot ?? 0;
77
+ const item = source.rawData[transfer.sourceOriginalIndex];
78
+
79
+ // 1. Clear source drag refs
80
+ source.draggedDisplayIndexRef.current = undefined;
81
+ source.dragStartIndexRef.current = undefined;
82
+ source.pendingOrderRef.current = [];
83
+
84
+ // Clear target phantom ref (JS-thread only, shifts stay for now).
85
+ target.phantomRef.current = undefined;
86
+ target.pendingOrderRef.current = [];
87
+
88
+ // Keep hover visible during transition
89
+ hoverClearDeferredRef.current = true;
90
+
91
+ // Clear board/transfer state
92
+ transferStateRef.current = undefined;
93
+ sourceInfoRef.current = undefined;
94
+
95
+ // 2. Clear source draggedItem AND draggedIdSV on UI thread.
96
+ const sourceItemKey = transfer.itemKey;
97
+ runOnUI((_srcDraggedItem, _draggedIdSV, _shiftsRef, _key) => {
98
+ 'worklet';
99
+
100
+ const current = _shiftsRef.value;
101
+ _shiftsRef.value = {
102
+ ...current,
103
+ [_key]: {
104
+ x: -9999,
105
+ y: -9999
106
+ }
107
+ };
108
+ _srcDraggedItem.value = -1;
109
+ _draggedIdSV.value = '';
110
+ })(source.draggedItem, draggedIdSV, source.shiftsRef, sourceItemKey);
111
+
112
+ // 3. rAF → onTransfer → parent setState
113
+ const gen = ++cleanupGenRef.current;
114
+ requestAnimationFrame(() => {
115
+ boardInternal.onTransfer({
116
+ item,
117
+ fromContainerId: transfer.sourceId,
118
+ fromIndex: transfer.dragStartIndex,
119
+ toContainerId: transfer.targetId,
120
+ toIndex: phantomIndex
121
+ });
122
+
123
+ // 4. Wait for React render + Fabric commit, then clear hover.
124
+ requestAnimationFrame(() => {
125
+ requestAnimationFrame(() => {
126
+ if (cleanupGenRef.current !== gen) {
127
+ return;
128
+ }
129
+ runOnUI((_hoverReadySV, _dragPhaseSV, _draggedIdSV, _hoverPositionSV, _hoverDimsSV, _setHoverContent) => {
130
+ 'worklet';
131
+
132
+ _hoverReadySV.value = false;
133
+ _dragPhaseSV.value = 'idle';
134
+ _draggedIdSV.value = '';
135
+ _hoverPositionSV.value = {
136
+ x: 0,
137
+ y: 0
138
+ };
139
+ _hoverDimsSV.value = {
140
+ x: 0,
141
+ y: 0
142
+ };
143
+ runOnJS(_setHoverContent)(null);
144
+ })(hoverReadySV, dragPhaseSV, draggedIdSV, hoverPositionSV, hoverDimsSV, setHoverContent);
145
+ });
146
+ });
147
+ });
148
+ };
149
+ useEffect(() => {
150
+ boardInternal.finalizeTransfer = () => finalizeTransferRef.current?.();
151
+ });
152
+
153
+ // ── Monitor callbacks ──────────────────────────────────────────────
154
+
155
+ const onMonitorDragStart = eventData => {
156
+ draxViewProps?.onMonitorDragStart?.(eventData);
157
+
158
+ // Invalidate any pending deferred hover cleanup from a previous transfer
159
+ cleanupGenRef.current++;
160
+
161
+ // Reset hover dimensions from any previous cross-container transfer
162
+ hoverDimsSV.value = {
163
+ x: 0,
164
+ y: 0
165
+ };
166
+ const {
167
+ dragged
168
+ } = eventData;
169
+ const parentId = dragged.parentId;
170
+ if (!parentId || !columns.has(parentId)) return;
171
+ if (!isSortableItemPayload(dragged.payload)) return;
172
+ const sourceCol = columns.get(parentId);
173
+ const {
174
+ originalIndex
175
+ } = dragged.payload;
176
+ const item = sourceCol.rawData[originalIndex];
177
+ if (item === undefined) return;
178
+ const itemKey = sourceCol.keyExtractor(item, originalIndex);
179
+ const dims = dragged.measurements ? {
180
+ width: dragged.measurements.width,
181
+ height: dragged.measurements.height
182
+ } : {
183
+ width: 0,
184
+ height: 0
185
+ };
186
+
187
+ // Determine display index (accounting for committed visual order)
188
+ const committed = sourceCol.committedOrderRef.current;
189
+ let displayIndex = dragged.payload.index;
190
+ if (committed.length > 0) {
191
+ const pos = committed.indexOf(originalIndex);
192
+ if (pos >= 0) displayIndex = pos;
193
+ }
194
+
195
+ // Set hover dimensions to source item size for cross-container dimension animation
196
+ if (dims.width > 0 && dims.height > 0) {
197
+ hoverDimsSV.value = {
198
+ x: dims.width,
199
+ y: dims.height
200
+ };
201
+ }
202
+ sourceInfoRef.current = {
203
+ colId: parentId,
204
+ originalIndex,
205
+ itemKey,
206
+ dragStartIndex: displayIndex,
207
+ dimensions: dims
208
+ };
209
+ };
210
+ const onMonitorDragOver = eventData => {
211
+ draxViewProps?.onMonitorDragOver?.(eventData);
212
+ const source = sourceInfoRef.current;
213
+ if (!source) return;
214
+ const targetColId = findTargetColumn(eventData.dragAbsolutePosition);
215
+ const transfer = transferStateRef.current;
216
+ if (targetColId && targetColId !== source.colId) {
217
+ // ── Drag is over a different column → cross-container ──────
218
+ const targetCol = columns.get(targetColId);
219
+ if (!targetCol) return;
220
+
221
+ // Ensure target column's pending order is initialized for slot computation
222
+ if (targetCol.pendingOrderRef.current.length === 0) {
223
+ const committed = targetCol.committedOrderRef.current;
224
+ targetCol.pendingOrderRef.current = committed.length > 0 ? [...committed] : [...targetCol.originalIndexes];
225
+ }
226
+ const contentPos = toContentPos(eventData.dragAbsolutePosition, targetCol);
227
+ const insertIdx = targetCol.getSlotFromPosition(contentPos);
228
+ if (!transfer) {
229
+ // First time crossing — eject from source, set phantom in target
230
+ const sourceCol = columns.get(source.colId);
231
+ sourceCol?.ejectDraggedItem();
232
+ transferStateRef.current = {
233
+ sourceId: source.colId,
234
+ sourceOriginalIndex: source.originalIndex,
235
+ itemKey: source.itemKey,
236
+ itemDimensions: source.dimensions,
237
+ dragStartIndex: source.dragStartIndex,
238
+ targetId: targetColId,
239
+ targetSlot: insertIdx
240
+ };
241
+ targetCol.setPhantomSlot(insertIdx, source.dimensions.width, source.dimensions.height);
242
+ } else if (transfer.targetId !== targetColId) {
243
+ // Crossed to a DIFFERENT target column — clear old target, set new
244
+ if (transfer.targetId) {
245
+ const prevTarget = columns.get(transfer.targetId);
246
+ prevTarget?.clearPhantomSlot();
247
+ }
248
+ transferStateRef.current = {
249
+ ...transfer,
250
+ targetId: targetColId,
251
+ targetSlot: insertIdx
252
+ };
253
+ targetCol.setPhantomSlot(insertIdx, source.dimensions.width, source.dimensions.height);
254
+ } else if (transfer.targetSlot !== insertIdx) {
255
+ // Same target column — update phantom position only if slot changed
256
+ transferStateRef.current = {
257
+ ...transfer,
258
+ targetSlot: insertIdx
259
+ };
260
+ targetCol.setPhantomSlot(insertIdx, source.dimensions.width, source.dimensions.height);
261
+ }
262
+ } else if (targetColId === source.colId && transfer) {
263
+ // ── Drag returned to source column ─────────────────────────
264
+ // Clear target phantom
265
+ if (transfer.targetId) {
266
+ const prevTarget = columns.get(transfer.targetId);
267
+ prevTarget?.clearPhantomSlot();
268
+ }
269
+
270
+ // Reinject item into source
271
+ const sourceCol = columns.get(source.colId);
272
+ if (sourceCol) {
273
+ const contentPos = toContentPos(eventData.dragAbsolutePosition, sourceCol);
274
+ const insertIdx = sourceCol.pendingOrderRef.current.length > 0 ? sourceCol.getSlotFromPosition(contentPos) : source.dragStartIndex;
275
+ sourceCol.reinjectDraggedItem(insertIdx, source.originalIndex);
276
+ }
277
+
278
+ // Clear transfer state — source column's monitor handles from here
279
+ transferStateRef.current = undefined;
280
+ } else if (!targetColId && transfer) {
281
+ // ── Drag is outside all columns but transfer was active ────
282
+ if (transfer.targetId) {
283
+ const prevTarget = columns.get(transfer.targetId);
284
+ prevTarget?.clearPhantomSlot();
285
+ }
286
+
287
+ // Reinject into source at original position
288
+ const sourceCol = columns.get(source.colId);
289
+ sourceCol?.reinjectDraggedItem(source.dragStartIndex, source.originalIndex);
290
+ transferStateRef.current = undefined;
291
+ }
292
+ };
293
+ const onMonitorDragEnd = eventData => {
294
+ const transfer = transferStateRef.current;
295
+ const cancelled = eventData.cancelled;
296
+ if (transfer && transfer.targetId && !cancelled) {
297
+ // Successful drop during cross-container transfer — snap to phantom position
298
+ const targetCol = columns.get(transfer.targetId);
299
+ if (targetCol) {
300
+ const snapTarget = targetCol.getPhantomSnapTarget();
301
+ // Clear source info to prevent spurious re-triggers during snap animation
302
+ sourceInfoRef.current = undefined;
303
+
304
+ // Animate hover dimensions from source to target size during snap.
305
+ // This causes the hover content to reflow naturally (width/height change,
306
+ // not scale) so the card smoothly transitions to the target column's size.
307
+ const sourceDims = transfer.itemDimensions;
308
+ const firstItemMeas = targetCol.itemMeasurements.current.values().next().value;
309
+ if (sourceDims && firstItemMeas && sourceDims.width > 0 && sourceDims.height > 0) {
310
+ if (Math.abs(firstItemMeas.width - sourceDims.width) > 2 || Math.abs(firstItemMeas.height - sourceDims.height) > 2) {
311
+ const snapDelay = draxViewProps?.snapDelay ?? defaultSnapbackDelay;
312
+ const snapDuration = draxViewProps?.snapDuration ?? defaultSnapbackDuration;
313
+ hoverDimsSV.value = withDelay(snapDelay, withTiming({
314
+ x: firstItemMeas.width,
315
+ y: firstItemMeas.height
316
+ }, {
317
+ duration: snapDuration
318
+ }));
319
+ }
320
+ }
321
+ draxViewProps?.onMonitorDragEnd?.(eventData);
322
+ return snapTarget;
323
+ }
324
+ }
325
+ if (transfer) {
326
+ // Cancelled or no target — clear phantom and reinject
327
+ if (transfer.targetId) {
328
+ const prevTarget = columns.get(transfer.targetId);
329
+ prevTarget?.clearPhantomSlot();
330
+ }
331
+ const sourceCol = columns.get(transfer.sourceId);
332
+ if (sourceCol) {
333
+ sourceCol.reinjectDraggedItem(transfer.dragStartIndex, transfer.sourceOriginalIndex);
334
+ }
335
+ transferStateRef.current = undefined;
336
+ }
337
+ sourceInfoRef.current = undefined;
338
+ const provided = draxViewProps?.onMonitorDragEnd?.(eventData);
339
+ return provided;
340
+ };
341
+ const onMonitorDragDrop = eventData => {
342
+ // For cross-container, drops go through onMonitorDragEnd (no receiver).
343
+ // This handles the case where a receiver exists.
344
+ const transfer = transferStateRef.current;
345
+ if (transfer && transfer.targetId) {
346
+ const targetCol = columns.get(transfer.targetId);
347
+ if (targetCol) {
348
+ const snapTarget = targetCol.getPhantomSnapTarget();
349
+ sourceInfoRef.current = undefined;
350
+ draxViewProps?.onMonitorDragDrop?.(eventData);
351
+ return snapTarget;
352
+ }
353
+ }
354
+ sourceInfoRef.current = undefined;
355
+ return draxViewProps?.onMonitorDragDrop?.(eventData);
356
+ };
357
+
358
+ // ── Context value ──────────────────────────────────────────────────
359
+
360
+ // Pass boardInternal directly — NOT a copy. The useEffect above mutates
361
+ // boardInternal.finalizeTransfer after render. A snapshot copy would capture
362
+ // `undefined` and memoization would never update it.
363
+ // Cast needed: SortableBoardInternal<TItem> → SortableBoardInternal<unknown>
364
+ // is safe because consumers only read transferState and finalizeTransfer.
365
+ const contextValue = {
366
+ registerColumn: boardInternal.registerColumn,
367
+ unregisterColumn: boardInternal.unregisterColumn,
368
+ boardInternal: boardInternal
369
+ };
370
+ return /*#__PURE__*/_jsx(SortableBoardContext.Provider, {
371
+ value: contextValue,
372
+ children: /*#__PURE__*/_jsx(DraxView, {
373
+ ...draxViewProps,
374
+ style: [draxViewProps?.style, style],
375
+ draggable: false,
376
+ receptive: false,
377
+ monitoring: true,
378
+ onMonitorDragStart: onMonitorDragStart,
379
+ onMonitorDragOver: onMonitorDragOver,
380
+ onMonitorDragEnd: onMonitorDragEnd,
381
+ onMonitorDragDrop: onMonitorDragDrop,
382
+ children: children
383
+ })
384
+ });
385
+ };
386
+ //# sourceMappingURL=SortableBoardContainer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useEffect","useRef","withDelay","withTiming","runOnJS","runOnUI","DraxView","useDraxContext","defaultSnapbackDelay","defaultSnapbackDuration","SortableBoardContext","isSortableItemPayload","jsx","_jsx","SortableBoardContainer","board","style","children","draxViewProps","boardInternal","_internal","columns","transferStateRef","transferState","hoverClearDeferredRef","draggedIdSV","hoverReadySV","dragPhaseSV","hoverPositionSV","hoverDimsSV","setHoverContent","sourceInfoRef","undefined","findTargetColumn","absolutePos","colId","internal","entries","bounds","containerMeasurementsRef","current","x","width","y","height","toContentPos","col","scrollPosition","value","finalizeTransferRef","cleanupGenRef","transfer","targetId","source","get","sourceId","target","phantomIndex","phantomRef","atDisplayIndex","targetSlot","item","rawData","sourceOriginalIndex","draggedDisplayIndexRef","dragStartIndexRef","pendingOrderRef","sourceItemKey","itemKey","_srcDraggedItem","_draggedIdSV","_shiftsRef","_key","draggedItem","shiftsRef","gen","requestAnimationFrame","onTransfer","fromContainerId","fromIndex","dragStartIndex","toContainerId","toIndex","_hoverReadySV","_dragPhaseSV","_hoverPositionSV","_hoverDimsSV","_setHoverContent","finalizeTransfer","onMonitorDragStart","eventData","dragged","parentId","has","payload","sourceCol","originalIndex","keyExtractor","dims","measurements","committed","committedOrderRef","displayIndex","index","length","pos","indexOf","dimensions","onMonitorDragOver","targetColId","dragAbsolutePosition","targetCol","originalIndexes","contentPos","insertIdx","getSlotFromPosition","ejectDraggedItem","itemDimensions","setPhantomSlot","prevTarget","clearPhantomSlot","reinjectDraggedItem","onMonitorDragEnd","cancelled","snapTarget","getPhantomSnapTarget","sourceDims","firstItemMeas","itemMeasurements","values","next","Math","abs","snapDelay","snapDuration","duration","provided","onMonitorDragDrop","contextValue","registerColumn","unregisterColumn","Provider","draggable","receptive","monitoring"],"sourceRoot":"../../src","sources":["SortableBoardContainer.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ import { createContext, useContext } from 'react';
4
+ export const SortableBoardContext = /*#__PURE__*/createContext(undefined);
5
+ export const useSortableBoardContext = () => useContext(SortableBoardContext);
6
+ //# sourceMappingURL=SortableBoardContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createContext","useContext","SortableBoardContext","undefined","useSortableBoardContext"],"sourceRoot":"../../src","sources":["SortableBoardContext.ts"],"mappings":";;AAAA,SAASA,aAAa,EAAEC,UAAU,QAAQ,OAAO;AAGjD,OAAO,MAAMC,oBAAoB,gBAAGF,aAAa,CAAwCG,SAAS,CAAC;AAEnG,OAAO,MAAMC,uBAAuB,GAAGA,CAAA,KAAMH,UAAU,CAACC,oBAAoB,CAAC","ignoreList":[]}