react-native-reorderable-list 0.13.1 → 0.14.1
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 +69 -9
- package/lib/commonjs/components/{ReorderableListCore/useReorderableListCore.js → ReorderableListCore.js} +117 -58
- package/lib/commonjs/components/ReorderableListCore.js.map +1 -0
- package/lib/commonjs/components/ScrollViewContainer.js +12 -4
- package/lib/commonjs/components/ScrollViewContainer.js.map +1 -1
- package/lib/commonjs/components/{ReorderableListCore/animationDefaults.js → constants.js} +26 -2
- package/lib/commonjs/components/constants.js.map +1 -0
- package/lib/module/components/{ReorderableListCore/useReorderableListCore.js → ReorderableListCore.js} +117 -56
- package/lib/module/components/ReorderableListCore.js.map +1 -0
- package/lib/module/components/ScrollViewContainer.js +13 -4
- package/lib/module/components/ScrollViewContainer.js.map +1 -1
- package/lib/module/components/constants.js +52 -0
- package/lib/module/components/constants.js.map +1 -0
- package/lib/typescript/components/{ReorderableListCore/ReorderableListCore.d.ts → ReorderableListCore.d.ts} +1 -1
- package/lib/typescript/components/ReorderableListCore.d.ts.map +1 -0
- package/lib/typescript/components/ScrollViewContainer.d.ts +2 -1
- package/lib/typescript/components/ScrollViewContainer.d.ts.map +1 -1
- package/lib/typescript/components/{ReorderableListCore/animationDefaults.d.ts → constants.d.ts} +6 -1
- package/lib/typescript/components/constants.d.ts.map +1 -0
- package/lib/typescript/types/props.d.ts +9 -0
- package/lib/typescript/types/props.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/{ReorderableListCore/useReorderableListCore.ts → ReorderableListCore.tsx} +189 -100
- package/src/components/ScrollViewContainer.tsx +22 -9
- package/src/components/{ReorderableListCore/animationDefaults.ts → constants.ts} +34 -0
- package/src/types/props.ts +9 -0
- package/lib/commonjs/components/ReorderableListCore/ReorderableListCore.js +0 -123
- package/lib/commonjs/components/ReorderableListCore/ReorderableListCore.js.map +0 -1
- package/lib/commonjs/components/ReorderableListCore/animationDefaults.js.map +0 -1
- package/lib/commonjs/components/ReorderableListCore/autoscrollConfig.js +0 -31
- package/lib/commonjs/components/ReorderableListCore/autoscrollConfig.js.map +0 -1
- package/lib/commonjs/components/ReorderableListCore/index.js +0 -17
- package/lib/commonjs/components/ReorderableListCore/index.js.map +0 -1
- package/lib/commonjs/components/ReorderableListCore/useReorderableListCore.js.map +0 -1
- package/lib/module/components/ReorderableListCore/ReorderableListCore.js +0 -116
- package/lib/module/components/ReorderableListCore/ReorderableListCore.js.map +0 -1
- package/lib/module/components/ReorderableListCore/animationDefaults.js +0 -28
- package/lib/module/components/ReorderableListCore/animationDefaults.js.map +0 -1
- package/lib/module/components/ReorderableListCore/autoscrollConfig.js +0 -25
- package/lib/module/components/ReorderableListCore/autoscrollConfig.js.map +0 -1
- package/lib/module/components/ReorderableListCore/index.js +0 -2
- package/lib/module/components/ReorderableListCore/index.js.map +0 -1
- package/lib/module/components/ReorderableListCore/useReorderableListCore.js.map +0 -1
- package/lib/typescript/components/ReorderableListCore/ReorderableListCore.d.ts.map +0 -1
- package/lib/typescript/components/ReorderableListCore/animationDefaults.d.ts.map +0 -1
- package/lib/typescript/components/ReorderableListCore/autoscrollConfig.d.ts +0 -6
- package/lib/typescript/components/ReorderableListCore/autoscrollConfig.d.ts.map +0 -1
- package/lib/typescript/components/ReorderableListCore/index.d.ts +0 -2
- package/lib/typescript/components/ReorderableListCore/index.d.ts.map +0 -1
- package/lib/typescript/components/ReorderableListCore/useReorderableListCore.d.ts +0 -183
- package/lib/typescript/components/ReorderableListCore/useReorderableListCore.d.ts.map +0 -1
- package/src/components/ReorderableListCore/ReorderableListCore.tsx +0 -178
- package/src/components/ReorderableListCore/autoscrollConfig.ts +0 -31
- 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
|
-
- [
|
|
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
|
-
|
|
|
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
|
-
###
|
|
168
|
+
### Navigation Gestures
|
|
169
169
|
|
|
170
|
-
If you
|
|
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
|
-
|
|
174
|
-
|
|
175
|
-
|
|
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.
|
|
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
|
|
12
|
-
var
|
|
13
|
-
var
|
|
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
|
-
|
|
17
|
-
const
|
|
18
|
-
const
|
|
19
|
-
|
|
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
|
-
|
|
38
|
-
initialScrollViewScrollEnabled,
|
|
38
|
+
outerScrollGesture,
|
|
39
39
|
cellAnimations,
|
|
40
40
|
shouldUpdateActiveItem,
|
|
41
|
+
panGesture,
|
|
42
|
+
panEnabled = true,
|
|
41
43
|
panActivateAfterLongPress,
|
|
42
|
-
|
|
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 =>
|
|
159
|
-
|
|
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(),
|
|
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
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 *
|
|
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;
|
|
@@ -550,33 +582,60 @@ const useReorderableListCore = ({
|
|
|
550
582
|
if (!measurement) {
|
|
551
583
|
return;
|
|
552
584
|
}
|
|
553
|
-
|
|
585
|
+
|
|
586
|
+
// We need to use pageY because the list might be nested into other views,
|
|
587
|
+
// It's important that we take the measurement of the list without any scroll offset
|
|
588
|
+
// from the scroll container.
|
|
589
|
+
flatListPageY.value = measurement.pageY + ((scrollViewScrollOffsetY === null || scrollViewScrollOffsetY === void 0 ? void 0 : scrollViewScrollOffsetY.value) || 0);
|
|
554
590
|
})();
|
|
555
591
|
}, 100);
|
|
556
592
|
}
|
|
557
593
|
onLayout === null || onLayout === void 0 || onLayout(e);
|
|
558
594
|
}, [flatListRef, flatListPageY, flatListHeightY, scrollViewScrollOffsetY, onLayout]);
|
|
559
|
-
const handleRef = value => {
|
|
595
|
+
const handleRef = (0, _react.useCallback)(value => {
|
|
560
596
|
flatListRef(value);
|
|
561
597
|
if (typeof ref === 'function') {
|
|
562
598
|
ref(value);
|
|
563
599
|
} else if (ref) {
|
|
564
600
|
ref.current = value;
|
|
565
601
|
}
|
|
566
|
-
};
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
602
|
+
}, [flatListRef, ref]);
|
|
603
|
+
const combinedGesture = (0, _react.useMemo)(() => {
|
|
604
|
+
// android is able to handle nested scroll view, but not the full height ones like iOS
|
|
605
|
+
if (outerScrollGesture && !(_reactNative.Platform.OS === 'android' && scrollable)) {
|
|
606
|
+
return _reactNativeGestureHandler.Gesture.Simultaneous(outerScrollGesture, gestureHandler);
|
|
607
|
+
}
|
|
608
|
+
return gestureHandler;
|
|
609
|
+
}, [scrollable, outerScrollGesture, gestureHandler]);
|
|
610
|
+
const composedScrollHandler = (0, _reactNativeReanimated.useComposedEventHandler)([handleScroll, onScroll || null]);
|
|
611
|
+
const renderAnimatedCell = (0, _react.useCallback)(({
|
|
612
|
+
cellKey,
|
|
613
|
+
...props
|
|
614
|
+
}) => /*#__PURE__*/_react.default.createElement(_ReorderableListCell.ReorderableListCell, _extends({}, props, {
|
|
615
|
+
// forces remount with key change on reorder
|
|
616
|
+
key: `${cellKey}+${props.index}`,
|
|
617
|
+
itemOffset: itemOffset,
|
|
618
|
+
itemHeight: itemHeight,
|
|
619
|
+
dragY: dragY,
|
|
620
|
+
draggedIndex: draggedIndex,
|
|
621
|
+
animationDuration: duration,
|
|
622
|
+
startDrag: startDrag
|
|
623
|
+
})), [itemOffset, itemHeight, dragY, draggedIndex, duration, startDrag]);
|
|
624
|
+
return /*#__PURE__*/_react.default.createElement(_contexts.ReorderableListContext.Provider, {
|
|
625
|
+
value: listContextValue
|
|
626
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNativeGestureHandler.GestureDetector, {
|
|
627
|
+
gesture: combinedGesture
|
|
628
|
+
}, /*#__PURE__*/_react.default.createElement(AnimatedFlatList, _extends({}, rest, {
|
|
629
|
+
ref: handleRef,
|
|
630
|
+
data: data,
|
|
631
|
+
CellRendererComponent: renderAnimatedCell,
|
|
632
|
+
onLayout: handleFlatListLayout,
|
|
633
|
+
onScroll: composedScrollHandler,
|
|
634
|
+
scrollEventThrottle: 1,
|
|
635
|
+
horizontal: false,
|
|
636
|
+
removeClippedSubviews: false,
|
|
637
|
+
numColumns: 1
|
|
638
|
+
}))));
|
|
580
639
|
};
|
|
581
|
-
exports.
|
|
582
|
-
//# sourceMappingURL=
|
|
640
|
+
const MemoizedReorderableListCore = exports.ReorderableListCore = /*#__PURE__*/_react.default.memo(/*#__PURE__*/_react.default.forwardRef(ReorderableListCore));
|
|
641
|
+
//# 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
|
|
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:
|
|
65
|
+
ref: handleRef,
|
|
58
66
|
onScroll: composedScrollHandler,
|
|
59
67
|
onLayout: handleLayout,
|
|
60
68
|
scrollEnabled: scrollEnabled
|
|
61
69
|
}))));
|
|
62
70
|
};
|
|
63
|
-
exports.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","
|
|
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":"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","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=
|
|
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":[]}
|