react-native-reorderable-list 0.10.0 → 0.12.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.
- package/README.md +3 -1
- package/lib/commonjs/components/ReorderableListCore/ReorderableListCore.js +4 -0
- package/lib/commonjs/components/ReorderableListCore/ReorderableListCore.js.map +1 -1
- package/lib/commonjs/components/ReorderableListCore/useReorderableListCore.js +45 -7
- package/lib/commonjs/components/ReorderableListCore/useReorderableListCore.js.map +1 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/components/ReorderableListCore/ReorderableListCore.js +4 -0
- package/lib/module/components/ReorderableListCore/ReorderableListCore.js.map +1 -1
- package/lib/module/components/ReorderableListCore/useReorderableListCore.js +45 -7
- package/lib/module/components/ReorderableListCore/useReorderableListCore.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/components/ReorderableListCore/ReorderableListCore.d.ts.map +1 -1
- package/lib/typescript/components/ReorderableListCore/useReorderableListCore.d.ts +4 -2
- package/lib/typescript/components/ReorderableListCore/useReorderableListCore.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +2 -2
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/types/props.d.ts +17 -1
- package/lib/typescript/types/props.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/ReorderableListCore/ReorderableListCore.tsx +4 -0
- package/src/components/ReorderableListCore/useReorderableListCore.ts +66 -11
- package/src/index.ts +2 -0
- package/src/types/props.ts +18 -1
package/README.md
CHANGED
|
@@ -62,15 +62,17 @@ This component uses a [FlatList](https://reactnative.dev/docs/flatlist) and it e
|
|
|
62
62
|
| autoscrollThresholdOffset | `{top?: number; bottom?: number}` | No | `{top: 0, bottom: 0}` | Amount by which the threshold is offset at the extremety of the list. For example, setting `{top: 50}` will make the autoscroll trigger 50 pixels earlier at the top. |
|
|
63
63
|
| autoscrollSpeedScale | `number` | No | `1` | Scales the autoscroll speed at which the list scrolls when an item is dragged to the scroll areas. |
|
|
64
64
|
| autoscrollDelay | `number` | No | `0` (Android), `100` (iOS) | Delay in between autoscroll triggers. Can be used to tune the autoscroll smoothness. Default values differ between platforms: `0` for Android and `100` for iOS. |
|
|
65
|
+
| autoscrollActivationDelta | `number` | No | `5` | Allows configuring the delta for autoscroll activation when dragging an item in the same direction as the autoscroll. This is particularly useful when an item is dragged within the autoscroll area to account for minor unintentional movements. |
|
|
65
66
|
| dragReorderThreshold | `number` | No | `0.2` | Specifies the fraction of an item's size at which it will shift when a dragged item crosses over it. For example, `0.2` means the item shifts when the dragged item passes 20% of its height (in a vertical list). |
|
|
66
67
|
| animationDuration | `number` | No | `200` | Duration of the animations in milliseconds. Users won't be able to drag a new item until the dragged item is released and its animation to its new position ends. |
|
|
67
68
|
| cellAnimations | `ReorderableListCellAnimations` | No | N/A | Allows passing an object with values and/or shared values that can animate a cell, for example by using the `onDragStart` and `onDragEnd` events. Supports view style properties. Override opacity and/or transform to disable the default animation, e.g. `{opacity: 1, transform: []}`. Check the [examples](https://github.com/omahili/react-native-reorderable-list/tree/master/example) for more details. |
|
|
68
69
|
| shouldUpdateActiveItem | boolean | No | `false` | Whether the active item should be updated. Enables usage of `useIsActive` hook. |
|
|
69
70
|
| panEnabled | `boolean` | No | `true` | Wether the pan gestures necessary for dragging are enabled. |
|
|
70
|
-
| panActivateAfterLongPress | `number` | No | N/A | Duration in milliseconds
|
|
71
|
+
| panActivateAfterLongPress | `number` | No | N/A | Duration in milliseconds of the long press on the list before the pan gesture for dragging is allowed to activate. |
|
|
71
72
|
| onReorder | `(event: { from: number, to: number }) => void` | Yes | N/A | Event fired after an item is released and the list is reordered. |
|
|
72
73
|
| onDragStart | `(event: { index: number }) => void` | No | N/A | Event fired when an item is dragged. Needs to be a `worklet`. See [Reanimated docs](https://docs.swmansion.com/react-native-reanimated) for further info. |
|
|
73
74
|
| onDragEnd | `(event: { from: number, to: number }) => void` | No | N/A | Event fired when the dragged item is released. Needs to be a `worklet`. See [Reanimated docs](https://docs.swmansion.com/react-native-reanimated) for further info. |
|
|
75
|
+
| onIndexChange | `(event: { index: number }) => void` | No | N/A | Event fired when the index of the dragged item changes. Needs to be a `worklet`. See [Reanimated docs](https://docs.swmansion.com/react-native-reanimated) for further info. |
|
|
74
76
|
| onScroll | `ReturnType<typeof useAnimatedScrollHandler>` | No | N/A | An animated scroll handler created with useAnimatedScrollHandler. See [Reanimated docs](https://docs.swmansion.com/react-native-reanimated) for further info. |
|
|
75
77
|
|
|
76
78
|
The following props from FlatList are not supported:
|
|
@@ -21,6 +21,7 @@ const ReorderableListCore = ({
|
|
|
21
21
|
autoscrollThresholdOffset,
|
|
22
22
|
autoscrollSpeedScale = 1,
|
|
23
23
|
autoscrollDelay = _autoscrollConfig.AUTOSCROLL_CONFIG.delay,
|
|
24
|
+
autoscrollActivationDelta = 5,
|
|
24
25
|
animationDuration = 200,
|
|
25
26
|
dragReorderThreshold = 0.2,
|
|
26
27
|
onLayout,
|
|
@@ -28,6 +29,7 @@ const ReorderableListCore = ({
|
|
|
28
29
|
onScroll,
|
|
29
30
|
onDragStart,
|
|
30
31
|
onDragEnd,
|
|
32
|
+
onIndexChange,
|
|
31
33
|
scrollViewContainerRef,
|
|
32
34
|
scrollViewHeightY,
|
|
33
35
|
scrollViewScrollOffsetY,
|
|
@@ -59,12 +61,14 @@ const ReorderableListCore = ({
|
|
|
59
61
|
autoscrollThresholdOffset,
|
|
60
62
|
autoscrollSpeedScale,
|
|
61
63
|
autoscrollDelay,
|
|
64
|
+
autoscrollActivationDelta,
|
|
62
65
|
animationDuration,
|
|
63
66
|
dragReorderThreshold,
|
|
64
67
|
onLayout,
|
|
65
68
|
onReorder,
|
|
66
69
|
onDragStart,
|
|
67
70
|
onDragEnd,
|
|
71
|
+
onIndexChange,
|
|
68
72
|
scrollViewContainerRef,
|
|
69
73
|
scrollViewHeightY,
|
|
70
74
|
scrollViewScrollOffsetY,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeGestureHandler","_reactNativeReanimated","_autoscrollConfig","_useReorderableListCore","_contexts","_ReorderableListCell","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","AnimatedFlatList","Animated","createAnimatedComponent","FlatList","ReorderableListCore","autoscrollThreshold","autoscrollThresholdOffset","autoscrollSpeedScale","autoscrollDelay","AUTOSCROLL_CONFIG","delay","animationDuration","dragReorderThreshold","onLayout","onReorder","onScroll","onDragStart","onDragEnd","scrollViewContainerRef","scrollViewHeightY","scrollViewScrollOffsetY","scrollViewScrollEnabled","initialScrollViewScrollEnabled","scrollable","outerScrollGesture","cellAnimations","shouldUpdateActiveItem","panEnabled","panActivateAfterLongPress","rest","ref","gestureHandler","handleScroll","handleFlatListLayout","handleRef","startDrag","listContextValue","itemOffset","itemHeight","dragY","draggedIndex","duration","useReorderableListCore","initialScrollEnabled","scrollEnabled","nestedScrollable","combinedGesture","useMemo","Platform","OS","Gesture","Simultaneous","composedScrollHandler","useComposedEventHandler","renderAnimatedCell","useCallback","cellKey","props","createElement","ReorderableListCell","key","index","ReorderableListContext","Provider","value","GestureDetector","gesture","CellRendererComponent","scrollEventThrottle","horizontal","removeClippedSubviews","numColumns","MemoizedReorderableListCore","exports","React","memo","forwardRef"],"sourceRoot":"../../../../src","sources":["components/ReorderableListCore/ReorderableListCore.tsx"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeGestureHandler","_reactNativeReanimated","_autoscrollConfig","_useReorderableListCore","_contexts","_ReorderableListCell","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","AnimatedFlatList","Animated","createAnimatedComponent","FlatList","ReorderableListCore","autoscrollThreshold","autoscrollThresholdOffset","autoscrollSpeedScale","autoscrollDelay","AUTOSCROLL_CONFIG","delay","autoscrollActivationDelta","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","useReorderableListCore","initialScrollEnabled","scrollEnabled","nestedScrollable","combinedGesture","useMemo","Platform","OS","Gesture","Simultaneous","composedScrollHandler","useComposedEventHandler","renderAnimatedCell","useCallback","cellKey","props","createElement","ReorderableListCell","key","index","ReorderableListContext","Provider","value","GestureDetector","gesture","CellRendererComponent","scrollEventThrottle","horizontal","removeClippedSubviews","numColumns","MemoizedReorderableListCore","exports","React","memo","forwardRef"],"sourceRoot":"../../../../src","sources":["components/ReorderableListCore/ReorderableListCore.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -21,12 +21,14 @@ const useReorderableListCore = ({
|
|
|
21
21
|
autoscrollThresholdOffset,
|
|
22
22
|
autoscrollSpeedScale,
|
|
23
23
|
autoscrollDelay,
|
|
24
|
+
autoscrollActivationDelta,
|
|
24
25
|
animationDuration,
|
|
25
26
|
dragReorderThreshold,
|
|
26
27
|
onReorder,
|
|
27
28
|
onDragStart,
|
|
28
29
|
onDragEnd,
|
|
29
30
|
onLayout,
|
|
31
|
+
onIndexChange,
|
|
30
32
|
scrollViewContainerRef,
|
|
31
33
|
scrollViewHeightY,
|
|
32
34
|
scrollViewScrollOffsetY,
|
|
@@ -69,9 +71,13 @@ const useReorderableListCore = ({
|
|
|
69
71
|
const duration = (0, _reactNativeReanimated.useSharedValue)(animationDuration);
|
|
70
72
|
const scaleDefault = (0, _reactNativeReanimated.useSharedValue)(1);
|
|
71
73
|
const opacityDefault = (0, _reactNativeReanimated.useSharedValue)(1);
|
|
74
|
+
const dragDirection = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
75
|
+
const lastDragDirectionPivot = (0, _reactNativeReanimated.useSharedValue)(null);
|
|
76
|
+
const autoscrollDelta = (0, _reactNativeReanimated.useSharedValue)(autoscrollActivationDelta);
|
|
72
77
|
(0, _react.useEffect)(() => {
|
|
73
78
|
duration.value = animationDuration;
|
|
74
|
-
|
|
79
|
+
autoscrollDelta.value = autoscrollActivationDelta;
|
|
80
|
+
}, [duration, animationDuration, autoscrollDelta, autoscrollActivationDelta]);
|
|
75
81
|
const listContextValue = (0, _react.useMemo)(() => ({
|
|
76
82
|
draggedHeight,
|
|
77
83
|
currentIndex,
|
|
@@ -86,6 +92,25 @@ const useReorderableListCore = ({
|
|
|
86
92
|
opacity: cellAnimations && 'opacity' in cellAnimations ? cellAnimations.opacity : opacityDefault
|
|
87
93
|
}
|
|
88
94
|
}), [draggedHeight, currentIndex, draggedIndex, dragEndHandlers, activeIndex, cellAnimations, scaleDefault, opacityDefault]);
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* Decides the intended drag direction of the user.
|
|
98
|
+
* This is used to to determine if the user intends to autoscroll
|
|
99
|
+
* when within the threshold area.
|
|
100
|
+
*/
|
|
101
|
+
const setDragDirection = (0, _react.useCallback)(e => {
|
|
102
|
+
'worklet';
|
|
103
|
+
|
|
104
|
+
const direction = e.velocityY > 0 ? 1 : -1;
|
|
105
|
+
if (direction !== dragDirection.value) {
|
|
106
|
+
if (lastDragDirectionPivot.value === null) {
|
|
107
|
+
lastDragDirectionPivot.value = e.absoluteY;
|
|
108
|
+
} else if (Math.abs(e.absoluteY - lastDragDirectionPivot.value) >= autoscrollDelta.value) {
|
|
109
|
+
dragDirection.value = direction;
|
|
110
|
+
lastDragDirectionPivot.value = e.absoluteY;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}, [dragDirection, lastDragDirectionPivot, autoscrollDelta]);
|
|
89
114
|
const panGestureHandler = (0, _react.useMemo)(() => _reactNativeGestureHandler.Gesture.Pan().onBegin(e => {
|
|
90
115
|
// prevent new dragging until item is completely released
|
|
91
116
|
if (state.value === _types.ReorderableListState.IDLE) {
|
|
@@ -96,13 +121,16 @@ const useReorderableListCore = ({
|
|
|
96
121
|
gestureState.value = e.state;
|
|
97
122
|
}
|
|
98
123
|
}).onUpdate(e => {
|
|
124
|
+
if (state.value === _types.ReorderableListState.DRAGGED) {
|
|
125
|
+
setDragDirection(e);
|
|
126
|
+
}
|
|
99
127
|
if (state.value !== _types.ReorderableListState.RELEASED) {
|
|
100
128
|
currentY.value = startY.value + e.translationY;
|
|
101
129
|
currentTranslationY.value = e.translationY;
|
|
102
130
|
dragY.value = e.translationY + dragScrollTranslationY.value + scrollViewDragScrollTranslationY.value;
|
|
103
131
|
gestureState.value = e.state;
|
|
104
132
|
}
|
|
105
|
-
}).onEnd(e => gestureState.value = e.state).onFinalize(e => gestureState.value = e.state), [
|
|
133
|
+
}).onEnd(e => gestureState.value = e.state).onFinalize(e => gestureState.value = e.state), [state, startY, currentY, currentTranslationY, dragY, gestureState, setDragDirection, dragScrollTranslationY, scrollViewDragScrollTranslationY]);
|
|
106
134
|
const panGestureHandlerWithOptions = (0, _react.useMemo)(() => {
|
|
107
135
|
if (typeof panActivateAfterLongPress === 'number') {
|
|
108
136
|
panGestureHandler.activateAfterLongPress(panActivateAfterLongPress);
|
|
@@ -138,7 +166,9 @@ const useReorderableListCore = ({
|
|
|
138
166
|
dragY.value = 0;
|
|
139
167
|
dragScrollTranslationY.value = 0;
|
|
140
168
|
scrollViewDragScrollTranslationY.value = 0;
|
|
141
|
-
|
|
169
|
+
dragDirection.value = 0;
|
|
170
|
+
lastDragDirectionPivot.value = null;
|
|
171
|
+
}, [state, draggedIndex, dragY, dragScrollTranslationY, scrollViewDragScrollTranslationY, dragDirection, lastDragDirectionPivot]);
|
|
142
172
|
const resetSharedValuesAfterAnimations = (0, _react.useCallback)(() => {
|
|
143
173
|
setTimeout((0, _reactNativeReanimated.runOnUI)(resetSharedValues), duration.value);
|
|
144
174
|
}, [resetSharedValues, duration]);
|
|
@@ -209,8 +239,11 @@ const useReorderableListCore = ({
|
|
|
209
239
|
previousDirection.value = newDirection;
|
|
210
240
|
previousIndex.value = currentIndex.value;
|
|
211
241
|
currentIndex.value = newIndex;
|
|
242
|
+
onIndexChange === null || onIndexChange === void 0 || onIndexChange({
|
|
243
|
+
index: newIndex
|
|
244
|
+
});
|
|
212
245
|
}
|
|
213
|
-
}, [currentIndex, previousIndex, previousDirection, previousY, itemOffset, itemHeight, getIndexFromY]);
|
|
246
|
+
}, [currentIndex, previousIndex, previousDirection, previousY, itemOffset, itemHeight, getIndexFromY, onIndexChange]);
|
|
214
247
|
const runDefaultDragAnimations = (0, _react.useCallback)(type => {
|
|
215
248
|
'worklet';
|
|
216
249
|
|
|
@@ -356,12 +389,17 @@ const useReorderableListCore = ({
|
|
|
356
389
|
(0, _reactNativeReanimated.useAnimatedReaction)(() => currentY.value + scrollViewDragScrollTranslationY.value, y => {
|
|
357
390
|
if (state.value === _types.ReorderableListState.DRAGGED || state.value === _types.ReorderableListState.AUTOSCROLL) {
|
|
358
391
|
setCurrentIndex(y);
|
|
359
|
-
|
|
392
|
+
|
|
393
|
+
// Trigger autoscroll when:
|
|
394
|
+
// 1. Within the threshold area (top or bottom of list)
|
|
395
|
+
// 2. Have dragged in the same direction as the scroll
|
|
396
|
+
// 3. Not already in autoscroll mode
|
|
397
|
+
if (dragDirection.value === scrollDirection(y)) {
|
|
398
|
+
// When the first two conditions are met and it's already in autoscroll mode, we let it continue (no-op)
|
|
360
399
|
if (state.value !== _types.ReorderableListState.AUTOSCROLL) {
|
|
361
|
-
|
|
400
|
+
state.value = _types.ReorderableListState.AUTOSCROLL;
|
|
362
401
|
lastAutoscrollTrigger.value = autoscrollTrigger.value;
|
|
363
402
|
autoscrollTrigger.value *= -1;
|
|
364
|
-
state.value = _types.ReorderableListState.AUTOSCROLL;
|
|
365
403
|
}
|
|
366
404
|
} else if (state.value === _types.ReorderableListState.AUTOSCROLL) {
|
|
367
405
|
state.value = _types.ReorderableListState.DRAGGED;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeGestureHandler","_reactNativeReanimated","_animationDefaults","_autoscrollConfig","_types","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","version","React","split","hasAutomaticBatching","length","parseInt","useReorderableListCore","ref","autoscrollThreshold","autoscrollThresholdOffset","autoscrollSpeedScale","autoscrollDelay","animationDuration","dragReorderThreshold","onReorder","onDragStart","onDragEnd","onLayout","scrollViewContainerRef","scrollViewHeightY","scrollViewScrollOffsetY","scrollViewScrollEnabled","initialScrollEnabled","initialScrollViewScrollEnabled","nestedScrollable","cellAnimations","shouldUpdateActiveItem","panActivateAfterLongPress","panEnabled","flatListRef","useAnimatedRef","activeIndex","setActiveIndex","useState","scrollEnabled","useSharedValue","gestureState","State","UNDETERMINED","currentY","currentTranslationY","flatListScrollOffsetY","flatListHeightY","nestedFlatListPositionY","dragScrollTranslationY","dragInitialScrollOffsetY","scrollViewDragScrollTranslationY","scrollViewDragInitialScrollOffsetY","draggedHeight","itemOffset","itemHeight","autoscrollTrigger","lastAutoscrollTrigger","previousY","dragY","previousDirection","previousIndex","currentIndex","draggedIndex","state","ReorderableListState","IDLE","dragEndHandlers","startY","duration","scaleDefault","opacityDefault","useEffect","value","listContextValue","useMemo","transform","scale","opacity","panGestureHandler","Gesture","Pan","onBegin","y","translationY","onUpdate","RELEASED","onEnd","onFinalize","panGestureHandlerWithOptions","activateAfterLongPress","enabled","gestureHandler","Simultaneous","Native","setScrollEnabled","useCallback","_flatListRef$current","current","setNativeProps","_scrollViewContainerR","resetSharedValues","resetSharedValuesAfterAnimations","setTimeout","runOnUI","reorder","fromIndex","toIndex","updateState","from","to","unstable_batchedUpdates","getIndexFromY","relativeY","count","direction","threshold","Math","max","min","height","offset","index","setCurrentIndex","newIndex","newDirection","delta","abs","itemDirection","index1","index2","newOffset1","newHeight1","newOffset2","newHeight2","runDefaultDragAnimations","type","scaleConfig","SCALE_ANIMATION_CONFIG_DEFAULT","withTiming","toValue","opacityConfig","OPACITY_ANIMATION_CONFIG_DEFAULT","useAnimatedReaction","ACTIVE","BEGAN","DRAGGED","AUTOSCROLL","runOnJS","handlers","Array","isArray","forEach","fn","currentItemOffset","currentItemHeight","draggedItemOffset","draggedItemHeight","newTopPosition","easing","Easing","out","ease","calculateHiddenArea","top","bottom","calculateThresholdArea","hiddenArea","offsetTop","offsetBottom","visibleHeight","area","calculateThresholdAreaParent","shouldScrollParent","thresholdAreaParent","scrollDirection","thresholdArea","autoscrollIncrement","AUTOSCROLL_CONFIG","increment","scrollOffset","listRef","scrollTo","handleScroll","useAnimatedScrollHandler","contentOffset","withDelay","startDrag","handleFlatListLayout","nativeEvent","layout","handleRef","exports"],"sourceRoot":"../../../../src","sources":["components/ReorderableListCore/useReorderableListCore.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeGestureHandler","_reactNativeReanimated","_animationDefaults","_autoscrollConfig","_types","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","version","React","split","hasAutomaticBatching","length","parseInt","useReorderableListCore","ref","autoscrollThreshold","autoscrollThresholdOffset","autoscrollSpeedScale","autoscrollDelay","autoscrollActivationDelta","animationDuration","dragReorderThreshold","onReorder","onDragStart","onDragEnd","onLayout","onIndexChange","scrollViewContainerRef","scrollViewHeightY","scrollViewScrollOffsetY","scrollViewScrollEnabled","initialScrollEnabled","initialScrollViewScrollEnabled","nestedScrollable","cellAnimations","shouldUpdateActiveItem","panActivateAfterLongPress","panEnabled","flatListRef","useAnimatedRef","activeIndex","setActiveIndex","useState","scrollEnabled","useSharedValue","gestureState","State","UNDETERMINED","currentY","currentTranslationY","flatListScrollOffsetY","flatListHeightY","nestedFlatListPositionY","dragScrollTranslationY","dragInitialScrollOffsetY","scrollViewDragScrollTranslationY","scrollViewDragInitialScrollOffsetY","draggedHeight","itemOffset","itemHeight","autoscrollTrigger","lastAutoscrollTrigger","previousY","dragY","previousDirection","previousIndex","currentIndex","draggedIndex","state","ReorderableListState","IDLE","dragEndHandlers","startY","duration","scaleDefault","opacityDefault","dragDirection","lastDragDirectionPivot","autoscrollDelta","useEffect","value","listContextValue","useMemo","transform","scale","opacity","setDragDirection","useCallback","direction","velocityY","absoluteY","Math","abs","panGestureHandler","Gesture","Pan","onBegin","y","translationY","onUpdate","DRAGGED","RELEASED","onEnd","onFinalize","panGestureHandlerWithOptions","activateAfterLongPress","enabled","gestureHandler","Simultaneous","Native","setScrollEnabled","_flatListRef$current","current","setNativeProps","_scrollViewContainerR","resetSharedValues","resetSharedValuesAfterAnimations","setTimeout","runOnUI","reorder","fromIndex","toIndex","updateState","from","to","unstable_batchedUpdates","getIndexFromY","relativeY","count","threshold","max","min","height","offset","index","setCurrentIndex","newIndex","newDirection","delta","itemDirection","index1","index2","newOffset1","newHeight1","newOffset2","newHeight2","runDefaultDragAnimations","type","scaleConfig","SCALE_ANIMATION_CONFIG_DEFAULT","withTiming","toValue","opacityConfig","OPACITY_ANIMATION_CONFIG_DEFAULT","useAnimatedReaction","ACTIVE","BEGAN","AUTOSCROLL","runOnJS","handlers","Array","isArray","forEach","fn","currentItemOffset","currentItemHeight","draggedItemOffset","draggedItemHeight","newTopPosition","easing","Easing","out","ease","calculateHiddenArea","top","bottom","calculateThresholdArea","hiddenArea","offsetTop","offsetBottom","visibleHeight","area","calculateThresholdAreaParent","shouldScrollParent","thresholdAreaParent","scrollDirection","thresholdArea","autoscrollIncrement","AUTOSCROLL_CONFIG","increment","scrollOffset","listRef","scrollTo","handleScroll","useAnimatedScrollHandler","contentOffset","withDelay","startDrag","handleFlatListLayout","nativeEvent","layout","handleRef","exports"],"sourceRoot":"../../../../src","sources":["components/ReorderableListCore/useReorderableListCore.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_components","require","_hooks","_utils","_default","exports","default","ReorderableList"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAKA,IAAAC,MAAA,GAAAD,OAAA;
|
|
1
|
+
{"version":3,"names":["_components","require","_hooks","_utils","_default","exports","default","ReorderableList"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAKA,IAAAC,MAAA,GAAAD,OAAA;AAeA,IAAAE,MAAA,GAAAF,OAAA;AAAqC,IAAAG,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAkBtBC,2BAAe","ignoreList":[]}
|
|
@@ -13,6 +13,7 @@ const ReorderableListCore = ({
|
|
|
13
13
|
autoscrollThresholdOffset,
|
|
14
14
|
autoscrollSpeedScale = 1,
|
|
15
15
|
autoscrollDelay = AUTOSCROLL_CONFIG.delay,
|
|
16
|
+
autoscrollActivationDelta = 5,
|
|
16
17
|
animationDuration = 200,
|
|
17
18
|
dragReorderThreshold = 0.2,
|
|
18
19
|
onLayout,
|
|
@@ -20,6 +21,7 @@ const ReorderableListCore = ({
|
|
|
20
21
|
onScroll,
|
|
21
22
|
onDragStart,
|
|
22
23
|
onDragEnd,
|
|
24
|
+
onIndexChange,
|
|
23
25
|
scrollViewContainerRef,
|
|
24
26
|
scrollViewHeightY,
|
|
25
27
|
scrollViewScrollOffsetY,
|
|
@@ -51,12 +53,14 @@ const ReorderableListCore = ({
|
|
|
51
53
|
autoscrollThresholdOffset,
|
|
52
54
|
autoscrollSpeedScale,
|
|
53
55
|
autoscrollDelay,
|
|
56
|
+
autoscrollActivationDelta,
|
|
54
57
|
animationDuration,
|
|
55
58
|
dragReorderThreshold,
|
|
56
59
|
onLayout,
|
|
57
60
|
onReorder,
|
|
58
61
|
onDragStart,
|
|
59
62
|
onDragEnd,
|
|
63
|
+
onIndexChange,
|
|
60
64
|
scrollViewContainerRef,
|
|
61
65
|
scrollViewHeightY,
|
|
62
66
|
scrollViewScrollOffsetY,
|
|
@@ -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","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":";AAAA,OAAOA,KAAK,IAAGC,WAAW,EAAEC,OAAO,QAAO,OAAO;AACjD,SAEEC,QAAQ,EAERC,QAAQ,QAEH,cAAc;AAErB,SACEC,OAAO,EACPC,eAAe,QAEV,8BAA8B;AACrC,OAAOC,QAAQ,IAEbC,uBAAuB,QAClB,yBAAyB;AAEhC,SAAQC,iBAAiB,QAAO,oBAAoB;AACpD,SAAQC,sBAAsB,QAAO,0BAA0B;AAC/D,SAAQC,sBAAsB,QAAO,gBAAgB;AAErD,SAAQC,mBAAmB,QAAO,wBAAwB;AAE1D,MAAMC,gBAAgB,GAAGN,QAAQ,CAACO,uBAAuB,CACvDX,QACF,CAEuB;AAcvB,MAAMY,mBAAmB,GAAGA,CAC1B;EACEC,mBAAmB,GAAG,GAAG;EACzBC,yBAAyB;EACzBC,oBAAoB,GAAG,CAAC;EACxBC,eAAe,GAAGV,iBAAiB,CAACW,KAAK;EACzCC,iBAAiB,GAAG,GAAG;EACvBC,oBAAoB,GAAG,GAAG;EAC1BC,QAAQ;EACRC,SAAS;EACTC,QAAQ;EACRC,WAAW;EACXC,SAAS;EACTC,sBAAsB;EACtBC,iBAAiB;EACjBC,uBAAuB;EACvBC,uBAAuB;EACvBC,8BAA8B;EAC9BC,UAAU;EACVC,kBAAkB;EAClBC,cAAc;EACdC,sBAAsB;EACtBC,UAAU,GAAG,IAAI;EACjBC,yBAAyB;EACzB,GAAGC;AACwB,CAAC,EAC9BC,GAAoC,KACjC;EACH,MAAM;IACJC,cAAc;IACdC,YAAY;IACZC,oBAAoB;IACpBC,SAAS;IACTC,SAAS;IACTC,gBAAgB;IAChBC,UAAU;IACVC,UAAU;IACVC,KAAK;IACLC,YAAY;IACZC;EACF,CAAC,
|
|
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","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":";AAAA,OAAOA,KAAK,IAAGC,WAAW,EAAEC,OAAO,QAAO,OAAO;AACjD,SAEEC,QAAQ,EAERC,QAAQ,QAEH,cAAc;AAErB,SACEC,OAAO,EACPC,eAAe,QAEV,8BAA8B;AACrC,OAAOC,QAAQ,IAEbC,uBAAuB,QAClB,yBAAyB;AAEhC,SAAQC,iBAAiB,QAAO,oBAAoB;AACpD,SAAQC,sBAAsB,QAAO,0BAA0B;AAC/D,SAAQC,sBAAsB,QAAO,gBAAgB;AAErD,SAAQC,mBAAmB,QAAO,wBAAwB;AAE1D,MAAMC,gBAAgB,GAAGN,QAAQ,CAACO,uBAAuB,CACvDX,QACF,CAEuB;AAcvB,MAAMY,mBAAmB,GAAGA,CAC1B;EACEC,mBAAmB,GAAG,GAAG;EACzBC,yBAAyB;EACzBC,oBAAoB,GAAG,CAAC;EACxBC,eAAe,GAAGV,iBAAiB,CAACW,KAAK;EACzCC,yBAAyB,GAAG,CAAC;EAC7BC,iBAAiB,GAAG,GAAG;EACvBC,oBAAoB,GAAG,GAAG;EAC1BC,QAAQ;EACRC,SAAS;EACTC,QAAQ;EACRC,WAAW;EACXC,SAAS;EACTC,aAAa;EACbC,sBAAsB;EACtBC,iBAAiB;EACjBC,uBAAuB;EACvBC,uBAAuB;EACvBC,8BAA8B;EAC9BC,UAAU;EACVC,kBAAkB;EAClBC,cAAc;EACdC,sBAAsB;EACtBC,UAAU,GAAG,IAAI;EACjBC,yBAAyB;EACzB,GAAGC;AACwB,CAAC,EAC9BC,GAAoC,KACjC;EACH,MAAM;IACJC,cAAc;IACdC,YAAY;IACZC,oBAAoB;IACpBC,SAAS;IACTC,SAAS;IACTC,gBAAgB;IAChBC,UAAU;IACVC,UAAU;IACVC,KAAK;IACLC,YAAY;IACZC;EACF,CAAC,GAAG3C,sBAAsB,CAAC;IACzBgC,GAAG;IACH1B,mBAAmB;IACnBC,yBAAyB;IACzBC,oBAAoB;IACpBC,eAAe;IACfE,yBAAyB;IACzBC,iBAAiB;IACjBC,oBAAoB;IACpBC,QAAQ;IACRC,SAAS;IACTE,WAAW;IACXC,SAAS;IACTC,aAAa;IACbC,sBAAsB;IACtBC,iBAAiB;IACjBC,uBAAuB;IACvBC,uBAAuB;IACvB;IACA;IACAqB,oBAAoB,EAClB,OAAOb,IAAI,CAACc,aAAa,KAAK,WAAW,GAAG,IAAI,GAAGd,IAAI,CAACc,aAAa;IACvErB,8BAA8B,EAC5B,OAAOA,8BAA8B,KAAK,WAAW,GACjD,IAAI,GACJA,8BAA8B;IACpCsB,gBAAgB,EAAErB,UAAU;IAC5BE,cAAc;IACdC,sBAAsB;IACtBC,UAAU;IACVC;EACF,CAAC,CAAC;EAEF,MAAMiB,eAAe,GAAGvD,OAAO,CAAC,MAAM;IACpC;IACA,IAAIkC,kBAAkB,IAAI,EAAEhC,QAAQ,CAACsD,EAAE,KAAK,SAAS,IAAIvB,UAAU,CAAC,EAAE;MACpE,OAAO9B,OAAO,CAACsD,YAAY,CAACvB,kBAAkB,EAAEO,cAAc,CAAC;IACjE;IAEA,OAAOA,cAAc;EACvB,CAAC,EAAE,CAACR,UAAU,EAAEC,kBAAkB,EAAEO,cAAc,CAAC,CAAC;EAEpD,MAAMiB,qBAAqB,GAAGpD,uBAAuB,CAAC,CACpDoC,YAAY,EACZlB,QAAQ,IAAI,IAAI,CACjB,CAAC;EAEF,MAAMmC,kBAAkB,GAAG5D,WAAW,CACpC,CAAC;IAAC6D,OAAO;IAAE,GAAGC;EAA2B,CAAC,kBACxC/D,KAAA,CAAAgE,aAAA,CAACpD,mBAAmB,EAAAqD,QAAA,KACdF,KAAK;IACT;IACAG,GAAG,EAAE,GAAGJ,OAAO,IAAIC,KAAK,CAACI,KAAK,EAAG;IACjClB,UAAU,EAAEA,UAAW;IACvBC,UAAU,EAAEA,UAAW;IACvBC,KAAK,EAAEA,KAAM;IACbC,YAAY,EAAEA,YAAa;IAC3B9B,iBAAiB,EAAE+B,QAAS;IAC5BN,SAAS,EAAEA;EAAU,EACtB,CACF,EACD,CAACE,UAAU,EAAEC,UAAU,EAAEC,KAAK,EAAEC,YAAY,EAAEC,QAAQ,EAAEN,SAAS,CACnE,CAAC;EAED,oBACE/C,KAAA,CAAAgE,aAAA,CAACrD,sBAAsB,CAACyD,QAAQ;IAACC,KAAK,EAAErB;EAAiB,gBACvDhD,KAAA,CAAAgE,aAAA,CAAC1D,eAAe;IAACgE,OAAO,EAAEb;EAAgB,gBACxCzD,KAAA,CAAAgE,aAAA,CAACnD,gBAAgB,EAAAoD,QAAA,KACXxB,IAAI;IACRC,GAAG,EAAEI,SAAU;IACfyB,qBAAqB,EAAEV,kBAAmB;IAC1CrC,QAAQ,EAAEqB,oBAAqB;IAC/BnB,QAAQ,EAAEkC,qBAAsB;IAChCY,mBAAmB,EAAE,CAAE;IACvBC,UAAU,EAAE,KAAM;IAClBC,qBAAqB,EAAE,KAAM;IAC7BC,UAAU,EAAE;EAAE,EACf,CACc,CACc,CAAC;AAEtC,CAAC;AAED,MAAMC,2BAA2B,gBAAG5E,KAAK,CAAC6E,IAAI,cAC5C7E,KAAK,CAAC8E,UAAU,CAAC/D,mBAAmB,CACtC,CAIuB;AAEvB,SAAQ6D,2BAA2B,IAAI7D,mBAAmB","ignoreList":[]}
|
|
@@ -13,12 +13,14 @@ export const useReorderableListCore = ({
|
|
|
13
13
|
autoscrollThresholdOffset,
|
|
14
14
|
autoscrollSpeedScale,
|
|
15
15
|
autoscrollDelay,
|
|
16
|
+
autoscrollActivationDelta,
|
|
16
17
|
animationDuration,
|
|
17
18
|
dragReorderThreshold,
|
|
18
19
|
onReorder,
|
|
19
20
|
onDragStart,
|
|
20
21
|
onDragEnd,
|
|
21
22
|
onLayout,
|
|
23
|
+
onIndexChange,
|
|
22
24
|
scrollViewContainerRef,
|
|
23
25
|
scrollViewHeightY,
|
|
24
26
|
scrollViewScrollOffsetY,
|
|
@@ -61,9 +63,13 @@ export const useReorderableListCore = ({
|
|
|
61
63
|
const duration = useSharedValue(animationDuration);
|
|
62
64
|
const scaleDefault = useSharedValue(1);
|
|
63
65
|
const opacityDefault = useSharedValue(1);
|
|
66
|
+
const dragDirection = useSharedValue(0);
|
|
67
|
+
const lastDragDirectionPivot = useSharedValue(null);
|
|
68
|
+
const autoscrollDelta = useSharedValue(autoscrollActivationDelta);
|
|
64
69
|
useEffect(() => {
|
|
65
70
|
duration.value = animationDuration;
|
|
66
|
-
|
|
71
|
+
autoscrollDelta.value = autoscrollActivationDelta;
|
|
72
|
+
}, [duration, animationDuration, autoscrollDelta, autoscrollActivationDelta]);
|
|
67
73
|
const listContextValue = useMemo(() => ({
|
|
68
74
|
draggedHeight,
|
|
69
75
|
currentIndex,
|
|
@@ -78,6 +84,25 @@ export const useReorderableListCore = ({
|
|
|
78
84
|
opacity: cellAnimations && 'opacity' in cellAnimations ? cellAnimations.opacity : opacityDefault
|
|
79
85
|
}
|
|
80
86
|
}), [draggedHeight, currentIndex, draggedIndex, dragEndHandlers, activeIndex, cellAnimations, scaleDefault, opacityDefault]);
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Decides the intended drag direction of the user.
|
|
90
|
+
* This is used to to determine if the user intends to autoscroll
|
|
91
|
+
* when within the threshold area.
|
|
92
|
+
*/
|
|
93
|
+
const setDragDirection = useCallback(e => {
|
|
94
|
+
'worklet';
|
|
95
|
+
|
|
96
|
+
const direction = e.velocityY > 0 ? 1 : -1;
|
|
97
|
+
if (direction !== dragDirection.value) {
|
|
98
|
+
if (lastDragDirectionPivot.value === null) {
|
|
99
|
+
lastDragDirectionPivot.value = e.absoluteY;
|
|
100
|
+
} else if (Math.abs(e.absoluteY - lastDragDirectionPivot.value) >= autoscrollDelta.value) {
|
|
101
|
+
dragDirection.value = direction;
|
|
102
|
+
lastDragDirectionPivot.value = e.absoluteY;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}, [dragDirection, lastDragDirectionPivot, autoscrollDelta]);
|
|
81
106
|
const panGestureHandler = useMemo(() => Gesture.Pan().onBegin(e => {
|
|
82
107
|
// prevent new dragging until item is completely released
|
|
83
108
|
if (state.value === ReorderableListState.IDLE) {
|
|
@@ -88,13 +113,16 @@ export const useReorderableListCore = ({
|
|
|
88
113
|
gestureState.value = e.state;
|
|
89
114
|
}
|
|
90
115
|
}).onUpdate(e => {
|
|
116
|
+
if (state.value === ReorderableListState.DRAGGED) {
|
|
117
|
+
setDragDirection(e);
|
|
118
|
+
}
|
|
91
119
|
if (state.value !== ReorderableListState.RELEASED) {
|
|
92
120
|
currentY.value = startY.value + e.translationY;
|
|
93
121
|
currentTranslationY.value = e.translationY;
|
|
94
122
|
dragY.value = e.translationY + dragScrollTranslationY.value + scrollViewDragScrollTranslationY.value;
|
|
95
123
|
gestureState.value = e.state;
|
|
96
124
|
}
|
|
97
|
-
}).onEnd(e => gestureState.value = e.state).onFinalize(e => gestureState.value = e.state), [
|
|
125
|
+
}).onEnd(e => gestureState.value = e.state).onFinalize(e => gestureState.value = e.state), [state, startY, currentY, currentTranslationY, dragY, gestureState, setDragDirection, dragScrollTranslationY, scrollViewDragScrollTranslationY]);
|
|
98
126
|
const panGestureHandlerWithOptions = useMemo(() => {
|
|
99
127
|
if (typeof panActivateAfterLongPress === 'number') {
|
|
100
128
|
panGestureHandler.activateAfterLongPress(panActivateAfterLongPress);
|
|
@@ -130,7 +158,9 @@ export const useReorderableListCore = ({
|
|
|
130
158
|
dragY.value = 0;
|
|
131
159
|
dragScrollTranslationY.value = 0;
|
|
132
160
|
scrollViewDragScrollTranslationY.value = 0;
|
|
133
|
-
|
|
161
|
+
dragDirection.value = 0;
|
|
162
|
+
lastDragDirectionPivot.value = null;
|
|
163
|
+
}, [state, draggedIndex, dragY, dragScrollTranslationY, scrollViewDragScrollTranslationY, dragDirection, lastDragDirectionPivot]);
|
|
134
164
|
const resetSharedValuesAfterAnimations = useCallback(() => {
|
|
135
165
|
setTimeout(runOnUI(resetSharedValues), duration.value);
|
|
136
166
|
}, [resetSharedValues, duration]);
|
|
@@ -201,8 +231,11 @@ export const useReorderableListCore = ({
|
|
|
201
231
|
previousDirection.value = newDirection;
|
|
202
232
|
previousIndex.value = currentIndex.value;
|
|
203
233
|
currentIndex.value = newIndex;
|
|
234
|
+
onIndexChange === null || onIndexChange === void 0 || onIndexChange({
|
|
235
|
+
index: newIndex
|
|
236
|
+
});
|
|
204
237
|
}
|
|
205
|
-
}, [currentIndex, previousIndex, previousDirection, previousY, itemOffset, itemHeight, getIndexFromY]);
|
|
238
|
+
}, [currentIndex, previousIndex, previousDirection, previousY, itemOffset, itemHeight, getIndexFromY, onIndexChange]);
|
|
206
239
|
const runDefaultDragAnimations = useCallback(type => {
|
|
207
240
|
'worklet';
|
|
208
241
|
|
|
@@ -348,12 +381,17 @@ export const useReorderableListCore = ({
|
|
|
348
381
|
useAnimatedReaction(() => currentY.value + scrollViewDragScrollTranslationY.value, y => {
|
|
349
382
|
if (state.value === ReorderableListState.DRAGGED || state.value === ReorderableListState.AUTOSCROLL) {
|
|
350
383
|
setCurrentIndex(y);
|
|
351
|
-
|
|
384
|
+
|
|
385
|
+
// Trigger autoscroll when:
|
|
386
|
+
// 1. Within the threshold area (top or bottom of list)
|
|
387
|
+
// 2. Have dragged in the same direction as the scroll
|
|
388
|
+
// 3. Not already in autoscroll mode
|
|
389
|
+
if (dragDirection.value === scrollDirection(y)) {
|
|
390
|
+
// When the first two conditions are met and it's already in autoscroll mode, we let it continue (no-op)
|
|
352
391
|
if (state.value !== ReorderableListState.AUTOSCROLL) {
|
|
353
|
-
|
|
392
|
+
state.value = ReorderableListState.AUTOSCROLL;
|
|
354
393
|
lastAutoscrollTrigger.value = autoscrollTrigger.value;
|
|
355
394
|
autoscrollTrigger.value *= -1;
|
|
356
|
-
state.value = ReorderableListState.AUTOSCROLL;
|
|
357
395
|
}
|
|
358
396
|
} else if (state.value === ReorderableListState.AUTOSCROLL) {
|
|
359
397
|
state.value = ReorderableListState.DRAGGED;
|
|
@@ -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","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","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","dragDirection","lastDragDirectionPivot","autoscrollDelta","value","listContextValue","transform","scale","opacity","setDragDirection","e","direction","velocityY","absoluteY","Math","abs","panGestureHandler","Pan","onBegin","y","translationY","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","getIndexFromY","relativeY","count","i","threshold","max","min","height","offset","index","setCurrentIndex","newIndex","newDirection","delta","itemDirection","index1","index2","newOffset1","newHeight1","newOffset2","newHeight2","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","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":[]}
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NestedReorderableList","ReorderableList","ScrollViewContainer","useIsActive","useReorderableDrag","useReorderableDragEnd","useReorderableDragStart","reorderItems"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA,SACEA,qBAAqB,EACrBC,eAAe,EACfC,mBAAmB,QACd,cAAc;AACrB,SACEC,WAAW,EACXC,kBAAkB,EAClBC,qBAAqB,EACrBC,uBAAuB,QAClB,SAAS;
|
|
1
|
+
{"version":3,"names":["NestedReorderableList","ReorderableList","ScrollViewContainer","useIsActive","useReorderableDrag","useReorderableDragEnd","useReorderableDragStart","reorderItems"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA,SACEA,qBAAqB,EACrBC,eAAe,EACfC,mBAAmB,QACd,cAAc;AACrB,SACEC,WAAW,EACXC,kBAAkB,EAClBC,qBAAqB,EACrBC,uBAAuB,QAClB,SAAS;AAUhB,SAAQC,YAAY,QAAO,SAAS;AAEpC,SACEJ,WAAW,EACXC,kBAAkB,EAClBE,uBAAuB,EACvBD,qBAAqB,EAOrBH,mBAAmB,EAEnBF,qBAAqB,EACrBO,YAAY;AAEd,eAAeN,eAAe","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReorderableListCore.d.ts","sourceRoot":"","sources":["../../../../src/components/ReorderableListCore/ReorderableListCore.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6B,MAAM,OAAO,CAAC;AAClD,OAAO,EAEL,QAAQ,EAGR,UAAU,EACX,MAAM,cAAc,CAAC;AAEtB,OAAO,EAGL,aAAa,EACd,MAAM,8BAA8B,CAAC;AACtC,OAAiB,EACf,WAAW,EAEZ,MAAM,yBAAyB,CAAC;AAKjC,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,aAAa,CAAC;AAStD,UAAU,wBAAwB,CAAC,CAAC,CAAE,SAAQ,oBAAoB,CAAC,CAAC,CAAC;IAEnE,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,kBAAkB,EAAE,aAAa,GAAG,SAAS,CAAC;IAC9C,8BAA8B,EAAE,OAAO,GAAG,SAAS,CAAC;IACpD,UAAU,EAAE,OAAO,GAAG,SAAS,CAAC;IAChC,aAAa,EAAE,OAAO,GAAG,SAAS,CAAC;CACpC;
|
|
1
|
+
{"version":3,"file":"ReorderableListCore.d.ts","sourceRoot":"","sources":["../../../../src/components/ReorderableListCore/ReorderableListCore.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6B,MAAM,OAAO,CAAC;AAClD,OAAO,EAEL,QAAQ,EAGR,UAAU,EACX,MAAM,cAAc,CAAC;AAEtB,OAAO,EAGL,aAAa,EACd,MAAM,8BAA8B,CAAC;AACtC,OAAiB,EACf,WAAW,EAEZ,MAAM,yBAAyB,CAAC;AAKjC,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,aAAa,CAAC;AAStD,UAAU,wBAAwB,CAAC,CAAC,CAAE,SAAQ,oBAAoB,CAAC,CAAC,CAAC;IAEnE,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,kBAAkB,EAAE,aAAa,GAAG,SAAS,CAAC;IAC9C,8BAA8B,EAAE,OAAO,GAAG,SAAS,CAAC;IACpD,UAAU,EAAE,OAAO,GAAG,SAAS,CAAC;IAChC,aAAa,EAAE,OAAO,GAAG,SAAS,CAAC;CACpC;AA+HD,QAAA,MAAM,2BAA2B;;MAM5B,MAAM,YAAY,CAAC;AAExB,OAAO,EAAC,2BAA2B,IAAI,mBAAmB,EAAC,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { FlatList, LayoutChangeEvent, ScrollView } from 'react-native';
|
|
3
3
|
import { SharedValue } from 'react-native-reanimated';
|
|
4
|
-
import { ReorderableListCellAnimations, ReorderableListDragEndEvent, ReorderableListDragStartEvent } from '../../types';
|
|
4
|
+
import { ReorderableListCellAnimations, ReorderableListDragEndEvent, ReorderableListDragStartEvent, ReorderableListIndexChangeEvent } from '../../types';
|
|
5
5
|
import type { ReorderableListReorderEvent } from '../../types';
|
|
6
6
|
interface UseReorderableListCoreArgs<T> {
|
|
7
7
|
ref: React.ForwardedRef<FlatList<T>>;
|
|
@@ -12,11 +12,13 @@ interface UseReorderableListCoreArgs<T> {
|
|
|
12
12
|
} | undefined;
|
|
13
13
|
autoscrollSpeedScale: number;
|
|
14
14
|
autoscrollDelay: number;
|
|
15
|
+
autoscrollActivationDelta: number;
|
|
15
16
|
animationDuration: number;
|
|
16
17
|
dragReorderThreshold: number;
|
|
17
18
|
onReorder: (event: ReorderableListReorderEvent) => void;
|
|
18
19
|
onDragStart?: (event: ReorderableListDragStartEvent) => void;
|
|
19
20
|
onDragEnd?: (event: ReorderableListDragEndEvent) => void;
|
|
21
|
+
onIndexChange?: (event: ReorderableListIndexChangeEvent) => void;
|
|
20
22
|
onLayout?: (event: LayoutChangeEvent) => void;
|
|
21
23
|
scrollViewContainerRef: React.RefObject<ScrollView> | undefined;
|
|
22
24
|
scrollViewHeightY: SharedValue<number> | undefined;
|
|
@@ -30,7 +32,7 @@ interface UseReorderableListCoreArgs<T> {
|
|
|
30
32
|
panEnabled: boolean;
|
|
31
33
|
panActivateAfterLongPress: number | undefined;
|
|
32
34
|
}
|
|
33
|
-
export declare const useReorderableListCore: <T>({ ref, autoscrollThreshold, autoscrollThresholdOffset, autoscrollSpeedScale, autoscrollDelay, animationDuration, dragReorderThreshold, onReorder, onDragStart, onDragEnd, onLayout, scrollViewContainerRef, scrollViewHeightY, scrollViewScrollOffsetY, scrollViewScrollEnabled, initialScrollEnabled, initialScrollViewScrollEnabled, nestedScrollable, cellAnimations, shouldUpdateActiveItem, panActivateAfterLongPress, panEnabled, }: UseReorderableListCoreArgs<T>) => {
|
|
35
|
+
export declare const useReorderableListCore: <T>({ ref, autoscrollThreshold, autoscrollThresholdOffset, autoscrollSpeedScale, autoscrollDelay, autoscrollActivationDelta, animationDuration, dragReorderThreshold, onReorder, onDragStart, onDragEnd, onLayout, onIndexChange, scrollViewContainerRef, scrollViewHeightY, scrollViewScrollOffsetY, scrollViewScrollEnabled, initialScrollEnabled, initialScrollViewScrollEnabled, nestedScrollable, cellAnimations, shouldUpdateActiveItem, panActivateAfterLongPress, panEnabled, }: UseReorderableListCoreArgs<T>) => {
|
|
34
36
|
gestureHandler: import("react-native-gesture-handler/lib/typescript/handlers/gestures/gestureComposition").SimultaneousGesture;
|
|
35
37
|
handleScroll: import("react-native-reanimated").ScrollHandlerProcessed<Record<string, unknown>>;
|
|
36
38
|
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;
|
|
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,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;;;;;uBAopBvB,MAAM;;;;;6CAhmBN,MAAM,MAAM,MAAM,KAAK,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmrBtC,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { NestedReorderableList, ReorderableList, ScrollViewContainer } from './components';
|
|
2
2
|
import { useIsActive, useReorderableDrag, useReorderableDragEnd, useReorderableDragStart } from './hooks';
|
|
3
|
-
import type { ReorderableListCellAnimations, ReorderableListDragEndEvent, ReorderableListDragStartEvent, ReorderableListProps, ReorderableListReorderEvent, ScrollViewContainerProps } from './types';
|
|
3
|
+
import type { ReorderableListCellAnimations, ReorderableListDragEndEvent, ReorderableListDragStartEvent, ReorderableListIndexChangeEvent, ReorderableListProps, ReorderableListReorderEvent, ScrollViewContainerProps } from './types';
|
|
4
4
|
import { reorderItems } from './utils';
|
|
5
|
-
export { useIsActive, useReorderableDrag, useReorderableDragStart, useReorderableDragEnd, ReorderableListProps, ReorderableListReorderEvent, ReorderableListCellAnimations, ReorderableListDragStartEvent, ReorderableListDragEndEvent, ScrollViewContainer, ScrollViewContainerProps, NestedReorderableList, reorderItems, };
|
|
5
|
+
export { useIsActive, useReorderableDrag, useReorderableDragStart, useReorderableDragEnd, ReorderableListProps, ReorderableListReorderEvent, ReorderableListCellAnimations, ReorderableListDragStartEvent, ReorderableListDragEndEvent, ReorderableListIndexChangeEvent, ScrollViewContainer, ScrollViewContainerProps, NestedReorderableList, reorderItems, };
|
|
6
6
|
export default ReorderableList;
|
|
7
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,mBAAmB,EACpB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EACV,6BAA6B,EAC7B,2BAA2B,EAC3B,6BAA6B,EAC7B,oBAAoB,EACpB,2BAA2B,EAC3B,wBAAwB,EACzB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAC,YAAY,EAAC,MAAM,SAAS,CAAC;AAErC,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,2BAA2B,EAC3B,6BAA6B,EAC7B,6BAA6B,EAC7B,2BAA2B,EAC3B,mBAAmB,EACnB,wBAAwB,EACxB,qBAAqB,EACrB,YAAY,GACb,CAAC;AACF,eAAe,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,mBAAmB,EACpB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EACV,6BAA6B,EAC7B,2BAA2B,EAC3B,6BAA6B,EAC7B,+BAA+B,EAC/B,oBAAoB,EACpB,2BAA2B,EAC3B,wBAAwB,EACzB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAC,YAAY,EAAC,MAAM,SAAS,CAAC;AAErC,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,2BAA2B,EAC3B,6BAA6B,EAC7B,6BAA6B,EAC7B,2BAA2B,EAC3B,+BAA+B,EAC/B,mBAAmB,EACnB,wBAAwB,EACxB,qBAAqB,EACrB,YAAY,GACb,CAAC;AACF,eAAe,eAAe,CAAC"}
|
|
@@ -17,6 +17,12 @@ export interface ReorderableListDragStartEvent {
|
|
|
17
17
|
*/
|
|
18
18
|
index: number;
|
|
19
19
|
}
|
|
20
|
+
export interface ReorderableListIndexChangeEvent {
|
|
21
|
+
/**
|
|
22
|
+
* Index of the dragged item.
|
|
23
|
+
*/
|
|
24
|
+
index: number;
|
|
25
|
+
}
|
|
20
26
|
export interface ReorderableListDragEndEvent {
|
|
21
27
|
/**
|
|
22
28
|
* Index of the dragged item.
|
|
@@ -54,6 +60,12 @@ export interface ReorderableListProps<T> extends Omit<FlatListProps<T>, OmittedP
|
|
|
54
60
|
* Default iOS: `100`.
|
|
55
61
|
*/
|
|
56
62
|
autoscrollDelay?: number;
|
|
63
|
+
/**
|
|
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`.
|
|
67
|
+
*/
|
|
68
|
+
autoscrollActivationDelta?: number;
|
|
57
69
|
/**
|
|
58
70
|
* Specifies the fraction of an item's size at which it will shift when a dragged item crosses over it.
|
|
59
71
|
* 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`.
|
|
@@ -79,7 +91,7 @@ export interface ReorderableListProps<T> extends Omit<FlatListProps<T>, OmittedP
|
|
|
79
91
|
*/
|
|
80
92
|
panEnabled?: boolean;
|
|
81
93
|
/**
|
|
82
|
-
* Duration in milliseconds of
|
|
94
|
+
* Duration in milliseconds of the long press on the list before the pan gesture for dragging is allowed to activate.
|
|
83
95
|
*/
|
|
84
96
|
panActivateAfterLongPress?: number;
|
|
85
97
|
/**
|
|
@@ -98,6 +110,10 @@ export interface ReorderableListProps<T> extends Omit<FlatListProps<T>, OmittedP
|
|
|
98
110
|
* Event fired when the dragged item is released. Needs to be a `worklet`. See [Reanimated docs](https://docs.swmansion.com/react-native-reanimated) for further info.
|
|
99
111
|
*/
|
|
100
112
|
onDragEnd?: (event: ReorderableListDragEndEvent) => void;
|
|
113
|
+
/**
|
|
114
|
+
* Event fired when the index of the dragged item changes. Needs to be a `worklet`. See [Reanimated docs](https://docs.swmansion.com/react-native-reanimated) for further info.
|
|
115
|
+
*/
|
|
116
|
+
onIndexChange?: (event: ReorderableListIndexChangeEvent) => void;
|
|
101
117
|
}
|
|
102
118
|
export type Transforms = PerspectiveTransform & RotateTransform & RotateXTransform & RotateYTransform & RotateZTransform & ScaleTransform & ScaleXTransform & ScaleYTransform & TranslateXTransform & TranslateYTransform & SkewXTransform & SkewYTransform & MatrixTransform;
|
|
103
119
|
export type ReorderableListCellAnimatedStyles = Omit<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"props.d.ts","sourceRoot":"","sources":["../../../src/types/props.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EACf,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,eAAe,EACf,eAAe,EACf,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACnB,SAAS,EACV,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAC,WAAW,EAAE,wBAAwB,EAAC,MAAM,yBAAyB,CAAC;AAE9E,OAAO,EAAC,YAAY,EAAE,iBAAiB,EAAC,MAAM,QAAQ,CAAC;AAEvD,MAAM,WAAW,2BAA2B;IAC1C;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,6BAA6B;IAC5C;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,2BAA2B;IAC1C;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,KAAK,YAAY,GACb,YAAY,GACZ,UAAU,GACV,qBAAqB,GACrB,uBAAuB,GACvB,uBAAuB,GACvB,YAAY,CAAC;AAEjB,MAAM,WAAW,oBAAoB,CAAC,CAAC,CACrC,SAAQ,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC;IAC5C,IAAI,EAAE,CAAC,EAAE,CAAC;IACV;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B;;;OAGG;IACH,yBAAyB,CAAC,EAAE;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAC,CAAC;IAC5D;;OAEG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;OAEG;IACH,cAAc,CAAC,EAAE,6BAA6B,CAAC;IAC/C;;OAEG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC;;OAEG;IACH,SAAS,EAAE,CAAC,KAAK,EAAE,2BAA2B,KAAK,IAAI,CAAC;IACxD;;OAEG;IACH,QAAQ,CAAC,EAAE,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAC;IACvD;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,6BAA6B,KAAK,IAAI,CAAC;IAC7D;;OAEG;IACH,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,2BAA2B,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"props.d.ts","sourceRoot":"","sources":["../../../src/types/props.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -47,6 +47,7 @@ const ReorderableListCore = <T,>(
|
|
|
47
47
|
autoscrollThresholdOffset,
|
|
48
48
|
autoscrollSpeedScale = 1,
|
|
49
49
|
autoscrollDelay = AUTOSCROLL_CONFIG.delay,
|
|
50
|
+
autoscrollActivationDelta = 5,
|
|
50
51
|
animationDuration = 200,
|
|
51
52
|
dragReorderThreshold = 0.2,
|
|
52
53
|
onLayout,
|
|
@@ -54,6 +55,7 @@ const ReorderableListCore = <T,>(
|
|
|
54
55
|
onScroll,
|
|
55
56
|
onDragStart,
|
|
56
57
|
onDragEnd,
|
|
58
|
+
onIndexChange,
|
|
57
59
|
scrollViewContainerRef,
|
|
58
60
|
scrollViewHeightY,
|
|
59
61
|
scrollViewScrollOffsetY,
|
|
@@ -87,12 +89,14 @@ const ReorderableListCore = <T,>(
|
|
|
87
89
|
autoscrollThresholdOffset,
|
|
88
90
|
autoscrollSpeedScale,
|
|
89
91
|
autoscrollDelay,
|
|
92
|
+
autoscrollActivationDelta,
|
|
90
93
|
animationDuration,
|
|
91
94
|
dragReorderThreshold,
|
|
92
95
|
onLayout,
|
|
93
96
|
onReorder,
|
|
94
97
|
onDragStart,
|
|
95
98
|
onDragEnd,
|
|
99
|
+
onIndexChange,
|
|
96
100
|
scrollViewContainerRef,
|
|
97
101
|
scrollViewHeightY,
|
|
98
102
|
scrollViewScrollOffsetY,
|
|
@@ -6,7 +6,12 @@ import {
|
|
|
6
6
|
unstable_batchedUpdates,
|
|
7
7
|
} from 'react-native';
|
|
8
8
|
|
|
9
|
-
import {
|
|
9
|
+
import {
|
|
10
|
+
Gesture,
|
|
11
|
+
GestureUpdateEvent,
|
|
12
|
+
PanGestureHandlerEventPayload,
|
|
13
|
+
State,
|
|
14
|
+
} from 'react-native-gesture-handler';
|
|
10
15
|
import Animated, {
|
|
11
16
|
AnimatedRef,
|
|
12
17
|
Easing,
|
|
@@ -31,6 +36,7 @@ import {
|
|
|
31
36
|
ReorderableListCellAnimations,
|
|
32
37
|
ReorderableListDragEndEvent,
|
|
33
38
|
ReorderableListDragStartEvent,
|
|
39
|
+
ReorderableListIndexChangeEvent,
|
|
34
40
|
ReorderableListState,
|
|
35
41
|
} from '../../types';
|
|
36
42
|
import type {ReorderableListReorderEvent} from '../../types';
|
|
@@ -46,11 +52,13 @@ interface UseReorderableListCoreArgs<T> {
|
|
|
46
52
|
autoscrollThresholdOffset: {top?: number; bottom?: number} | undefined;
|
|
47
53
|
autoscrollSpeedScale: number;
|
|
48
54
|
autoscrollDelay: number;
|
|
55
|
+
autoscrollActivationDelta: number;
|
|
49
56
|
animationDuration: number;
|
|
50
57
|
dragReorderThreshold: number;
|
|
51
58
|
onReorder: (event: ReorderableListReorderEvent) => void;
|
|
52
59
|
onDragStart?: (event: ReorderableListDragStartEvent) => void;
|
|
53
60
|
onDragEnd?: (event: ReorderableListDragEndEvent) => void;
|
|
61
|
+
onIndexChange?: (event: ReorderableListIndexChangeEvent) => void;
|
|
54
62
|
onLayout?: (event: LayoutChangeEvent) => void;
|
|
55
63
|
scrollViewContainerRef: React.RefObject<ScrollView> | undefined;
|
|
56
64
|
scrollViewHeightY: SharedValue<number> | undefined;
|
|
@@ -71,12 +79,14 @@ export const useReorderableListCore = <T>({
|
|
|
71
79
|
autoscrollThresholdOffset,
|
|
72
80
|
autoscrollSpeedScale,
|
|
73
81
|
autoscrollDelay,
|
|
82
|
+
autoscrollActivationDelta,
|
|
74
83
|
animationDuration,
|
|
75
84
|
dragReorderThreshold,
|
|
76
85
|
onReorder,
|
|
77
86
|
onDragStart,
|
|
78
87
|
onDragEnd,
|
|
79
88
|
onLayout,
|
|
89
|
+
onIndexChange,
|
|
80
90
|
scrollViewContainerRef,
|
|
81
91
|
scrollViewHeightY,
|
|
82
92
|
scrollViewScrollOffsetY,
|
|
@@ -121,10 +131,14 @@ export const useReorderableListCore = <T>({
|
|
|
121
131
|
const duration = useSharedValue(animationDuration);
|
|
122
132
|
const scaleDefault = useSharedValue(1);
|
|
123
133
|
const opacityDefault = useSharedValue(1);
|
|
134
|
+
const dragDirection = useSharedValue(0);
|
|
135
|
+
const lastDragDirectionPivot = useSharedValue<number | null>(null);
|
|
136
|
+
const autoscrollDelta = useSharedValue(autoscrollActivationDelta);
|
|
124
137
|
|
|
125
138
|
useEffect(() => {
|
|
126
139
|
duration.value = animationDuration;
|
|
127
|
-
|
|
140
|
+
autoscrollDelta.value = autoscrollActivationDelta;
|
|
141
|
+
}, [duration, animationDuration, autoscrollDelta, autoscrollActivationDelta]);
|
|
128
142
|
|
|
129
143
|
const listContextValue = useMemo(
|
|
130
144
|
() => ({
|
|
@@ -157,6 +171,31 @@ export const useReorderableListCore = <T>({
|
|
|
157
171
|
],
|
|
158
172
|
);
|
|
159
173
|
|
|
174
|
+
/**
|
|
175
|
+
* Decides the intended drag direction of the user.
|
|
176
|
+
* This is used to to determine if the user intends to autoscroll
|
|
177
|
+
* when within the threshold area.
|
|
178
|
+
*/
|
|
179
|
+
const setDragDirection = useCallback(
|
|
180
|
+
(e: GestureUpdateEvent<PanGestureHandlerEventPayload>) => {
|
|
181
|
+
'worklet';
|
|
182
|
+
|
|
183
|
+
const direction = e.velocityY > 0 ? 1 : -1;
|
|
184
|
+
if (direction !== dragDirection.value) {
|
|
185
|
+
if (lastDragDirectionPivot.value === null) {
|
|
186
|
+
lastDragDirectionPivot.value = e.absoluteY;
|
|
187
|
+
} else if (
|
|
188
|
+
Math.abs(e.absoluteY - lastDragDirectionPivot.value) >=
|
|
189
|
+
autoscrollDelta.value
|
|
190
|
+
) {
|
|
191
|
+
dragDirection.value = direction;
|
|
192
|
+
lastDragDirectionPivot.value = e.absoluteY;
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
},
|
|
196
|
+
[dragDirection, lastDragDirectionPivot, autoscrollDelta],
|
|
197
|
+
);
|
|
198
|
+
|
|
160
199
|
const panGestureHandler = useMemo(
|
|
161
200
|
() =>
|
|
162
201
|
Gesture.Pan()
|
|
@@ -171,6 +210,10 @@ export const useReorderableListCore = <T>({
|
|
|
171
210
|
}
|
|
172
211
|
})
|
|
173
212
|
.onUpdate(e => {
|
|
213
|
+
if (state.value === ReorderableListState.DRAGGED) {
|
|
214
|
+
setDragDirection(e);
|
|
215
|
+
}
|
|
216
|
+
|
|
174
217
|
if (state.value !== ReorderableListState.RELEASED) {
|
|
175
218
|
currentY.value = startY.value + e.translationY;
|
|
176
219
|
currentTranslationY.value = e.translationY;
|
|
@@ -184,14 +227,15 @@ export const useReorderableListCore = <T>({
|
|
|
184
227
|
.onEnd(e => (gestureState.value = e.state))
|
|
185
228
|
.onFinalize(e => (gestureState.value = e.state)),
|
|
186
229
|
[
|
|
187
|
-
|
|
230
|
+
state,
|
|
231
|
+
startY,
|
|
188
232
|
currentY,
|
|
233
|
+
currentTranslationY,
|
|
234
|
+
dragY,
|
|
235
|
+
gestureState,
|
|
236
|
+
setDragDirection,
|
|
189
237
|
dragScrollTranslationY,
|
|
190
238
|
scrollViewDragScrollTranslationY,
|
|
191
|
-
gestureState,
|
|
192
|
-
dragY,
|
|
193
|
-
startY,
|
|
194
|
-
state,
|
|
195
239
|
],
|
|
196
240
|
);
|
|
197
241
|
|
|
@@ -249,12 +293,16 @@ export const useReorderableListCore = <T>({
|
|
|
249
293
|
dragY.value = 0;
|
|
250
294
|
dragScrollTranslationY.value = 0;
|
|
251
295
|
scrollViewDragScrollTranslationY.value = 0;
|
|
296
|
+
dragDirection.value = 0;
|
|
297
|
+
lastDragDirectionPivot.value = null;
|
|
252
298
|
}, [
|
|
299
|
+
state,
|
|
253
300
|
draggedIndex,
|
|
254
301
|
dragY,
|
|
255
302
|
dragScrollTranslationY,
|
|
256
303
|
scrollViewDragScrollTranslationY,
|
|
257
|
-
|
|
304
|
+
dragDirection,
|
|
305
|
+
lastDragDirectionPivot,
|
|
258
306
|
]);
|
|
259
307
|
|
|
260
308
|
const resetSharedValuesAfterAnimations = useCallback(() => {
|
|
@@ -351,6 +399,8 @@ export const useReorderableListCore = <T>({
|
|
|
351
399
|
previousDirection.value = newDirection;
|
|
352
400
|
previousIndex.value = currentIndex.value;
|
|
353
401
|
currentIndex.value = newIndex;
|
|
402
|
+
|
|
403
|
+
onIndexChange?.({index: newIndex});
|
|
354
404
|
}
|
|
355
405
|
},
|
|
356
406
|
[
|
|
@@ -361,6 +411,7 @@ export const useReorderableListCore = <T>({
|
|
|
361
411
|
itemOffset,
|
|
362
412
|
itemHeight,
|
|
363
413
|
getIndexFromY,
|
|
414
|
+
onIndexChange,
|
|
364
415
|
],
|
|
365
416
|
);
|
|
366
417
|
|
|
@@ -576,12 +627,16 @@ export const useReorderableListCore = <T>({
|
|
|
576
627
|
) {
|
|
577
628
|
setCurrentIndex(y);
|
|
578
629
|
|
|
579
|
-
|
|
630
|
+
// Trigger autoscroll when:
|
|
631
|
+
// 1. Within the threshold area (top or bottom of list)
|
|
632
|
+
// 2. Have dragged in the same direction as the scroll
|
|
633
|
+
// 3. Not already in autoscroll mode
|
|
634
|
+
if (dragDirection.value === scrollDirection(y)) {
|
|
635
|
+
// When the first two conditions are met and it's already in autoscroll mode, we let it continue (no-op)
|
|
580
636
|
if (state.value !== ReorderableListState.AUTOSCROLL) {
|
|
581
|
-
|
|
637
|
+
state.value = ReorderableListState.AUTOSCROLL;
|
|
582
638
|
lastAutoscrollTrigger.value = autoscrollTrigger.value;
|
|
583
639
|
autoscrollTrigger.value *= -1;
|
|
584
|
-
state.value = ReorderableListState.AUTOSCROLL;
|
|
585
640
|
}
|
|
586
641
|
} else if (state.value === ReorderableListState.AUTOSCROLL) {
|
|
587
642
|
state.value = ReorderableListState.DRAGGED;
|
package/src/index.ts
CHANGED
|
@@ -13,6 +13,7 @@ import type {
|
|
|
13
13
|
ReorderableListCellAnimations,
|
|
14
14
|
ReorderableListDragEndEvent,
|
|
15
15
|
ReorderableListDragStartEvent,
|
|
16
|
+
ReorderableListIndexChangeEvent,
|
|
16
17
|
ReorderableListProps,
|
|
17
18
|
ReorderableListReorderEvent,
|
|
18
19
|
ScrollViewContainerProps,
|
|
@@ -29,6 +30,7 @@ export {
|
|
|
29
30
|
ReorderableListCellAnimations,
|
|
30
31
|
ReorderableListDragStartEvent,
|
|
31
32
|
ReorderableListDragEndEvent,
|
|
33
|
+
ReorderableListIndexChangeEvent,
|
|
32
34
|
ScrollViewContainer,
|
|
33
35
|
ScrollViewContainerProps,
|
|
34
36
|
NestedReorderableList,
|
package/src/types/props.ts
CHANGED
|
@@ -39,6 +39,13 @@ export interface ReorderableListDragStartEvent {
|
|
|
39
39
|
index: number;
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
+
export interface ReorderableListIndexChangeEvent {
|
|
43
|
+
/**
|
|
44
|
+
* Index of the dragged item.
|
|
45
|
+
*/
|
|
46
|
+
index: number;
|
|
47
|
+
}
|
|
48
|
+
|
|
42
49
|
export interface ReorderableListDragEndEvent {
|
|
43
50
|
/**
|
|
44
51
|
* Index of the dragged item.
|
|
@@ -82,6 +89,12 @@ export interface ReorderableListProps<T>
|
|
|
82
89
|
* Default iOS: `100`.
|
|
83
90
|
*/
|
|
84
91
|
autoscrollDelay?: number;
|
|
92
|
+
/**
|
|
93
|
+
* Allows configuring the delta for autoscroll activation when dragging an item in the same direction as the autoscroll.
|
|
94
|
+
* This is particularly useful when an item is dragged within the autoscroll area to account for minor unintentional movements.
|
|
95
|
+
* Default: `5`.
|
|
96
|
+
*/
|
|
97
|
+
autoscrollActivationDelta?: number;
|
|
85
98
|
/**
|
|
86
99
|
* Specifies the fraction of an item's size at which it will shift when a dragged item crosses over it.
|
|
87
100
|
* 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`.
|
|
@@ -107,7 +120,7 @@ export interface ReorderableListProps<T>
|
|
|
107
120
|
*/
|
|
108
121
|
panEnabled?: boolean;
|
|
109
122
|
/**
|
|
110
|
-
* Duration in milliseconds of
|
|
123
|
+
* Duration in milliseconds of the long press on the list before the pan gesture for dragging is allowed to activate.
|
|
111
124
|
*/
|
|
112
125
|
panActivateAfterLongPress?: number;
|
|
113
126
|
/**
|
|
@@ -126,6 +139,10 @@ export interface ReorderableListProps<T>
|
|
|
126
139
|
* Event fired when the dragged item is released. Needs to be a `worklet`. See [Reanimated docs](https://docs.swmansion.com/react-native-reanimated) for further info.
|
|
127
140
|
*/
|
|
128
141
|
onDragEnd?: (event: ReorderableListDragEndEvent) => void;
|
|
142
|
+
/**
|
|
143
|
+
* Event fired when the index of the dragged item changes. Needs to be a `worklet`. See [Reanimated docs](https://docs.swmansion.com/react-native-reanimated) for further info.
|
|
144
|
+
*/
|
|
145
|
+
onIndexChange?: (event: ReorderableListIndexChangeEvent) => void;
|
|
129
146
|
}
|
|
130
147
|
|
|
131
148
|
export type Transforms = PerspectiveTransform &
|