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.
Files changed (54) hide show
  1. package/lib/commonjs/utils/getDrawerWidth.js +41 -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 +51 -283
  7. package/lib/commonjs/views/Drawer.js.map +1 -1
  8. package/lib/commonjs/views/Drawer.native.js +313 -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 +35 -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 +52 -282
  20. package/lib/module/views/Drawer.js.map +1 -1
  21. package/lib/module/views/Drawer.native.js +304 -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 +39 -0
  49. package/src/utils/useDrawerProgress.tsx +2 -2
  50. package/src/utils/useFakeSharedValue.tsx +49 -0
  51. package/src/views/Drawer.native.tsx +450 -0
  52. package/src/views/Drawer.tsx +102 -434
  53. package/src/views/Overlay.native.tsx +63 -0
  54. package/src/views/Overlay.tsx +26 -59
@@ -0,0 +1,304 @@
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
+ 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';
5
+ import useLatestCallback from 'use-latest-callback';
6
+ import { DrawerProgressContext } from '../utils/DrawerProgressContext';
7
+ import { getDrawerWidth } from '../utils/getDrawerWidth';
8
+ import { GestureHandlerRootView, GestureState, PanGestureHandler } from './GestureHandler';
9
+ import { Overlay } from './Overlay';
10
+ const SWIPE_EDGE_WIDTH = 32;
11
+ const SWIPE_MIN_OFFSET = 5;
12
+ const SWIPE_MIN_DISTANCE = 60;
13
+ const SWIPE_MIN_VELOCITY = 500;
14
+ const minmax = (value, start, end) => {
15
+ 'worklet';
16
+
17
+ return Math.min(Math.max(value, start), end);
18
+ };
19
+ export function Drawer(_ref) {
20
+ let {
21
+ layout: customLayout,
22
+ drawerPosition = I18nManager.getConstants().isRTL ? 'right' : 'left',
23
+ drawerStyle,
24
+ drawerType = 'front',
25
+ gestureHandlerProps,
26
+ hideStatusBarOnOpen = false,
27
+ keyboardDismissMode = 'on-drag',
28
+ onClose,
29
+ onOpen,
30
+ onGestureStart,
31
+ onGestureCancel,
32
+ onGestureEnd,
33
+ onTransitionStart,
34
+ onTransitionEnd,
35
+ open,
36
+ overlayStyle,
37
+ overlayAccessibilityLabel,
38
+ statusBarAnimation = 'slide',
39
+ swipeEnabled = Platform.OS !== 'web' && Platform.OS !== 'windows' && Platform.OS !== 'macos',
40
+ swipeEdgeWidth = SWIPE_EDGE_WIDTH,
41
+ swipeMinDistance = SWIPE_MIN_DISTANCE,
42
+ swipeMinVelocity = SWIPE_MIN_VELOCITY,
43
+ renderDrawerContent,
44
+ children,
45
+ style
46
+ } = _ref;
47
+ const windowDimensions = useWindowDimensions();
48
+ const layout = customLayout ?? windowDimensions;
49
+ const drawerWidth = getDrawerWidth({
50
+ layout,
51
+ drawerStyle
52
+ });
53
+ const isOpen = drawerType === 'permanent' ? true : open;
54
+ const isRight = drawerPosition === 'right';
55
+ const getDrawerTranslationX = React.useCallback(open => {
56
+ 'worklet';
57
+
58
+ if (drawerPosition === 'left') {
59
+ return open ? 0 : -drawerWidth;
60
+ }
61
+ return open ? 0 : drawerWidth;
62
+ }, [drawerPosition, drawerWidth]);
63
+ const hideStatusBar = React.useCallback(hide => {
64
+ if (hideStatusBarOnOpen) {
65
+ StatusBar.setHidden(hide, statusBarAnimation);
66
+ }
67
+ }, [hideStatusBarOnOpen, statusBarAnimation]);
68
+ React.useEffect(() => {
69
+ hideStatusBar(isOpen);
70
+ return () => hideStatusBar(false);
71
+ }, [isOpen, hideStatusBarOnOpen, statusBarAnimation, hideStatusBar]);
72
+ const interactionHandleRef = React.useRef(null);
73
+ const startInteraction = () => {
74
+ interactionHandleRef.current = InteractionManager.createInteractionHandle();
75
+ };
76
+ const endInteraction = () => {
77
+ if (interactionHandleRef.current != null) {
78
+ InteractionManager.clearInteractionHandle(interactionHandleRef.current);
79
+ interactionHandleRef.current = null;
80
+ }
81
+ };
82
+ const hideKeyboard = () => {
83
+ if (keyboardDismissMode === 'on-drag') {
84
+ Keyboard.dismiss();
85
+ }
86
+ };
87
+ const onGestureBegin = () => {
88
+ onGestureStart?.();
89
+ startInteraction();
90
+ hideKeyboard();
91
+ hideStatusBar(true);
92
+ };
93
+ const onGestureFinish = () => {
94
+ onGestureEnd?.();
95
+ endInteraction();
96
+ };
97
+ const onGestureAbort = () => {
98
+ onGestureCancel?.();
99
+ endInteraction();
100
+ };
101
+
102
+ // FIXME: Currently hitSlop is broken when on Android when drawer is on right
103
+ // https://github.com/software-mansion/react-native-gesture-handler/issues/569
104
+ const hitSlop = isRight ?
105
+ // Extend hitSlop to the side of the screen when drawer is closed
106
+ // This lets the user drag the drawer from the side of the screen
107
+ {
108
+ right: 0,
109
+ width: isOpen ? undefined : swipeEdgeWidth
110
+ } : {
111
+ left: 0,
112
+ width: isOpen ? undefined : swipeEdgeWidth
113
+ };
114
+ const touchStartX = useSharedValue(0);
115
+ const touchX = useSharedValue(0);
116
+ const translationX = useSharedValue(getDrawerTranslationX(open));
117
+ const gestureState = useSharedValue(GestureState.UNDETERMINED);
118
+ const handleAnimationStart = useLatestCallback(open => {
119
+ onTransitionStart?.(!open);
120
+ });
121
+ const handleAnimationEnd = useLatestCallback((open, finished) => {
122
+ if (!finished) return;
123
+ onTransitionEnd?.(!open);
124
+ });
125
+ const toggleDrawer = React.useCallback((open, velocity) => {
126
+ 'worklet';
127
+
128
+ const translateX = getDrawerTranslationX(open);
129
+ if (velocity === undefined) {
130
+ runOnJS(handleAnimationStart)(open);
131
+ }
132
+ touchStartX.value = 0;
133
+ touchX.value = 0;
134
+ translationX.value = withSpring(translateX, {
135
+ velocity,
136
+ stiffness: 1000,
137
+ damping: 500,
138
+ mass: 3,
139
+ overshootClamping: true,
140
+ restDisplacementThreshold: 0.01,
141
+ restSpeedThreshold: 0.01
142
+ }, finished => runOnJS(handleAnimationEnd)(open, finished));
143
+ if (open) {
144
+ runOnJS(onOpen)();
145
+ } else {
146
+ runOnJS(onClose)();
147
+ }
148
+ }, [getDrawerTranslationX, handleAnimationEnd, handleAnimationStart, onClose, onOpen, touchStartX, touchX, translationX]);
149
+ React.useEffect(() => toggleDrawer(open), [open, toggleDrawer]);
150
+ const onGestureEvent = useAnimatedGestureHandler({
151
+ onStart: (event, ctx) => {
152
+ ctx.hasCalledOnStart = false;
153
+ ctx.startX = translationX.value;
154
+ gestureState.value = event.state;
155
+ touchStartX.value = event.x;
156
+ },
157
+ onCancel: () => {
158
+ runOnJS(onGestureAbort)();
159
+ },
160
+ onActive: (event, ctx) => {
161
+ touchX.value = event.x;
162
+ translationX.value = ctx.startX + event.translationX;
163
+ gestureState.value = event.state;
164
+
165
+ // onStart will _always_ be called, even when the activation
166
+ // criteria isn't met yet. This makes sure onGestureBegin is only
167
+ // called when the criteria is really met.
168
+ if (!ctx.hasCalledOnStart) {
169
+ ctx.hasCalledOnStart = true;
170
+ runOnJS(onGestureBegin)();
171
+ }
172
+ },
173
+ onEnd: event => {
174
+ gestureState.value = event.state;
175
+ const nextOpen = Math.abs(event.translationX) > SWIPE_MIN_OFFSET && Math.abs(event.translationX) > swipeMinVelocity || Math.abs(event.translationX) > swipeMinDistance ? drawerPosition === 'left' ?
176
+ // If swiped to right, open the drawer, otherwise close it
177
+ (event.velocityX === 0 ? event.translationX : event.velocityX) > 0 :
178
+ // If swiped to left, open the drawer, otherwise close it
179
+ (event.velocityX === 0 ? event.translationX : event.velocityX) < 0 : open;
180
+ toggleDrawer(nextOpen, event.velocityX);
181
+ },
182
+ onFinish: () => {
183
+ runOnJS(onGestureFinish)();
184
+ }
185
+ });
186
+ const translateX = useDerivedValue(() => {
187
+ // Comment stolen from react-native-gesture-handler/DrawerLayout
188
+ //
189
+ // While closing the drawer when user starts gesture outside of its area (in greyed
190
+ // out part of the window), we want the drawer to follow only once finger reaches the
191
+ // edge of the drawer.
192
+ // E.g. on the diagram below drawer is illustrate by X signs and the greyed out area by
193
+ // dots. The touch gesture starts at '*' and moves left, touch path is indicated by
194
+ // an arrow pointing left
195
+ // 1) +---------------+ 2) +---------------+ 3) +---------------+ 4) +---------------+
196
+ // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|
197
+ // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|
198
+ // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|
199
+ // |XXXXXXXX|......| |XXXXXXXX|.<-*..| |XXXXXXXX|<--*..| |XXXXX|<-----*..|
200
+ // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|
201
+ // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|
202
+ // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|
203
+ // +---------------+ +---------------+ +---------------+ +---------------+
204
+ //
205
+ // For the above to work properly we define animated value that will keep start position
206
+ // of the gesture. Then we use that value to calculate how much we need to subtract from
207
+ // the translationX. If the gesture started on the greyed out area we take the distance from the
208
+ // edge of the drawer to the start position. Otherwise we don't subtract at all and the
209
+ // drawer be pulled back as soon as you start the pan.
210
+ //
211
+ // This is used only when drawerType is "front"
212
+ const touchDistance = drawerType === 'front' && gestureState.value === GestureState.ACTIVE ? minmax(drawerPosition === 'left' ? touchStartX.value - drawerWidth : layout.width - drawerWidth - touchStartX.value, 0, layout.width) : 0;
213
+ const translateX = drawerPosition === 'left' ? minmax(translationX.value + touchDistance, -drawerWidth, 0) : minmax(translationX.value - touchDistance, 0, drawerWidth);
214
+ return translateX;
215
+ });
216
+ const drawerAnimatedStyle = useAnimatedStyle(() => {
217
+ const distanceFromEdge = layout.width - drawerWidth;
218
+ return {
219
+ transform: drawerType === 'permanent' ?
220
+ // Reanimated needs the property to be present, but it results in Browser bug
221
+ // https://bugs.chromium.org/p/chromium/issues/detail?id=20574
222
+ [] : [{
223
+ translateX:
224
+ // The drawer stays in place when `drawerType` is `back`
225
+ (drawerType === 'back' ? 0 : translateX.value) + (drawerPosition === 'left' ? 0 : distanceFromEdge)
226
+ }]
227
+ };
228
+ });
229
+ const contentAnimatedStyle = useAnimatedStyle(() => {
230
+ return {
231
+ transform: drawerType === 'permanent' ?
232
+ // Reanimated needs the property to be present, but it results in Browser bug
233
+ // https://bugs.chromium.org/p/chromium/issues/detail?id=20574
234
+ [] : [{
235
+ translateX:
236
+ // The screen content stays in place when `drawerType` is `front`
237
+ drawerType === 'front' ? 0 : translateX.value + drawerWidth * (drawerPosition === 'left' ? 1 : -1)
238
+ }]
239
+ };
240
+ });
241
+ const progress = useDerivedValue(() => {
242
+ return drawerType === 'permanent' ? 1 : interpolate(translateX.value, [getDrawerTranslationX(false), getDrawerTranslationX(true)], [0, 1]);
243
+ });
244
+ return /*#__PURE__*/React.createElement(GestureHandlerRootView, {
245
+ style: [styles.container, style]
246
+ }, /*#__PURE__*/React.createElement(DrawerProgressContext.Provider, {
247
+ value: progress
248
+ }, /*#__PURE__*/React.createElement(PanGestureHandler, _extends({
249
+ activeOffsetX: [-SWIPE_MIN_OFFSET, SWIPE_MIN_OFFSET],
250
+ failOffsetY: [-SWIPE_MIN_OFFSET, SWIPE_MIN_OFFSET],
251
+ hitSlop: hitSlop,
252
+ enabled: drawerType !== 'permanent' && swipeEnabled,
253
+ onGestureEvent: onGestureEvent
254
+ }, gestureHandlerProps), /*#__PURE__*/React.createElement(Animated.View, {
255
+ style: [styles.main, {
256
+ flexDirection: drawerType === 'permanent' && !isRight ? 'row-reverse' : 'row'
257
+ }]
258
+ }, /*#__PURE__*/React.createElement(Animated.View, {
259
+ style: [styles.content, contentAnimatedStyle]
260
+ }, /*#__PURE__*/React.createElement(View, {
261
+ accessibilityElementsHidden: isOpen && drawerType !== 'permanent',
262
+ importantForAccessibility: isOpen && drawerType !== 'permanent' ? 'no-hide-descendants' : 'auto',
263
+ style: styles.content
264
+ }, children), drawerType !== 'permanent' ? /*#__PURE__*/React.createElement(Overlay, {
265
+ open: open,
266
+ progress: progress,
267
+ onPress: () => toggleDrawer(false),
268
+ style: overlayStyle,
269
+ accessibilityLabel: overlayAccessibilityLabel
270
+ }) : null), /*#__PURE__*/React.createElement(Animated.View, {
271
+ removeClippedSubviews: Platform.OS !== 'ios',
272
+ style: [styles.drawer, {
273
+ width: drawerWidth,
274
+ position: drawerType === 'permanent' ? 'relative' : 'absolute',
275
+ zIndex: drawerType === 'back' ? -1 : 0
276
+ }, drawerAnimatedStyle, drawerStyle]
277
+ }, renderDrawerContent())))));
278
+ }
279
+ const styles = StyleSheet.create({
280
+ container: {
281
+ flex: 1
282
+ },
283
+ drawer: {
284
+ top: 0,
285
+ bottom: 0,
286
+ maxWidth: '100%',
287
+ backgroundColor: 'white'
288
+ },
289
+ content: {
290
+ flex: 1
291
+ },
292
+ main: {
293
+ flex: 1,
294
+ ...Platform.select({
295
+ // FIXME: We need to hide `overflowX` on Web so the translated content doesn't show offscreen.
296
+ // But adding `overflowX: 'hidden'` prevents content from collapsing the URL bar.
297
+ web: null,
298
+ default: {
299
+ overflow: 'hidden'
300
+ }
301
+ })
302
+ }
303
+ });
304
+ //# sourceMappingURL=Drawer.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","I18nManager","InteractionManager","Keyboard","Platform","StatusBar","StyleSheet","useWindowDimensions","View","Animated","interpolate","runOnJS","useAnimatedGestureHandler","useAnimatedStyle","useDerivedValue","useSharedValue","withSpring","useLatestCallback","DrawerProgressContext","getDrawerWidth","GestureHandlerRootView","GestureState","PanGestureHandler","Overlay","SWIPE_EDGE_WIDTH","SWIPE_MIN_OFFSET","SWIPE_MIN_DISTANCE","SWIPE_MIN_VELOCITY","minmax","value","start","end","Math","min","max","Drawer","_ref","layout","customLayout","drawerPosition","getConstants","isRTL","drawerStyle","drawerType","gestureHandlerProps","hideStatusBarOnOpen","keyboardDismissMode","onClose","onOpen","onGestureStart","onGestureCancel","onGestureEnd","onTransitionStart","onTransitionEnd","open","overlayStyle","overlayAccessibilityLabel","statusBarAnimation","swipeEnabled","OS","swipeEdgeWidth","swipeMinDistance","swipeMinVelocity","renderDrawerContent","children","style","windowDimensions","drawerWidth","isOpen","isRight","getDrawerTranslationX","useCallback","hideStatusBar","hide","setHidden","useEffect","interactionHandleRef","useRef","startInteraction","current","createInteractionHandle","endInteraction","clearInteractionHandle","hideKeyboard","dismiss","onGestureBegin","onGestureFinish","onGestureAbort","hitSlop","right","width","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","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","maxWidth","backgroundColor","select","web","default","overflow"],"sourceRoot":"../../../src","sources":["views/Drawer.native.tsx"],"mappings":"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"}
@@ -1,59 +1,42 @@
1
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
2
  import * as React from 'react';
3
- import { Platform, Pressable, StyleSheet } from 'react-native';
4
- import Animated, { useAnimatedProps, useAnimatedStyle } from 'react-native-reanimated';
5
- const PROGRESS_EPSILON = 0.05;
6
- export const Overlay = /*#__PURE__*/React.forwardRef(function Overlay(_ref, ref) {
3
+ import { Pressable, StyleSheet, View } from 'react-native';
4
+ export function Overlay(_ref) {
7
5
  let {
8
- progress,
6
+ open,
9
7
  onPress,
10
8
  style,
11
9
  accessibilityLabel = 'Close drawer',
12
- ...props
10
+ ...rest
13
11
  } = _ref;
14
- const animatedStyle = useAnimatedStyle(() => {
15
- return {
16
- opacity: progress.value,
17
- // We don't want the user to be able to press through the overlay when drawer is open
18
- // We can send the overlay behind the screen to avoid it
19
- zIndex: progress.value > PROGRESS_EPSILON ? 0 : -1
20
- };
21
- });
22
- const animatedProps = useAnimatedProps(() => {
23
- const active = progress.value > PROGRESS_EPSILON;
24
- return {
25
- pointerEvents: active ? 'auto' : 'none',
26
- accessibilityElementsHidden: !active,
27
- importantForAccessibility: active ? 'auto' : 'no-hide-descendants'
28
- };
29
- });
30
- return /*#__PURE__*/React.createElement(Animated.View, _extends({}, props, {
31
- ref: ref,
32
- style: [styles.overlay, overlayStyle, animatedStyle, style],
33
- animatedProps: animatedProps
12
+ return /*#__PURE__*/React.createElement(View, _extends({}, rest, {
13
+ style: [styles.overlay, {
14
+ opacity: open ? 1 : 0,
15
+ pointerEvents: open ? 'auto' : 'none'
16
+ }, style],
17
+ accessibilityElementsHidden: !open,
18
+ importantForAccessibility: open ? 'auto' : 'no-hide-descendants'
34
19
  }), /*#__PURE__*/React.createElement(Pressable, {
35
20
  onPress: onPress,
36
- style: styles.pressable,
21
+ style: [styles.pressable, {
22
+ pointerEvents: open ? 'auto' : 'none'
23
+ }],
37
24
  accessibilityRole: "button",
38
25
  accessibilityLabel: accessibilityLabel
39
26
  }));
40
- });
41
- const overlayStyle = Platform.select({
42
- web: {
43
- // Disable touch highlight on mobile Safari.
44
- // WebkitTapHighlightColor must be used outside of StyleSheet.create because react-native-web will omit the property.
45
- WebkitTapHighlightColor: 'transparent'
46
- },
47
- default: {}
48
- });
27
+ }
49
28
  const styles = StyleSheet.create({
50
29
  overlay: {
51
30
  ...StyleSheet.absoluteFillObject,
52
- backgroundColor: 'rgba(0, 0, 0, 0.5)'
31
+ backgroundColor: 'rgba(0, 0, 0, 0.5)',
32
+ // Disable touch highlight on mobile Safari.
33
+ // WebkitTapHighlightColor must be used outside of StyleSheet.create because react-native-web will omit the property.
34
+ // @ts-expect-error: WebkitTapHighlightColor is web only
35
+ WebkitTapHighlightColor: 'transparent',
36
+ transition: 'opacity 0.3s'
53
37
  },
54
38
  pressable: {
55
- flex: 1,
56
- pointerEvents: 'auto'
39
+ flex: 1
57
40
  }
58
41
  });
59
42
  //# sourceMappingURL=Overlay.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","Platform","Pressable","StyleSheet","Animated","useAnimatedProps","useAnimatedStyle","PROGRESS_EPSILON","Overlay","forwardRef","_ref","ref","progress","onPress","style","accessibilityLabel","props","animatedStyle","opacity","value","zIndex","animatedProps","active","pointerEvents","accessibilityElementsHidden","importantForAccessibility","createElement","View","_extends","styles","overlay","overlayStyle","pressable","accessibilityRole","select","web","WebkitTapHighlightColor","default","create","absoluteFillObject","backgroundColor","flex"],"sourceRoot":"../../../src","sources":["views/Overlay.tsx"],"mappings":";AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,QAAQ,EAAEC,SAAS,EAAEC,UAAU,QAAQ,cAAc;AAC9D,OAAOC,QAAQ,IACbC,gBAAgB,EAChBC,gBAAgB,QACX,yBAAyB;AAEhC,MAAMC,gBAAgB,GAAG,IAAI;AAQ7B,OAAO,MAAMC,OAAO,gBAAGR,KAAK,CAACS,UAAU,CAAC,SAASD,OAAOA,CAAAE,IAAA,EAQtDC,GAA6B,EAC7B;EAAA,IARA;IACEC,QAAQ;IACRC,OAAO;IACPC,KAAK;IACLC,kBAAkB,GAAG,cAAc;IACnC,GAAGC;EACE,CAAC,GAAAN,IAAA;EAGR,MAAMO,aAAa,GAAGX,gBAAgB,CAAC,MAAM;IAC3C,OAAO;MACLY,OAAO,EAAEN,QAAQ,CAACO,KAAK;MACvB;MACA;MACAC,MAAM,EAAER,QAAQ,CAACO,KAAK,GAAGZ,gBAAgB,GAAG,CAAC,GAAG,CAAC;IACnD,CAAC;EACH,CAAC,CAAC;EAEF,MAAMc,aAAa,GAAGhB,gBAAgB,CAAC,MAAM;IAC3C,MAAMiB,MAAM,GAAGV,QAAQ,CAACO,KAAK,GAAGZ,gBAAgB;IAEhD,OAAO;MACLgB,aAAa,EAAED,MAAM,GAAG,MAAM,GAAG,MAAM;MACvCE,2BAA2B,EAAE,CAACF,MAAM;MACpCG,yBAAyB,EAAEH,MAAM,GAAG,MAAM,GAAG;IAC/C,CAAC;EACH,CAAC,CAAC;EAEF,oBACEtB,KAAA,CAAA0B,aAAA,CAACtB,QAAQ,CAACuB,IAAI,EAAAC,QAAA,KACRZ,KAAK;IACTL,GAAG,EAAEA,GAAI;IACTG,KAAK,EAAE,CAACe,MAAM,CAACC,OAAO,EAAEC,YAAY,EAAEd,aAAa,EAAEH,KAAK,CAAE;IAC5DO,aAAa,EAAEA;EAAc,iBAE7BrB,KAAA,CAAA0B,aAAA,CAACxB,SAAS;IACRW,OAAO,EAAEA,OAAQ;IACjBC,KAAK,EAAEe,MAAM,CAACG,SAAU;IACxBC,iBAAiB,EAAC,QAAQ;IAC1BlB,kBAAkB,EAAEA;EAAmB,CACxC,CACY,CAAC;AAEpB,CAAC,CAAC;AAEF,MAAMgB,YAAY,GAAG9B,QAAQ,CAACiC,MAAM,CAAyB;EAC3DC,GAAG,EAAE;IACH;IACA;IACAC,uBAAuB,EAAE;EAC3B,CAAC;EACDC,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEF,MAAMR,MAAM,GAAG1B,UAAU,CAACmC,MAAM,CAAC;EAC/BR,OAAO,EAAE;IACP,GAAG3B,UAAU,CAACoC,kBAAkB;IAChCC,eAAe,EAAE;EACnB,CAAC;EACDR,SAAS,EAAE;IACTS,IAAI,EAAE,CAAC;IACPlB,aAAa,EAAE;EACjB;AACF,CAAC,CAAC"}
1
+ {"version":3,"names":["React","Pressable","StyleSheet","View","Overlay","_ref","open","onPress","style","accessibilityLabel","rest","createElement","_extends","styles","overlay","opacity","pointerEvents","accessibilityElementsHidden","importantForAccessibility","pressable","accessibilityRole","create","absoluteFillObject","backgroundColor","WebkitTapHighlightColor","transition","flex"],"sourceRoot":"../../../src","sources":["views/Overlay.tsx"],"mappings":";AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,SAAS,EAAEC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAI1D,OAAO,SAASC,OAAOA,CAAAC,IAAA,EAMN;EAAA,IANO;IACtBC,IAAI;IACJC,OAAO;IACPC,KAAK;IACLC,kBAAkB,GAAG,cAAc;IACnC,GAAGC;EACS,CAAC,GAAAL,IAAA;EACb,oBACEL,KAAA,CAAAW,aAAA,CAACR,IAAI,EAAAS,QAAA,KACCF,IAAI;IACRF,KAAK,EAAE,CACLK,MAAM,CAACC,OAAO,EACd;MAAEC,OAAO,EAAET,IAAI,GAAG,CAAC,GAAG,CAAC;MAAEU,aAAa,EAAEV,IAAI,GAAG,MAAM,GAAG;IAAO,CAAC,EAChEE,KAAK,CACL;IACFS,2BAA2B,EAAE,CAACX,IAAK;IACnCY,yBAAyB,EAAEZ,IAAI,GAAG,MAAM,GAAG;EAAsB,iBAEjEN,KAAA,CAAAW,aAAA,CAACV,SAAS;IACRM,OAAO,EAAEA,OAAQ;IACjBC,KAAK,EAAE,CAACK,MAAM,CAACM,SAAS,EAAE;MAAEH,aAAa,EAAEV,IAAI,GAAG,MAAM,GAAG;IAAO,CAAC,CAAE;IACrEc,iBAAiB,EAAC,QAAQ;IAC1BX,kBAAkB,EAAEA;EAAmB,CACxC,CACG,CAAC;AAEX;AAEA,MAAMI,MAAM,GAAGX,UAAU,CAACmB,MAAM,CAAC;EAC/BP,OAAO,EAAE;IACP,GAAGZ,UAAU,CAACoB,kBAAkB;IAChCC,eAAe,EAAE,oBAAoB;IACrC;IACA;IACA;IACAC,uBAAuB,EAAE,aAAa;IACtCC,UAAU,EAAE;EACd,CAAC;EACDN,SAAS,EAAE;IACTO,IAAI,EAAE;EACR;AACF,CAAC,CAAC"}
@@ -0,0 +1,50 @@
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
+ import * as React from 'react';
3
+ import { Pressable, StyleSheet } from 'react-native';
4
+ import Animated, { useAnimatedProps, useAnimatedStyle } from 'react-native-reanimated';
5
+ const PROGRESS_EPSILON = 0.05;
6
+ export function Overlay(_ref) {
7
+ let {
8
+ progress,
9
+ onPress,
10
+ style,
11
+ accessibilityLabel = 'Close drawer',
12
+ ...rest
13
+ } = _ref;
14
+ const animatedStyle = useAnimatedStyle(() => {
15
+ return {
16
+ opacity: progress.value,
17
+ // We don't want the user to be able to press through the overlay when drawer is open
18
+ // We can send the overlay behind the screen to avoid it
19
+ zIndex: progress.value > PROGRESS_EPSILON ? 0 : -1
20
+ };
21
+ });
22
+ const animatedProps = useAnimatedProps(() => {
23
+ const active = progress.value > PROGRESS_EPSILON;
24
+ return {
25
+ pointerEvents: active ? 'auto' : 'none',
26
+ accessibilityElementsHidden: !active,
27
+ importantForAccessibility: active ? 'auto' : 'no-hide-descendants'
28
+ };
29
+ });
30
+ return /*#__PURE__*/React.createElement(Animated.View, _extends({}, rest, {
31
+ style: [styles.overlay, animatedStyle, style],
32
+ animatedProps: animatedProps
33
+ }), /*#__PURE__*/React.createElement(Pressable, {
34
+ onPress: onPress,
35
+ style: styles.pressable,
36
+ accessibilityRole: "button",
37
+ accessibilityLabel: accessibilityLabel
38
+ }));
39
+ }
40
+ const styles = StyleSheet.create({
41
+ overlay: {
42
+ ...StyleSheet.absoluteFillObject,
43
+ backgroundColor: 'rgba(0, 0, 0, 0.5)'
44
+ },
45
+ pressable: {
46
+ flex: 1,
47
+ pointerEvents: 'auto'
48
+ }
49
+ });
50
+ //# sourceMappingURL=Overlay.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","Pressable","StyleSheet","Animated","useAnimatedProps","useAnimatedStyle","PROGRESS_EPSILON","Overlay","_ref","progress","onPress","style","accessibilityLabel","rest","animatedStyle","opacity","value","zIndex","animatedProps","active","pointerEvents","accessibilityElementsHidden","importantForAccessibility","createElement","View","_extends","styles","overlay","pressable","accessibilityRole","create","absoluteFillObject","backgroundColor","flex"],"sourceRoot":"../../../src","sources":["views/Overlay.native.tsx"],"mappings":";AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,SAAS,EAAEC,UAAU,QAAQ,cAAc;AACpD,OAAOC,QAAQ,IACbC,gBAAgB,EAChBC,gBAAgB,QACX,yBAAyB;AAIhC,MAAMC,gBAAgB,GAAG,IAAI;AAE7B,OAAO,SAASC,OAAOA,CAAAC,IAAA,EAMN;EAAA,IANO;IACtBC,QAAQ;IACRC,OAAO;IACPC,KAAK;IACLC,kBAAkB,GAAG,cAAc;IACnC,GAAGC;EACS,CAAC,GAAAL,IAAA;EACb,MAAMM,aAAa,GAAGT,gBAAgB,CAAC,MAAM;IAC3C,OAAO;MACLU,OAAO,EAAEN,QAAQ,CAACO,KAAK;MACvB;MACA;MACAC,MAAM,EAAER,QAAQ,CAACO,KAAK,GAAGV,gBAAgB,GAAG,CAAC,GAAG,CAAC;IACnD,CAAC;EACH,CAAC,CAAC;EAEF,MAAMY,aAAa,GAAGd,gBAAgB,CAAC,MAAM;IAC3C,MAAMe,MAAM,GAAGV,QAAQ,CAACO,KAAK,GAAGV,gBAAgB;IAEhD,OAAO;MACLc,aAAa,EAAED,MAAM,GAAG,MAAM,GAAG,MAAM;MACvCE,2BAA2B,EAAE,CAACF,MAAM;MACpCG,yBAAyB,EAAEH,MAAM,GAAG,MAAM,GAAG;IAC/C,CAAC;EACH,CAAC,CAAC;EAEF,oBACEnB,KAAA,CAAAuB,aAAA,CAACpB,QAAQ,CAACqB,IAAI,EAAAC,QAAA,KACRZ,IAAI;IACRF,KAAK,EAAE,CAACe,MAAM,CAACC,OAAO,EAAEb,aAAa,EAAEH,KAAK,CAAE;IAC9CO,aAAa,EAAEA;EAAc,iBAE7BlB,KAAA,CAAAuB,aAAA,CAACtB,SAAS;IACRS,OAAO,EAAEA,OAAQ;IACjBC,KAAK,EAAEe,MAAM,CAACE,SAAU;IACxBC,iBAAiB,EAAC,QAAQ;IAC1BjB,kBAAkB,EAAEA;EAAmB,CACxC,CACY,CAAC;AAEpB;AAEA,MAAMc,MAAM,GAAGxB,UAAU,CAAC4B,MAAM,CAAC;EAC/BH,OAAO,EAAE;IACP,GAAGzB,UAAU,CAAC6B,kBAAkB;IAChCC,eAAe,EAAE;EACnB,CAAC;EACDJ,SAAS,EAAE;IACTK,IAAI,EAAE,CAAC;IACPb,aAAa,EAAE;EACjB;AACF,CAAC,CAAC"}
@@ -1,6 +1,7 @@
1
- /// <reference types="react" />
2
- import type { StyleProp, ViewStyle } from 'react-native';
1
+ import * as React from 'react';
2
+ import type { StyleProp, View, ViewStyle } from 'react-native';
3
3
  import type { PanGestureHandler } from 'react-native-gesture-handler';
4
+ import type { SharedValue } from 'react-native-reanimated';
4
5
  export type Layout = {
5
6
  width: number;
6
7
  height: number;
@@ -131,4 +132,10 @@ export type DrawerProps = {
131
132
  */
132
133
  children: React.ReactNode;
133
134
  };
135
+ export type OverlayProps = React.ComponentProps<typeof View> & {
136
+ open: boolean;
137
+ progress: SharedValue<number>;
138
+ onPress: () => void;
139
+ accessibilityLabel?: string;
140
+ };
134
141
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEtE,MAAM,MAAM,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvD,MAAM,MAAM,WAAW,GAAG;IACxB;;OAEG;IACH,IAAI,EAAE,OAAO,CAAC;IAEd;;OAEG;IACH,MAAM,EAAE,MAAM,IAAI,CAAC;IAEnB;;OAEG;IACH,OAAO,EAAE,MAAM,IAAI,CAAC;IAEpB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAE5B;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAE7B;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAE1B;;OAEG;IACH,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAE/C;;OAEG;IACH,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAE7C;;OAEG;IACH,mBAAmB,EAAE,MAAM,KAAK,CAAC,SAAS,CAAC;IAE3C;;;OAGG;IACH,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAE3C;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAElC;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,WAAW,CAAC;IAEtD;;;OAGG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAEnC;;OAEG;IACH,YAAY,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAEpC;;;OAGG;IACH,yBAAyB,CAAC,EAAE,MAAM,CAAC;IAEnC;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEzC;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IAE/C;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,iBAAiB,CAAC,CAAC;IAErE;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAE7B;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,MAAM,MAAM,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvD,MAAM,MAAM,WAAW,GAAG;IACxB;;OAEG;IACH,IAAI,EAAE,OAAO,CAAC;IAEd;;OAEG;IACH,MAAM,EAAE,MAAM,IAAI,CAAC;IAEnB;;OAEG;IACH,OAAO,EAAE,MAAM,IAAI,CAAC;IAEpB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAE5B;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAE7B;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAE1B;;OAEG;IACH,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAE/C;;OAEG;IACH,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAE7C;;OAEG;IACH,mBAAmB,EAAE,MAAM,KAAK,CAAC,SAAS,CAAC;IAE3C;;;OAGG;IACH,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAE3C;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAElC;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,WAAW,CAAC;IAEtD;;;OAGG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAEnC;;OAEG;IACH,YAAY,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAEpC;;;OAGG;IACH,yBAAyB,CAAC,EAAE,MAAM,CAAC;IAEnC;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEzC;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IAE/C;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,iBAAiB,CAAC,CAAC;IAErE;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAE7B;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,IAAI,CAAC,GAAG;IAC7D,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC9B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC"}
@@ -1,4 +1,4 @@
1
1
  import * as React from 'react';
2
- import type Animated from 'react-native-reanimated';
3
- export declare const DrawerProgressContext: React.Context<Readonly<Animated.SharedValue<number>> | undefined>;
2
+ import type { SharedValue } from 'react-native-reanimated';
3
+ export declare const DrawerProgressContext: React.Context<Readonly<SharedValue<number>> | undefined>;
4
4
  //# sourceMappingURL=DrawerProgressContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerProgressContext.d.ts","sourceRoot":"","sources":["../../../../src/utils/DrawerProgressContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,QAAQ,MAAM,yBAAyB,CAAC;AAEpD,eAAO,MAAM,qBAAqB,mEAEtB,CAAC"}
1
+ {"version":3,"file":"DrawerProgressContext.d.ts","sourceRoot":"","sources":["../../../../src/utils/DrawerProgressContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,eAAO,MAAM,qBAAqB,0DAEtB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { type StyleProp, type ViewStyle } from 'react-native';
2
+ export declare function getDrawerWidth({ layout, drawerStyle, }: {
3
+ layout: {
4
+ width: number;
5
+ height: number;
6
+ };
7
+ drawerStyle?: StyleProp<ViewStyle>;
8
+ }): number;
9
+ //# sourceMappingURL=getDrawerWidth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getDrawerWidth.d.ts","sourceRoot":"","sources":["../../../../src/utils/getDrawerWidth.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAc,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAkB1E,wBAAgB,cAAc,CAAC,EAC7B,MAAM,EACN,WAAW,GACZ,EAAE;IACD,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,WAAW,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CACpC,UAcA"}
@@ -1,3 +1,3 @@
1
- import type Animated from 'react-native-reanimated';
2
- export declare function useDrawerProgress(): Readonly<Animated.SharedValue<number>>;
1
+ import type { SharedValue } from 'react-native-reanimated';
2
+ export declare function useDrawerProgress(): Readonly<SharedValue<number>>;
3
3
  //# sourceMappingURL=useDrawerProgress.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useDrawerProgress.d.ts","sourceRoot":"","sources":["../../../../src/utils/useDrawerProgress.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,QAAQ,MAAM,yBAAyB,CAAC;AAIpD,wBAAgB,iBAAiB,IAAI,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAU1E"}
1
+ {"version":3,"file":"useDrawerProgress.d.ts","sourceRoot":"","sources":["../../../../src/utils/useDrawerProgress.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAI3D,wBAAgB,iBAAiB,IAAI,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAUjE"}
@@ -0,0 +1,17 @@
1
+ declare class FakeSharedValue {
2
+ _listeners: Map<number, (value: number) => void>;
3
+ _value: number;
4
+ constructor(value: number);
5
+ addListener(id: number, listener: (value: number) => void): void;
6
+ removeListener(id: number): void;
7
+ modify(modifier?: (value: number) => number): void;
8
+ set value(value: number);
9
+ get value(): number;
10
+ _isReanimatedSharedValue: boolean;
11
+ }
12
+ /**
13
+ * Compatibility layer for `useDrawerProgress` with `react-native-reanimated`
14
+ */
15
+ export declare function useFakeSharedValue(value: number): FakeSharedValue;
16
+ export {};
17
+ //# sourceMappingURL=useFakeSharedValue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFakeSharedValue.d.ts","sourceRoot":"","sources":["../../../../src/utils/useFakeSharedValue.tsx"],"names":[],"mappings":"AAEA,cAAM,eAAe;IACnB,UAAU,sBAA2B,MAAM,KAAK,IAAI,EAAI;IACxD,MAAM,EAAE,MAAM,CAAC;gBAEH,KAAK,EAAE,MAAM;IAIzB,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;IAIzD,cAAc,CAAC,EAAE,EAAE,MAAM;IAIzB,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM;IAI3C,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAMtB;IAED,IAAI,KAAK,IARQ,MAAM,CAUtB;IAED,wBAAwB,UAAQ;CACjC;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,CAQjE"}
@@ -1,9 +1,4 @@
1
1
  import * as React from 'react';
2
2
  import type { DrawerProps } from '../types';
3
- export declare const SWIPE_EDGE_WIDTH = 32;
4
- export declare const SWIPE_MIN_OFFSET = 5;
5
- export declare const SWIPE_MIN_DISTANCE = 60;
6
- export declare const SWIPE_MIN_VELOCITY = 500;
7
- export declare const DRAWER_BORDER_RADIUS = 16;
8
- export declare function Drawer({ layout: customLayout, drawerPosition, drawerStyle, drawerType, gestureHandlerProps, hideStatusBarOnOpen, keyboardDismissMode, onClose, onOpen, onGestureStart, onGestureCancel, onGestureEnd, onTransitionStart, onTransitionEnd, open, overlayStyle, overlayAccessibilityLabel, statusBarAnimation, swipeEnabled, swipeEdgeWidth, swipeMinDistance, swipeMinVelocity, renderDrawerContent, children, style, }: DrawerProps): React.JSX.Element;
3
+ export declare function Drawer({ layout: customLayout, drawerPosition, drawerStyle, drawerType, onClose, onTransitionStart, onTransitionEnd, open, overlayStyle, overlayAccessibilityLabel, renderDrawerContent, children, style, }: DrawerProps): React.JSX.Element;
9
4
  //# sourceMappingURL=Drawer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Drawer.d.ts","sourceRoot":"","sources":["../../../../src/views/Drawer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAsB/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAU5C,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAClC,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,kBAAkB,MAAM,CAAC;AAEtC,eAAO,MAAM,oBAAoB,KAAK,CAAC;AA6BvC,wBAAgB,MAAM,CAAC,EACrB,MAAM,EAAE,YAAY,EACpB,cAAoE,EACpE,WAAW,EACX,UAAgE,EAChE,mBAAmB,EACnB,mBAA2B,EAC3B,mBAA+B,EAC/B,OAAO,EACP,MAAM,EACN,cAAc,EACd,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,IAAI,EACJ,YAAY,EACZ,yBAAyB,EACzB,kBAA4B,EAC5B,YAEyB,EACzB,cAAiC,EACjC,gBAAqC,EACrC,gBAAqC,EACrC,mBAAmB,EACnB,QAAQ,EACR,KAAK,GACN,EAAE,WAAW,qBA4Xb"}
1
+ {"version":3,"file":"Drawer.d.ts","sourceRoot":"","sources":["../../../../src/views/Drawer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAM5C,wBAAgB,MAAM,CAAC,EACrB,MAAM,EAAE,YAAY,EACpB,cAAuB,EACvB,WAAW,EACX,UAAoB,EACpB,OAAO,EACP,iBAAiB,EACjB,eAAe,EACf,IAAI,EACJ,YAAY,EACZ,yBAAyB,EACzB,mBAAmB,EACnB,QAAQ,EACR,KAAK,GACN,EAAE,WAAW,qBA4Hb"}
@@ -0,0 +1,4 @@
1
+ import * as React from 'react';
2
+ import type { DrawerProps } from '../types';
3
+ export declare function Drawer({ layout: customLayout, drawerPosition, drawerStyle, drawerType, gestureHandlerProps, hideStatusBarOnOpen, keyboardDismissMode, onClose, onOpen, onGestureStart, onGestureCancel, onGestureEnd, onTransitionStart, onTransitionEnd, open, overlayStyle, overlayAccessibilityLabel, statusBarAnimation, swipeEnabled, swipeEdgeWidth, swipeMinDistance, swipeMinVelocity, renderDrawerContent, children, style, }: DrawerProps): React.JSX.Element;
4
+ //# sourceMappingURL=Drawer.native.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Drawer.native.d.ts","sourceRoot":"","sources":["../../../../src/views/Drawer.native.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAsB/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAsB5C,wBAAgB,MAAM,CAAC,EACrB,MAAM,EAAE,YAAY,EACpB,cAAoE,EACpE,WAAW,EACX,UAAoB,EACpB,mBAAmB,EACnB,mBAA2B,EAC3B,mBAA+B,EAC/B,OAAO,EACP,MAAM,EACN,cAAc,EACd,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,IAAI,EACJ,YAAY,EACZ,yBAAyB,EACzB,kBAA4B,EAC5B,YAEyB,EACzB,cAAiC,EACjC,gBAAqC,EACrC,gBAAqC,EACrC,mBAAmB,EACnB,QAAQ,EACR,KAAK,GACN,EAAE,WAAW,qBAiWb"}