react-native-reorderable-list 0.13.1 → 0.14.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 (54) hide show
  1. package/README.md +69 -9
  2. package/lib/commonjs/components/{ReorderableListCore/useReorderableListCore.js → ReorderableListCore.js} +112 -57
  3. package/lib/commonjs/components/ReorderableListCore.js.map +1 -0
  4. package/lib/commonjs/components/ScrollViewContainer.js +12 -4
  5. package/lib/commonjs/components/ScrollViewContainer.js.map +1 -1
  6. package/lib/commonjs/components/{ReorderableListCore/animationDefaults.js → constants.js} +26 -2
  7. package/lib/commonjs/components/constants.js.map +1 -0
  8. package/lib/module/components/{ReorderableListCore/useReorderableListCore.js → ReorderableListCore.js} +112 -55
  9. package/lib/module/components/ReorderableListCore.js.map +1 -0
  10. package/lib/module/components/ScrollViewContainer.js +13 -4
  11. package/lib/module/components/ScrollViewContainer.js.map +1 -1
  12. package/lib/module/components/constants.js +52 -0
  13. package/lib/module/components/constants.js.map +1 -0
  14. package/lib/typescript/components/{ReorderableListCore/ReorderableListCore.d.ts → ReorderableListCore.d.ts} +1 -1
  15. package/lib/typescript/components/ReorderableListCore.d.ts.map +1 -0
  16. package/lib/typescript/components/ScrollViewContainer.d.ts +2 -1
  17. package/lib/typescript/components/ScrollViewContainer.d.ts.map +1 -1
  18. package/lib/typescript/components/{ReorderableListCore/animationDefaults.d.ts → constants.d.ts} +6 -1
  19. package/lib/typescript/components/constants.d.ts.map +1 -0
  20. package/lib/typescript/types/props.d.ts +9 -0
  21. package/lib/typescript/types/props.d.ts.map +1 -1
  22. package/package.json +1 -1
  23. package/src/components/{ReorderableListCore/useReorderableListCore.ts → ReorderableListCore.tsx} +184 -99
  24. package/src/components/ScrollViewContainer.tsx +22 -9
  25. package/src/components/{ReorderableListCore/animationDefaults.ts → constants.ts} +34 -0
  26. package/src/types/props.ts +9 -0
  27. package/lib/commonjs/components/ReorderableListCore/ReorderableListCore.js +0 -123
  28. package/lib/commonjs/components/ReorderableListCore/ReorderableListCore.js.map +0 -1
  29. package/lib/commonjs/components/ReorderableListCore/animationDefaults.js.map +0 -1
  30. package/lib/commonjs/components/ReorderableListCore/autoscrollConfig.js +0 -31
  31. package/lib/commonjs/components/ReorderableListCore/autoscrollConfig.js.map +0 -1
  32. package/lib/commonjs/components/ReorderableListCore/index.js +0 -17
  33. package/lib/commonjs/components/ReorderableListCore/index.js.map +0 -1
  34. package/lib/commonjs/components/ReorderableListCore/useReorderableListCore.js.map +0 -1
  35. package/lib/module/components/ReorderableListCore/ReorderableListCore.js +0 -116
  36. package/lib/module/components/ReorderableListCore/ReorderableListCore.js.map +0 -1
  37. package/lib/module/components/ReorderableListCore/animationDefaults.js +0 -28
  38. package/lib/module/components/ReorderableListCore/animationDefaults.js.map +0 -1
  39. package/lib/module/components/ReorderableListCore/autoscrollConfig.js +0 -25
  40. package/lib/module/components/ReorderableListCore/autoscrollConfig.js.map +0 -1
  41. package/lib/module/components/ReorderableListCore/index.js +0 -2
  42. package/lib/module/components/ReorderableListCore/index.js.map +0 -1
  43. package/lib/module/components/ReorderableListCore/useReorderableListCore.js.map +0 -1
  44. package/lib/typescript/components/ReorderableListCore/ReorderableListCore.d.ts.map +0 -1
  45. package/lib/typescript/components/ReorderableListCore/animationDefaults.d.ts.map +0 -1
  46. package/lib/typescript/components/ReorderableListCore/autoscrollConfig.d.ts +0 -6
  47. package/lib/typescript/components/ReorderableListCore/autoscrollConfig.d.ts.map +0 -1
  48. package/lib/typescript/components/ReorderableListCore/index.d.ts +0 -2
  49. package/lib/typescript/components/ReorderableListCore/index.d.ts.map +0 -1
  50. package/lib/typescript/components/ReorderableListCore/useReorderableListCore.d.ts +0 -183
  51. package/lib/typescript/components/ReorderableListCore/useReorderableListCore.d.ts.map +0 -1
  52. package/src/components/ReorderableListCore/ReorderableListCore.tsx +0 -178
  53. package/src/components/ReorderableListCore/autoscrollConfig.ts +0 -31
  54. package/src/components/ReorderableListCore/index.ts +0 -1
package/README.md CHANGED
@@ -25,7 +25,8 @@ A reorderable list for React Native applications, powered by Reanimated 🚀
25
25
  - [useIsActive](#useisactive)
26
26
  - [Utils](#utils)
27
27
  - [Troubleshooting](#troubleshooting)
28
- - [RefreshControl](#refreshcontrol)
28
+ - [Navigation Gestures](#navigation-gestures)
29
+ - [Refresh Control](#refresh-control)
29
30
  - [Example](#example)
30
31
  - [License](#license)
31
32
 
@@ -66,8 +67,7 @@ This component uses a [FlatList](https://reactnative.dev/docs/flatlist) and it e
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
- | panEnabled | `boolean` | No | `true` | Wether the pan gestures necessary for dragging are enabled. |
70
- | 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. |
70
+ | panGesture | `PanGesture` | No | N/A | Custom instance of pan gesture. See [GestureHandler docs](https://docs.swmansion.com/react-native-gesture-handler) for further info. |
71
71
  | onReorder | `(event: { from: number, to: number }) => void` | Yes | N/A | Event fired after an item is released and the list is reordered. |
72
72
  | 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
73
  | 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. |
@@ -165,15 +165,73 @@ Additionally this hook requires setting `shouldUpdateActiveItem` to true on the
165
165
 
166
166
  ## Troubleshooting
167
167
 
168
- ### RefreshControl
168
+ ### Navigation Gestures
169
169
 
170
- If you want to use RefreshControl with ReorderableList you might encounter some issues on Android, where gestures are conflicting making one or both of the components non responsive. To overcome this issues you can delay the activation of pan gestures necessary for dragging items by using the `panActivateAfterLongPress` prop. This duration should be slightly longer than the long press delay necessary to drag your items. If you're using Pressable the `delayLongPress` is 500 ms by default.
170
+ If you'd like to allow for gesture-based navigation, such as swiping to go back, there are several ways to do it when working with reorderable list. You can delay the activation of pan gestures necessary for dragging items by setting the `activateAfterLongPress` on pan gesture. This duration should be slightly longer than the long press delay necessary to drag your items. If you're using Pressable the `delayLongPress` is 500 ms by default.
171
171
 
172
172
  ```typescript
173
- <ReorderableList
174
- // ...
175
- panActivateAfterLongPress={Platform.OS === 'android' ? 520 : undefined}
176
- />
173
+ import {Gesture} from 'react-native-gesture-handler';
174
+
175
+ const panGesture = useMemo(() => Gesture.Pan().activateAfterLongPress(520), []);
176
+
177
+ return (
178
+ <ReorderableList
179
+ // ...
180
+ panGesture={panGesture}
181
+ />
182
+ );
183
+ ```
184
+
185
+ Another solution is to set a bigger activation offset on the x axis:
186
+
187
+ ```typescript
188
+ import {Gesture} from 'react-native-gesture-handler';
189
+
190
+ // If it doesn't work try with bigger values.
191
+ const panGesture = useMemo(
192
+ () => Gesture.Pan().activeOffsetX([-20, 20]).activeOffsetY(0),
193
+ [],
194
+ );
195
+
196
+ return (
197
+ <ReorderableList
198
+ // ...
199
+ panGesture={panGesture}
200
+ />
201
+ );
202
+ ```
203
+
204
+ One more way is to set a negative hit slop, however keep in mind that this will disable drag starts from the sides of your reorderable items:
205
+
206
+ ```typescript
207
+ import {Gesture} from 'react-native-gesture-handler';
208
+
209
+ // If it doesn't work try with bigger values.
210
+ const panGesture = useMemo(() => Gesture.Pan().hitSlop(-10), []);
211
+
212
+ return (
213
+ <ReorderableList
214
+ // ...
215
+ panGesture={panGesture}
216
+ />
217
+ );
218
+ ```
219
+
220
+ ### Refresh Control
221
+
222
+ If you want to use RefreshControl with ReorderableList you might encounter some issues on Android, where gestures are conflicting making one or both of the components non responsive. To overcome this issues you can delay the activation of pan gestures necessary for dragging items by setting the `activateAfterLongPress` on pan gesture. This duration should be slightly longer than the long press delay necessary to drag your items. If you're using Pressable the `delayLongPress` is 500 ms by default.
223
+
224
+ ```typescript
225
+ import {Gesture} from 'react-native-gesture-handler';
226
+
227
+ const panGesture = useMemo(() => Gesture.Pan().activateAfterLongPress(520), []);
228
+
229
+ return (
230
+ <ReorderableList
231
+ // ...
232
+ panGesture={panGesture}
233
+ />
234
+ );
177
235
  ```
178
236
 
179
237
  If you change `delayLongPress` on your Pressable, update this prop accordingly.
@@ -272,6 +330,8 @@ const Example = () => {
272
330
  data={data}
273
331
  onReorder={handleReorder}
274
332
  renderItem={renderItem}
333
+ // IMPORTANT: Do not use the current index as key.
334
+ // Always use a stable and unique key for each item.
275
335
  keyExtractor={item => item.id}
276
336
  />
277
337
  );
@@ -3,30 +3,31 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.useReorderableListCore = void 0;
6
+ exports.ReorderableListCore = void 0;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
8
  var _reactNative = require("react-native");
9
9
  var _reactNativeGestureHandler = require("react-native-gesture-handler");
10
- var _reactNativeReanimated = require("react-native-reanimated");
11
- var _animationDefaults = require("./animationDefaults");
12
- var _autoscrollConfig = require("./autoscrollConfig");
13
- var _types = require("../../types");
10
+ var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
11
+ var _contexts = require("../contexts");
12
+ var _types = require("../types");
13
+ var _constants = require("./constants");
14
+ var _ReorderableListCell = require("./ReorderableListCell");
14
15
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
15
16
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
16
- const version = _react.default.version.split('.');
17
- const hasAutomaticBatching = version.length ? parseInt(version[0], 10) >= 18 : false;
18
- const useReorderableListCore = ({
19
- ref,
20
- autoscrollThreshold,
17
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
18
+ const AnimatedFlatList = _reactNativeReanimated.default.createAnimatedComponent(_reactNative.FlatList);
19
+ const ReorderableListCore = ({
20
+ autoscrollThreshold = 0.1,
21
21
  autoscrollThresholdOffset,
22
- autoscrollSpeedScale,
23
- autoscrollDelay,
24
- autoscrollActivationDelta,
25
- animationDuration,
22
+ autoscrollSpeedScale = 1,
23
+ autoscrollDelay = _constants.AUTOSCROLL_CONFIG.delay,
24
+ autoscrollActivationDelta = 5,
25
+ animationDuration = 200,
26
+ onLayout,
26
27
  onReorder,
28
+ onScroll,
27
29
  onDragStart,
28
30
  onDragEnd,
29
- onLayout,
30
31
  onIndexChange,
31
32
  scrollViewContainerRef,
32
33
  scrollViewPageY,
@@ -34,13 +35,19 @@ const useReorderableListCore = ({
34
35
  scrollViewScrollOffsetY,
35
36
  scrollViewScrollEnabled,
36
37
  scrollable,
37
- initialScrollEnabled,
38
- initialScrollViewScrollEnabled,
38
+ outerScrollGesture,
39
39
  cellAnimations,
40
40
  shouldUpdateActiveItem,
41
+ panGesture,
42
+ panEnabled = true,
41
43
  panActivateAfterLongPress,
42
- panEnabled
43
- }) => {
44
+ data,
45
+ ...rest
46
+ }, ref) => {
47
+ // FlatList will default to true if we pass explicitly undefined,
48
+ // but internally we would treat it as false, so we force true.
49
+ const initialScrollEnabled = typeof rest.scrollEnabled === 'undefined' ? true : rest.scrollEnabled;
50
+ const initialScrollViewScrollEnabled = typeof rest.initialScrollViewScrollEnabled === 'undefined' ? true : rest.initialScrollViewScrollEnabled;
44
51
  const flatListRef = (0, _reactNativeReanimated.useAnimatedRef)();
45
52
  const [activeIndex, setActiveIndex] = (0, _react.useState)(-1);
46
53
  const scrollEnabled = (0, _reactNativeReanimated.useSharedValue)(initialScrollEnabled);
@@ -63,6 +70,9 @@ const useReorderableListCore = ({
63
70
  const draggedHeight = (0, _reactNativeReanimated.useSharedValue)(0);
64
71
  const itemOffset = (0, _reactNativeReanimated.useSharedValue)([]);
65
72
  const itemHeight = (0, _reactNativeReanimated.useSharedValue)([]);
73
+ // We need to track data length since itemOffset and itemHeight might contain more data than we need.
74
+ // e.g. items are removed from the list, in which case layout data for those items is set to 0.
75
+ const itemCount = (0, _reactNativeReanimated.useSharedValue)(data.length);
66
76
  const autoscrollTrigger = (0, _reactNativeReanimated.useSharedValue)(-1);
67
77
  const lastAutoscrollTrigger = (0, _reactNativeReanimated.useSharedValue)(-1);
68
78
  const dragY = (0, _reactNativeReanimated.useSharedValue)(0);
@@ -77,13 +87,30 @@ const useReorderableListCore = ({
77
87
  const dragDirection = (0, _reactNativeReanimated.useSharedValue)(0);
78
88
  const lastDragDirectionPivot = (0, _reactNativeReanimated.useSharedValue)(null);
79
89
  const autoscrollDelta = (0, _reactNativeReanimated.useSharedValue)(autoscrollActivationDelta);
90
+ const prevItemCount = (0, _react.useRef)(data.length);
80
91
 
81
92
  // Position of the list relative to the scroll container
82
93
  const nestedFlatListPositionY = (0, _reactNativeReanimated.useDerivedValue)(() => flatListPageY.value - ((scrollViewPageY === null || scrollViewPageY === void 0 ? void 0 : scrollViewPageY.value) || 0));
83
94
  (0, _react.useEffect)(() => {
84
95
  duration.value = animationDuration;
85
96
  autoscrollDelta.value = autoscrollActivationDelta;
86
- }, [duration, animationDuration, autoscrollDelta, autoscrollActivationDelta]);
97
+ }, [duration, animationDuration, autoscrollDelta, autoscrollActivationDelta, itemCount]);
98
+ (0, _react.useEffect)(() => {
99
+ itemCount.value = data.length;
100
+
101
+ // This could be done unmount of the removed cell, however it leads to bugs.
102
+ // Surprisingly the unmount gets sometimes called after the onLayout event
103
+ // setting all layout data to 0 and breaking the list. So we solve it like this.
104
+ if (data.length < prevItemCount.current) {
105
+ for (let i = data.length; i < prevItemCount.current; i++) {
106
+ (0, _reactNativeReanimated.runOnUI)(() => {
107
+ itemHeight.value[i] = 0;
108
+ itemOffset.value[i] = 0;
109
+ })();
110
+ }
111
+ }
112
+ prevItemCount.current = data.length;
113
+ }, [data.length, itemHeight, itemOffset, itemCount]);
87
114
  const listContextValue = (0, _react.useMemo)(() => ({
88
115
  draggedHeight,
89
116
  currentIndex,
@@ -135,7 +162,9 @@ const useReorderableListCore = ({
135
162
  currentItemDragCenterY.value = startItemDragCenterY.value + e.translationY;
136
163
  }
137
164
  }, [currentItemDragCenterY, currentIndex, startItemDragCenterY, itemOffset, itemHeight, flatListScrollOffsetY, scrollViewDragScrollTranslationY]);
138
- const panGestureHandler = (0, _react.useMemo)(() => _reactNativeGestureHandler.Gesture.Pan().onBegin(e => {
165
+ const panGestureHandler = (0, _react.useMemo)(() => (panGesture || _reactNativeGestureHandler.Gesture.Pan()).onBegin(e => {
166
+ 'worklet';
167
+
139
168
  // prevent new dragging until item is completely released
140
169
  if (state.value === _types.ReorderableListState.IDLE) {
141
170
  startY.value = e.y;
@@ -145,6 +174,8 @@ const useReorderableListCore = ({
145
174
  gestureState.value = e.state;
146
175
  }
147
176
  }).onUpdate(e => {
177
+ 'worklet';
178
+
148
179
  if (state.value === _types.ReorderableListState.DRAGGED) {
149
180
  setDragDirection(e);
150
181
  }
@@ -155,8 +186,16 @@ const useReorderableListCore = ({
155
186
  dragY.value = e.translationY + dragScrollTranslationY.value + scrollViewDragScrollTranslationY.value;
156
187
  gestureState.value = e.state;
157
188
  }
158
- }).onEnd(e => gestureState.value = e.state).onFinalize(e => gestureState.value = e.state), [state, startY, currentY, currentTranslationY, dragY, gestureState, dragScrollTranslationY, scrollViewDragScrollTranslationY, setDragDirection, setCurrentItemDragCenterY]);
159
- const panGestureHandlerWithOptions = (0, _react.useMemo)(() => {
189
+ }).onEnd(e => {
190
+ 'worklet';
191
+
192
+ gestureState.value = e.state;
193
+ }).onFinalize(e => {
194
+ 'worklet';
195
+
196
+ gestureState.value = e.state;
197
+ }), [panGesture, state, startY, currentY, currentTranslationY, dragY, gestureState, dragScrollTranslationY, scrollViewDragScrollTranslationY, setDragDirection, setCurrentItemDragCenterY]);
198
+ const panGestureHandlerWithPropOptions = (0, _react.useMemo)(() => {
160
199
  if (typeof panActivateAfterLongPress === 'number') {
161
200
  panGestureHandler.activateAfterLongPress(panActivateAfterLongPress);
162
201
  }
@@ -165,7 +204,7 @@ const useReorderableListCore = ({
165
204
  }
166
205
  return panGestureHandler;
167
206
  }, [panActivateAfterLongPress, panEnabled, panGestureHandler]);
168
- const gestureHandler = (0, _react.useMemo)(() => _reactNativeGestureHandler.Gesture.Simultaneous(_reactNativeGestureHandler.Gesture.Native(), panGestureHandlerWithOptions), [panGestureHandlerWithOptions]);
207
+ const gestureHandler = (0, _react.useMemo)(() => _reactNativeGestureHandler.Gesture.Simultaneous(_reactNativeGestureHandler.Gesture.Native(), panGestureHandlerWithPropOptions), [panGestureHandlerWithPropOptions]);
169
208
  const setScrollEnabled = (0, _react.useCallback)(enabled => {
170
209
  // if scroll is enabled on list props then we can toggle it
171
210
  if (initialScrollEnabled) {
@@ -201,17 +240,10 @@ const useReorderableListCore = ({
201
240
  const reorder = (fromIndex, toIndex) => {
202
241
  (0, _reactNativeReanimated.runOnUI)(resetSharedValues)();
203
242
  if (fromIndex !== toIndex) {
204
- const updateState = () => {
205
- onReorder({
206
- from: fromIndex,
207
- to: toIndex
208
- });
209
- };
210
- if (!hasAutomaticBatching) {
211
- (0, _reactNative.unstable_batchedUpdates)(updateState);
212
- } else {
213
- updateState();
214
- }
243
+ onReorder({
244
+ from: fromIndex,
245
+ to: toIndex
246
+ });
215
247
  }
216
248
  };
217
249
  const recomputeLayout = (0, _react.useCallback)((from, to) => {
@@ -249,7 +281,7 @@ const useReorderableListCore = ({
249
281
  const currentOffset = itemOffset.value[currentIndex.value];
250
282
  const currentHeight = itemHeight.value[currentIndex.value];
251
283
  const currentCenter = currentOffset + currentHeight * 0.5;
252
- const max = itemOffset.value.length;
284
+ const max = itemCount.value;
253
285
  const possibleIndex = relativeDragCenterY < currentCenter ? Math.max(0, currentIndex.value - 1) : Math.min(max - 1, currentIndex.value + 1);
254
286
  if (currentIndex.value !== possibleIndex) {
255
287
  let possibleOffset = itemOffset.value[possibleIndex];
@@ -262,7 +294,7 @@ const useReorderableListCore = ({
262
294
  return distanceFromCurrent <= distanceFromPossible ? currentIndex.value : possibleIndex;
263
295
  }
264
296
  return currentIndex.value;
265
- }, [currentIndex, currentItemDragCenterY, itemOffset, itemHeight, flatListScrollOffsetY, scrollViewDragScrollTranslationY]);
297
+ }, [currentIndex, currentItemDragCenterY, itemCount, itemOffset, itemHeight, flatListScrollOffsetY, scrollViewDragScrollTranslationY]);
266
298
  const setCurrentIndex = (0, _react.useCallback)(() => {
267
299
  'worklet';
268
300
 
@@ -280,13 +312,13 @@ const useReorderableListCore = ({
280
312
 
281
313
  // if no custom scale run default
282
314
  if (!(cellAnimations && 'transform' in cellAnimations)) {
283
- const scaleConfig = _animationDefaults.SCALE_ANIMATION_CONFIG_DEFAULT[type];
315
+ const scaleConfig = _constants.SCALE_ANIMATION_CONFIG_DEFAULT[type];
284
316
  scaleDefault.value = (0, _reactNativeReanimated.withTiming)(scaleConfig.toValue, scaleConfig);
285
317
  }
286
318
 
287
319
  // if no custom opacity run the default
288
320
  if (!(cellAnimations && 'opacity' in cellAnimations)) {
289
- const opacityConfig = _animationDefaults.OPACITY_ANIMATION_CONFIG_DEFAULT[type];
321
+ const opacityConfig = _constants.OPACITY_ANIMATION_CONFIG_DEFAULT[type];
290
322
  opacityDefault.value = (0, _reactNativeReanimated.withTiming)(opacityConfig.toValue, opacityConfig);
291
323
  }
292
324
  }, [cellAnimations, scaleDefault, opacityDefault]);
@@ -455,7 +487,7 @@ const useReorderableListCore = ({
455
487
  });
456
488
  (0, _reactNativeReanimated.useAnimatedReaction)(() => autoscrollTrigger.value, () => {
457
489
  if (autoscrollTrigger.value !== lastAutoscrollTrigger.value && state.value === _types.ReorderableListState.AUTOSCROLL) {
458
- const autoscrollIncrement = dragDirection.value * _autoscrollConfig.AUTOSCROLL_CONFIG.increment * autoscrollSpeedScale;
490
+ const autoscrollIncrement = dragDirection.value * _constants.AUTOSCROLL_CONFIG.increment * autoscrollSpeedScale;
459
491
  if (autoscrollIncrement !== 0) {
460
492
  let scrollOffset = flatListScrollOffsetY.value;
461
493
  let listRef = flatListRef;
@@ -556,27 +588,50 @@ const useReorderableListCore = ({
556
588
  }
557
589
  onLayout === null || onLayout === void 0 || onLayout(e);
558
590
  }, [flatListRef, flatListPageY, flatListHeightY, scrollViewScrollOffsetY, onLayout]);
559
- const handleRef = value => {
591
+ const handleRef = (0, _react.useCallback)(value => {
560
592
  flatListRef(value);
561
593
  if (typeof ref === 'function') {
562
594
  ref(value);
563
595
  } else if (ref) {
564
596
  ref.current = value;
565
597
  }
566
- };
567
- return {
568
- gestureHandler,
569
- handleScroll,
570
- handleFlatListLayout,
571
- handleRef,
572
- startDrag,
573
- listContextValue,
574
- itemOffset,
575
- itemHeight,
576
- draggedIndex,
577
- dragY,
578
- duration
579
- };
598
+ }, [flatListRef, ref]);
599
+ const combinedGesture = (0, _react.useMemo)(() => {
600
+ // android is able to handle nested scroll view, but not the full height ones like iOS
601
+ if (outerScrollGesture && !(_reactNative.Platform.OS === 'android' && scrollable)) {
602
+ return _reactNativeGestureHandler.Gesture.Simultaneous(outerScrollGesture, gestureHandler);
603
+ }
604
+ return gestureHandler;
605
+ }, [scrollable, outerScrollGesture, gestureHandler]);
606
+ const composedScrollHandler = (0, _reactNativeReanimated.useComposedEventHandler)([handleScroll, onScroll || null]);
607
+ const renderAnimatedCell = (0, _react.useCallback)(({
608
+ cellKey,
609
+ ...props
610
+ }) => /*#__PURE__*/_react.default.createElement(_ReorderableListCell.ReorderableListCell, _extends({}, props, {
611
+ // forces remount with key change on reorder
612
+ key: `${cellKey}+${props.index}`,
613
+ itemOffset: itemOffset,
614
+ itemHeight: itemHeight,
615
+ dragY: dragY,
616
+ draggedIndex: draggedIndex,
617
+ animationDuration: duration,
618
+ startDrag: startDrag
619
+ })), [itemOffset, itemHeight, dragY, draggedIndex, duration, startDrag]);
620
+ return /*#__PURE__*/_react.default.createElement(_contexts.ReorderableListContext.Provider, {
621
+ value: listContextValue
622
+ }, /*#__PURE__*/_react.default.createElement(_reactNativeGestureHandler.GestureDetector, {
623
+ gesture: combinedGesture
624
+ }, /*#__PURE__*/_react.default.createElement(AnimatedFlatList, _extends({}, rest, {
625
+ ref: handleRef,
626
+ data: data,
627
+ CellRendererComponent: renderAnimatedCell,
628
+ onLayout: handleFlatListLayout,
629
+ onScroll: composedScrollHandler,
630
+ scrollEventThrottle: 1,
631
+ horizontal: false,
632
+ removeClippedSubviews: false,
633
+ numColumns: 1
634
+ }))));
580
635
  };
581
- exports.useReorderableListCore = useReorderableListCore;
582
- //# sourceMappingURL=useReorderableListCore.js.map
636
+ const MemoizedReorderableListCore = exports.ReorderableListCore = /*#__PURE__*/_react.default.memo(/*#__PURE__*/_react.default.forwardRef(ReorderableListCore));
637
+ //# sourceMappingURL=ReorderableListCore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeGestureHandler","_reactNativeReanimated","_contexts","_types","_constants","_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","onLayout","onReorder","onScroll","onDragStart","onDragEnd","onIndexChange","scrollViewContainerRef","scrollViewPageY","scrollViewHeightY","scrollViewScrollOffsetY","scrollViewScrollEnabled","scrollable","outerScrollGesture","cellAnimations","shouldUpdateActiveItem","panGesture","panEnabled","panActivateAfterLongPress","data","rest","ref","initialScrollEnabled","scrollEnabled","initialScrollViewScrollEnabled","flatListRef","useAnimatedRef","activeIndex","setActiveIndex","useState","useSharedValue","gestureState","State","UNDETERMINED","currentY","currentTranslationY","currentItemDragCenterY","startItemDragCenterY","flatListScrollOffsetY","flatListHeightY","flatListPageY","dragScrollTranslationY","dragInitialScrollOffsetY","scrollViewDragScrollTranslationY","scrollViewDragInitialScrollOffsetY","draggedHeight","itemOffset","itemHeight","itemCount","autoscrollTrigger","lastAutoscrollTrigger","dragY","currentIndex","draggedIndex","state","ReorderableListState","IDLE","dragEndHandlers","startY","duration","scaleDefault","opacityDefault","dragDirection","lastDragDirectionPivot","autoscrollDelta","prevItemCount","useRef","nestedFlatListPositionY","useDerivedValue","value","useEffect","current","runOnUI","listContextValue","useMemo","transform","scale","opacity","setDragDirection","useCallback","direction","velocityY","absoluteY","Math","abs","setCurrentItemDragCenterY","itemCenter","itemY","translationY","panGestureHandler","Gesture","Pan","onBegin","y","onUpdate","DRAGGED","RELEASED","onEnd","onFinalize","panGestureHandlerWithPropOptions","activateAfterLongPress","enabled","gestureHandler","Simultaneous","Native","setScrollEnabled","_flatListRef$current","setNativeProps","_scrollViewContainerR","resetSharedValues","resetSharedValuesAfterAnimations","setTimeout","reorder","fromIndex","toIndex","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","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","computeHiddenArea","top","bottom","computeThresholdArea","hiddenArea","offsetTop","offsetBottom","threshold","visibleHeight","area","computeContainerThresholdArea","Infinity","shouldScrollContainer","containerThresholdArea","nestedListHiddenArea","getRelativeContainerY","getRelativeListY","scrollDirection","relativeContainerY","relativeListY","thresholdArea","autoscrollIncrement","increment","scrollOffset","listRef","scrollTo","handleScroll","useAnimatedScrollHandler","contentOffset","withDelay","startDrag","handleFlatListLayout","nativeEvent","layout","height","measurement","measure","pageY","handleRef","combinedGesture","Platform","OS","composedScrollHandler","useComposedEventHandler","renderAnimatedCell","cellKey","props","createElement","ReorderableListCell","key","ReorderableListContext","Provider","GestureDetector","gesture","CellRendererComponent","scrollEventThrottle","horizontal","removeClippedSubviews","numColumns","MemoizedReorderableListCore","exports","React","memo","forwardRef"],"sourceRoot":"../../../src","sources":["components/ReorderableListCore.tsx"],"mappings":"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","ignoreList":[]}
@@ -11,17 +11,25 @@ var _ScrollViewContainerContext = require("../contexts/ScrollViewContainerContex
11
11
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
12
12
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
13
13
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
14
- const ScrollViewContainer = ({
14
+ const ScrollViewContainerWithRef = ({
15
15
  onLayout,
16
16
  onScroll,
17
17
  scrollEnabled = true,
18
18
  ...rest
19
- }) => {
19
+ }, ref) => {
20
20
  const scrollViewScrollEnabled = (0, _reactNativeReanimated.useSharedValue)(scrollEnabled);
21
21
  const scrollViewContainerRef = (0, _reactNativeReanimated.useAnimatedRef)();
22
22
  const scrollViewScrollOffsetY = (0, _reactNativeReanimated.useSharedValue)(0);
23
23
  const scrollViewPageY = (0, _reactNativeReanimated.useSharedValue)(0);
24
24
  const scrollViewHeightY = (0, _reactNativeReanimated.useSharedValue)(0);
25
+ const handleRef = (0, _react.useCallback)(value => {
26
+ scrollViewContainerRef(value);
27
+ if (typeof ref === 'function') {
28
+ ref(value);
29
+ } else if (ref) {
30
+ ref.current = value;
31
+ }
32
+ }, [scrollViewContainerRef, ref]);
25
33
  const outerScrollGesture = (0, _react.useMemo)(() => _reactNativeGestureHandler.Gesture.Native(), []);
26
34
  const handleScroll = (0, _reactNativeReanimated.useAnimatedScrollHandler)(e => {
27
35
  scrollViewScrollOffsetY.value = e.contentOffset.y;
@@ -54,11 +62,11 @@ const ScrollViewContainer = ({
54
62
  }, /*#__PURE__*/_react.default.createElement(_reactNativeGestureHandler.GestureDetector, {
55
63
  gesture: outerScrollGesture
56
64
  }, /*#__PURE__*/_react.default.createElement(_reactNativeReanimated.default.ScrollView, _extends({}, rest, {
57
- ref: scrollViewContainerRef,
65
+ ref: handleRef,
58
66
  onScroll: composedScrollHandler,
59
67
  onLayout: handleLayout,
60
68
  scrollEnabled: scrollEnabled
61
69
  }))));
62
70
  };
63
- exports.ScrollViewContainer = ScrollViewContainer;
71
+ const ScrollViewContainer = exports.ScrollViewContainer = /*#__PURE__*/(0, _react.forwardRef)(ScrollViewContainerWithRef);
64
72
  //# sourceMappingURL=ScrollViewContainer.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNativeGestureHandler","_reactNativeReanimated","_ScrollViewContainerContext","_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","ScrollViewContainer","onLayout","onScroll","scrollEnabled","rest","scrollViewScrollEnabled","useSharedValue","scrollViewContainerRef","useAnimatedRef","scrollViewScrollOffsetY","scrollViewPageY","scrollViewHeightY","outerScrollGesture","useMemo","Gesture","Native","handleScroll","useAnimatedScrollHandler","value","contentOffset","y","composedScrollHandler","useComposedEventHandler","contextValue","initialScrollViewScrollEnabled","handleLayout","useCallback","nativeEvent","layout","height","runOnUI","measurement","measure","pageY","createElement","ScrollViewContainerContext","Provider","GestureDetector","gesture","ScrollView","ref","exports"],"sourceRoot":"../../../src","sources":["components/ScrollViewContainer.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNativeGestureHandler","_reactNativeReanimated","_ScrollViewContainerContext","_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","ScrollViewContainerWithRef","onLayout","onScroll","scrollEnabled","rest","ref","scrollViewScrollEnabled","useSharedValue","scrollViewContainerRef","useAnimatedRef","scrollViewScrollOffsetY","scrollViewPageY","scrollViewHeightY","handleRef","useCallback","value","current","outerScrollGesture","useMemo","Gesture","Native","handleScroll","useAnimatedScrollHandler","contentOffset","y","composedScrollHandler","useComposedEventHandler","contextValue","initialScrollViewScrollEnabled","handleLayout","nativeEvent","layout","height","runOnUI","measurement","measure","pageY","createElement","ScrollViewContainerContext","Provider","GestureDetector","gesture","ScrollView","ScrollViewContainer","exports","forwardRef"],"sourceRoot":"../../../src","sources":["components/ScrollViewContainer.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAGA,IAAAC,0BAAA,GAAAD,OAAA;AACA,IAAAE,sBAAA,GAAAH,uBAAA,CAAAC,OAAA;AASA,IAAAG,2BAAA,GAAAH,OAAA;AAAkF,SAAAI,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAN,wBAAAM,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAW,SAAA,WAAAA,QAAA,GAAAR,MAAA,CAAAS,MAAA,GAAAT,MAAA,CAAAS,MAAA,CAAAC,IAAA,eAAAb,CAAA,aAAAR,CAAA,MAAAA,CAAA,GAAAsB,SAAA,CAAAC,MAAA,EAAAvB,CAAA,UAAAG,CAAA,GAAAmB,SAAA,CAAAtB,CAAA,YAAAE,CAAA,IAAAC,CAAA,OAAAY,cAAA,CAAAC,IAAA,CAAAb,CAAA,EAAAD,CAAA,MAAAM,CAAA,CAAAN,CAAA,IAAAC,CAAA,CAAAD,CAAA,aAAAM,CAAA,KAAAW,QAAA,CAAAK,KAAA,OAAAF,SAAA;AAGlF,MAAMG,0BAA0B,GAAGA,CACjC;EAACC,QAAQ;EAAEC,QAAQ;EAAEC,aAAa,GAAG,IAAI;EAAE,GAAGC;AAA8B,CAAC,EAC7EC,GAAmC,KAChC;EACH,MAAMC,uBAAuB,GAAG,IAAAC,qCAAc,EAACJ,aAAa,CAAC;EAC7D,MAAMK,sBAAsB,GAAG,IAAAC,qCAAc,EAAsB,CAAC;EACpE,MAAMC,uBAAuB,GAAG,IAAAH,qCAAc,EAAC,CAAC,CAAC;EACjD,MAAMI,eAAe,GAAG,IAAAJ,qCAAc,EAAC,CAAC,CAAC;EACzC,MAAMK,iBAAiB,GAAG,IAAAL,qCAAc,EAAC,CAAC,CAAC;EAE3C,MAAMM,SAAS,GAAG,IAAAC,kBAAW,EAC1BC,KAA0B,IAAK;IAC9BP,sBAAsB,CAACO,KAAK,CAAC;IAE7B,IAAI,OAAOV,GAAG,KAAK,UAAU,EAAE;MAC7BA,GAAG,CAACU,KAAK,CAAC;IACZ,CAAC,MAAM,IAAIV,GAAG,EAAE;MACdA,GAAG,CAACW,OAAO,GAAGD,KAAK;IACrB;EACF,CAAC,EACD,CAACP,sBAAsB,EAAEH,GAAG,CAC9B,CAAC;EAED,MAAMY,kBAAkB,GAAG,IAAAC,cAAO,EAAC,MAAMC,kCAAO,CAACC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC;EAE9D,MAAMC,YAAY,GAAG,IAAAC,+CAAwB,EAC3C/C,CAAC,IAAI;IACHmC,uBAAuB,CAACK,KAAK,GAAGxC,CAAC,CAACgD,aAAa,CAACC,CAAC;EACnD,CAAC,EACD,CAACd,uBAAuB,CAC1B,CAAC;EAED,MAAMe,qBAAqB,GAAG,IAAAC,8CAAuB,EAAC,CACpDL,YAAY,EACZnB,QAAQ,IAAI,IAAI,CACjB,CAAC;EAEF,MAAMyB,YAAY,GAAG,IAAAT,cAAO,EAC1B,OAAO;IACLV,sBAAsB;IACtBG,eAAe;IACfC,iBAAiB;IACjBF,uBAAuB;IACvBJ,uBAAuB;IACvBW,kBAAkB;IAClBW,8BAA8B,EAAEzB;EAClC,CAAC,CAAC,EACF,CACEK,sBAAsB,EACtBG,eAAe,EACfC,iBAAiB,EACjBF,uBAAuB,EACvBJ,uBAAuB,EACvBW,kBAAkB,EAClBd,aAAa,CAEjB,CAAC;EAED,MAAM0B,YAAY,GAAG,IAAAf,kBAAW,EAC7BvC,CAAoB,IAAK;IACxBqC,iBAAiB,CAACG,KAAK,GAAGxC,CAAC,CAACuD,WAAW,CAACC,MAAM,CAACC,MAAM;;IAErD;IACA,IAAAC,8BAAO,EAAC,MAAM;MACZ,MAAMC,WAAW,GAAG,IAAAC,8BAAO,EAAC3B,sBAAsB,CAAC;MACnD,IAAI,CAAC0B,WAAW,EAAE;QAChB;MACF;MAEAvB,eAAe,CAACI,KAAK,GAAGmB,WAAW,CAACE,KAAK;IAC3C,CAAC,CAAC,CAAC,CAAC;IAEJnC,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAG1B,CAAC,CAAC;EACf,CAAC,EACD,CAAC0B,QAAQ,EAAEO,sBAAsB,EAAEI,iBAAiB,EAAED,eAAe,CACvE,CAAC;EAED,oBACE3C,MAAA,CAAAY,OAAA,CAAAyD,aAAA,CAAChE,2BAAA,CAAAiE,0BAA0B,CAACC,QAAQ;IAACxB,KAAK,EAAEY;EAAa,gBACvD3D,MAAA,CAAAY,OAAA,CAAAyD,aAAA,CAAClE,0BAAA,CAAAqE,eAAe;IAACC,OAAO,EAAExB;EAAmB,gBAC3CjD,MAAA,CAAAY,OAAA,CAAAyD,aAAA,CAACjE,sBAAA,CAAAQ,OAAQ,CAAC8D,UAAU,EAAAhD,QAAA,KACdU,IAAI;IACRC,GAAG,EAAEQ,SAAU;IACfX,QAAQ,EAAEuB,qBAAsB;IAChCxB,QAAQ,EAAE4B,YAAa;IACvB1B,aAAa,EAAEA;EAAc,EAC9B,CACc,CACkB,CAAC;AAE1C,CAAC;AAEM,MAAMwC,mBAAmB,GAAAC,OAAA,CAAAD,mBAAA,gBAAG,IAAAE,iBAAU,EAAC7C,0BAA0B,CAAC","ignoreList":[]}
@@ -3,8 +3,32 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.SCALE_ANIMATION_CONFIG_DEFAULT = exports.OPACITY_ANIMATION_CONFIG_DEFAULT = void 0;
6
+ exports.SCALE_ANIMATION_CONFIG_DEFAULT = exports.OPACITY_ANIMATION_CONFIG_DEFAULT = exports.IS_FABRIC = exports.AUTOSCROLL_CONFIG = void 0;
7
+ var _reactNative = require("react-native");
7
8
  var _reactNativeReanimated = require("react-native-reanimated");
9
+ const IOS_AUTOSCROLL_CONFIG = {
10
+ delay: 80,
11
+ increment: 100
12
+ };
13
+ const ANDROID_FABRIC_AUTOSCROLL_CONFIG = {
14
+ delay: 50,
15
+ increment: 80
16
+ };
17
+ const ANDROID_PAPER_AUTOSCROLL_CONFIG = {
18
+ delay: 10,
19
+ increment: 4
20
+ };
21
+ const IS_FABRIC = exports.IS_FABRIC = global && typeof global === 'object' && 'nativeFabricUIManager' in global;
22
+ const AUTOSCROLL_CONFIG = exports.AUTOSCROLL_CONFIG = _reactNative.Platform.select({
23
+ // autoscroll behaves differently with Fabric and Paper on Android
24
+ android: IS_FABRIC ? ANDROID_FABRIC_AUTOSCROLL_CONFIG : ANDROID_PAPER_AUTOSCROLL_CONFIG,
25
+ ios: IOS_AUTOSCROLL_CONFIG,
26
+ // unsupported platforms
27
+ web: IOS_AUTOSCROLL_CONFIG,
28
+ macos: IOS_AUTOSCROLL_CONFIG,
29
+ windows: IOS_AUTOSCROLL_CONFIG,
30
+ native: IOS_AUTOSCROLL_CONFIG
31
+ });
8
32
  const DURATION_START = 150;
9
33
  const DURATION_END = 200;
10
34
  const SCALE_ANIMATION_CONFIG_DEFAULT = exports.SCALE_ANIMATION_CONFIG_DEFAULT = {
@@ -31,4 +55,4 @@ const OPACITY_ANIMATION_CONFIG_DEFAULT = exports.OPACITY_ANIMATION_CONFIG_DEFAUL
31
55
  duration: DURATION_END
32
56
  }
33
57
  };
34
- //# sourceMappingURL=animationDefaults.js.map
58
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","_reactNativeReanimated","IOS_AUTOSCROLL_CONFIG","delay","increment","ANDROID_FABRIC_AUTOSCROLL_CONFIG","ANDROID_PAPER_AUTOSCROLL_CONFIG","IS_FABRIC","exports","global","AUTOSCROLL_CONFIG","Platform","select","android","ios","web","macos","windows","native","DURATION_START","DURATION_END","SCALE_ANIMATION_CONFIG_DEFAULT","start","toValue","easing","Easing","in","ease","duration","end","out","OPACITY_ANIMATION_CONFIG_DEFAULT"],"sourceRoot":"../../../src","sources":["components/constants.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,IAAAC,sBAAA,GAAAD,OAAA;AAEA,MAAME,qBAAqB,GAAG;EAC5BC,KAAK,EAAE,EAAE;EACTC,SAAS,EAAE;AACb,CAAC;AAED,MAAMC,gCAAgC,GAAG;EACvCF,KAAK,EAAE,EAAE;EACTC,SAAS,EAAE;AACb,CAAC;AAED,MAAME,+BAA+B,GAAG;EACtCH,KAAK,EAAE,EAAE;EACTC,SAAS,EAAE;AACb,CAAC;AAEM,MAAMG,SAAS,GAAAC,OAAA,CAAAD,SAAA,GACpBE,MAAM,IAAI,OAAOA,MAAM,KAAK,QAAQ,IAAI,uBAAuB,IAAIA,MAAM;AAEpE,MAAMC,iBAAiB,GAAAF,OAAA,CAAAE,iBAAA,GAAGC,qBAAQ,CAACC,MAAM,CAAC;EAC/C;EACAC,OAAO,EAAEN,SAAS,GACdF,gCAAgC,GAChCC,+BAA+B;EACnCQ,GAAG,EAAEZ,qBAAqB;EAE1B;EACAa,GAAG,EAAEb,qBAAqB;EAC1Bc,KAAK,EAAEd,qBAAqB;EAC5Be,OAAO,EAAEf,qBAAqB;EAC9BgB,MAAM,EAAEhB;AACV,CAAC,CAAC;AAEF,MAAMiB,cAAc,GAAG,GAAG;AAC1B,MAAMC,YAAY,GAAG,GAAG;AAOjB,MAAMC,8BAA+C,GAAAb,OAAA,CAAAa,8BAAA,GAAG;EAC7DC,KAAK,EAAE;IACLC,OAAO,EAAE,KAAK;IACdC,MAAM,EAAEC,6BAAM,CAACC,EAAE,CAACD,6BAAM,CAACE,IAAI,CAAC;IAC9BC,QAAQ,EAAET;EACZ,CAAC;EACDU,GAAG,EAAE;IACHN,OAAO,EAAE,CAAC;IACVC,MAAM,EAAEC,6BAAM,CAACK,GAAG,CAACL,6BAAM,CAACE,IAAI,CAAC;IAC/BC,QAAQ,EAAER;EACZ;AACF,CAAC;AAEM,MAAMW,gCAAiD,GAAAvB,OAAA,CAAAuB,gCAAA,GAAG;EAC/DT,KAAK,EAAE;IACLC,OAAO,EAAE,IAAI;IACbC,MAAM,EAAEC,6BAAM,CAACC,EAAE,CAACD,6BAAM,CAACE,IAAI,CAAC;IAC9BC,QAAQ,EAAET;EACZ,CAAC;EACDU,GAAG,EAAE;IACHN,OAAO,EAAE,CAAC;IACVC,MAAM,EAAEC,6BAAM,CAACK,GAAG,CAACL,6BAAM,CAACE,IAAI,CAAC;IAC/BC,QAAQ,EAAER;EACZ;AACF,CAAC","ignoreList":[]}