react-native-drawer-layout 4.0.0-alpha.6 → 4.0.0-alpha.7

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/lib/commonjs/utils/getDrawerWidth.js +42 -0
  2. package/lib/commonjs/utils/getDrawerWidth.js.map +1 -0
  3. package/lib/commonjs/utils/useDrawerProgress.js.map +1 -1
  4. package/lib/commonjs/utils/useFakeSharedValue.js +46 -0
  5. package/lib/commonjs/utils/useFakeSharedValue.js.map +1 -0
  6. package/lib/commonjs/views/Drawer.js +55 -279
  7. package/lib/commonjs/views/Drawer.js.map +1 -1
  8. package/lib/commonjs/views/Drawer.native.js +324 -0
  9. package/lib/commonjs/views/Drawer.native.js.map +1 -0
  10. package/lib/commonjs/views/Overlay.js +22 -39
  11. package/lib/commonjs/views/Overlay.js.map +1 -1
  12. package/lib/commonjs/views/Overlay.native.js +58 -0
  13. package/lib/commonjs/views/Overlay.native.js.map +1 -0
  14. package/lib/module/utils/getDrawerWidth.js +36 -0
  15. package/lib/module/utils/getDrawerWidth.js.map +1 -0
  16. package/lib/module/utils/useDrawerProgress.js.map +1 -1
  17. package/lib/module/utils/useFakeSharedValue.js +38 -0
  18. package/lib/module/utils/useFakeSharedValue.js.map +1 -0
  19. package/lib/module/views/Drawer.js +56 -278
  20. package/lib/module/views/Drawer.js.map +1 -1
  21. package/lib/module/views/Drawer.native.js +315 -0
  22. package/lib/module/views/Drawer.native.js.map +1 -0
  23. package/lib/module/views/Overlay.js +22 -39
  24. package/lib/module/views/Overlay.js.map +1 -1
  25. package/lib/module/views/Overlay.native.js +50 -0
  26. package/lib/module/views/Overlay.native.js.map +1 -0
  27. package/lib/typescript/src/types.d.ts +9 -2
  28. package/lib/typescript/src/types.d.ts.map +1 -1
  29. package/lib/typescript/src/utils/DrawerProgressContext.d.ts +2 -2
  30. package/lib/typescript/src/utils/DrawerProgressContext.d.ts.map +1 -1
  31. package/lib/typescript/src/utils/getDrawerWidth.d.ts +9 -0
  32. package/lib/typescript/src/utils/getDrawerWidth.d.ts.map +1 -0
  33. package/lib/typescript/src/utils/useDrawerProgress.d.ts +2 -2
  34. package/lib/typescript/src/utils/useDrawerProgress.d.ts.map +1 -1
  35. package/lib/typescript/src/utils/useFakeSharedValue.d.ts +17 -0
  36. package/lib/typescript/src/utils/useFakeSharedValue.d.ts.map +1 -0
  37. package/lib/typescript/src/views/Drawer.d.ts +1 -6
  38. package/lib/typescript/src/views/Drawer.d.ts.map +1 -1
  39. package/lib/typescript/src/views/Drawer.native.d.ts +4 -0
  40. package/lib/typescript/src/views/Drawer.native.d.ts.map +1 -0
  41. package/lib/typescript/src/views/Overlay.d.ts +2 -204
  42. package/lib/typescript/src/views/Overlay.d.ts.map +1 -1
  43. package/lib/typescript/src/views/Overlay.native.d.ts +4 -0
  44. package/lib/typescript/src/views/Overlay.native.d.ts.map +1 -0
  45. package/package.json +2 -2
  46. package/src/types.tsx +10 -1
  47. package/src/utils/DrawerProgressContext.tsx +2 -2
  48. package/src/utils/getDrawerWidth.tsx +49 -0
  49. package/src/utils/useDrawerProgress.tsx +2 -2
  50. package/src/utils/useFakeSharedValue.tsx +49 -0
  51. package/src/views/Drawer.native.tsx +466 -0
  52. package/src/views/Drawer.tsx +117 -433
  53. package/src/views/Overlay.native.tsx +63 -0
  54. package/src/views/Overlay.tsx +26 -59
@@ -1,317 +1,103 @@
1
- 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); }
2
1
  import * as React from 'react';
3
- import { I18nManager, InteractionManager, Keyboard, Platform, StatusBar, StyleSheet, useWindowDimensions, View } from 'react-native';
4
- import Animated, { interpolate, runOnJS, useAnimatedGestureHandler, useAnimatedStyle, useDerivedValue, useSharedValue, withSpring } from 'react-native-reanimated';
2
+ import { StyleSheet, useWindowDimensions, View } from 'react-native';
5
3
  import useLatestCallback from 'use-latest-callback';
6
4
  import { DrawerProgressContext } from '../utils/DrawerProgressContext';
7
- import { GestureHandlerRootView, GestureState, PanGestureHandler } from './GestureHandler';
5
+ import { getDrawerWidth } from '../utils/getDrawerWidth';
6
+ import { useFakeSharedValue } from '../utils/useFakeSharedValue';
8
7
  import { Overlay } from './Overlay';
9
- export const SWIPE_EDGE_WIDTH = 32;
10
- export const SWIPE_MIN_OFFSET = 5;
11
- export const SWIPE_MIN_DISTANCE = 60;
12
- export const SWIPE_MIN_VELOCITY = 500;
13
- export const DRAWER_BORDER_RADIUS = 16;
14
- const minmax = (value, start, end) => {
15
- 'worklet';
16
-
17
- return Math.min(Math.max(value, start), end);
18
- };
19
- const getDefaultDrawerWidth = _ref => {
20
- let {
21
- height,
22
- width
23
- } = _ref;
24
- /*
25
- * Default drawer width is screen width - header height
26
- * with a max width of 280 on mobile and 320 on tablet
27
- * https://material.io/components/navigation-drawer
28
- */
29
- const smallerAxisSize = Math.min(height, width);
30
- const isLandscape = width > height;
31
- const isTablet = smallerAxisSize >= 600;
32
- const appBarHeight = Platform.OS === 'ios' ? isLandscape ? 32 : 44 : 56;
33
- const maxWidth = isTablet ? 320 : 280;
34
- return Math.min(smallerAxisSize - appBarHeight, maxWidth);
35
- };
36
- export function Drawer(_ref2) {
8
+ const DRAWER_BORDER_RADIUS = 16;
9
+ export function Drawer(_ref) {
37
10
  let {
38
11
  layout: customLayout,
39
- drawerPosition = I18nManager.getConstants().isRTL ? 'right' : 'left',
12
+ drawerPosition = 'left',
40
13
  drawerStyle,
41
- drawerType = Platform.select({
42
- ios: 'slide',
43
- default: 'front'
44
- }),
45
- gestureHandlerProps,
46
- hideStatusBarOnOpen = false,
47
- keyboardDismissMode = 'on-drag',
14
+ drawerType = 'front',
48
15
  onClose,
49
- onOpen,
50
- onGestureStart,
51
- onGestureCancel,
52
- onGestureEnd,
53
16
  onTransitionStart,
54
17
  onTransitionEnd,
55
18
  open,
56
19
  overlayStyle,
57
20
  overlayAccessibilityLabel,
58
- statusBarAnimation = 'slide',
59
- swipeEnabled = Platform.OS !== 'web' && Platform.OS !== 'windows' && Platform.OS !== 'macos',
60
- swipeEdgeWidth = SWIPE_EDGE_WIDTH,
61
- swipeMinDistance = SWIPE_MIN_DISTANCE,
62
- swipeMinVelocity = SWIPE_MIN_VELOCITY,
63
21
  renderDrawerContent,
64
22
  children,
65
23
  style
66
- } = _ref2;
67
- // FIXME: temporary workaround for useSafeAreaFrame not updating on Web
24
+ } = _ref;
68
25
  const windowDimensions = useWindowDimensions();
69
26
  const layout = customLayout ?? windowDimensions;
70
- const getDrawerWidth = () => {
71
- const {
72
- width = getDefaultDrawerWidth(layout)
73
- } = StyleSheet.flatten(drawerStyle) || {};
74
- if (typeof width === 'string' && width.endsWith('%')) {
75
- // Try to calculate width if a percentage is given
76
- const percentage = Number(width.replace(/%$/, ''));
77
- if (Number.isFinite(percentage)) {
78
- return layout.width * (percentage / 100);
79
- }
27
+ const drawerWidth = getDrawerWidth({
28
+ layout,
29
+ drawerStyle
30
+ });
31
+ const progress = useFakeSharedValue(open ? 1 : 0);
32
+ React.useEffect(() => {
33
+ progress.value = open ? 1 : 0;
34
+ }, [open, progress]);
35
+ const drawerRef = React.useRef(null);
36
+ const onTransitionStartLatest = useLatestCallback(() => {
37
+ onTransitionStart?.(open === false);
38
+ });
39
+ const onTransitionEndLatest = useLatestCallback(() => {
40
+ onTransitionEnd?.(open === false);
41
+ });
42
+ React.useEffect(() => {
43
+ const element = drawerRef.current;
44
+ if (element) {
45
+ element.addEventListener('transitionstart', onTransitionStartLatest);
46
+ element.addEventListener('transitionend', onTransitionEndLatest);
80
47
  }
81
- return typeof width === 'number' ? width : 0;
82
- };
83
- const drawerWidth = getDrawerWidth();
48
+ }, [onTransitionEndLatest, onTransitionStartLatest]);
84
49
  const isOpen = drawerType === 'permanent' ? true : open;
85
50
  const isRight = drawerPosition === 'right';
86
- const getDrawerTranslationX = React.useCallback(open => {
87
- 'worklet';
88
-
89
- if (drawerPosition === 'left') {
90
- return open ? 0 : -drawerWidth;
91
- }
92
- return open ? 0 : drawerWidth;
93
- }, [drawerPosition, drawerWidth]);
94
- const hideStatusBar = React.useCallback(hide => {
95
- if (hideStatusBarOnOpen) {
96
- StatusBar.setHidden(hide, statusBarAnimation);
97
- }
98
- }, [hideStatusBarOnOpen, statusBarAnimation]);
99
- React.useEffect(() => {
100
- hideStatusBar(isOpen);
101
- return () => hideStatusBar(false);
102
- }, [isOpen, hideStatusBarOnOpen, statusBarAnimation, hideStatusBar]);
103
- const interactionHandleRef = React.useRef(null);
104
- const startInteraction = () => {
105
- interactionHandleRef.current = InteractionManager.createInteractionHandle();
106
- };
107
- const endInteraction = () => {
108
- if (interactionHandleRef.current != null) {
109
- InteractionManager.clearInteractionHandle(interactionHandleRef.current);
110
- interactionHandleRef.current = null;
111
- }
112
- };
113
- const hideKeyboard = () => {
114
- if (keyboardDismissMode === 'on-drag') {
115
- Keyboard.dismiss();
116
- }
117
- };
118
- const onGestureBegin = () => {
119
- onGestureStart?.();
120
- startInteraction();
121
- hideKeyboard();
122
- hideStatusBar(true);
123
- };
124
- const onGestureFinish = () => {
125
- onGestureEnd?.();
126
- endInteraction();
127
- };
128
- const onGestureAbort = () => {
129
- onGestureCancel?.();
130
- endInteraction();
131
- };
132
-
133
- // FIXME: Currently hitSlop is broken when on Android when drawer is on right
134
- // https://github.com/software-mansion/react-native-gesture-handler/issues/569
135
- const hitSlop = isRight ?
136
- // Extend hitSlop to the side of the screen when drawer is closed
137
- // This lets the user drag the drawer from the side of the screen
138
- {
139
- right: 0,
140
- width: isOpen ? undefined : swipeEdgeWidth
141
- } : {
142
- left: 0,
143
- width: isOpen ? undefined : swipeEdgeWidth
144
- };
145
- const borderRadiiStyle = isRight ? {
51
+ const borderRadiiStyle = drawerType !== 'permanent' ? isRight ? {
146
52
  borderTopLeftRadius: DRAWER_BORDER_RADIUS,
147
53
  borderBottomLeftRadius: DRAWER_BORDER_RADIUS
148
54
  } : {
149
55
  borderTopRightRadius: DRAWER_BORDER_RADIUS,
150
56
  borderBottomRightRadius: DRAWER_BORDER_RADIUS
151
- };
152
- const touchStartX = useSharedValue(0);
153
- const touchX = useSharedValue(0);
154
- const translationX = useSharedValue(getDrawerTranslationX(open));
155
- const gestureState = useSharedValue(GestureState.UNDETERMINED);
156
- const handleAnimationStart = useLatestCallback(open => {
157
- onTransitionStart?.(!open);
158
- });
159
- const handleAnimationEnd = useLatestCallback((open, finished) => {
160
- if (!finished) return;
161
- onTransitionEnd?.(!open);
162
- });
163
- const toggleDrawer = React.useCallback((open, velocity) => {
164
- 'worklet';
165
-
166
- const translateX = getDrawerTranslationX(open);
167
- if (velocity === undefined) {
168
- runOnJS(handleAnimationStart)(open);
169
- }
170
- touchStartX.value = 0;
171
- touchX.value = 0;
172
- translationX.value = withSpring(translateX, {
173
- velocity,
174
- stiffness: 1000,
175
- damping: 500,
176
- mass: 3,
177
- overshootClamping: true,
178
- restDisplacementThreshold: 0.01,
179
- restSpeedThreshold: 0.01
180
- }, finished => runOnJS(handleAnimationEnd)(open, finished));
181
- if (open) {
182
- runOnJS(onOpen)();
183
- } else {
184
- runOnJS(onClose)();
185
- }
186
- }, [getDrawerTranslationX, handleAnimationEnd, handleAnimationStart, onClose, onOpen, touchStartX, touchX, translationX]);
187
- React.useEffect(() => toggleDrawer(open), [open, toggleDrawer]);
188
- const onGestureEvent = useAnimatedGestureHandler({
189
- onStart: (event, ctx) => {
190
- ctx.hasCalledOnStart = false;
191
- ctx.startX = translationX.value;
192
- gestureState.value = event.state;
193
- touchStartX.value = event.x;
194
- },
195
- onCancel: () => {
196
- runOnJS(onGestureAbort)();
197
- },
198
- onActive: (event, ctx) => {
199
- touchX.value = event.x;
200
- translationX.value = ctx.startX + event.translationX;
201
- gestureState.value = event.state;
202
-
203
- // onStart will _always_ be called, even when the activation
204
- // criteria isn't met yet. This makes sure onGestureBegin is only
205
- // called when the criteria is really met.
206
- if (!ctx.hasCalledOnStart) {
207
- ctx.hasCalledOnStart = true;
208
- runOnJS(onGestureBegin)();
209
- }
210
- },
211
- onEnd: event => {
212
- gestureState.value = event.state;
213
- const nextOpen = Math.abs(event.translationX) > SWIPE_MIN_OFFSET && Math.abs(event.translationX) > swipeMinVelocity || Math.abs(event.translationX) > swipeMinDistance ? drawerPosition === 'left' ?
214
- // If swiped to right, open the drawer, otherwise close it
215
- (event.velocityX === 0 ? event.translationX : event.velocityX) > 0 :
216
- // If swiped to left, open the drawer, otherwise close it
217
- (event.velocityX === 0 ? event.translationX : event.velocityX) < 0 : open;
218
- toggleDrawer(nextOpen, event.velocityX);
219
- },
220
- onFinish: () => {
221
- runOnJS(onGestureFinish)();
222
- }
223
- });
224
- const translateX = useDerivedValue(() => {
225
- // Comment stolen from react-native-gesture-handler/DrawerLayout
226
- //
227
- // While closing the drawer when user starts gesture outside of its area (in greyed
228
- // out part of the window), we want the drawer to follow only once finger reaches the
229
- // edge of the drawer.
230
- // E.g. on the diagram below drawer is illustrate by X signs and the greyed out area by
231
- // dots. The touch gesture starts at '*' and moves left, touch path is indicated by
232
- // an arrow pointing left
233
- // 1) +---------------+ 2) +---------------+ 3) +---------------+ 4) +---------------+
234
- // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|
235
- // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|
236
- // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|
237
- // |XXXXXXXX|......| |XXXXXXXX|.<-*..| |XXXXXXXX|<--*..| |XXXXX|<-----*..|
238
- // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|
239
- // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|
240
- // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|
241
- // +---------------+ +---------------+ +---------------+ +---------------+
242
- //
243
- // For the above to work properly we define animated value that will keep start position
244
- // of the gesture. Then we use that value to calculate how much we need to subtract from
245
- // the translationX. If the gesture started on the greyed out area we take the distance from the
246
- // edge of the drawer to the start position. Otherwise we don't subtract at all and the
247
- // drawer be pulled back as soon as you start the pan.
248
- //
249
- // This is used only when drawerType is "front"
250
- const touchDistance = drawerType === 'front' && gestureState.value === GestureState.ACTIVE ? minmax(drawerPosition === 'left' ? touchStartX.value - drawerWidth : layout.width - drawerWidth - touchStartX.value, 0, layout.width) : 0;
251
- const translateX = drawerPosition === 'left' ? minmax(translationX.value + touchDistance, -drawerWidth, 0) : minmax(translationX.value - touchDistance, 0, drawerWidth);
252
- return translateX;
253
- });
254
- const drawerAnimatedStyle = useAnimatedStyle(() => {
255
- const distanceFromEdge = layout.width - drawerWidth;
256
- return {
257
- transform: drawerType === 'permanent' ?
258
- // Reanimated needs the property to be present, but it results in Browser bug
259
- // https://bugs.chromium.org/p/chromium/issues/detail?id=20574
260
- [] : [{
261
- translateX:
262
- // The drawer stays in place when `drawerType` is `back`
263
- (drawerType === 'back' ? 0 : translateX.value) + (drawerPosition === 'left' ? 0 : distanceFromEdge)
264
- }]
265
- };
266
- });
267
- const contentAnimatedStyle = useAnimatedStyle(() => {
268
- return {
269
- transform: drawerType === 'permanent' ?
270
- // Reanimated needs the property to be present, but it results in Browser bug
271
- // https://bugs.chromium.org/p/chromium/issues/detail?id=20574
272
- [] : [{
273
- translateX:
274
- // The screen content stays in place when `drawerType` is `front`
275
- drawerType === 'front' ? 0 : translateX.value + drawerWidth * (drawerPosition === 'left' ? 1 : -1)
276
- }]
277
- };
278
- });
279
- const progress = useDerivedValue(() => {
280
- return drawerType === 'permanent' ? 1 : interpolate(translateX.value, [getDrawerTranslationX(false), getDrawerTranslationX(true)], [0, 1]);
281
- });
282
- return /*#__PURE__*/React.createElement(GestureHandlerRootView, {
57
+ } : null;
58
+ const drawerAnimatedStyle = drawerType !== 'permanent' ? {
59
+ transition: 'transform 0.3s',
60
+ transform: [{
61
+ // The drawer stays in place at open position when `drawerType` is `back`
62
+ translateX: open || drawerType === 'back' ? drawerPosition === 'left' ? 0 : layout.width - drawerWidth : drawerPosition === 'left' ? -drawerWidth : layout.width
63
+ }]
64
+ } : null;
65
+ const contentAnimatedStyle = drawerType !== 'permanent' ? {
66
+ transition: 'transform 0.3s',
67
+ transform: [{
68
+ translateX: open ?
69
+ // The screen content stays in place when `drawerType` is `front`
70
+ drawerType === 'front' ? 0 : drawerWidth * (drawerPosition === 'left' ? 1 : -1) : 0
71
+ }]
72
+ } : null;
73
+ return /*#__PURE__*/React.createElement(View, {
283
74
  style: [styles.container, style]
284
75
  }, /*#__PURE__*/React.createElement(DrawerProgressContext.Provider, {
285
76
  value: progress
286
- }, /*#__PURE__*/React.createElement(PanGestureHandler, _extends({
287
- activeOffsetX: [-SWIPE_MIN_OFFSET, SWIPE_MIN_OFFSET],
288
- failOffsetY: [-SWIPE_MIN_OFFSET, SWIPE_MIN_OFFSET],
289
- hitSlop: hitSlop,
290
- enabled: drawerType !== 'permanent' && swipeEnabled,
291
- onGestureEvent: onGestureEvent
292
- }, gestureHandlerProps), /*#__PURE__*/React.createElement(Animated.View, {
77
+ }, /*#__PURE__*/React.createElement(View, {
293
78
  style: [styles.main, {
294
79
  flexDirection: drawerType === 'permanent' && !isRight ? 'row-reverse' : 'row'
295
80
  }]
296
- }, /*#__PURE__*/React.createElement(Animated.View, {
81
+ }, /*#__PURE__*/React.createElement(View, {
297
82
  style: [styles.content, contentAnimatedStyle]
298
83
  }, /*#__PURE__*/React.createElement(View, {
299
84
  accessibilityElementsHidden: isOpen && drawerType !== 'permanent',
300
85
  importantForAccessibility: isOpen && drawerType !== 'permanent' ? 'no-hide-descendants' : 'auto',
301
86
  style: styles.content
302
87
  }, children), drawerType !== 'permanent' ? /*#__PURE__*/React.createElement(Overlay, {
88
+ open: open,
303
89
  progress: progress,
304
- onPress: () => toggleDrawer(false),
90
+ onPress: () => onClose(),
305
91
  style: overlayStyle,
306
92
  accessibilityLabel: overlayAccessibilityLabel
307
- }) : null), /*#__PURE__*/React.createElement(Animated.View, {
308
- removeClippedSubviews: Platform.OS !== 'ios',
93
+ }) : null), /*#__PURE__*/React.createElement(View, {
94
+ ref: drawerRef,
309
95
  style: [styles.drawer, {
310
96
  width: drawerWidth,
311
97
  position: drawerType === 'permanent' ? 'relative' : 'absolute',
312
98
  zIndex: drawerType === 'back' ? -1 : 0
313
- }, drawerType === 'permanent' ? null : borderRadiiStyle, drawerAnimatedStyle, drawerStyle]
314
- }, renderDrawerContent())))));
99
+ }, borderRadiiStyle, drawerAnimatedStyle, drawerStyle]
100
+ }, renderDrawerContent()))));
315
101
  }
316
102
  const styles = StyleSheet.create({
317
103
  container: {
@@ -327,15 +113,7 @@ const styles = StyleSheet.create({
327
113
  flex: 1
328
114
  },
329
115
  main: {
330
- flex: 1,
331
- ...Platform.select({
332
- // FIXME: We need to hide `overflowX` on Web so the translated content doesn't show offscreen.
333
- // But adding `overflowX: 'hidden'` prevents content from collapsing the URL bar.
334
- web: null,
335
- default: {
336
- overflow: 'hidden'
337
- }
338
- })
116
+ flex: 1
339
117
  }
340
118
  });
341
119
  //# sourceMappingURL=Drawer.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","I18nManager","InteractionManager","Keyboard","Platform","StatusBar","StyleSheet","useWindowDimensions","View","Animated","interpolate","runOnJS","useAnimatedGestureHandler","useAnimatedStyle","useDerivedValue","useSharedValue","withSpring","useLatestCallback","DrawerProgressContext","GestureHandlerRootView","GestureState","PanGestureHandler","Overlay","SWIPE_EDGE_WIDTH","SWIPE_MIN_OFFSET","SWIPE_MIN_DISTANCE","SWIPE_MIN_VELOCITY","DRAWER_BORDER_RADIUS","minmax","value","start","end","Math","min","max","getDefaultDrawerWidth","_ref","height","width","smallerAxisSize","isLandscape","isTablet","appBarHeight","OS","maxWidth","Drawer","_ref2","layout","customLayout","drawerPosition","getConstants","isRTL","drawerStyle","drawerType","select","ios","default","gestureHandlerProps","hideStatusBarOnOpen","keyboardDismissMode","onClose","onOpen","onGestureStart","onGestureCancel","onGestureEnd","onTransitionStart","onTransitionEnd","open","overlayStyle","overlayAccessibilityLabel","statusBarAnimation","swipeEnabled","swipeEdgeWidth","swipeMinDistance","swipeMinVelocity","renderDrawerContent","children","style","windowDimensions","getDrawerWidth","flatten","endsWith","percentage","Number","replace","isFinite","drawerWidth","isOpen","isRight","getDrawerTranslationX","useCallback","hideStatusBar","hide","setHidden","useEffect","interactionHandleRef","useRef","startInteraction","current","createInteractionHandle","endInteraction","clearInteractionHandle","hideKeyboard","dismiss","onGestureBegin","onGestureFinish","onGestureAbort","hitSlop","right","undefined","left","borderRadiiStyle","borderTopLeftRadius","borderBottomLeftRadius","borderTopRightRadius","borderBottomRightRadius","touchStartX","touchX","translationX","gestureState","UNDETERMINED","handleAnimationStart","handleAnimationEnd","finished","toggleDrawer","velocity","translateX","stiffness","damping","mass","overshootClamping","restDisplacementThreshold","restSpeedThreshold","onGestureEvent","onStart","event","ctx","hasCalledOnStart","startX","state","x","onCancel","onActive","onEnd","nextOpen","abs","velocityX","onFinish","touchDistance","ACTIVE","drawerAnimatedStyle","distanceFromEdge","transform","contentAnimatedStyle","progress","createElement","styles","container","Provider","_extends","activeOffsetX","failOffsetY","enabled","main","flexDirection","content","accessibilityElementsHidden","importantForAccessibility","onPress","accessibilityLabel","removeClippedSubviews","drawer","position","zIndex","create","flex","top","bottom","backgroundColor","web","overflow"],"sourceRoot":"../../../src","sources":["views/Drawer.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["React","StyleSheet","useWindowDimensions","View","useLatestCallback","DrawerProgressContext","getDrawerWidth","useFakeSharedValue","Overlay","DRAWER_BORDER_RADIUS","Drawer","_ref","layout","customLayout","drawerPosition","drawerStyle","drawerType","onClose","onTransitionStart","onTransitionEnd","open","overlayStyle","overlayAccessibilityLabel","renderDrawerContent","children","style","windowDimensions","drawerWidth","progress","useEffect","value","drawerRef","useRef","onTransitionStartLatest","onTransitionEndLatest","element","current","addEventListener","isOpen","isRight","borderRadiiStyle","borderTopLeftRadius","borderBottomLeftRadius","borderTopRightRadius","borderBottomRightRadius","drawerAnimatedStyle","transition","transform","translateX","width","contentAnimatedStyle","createElement","styles","container","Provider","main","flexDirection","content","accessibilityElementsHidden","importantForAccessibility","onPress","accessibilityLabel","ref","drawer","position","zIndex","create","flex","top","bottom","maxWidth","backgroundColor"],"sourceRoot":"../../../src","sources":["views/Drawer.tsx"],"mappings":"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"}