react-native-drawer-layout 4.0.0-alpha.5 → 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 (61) 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 +59 -269
  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 +60 -270
  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 -1
  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 -418
  53. package/src/views/Overlay.native.tsx +63 -0
  54. package/src/views/Overlay.tsx +26 -59
  55. package/lib/commonjs/constants.js +0 -11
  56. package/lib/commonjs/constants.js.map +0 -1
  57. package/lib/module/constants.js +0 -5
  58. package/lib/module/constants.js.map +0 -1
  59. package/lib/typescript/src/constants.d.ts +0 -5
  60. package/lib/typescript/src/constants.d.ts.map +0 -1
  61. package/src/constants.tsx +0 -4
@@ -1,305 +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
- import { SWIPE_EDGE_WIDTH, SWIPE_MIN_DISTANCE, SWIPE_MIN_OFFSET, SWIPE_MIN_VELOCITY } from '../constants';
7
4
  import { DrawerProgressContext } from '../utils/DrawerProgressContext';
8
- import { GestureHandlerRootView, GestureState, PanGestureHandler } from './GestureHandler';
5
+ import { getDrawerWidth } from '../utils/getDrawerWidth';
6
+ import { useFakeSharedValue } from '../utils/useFakeSharedValue';
9
7
  import { Overlay } from './Overlay';
10
- const minmax = (value, start, end) => {
11
- 'worklet';
12
-
13
- return Math.min(Math.max(value, start), end);
14
- };
15
- const getDefaultDrawerWidth = _ref => {
16
- let {
17
- height,
18
- width
19
- } = _ref;
20
- /*
21
- * Default drawer width is screen width - header height
22
- * with a max width of 280 on mobile and 320 on tablet
23
- * https://material.io/components/navigation-drawer
24
- */
25
- const smallerAxisSize = Math.min(height, width);
26
- const isLandscape = width > height;
27
- const isTablet = smallerAxisSize >= 600;
28
- const appBarHeight = Platform.OS === 'ios' ? isLandscape ? 32 : 44 : 56;
29
- const maxWidth = isTablet ? 320 : 280;
30
- return Math.min(smallerAxisSize - appBarHeight, maxWidth);
31
- };
32
- export function Drawer(_ref2) {
8
+ const DRAWER_BORDER_RADIUS = 16;
9
+ export function Drawer(_ref) {
33
10
  let {
34
11
  layout: customLayout,
35
- drawerPosition = I18nManager.getConstants().isRTL ? 'right' : 'left',
12
+ drawerPosition = 'left',
36
13
  drawerStyle,
37
- drawerType = Platform.select({
38
- ios: 'slide',
39
- default: 'front'
40
- }),
41
- gestureHandlerProps,
42
- hideStatusBarOnOpen = false,
43
- keyboardDismissMode = 'on-drag',
14
+ drawerType = 'front',
44
15
  onClose,
45
- onOpen,
46
- onGestureStart,
47
- onGestureCancel,
48
- onGestureEnd,
49
16
  onTransitionStart,
50
17
  onTransitionEnd,
51
18
  open,
52
19
  overlayStyle,
53
20
  overlayAccessibilityLabel,
54
- statusBarAnimation = 'slide',
55
- swipeEnabled = Platform.OS !== 'web' && Platform.OS !== 'windows' && Platform.OS !== 'macos',
56
- swipeEdgeWidth = SWIPE_EDGE_WIDTH,
57
- swipeMinDistance = SWIPE_MIN_DISTANCE,
58
- swipeMinVelocity = SWIPE_MIN_VELOCITY,
59
21
  renderDrawerContent,
60
22
  children,
61
23
  style
62
- } = _ref2;
63
- // FIXME: temporary workaround for useSafeAreaFrame not updating on Web
24
+ } = _ref;
64
25
  const windowDimensions = useWindowDimensions();
65
26
  const layout = customLayout ?? windowDimensions;
66
- const getDrawerWidth = () => {
67
- const {
68
- width = getDefaultDrawerWidth(layout)
69
- } = StyleSheet.flatten(drawerStyle) || {};
70
- if (typeof width === 'string' && width.endsWith('%')) {
71
- // Try to calculate width if a percentage is given
72
- const percentage = Number(width.replace(/%$/, ''));
73
- if (Number.isFinite(percentage)) {
74
- return layout.width * (percentage / 100);
75
- }
76
- }
77
- return typeof width === 'number' ? width : 0;
78
- };
79
- const drawerWidth = getDrawerWidth();
80
- const isOpen = drawerType === 'permanent' ? true : open;
81
- const isRight = drawerPosition === 'right';
82
- const getDrawerTranslationX = React.useCallback(open => {
83
- 'worklet';
84
-
85
- if (drawerPosition === 'left') {
86
- return open ? 0 : -drawerWidth;
87
- }
88
- return open ? 0 : drawerWidth;
89
- }, [drawerPosition, drawerWidth]);
90
- const hideStatusBar = React.useCallback(hide => {
91
- if (hideStatusBarOnOpen) {
92
- StatusBar.setHidden(hide, statusBarAnimation);
93
- }
94
- }, [hideStatusBarOnOpen, statusBarAnimation]);
27
+ const drawerWidth = getDrawerWidth({
28
+ layout,
29
+ drawerStyle
30
+ });
31
+ const progress = useFakeSharedValue(open ? 1 : 0);
95
32
  React.useEffect(() => {
96
- hideStatusBar(isOpen);
97
- return () => hideStatusBar(false);
98
- }, [isOpen, hideStatusBarOnOpen, statusBarAnimation, hideStatusBar]);
99
- const interactionHandleRef = React.useRef(null);
100
- const startInteraction = () => {
101
- interactionHandleRef.current = InteractionManager.createInteractionHandle();
102
- };
103
- const endInteraction = () => {
104
- if (interactionHandleRef.current != null) {
105
- InteractionManager.clearInteractionHandle(interactionHandleRef.current);
106
- interactionHandleRef.current = null;
107
- }
108
- };
109
- const hideKeyboard = () => {
110
- if (keyboardDismissMode === 'on-drag') {
111
- Keyboard.dismiss();
112
- }
113
- };
114
- const onGestureBegin = () => {
115
- onGestureStart?.();
116
- startInteraction();
117
- hideKeyboard();
118
- hideStatusBar(true);
119
- };
120
- const onGestureFinish = () => {
121
- onGestureEnd?.();
122
- endInteraction();
123
- };
124
- const onGestureAbort = () => {
125
- onGestureCancel?.();
126
- endInteraction();
127
- };
128
-
129
- // FIXME: Currently hitSlop is broken when on Android when drawer is on right
130
- // https://github.com/software-mansion/react-native-gesture-handler/issues/569
131
- const hitSlop = isRight ?
132
- // Extend hitSlop to the side of the screen when drawer is closed
133
- // This lets the user drag the drawer from the side of the screen
134
- {
135
- right: 0,
136
- width: isOpen ? undefined : swipeEdgeWidth
137
- } : {
138
- left: 0,
139
- width: isOpen ? undefined : swipeEdgeWidth
140
- };
141
- const touchStartX = useSharedValue(0);
142
- const touchX = useSharedValue(0);
143
- const translationX = useSharedValue(getDrawerTranslationX(open));
144
- const gestureState = useSharedValue(GestureState.UNDETERMINED);
145
- const handleAnimationStart = useLatestCallback(open => {
146
- onTransitionStart?.(!open);
33
+ progress.value = open ? 1 : 0;
34
+ }, [open, progress]);
35
+ const drawerRef = React.useRef(null);
36
+ const onTransitionStartLatest = useLatestCallback(() => {
37
+ onTransitionStart?.(open === false);
147
38
  });
148
- const handleAnimationEnd = useLatestCallback((open, finished) => {
149
- if (!finished) return;
150
- onTransitionEnd?.(!open);
39
+ const onTransitionEndLatest = useLatestCallback(() => {
40
+ onTransitionEnd?.(open === false);
151
41
  });
152
- const toggleDrawer = React.useCallback((open, velocity) => {
153
- 'worklet';
154
-
155
- const translateX = getDrawerTranslationX(open);
156
- if (velocity === undefined) {
157
- runOnJS(handleAnimationStart)(open);
158
- }
159
- touchStartX.value = 0;
160
- touchX.value = 0;
161
- translationX.value = withSpring(translateX, {
162
- velocity,
163
- stiffness: 1000,
164
- damping: 500,
165
- mass: 3,
166
- overshootClamping: true,
167
- restDisplacementThreshold: 0.01,
168
- restSpeedThreshold: 0.01
169
- }, finished => runOnJS(handleAnimationEnd)(open, finished));
170
- if (open) {
171
- runOnJS(onOpen)();
172
- } else {
173
- runOnJS(onClose)();
174
- }
175
- }, [getDrawerTranslationX, handleAnimationEnd, handleAnimationStart, onClose, onOpen, touchStartX, touchX, translationX]);
176
- React.useEffect(() => toggleDrawer(open), [open, toggleDrawer]);
177
- const onGestureEvent = useAnimatedGestureHandler({
178
- onStart: (event, ctx) => {
179
- ctx.hasCalledOnStart = false;
180
- ctx.startX = translationX.value;
181
- gestureState.value = event.state;
182
- touchStartX.value = event.x;
183
- },
184
- onCancel: () => {
185
- runOnJS(onGestureAbort)();
186
- },
187
- onActive: (event, ctx) => {
188
- touchX.value = event.x;
189
- translationX.value = ctx.startX + event.translationX;
190
- gestureState.value = event.state;
191
-
192
- // onStart will _always_ be called, even when the activation
193
- // criteria isn't met yet. This makes sure onGestureBegin is only
194
- // called when the criteria is really met.
195
- if (!ctx.hasCalledOnStart) {
196
- ctx.hasCalledOnStart = true;
197
- runOnJS(onGestureBegin)();
198
- }
199
- },
200
- onEnd: event => {
201
- gestureState.value = event.state;
202
- const nextOpen = Math.abs(event.translationX) > SWIPE_MIN_OFFSET && Math.abs(event.translationX) > swipeMinVelocity || Math.abs(event.translationX) > swipeMinDistance ? drawerPosition === 'left' ?
203
- // If swiped to right, open the drawer, otherwise close it
204
- (event.velocityX === 0 ? event.translationX : event.velocityX) > 0 :
205
- // If swiped to left, open the drawer, otherwise close it
206
- (event.velocityX === 0 ? event.translationX : event.velocityX) < 0 : open;
207
- toggleDrawer(nextOpen, event.velocityX);
208
- },
209
- onFinish: () => {
210
- runOnJS(onGestureFinish)();
42
+ React.useEffect(() => {
43
+ const element = drawerRef.current;
44
+ if (element) {
45
+ element.addEventListener('transitionstart', onTransitionStartLatest);
46
+ element.addEventListener('transitionend', onTransitionEndLatest);
211
47
  }
212
- });
213
- const translateX = useDerivedValue(() => {
214
- // Comment stolen from react-native-gesture-handler/DrawerLayout
215
- //
216
- // While closing the drawer when user starts gesture outside of its area (in greyed
217
- // out part of the window), we want the drawer to follow only once finger reaches the
218
- // edge of the drawer.
219
- // E.g. on the diagram below drawer is illustrate by X signs and the greyed out area by
220
- // dots. The touch gesture starts at '*' and moves left, touch path is indicated by
221
- // an arrow pointing left
222
- // 1) +---------------+ 2) +---------------+ 3) +---------------+ 4) +---------------+
223
- // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|
224
- // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|
225
- // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|
226
- // |XXXXXXXX|......| |XXXXXXXX|.<-*..| |XXXXXXXX|<--*..| |XXXXX|<-----*..|
227
- // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|
228
- // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|
229
- // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|
230
- // +---------------+ +---------------+ +---------------+ +---------------+
231
- //
232
- // For the above to work properly we define animated value that will keep start position
233
- // of the gesture. Then we use that value to calculate how much we need to subtract from
234
- // the translationX. If the gesture started on the greyed out area we take the distance from the
235
- // edge of the drawer to the start position. Otherwise we don't subtract at all and the
236
- // drawer be pulled back as soon as you start the pan.
237
- //
238
- // This is used only when drawerType is "front"
239
- const touchDistance = drawerType === 'front' && gestureState.value === GestureState.ACTIVE ? minmax(drawerPosition === 'left' ? touchStartX.value - drawerWidth : layout.width - drawerWidth - touchStartX.value, 0, layout.width) : 0;
240
- const translateX = drawerPosition === 'left' ? minmax(translationX.value + touchDistance, -drawerWidth, 0) : minmax(translationX.value - touchDistance, 0, drawerWidth);
241
- return translateX;
242
- });
243
- const drawerAnimatedStyle = useAnimatedStyle(() => {
244
- return {
245
- transform: drawerType === 'permanent' ?
246
- // Reanimated needs the property to be present, but it results in Browser bug
247
- // https://bugs.chromium.org/p/chromium/issues/detail?id=20574
248
- [] : [{
249
- translateX:
250
- // The drawer stays in place when `drawerType` is `back`
251
- drawerType === 'back' ? 0 : translateX.value
252
- }]
253
- };
254
- });
255
- const contentAnimatedStyle = useAnimatedStyle(() => {
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 screen content stays in place when `drawerType` is `front`
263
- drawerType === 'front' ? 0 : translateX.value + drawerWidth * (drawerPosition === 'left' ? 1 : -1)
264
- }]
265
- };
266
- });
267
- const progress = useDerivedValue(() => {
268
- return drawerType === 'permanent' ? 1 : interpolate(translateX.value, [getDrawerTranslationX(false), getDrawerTranslationX(true)], [0, 1]);
269
- });
270
- return /*#__PURE__*/React.createElement(GestureHandlerRootView, {
48
+ }, [onTransitionEndLatest, onTransitionStartLatest]);
49
+ const isOpen = drawerType === 'permanent' ? true : open;
50
+ const isRight = drawerPosition === 'right';
51
+ const borderRadiiStyle = drawerType !== 'permanent' ? isRight ? {
52
+ borderTopLeftRadius: DRAWER_BORDER_RADIUS,
53
+ borderBottomLeftRadius: DRAWER_BORDER_RADIUS
54
+ } : {
55
+ borderTopRightRadius: DRAWER_BORDER_RADIUS,
56
+ borderBottomRightRadius: DRAWER_BORDER_RADIUS
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, {
271
74
  style: [styles.container, style]
272
75
  }, /*#__PURE__*/React.createElement(DrawerProgressContext.Provider, {
273
76
  value: progress
274
- }, /*#__PURE__*/React.createElement(PanGestureHandler, _extends({
275
- activeOffsetX: [-SWIPE_MIN_OFFSET, SWIPE_MIN_OFFSET],
276
- failOffsetY: [-SWIPE_MIN_OFFSET, SWIPE_MIN_OFFSET],
277
- hitSlop: hitSlop,
278
- enabled: drawerType !== 'permanent' && swipeEnabled,
279
- onGestureEvent: onGestureEvent
280
- }, gestureHandlerProps), /*#__PURE__*/React.createElement(Animated.View, {
77
+ }, /*#__PURE__*/React.createElement(View, {
281
78
  style: [styles.main, {
282
79
  flexDirection: drawerType === 'permanent' && !isRight ? 'row-reverse' : 'row'
283
80
  }]
284
- }, /*#__PURE__*/React.createElement(Animated.View, {
81
+ }, /*#__PURE__*/React.createElement(View, {
285
82
  style: [styles.content, contentAnimatedStyle]
286
83
  }, /*#__PURE__*/React.createElement(View, {
287
84
  accessibilityElementsHidden: isOpen && drawerType !== 'permanent',
288
85
  importantForAccessibility: isOpen && drawerType !== 'permanent' ? 'no-hide-descendants' : 'auto',
289
86
  style: styles.content
290
87
  }, children), drawerType !== 'permanent' ? /*#__PURE__*/React.createElement(Overlay, {
88
+ open: open,
291
89
  progress: progress,
292
- onPress: () => toggleDrawer(false),
90
+ onPress: () => onClose(),
293
91
  style: overlayStyle,
294
92
  accessibilityLabel: overlayAccessibilityLabel
295
- }) : null), /*#__PURE__*/React.createElement(Animated.View, {
296
- removeClippedSubviews: Platform.OS !== 'ios',
93
+ }) : null), /*#__PURE__*/React.createElement(View, {
94
+ ref: drawerRef,
297
95
  style: [styles.drawer, {
298
96
  width: drawerWidth,
299
97
  position: drawerType === 'permanent' ? 'relative' : 'absolute',
300
98
  zIndex: drawerType === 'back' ? -1 : 0
301
- }, drawerAnimatedStyle, drawerStyle]
302
- }, renderDrawerContent())))));
99
+ }, borderRadiiStyle, drawerAnimatedStyle, drawerStyle]
100
+ }, renderDrawerContent()))));
303
101
  }
304
102
  const styles = StyleSheet.create({
305
103
  container: {
@@ -315,15 +113,7 @@ const styles = StyleSheet.create({
315
113
  flex: 1
316
114
  },
317
115
  main: {
318
- flex: 1,
319
- ...Platform.select({
320
- // FIXME: We need to hide `overflowX` on Web so the translated content doesn't show offscreen.
321
- // But adding `overflowX: 'hidden'` prevents content from collapsing the URL bar.
322
- web: null,
323
- default: {
324
- overflow: 'hidden'
325
- }
326
- })
116
+ flex: 1
327
117
  }
328
118
  });
329
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","SWIPE_EDGE_WIDTH","SWIPE_MIN_DISTANCE","SWIPE_MIN_OFFSET","SWIPE_MIN_VELOCITY","DrawerProgressContext","GestureHandlerRootView","GestureState","PanGestureHandler","Overlay","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","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","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":";AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SACEC,WAAW,EACXC,kBAAkB,EAClBC,QAAQ,EACRC,QAAQ,EACRC,SAAS,EACTC,UAAU,EACVC,mBAAmB,EACnBC,IAAI,QACC,cAAc;AACrB,OAAOC,QAAQ,IACbC,WAAW,EACXC,OAAO,EACPC,yBAAyB,EACzBC,gBAAgB,EAChBC,eAAe,EACfC,cAAc,EACdC,UAAU,QACL,yBAAyB;AAChC,OAAOC,iBAAiB,MAAM,qBAAqB;AAEnD,SACEC,gBAAgB,EAChBC,kBAAkB,EAClBC,gBAAgB,EAChBC,kBAAkB,QACb,cAAc;AAErB,SAASC,qBAAqB,QAAQ,gCAAgC;AACtE,SACEC,sBAAsB,EACtBC,YAAY,EACZC,iBAAiB,QAEZ,kBAAkB;AACzB,SAASC,OAAO,QAAQ,WAAW;AAEnC,MAAMC,MAAM,GAAGA,CAACC,KAAa,EAAEC,KAAa,EAAEC,GAAW,KAAK;EAC5D,SAAS;;EAET,OAAOC,IAAI,CAACC,GAAG,CAACD,IAAI,CAACE,GAAG,CAACL,KAAK,EAAEC,KAAK,CAAC,EAAEC,GAAG,CAAC;AAC9C,CAAC;AAED,MAAMI,qBAAqB,GAAGC,IAAA,IAMxB;EAAA,IANyB;IAC7BC,MAAM;IACNC;EAIF,CAAC,GAAAF,IAAA;EACC;AACF;AACA;AACA;AACA;EACE,MAAMG,eAAe,GAAGP,IAAI,CAACC,GAAG,CAACI,MAAM,EAAEC,KAAK,CAAC;EAC/C,MAAME,WAAW,GAAGF,KAAK,GAAGD,MAAM;EAClC,MAAMI,QAAQ,GAAGF,eAAe,IAAI,GAAG;EACvC,MAAMG,YAAY,GAAGrC,QAAQ,CAACsC,EAAE,KAAK,KAAK,GAAIH,WAAW,GAAG,EAAE,GAAG,EAAE,GAAI,EAAE;EACzE,MAAMI,QAAQ,GAAGH,QAAQ,GAAG,GAAG,GAAG,GAAG;EAErC,OAAOT,IAAI,CAACC,GAAG,CAACM,eAAe,GAAGG,YAAY,EAAEE,QAAQ,CAAC;AAC3D,CAAC;AAED,OAAO,SAASC,MAAMA,CAAAC,KAAA,EA4BN;EAAA,IA5BO;IACrBC,MAAM,EAAEC,YAAY;IACpBC,cAAc,GAAG/C,WAAW,CAACgD,YAAY,CAAC,CAAC,CAACC,KAAK,GAAG,OAAO,GAAG,MAAM;IACpEC,WAAW;IACXC,UAAU,GAAGhD,QAAQ,CAACiD,MAAM,CAAC;MAAEC,GAAG,EAAE,OAAO;MAAEC,OAAO,EAAE;IAAQ,CAAC,CAAC;IAChEC,mBAAmB;IACnBC,mBAAmB,GAAG,KAAK;IAC3BC,mBAAmB,GAAG,SAAS;IAC/BC,OAAO;IACPC,MAAM;IACNC,cAAc;IACdC,eAAe;IACfC,YAAY;IACZC,iBAAiB;IACjBC,eAAe;IACfC,IAAI;IACJC,YAAY;IACZC,yBAAyB;IACzBC,kBAAkB,GAAG,OAAO;IAC5BC,YAAY,GAAGlE,QAAQ,CAACsC,EAAE,KAAK,KAAK,IAClCtC,QAAQ,CAACsC,EAAE,KAAK,SAAS,IACzBtC,QAAQ,CAACsC,EAAE,KAAK,OAAO;IACzB6B,cAAc,GAAGrD,gBAAgB;IACjCsD,gBAAgB,GAAGrD,kBAAkB;IACrCsD,gBAAgB,GAAGpD,kBAAkB;IACrCqD,mBAAmB;IACnBC,QAAQ;IACRC;EACW,CAAC,GAAA/B,KAAA;EACZ;EACA,MAAMgC,gBAAgB,GAAGtE,mBAAmB,CAAC,CAAC;EAC9C,MAAMuC,MAAM,GAAGC,YAAY,IAAI8B,gBAAgB;EAE/C,MAAMC,cAAc,GAAGA,CAAA,KAAc;IACnC,MAAM;MAAEzC,KAAK,GAAGH,qBAAqB,CAACY,MAAM;IAAE,CAAC,GAC7CxC,UAAU,CAACyE,OAAO,CAAC5B,WAAW,CAAC,IAAI,CAAC,CAAC;IAEvC,IAAI,OAAOd,KAAK,KAAK,QAAQ,IAAIA,KAAK,CAAC2C,QAAQ,CAAC,GAAG,CAAC,EAAE;MACpD;MACA,MAAMC,UAAU,GAAGC,MAAM,CAAC7C,KAAK,CAAC8C,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;MAElD,IAAID,MAAM,CAACE,QAAQ,CAACH,UAAU,CAAC,EAAE;QAC/B,OAAOnC,MAAM,CAACT,KAAK,IAAI4C,UAAU,GAAG,GAAG,CAAC;MAC1C;IACF;IAEA,OAAO,OAAO5C,KAAK,KAAK,QAAQ,GAAGA,KAAK,GAAG,CAAC;EAC9C,CAAC;EAED,MAAMgD,WAAW,GAAGP,cAAc,CAAC,CAAC;EAEpC,MAAMQ,MAAM,GAAGlC,UAAU,KAAK,WAAW,GAAG,IAAI,GAAGc,IAAI;EACvD,MAAMqB,OAAO,GAAGvC,cAAc,KAAK,OAAO;EAE1C,MAAMwC,qBAAqB,GAAGxF,KAAK,CAACyF,WAAW,CAC5CvB,IAAa,IAAK;IACjB,SAAS;;IAET,IAAIlB,cAAc,KAAK,MAAM,EAAE;MAC7B,OAAOkB,IAAI,GAAG,CAAC,GAAG,CAACmB,WAAW;IAChC;IAEA,OAAOnB,IAAI,GAAG,CAAC,GAAGmB,WAAW;EAC/B,CAAC,EACD,CAACrC,cAAc,EAAEqC,WAAW,CAC9B,CAAC;EAED,MAAMK,aAAa,GAAG1F,KAAK,CAACyF,WAAW,CACpCE,IAAa,IAAK;IACjB,IAAIlC,mBAAmB,EAAE;MACvBpD,SAAS,CAACuF,SAAS,CAACD,IAAI,EAAEtB,kBAAkB,CAAC;IAC/C;EACF,CAAC,EACD,CAACZ,mBAAmB,EAAEY,kBAAkB,CAC1C,CAAC;EAEDrE,KAAK,CAAC6F,SAAS,CAAC,MAAM;IACpBH,aAAa,CAACJ,MAAM,CAAC;IAErB,OAAO,MAAMI,aAAa,CAAC,KAAK,CAAC;EACnC,CAAC,EAAE,CAACJ,MAAM,EAAE7B,mBAAmB,EAAEY,kBAAkB,EAAEqB,aAAa,CAAC,CAAC;EAEpE,MAAMI,oBAAoB,GAAG9F,KAAK,CAAC+F,MAAM,CAAgB,IAAI,CAAC;EAE9D,MAAMC,gBAAgB,GAAGA,CAAA,KAAM;IAC7BF,oBAAoB,CAACG,OAAO,GAAG/F,kBAAkB,CAACgG,uBAAuB,CAAC,CAAC;EAC7E,CAAC;EAED,MAAMC,cAAc,GAAGA,CAAA,KAAM;IAC3B,IAAIL,oBAAoB,CAACG,OAAO,IAAI,IAAI,EAAE;MACxC/F,kBAAkB,CAACkG,sBAAsB,CAACN,oBAAoB,CAACG,OAAO,CAAC;MACvEH,oBAAoB,CAACG,OAAO,GAAG,IAAI;IACrC;EACF,CAAC;EAED,MAAMI,YAAY,GAAGA,CAAA,KAAM;IACzB,IAAI3C,mBAAmB,KAAK,SAAS,EAAE;MACrCvD,QAAQ,CAACmG,OAAO,CAAC,CAAC;IACpB;EACF,CAAC;EAED,MAAMC,cAAc,GAAGA,CAAA,KAAM;IAC3B1C,cAAc,GAAG,CAAC;IAClBmC,gBAAgB,CAAC,CAAC;IAClBK,YAAY,CAAC,CAAC;IACdX,aAAa,CAAC,IAAI,CAAC;EACrB,CAAC;EAED,MAAMc,eAAe,GAAGA,CAAA,KAAM;IAC5BzC,YAAY,GAAG,CAAC;IAChBoC,cAAc,CAAC,CAAC;EAClB,CAAC;EAED,MAAMM,cAAc,GAAGA,CAAA,KAAM;IAC3B3C,eAAe,GAAG,CAAC;IACnBqC,cAAc,CAAC,CAAC;EAClB,CAAC;;EAED;EACA;EACA,MAAMO,OAAO,GAAGnB,OAAO;EACnB;EACA;EACA;IAAEoB,KAAK,EAAE,CAAC;IAAEtE,KAAK,EAAEiD,MAAM,GAAGsB,SAAS,GAAGrC;EAAe,CAAC,GACxD;IAAEsC,IAAI,EAAE,CAAC;IAAExE,KAAK,EAAEiD,MAAM,GAAGsB,SAAS,GAAGrC;EAAe,CAAC;EAE3D,MAAMuC,WAAW,GAAG/F,cAAc,CAAC,CAAC,CAAC;EACrC,MAAMgG,MAAM,GAAGhG,cAAc,CAAC,CAAC,CAAC;EAChC,MAAMiG,YAAY,GAAGjG,cAAc,CAACyE,qBAAqB,CAACtB,IAAI,CAAC,CAAC;EAChE,MAAM+C,YAAY,GAAGlG,cAAc,CAAeS,YAAY,CAAC0F,YAAY,CAAC;EAE5E,MAAMC,oBAAoB,GAAGlG,iBAAiB,CAAEiD,IAAa,IAAK;IAChEF,iBAAiB,GAAG,CAACE,IAAI,CAAC;EAC5B,CAAC,CAAC;EAEF,MAAMkD,kBAAkB,GAAGnG,iBAAiB,CAC1C,CAACiD,IAAa,EAAEmD,QAAkB,KAAK;IACrC,IAAI,CAACA,QAAQ,EAAE;IACfpD,eAAe,GAAG,CAACC,IAAI,CAAC;EAC1B,CACF,CAAC;EAED,MAAMoD,YAAY,GAAGtH,KAAK,CAACyF,WAAW,CACpC,CAACvB,IAAa,EAAEqD,QAAiB,KAAK;IACpC,SAAS;;IAET,MAAMC,UAAU,GAAGhC,qBAAqB,CAACtB,IAAI,CAAC;IAE9C,IAAIqD,QAAQ,KAAKX,SAAS,EAAE;MAC1BjG,OAAO,CAACwG,oBAAoB,CAAC,CAACjD,IAAI,CAAC;IACrC;IAEA4C,WAAW,CAAClF,KAAK,GAAG,CAAC;IACrBmF,MAAM,CAACnF,KAAK,GAAG,CAAC;IAChBoF,YAAY,CAACpF,KAAK,GAAGZ,UAAU,CAC7BwG,UAAU,EACV;MACED,QAAQ;MACRE,SAAS,EAAE,IAAI;MACfC,OAAO,EAAE,GAAG;MACZC,IAAI,EAAE,CAAC;MACPC,iBAAiB,EAAE,IAAI;MACvBC,yBAAyB,EAAE,IAAI;MAC/BC,kBAAkB,EAAE;IACtB,CAAC,EACAT,QAAQ,IAAK1G,OAAO,CAACyG,kBAAkB,CAAC,CAAClD,IAAI,EAAEmD,QAAQ,CAC1D,CAAC;IAED,IAAInD,IAAI,EAAE;MACRvD,OAAO,CAACiD,MAAM,CAAC,CAAC,CAAC;IACnB,CAAC,MAAM;MACLjD,OAAO,CAACgD,OAAO,CAAC,CAAC,CAAC;IACpB;EACF,CAAC,EACD,CACE6B,qBAAqB,EACrB4B,kBAAkB,EAClBD,oBAAoB,EACpBxD,OAAO,EACPC,MAAM,EACNkD,WAAW,EACXC,MAAM,EACNC,YAAY,CAEhB,CAAC;EAEDhH,KAAK,CAAC6F,SAAS,CAAC,MAAMyB,YAAY,CAACpD,IAAI,CAAC,EAAE,CAACA,IAAI,EAAEoD,YAAY,CAAC,CAAC;EAE/D,MAAMS,cAAc,GAAGnH,yBAAyB,CAG9C;IACAoH,OAAO,EAAEA,CAACC,KAAK,EAAEC,GAAG,KAAK;MACvBA,GAAG,CAACC,gBAAgB,GAAG,KAAK;MAC5BD,GAAG,CAACE,MAAM,GAAGpB,YAAY,CAACpF,KAAK;MAC/BqF,YAAY,CAACrF,KAAK,GAAGqG,KAAK,CAACI,KAAK;MAChCvB,WAAW,CAAClF,KAAK,GAAGqG,KAAK,CAACK,CAAC;IAC7B,CAAC;IACDC,QAAQ,EAAEA,CAAA,KAAM;MACd5H,OAAO,CAAC8F,cAAc,CAAC,CAAC,CAAC;IAC3B,CAAC;IACD+B,QAAQ,EAAEA,CAACP,KAAK,EAAEC,GAAG,KAAK;MACxBnB,MAAM,CAACnF,KAAK,GAAGqG,KAAK,CAACK,CAAC;MACtBtB,YAAY,CAACpF,KAAK,GAAGsG,GAAG,CAACE,MAAM,GAAGH,KAAK,CAACjB,YAAY;MACpDC,YAAY,CAACrF,KAAK,GAAGqG,KAAK,CAACI,KAAK;;MAEhC;MACA;MACA;MACA,IAAI,CAACH,GAAG,CAACC,gBAAgB,EAAE;QACzBD,GAAG,CAACC,gBAAgB,GAAG,IAAI;QAC3BxH,OAAO,CAAC4F,cAAc,CAAC,CAAC,CAAC;MAC3B;IACF,CAAC;IACDkC,KAAK,EAAGR,KAAK,IAAK;MAChBhB,YAAY,CAACrF,KAAK,GAAGqG,KAAK,CAACI,KAAK;MAEhC,MAAMK,QAAQ,GACX3G,IAAI,CAAC4G,GAAG,CAACV,KAAK,CAACjB,YAAY,CAAC,GAAG5F,gBAAgB,IAC9CW,IAAI,CAAC4G,GAAG,CAACV,KAAK,CAACjB,YAAY,CAAC,GAAGvC,gBAAgB,IACjD1C,IAAI,CAAC4G,GAAG,CAACV,KAAK,CAACjB,YAAY,CAAC,GAAGxC,gBAAgB,GAC3CxB,cAAc,KAAK,MAAM;MACvB;MACA,CAACiF,KAAK,CAACW,SAAS,KAAK,CAAC,GAAGX,KAAK,CAACjB,YAAY,GAAGiB,KAAK,CAACW,SAAS,IAAI,CAAC;MAClE;MACA,CAACX,KAAK,CAACW,SAAS,KAAK,CAAC,GAAGX,KAAK,CAACjB,YAAY,GAAGiB,KAAK,CAACW,SAAS,IAAI,CAAC,GACpE1E,IAAI;MAEVoD,YAAY,CAACoB,QAAQ,EAAET,KAAK,CAACW,SAAS,CAAC;IACzC,CAAC;IACDC,QAAQ,EAAEA,CAAA,KAAM;MACdlI,OAAO,CAAC6F,eAAe,CAAC,CAAC,CAAC;IAC5B;EACF,CAAC,CAAC;EAEF,MAAMgB,UAAU,GAAG1G,eAAe,CAAC,MAAM;IACvC;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,MAAMgI,aAAa,GACjB1F,UAAU,KAAK,OAAO,IAAI6D,YAAY,CAACrF,KAAK,KAAKJ,YAAY,CAACuH,MAAM,GAChEpH,MAAM,CACJqB,cAAc,KAAK,MAAM,GACrB8D,WAAW,CAAClF,KAAK,GAAGyD,WAAW,GAC/BvC,MAAM,CAACT,KAAK,GAAGgD,WAAW,GAAGyB,WAAW,CAAClF,KAAK,EAClD,CAAC,EACDkB,MAAM,CAACT,KACT,CAAC,GACD,CAAC;IAEP,MAAMmF,UAAU,GACdxE,cAAc,KAAK,MAAM,GACrBrB,MAAM,CAACqF,YAAY,CAACpF,KAAK,GAAGkH,aAAa,EAAE,CAACzD,WAAW,EAAE,CAAC,CAAC,GAC3D1D,MAAM,CAACqF,YAAY,CAACpF,KAAK,GAAGkH,aAAa,EAAE,CAAC,EAAEzD,WAAW,CAAC;IAEhE,OAAOmC,UAAU;EACnB,CAAC,CAAC;EAEF,MAAMwB,mBAAmB,GAAGnI,gBAAgB,CAAC,MAAM;IACjD,OAAO;MACLoI,SAAS,EACP7F,UAAU,KAAK,WAAW;MACtB;MACA;MACA,EAAE,GACF,CACE;QACEoE,UAAU;QACR;QACApE,UAAU,KAAK,MAAM,GAAG,CAAC,GAAGoE,UAAU,CAAC5F;MAC3C,CAAC;IAEX,CAAC;EACH,CAAC,CAAC;EAEF,MAAMsH,oBAAoB,GAAGrI,gBAAgB,CAAC,MAAM;IAClD,OAAO;MACLoI,SAAS,EACP7F,UAAU,KAAK,WAAW;MACtB;MACA;MACA,EAAE,GACF,CACE;QACEoE,UAAU;QACR;QACApE,UAAU,KAAK,OAAO,GAClB,CAAC,GACDoE,UAAU,CAAC5F,KAAK,GAChByD,WAAW,IAAIrC,cAAc,KAAK,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;MACzD,CAAC;IAEX,CAAC;EACH,CAAC,CAAC;EAEF,MAAMmG,QAAQ,GAAGrI,eAAe,CAAC,MAAM;IACrC,OAAOsC,UAAU,KAAK,WAAW,GAC7B,CAAC,GACD1C,WAAW,CACT8G,UAAU,CAAC5F,KAAK,EAChB,CAAC4D,qBAAqB,CAAC,KAAK,CAAC,EAAEA,qBAAqB,CAAC,IAAI,CAAC,CAAC,EAC3D,CAAC,CAAC,EAAE,CAAC,CACP,CAAC;EACP,CAAC,CAAC;EAEF,oBACExF,KAAA,CAAAoJ,aAAA,CAAC7H,sBAAsB;IAACqD,KAAK,EAAE,CAACyE,MAAM,CAACC,SAAS,EAAE1E,KAAK;EAAE,gBACvD5E,KAAA,CAAAoJ,aAAA,CAAC9H,qBAAqB,CAACiI,QAAQ;IAAC3H,KAAK,EAAEuH;EAAS,gBAC9CnJ,KAAA,CAAAoJ,aAAA,CAAC3H,iBAAiB,EAAA+H,QAAA;IAChBC,aAAa,EAAE,CAAC,CAACrI,gBAAgB,EAAEA,gBAAgB,CAAE;IACrDsI,WAAW,EAAE,CAAC,CAACtI,gBAAgB,EAAEA,gBAAgB,CAAE;IACnDsF,OAAO,EAAEA,OAAQ;IACjBiD,OAAO,EAAEvG,UAAU,KAAK,WAAW,IAAIkB,YAAa;IACpDyD,cAAc,EAAEA;EAAe,GAC3BvE,mBAAmB,gBAGvBxD,KAAA,CAAAoJ,aAAA,CAAC3I,QAAQ,CAACD,IAAI;IACZoE,KAAK,EAAE,CACLyE,MAAM,CAACO,IAAI,EACX;MACEC,aAAa,EACXzG,UAAU,KAAK,WAAW,IAAI,CAACmC,OAAO,GAClC,aAAa,GACb;IACR,CAAC;EACD,gBAEFvF,KAAA,CAAAoJ,aAAA,CAAC3I,QAAQ,CAACD,IAAI;IAACoE,KAAK,EAAE,CAACyE,MAAM,CAACS,OAAO,EAAEZ,oBAAoB;EAAE,gBAC3DlJ,KAAA,CAAAoJ,aAAA,CAAC5I,IAAI;IACHuJ,2BAA2B,EACzBzE,MAAM,IAAIlC,UAAU,KAAK,WAC1B;IACD4G,yBAAyB,EACvB1E,MAAM,IAAIlC,UAAU,KAAK,WAAW,GAChC,qBAAqB,GACrB,MACL;IACDwB,KAAK,EAAEyE,MAAM,CAACS;EAAQ,GAErBnF,QACG,CAAC,EACNvB,UAAU,KAAK,WAAW,gBACzBpD,KAAA,CAAAoJ,aAAA,CAAC1H,OAAO;IACNyH,QAAQ,EAAEA,QAAS;IACnBc,OAAO,EAAEA,CAAA,KAAM3C,YAAY,CAAC,KAAK,CAAE;IACnC1C,KAAK,EAAET,YAAa;IACpB+F,kBAAkB,EAAE9F;EAA0B,CAC/C,CAAC,GACA,IACS,CAAC,eAChBpE,KAAA,CAAAoJ,aAAA,CAAC3I,QAAQ,CAACD,IAAI;IACZ2J,qBAAqB,EAAE/J,QAAQ,CAACsC,EAAE,KAAK,KAAM;IAC7CkC,KAAK,EAAE,CACLyE,MAAM,CAACe,MAAM,EACb;MACE/H,KAAK,EAAEgD,WAAW;MAClBgF,QAAQ,EACNjH,UAAU,KAAK,WAAW,GAAG,UAAU,GAAG,UAAU;MACtDkH,MAAM,EAAElH,UAAU,KAAK,MAAM,GAAG,CAAC,CAAC,GAAG;IACvC,CAAC,EACD4F,mBAAmB,EACnB7F,WAAW;EACX,GAEDuB,mBAAmB,CAAC,CACR,CACF,CACE,CACW,CACV,CAAC;AAE7B;AAEA,MAAM2E,MAAM,GAAG/I,UAAU,CAACiK,MAAM,CAAC;EAC/BjB,SAAS,EAAE;IACTkB,IAAI,EAAE;EACR,CAAC;EACDJ,MAAM,EAAE;IACNK,GAAG,EAAE,CAAC;IACNC,MAAM,EAAE,CAAC;IACT/H,QAAQ,EAAE,MAAM;IAChBgI,eAAe,EAAE;EACnB,CAAC;EACDb,OAAO,EAAE;IACPU,IAAI,EAAE;EACR,CAAC;EACDZ,IAAI,EAAE;IACJY,IAAI,EAAE,CAAC;IACP,GAAGpK,QAAQ,CAACiD,MAAM,CAAC;MACjB;MACA;MACAuH,GAAG,EAAE,IAAI;MACTrH,OAAO,EAAE;QAAEsH,QAAQ,EAAE;MAAS;IAChC,CAAC;EACH;AACF,CAAC,CAAC"}
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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"}