react-native-reorderable-list 0.11.0 → 0.13.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 (22) hide show
  1. package/README.md +1 -1
  2. package/lib/commonjs/components/ReorderableListCell.js +2 -2
  3. package/lib/commonjs/components/ReorderableListCell.js.map +1 -1
  4. package/lib/commonjs/components/ReorderableListCore/ReorderableListCore.js +2 -2
  5. package/lib/commonjs/components/ReorderableListCore/ReorderableListCore.js.map +1 -1
  6. package/lib/commonjs/components/ReorderableListCore/useReorderableListCore.js +122 -63
  7. package/lib/commonjs/components/ReorderableListCore/useReorderableListCore.js.map +1 -1
  8. package/lib/module/components/ReorderableListCell.js +2 -2
  9. package/lib/module/components/ReorderableListCell.js.map +1 -1
  10. package/lib/module/components/ReorderableListCore/ReorderableListCore.js +2 -2
  11. package/lib/module/components/ReorderableListCore/ReorderableListCore.js.map +1 -1
  12. package/lib/module/components/ReorderableListCore/useReorderableListCore.js +122 -63
  13. package/lib/module/components/ReorderableListCore/useReorderableListCore.js.map +1 -1
  14. package/lib/typescript/components/ReorderableListCore/useReorderableListCore.d.ts +2 -2
  15. package/lib/typescript/components/ReorderableListCore/useReorderableListCore.d.ts.map +1 -1
  16. package/lib/typescript/types/props.d.ts +4 -3
  17. package/lib/typescript/types/props.d.ts.map +1 -1
  18. package/package.json +1 -1
  19. package/src/components/ReorderableListCell.tsx +3 -3
  20. package/src/components/ReorderableListCore/ReorderableListCore.tsx +2 -2
  21. package/src/components/ReorderableListCore/useReorderableListCore.ts +196 -106
  22. package/src/types/props.ts +4 -3
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","useMemo","FlatList","Platform","Gesture","GestureDetector","Animated","useComposedEventHandler","AUTOSCROLL_CONFIG","useReorderableListCore","ReorderableListContext","ReorderableListCell","AnimatedFlatList","createAnimatedComponent","ReorderableListCore","autoscrollThreshold","autoscrollThresholdOffset","autoscrollSpeedScale","autoscrollDelay","delay","animationDuration","dragReorderThreshold","onLayout","onReorder","onScroll","onDragStart","onDragEnd","onIndexChange","scrollViewContainerRef","scrollViewHeightY","scrollViewScrollOffsetY","scrollViewScrollEnabled","initialScrollViewScrollEnabled","scrollable","outerScrollGesture","cellAnimations","shouldUpdateActiveItem","panEnabled","panActivateAfterLongPress","rest","ref","gestureHandler","handleScroll","handleFlatListLayout","handleRef","startDrag","listContextValue","itemOffset","itemHeight","dragY","draggedIndex","duration","initialScrollEnabled","scrollEnabled","nestedScrollable","combinedGesture","OS","Simultaneous","composedScrollHandler","renderAnimatedCell","cellKey","props","createElement","_extends","key","index","Provider","value","gesture","CellRendererComponent","scrollEventThrottle","horizontal","removeClippedSubviews","numColumns","MemoizedReorderableListCore","memo","forwardRef"],"sourceRoot":"../../../../src","sources":["components/ReorderableListCore/ReorderableListCore.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useCallback","useMemo","FlatList","Platform","Gesture","GestureDetector","Animated","useComposedEventHandler","AUTOSCROLL_CONFIG","useReorderableListCore","ReorderableListContext","ReorderableListCell","AnimatedFlatList","createAnimatedComponent","ReorderableListCore","autoscrollThreshold","autoscrollThresholdOffset","autoscrollSpeedScale","autoscrollDelay","delay","autoscrollActivationDelta","animationDuration","onLayout","onReorder","onScroll","onDragStart","onDragEnd","onIndexChange","scrollViewContainerRef","scrollViewHeightY","scrollViewScrollOffsetY","scrollViewScrollEnabled","initialScrollViewScrollEnabled","scrollable","outerScrollGesture","cellAnimations","shouldUpdateActiveItem","panEnabled","panActivateAfterLongPress","rest","ref","gestureHandler","handleScroll","handleFlatListLayout","handleRef","startDrag","listContextValue","itemOffset","itemHeight","dragY","draggedIndex","duration","initialScrollEnabled","scrollEnabled","nestedScrollable","combinedGesture","OS","Simultaneous","composedScrollHandler","renderAnimatedCell","cellKey","props","createElement","_extends","key","index","Provider","value","gesture","CellRendererComponent","scrollEventThrottle","horizontal","removeClippedSubviews","numColumns","MemoizedReorderableListCore","memo","forwardRef"],"sourceRoot":"../../../../src","sources":["components/ReorderableListCore/ReorderableListCore.tsx"],"mappings":"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","ignoreList":[]}
@@ -13,8 +13,8 @@ export const useReorderableListCore = ({
13
13
  autoscrollThresholdOffset,
14
14
  autoscrollSpeedScale,
15
15
  autoscrollDelay,
16
+ autoscrollActivationDelta,
16
17
  animationDuration,
17
- dragReorderThreshold,
18
18
  onReorder,
19
19
  onDragStart,
20
20
  onDragEnd,
@@ -38,22 +38,25 @@ export const useReorderableListCore = ({
38
38
  const gestureState = useSharedValue(State.UNDETERMINED);
39
39
  const currentY = useSharedValue(0);
40
40
  const currentTranslationY = useSharedValue(0);
41
+ const currentItemDragCenterY = useSharedValue(null);
42
+ const startItemDragCenterY = useSharedValue(0);
41
43
  const flatListScrollOffsetY = useSharedValue(0);
42
44
  const flatListHeightY = useSharedValue(0);
43
45
  const nestedFlatListPositionY = useSharedValue(0);
46
+ // The scroll y translation of the list since drag start
44
47
  const dragScrollTranslationY = useSharedValue(0);
48
+ // The initial scroll offset y of the list on drag start
45
49
  const dragInitialScrollOffsetY = useSharedValue(0);
50
+ // The scroll y translation of the ScrollViewContainer since drag start
46
51
  const scrollViewDragScrollTranslationY = useSharedValue(0);
52
+ // The initial scroll offset y of the ScrollViewContainer on drag start
47
53
  const scrollViewDragInitialScrollOffsetY = useSharedValue(0);
48
54
  const draggedHeight = useSharedValue(0);
49
55
  const itemOffset = useSharedValue([]);
50
56
  const itemHeight = useSharedValue([]);
51
57
  const autoscrollTrigger = useSharedValue(-1);
52
58
  const lastAutoscrollTrigger = useSharedValue(-1);
53
- const previousY = useSharedValue(0);
54
59
  const dragY = useSharedValue(0);
55
- const previousDirection = useSharedValue(0);
56
- const previousIndex = useSharedValue(-1);
57
60
  const currentIndex = useSharedValue(-1);
58
61
  const draggedIndex = useSharedValue(-1);
59
62
  const state = useSharedValue(ReorderableListState.IDLE);
@@ -62,9 +65,13 @@ export const useReorderableListCore = ({
62
65
  const duration = useSharedValue(animationDuration);
63
66
  const scaleDefault = useSharedValue(1);
64
67
  const opacityDefault = useSharedValue(1);
68
+ const dragDirection = useSharedValue(0);
69
+ const lastDragDirectionPivot = useSharedValue(null);
70
+ const autoscrollDelta = useSharedValue(autoscrollActivationDelta);
65
71
  useEffect(() => {
66
72
  duration.value = animationDuration;
67
- }, [duration, animationDuration]);
73
+ autoscrollDelta.value = autoscrollActivationDelta;
74
+ }, [duration, animationDuration, autoscrollDelta, autoscrollActivationDelta]);
68
75
  const listContextValue = useMemo(() => ({
69
76
  draggedHeight,
70
77
  currentIndex,
@@ -79,6 +86,43 @@ export const useReorderableListCore = ({
79
86
  opacity: cellAnimations && 'opacity' in cellAnimations ? cellAnimations.opacity : opacityDefault
80
87
  }
81
88
  }), [draggedHeight, currentIndex, draggedIndex, dragEndHandlers, activeIndex, cellAnimations, scaleDefault, opacityDefault]);
89
+
90
+ /**
91
+ * Decides the intended drag direction of the user.
92
+ * This is used to to determine if the user intends to autoscroll
93
+ * when within the threshold area.
94
+ *
95
+ * @param e - The payload of the pan gesture update event.
96
+ */
97
+ const setDragDirection = useCallback(e => {
98
+ 'worklet';
99
+
100
+ const direction = e.velocityY > 0 ? 1 : -1;
101
+ if (direction !== dragDirection.value) {
102
+ if (lastDragDirectionPivot.value === null) {
103
+ lastDragDirectionPivot.value = e.absoluteY;
104
+ } else if (Math.abs(e.absoluteY - lastDragDirectionPivot.value) >= autoscrollDelta.value) {
105
+ dragDirection.value = direction;
106
+ lastDragDirectionPivot.value = e.absoluteY;
107
+ }
108
+ }
109
+ }, [dragDirection, lastDragDirectionPivot, autoscrollDelta]);
110
+ const setCurrentItemDragCenterY = useCallback(e => {
111
+ 'worklet';
112
+
113
+ if (currentItemDragCenterY.value === null) {
114
+ if (currentIndex.value >= 0) {
115
+ const itemCenter = itemHeight.value[currentIndex.value] * 0.5;
116
+ // the y coordinate of the item relative to the list
117
+ const itemY = itemOffset.value[currentIndex.value] - (flatListScrollOffsetY.value + scrollViewDragScrollTranslationY.value);
118
+ const value = itemY + itemCenter + e.translationY;
119
+ startItemDragCenterY.value = value;
120
+ currentItemDragCenterY.value = value;
121
+ }
122
+ } else {
123
+ currentItemDragCenterY.value = startItemDragCenterY.value + e.translationY;
124
+ }
125
+ }, [currentItemDragCenterY, currentIndex, startItemDragCenterY, itemOffset, itemHeight, flatListScrollOffsetY, scrollViewDragScrollTranslationY]);
82
126
  const panGestureHandler = useMemo(() => Gesture.Pan().onBegin(e => {
83
127
  // prevent new dragging until item is completely released
84
128
  if (state.value === ReorderableListState.IDLE) {
@@ -89,13 +133,17 @@ export const useReorderableListCore = ({
89
133
  gestureState.value = e.state;
90
134
  }
91
135
  }).onUpdate(e => {
136
+ if (state.value === ReorderableListState.DRAGGED) {
137
+ setDragDirection(e);
138
+ }
92
139
  if (state.value !== ReorderableListState.RELEASED) {
140
+ setCurrentItemDragCenterY(e);
93
141
  currentY.value = startY.value + e.translationY;
94
142
  currentTranslationY.value = e.translationY;
95
143
  dragY.value = e.translationY + dragScrollTranslationY.value + scrollViewDragScrollTranslationY.value;
96
144
  gestureState.value = e.state;
97
145
  }
98
- }).onEnd(e => gestureState.value = e.state).onFinalize(e => gestureState.value = e.state), [currentTranslationY, currentY, dragScrollTranslationY, scrollViewDragScrollTranslationY, gestureState, dragY, startY, state]);
146
+ }).onEnd(e => gestureState.value = e.state).onFinalize(e => gestureState.value = e.state), [state, startY, currentY, currentTranslationY, dragY, gestureState, dragScrollTranslationY, scrollViewDragScrollTranslationY, setDragDirection, setCurrentItemDragCenterY]);
99
147
  const panGestureHandlerWithOptions = useMemo(() => {
100
148
  if (typeof panActivateAfterLongPress === 'number') {
101
149
  panGestureHandler.activateAfterLongPress(panActivateAfterLongPress);
@@ -131,7 +179,10 @@ export const useReorderableListCore = ({
131
179
  dragY.value = 0;
132
180
  dragScrollTranslationY.value = 0;
133
181
  scrollViewDragScrollTranslationY.value = 0;
134
- }, [draggedIndex, dragY, dragScrollTranslationY, scrollViewDragScrollTranslationY, state]);
182
+ dragDirection.value = 0;
183
+ lastDragDirectionPivot.value = null;
184
+ currentItemDragCenterY.value = null;
185
+ }, [state, draggedIndex, dragY, dragScrollTranslationY, scrollViewDragScrollTranslationY, dragDirection, lastDragDirectionPivot, currentItemDragCenterY]);
135
186
  const resetSharedValuesAfterAnimations = useCallback(() => {
136
187
  setTimeout(runOnUI(resetSharedValues), duration.value);
137
188
  }, [resetSharedValues, duration]);
@@ -151,67 +202,72 @@ export const useReorderableListCore = ({
151
202
  }
152
203
  }
153
204
  };
154
- const getIndexFromY = useCallback(y => {
205
+ const recomputeLayout = useCallback((from, to) => {
155
206
  'worklet';
156
207
 
157
- const relativeY = flatListScrollOffsetY.value + y;
158
- const count = itemOffset.value.length;
159
- for (let i = 0; i < count; i++) {
160
- if (currentIndex.value === i) {
161
- continue;
162
- }
163
- const direction = i > currentIndex.value ? 1 : -1;
164
- const threshold = Math.max(0, Math.min(1, dragReorderThreshold));
165
- const height = itemHeight.value[i];
166
- const offset = itemOffset.value[i] + height * threshold * direction;
167
- if (i === 0 && relativeY <= offset || i === count - 1 && relativeY >= offset + height || relativeY >= offset && relativeY <= offset + height) {
168
- return {
169
- index: i,
170
- direction
171
- };
208
+ const itemDirection = to > from;
209
+ const index1 = itemDirection ? from : to;
210
+ const index2 = itemDirection ? to : from;
211
+ const newOffset1 = itemOffset.value[index1];
212
+ const newHeight1 = itemHeight.value[index2];
213
+ const newOffset2 = itemOffset.value[index2] + itemHeight.value[index2] - itemHeight.value[index1];
214
+ const newHeight2 = itemHeight.value[index1];
215
+ itemOffset.value[index1] = newOffset1;
216
+ itemHeight.value[index1] = newHeight1;
217
+ itemOffset.value[index2] = newOffset2;
218
+ itemHeight.value[index2] = newHeight2;
219
+ }, [itemOffset, itemHeight]);
220
+
221
+ /**
222
+ * Computes a potential new drop container for the current dragged item and evaluates
223
+ * whether the dragged item center is nearer to the center of the current container or the new one.
224
+ *
225
+ * @returns The new index if the center of the dragged item is closer to the center of
226
+ * the new drop container or the current index if closer to the current drop container.
227
+ */
228
+ const computeCurrentIndex = useCallback(() => {
229
+ 'worklet';
230
+
231
+ if (currentItemDragCenterY.value === null) {
232
+ return currentIndex.value;
233
+ }
234
+
235
+ // apply scroll offset and scroll container translation
236
+ const relativeDragCenterY = flatListScrollOffsetY.value + scrollViewDragScrollTranslationY.value + currentItemDragCenterY.value;
237
+ const currentOffset = itemOffset.value[currentIndex.value];
238
+ const currentHeight = itemHeight.value[currentIndex.value];
239
+ const currentCenter = currentOffset + currentHeight * 0.5;
240
+ const max = itemOffset.value.length;
241
+ const possibleIndex = relativeDragCenterY < currentCenter ? Math.max(0, currentIndex.value - 1) : Math.min(max - 1, currentIndex.value + 1);
242
+ if (currentIndex.value !== possibleIndex) {
243
+ let possibleOffset = itemOffset.value[possibleIndex];
244
+ if (possibleIndex > currentIndex.value) {
245
+ possibleOffset += itemHeight.value[possibleIndex] - currentHeight;
172
246
  }
247
+ const possibleCenter = possibleOffset + currentHeight * 0.5;
248
+ const distanceFromCurrent = Math.abs(relativeDragCenterY - currentCenter);
249
+ const distanceFromPossible = Math.abs(relativeDragCenterY - possibleCenter);
250
+ return distanceFromCurrent <= distanceFromPossible ? currentIndex.value : possibleIndex;
173
251
  }
174
- return {
175
- index: currentIndex.value,
176
- direction: previousDirection.value
177
- };
178
- }, [dragReorderThreshold, currentIndex, flatListScrollOffsetY, previousDirection, itemOffset, itemHeight]);
179
- const setCurrentIndex = useCallback(y => {
252
+ return currentIndex.value;
253
+ }, [currentIndex, currentItemDragCenterY, itemOffset, itemHeight, flatListScrollOffsetY, scrollViewDragScrollTranslationY]);
254
+ const setCurrentIndex = useCallback(() => {
180
255
  'worklet';
181
256
 
182
- const {
183
- index: newIndex,
184
- direction: newDirection
185
- } = getIndexFromY(y);
186
- const delta = Math.abs(previousY.value - y);
187
- if (currentIndex.value !== newIndex && (
188
- // if the same two items re-swap index check delta and direction to avoid swap flickering
189
- previousIndex.value !== newIndex || previousDirection.value !== newDirection && delta >= 5)) {
190
- const itemDirection = newIndex > currentIndex.value;
191
- const index1 = itemDirection ? currentIndex.value : newIndex;
192
- const index2 = itemDirection ? newIndex : currentIndex.value;
193
- const newOffset1 = itemOffset.value[index1];
194
- const newHeight1 = itemHeight.value[index2];
195
- const newOffset2 = itemOffset.value[index2] + (itemHeight.value[index2] - itemHeight.value[index1]);
196
- const newHeight2 = itemHeight.value[index1];
197
- itemOffset.value[index1] = newOffset1;
198
- itemHeight.value[index1] = newHeight1;
199
- itemOffset.value[index2] = newOffset2;
200
- itemHeight.value[index2] = newHeight2;
201
- previousY.value = y;
202
- previousDirection.value = newDirection;
203
- previousIndex.value = currentIndex.value;
257
+ const newIndex = computeCurrentIndex();
258
+ if (currentIndex.value !== newIndex) {
259
+ recomputeLayout(currentIndex.value, newIndex);
204
260
  currentIndex.value = newIndex;
205
261
  onIndexChange === null || onIndexChange === void 0 || onIndexChange({
206
262
  index: newIndex
207
263
  });
208
264
  }
209
- }, [currentIndex, previousIndex, previousDirection, previousY, itemOffset, itemHeight, getIndexFromY, onIndexChange]);
265
+ }, [currentIndex, computeCurrentIndex, recomputeLayout, onIndexChange]);
210
266
  const runDefaultDragAnimations = useCallback(type => {
211
267
  'worklet';
212
268
 
213
269
  // if no custom scale run default
214
- if (!(cellAnimations && 'transformtra' in cellAnimations)) {
270
+ if (!(cellAnimations && 'transform' in cellAnimations)) {
215
271
  const scaleConfig = SCALE_ANIMATION_CONFIG_DEFAULT[type];
216
272
  scaleDefault.value = withTiming(scaleConfig.toValue, scaleConfig);
217
273
  }
@@ -351,13 +407,18 @@ export const useReorderableListCore = ({
351
407
  }, [nestedScrollable, shouldScrollParent, calculateHiddenArea, calculateThresholdArea, calculateThresholdAreaParent]);
352
408
  useAnimatedReaction(() => currentY.value + scrollViewDragScrollTranslationY.value, y => {
353
409
  if (state.value === ReorderableListState.DRAGGED || state.value === ReorderableListState.AUTOSCROLL) {
354
- setCurrentIndex(y);
355
- if (scrollDirection(y) !== 0) {
410
+ setCurrentIndex();
411
+
412
+ // Trigger autoscroll when:
413
+ // 1. Within the threshold area (top or bottom of list)
414
+ // 2. Have dragged in the same direction as the scroll
415
+ // 3. Not already in autoscroll mode
416
+ if (dragDirection.value === scrollDirection(y)) {
417
+ // When the first two conditions are met and it's already in autoscroll mode, we let it continue (no-op)
356
418
  if (state.value !== ReorderableListState.AUTOSCROLL) {
357
- // trigger autoscroll
419
+ state.value = ReorderableListState.AUTOSCROLL;
358
420
  lastAutoscrollTrigger.value = autoscrollTrigger.value;
359
421
  autoscrollTrigger.value *= -1;
360
- state.value = ReorderableListState.AUTOSCROLL;
361
422
  }
362
423
  } else if (state.value === ReorderableListState.AUTOSCROLL) {
363
424
  state.value = ReorderableListState.DRAGGED;
@@ -380,7 +441,7 @@ export const useReorderableListCore = ({
380
441
 
381
442
  // when autoscrolling user may not be moving his finger so we need
382
443
  // to update the current position of the dragged item here
383
- setCurrentIndex(y);
444
+ setCurrentIndex();
384
445
  }
385
446
  });
386
447
 
@@ -407,8 +468,7 @@ export const useReorderableListCore = ({
407
468
  useAnimatedReaction(() => scrollViewScrollOffsetY === null || scrollViewScrollOffsetY === void 0 ? void 0 : scrollViewScrollOffsetY.value, value => {
408
469
  if (value && scrollViewScrollEnabled) {
409
470
  // checking if the list is not scrollable instead of the scrolling state
410
- // fixes a bug on iOS where the item is shifted after autoscrolling and then
411
- // moving await from autoscroll area
471
+ // fixes a bug on iOS where the item is shifted after autoscrolling and moving away from the area
412
472
  if (!scrollViewScrollEnabled.value) {
413
473
  scrollViewDragScrollTranslationY.value = value - scrollViewDragInitialScrollOffsetY.value;
414
474
  }
@@ -433,10 +493,9 @@ export const useReorderableListCore = ({
433
493
  runOnJS(setActiveIndex)(index);
434
494
  }
435
495
  dragInitialScrollOffsetY.value = flatListScrollOffsetY.value;
436
- scrollViewDragInitialScrollOffsetY.value = scrollViewScrollOffsetY ? scrollViewScrollOffsetY.value : 0;
496
+ scrollViewDragInitialScrollOffsetY.value = (scrollViewScrollOffsetY === null || scrollViewScrollOffsetY === void 0 ? void 0 : scrollViewScrollOffsetY.value) || 0;
437
497
  draggedHeight.value = itemHeight.value[index];
438
498
  draggedIndex.value = index;
439
- previousIndex.value = -1;
440
499
  currentIndex.value = index;
441
500
  state.value = ReorderableListState.DRAGGED;
442
501
  runOnJS(setScrollEnabled)(false);
@@ -447,7 +506,7 @@ export const useReorderableListCore = ({
447
506
  index
448
507
  });
449
508
  }
450
- }, [resetSharedValues, shouldUpdateActiveItem, dragInitialScrollOffsetY, scrollViewScrollOffsetY, scrollViewDragInitialScrollOffsetY, setScrollEnabled, currentIndex, previousIndex, draggedHeight, draggedIndex, state, flatListScrollOffsetY, itemHeight, onDragStart, runDefaultDragAnimations]);
509
+ }, [resetSharedValues, shouldUpdateActiveItem, dragInitialScrollOffsetY, scrollViewScrollOffsetY, scrollViewDragInitialScrollOffsetY, setScrollEnabled, currentIndex, draggedHeight, draggedIndex, state, flatListScrollOffsetY, itemHeight, onDragStart, runDefaultDragAnimations]);
451
510
  const handleFlatListLayout = useCallback(e => {
452
511
  nestedFlatListPositionY.value = e.nativeEvent.layout.y;
453
512
  flatListHeightY.value = e.nativeEvent.layout.height;
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","useEffect","useMemo","useState","unstable_batchedUpdates","Gesture","State","Easing","runOnJS","runOnUI","scrollTo","useAnimatedReaction","useAnimatedRef","useAnimatedScrollHandler","useSharedValue","withDelay","withTiming","OPACITY_ANIMATION_CONFIG_DEFAULT","SCALE_ANIMATION_CONFIG_DEFAULT","AUTOSCROLL_CONFIG","ReorderableListState","version","split","hasAutomaticBatching","length","parseInt","useReorderableListCore","ref","autoscrollThreshold","autoscrollThresholdOffset","autoscrollSpeedScale","autoscrollDelay","animationDuration","dragReorderThreshold","onReorder","onDragStart","onDragEnd","onLayout","onIndexChange","scrollViewContainerRef","scrollViewHeightY","scrollViewScrollOffsetY","scrollViewScrollEnabled","initialScrollEnabled","initialScrollViewScrollEnabled","nestedScrollable","cellAnimations","shouldUpdateActiveItem","panActivateAfterLongPress","panEnabled","flatListRef","activeIndex","setActiveIndex","scrollEnabled","gestureState","UNDETERMINED","currentY","currentTranslationY","flatListScrollOffsetY","flatListHeightY","nestedFlatListPositionY","dragScrollTranslationY","dragInitialScrollOffsetY","scrollViewDragScrollTranslationY","scrollViewDragInitialScrollOffsetY","draggedHeight","itemOffset","itemHeight","autoscrollTrigger","lastAutoscrollTrigger","previousY","dragY","previousDirection","previousIndex","currentIndex","draggedIndex","state","IDLE","dragEndHandlers","startY","duration","scaleDefault","opacityDefault","value","listContextValue","transform","scale","opacity","panGestureHandler","Pan","onBegin","e","y","translationY","onUpdate","RELEASED","onEnd","onFinalize","panGestureHandlerWithOptions","activateAfterLongPress","enabled","gestureHandler","Simultaneous","Native","setScrollEnabled","_flatListRef$current","current","setNativeProps","_scrollViewContainerR","resetSharedValues","resetSharedValuesAfterAnimations","setTimeout","reorder","fromIndex","toIndex","updateState","from","to","getIndexFromY","relativeY","count","i","direction","threshold","Math","max","min","height","offset","index","setCurrentIndex","newIndex","newDirection","delta","abs","itemDirection","index1","index2","newOffset1","newHeight1","newOffset2","newHeight2","runDefaultDragAnimations","type","scaleConfig","toValue","opacityConfig","ACTIVE","BEGAN","DRAGGED","AUTOSCROLL","handlers","Array","isArray","forEach","fn","currentItemOffset","currentItemHeight","draggedItemOffset","draggedItemHeight","newTopPosition","easing","out","ease","calculateHiddenArea","top","bottom","calculateThresholdArea","hiddenArea","offsetTop","offsetBottom","visibleHeight","area","calculateThresholdAreaParent","shouldScrollParent","thresholdAreaParent","scrollDirection","thresholdArea","autoscrollIncrement","increment","scrollOffset","listRef","handleScroll","contentOffset","startDrag","handleFlatListLayout","nativeEvent","layout","handleRef"],"sourceRoot":"../../../../src","sources":["components/ReorderableListCore/useReorderableListCore.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useCallback","useEffect","useMemo","useState","unstable_batchedUpdates","Gesture","State","Easing","runOnJS","runOnUI","scrollTo","useAnimatedReaction","useAnimatedRef","useAnimatedScrollHandler","useSharedValue","withDelay","withTiming","OPACITY_ANIMATION_CONFIG_DEFAULT","SCALE_ANIMATION_CONFIG_DEFAULT","AUTOSCROLL_CONFIG","ReorderableListState","version","split","hasAutomaticBatching","length","parseInt","useReorderableListCore","ref","autoscrollThreshold","autoscrollThresholdOffset","autoscrollSpeedScale","autoscrollDelay","autoscrollActivationDelta","animationDuration","onReorder","onDragStart","onDragEnd","onLayout","onIndexChange","scrollViewContainerRef","scrollViewHeightY","scrollViewScrollOffsetY","scrollViewScrollEnabled","initialScrollEnabled","initialScrollViewScrollEnabled","nestedScrollable","cellAnimations","shouldUpdateActiveItem","panActivateAfterLongPress","panEnabled","flatListRef","activeIndex","setActiveIndex","scrollEnabled","gestureState","UNDETERMINED","currentY","currentTranslationY","currentItemDragCenterY","startItemDragCenterY","flatListScrollOffsetY","flatListHeightY","nestedFlatListPositionY","dragScrollTranslationY","dragInitialScrollOffsetY","scrollViewDragScrollTranslationY","scrollViewDragInitialScrollOffsetY","draggedHeight","itemOffset","itemHeight","autoscrollTrigger","lastAutoscrollTrigger","dragY","currentIndex","draggedIndex","state","IDLE","dragEndHandlers","startY","duration","scaleDefault","opacityDefault","dragDirection","lastDragDirectionPivot","autoscrollDelta","value","listContextValue","transform","scale","opacity","setDragDirection","e","direction","velocityY","absoluteY","Math","abs","setCurrentItemDragCenterY","itemCenter","itemY","translationY","panGestureHandler","Pan","onBegin","y","onUpdate","DRAGGED","RELEASED","onEnd","onFinalize","panGestureHandlerWithOptions","activateAfterLongPress","enabled","gestureHandler","Simultaneous","Native","setScrollEnabled","_flatListRef$current","current","setNativeProps","_scrollViewContainerR","resetSharedValues","resetSharedValuesAfterAnimations","setTimeout","reorder","fromIndex","toIndex","updateState","from","to","recomputeLayout","itemDirection","index1","index2","newOffset1","newHeight1","newOffset2","newHeight2","computeCurrentIndex","relativeDragCenterY","currentOffset","currentHeight","currentCenter","max","possibleIndex","min","possibleOffset","possibleCenter","distanceFromCurrent","distanceFromPossible","setCurrentIndex","newIndex","index","runDefaultDragAnimations","type","scaleConfig","toValue","opacityConfig","ACTIVE","BEGAN","AUTOSCROLL","handlers","Array","isArray","forEach","fn","currentItemOffset","currentItemHeight","draggedItemOffset","draggedItemHeight","newTopPosition","easing","out","ease","calculateHiddenArea","top","bottom","calculateThresholdArea","hiddenArea","offsetTop","offsetBottom","threshold","visibleHeight","area","calculateThresholdAreaParent","shouldScrollParent","thresholdAreaParent","scrollDirection","thresholdArea","autoscrollIncrement","increment","scrollOffset","listRef","handleScroll","contentOffset","startDrag","handleFlatListLayout","nativeEvent","layout","height","handleRef"],"sourceRoot":"../../../../src","sources":["components/ReorderableListCore/useReorderableListCore.ts"],"mappings":"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","ignoreList":[]}
@@ -12,8 +12,8 @@ interface UseReorderableListCoreArgs<T> {
12
12
  } | undefined;
13
13
  autoscrollSpeedScale: number;
14
14
  autoscrollDelay: number;
15
+ autoscrollActivationDelta: number;
15
16
  animationDuration: number;
16
- dragReorderThreshold: number;
17
17
  onReorder: (event: ReorderableListReorderEvent) => void;
18
18
  onDragStart?: (event: ReorderableListDragStartEvent) => void;
19
19
  onDragEnd?: (event: ReorderableListDragEndEvent) => void;
@@ -31,7 +31,7 @@ interface UseReorderableListCoreArgs<T> {
31
31
  panEnabled: boolean;
32
32
  panActivateAfterLongPress: number | undefined;
33
33
  }
34
- export declare const useReorderableListCore: <T>({ ref, autoscrollThreshold, autoscrollThresholdOffset, autoscrollSpeedScale, autoscrollDelay, animationDuration, dragReorderThreshold, onReorder, onDragStart, onDragEnd, onLayout, onIndexChange, scrollViewContainerRef, scrollViewHeightY, scrollViewScrollOffsetY, scrollViewScrollEnabled, initialScrollEnabled, initialScrollViewScrollEnabled, nestedScrollable, cellAnimations, shouldUpdateActiveItem, panActivateAfterLongPress, panEnabled, }: UseReorderableListCoreArgs<T>) => {
34
+ export declare const useReorderableListCore: <T>({ ref, autoscrollThreshold, autoscrollThresholdOffset, autoscrollSpeedScale, autoscrollDelay, autoscrollActivationDelta, animationDuration, onReorder, onDragStart, onDragEnd, onLayout, onIndexChange, scrollViewContainerRef, scrollViewHeightY, scrollViewScrollOffsetY, scrollViewScrollEnabled, initialScrollEnabled, initialScrollViewScrollEnabled, nestedScrollable, cellAnimations, shouldUpdateActiveItem, panActivateAfterLongPress, panEnabled, }: UseReorderableListCoreArgs<T>) => {
35
35
  gestureHandler: import("react-native-gesture-handler/lib/typescript/handlers/gestures/gestureComposition").SimultaneousGesture;
36
36
  handleScroll: import("react-native-reanimated").ScrollHandlerProcessed<Record<string, unknown>>;
37
37
  handleFlatListLayout: (e: LayoutChangeEvent) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"useReorderableListCore.d.ts","sourceRoot":"","sources":["../../../../src/components/ReorderableListCore/useReorderableListCore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAkD,MAAM,OAAO,CAAC;AACvE,OAAO,EACL,QAAQ,EACR,iBAAiB,EACjB,UAAU,EAEX,MAAM,cAAc,CAAC;AAGtB,OAAiB,EAGf,WAAW,EAUZ,MAAM,yBAAyB,CAAC;AAOjC,OAAO,EACL,6BAA6B,EAC7B,2BAA2B,EAC3B,6BAA6B,EAC7B,+BAA+B,EAEhC,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAC,2BAA2B,EAAC,MAAM,aAAa,CAAC;AAO7D,UAAU,0BAA0B,CAAC,CAAC;IACpC,GAAG,EAAE,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,yBAAyB,EAAE;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAC,GAAG,SAAS,CAAC;IACvE,oBAAoB,EAAE,MAAM,CAAC;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,SAAS,EAAE,CAAC,KAAK,EAAE,2BAA2B,KAAK,IAAI,CAAC;IACxD,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,6BAA6B,KAAK,IAAI,CAAC;IAC7D,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,2BAA2B,KAAK,IAAI,CAAC;IACzD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,+BAA+B,KAAK,IAAI,CAAC;IACjE,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC9C,sBAAsB,EAAE,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC;IAChE,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;IACnD,uBAAuB,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;IACzD,uBAAuB,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;IAC1D,oBAAoB,EAAE,OAAO,GAAG,SAAS,CAAC;IAC1C,8BAA8B,EAAE,OAAO,GAAG,SAAS,CAAC;IACpD,gBAAgB,EAAE,OAAO,GAAG,SAAS,CAAC;IACtC,cAAc,EAAE,6BAA6B,GAAG,SAAS,CAAC;IAC1D,sBAAsB,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5C,UAAU,EAAE,OAAO,CAAC;IACpB,yBAAyB,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/C;AAED,eAAO,MAAM,sBAAsB;;;;;uBAymBvB,MAAM;;;;;6CAtjBN,MAAM,MAAM,MAAM,KAAK,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyoBtC,CAAC"}
1
+ {"version":3,"file":"useReorderableListCore.d.ts","sourceRoot":"","sources":["../../../../src/components/ReorderableListCore/useReorderableListCore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAkD,MAAM,OAAO,CAAC;AACvE,OAAO,EACL,QAAQ,EACR,iBAAiB,EACjB,UAAU,EAEX,MAAM,cAAc,CAAC;AAQtB,OAAiB,EAGf,WAAW,EAUZ,MAAM,yBAAyB,CAAC;AAOjC,OAAO,EACL,6BAA6B,EAC7B,2BAA2B,EAC3B,6BAA6B,EAC7B,+BAA+B,EAEhC,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAC,2BAA2B,EAAC,MAAM,aAAa,CAAC;AAO7D,UAAU,0BAA0B,CAAC,CAAC;IACpC,GAAG,EAAE,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,yBAAyB,EAAE;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAC,GAAG,SAAS,CAAC;IACvE,oBAAoB,EAAE,MAAM,CAAC;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,yBAAyB,EAAE,MAAM,CAAC;IAClC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,CAAC,KAAK,EAAE,2BAA2B,KAAK,IAAI,CAAC;IACxD,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,6BAA6B,KAAK,IAAI,CAAC;IAC7D,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,2BAA2B,KAAK,IAAI,CAAC;IACzD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,+BAA+B,KAAK,IAAI,CAAC;IACjE,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC9C,sBAAsB,EAAE,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC;IAChE,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;IACnD,uBAAuB,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;IACzD,uBAAuB,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;IAC1D,oBAAoB,EAAE,OAAO,GAAG,SAAS,CAAC;IAC1C,8BAA8B,EAAE,OAAO,GAAG,SAAS,CAAC;IACpD,gBAAgB,EAAE,OAAO,GAAG,SAAS,CAAC;IACtC,cAAc,EAAE,6BAA6B,GAAG,SAAS,CAAC;IAC1D,sBAAsB,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5C,UAAU,EAAE,OAAO,CAAC;IACpB,yBAAyB,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/C;AAED,eAAO,MAAM,sBAAsB;;;;;uBAisBvB,MAAM;;;;;6CA3oBN,MAAM,MAAM,MAAM,KAAK,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2tBtC,CAAC"}
@@ -61,10 +61,11 @@ export interface ReorderableListProps<T> extends Omit<FlatListProps<T>, OmittedP
61
61
  */
62
62
  autoscrollDelay?: number;
63
63
  /**
64
- * Specifies the fraction of an item's size at which it will shift when a dragged item crosses over it.
65
- * For example, a value of 0.2 means the item shifts when the dragged item passes 20% of its height (vertical list). Default is `0.2`.
64
+ * Allows configuring the delta for autoscroll activation when dragging an item in the same direction as the autoscroll.
65
+ * This is particularly useful when an item is dragged within the autoscroll area to account for minor unintentional movements.
66
+ * Default: `5`.
66
67
  */
67
- dragReorderThreshold?: number;
68
+ autoscrollActivationDelta?: number;
68
69
  /**
69
70
  * Duration of the animations in milliseconds.
70
71
  * Be aware that users won't be able to drag a new item until the dragged item is released and
@@ -1 +1 @@
1
- {"version":3,"file":"props.d.ts","sourceRoot":"","sources":["../../../src/types/props.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"props.d.ts","sourceRoot":"","sources":["../../../src/types/props.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-reorderable-list",
3
- "version": "0.11.0",
3
+ "version": "0.13.0",
4
4
  "description": "Reorderable list for React Native applications, powered by Reanimated",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -83,13 +83,13 @@ export const ReorderableListCell = memo(
83
83
  currentIndex.value >= 0 &&
84
84
  draggedIndex.value >= 0
85
85
  ) {
86
- const moveDown = currentIndex.value > draggedIndex.value;
86
+ const moveUp = currentIndex.value > draggedIndex.value;
87
87
  const startMove = Math.min(draggedIndex.value, currentIndex.value);
88
88
  const endMove = Math.max(draggedIndex.value, currentIndex.value);
89
- let newValue = 0;
90
89
 
90
+ let newValue = 0;
91
91
  if (index >= startMove && index <= endMove) {
92
- newValue = moveDown ? -draggedHeight.value : draggedHeight.value;
92
+ newValue = moveUp ? -draggedHeight.value : draggedHeight.value;
93
93
  }
94
94
 
95
95
  if (newValue !== itemTranslateY.value) {
@@ -47,8 +47,8 @@ const ReorderableListCore = <T,>(
47
47
  autoscrollThresholdOffset,
48
48
  autoscrollSpeedScale = 1,
49
49
  autoscrollDelay = AUTOSCROLL_CONFIG.delay,
50
+ autoscrollActivationDelta = 5,
50
51
  animationDuration = 200,
51
- dragReorderThreshold = 0.2,
52
52
  onLayout,
53
53
  onReorder,
54
54
  onScroll,
@@ -88,8 +88,8 @@ const ReorderableListCore = <T,>(
88
88
  autoscrollThresholdOffset,
89
89
  autoscrollSpeedScale,
90
90
  autoscrollDelay,
91
+ autoscrollActivationDelta,
91
92
  animationDuration,
92
- dragReorderThreshold,
93
93
  onLayout,
94
94
  onReorder,
95
95
  onDragStart,