react-native-drawer-layout 4.0.0-alpha.6 → 4.0.0-alpha.8
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/lib/commonjs/utils/getDrawerWidth.js +41 -0
- package/lib/commonjs/utils/getDrawerWidth.js.map +1 -0
- package/lib/commonjs/utils/useDrawerProgress.js.map +1 -1
- package/lib/commonjs/utils/useFakeSharedValue.js +46 -0
- package/lib/commonjs/utils/useFakeSharedValue.js.map +1 -0
- package/lib/commonjs/views/Drawer.js +51 -283
- package/lib/commonjs/views/Drawer.js.map +1 -1
- package/lib/commonjs/views/Drawer.native.js +313 -0
- package/lib/commonjs/views/Drawer.native.js.map +1 -0
- package/lib/commonjs/views/Overlay.js +22 -39
- package/lib/commonjs/views/Overlay.js.map +1 -1
- package/lib/commonjs/views/Overlay.native.js +58 -0
- package/lib/commonjs/views/Overlay.native.js.map +1 -0
- package/lib/module/utils/getDrawerWidth.js +35 -0
- package/lib/module/utils/getDrawerWidth.js.map +1 -0
- package/lib/module/utils/useDrawerProgress.js.map +1 -1
- package/lib/module/utils/useFakeSharedValue.js +38 -0
- package/lib/module/utils/useFakeSharedValue.js.map +1 -0
- package/lib/module/views/Drawer.js +52 -282
- package/lib/module/views/Drawer.js.map +1 -1
- package/lib/module/views/Drawer.native.js +304 -0
- package/lib/module/views/Drawer.native.js.map +1 -0
- package/lib/module/views/Overlay.js +22 -39
- package/lib/module/views/Overlay.js.map +1 -1
- package/lib/module/views/Overlay.native.js +50 -0
- package/lib/module/views/Overlay.native.js.map +1 -0
- package/lib/typescript/src/types.d.ts +9 -2
- package/lib/typescript/src/types.d.ts.map +1 -1
- package/lib/typescript/src/utils/DrawerProgressContext.d.ts +2 -2
- package/lib/typescript/src/utils/DrawerProgressContext.d.ts.map +1 -1
- package/lib/typescript/src/utils/getDrawerWidth.d.ts +9 -0
- package/lib/typescript/src/utils/getDrawerWidth.d.ts.map +1 -0
- package/lib/typescript/src/utils/useDrawerProgress.d.ts +2 -2
- package/lib/typescript/src/utils/useDrawerProgress.d.ts.map +1 -1
- package/lib/typescript/src/utils/useFakeSharedValue.d.ts +17 -0
- package/lib/typescript/src/utils/useFakeSharedValue.d.ts.map +1 -0
- package/lib/typescript/src/views/Drawer.d.ts +1 -6
- package/lib/typescript/src/views/Drawer.d.ts.map +1 -1
- package/lib/typescript/src/views/Drawer.native.d.ts +4 -0
- package/lib/typescript/src/views/Drawer.native.d.ts.map +1 -0
- package/lib/typescript/src/views/Overlay.d.ts +2 -204
- package/lib/typescript/src/views/Overlay.d.ts.map +1 -1
- package/lib/typescript/src/views/Overlay.native.d.ts +4 -0
- package/lib/typescript/src/views/Overlay.native.d.ts.map +1 -0
- package/package.json +2 -2
- package/src/types.tsx +10 -1
- package/src/utils/DrawerProgressContext.tsx +2 -2
- package/src/utils/getDrawerWidth.tsx +39 -0
- package/src/utils/useDrawerProgress.tsx +2 -2
- package/src/utils/useFakeSharedValue.tsx +49 -0
- package/src/views/Drawer.native.tsx +450 -0
- package/src/views/Drawer.tsx +102 -434
- package/src/views/Overlay.native.tsx +63 -0
- package/src/views/Overlay.tsx +26 -59
|
@@ -0,0 +1,313 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.Drawer = Drawer;
|
|
7
|
+
var React = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
|
|
10
|
+
var _useLatestCallback = _interopRequireDefault(require("use-latest-callback"));
|
|
11
|
+
var _DrawerProgressContext = require("../utils/DrawerProgressContext");
|
|
12
|
+
var _getDrawerWidth = require("../utils/getDrawerWidth");
|
|
13
|
+
var _GestureHandler = require("./GestureHandler");
|
|
14
|
+
var _Overlay = require("./Overlay");
|
|
15
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
16
|
+
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); }
|
|
17
|
+
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 && Object.prototype.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; }
|
|
18
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
19
|
+
const SWIPE_EDGE_WIDTH = 32;
|
|
20
|
+
const SWIPE_MIN_OFFSET = 5;
|
|
21
|
+
const SWIPE_MIN_DISTANCE = 60;
|
|
22
|
+
const SWIPE_MIN_VELOCITY = 500;
|
|
23
|
+
const minmax = (value, start, end) => {
|
|
24
|
+
'worklet';
|
|
25
|
+
|
|
26
|
+
return Math.min(Math.max(value, start), end);
|
|
27
|
+
};
|
|
28
|
+
function Drawer(_ref) {
|
|
29
|
+
let {
|
|
30
|
+
layout: customLayout,
|
|
31
|
+
drawerPosition = _reactNative.I18nManager.getConstants().isRTL ? 'right' : 'left',
|
|
32
|
+
drawerStyle,
|
|
33
|
+
drawerType = 'front',
|
|
34
|
+
gestureHandlerProps,
|
|
35
|
+
hideStatusBarOnOpen = false,
|
|
36
|
+
keyboardDismissMode = 'on-drag',
|
|
37
|
+
onClose,
|
|
38
|
+
onOpen,
|
|
39
|
+
onGestureStart,
|
|
40
|
+
onGestureCancel,
|
|
41
|
+
onGestureEnd,
|
|
42
|
+
onTransitionStart,
|
|
43
|
+
onTransitionEnd,
|
|
44
|
+
open,
|
|
45
|
+
overlayStyle,
|
|
46
|
+
overlayAccessibilityLabel,
|
|
47
|
+
statusBarAnimation = 'slide',
|
|
48
|
+
swipeEnabled = _reactNative.Platform.OS !== 'web' && _reactNative.Platform.OS !== 'windows' && _reactNative.Platform.OS !== 'macos',
|
|
49
|
+
swipeEdgeWidth = SWIPE_EDGE_WIDTH,
|
|
50
|
+
swipeMinDistance = SWIPE_MIN_DISTANCE,
|
|
51
|
+
swipeMinVelocity = SWIPE_MIN_VELOCITY,
|
|
52
|
+
renderDrawerContent,
|
|
53
|
+
children,
|
|
54
|
+
style
|
|
55
|
+
} = _ref;
|
|
56
|
+
const windowDimensions = (0, _reactNative.useWindowDimensions)();
|
|
57
|
+
const layout = customLayout ?? windowDimensions;
|
|
58
|
+
const drawerWidth = (0, _getDrawerWidth.getDrawerWidth)({
|
|
59
|
+
layout,
|
|
60
|
+
drawerStyle
|
|
61
|
+
});
|
|
62
|
+
const isOpen = drawerType === 'permanent' ? true : open;
|
|
63
|
+
const isRight = drawerPosition === 'right';
|
|
64
|
+
const getDrawerTranslationX = React.useCallback(open => {
|
|
65
|
+
'worklet';
|
|
66
|
+
|
|
67
|
+
if (drawerPosition === 'left') {
|
|
68
|
+
return open ? 0 : -drawerWidth;
|
|
69
|
+
}
|
|
70
|
+
return open ? 0 : drawerWidth;
|
|
71
|
+
}, [drawerPosition, drawerWidth]);
|
|
72
|
+
const hideStatusBar = React.useCallback(hide => {
|
|
73
|
+
if (hideStatusBarOnOpen) {
|
|
74
|
+
_reactNative.StatusBar.setHidden(hide, statusBarAnimation);
|
|
75
|
+
}
|
|
76
|
+
}, [hideStatusBarOnOpen, statusBarAnimation]);
|
|
77
|
+
React.useEffect(() => {
|
|
78
|
+
hideStatusBar(isOpen);
|
|
79
|
+
return () => hideStatusBar(false);
|
|
80
|
+
}, [isOpen, hideStatusBarOnOpen, statusBarAnimation, hideStatusBar]);
|
|
81
|
+
const interactionHandleRef = React.useRef(null);
|
|
82
|
+
const startInteraction = () => {
|
|
83
|
+
interactionHandleRef.current = _reactNative.InteractionManager.createInteractionHandle();
|
|
84
|
+
};
|
|
85
|
+
const endInteraction = () => {
|
|
86
|
+
if (interactionHandleRef.current != null) {
|
|
87
|
+
_reactNative.InteractionManager.clearInteractionHandle(interactionHandleRef.current);
|
|
88
|
+
interactionHandleRef.current = null;
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
const hideKeyboard = () => {
|
|
92
|
+
if (keyboardDismissMode === 'on-drag') {
|
|
93
|
+
_reactNative.Keyboard.dismiss();
|
|
94
|
+
}
|
|
95
|
+
};
|
|
96
|
+
const onGestureBegin = () => {
|
|
97
|
+
onGestureStart?.();
|
|
98
|
+
startInteraction();
|
|
99
|
+
hideKeyboard();
|
|
100
|
+
hideStatusBar(true);
|
|
101
|
+
};
|
|
102
|
+
const onGestureFinish = () => {
|
|
103
|
+
onGestureEnd?.();
|
|
104
|
+
endInteraction();
|
|
105
|
+
};
|
|
106
|
+
const onGestureAbort = () => {
|
|
107
|
+
onGestureCancel?.();
|
|
108
|
+
endInteraction();
|
|
109
|
+
};
|
|
110
|
+
|
|
111
|
+
// FIXME: Currently hitSlop is broken when on Android when drawer is on right
|
|
112
|
+
// https://github.com/software-mansion/react-native-gesture-handler/issues/569
|
|
113
|
+
const hitSlop = isRight ?
|
|
114
|
+
// Extend hitSlop to the side of the screen when drawer is closed
|
|
115
|
+
// This lets the user drag the drawer from the side of the screen
|
|
116
|
+
{
|
|
117
|
+
right: 0,
|
|
118
|
+
width: isOpen ? undefined : swipeEdgeWidth
|
|
119
|
+
} : {
|
|
120
|
+
left: 0,
|
|
121
|
+
width: isOpen ? undefined : swipeEdgeWidth
|
|
122
|
+
};
|
|
123
|
+
const touchStartX = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
124
|
+
const touchX = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
125
|
+
const translationX = (0, _reactNativeReanimated.useSharedValue)(getDrawerTranslationX(open));
|
|
126
|
+
const gestureState = (0, _reactNativeReanimated.useSharedValue)(_GestureHandler.GestureState.UNDETERMINED);
|
|
127
|
+
const handleAnimationStart = (0, _useLatestCallback.default)(open => {
|
|
128
|
+
onTransitionStart?.(!open);
|
|
129
|
+
});
|
|
130
|
+
const handleAnimationEnd = (0, _useLatestCallback.default)((open, finished) => {
|
|
131
|
+
if (!finished) return;
|
|
132
|
+
onTransitionEnd?.(!open);
|
|
133
|
+
});
|
|
134
|
+
const toggleDrawer = React.useCallback((open, velocity) => {
|
|
135
|
+
'worklet';
|
|
136
|
+
|
|
137
|
+
const translateX = getDrawerTranslationX(open);
|
|
138
|
+
if (velocity === undefined) {
|
|
139
|
+
(0, _reactNativeReanimated.runOnJS)(handleAnimationStart)(open);
|
|
140
|
+
}
|
|
141
|
+
touchStartX.value = 0;
|
|
142
|
+
touchX.value = 0;
|
|
143
|
+
translationX.value = (0, _reactNativeReanimated.withSpring)(translateX, {
|
|
144
|
+
velocity,
|
|
145
|
+
stiffness: 1000,
|
|
146
|
+
damping: 500,
|
|
147
|
+
mass: 3,
|
|
148
|
+
overshootClamping: true,
|
|
149
|
+
restDisplacementThreshold: 0.01,
|
|
150
|
+
restSpeedThreshold: 0.01
|
|
151
|
+
}, finished => (0, _reactNativeReanimated.runOnJS)(handleAnimationEnd)(open, finished));
|
|
152
|
+
if (open) {
|
|
153
|
+
(0, _reactNativeReanimated.runOnJS)(onOpen)();
|
|
154
|
+
} else {
|
|
155
|
+
(0, _reactNativeReanimated.runOnJS)(onClose)();
|
|
156
|
+
}
|
|
157
|
+
}, [getDrawerTranslationX, handleAnimationEnd, handleAnimationStart, onClose, onOpen, touchStartX, touchX, translationX]);
|
|
158
|
+
React.useEffect(() => toggleDrawer(open), [open, toggleDrawer]);
|
|
159
|
+
const onGestureEvent = (0, _reactNativeReanimated.useAnimatedGestureHandler)({
|
|
160
|
+
onStart: (event, ctx) => {
|
|
161
|
+
ctx.hasCalledOnStart = false;
|
|
162
|
+
ctx.startX = translationX.value;
|
|
163
|
+
gestureState.value = event.state;
|
|
164
|
+
touchStartX.value = event.x;
|
|
165
|
+
},
|
|
166
|
+
onCancel: () => {
|
|
167
|
+
(0, _reactNativeReanimated.runOnJS)(onGestureAbort)();
|
|
168
|
+
},
|
|
169
|
+
onActive: (event, ctx) => {
|
|
170
|
+
touchX.value = event.x;
|
|
171
|
+
translationX.value = ctx.startX + event.translationX;
|
|
172
|
+
gestureState.value = event.state;
|
|
173
|
+
|
|
174
|
+
// onStart will _always_ be called, even when the activation
|
|
175
|
+
// criteria isn't met yet. This makes sure onGestureBegin is only
|
|
176
|
+
// called when the criteria is really met.
|
|
177
|
+
if (!ctx.hasCalledOnStart) {
|
|
178
|
+
ctx.hasCalledOnStart = true;
|
|
179
|
+
(0, _reactNativeReanimated.runOnJS)(onGestureBegin)();
|
|
180
|
+
}
|
|
181
|
+
},
|
|
182
|
+
onEnd: event => {
|
|
183
|
+
gestureState.value = event.state;
|
|
184
|
+
const nextOpen = Math.abs(event.translationX) > SWIPE_MIN_OFFSET && Math.abs(event.translationX) > swipeMinVelocity || Math.abs(event.translationX) > swipeMinDistance ? drawerPosition === 'left' ?
|
|
185
|
+
// If swiped to right, open the drawer, otherwise close it
|
|
186
|
+
(event.velocityX === 0 ? event.translationX : event.velocityX) > 0 :
|
|
187
|
+
// If swiped to left, open the drawer, otherwise close it
|
|
188
|
+
(event.velocityX === 0 ? event.translationX : event.velocityX) < 0 : open;
|
|
189
|
+
toggleDrawer(nextOpen, event.velocityX);
|
|
190
|
+
},
|
|
191
|
+
onFinish: () => {
|
|
192
|
+
(0, _reactNativeReanimated.runOnJS)(onGestureFinish)();
|
|
193
|
+
}
|
|
194
|
+
});
|
|
195
|
+
const translateX = (0, _reactNativeReanimated.useDerivedValue)(() => {
|
|
196
|
+
// Comment stolen from react-native-gesture-handler/DrawerLayout
|
|
197
|
+
//
|
|
198
|
+
// While closing the drawer when user starts gesture outside of its area (in greyed
|
|
199
|
+
// out part of the window), we want the drawer to follow only once finger reaches the
|
|
200
|
+
// edge of the drawer.
|
|
201
|
+
// E.g. on the diagram below drawer is illustrate by X signs and the greyed out area by
|
|
202
|
+
// dots. The touch gesture starts at '*' and moves left, touch path is indicated by
|
|
203
|
+
// an arrow pointing left
|
|
204
|
+
// 1) +---------------+ 2) +---------------+ 3) +---------------+ 4) +---------------+
|
|
205
|
+
// |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|
|
|
206
|
+
// |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|
|
|
207
|
+
// |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|
|
|
208
|
+
// |XXXXXXXX|......| |XXXXXXXX|.<-*..| |XXXXXXXX|<--*..| |XXXXX|<-----*..|
|
|
209
|
+
// |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|
|
|
210
|
+
// |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|
|
|
211
|
+
// |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|
|
|
212
|
+
// +---------------+ +---------------+ +---------------+ +---------------+
|
|
213
|
+
//
|
|
214
|
+
// For the above to work properly we define animated value that will keep start position
|
|
215
|
+
// of the gesture. Then we use that value to calculate how much we need to subtract from
|
|
216
|
+
// the translationX. If the gesture started on the greyed out area we take the distance from the
|
|
217
|
+
// edge of the drawer to the start position. Otherwise we don't subtract at all and the
|
|
218
|
+
// drawer be pulled back as soon as you start the pan.
|
|
219
|
+
//
|
|
220
|
+
// This is used only when drawerType is "front"
|
|
221
|
+
const touchDistance = drawerType === 'front' && gestureState.value === _GestureHandler.GestureState.ACTIVE ? minmax(drawerPosition === 'left' ? touchStartX.value - drawerWidth : layout.width - drawerWidth - touchStartX.value, 0, layout.width) : 0;
|
|
222
|
+
const translateX = drawerPosition === 'left' ? minmax(translationX.value + touchDistance, -drawerWidth, 0) : minmax(translationX.value - touchDistance, 0, drawerWidth);
|
|
223
|
+
return translateX;
|
|
224
|
+
});
|
|
225
|
+
const drawerAnimatedStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => {
|
|
226
|
+
const distanceFromEdge = layout.width - drawerWidth;
|
|
227
|
+
return {
|
|
228
|
+
transform: drawerType === 'permanent' ?
|
|
229
|
+
// Reanimated needs the property to be present, but it results in Browser bug
|
|
230
|
+
// https://bugs.chromium.org/p/chromium/issues/detail?id=20574
|
|
231
|
+
[] : [{
|
|
232
|
+
translateX:
|
|
233
|
+
// The drawer stays in place when `drawerType` is `back`
|
|
234
|
+
(drawerType === 'back' ? 0 : translateX.value) + (drawerPosition === 'left' ? 0 : distanceFromEdge)
|
|
235
|
+
}]
|
|
236
|
+
};
|
|
237
|
+
});
|
|
238
|
+
const contentAnimatedStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => {
|
|
239
|
+
return {
|
|
240
|
+
transform: drawerType === 'permanent' ?
|
|
241
|
+
// Reanimated needs the property to be present, but it results in Browser bug
|
|
242
|
+
// https://bugs.chromium.org/p/chromium/issues/detail?id=20574
|
|
243
|
+
[] : [{
|
|
244
|
+
translateX:
|
|
245
|
+
// The screen content stays in place when `drawerType` is `front`
|
|
246
|
+
drawerType === 'front' ? 0 : translateX.value + drawerWidth * (drawerPosition === 'left' ? 1 : -1)
|
|
247
|
+
}]
|
|
248
|
+
};
|
|
249
|
+
});
|
|
250
|
+
const progress = (0, _reactNativeReanimated.useDerivedValue)(() => {
|
|
251
|
+
return drawerType === 'permanent' ? 1 : (0, _reactNativeReanimated.interpolate)(translateX.value, [getDrawerTranslationX(false), getDrawerTranslationX(true)], [0, 1]);
|
|
252
|
+
});
|
|
253
|
+
return /*#__PURE__*/React.createElement(_GestureHandler.GestureHandlerRootView, {
|
|
254
|
+
style: [styles.container, style]
|
|
255
|
+
}, /*#__PURE__*/React.createElement(_DrawerProgressContext.DrawerProgressContext.Provider, {
|
|
256
|
+
value: progress
|
|
257
|
+
}, /*#__PURE__*/React.createElement(_GestureHandler.PanGestureHandler, _extends({
|
|
258
|
+
activeOffsetX: [-SWIPE_MIN_OFFSET, SWIPE_MIN_OFFSET],
|
|
259
|
+
failOffsetY: [-SWIPE_MIN_OFFSET, SWIPE_MIN_OFFSET],
|
|
260
|
+
hitSlop: hitSlop,
|
|
261
|
+
enabled: drawerType !== 'permanent' && swipeEnabled,
|
|
262
|
+
onGestureEvent: onGestureEvent
|
|
263
|
+
}, gestureHandlerProps), /*#__PURE__*/React.createElement(_reactNativeReanimated.default.View, {
|
|
264
|
+
style: [styles.main, {
|
|
265
|
+
flexDirection: drawerType === 'permanent' && !isRight ? 'row-reverse' : 'row'
|
|
266
|
+
}]
|
|
267
|
+
}, /*#__PURE__*/React.createElement(_reactNativeReanimated.default.View, {
|
|
268
|
+
style: [styles.content, contentAnimatedStyle]
|
|
269
|
+
}, /*#__PURE__*/React.createElement(_reactNative.View, {
|
|
270
|
+
accessibilityElementsHidden: isOpen && drawerType !== 'permanent',
|
|
271
|
+
importantForAccessibility: isOpen && drawerType !== 'permanent' ? 'no-hide-descendants' : 'auto',
|
|
272
|
+
style: styles.content
|
|
273
|
+
}, children), drawerType !== 'permanent' ? /*#__PURE__*/React.createElement(_Overlay.Overlay, {
|
|
274
|
+
open: open,
|
|
275
|
+
progress: progress,
|
|
276
|
+
onPress: () => toggleDrawer(false),
|
|
277
|
+
style: overlayStyle,
|
|
278
|
+
accessibilityLabel: overlayAccessibilityLabel
|
|
279
|
+
}) : null), /*#__PURE__*/React.createElement(_reactNativeReanimated.default.View, {
|
|
280
|
+
removeClippedSubviews: _reactNative.Platform.OS !== 'ios',
|
|
281
|
+
style: [styles.drawer, {
|
|
282
|
+
width: drawerWidth,
|
|
283
|
+
position: drawerType === 'permanent' ? 'relative' : 'absolute',
|
|
284
|
+
zIndex: drawerType === 'back' ? -1 : 0
|
|
285
|
+
}, drawerAnimatedStyle, drawerStyle]
|
|
286
|
+
}, renderDrawerContent())))));
|
|
287
|
+
}
|
|
288
|
+
const styles = _reactNative.StyleSheet.create({
|
|
289
|
+
container: {
|
|
290
|
+
flex: 1
|
|
291
|
+
},
|
|
292
|
+
drawer: {
|
|
293
|
+
top: 0,
|
|
294
|
+
bottom: 0,
|
|
295
|
+
maxWidth: '100%',
|
|
296
|
+
backgroundColor: 'white'
|
|
297
|
+
},
|
|
298
|
+
content: {
|
|
299
|
+
flex: 1
|
|
300
|
+
},
|
|
301
|
+
main: {
|
|
302
|
+
flex: 1,
|
|
303
|
+
..._reactNative.Platform.select({
|
|
304
|
+
// FIXME: We need to hide `overflowX` on Web so the translated content doesn't show offscreen.
|
|
305
|
+
// But adding `overflowX: 'hidden'` prevents content from collapsing the URL bar.
|
|
306
|
+
web: null,
|
|
307
|
+
default: {
|
|
308
|
+
overflow: 'hidden'
|
|
309
|
+
}
|
|
310
|
+
})
|
|
311
|
+
}
|
|
312
|
+
});
|
|
313
|
+
//# sourceMappingURL=Drawer.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_reactNativeReanimated","_useLatestCallback","_interopRequireDefault","_DrawerProgressContext","_getDrawerWidth","_GestureHandler","_Overlay","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","apply","SWIPE_EDGE_WIDTH","SWIPE_MIN_OFFSET","SWIPE_MIN_DISTANCE","SWIPE_MIN_VELOCITY","minmax","value","start","end","Math","min","max","Drawer","_ref","layout","customLayout","drawerPosition","I18nManager","getConstants","isRTL","drawerStyle","drawerType","gestureHandlerProps","hideStatusBarOnOpen","keyboardDismissMode","onClose","onOpen","onGestureStart","onGestureCancel","onGestureEnd","onTransitionStart","onTransitionEnd","open","overlayStyle","overlayAccessibilityLabel","statusBarAnimation","swipeEnabled","Platform","OS","swipeEdgeWidth","swipeMinDistance","swipeMinVelocity","renderDrawerContent","children","style","windowDimensions","useWindowDimensions","drawerWidth","getDrawerWidth","isOpen","isRight","getDrawerTranslationX","useCallback","hideStatusBar","hide","StatusBar","setHidden","useEffect","interactionHandleRef","useRef","startInteraction","current","InteractionManager","createInteractionHandle","endInteraction","clearInteractionHandle","hideKeyboard","Keyboard","dismiss","onGestureBegin","onGestureFinish","onGestureAbort","hitSlop","right","width","undefined","left","touchStartX","useSharedValue","touchX","translationX","gestureState","GestureState","UNDETERMINED","handleAnimationStart","useLatestCallback","handleAnimationEnd","finished","toggleDrawer","velocity","translateX","runOnJS","withSpring","stiffness","damping","mass","overshootClamping","restDisplacementThreshold","restSpeedThreshold","onGestureEvent","useAnimatedGestureHandler","onStart","event","ctx","hasCalledOnStart","startX","state","x","onCancel","onActive","onEnd","nextOpen","abs","velocityX","onFinish","useDerivedValue","touchDistance","ACTIVE","drawerAnimatedStyle","useAnimatedStyle","distanceFromEdge","transform","contentAnimatedStyle","progress","interpolate","createElement","GestureHandlerRootView","styles","container","DrawerProgressContext","Provider","PanGestureHandler","activeOffsetX","failOffsetY","enabled","View","main","flexDirection","content","accessibilityElementsHidden","importantForAccessibility","Overlay","onPress","accessibilityLabel","removeClippedSubviews","drawer","position","zIndex","StyleSheet","create","flex","top","bottom","maxWidth","backgroundColor","select","web","overflow"],"sourceRoot":"../../../src","sources":["views/Drawer.native.tsx"],"mappings":"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"}
|
|
@@ -3,65 +3,48 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.Overlay =
|
|
6
|
+
exports.Overlay = Overlay;
|
|
7
7
|
var React = _interopRequireWildcard(require("react"));
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
|
-
var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
|
|
10
9
|
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); }
|
|
11
10
|
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 && Object.prototype.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; }
|
|
12
11
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
13
|
-
|
|
14
|
-
const Overlay = exports.Overlay = /*#__PURE__*/React.forwardRef(function Overlay(_ref, ref) {
|
|
12
|
+
function Overlay(_ref) {
|
|
15
13
|
let {
|
|
16
|
-
|
|
14
|
+
open,
|
|
17
15
|
onPress,
|
|
18
16
|
style,
|
|
19
17
|
accessibilityLabel = 'Close drawer',
|
|
20
|
-
...
|
|
18
|
+
...rest
|
|
21
19
|
} = _ref;
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
opacity:
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
});
|
|
30
|
-
const animatedProps = (0, _reactNativeReanimated.useAnimatedProps)(() => {
|
|
31
|
-
const active = progress.value > PROGRESS_EPSILON;
|
|
32
|
-
return {
|
|
33
|
-
pointerEvents: active ? 'auto' : 'none',
|
|
34
|
-
accessibilityElementsHidden: !active,
|
|
35
|
-
importantForAccessibility: active ? 'auto' : 'no-hide-descendants'
|
|
36
|
-
};
|
|
37
|
-
});
|
|
38
|
-
return /*#__PURE__*/React.createElement(_reactNativeReanimated.default.View, _extends({}, props, {
|
|
39
|
-
ref: ref,
|
|
40
|
-
style: [styles.overlay, overlayStyle, animatedStyle, style],
|
|
41
|
-
animatedProps: animatedProps
|
|
20
|
+
return /*#__PURE__*/React.createElement(_reactNative.View, _extends({}, rest, {
|
|
21
|
+
style: [styles.overlay, {
|
|
22
|
+
opacity: open ? 1 : 0,
|
|
23
|
+
pointerEvents: open ? 'auto' : 'none'
|
|
24
|
+
}, style],
|
|
25
|
+
accessibilityElementsHidden: !open,
|
|
26
|
+
importantForAccessibility: open ? 'auto' : 'no-hide-descendants'
|
|
42
27
|
}), /*#__PURE__*/React.createElement(_reactNative.Pressable, {
|
|
43
28
|
onPress: onPress,
|
|
44
|
-
style: styles.pressable,
|
|
29
|
+
style: [styles.pressable, {
|
|
30
|
+
pointerEvents: open ? 'auto' : 'none'
|
|
31
|
+
}],
|
|
45
32
|
accessibilityRole: "button",
|
|
46
33
|
accessibilityLabel: accessibilityLabel
|
|
47
34
|
}));
|
|
48
|
-
}
|
|
49
|
-
const overlayStyle = _reactNative.Platform.select({
|
|
50
|
-
web: {
|
|
51
|
-
// Disable touch highlight on mobile Safari.
|
|
52
|
-
// WebkitTapHighlightColor must be used outside of StyleSheet.create because react-native-web will omit the property.
|
|
53
|
-
WebkitTapHighlightColor: 'transparent'
|
|
54
|
-
},
|
|
55
|
-
default: {}
|
|
56
|
-
});
|
|
35
|
+
}
|
|
57
36
|
const styles = _reactNative.StyleSheet.create({
|
|
58
37
|
overlay: {
|
|
59
38
|
..._reactNative.StyleSheet.absoluteFillObject,
|
|
60
|
-
backgroundColor: 'rgba(0, 0, 0, 0.5)'
|
|
39
|
+
backgroundColor: 'rgba(0, 0, 0, 0.5)',
|
|
40
|
+
// Disable touch highlight on mobile Safari.
|
|
41
|
+
// WebkitTapHighlightColor must be used outside of StyleSheet.create because react-native-web will omit the property.
|
|
42
|
+
// @ts-expect-error: WebkitTapHighlightColor is web only
|
|
43
|
+
WebkitTapHighlightColor: 'transparent',
|
|
44
|
+
transition: 'opacity 0.3s'
|
|
61
45
|
},
|
|
62
46
|
pressable: {
|
|
63
|
-
flex: 1
|
|
64
|
-
pointerEvents: 'auto'
|
|
47
|
+
flex: 1
|
|
65
48
|
}
|
|
66
49
|
});
|
|
67
50
|
//# sourceMappingURL=Overlay.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","
|
|
1
|
+
{"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","apply","Overlay","_ref","open","onPress","style","accessibilityLabel","rest","createElement","View","styles","overlay","opacity","pointerEvents","accessibilityElementsHidden","importantForAccessibility","Pressable","pressable","accessibilityRole","StyleSheet","create","absoluteFillObject","backgroundColor","WebkitTapHighlightColor","transition","flex"],"sourceRoot":"../../../src","sources":["views/Overlay.tsx"],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.Overlay = Overlay;
|
|
7
|
+
var React = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
|
|
10
|
+
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); }
|
|
11
|
+
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 && Object.prototype.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; }
|
|
12
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
13
|
+
const PROGRESS_EPSILON = 0.05;
|
|
14
|
+
function Overlay(_ref) {
|
|
15
|
+
let {
|
|
16
|
+
progress,
|
|
17
|
+
onPress,
|
|
18
|
+
style,
|
|
19
|
+
accessibilityLabel = 'Close drawer',
|
|
20
|
+
...rest
|
|
21
|
+
} = _ref;
|
|
22
|
+
const animatedStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => {
|
|
23
|
+
return {
|
|
24
|
+
opacity: progress.value,
|
|
25
|
+
// We don't want the user to be able to press through the overlay when drawer is open
|
|
26
|
+
// We can send the overlay behind the screen to avoid it
|
|
27
|
+
zIndex: progress.value > PROGRESS_EPSILON ? 0 : -1
|
|
28
|
+
};
|
|
29
|
+
});
|
|
30
|
+
const animatedProps = (0, _reactNativeReanimated.useAnimatedProps)(() => {
|
|
31
|
+
const active = progress.value > PROGRESS_EPSILON;
|
|
32
|
+
return {
|
|
33
|
+
pointerEvents: active ? 'auto' : 'none',
|
|
34
|
+
accessibilityElementsHidden: !active,
|
|
35
|
+
importantForAccessibility: active ? 'auto' : 'no-hide-descendants'
|
|
36
|
+
};
|
|
37
|
+
});
|
|
38
|
+
return /*#__PURE__*/React.createElement(_reactNativeReanimated.default.View, _extends({}, rest, {
|
|
39
|
+
style: [styles.overlay, animatedStyle, style],
|
|
40
|
+
animatedProps: animatedProps
|
|
41
|
+
}), /*#__PURE__*/React.createElement(_reactNative.Pressable, {
|
|
42
|
+
onPress: onPress,
|
|
43
|
+
style: styles.pressable,
|
|
44
|
+
accessibilityRole: "button",
|
|
45
|
+
accessibilityLabel: accessibilityLabel
|
|
46
|
+
}));
|
|
47
|
+
}
|
|
48
|
+
const styles = _reactNative.StyleSheet.create({
|
|
49
|
+
overlay: {
|
|
50
|
+
..._reactNative.StyleSheet.absoluteFillObject,
|
|
51
|
+
backgroundColor: 'rgba(0, 0, 0, 0.5)'
|
|
52
|
+
},
|
|
53
|
+
pressable: {
|
|
54
|
+
flex: 1,
|
|
55
|
+
pointerEvents: 'auto'
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
//# sourceMappingURL=Overlay.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_reactNativeReanimated","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","apply","PROGRESS_EPSILON","Overlay","_ref","progress","onPress","style","accessibilityLabel","rest","animatedStyle","useAnimatedStyle","opacity","value","zIndex","animatedProps","useAnimatedProps","active","pointerEvents","accessibilityElementsHidden","importantForAccessibility","createElement","View","styles","overlay","Pressable","pressable","accessibilityRole","StyleSheet","create","absoluteFillObject","backgroundColor","flex"],"sourceRoot":"../../../src","sources":["views/Overlay.native.tsx"],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { StyleSheet } from 'react-native';
|
|
2
|
+
const APPROX_APP_BAR_HEIGHT = 56;
|
|
3
|
+
const DEFAULT_DRAWER_WIDTH = 360;
|
|
4
|
+
const getDefaultDrawerWidth = _ref => {
|
|
5
|
+
let {
|
|
6
|
+
width
|
|
7
|
+
} = _ref;
|
|
8
|
+
/**
|
|
9
|
+
* Default drawer width is 360dp
|
|
10
|
+
* On screens smaller than 320dp, ideally the drawer would collapse to a navigation bar
|
|
11
|
+
* https://m3.material.io/components/navigation-drawer/specs
|
|
12
|
+
*/
|
|
13
|
+
if (width - APPROX_APP_BAR_HEIGHT <= 360) {
|
|
14
|
+
return width - APPROX_APP_BAR_HEIGHT;
|
|
15
|
+
}
|
|
16
|
+
return DEFAULT_DRAWER_WIDTH;
|
|
17
|
+
};
|
|
18
|
+
export function getDrawerWidth(_ref2) {
|
|
19
|
+
let {
|
|
20
|
+
layout,
|
|
21
|
+
drawerStyle
|
|
22
|
+
} = _ref2;
|
|
23
|
+
const {
|
|
24
|
+
width = getDefaultDrawerWidth(layout)
|
|
25
|
+
} = StyleSheet.flatten(drawerStyle) || {};
|
|
26
|
+
if (typeof width === 'string' && width.endsWith('%')) {
|
|
27
|
+
// Try to calculate width if a percentage is given
|
|
28
|
+
const percentage = Number(width.replace(/%$/, ''));
|
|
29
|
+
if (Number.isFinite(percentage)) {
|
|
30
|
+
return layout.width * (percentage / 100);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return typeof width === 'number' ? width : 0;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=getDrawerWidth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["StyleSheet","APPROX_APP_BAR_HEIGHT","DEFAULT_DRAWER_WIDTH","getDefaultDrawerWidth","_ref","width","getDrawerWidth","_ref2","layout","drawerStyle","flatten","endsWith","percentage","Number","replace","isFinite"],"sourceRoot":"../../../src","sources":["utils/getDrawerWidth.tsx"],"mappings":"AAAA,SAAyBA,UAAU,QAAwB,cAAc;AAEzE,MAAMC,qBAAqB,GAAG,EAAE;AAChC,MAAMC,oBAAoB,GAAG,GAAG;AAEhC,MAAMC,qBAAqB,GAAGC,IAAA,IAAkC;EAAA,IAAjC;IAAEC;EAAyB,CAAC,GAAAD,IAAA;EACzD;AACF;AACA;AACA;AACA;EACE,IAAIC,KAAK,GAAGJ,qBAAqB,IAAI,GAAG,EAAE;IACxC,OAAOI,KAAK,GAAGJ,qBAAqB;EACtC;EAEA,OAAOC,oBAAoB;AAC7B,CAAC;AAED,OAAO,SAASI,cAAcA,CAAAC,KAAA,EAM3B;EAAA,IAN4B;IAC7BC,MAAM;IACNC;EAIF,CAAC,GAAAF,KAAA;EACC,MAAM;IAAEF,KAAK,GAAGF,qBAAqB,CAACK,MAAM;EAAE,CAAC,GAC7CR,UAAU,CAACU,OAAO,CAACD,WAAW,CAAC,IAAI,CAAC,CAAC;EAEvC,IAAI,OAAOJ,KAAK,KAAK,QAAQ,IAAIA,KAAK,CAACM,QAAQ,CAAC,GAAG,CAAC,EAAE;IACpD;IACA,MAAMC,UAAU,GAAGC,MAAM,CAACR,KAAK,CAACS,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAElD,IAAID,MAAM,CAACE,QAAQ,CAACH,UAAU,CAAC,EAAE;MAC/B,OAAOJ,MAAM,CAACH,KAAK,IAAIO,UAAU,GAAG,GAAG,CAAC;IAC1C;EACF;EAEA,OAAO,OAAOP,KAAK,KAAK,QAAQ,GAAGA,KAAK,GAAG,CAAC;AAC9C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","DrawerProgressContext","useDrawerProgress","progress","useContext","undefined","Error"],"sourceRoot":"../../../src","sources":["utils/useDrawerProgress.tsx"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAG9B,SAASC,qBAAqB,QAAQ,yBAAyB;AAE/D,OAAO,SAASC,iBAAiBA,CAAA,
|
|
1
|
+
{"version":3,"names":["React","DrawerProgressContext","useDrawerProgress","progress","useContext","undefined","Error"],"sourceRoot":"../../../src","sources":["utils/useDrawerProgress.tsx"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAG9B,SAASC,qBAAqB,QAAQ,yBAAyB;AAE/D,OAAO,SAASC,iBAAiBA,CAAA,EAAkC;EACjE,MAAMC,QAAQ,GAAGH,KAAK,CAACI,UAAU,CAACH,qBAAqB,CAAC;EAExD,IAAIE,QAAQ,KAAKE,SAAS,EAAE;IAC1B,MAAM,IAAIC,KAAK,CACb,4DACF,CAAC;EACH;EAEA,OAAOH,QAAQ;AACjB"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
class FakeSharedValue {
|
|
3
|
+
_listeners = new Map();
|
|
4
|
+
constructor(value) {
|
|
5
|
+
this._value = value;
|
|
6
|
+
}
|
|
7
|
+
addListener(id, listener) {
|
|
8
|
+
this._listeners.set(id, listener);
|
|
9
|
+
}
|
|
10
|
+
removeListener(id) {
|
|
11
|
+
this._listeners.delete(id);
|
|
12
|
+
}
|
|
13
|
+
modify(modifier) {
|
|
14
|
+
this.value = modifier !== undefined ? modifier(this.value) : this.value;
|
|
15
|
+
}
|
|
16
|
+
set value(value) {
|
|
17
|
+
this._value = value;
|
|
18
|
+
for (const listener of this._listeners.values()) {
|
|
19
|
+
listener(value);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
get value() {
|
|
23
|
+
return this._value;
|
|
24
|
+
}
|
|
25
|
+
_isReanimatedSharedValue = true;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Compatibility layer for `useDrawerProgress` with `react-native-reanimated`
|
|
30
|
+
*/
|
|
31
|
+
export function useFakeSharedValue(value) {
|
|
32
|
+
const sharedValue = React.useRef(null);
|
|
33
|
+
if (sharedValue.current === null) {
|
|
34
|
+
sharedValue.current = new FakeSharedValue(value);
|
|
35
|
+
}
|
|
36
|
+
return sharedValue.current;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=useFakeSharedValue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","FakeSharedValue","_listeners","Map","constructor","value","_value","addListener","id","listener","set","removeListener","delete","modify","modifier","undefined","values","_isReanimatedSharedValue","useFakeSharedValue","sharedValue","useRef","current"],"sourceRoot":"../../../src","sources":["utils/useFakeSharedValue.tsx"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,MAAMC,eAAe,CAAC;EACpBC,UAAU,GAAG,IAAIC,GAAG,CAAkC,CAAC;EAGvDC,WAAWA,CAACC,KAAa,EAAE;IACzB,IAAI,CAACC,MAAM,GAAGD,KAAK;EACrB;EAEAE,WAAWA,CAACC,EAAU,EAAEC,QAAiC,EAAE;IACzD,IAAI,CAACP,UAAU,CAACQ,GAAG,CAACF,EAAE,EAAEC,QAAQ,CAAC;EACnC;EAEAE,cAAcA,CAACH,EAAU,EAAE;IACzB,IAAI,CAACN,UAAU,CAACU,MAAM,CAACJ,EAAE,CAAC;EAC5B;EAEAK,MAAMA,CAACC,QAAoC,EAAE;IAC3C,IAAI,CAACT,KAAK,GAAGS,QAAQ,KAAKC,SAAS,GAAGD,QAAQ,CAAC,IAAI,CAACT,KAAK,CAAC,GAAG,IAAI,CAACA,KAAK;EACzE;EAEA,IAAIA,KAAKA,CAACA,KAAa,EAAE;IACvB,IAAI,CAACC,MAAM,GAAGD,KAAK;IAEnB,KAAK,MAAMI,QAAQ,IAAI,IAAI,CAACP,UAAU,CAACc,MAAM,CAAC,CAAC,EAAE;MAC/CP,QAAQ,CAACJ,KAAK,CAAC;IACjB;EACF;EAEA,IAAIA,KAAKA,CAAA,EAAG;IACV,OAAO,IAAI,CAACC,MAAM;EACpB;EAEAW,wBAAwB,GAAG,IAAI;AACjC;;AAEA;AACA;AACA;AACA,OAAO,SAASC,kBAAkBA,CAACb,KAAa,EAAmB;EACjE,MAAMc,WAAW,GAAGnB,KAAK,CAACoB,MAAM,CAAyB,IAAI,CAAC;EAE9D,IAAID,WAAW,CAACE,OAAO,KAAK,IAAI,EAAE;IAChCF,WAAW,CAACE,OAAO,GAAG,IAAIpB,eAAe,CAACI,KAAK,CAAC;EAClD;EAEA,OAAOc,WAAW,CAACE,OAAO;AAC5B"}
|