react-native-drawer-layout 5.0.0-alpha.0 → 5.0.0-alpha.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/module/utils/getDrawerWidth.js +1 -1
- package/lib/module/utils/getDrawerWidth.js.map +1 -1
- package/lib/module/utils/useDrawerProgress.js +1 -1
- package/lib/module/utils/useDrawerProgress.js.map +1 -1
- package/lib/module/views/Drawer.native.js +23 -18
- package/lib/module/views/Drawer.native.js.map +1 -1
- package/lib/typescript/src/types.d.ts +21 -21
- package/lib/typescript/src/types.d.ts.map +1 -1
- package/lib/typescript/src/utils/getDrawerWidth.d.ts.map +1 -1
- package/lib/typescript/src/views/Drawer.native.d.ts.map +1 -1
- package/package.json +13 -13
- package/src/types.tsx +21 -21
- package/src/utils/getDrawerWidth.tsx +5 -3
- package/src/utils/useDrawerProgress.tsx +1 -1
- package/src/views/Drawer.native.tsx +32 -17
|
@@ -15,7 +15,7 @@ export function getDrawerWidthNative({
|
|
|
15
15
|
}) {
|
|
16
16
|
'worklet';
|
|
17
17
|
|
|
18
|
-
const defaultWidth = containerWidth - APPROX_APP_BAR_HEIGHT <=
|
|
18
|
+
const defaultWidth = Math.max(containerWidth - APPROX_APP_BAR_HEIGHT <= DEFAULT_DRAWER_WIDTH ? containerWidth - APPROX_APP_BAR_HEIGHT : DEFAULT_DRAWER_WIDTH, 0);
|
|
19
19
|
const width = customWidth ?? defaultWidth;
|
|
20
20
|
if (typeof width === 'string' && width.endsWith('%')) {
|
|
21
21
|
// Try to calculate width if a percentage is given
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["APPROX_APP_BAR_HEIGHT","DEFAULT_DRAWER_WIDTH","DRAWER_DEFAULT_WIDTH_WEB","getDrawerWidthNative","containerWidth","customWidth","defaultWidth","width","endsWith","percentage","Number","replace","isFinite","getDrawerWidthWeb","drawerStyle"],"sourceRoot":"../../../src","sources":["utils/getDrawerWidth.tsx"],"mappings":";;AAEA,MAAMA,qBAAqB,GAAG,EAAE;AAChC,MAAMC,oBAAoB,GAAG,GAAG;;AAEhC;AACA;AACA;AACA;AACA;AACA,MAAMC,wBAAwB,GAAG,mBAAmBF,qBAAqB,QAAQC,oBAAoB,KAAK;AAE1G,OAAO,SAASE,oBAAoBA,CAAC;EACnCC,cAAc;EACdC;AAIF,CAAC,EAAE;EACD,SAAS;;EAET,MAAMC,YAAY,
|
|
1
|
+
{"version":3,"names":["APPROX_APP_BAR_HEIGHT","DEFAULT_DRAWER_WIDTH","DRAWER_DEFAULT_WIDTH_WEB","getDrawerWidthNative","containerWidth","customWidth","defaultWidth","Math","max","width","endsWith","percentage","Number","replace","isFinite","getDrawerWidthWeb","drawerStyle"],"sourceRoot":"../../../src","sources":["utils/getDrawerWidth.tsx"],"mappings":";;AAEA,MAAMA,qBAAqB,GAAG,EAAE;AAChC,MAAMC,oBAAoB,GAAG,GAAG;;AAEhC;AACA;AACA;AACA;AACA;AACA,MAAMC,wBAAwB,GAAG,mBAAmBF,qBAAqB,QAAQC,oBAAoB,KAAK;AAE1G,OAAO,SAASE,oBAAoBA,CAAC;EACnCC,cAAc;EACdC;AAIF,CAAC,EAAE;EACD,SAAS;;EAET,MAAMC,YAAY,GAAGC,IAAI,CAACC,GAAG,CAC3BJ,cAAc,GAAGJ,qBAAqB,IAAIC,oBAAoB,GAC1DG,cAAc,GAAGJ,qBAAqB,GACtCC,oBAAoB,EACxB,CACF,CAAC;EAED,MAAMQ,KAAK,GAAGJ,WAAW,IAAIC,YAAY;EAEzC,IAAI,OAAOG,KAAK,KAAK,QAAQ,IAAIA,KAAK,CAACC,QAAQ,CAAC,GAAG,CAAC,EAAE;IACpD;IACA,MAAMC,UAAU,GAAGC,MAAM,CAACH,KAAK,CAACI,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAElD,IAAID,MAAM,CAACE,QAAQ,CAACH,UAAU,CAAC,EAAE;MAC/B,OAAOP,cAAc,IAAIO,UAAU,GAAG,GAAG,CAAC;IAC5C;EACF;EAEA,OAAO,OAAOF,KAAK,KAAK,QAAQ,GAAGA,KAAK,GAAGH,YAAY;AACzD;AAEA,OAAO,SAASS,iBAAiBA,CAAC;EAChCC;AAGF,CAAC,EAAU;EACT,MAAM;IAAEP;EAAM,CAAC,GAAGO,WAAW;EAE7B,IAAI,OAAOP,KAAK,KAAK,QAAQ,EAAE;IAC7B,OAAO,GAAGA,KAAK,IAAI;EACrB;EAEA,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IAC7B,OAAOA,KAAK;EACd;EAEA,OAAOP,wBAAwB;AACjC","ignoreList":[]}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
import { DrawerProgressContext } from "./DrawerProgressContext.js";
|
|
5
5
|
export function useDrawerProgress() {
|
|
6
|
-
const progress = React.
|
|
6
|
+
const progress = React.use(DrawerProgressContext);
|
|
7
7
|
if (progress === undefined) {
|
|
8
8
|
throw new Error("Couldn't find a drawer. Is your component inside a drawer?");
|
|
9
9
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","DrawerProgressContext","useDrawerProgress","progress","
|
|
1
|
+
{"version":3,"names":["React","DrawerProgressContext","useDrawerProgress","progress","use","undefined","Error"],"sourceRoot":"../../../src","sources":["utils/useDrawerProgress.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAG9B,SAASC,qBAAqB,QAAQ,4BAAyB;AAE/D,OAAO,SAASC,iBAAiBA,CAAA,EAAkC;EACjE,MAAMC,QAAQ,GAAGH,KAAK,CAACI,GAAG,CAACH,qBAAqB,CAAC;EAEjD,IAAIE,QAAQ,KAAKE,SAAS,EAAE;IAC1B,MAAM,IAAIC,KAAK,CACb,4DACF,CAAC;EACH;EAEA,OAAOH,QAAQ;AACjB","ignoreList":[]}
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
import { Dimensions, I18nManager, Keyboard, Platform, StatusBar, StyleSheet, View } from 'react-native';
|
|
5
|
-
import Animated, { interpolate, ReduceMotion,
|
|
5
|
+
import Animated, { interpolate, ReduceMotion, useAnimatedStyle, useDerivedValue, useSharedValue, withSpring } from 'react-native-reanimated';
|
|
6
|
+
import { scheduleOnRN } from 'react-native-worklets';
|
|
6
7
|
import useLatestCallback from 'use-latest-callback';
|
|
7
8
|
import { DrawerGestureContext } from "../utils/DrawerGestureContext.js";
|
|
8
9
|
import { DrawerProgressContext } from "../utils/DrawerProgressContext.js";
|
|
@@ -102,11 +103,14 @@ export function Drawer({
|
|
|
102
103
|
const layoutWidth = useSharedValue(initialWidth);
|
|
103
104
|
const translationX = useSharedValue(getDrawerTranslationX(open, initialWidth));
|
|
104
105
|
const contentRef = React.useRef(null);
|
|
106
|
+
const updateLayout = useLatestCallback(width => {
|
|
107
|
+
layoutWidth.set(width);
|
|
108
|
+
translationX.set(getDrawerTranslationX(open, width));
|
|
109
|
+
});
|
|
105
110
|
React.useLayoutEffect(() => {
|
|
106
111
|
const measureLayout = () => {
|
|
107
112
|
contentRef.current?.measure((_x, _y, width) => {
|
|
108
|
-
|
|
109
|
-
translationX.set(getDrawerTranslationX(open, width));
|
|
113
|
+
updateLayout(width);
|
|
110
114
|
});
|
|
111
115
|
};
|
|
112
116
|
measureLayout();
|
|
@@ -131,9 +135,9 @@ export function Drawer({
|
|
|
131
135
|
// subsequent updates will be handled by onLayout
|
|
132
136
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
133
137
|
}, []);
|
|
134
|
-
const onLayout = event => {
|
|
135
|
-
|
|
136
|
-
};
|
|
138
|
+
const onLayout = React.useCallback(event => {
|
|
139
|
+
updateLayout(event.nativeEvent.layout.width);
|
|
140
|
+
}, [updateLayout]);
|
|
137
141
|
const touchStartX = useSharedValue(0);
|
|
138
142
|
const touchX = useSharedValue(0);
|
|
139
143
|
const gestureState = useSharedValue(GestureState.UNDETERMINED);
|
|
@@ -161,7 +165,7 @@ export function Drawer({
|
|
|
161
165
|
return;
|
|
162
166
|
}
|
|
163
167
|
if (velocity === undefined) {
|
|
164
|
-
|
|
168
|
+
scheduleOnRN(onAnimationStart, open);
|
|
165
169
|
}
|
|
166
170
|
animatingTo.set(open ? 'open' : 'close');
|
|
167
171
|
translationX.set(withSpring(toValue, {
|
|
@@ -173,12 +177,12 @@ export function Drawer({
|
|
|
173
177
|
reduceMotion: ReduceMotion.Never
|
|
174
178
|
}, finished => {
|
|
175
179
|
animatingTo.set(null);
|
|
176
|
-
|
|
180
|
+
scheduleOnRN(onAnimationEnd, open, finished);
|
|
177
181
|
}));
|
|
178
182
|
if (open) {
|
|
179
|
-
|
|
183
|
+
scheduleOnRN(onOpen);
|
|
180
184
|
} else {
|
|
181
|
-
|
|
185
|
+
scheduleOnRN(onClose);
|
|
182
186
|
}
|
|
183
187
|
}, [touchStartX, touchX, layoutWidth, getDrawerTranslationX, translationX, animatingTo, onAnimationStart, onAnimationEnd, onOpen, onClose]);
|
|
184
188
|
React.useEffect(() => {
|
|
@@ -195,7 +199,7 @@ export function Drawer({
|
|
|
195
199
|
}).onStart(() => {
|
|
196
200
|
'worklet';
|
|
197
201
|
|
|
198
|
-
|
|
202
|
+
scheduleOnRN(onGestureBegin);
|
|
199
203
|
}).onChange(event => {
|
|
200
204
|
'worklet';
|
|
201
205
|
|
|
@@ -207,15 +211,15 @@ export function Drawer({
|
|
|
207
211
|
|
|
208
212
|
gestureState.set(event.state);
|
|
209
213
|
if (!success) {
|
|
210
|
-
|
|
214
|
+
scheduleOnRN(onGestureAbort);
|
|
211
215
|
}
|
|
212
|
-
const nextOpen = Math.abs(event.translationX) > SWIPE_MIN_OFFSET && Math.abs(event.
|
|
216
|
+
const nextOpen = Math.abs(event.translationX) > SWIPE_MIN_OFFSET && Math.abs(event.velocityX) > swipeMinVelocity || Math.abs(event.translationX) > swipeMinDistance ? drawerPosition === 'left' ?
|
|
213
217
|
// If swiped to right, open the drawer, otherwise close it
|
|
214
218
|
(event.velocityX === 0 ? event.translationX : event.velocityX) > 0 :
|
|
215
219
|
// If swiped to left, open the drawer, otherwise close it
|
|
216
220
|
(event.velocityX === 0 ? event.translationX : event.velocityX) < 0 : open;
|
|
217
221
|
toggleDrawer(nextOpen, event.velocityX);
|
|
218
|
-
|
|
222
|
+
scheduleOnRN(onGestureFinish);
|
|
219
223
|
}).activeOffsetX([-SWIPE_MIN_OFFSET, SWIPE_MIN_OFFSET]).failOffsetY([-SWIPE_MIN_OFFSET, SWIPE_MIN_OFFSET]).hitSlop(hitSlop).enabled(drawerType !== 'permanent' && swipeEnabled);
|
|
220
224
|
if (panGesture && configureGestureHandler) {
|
|
221
225
|
panGesture = configureGestureHandler(panGesture);
|
|
@@ -267,8 +271,10 @@ export function Drawer({
|
|
|
267
271
|
width: drawerWidth,
|
|
268
272
|
// FIXME: Reanimated skips committing to the shadow tree if no layout props are animated
|
|
269
273
|
// This results in pressables not getting their correct position and can't be pressed
|
|
270
|
-
// So we animate the zIndex to force the commit
|
|
271
|
-
|
|
274
|
+
// So we animate the zIndex to force the commit
|
|
275
|
+
// For 'back' type: always keep drawer behind content (-1 when open, 0 when closed/animating)
|
|
276
|
+
// For other types: 0 when open, 1 when closed/animating
|
|
277
|
+
zIndex: drawerType === 'back' ? translateX.get() === 0 ? -1 : 0 : translateX.get() === 0 ? 0 : 1,
|
|
272
278
|
transform: drawerType === 'permanent' ?
|
|
273
279
|
// Reanimated needs the property to be present, but it results in Browser bug
|
|
274
280
|
// https://bugs.chromium.org/p/chromium/issues/detail?id=20574
|
|
@@ -331,8 +337,7 @@ export function Drawer({
|
|
|
331
337
|
}), /*#__PURE__*/_jsx(Animated.View, {
|
|
332
338
|
removeClippedSubviews: Platform.OS !== 'ios',
|
|
333
339
|
style: [styles.drawer, {
|
|
334
|
-
position: drawerType === 'permanent' ? 'relative' : 'absolute'
|
|
335
|
-
zIndex: drawerType === 'back' ? -1 : 0
|
|
340
|
+
position: drawerType === 'permanent' ? 'relative' : 'absolute'
|
|
336
341
|
}, drawerAnimatedStyle, drawerStyle],
|
|
337
342
|
children: renderDrawerContent()
|
|
338
343
|
})]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Dimensions","I18nManager","Keyboard","Platform","StatusBar","StyleSheet","View","Animated","interpolate","ReduceMotion","runOnJS","useAnimatedStyle","useDerivedValue","useSharedValue","withSpring","useLatestCallback","DrawerGestureContext","DrawerProgressContext","getDrawerWidthNative","Gesture","GestureDetector","GestureHandlerRootView","GestureState","Overlay","jsx","_jsx","jsxs","_jsxs","SWIPE_EDGE_WIDTH","SWIPE_MIN_OFFSET","SWIPE_MIN_DISTANCE","SWIPE_MIN_VELOCITY","minmax","value","start","end","Math","min","max","Drawer","direction","getConstants","isRTL","drawerPosition","drawerStyle","drawerType","configureGestureHandler","hideStatusBarOnOpen","keyboardDismissMode","onClose","onOpen","onGestureStart","onGestureCancel","onGestureEnd","onTransitionStart","onTransitionEnd","open","overlayStyle","overlayAccessibilityLabel","statusBarAnimation","swipeEnabled","OS","swipeEdgeWidth","swipeMinDistance","swipeMinVelocity","renderDrawerContent","children","style","width","customWidth","flatten","isOpen","isRight","getDrawerTranslationX","useCallback","containerWidth","drawerWidth","hideStatusBar","hide","setHidden","useEffect","hideKeyboard","dismiss","onGestureBegin","onGestureFinish","onGestureAbort","hitSlop","useMemo","right","undefined","left","initialWidth","useState","get","layoutWidth","translationX","contentRef","useRef","useLayoutEffect","measureLayout","current","measure","_x","_y","set","handle","subscription","addEventListener","requestAnimationFrame","cancelAnimationFrame","remove","onLayout","event","nativeEvent","layout","touchStartX","touchX","gestureState","UNDETERMINED","onAnimationStart","onAnimationEnd","finished","animatingTo","toggleDrawer","velocity","toValue","stiffness","damping","mass","overshootClamping","reduceMotion","Never","startX","pan","panGesture","Pan","onBegin","state","x","onStart","onChange","onEnd","success","nextOpen","abs","velocityX","activeOffsetX","failOffsetY","enabled","translateX","touchDistance","ACTIVE","drawerAnimatedStyle","distanceFromEdge","zIndex","transform","contentAnimatedStyle","progress","styles","container","Provider","gesture","main","flexDirection","ref","content","onPress","accessibilityLabel","removeClippedSubviews","drawer","position","create","flex","top","bottom","maxWidth","backgroundColor","select","web","default","overflow"],"sourceRoot":"../../../src","sources":["views/Drawer.native.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","Dimensions","I18nManager","Keyboard","Platform","StatusBar","StyleSheet","View","Animated","interpolate","ReduceMotion","useAnimatedStyle","useDerivedValue","useSharedValue","withSpring","scheduleOnRN","useLatestCallback","DrawerGestureContext","DrawerProgressContext","getDrawerWidthNative","Gesture","GestureDetector","GestureHandlerRootView","GestureState","Overlay","jsx","_jsx","jsxs","_jsxs","SWIPE_EDGE_WIDTH","SWIPE_MIN_OFFSET","SWIPE_MIN_DISTANCE","SWIPE_MIN_VELOCITY","minmax","value","start","end","Math","min","max","Drawer","direction","getConstants","isRTL","drawerPosition","drawerStyle","drawerType","configureGestureHandler","hideStatusBarOnOpen","keyboardDismissMode","onClose","onOpen","onGestureStart","onGestureCancel","onGestureEnd","onTransitionStart","onTransitionEnd","open","overlayStyle","overlayAccessibilityLabel","statusBarAnimation","swipeEnabled","OS","swipeEdgeWidth","swipeMinDistance","swipeMinVelocity","renderDrawerContent","children","style","width","customWidth","flatten","isOpen","isRight","getDrawerTranslationX","useCallback","containerWidth","drawerWidth","hideStatusBar","hide","setHidden","useEffect","hideKeyboard","dismiss","onGestureBegin","onGestureFinish","onGestureAbort","hitSlop","useMemo","right","undefined","left","initialWidth","useState","get","layoutWidth","translationX","contentRef","useRef","updateLayout","set","useLayoutEffect","measureLayout","current","measure","_x","_y","handle","subscription","addEventListener","requestAnimationFrame","cancelAnimationFrame","remove","onLayout","event","nativeEvent","layout","touchStartX","touchX","gestureState","UNDETERMINED","onAnimationStart","onAnimationEnd","finished","animatingTo","toggleDrawer","velocity","toValue","stiffness","damping","mass","overshootClamping","reduceMotion","Never","startX","pan","panGesture","Pan","onBegin","state","x","onStart","onChange","onEnd","success","nextOpen","abs","velocityX","activeOffsetX","failOffsetY","enabled","translateX","touchDistance","ACTIVE","drawerAnimatedStyle","distanceFromEdge","zIndex","transform","contentAnimatedStyle","progress","styles","container","Provider","gesture","main","flexDirection","ref","content","onPress","accessibilityLabel","removeClippedSubviews","drawer","position","create","flex","top","bottom","maxWidth","backgroundColor","select","web","default","overflow"],"sourceRoot":"../../../src","sources":["views/Drawer.native.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -18,23 +18,23 @@ export type DrawerProps = {
|
|
|
18
18
|
/**
|
|
19
19
|
* Callback which is called when a gesture starts.
|
|
20
20
|
*/
|
|
21
|
-
onGestureStart?: () => void;
|
|
21
|
+
onGestureStart?: (() => void) | undefined;
|
|
22
22
|
/**
|
|
23
23
|
* Callback which is called when a gesture is cancelled.
|
|
24
24
|
*/
|
|
25
|
-
onGestureCancel?: () => void;
|
|
25
|
+
onGestureCancel?: (() => void) | undefined;
|
|
26
26
|
/**
|
|
27
27
|
* Callback which is called when a gesture ends.
|
|
28
28
|
*/
|
|
29
|
-
onGestureEnd?: () => void;
|
|
29
|
+
onGestureEnd?: (() => void) | undefined;
|
|
30
30
|
/**
|
|
31
31
|
* Callback which is called when the opening/closing transition starts.
|
|
32
32
|
*/
|
|
33
|
-
onTransitionStart?: (closing: boolean) => void;
|
|
33
|
+
onTransitionStart?: ((closing: boolean) => void) | undefined;
|
|
34
34
|
/**
|
|
35
35
|
* Callback which is called when the opening/closing transition ends.
|
|
36
36
|
*/
|
|
37
|
-
onTransitionEnd?: (closing: boolean) => void;
|
|
37
|
+
onTransitionEnd?: ((closing: boolean) => void) | undefined;
|
|
38
38
|
/**
|
|
39
39
|
* Callback which returns a react element to render as the content of the drawer.
|
|
40
40
|
*/
|
|
@@ -43,12 +43,12 @@ export type DrawerProps = {
|
|
|
43
43
|
* Locale direction of the drawer.
|
|
44
44
|
* Defaults to `rtl` when `I18nManager.getConstants().isRTL` is `true` on Android & iOS, otherwise `ltr`.
|
|
45
45
|
*/
|
|
46
|
-
direction?: 'ltr' | 'rtl';
|
|
46
|
+
direction?: 'ltr' | 'rtl' | undefined;
|
|
47
47
|
/**
|
|
48
48
|
* Position of the drawer on the screen.
|
|
49
49
|
* Defaults to `right` in RTL mode, otherwise `left`.
|
|
50
50
|
*/
|
|
51
|
-
drawerPosition?: 'left' | 'right';
|
|
51
|
+
drawerPosition?: 'left' | 'right' | undefined;
|
|
52
52
|
/**
|
|
53
53
|
* Type of the drawer. It determines how the drawer looks and animates.
|
|
54
54
|
* - `front`: Traditional drawer which covers the screen with a overlay behind it.
|
|
@@ -58,67 +58,67 @@ export type DrawerProps = {
|
|
|
58
58
|
*
|
|
59
59
|
* Defaults to `slide` on iOS and `front` on other platforms.
|
|
60
60
|
*/
|
|
61
|
-
drawerType?: 'front' | 'back' | 'slide' | 'permanent';
|
|
61
|
+
drawerType?: 'front' | 'back' | 'slide' | 'permanent' | undefined;
|
|
62
62
|
/**
|
|
63
63
|
* Style object for the drawer component.
|
|
64
64
|
* You can pass a custom background color for drawer or a custom width here.
|
|
65
65
|
*/
|
|
66
|
-
drawerStyle?: StyleProp<ViewStyle
|
|
66
|
+
drawerStyle?: StyleProp<ViewStyle> | undefined;
|
|
67
67
|
/**
|
|
68
68
|
* Style object for the drawer overlay.
|
|
69
69
|
*/
|
|
70
|
-
overlayStyle?: StyleProp<ViewStyle
|
|
70
|
+
overlayStyle?: StyleProp<ViewStyle> | undefined;
|
|
71
71
|
/**
|
|
72
72
|
* Accessibility label for the overlay. This is read by the screen reader when the user taps the overlay.
|
|
73
73
|
* Defaults to "Close drawer".
|
|
74
74
|
*/
|
|
75
|
-
overlayAccessibilityLabel?: string;
|
|
75
|
+
overlayAccessibilityLabel?: string | undefined;
|
|
76
76
|
/**
|
|
77
77
|
* Whether the keyboard should be dismissed when the swipe gesture begins.
|
|
78
78
|
* Defaults to `'on-drag'`. Set to `'none'` to disable keyboard handling.
|
|
79
79
|
*/
|
|
80
|
-
keyboardDismissMode?: 'none' | 'on-drag';
|
|
80
|
+
keyboardDismissMode?: 'none' | 'on-drag' | undefined;
|
|
81
81
|
/**
|
|
82
82
|
* Whether the statusbar should be hidden when the drawer is pulled or opens.
|
|
83
83
|
* Defaults to `false`.
|
|
84
84
|
*/
|
|
85
|
-
hideStatusBarOnOpen?: boolean;
|
|
85
|
+
hideStatusBarOnOpen?: boolean | undefined;
|
|
86
86
|
/**
|
|
87
87
|
* Animation of the statusbar when hiding it. Use in combination with `hideStatusBarOnOpen`.
|
|
88
88
|
*/
|
|
89
|
-
statusBarAnimation?: 'slide' | 'fade' | 'none';
|
|
89
|
+
statusBarAnimation?: 'slide' | 'fade' | 'none' | undefined;
|
|
90
90
|
/**
|
|
91
91
|
* Whether you can use swipe gestures to open or close the drawer.
|
|
92
92
|
* Defaults to `true`.
|
|
93
93
|
* This is not supported on Web.
|
|
94
94
|
*/
|
|
95
|
-
swipeEnabled?: boolean;
|
|
95
|
+
swipeEnabled?: boolean | undefined;
|
|
96
96
|
/**
|
|
97
97
|
* How far from the edge of the screen the swipe gesture should activate.
|
|
98
98
|
* Defaults to `32`.
|
|
99
99
|
* This is not supported on Web.
|
|
100
100
|
*/
|
|
101
|
-
swipeEdgeWidth?: number;
|
|
101
|
+
swipeEdgeWidth?: number | undefined;
|
|
102
102
|
/**
|
|
103
103
|
* Minimum swipe distance that should activate opening the drawer.
|
|
104
104
|
* Defaults to `60`.
|
|
105
105
|
* This is not supported on Web.
|
|
106
106
|
*/
|
|
107
|
-
swipeMinDistance?: number;
|
|
107
|
+
swipeMinDistance?: number | undefined;
|
|
108
108
|
/**
|
|
109
109
|
* Minimum swipe velocity that should activate opening the drawer.
|
|
110
110
|
* Defaults to `500`.
|
|
111
111
|
* This is not supported on Web.
|
|
112
112
|
*/
|
|
113
|
-
swipeMinVelocity?: number;
|
|
113
|
+
swipeMinVelocity?: number | undefined;
|
|
114
114
|
/**
|
|
115
115
|
* Function to modify the pan gesture handler via RNGH properties API.
|
|
116
116
|
*/
|
|
117
|
-
configureGestureHandler?: (gesture: PanGesture) => PanGesture;
|
|
117
|
+
configureGestureHandler?: ((gesture: PanGesture) => PanGesture) | undefined;
|
|
118
118
|
/**
|
|
119
119
|
* Style object for the wrapper view.
|
|
120
120
|
*/
|
|
121
|
-
style?: StyleProp<ViewStyle
|
|
121
|
+
style?: StyleProp<ViewStyle> | undefined;
|
|
122
122
|
/**
|
|
123
123
|
* Content that the drawer should wrap.
|
|
124
124
|
*/
|
|
@@ -128,6 +128,6 @@ export type OverlayProps = React.ComponentProps<typeof View> & {
|
|
|
128
128
|
open: boolean;
|
|
129
129
|
progress: SharedValue<number>;
|
|
130
130
|
onPress: () => void;
|
|
131
|
-
accessibilityLabel?: string;
|
|
131
|
+
accessibilityLabel?: string | undefined;
|
|
132
132
|
};
|
|
133
133
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
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,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,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;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDrawerWidth.d.ts","sourceRoot":"","sources":["../../../../src/utils/getDrawerWidth.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAYnE,wBAAgB,oBAAoB,CAAC,EACnC,cAAc,EACd,WAAW,GACZ,EAAE;IACD,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,cAAc,GAAG,SAAS,GAAG,IAAI,CAAC;CAChD,
|
|
1
|
+
{"version":3,"file":"getDrawerWidth.d.ts","sourceRoot":"","sources":["../../../../src/utils/getDrawerWidth.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAYnE,wBAAgB,oBAAoB,CAAC,EACnC,cAAc,EACd,WAAW,GACZ,EAAE;IACD,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,cAAc,GAAG,SAAS,GAAG,IAAI,CAAC;CAChD,UAsBA;AAED,wBAAgB,iBAAiB,CAAC,EAChC,WAAW,GACZ,EAAE;IACD,WAAW,EAAE,SAAS,CAAC;CACxB,GAAG,MAAM,CAYT"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Drawer.native.d.ts","sourceRoot":"","sources":["../../../../src/views/Drawer.native.tsx"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAuB5C,wBAAgB,MAAM,CAAC,EACrB,SAA4D,EAC5D,cAAuD,EACvD,WAAW,EACX,UAAoB,EACpB,uBAAuB,EACvB,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,
|
|
1
|
+
{"version":3,"file":"Drawer.native.d.ts","sourceRoot":"","sources":["../../../../src/views/Drawer.native.tsx"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAuB5C,wBAAgB,MAAM,CAAC,EACrB,SAA4D,EAC5D,cAAuD,EACvD,WAAW,EACX,UAAoB,EACpB,uBAAuB,EACvB,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,2CA2eb"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-drawer-layout",
|
|
3
3
|
"description": "Drawer component for React Native",
|
|
4
|
-
"version": "5.0.0-alpha.
|
|
4
|
+
"version": "5.0.0-alpha.10",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react-native-component",
|
|
7
7
|
"react-component",
|
|
@@ -42,23 +42,23 @@
|
|
|
42
42
|
"clean": "del lib"
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
|
-
"
|
|
46
|
-
"use-latest-callback": "^0.3.2"
|
|
45
|
+
"use-latest-callback": "^0.3.3"
|
|
47
46
|
},
|
|
48
47
|
"devDependencies": {
|
|
49
|
-
"del-cli": "^
|
|
50
|
-
"react": "19.
|
|
51
|
-
"react-native": "0.
|
|
52
|
-
"react-native-builder-bob": "^0.
|
|
53
|
-
"react-native-reanimated": "4.1
|
|
54
|
-
"react-native-worklets": "0.
|
|
55
|
-
"typescript": "^
|
|
48
|
+
"del-cli": "^7.0.0",
|
|
49
|
+
"react": "19.2.0",
|
|
50
|
+
"react-native": "0.83.4",
|
|
51
|
+
"react-native-builder-bob": "^0.41.0",
|
|
52
|
+
"react-native-reanimated": "~4.2.1",
|
|
53
|
+
"react-native-worklets": "0.7.2",
|
|
54
|
+
"typescript": "^6.0.2"
|
|
56
55
|
},
|
|
57
56
|
"peerDependencies": {
|
|
58
|
-
"react": ">= 19.
|
|
57
|
+
"react": ">= 19.2.0",
|
|
59
58
|
"react-native": "*",
|
|
60
59
|
"react-native-gesture-handler": ">= 2.0.0",
|
|
61
|
-
"react-native-reanimated": ">= 4.0.0"
|
|
60
|
+
"react-native-reanimated": ">= 4.0.0",
|
|
61
|
+
"react-native-worklets": ">= 0.4.0"
|
|
62
62
|
},
|
|
63
63
|
"react-native-builder-bob": {
|
|
64
64
|
"source": "src",
|
|
@@ -78,5 +78,5 @@
|
|
|
78
78
|
]
|
|
79
79
|
]
|
|
80
80
|
},
|
|
81
|
-
"gitHead": "
|
|
81
|
+
"gitHead": "55f169c7b6accb5d70167ec27e3a1529d9e2abde"
|
|
82
82
|
}
|
package/src/types.tsx
CHANGED
|
@@ -22,27 +22,27 @@ export type DrawerProps = {
|
|
|
22
22
|
/**
|
|
23
23
|
* Callback which is called when a gesture starts.
|
|
24
24
|
*/
|
|
25
|
-
onGestureStart?: () => void;
|
|
25
|
+
onGestureStart?: (() => void) | undefined;
|
|
26
26
|
|
|
27
27
|
/**
|
|
28
28
|
* Callback which is called when a gesture is cancelled.
|
|
29
29
|
*/
|
|
30
|
-
onGestureCancel?: () => void;
|
|
30
|
+
onGestureCancel?: (() => void) | undefined;
|
|
31
31
|
|
|
32
32
|
/**
|
|
33
33
|
* Callback which is called when a gesture ends.
|
|
34
34
|
*/
|
|
35
|
-
onGestureEnd?: () => void;
|
|
35
|
+
onGestureEnd?: (() => void) | undefined;
|
|
36
36
|
|
|
37
37
|
/**
|
|
38
38
|
* Callback which is called when the opening/closing transition starts.
|
|
39
39
|
*/
|
|
40
|
-
onTransitionStart?: (closing: boolean) => void;
|
|
40
|
+
onTransitionStart?: ((closing: boolean) => void) | undefined;
|
|
41
41
|
|
|
42
42
|
/**
|
|
43
43
|
* Callback which is called when the opening/closing transition ends.
|
|
44
44
|
*/
|
|
45
|
-
onTransitionEnd?: (closing: boolean) => void;
|
|
45
|
+
onTransitionEnd?: ((closing: boolean) => void) | undefined;
|
|
46
46
|
|
|
47
47
|
/**
|
|
48
48
|
* Callback which returns a react element to render as the content of the drawer.
|
|
@@ -53,13 +53,13 @@ export type DrawerProps = {
|
|
|
53
53
|
* Locale direction of the drawer.
|
|
54
54
|
* Defaults to `rtl` when `I18nManager.getConstants().isRTL` is `true` on Android & iOS, otherwise `ltr`.
|
|
55
55
|
*/
|
|
56
|
-
direction?: 'ltr' | 'rtl';
|
|
56
|
+
direction?: 'ltr' | 'rtl' | undefined;
|
|
57
57
|
|
|
58
58
|
/**
|
|
59
59
|
* Position of the drawer on the screen.
|
|
60
60
|
* Defaults to `right` in RTL mode, otherwise `left`.
|
|
61
61
|
*/
|
|
62
|
-
drawerPosition?: 'left' | 'right';
|
|
62
|
+
drawerPosition?: 'left' | 'right' | undefined;
|
|
63
63
|
|
|
64
64
|
/**
|
|
65
65
|
* Type of the drawer. It determines how the drawer looks and animates.
|
|
@@ -70,79 +70,79 @@ export type DrawerProps = {
|
|
|
70
70
|
*
|
|
71
71
|
* Defaults to `slide` on iOS and `front` on other platforms.
|
|
72
72
|
*/
|
|
73
|
-
drawerType?: 'front' | 'back' | 'slide' | 'permanent';
|
|
73
|
+
drawerType?: 'front' | 'back' | 'slide' | 'permanent' | undefined;
|
|
74
74
|
|
|
75
75
|
/**
|
|
76
76
|
* Style object for the drawer component.
|
|
77
77
|
* You can pass a custom background color for drawer or a custom width here.
|
|
78
78
|
*/
|
|
79
|
-
drawerStyle?: StyleProp<ViewStyle
|
|
79
|
+
drawerStyle?: StyleProp<ViewStyle> | undefined;
|
|
80
80
|
|
|
81
81
|
/**
|
|
82
82
|
* Style object for the drawer overlay.
|
|
83
83
|
*/
|
|
84
|
-
overlayStyle?: StyleProp<ViewStyle
|
|
84
|
+
overlayStyle?: StyleProp<ViewStyle> | undefined;
|
|
85
85
|
|
|
86
86
|
/**
|
|
87
87
|
* Accessibility label for the overlay. This is read by the screen reader when the user taps the overlay.
|
|
88
88
|
* Defaults to "Close drawer".
|
|
89
89
|
*/
|
|
90
|
-
overlayAccessibilityLabel?: string;
|
|
90
|
+
overlayAccessibilityLabel?: string | undefined;
|
|
91
91
|
|
|
92
92
|
/**
|
|
93
93
|
* Whether the keyboard should be dismissed when the swipe gesture begins.
|
|
94
94
|
* Defaults to `'on-drag'`. Set to `'none'` to disable keyboard handling.
|
|
95
95
|
*/
|
|
96
|
-
keyboardDismissMode?: 'none' | 'on-drag';
|
|
96
|
+
keyboardDismissMode?: 'none' | 'on-drag' | undefined;
|
|
97
97
|
|
|
98
98
|
/**
|
|
99
99
|
* Whether the statusbar should be hidden when the drawer is pulled or opens.
|
|
100
100
|
* Defaults to `false`.
|
|
101
101
|
*/
|
|
102
|
-
hideStatusBarOnOpen?: boolean;
|
|
102
|
+
hideStatusBarOnOpen?: boolean | undefined;
|
|
103
103
|
|
|
104
104
|
/**
|
|
105
105
|
* Animation of the statusbar when hiding it. Use in combination with `hideStatusBarOnOpen`.
|
|
106
106
|
*/
|
|
107
|
-
statusBarAnimation?: 'slide' | 'fade' | 'none';
|
|
107
|
+
statusBarAnimation?: 'slide' | 'fade' | 'none' | undefined;
|
|
108
108
|
|
|
109
109
|
/**
|
|
110
110
|
* Whether you can use swipe gestures to open or close the drawer.
|
|
111
111
|
* Defaults to `true`.
|
|
112
112
|
* This is not supported on Web.
|
|
113
113
|
*/
|
|
114
|
-
swipeEnabled?: boolean;
|
|
114
|
+
swipeEnabled?: boolean | undefined;
|
|
115
115
|
|
|
116
116
|
/**
|
|
117
117
|
* How far from the edge of the screen the swipe gesture should activate.
|
|
118
118
|
* Defaults to `32`.
|
|
119
119
|
* This is not supported on Web.
|
|
120
120
|
*/
|
|
121
|
-
swipeEdgeWidth?: number;
|
|
121
|
+
swipeEdgeWidth?: number | undefined;
|
|
122
122
|
|
|
123
123
|
/**
|
|
124
124
|
* Minimum swipe distance that should activate opening the drawer.
|
|
125
125
|
* Defaults to `60`.
|
|
126
126
|
* This is not supported on Web.
|
|
127
127
|
*/
|
|
128
|
-
swipeMinDistance?: number;
|
|
128
|
+
swipeMinDistance?: number | undefined;
|
|
129
129
|
|
|
130
130
|
/**
|
|
131
131
|
* Minimum swipe velocity that should activate opening the drawer.
|
|
132
132
|
* Defaults to `500`.
|
|
133
133
|
* This is not supported on Web.
|
|
134
134
|
*/
|
|
135
|
-
swipeMinVelocity?: number;
|
|
135
|
+
swipeMinVelocity?: number | undefined;
|
|
136
136
|
|
|
137
137
|
/**
|
|
138
138
|
* Function to modify the pan gesture handler via RNGH properties API.
|
|
139
139
|
*/
|
|
140
|
-
configureGestureHandler?: (gesture: PanGesture) => PanGesture;
|
|
140
|
+
configureGestureHandler?: ((gesture: PanGesture) => PanGesture) | undefined;
|
|
141
141
|
|
|
142
142
|
/**
|
|
143
143
|
* Style object for the wrapper view.
|
|
144
144
|
*/
|
|
145
|
-
style?: StyleProp<ViewStyle
|
|
145
|
+
style?: StyleProp<ViewStyle> | undefined;
|
|
146
146
|
|
|
147
147
|
/**
|
|
148
148
|
* Content that the drawer should wrap.
|
|
@@ -154,5 +154,5 @@ export type OverlayProps = React.ComponentProps<typeof View> & {
|
|
|
154
154
|
open: boolean;
|
|
155
155
|
progress: SharedValue<number>;
|
|
156
156
|
onPress: () => void;
|
|
157
|
-
accessibilityLabel?: string;
|
|
157
|
+
accessibilityLabel?: string | undefined;
|
|
158
158
|
};
|
|
@@ -19,10 +19,12 @@ export function getDrawerWidthNative({
|
|
|
19
19
|
}) {
|
|
20
20
|
'worklet';
|
|
21
21
|
|
|
22
|
-
const defaultWidth =
|
|
23
|
-
containerWidth - APPROX_APP_BAR_HEIGHT <=
|
|
22
|
+
const defaultWidth = Math.max(
|
|
23
|
+
containerWidth - APPROX_APP_BAR_HEIGHT <= DEFAULT_DRAWER_WIDTH
|
|
24
24
|
? containerWidth - APPROX_APP_BAR_HEIGHT
|
|
25
|
-
: DEFAULT_DRAWER_WIDTH
|
|
25
|
+
: DEFAULT_DRAWER_WIDTH,
|
|
26
|
+
0
|
|
27
|
+
);
|
|
26
28
|
|
|
27
29
|
const width = customWidth ?? defaultWidth;
|
|
28
30
|
|
|
@@ -4,7 +4,7 @@ import type { SharedValue } from 'react-native-reanimated';
|
|
|
4
4
|
import { DrawerProgressContext } from './DrawerProgressContext';
|
|
5
5
|
|
|
6
6
|
export function useDrawerProgress(): Readonly<SharedValue<number>> {
|
|
7
|
-
const progress = React.
|
|
7
|
+
const progress = React.use(DrawerProgressContext);
|
|
8
8
|
|
|
9
9
|
if (progress === undefined) {
|
|
10
10
|
throw new Error(
|
|
@@ -12,12 +12,12 @@ import {
|
|
|
12
12
|
import Animated, {
|
|
13
13
|
interpolate,
|
|
14
14
|
ReduceMotion,
|
|
15
|
-
runOnJS,
|
|
16
15
|
useAnimatedStyle,
|
|
17
16
|
useDerivedValue,
|
|
18
17
|
useSharedValue,
|
|
19
18
|
withSpring,
|
|
20
19
|
} from 'react-native-reanimated';
|
|
20
|
+
import { scheduleOnRN } from 'react-native-worklets';
|
|
21
21
|
import useLatestCallback from 'use-latest-callback';
|
|
22
22
|
|
|
23
23
|
import type { DrawerProps } from '../types';
|
|
@@ -149,11 +149,15 @@ export function Drawer({
|
|
|
149
149
|
|
|
150
150
|
const contentRef = React.useRef<View>(null);
|
|
151
151
|
|
|
152
|
+
const updateLayout = useLatestCallback((width: number) => {
|
|
153
|
+
layoutWidth.set(width);
|
|
154
|
+
translationX.set(getDrawerTranslationX(open, width));
|
|
155
|
+
});
|
|
156
|
+
|
|
152
157
|
React.useLayoutEffect(() => {
|
|
153
158
|
const measureLayout = () => {
|
|
154
159
|
contentRef.current?.measure((_x, _y, width) => {
|
|
155
|
-
|
|
156
|
-
translationX.set(getDrawerTranslationX(open, width));
|
|
160
|
+
updateLayout(width);
|
|
157
161
|
});
|
|
158
162
|
};
|
|
159
163
|
|
|
@@ -183,9 +187,12 @@ export function Drawer({
|
|
|
183
187
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
184
188
|
}, []);
|
|
185
189
|
|
|
186
|
-
const onLayout = (
|
|
187
|
-
|
|
188
|
-
|
|
190
|
+
const onLayout = React.useCallback(
|
|
191
|
+
(event: LayoutChangeEvent) => {
|
|
192
|
+
updateLayout(event.nativeEvent.layout.width);
|
|
193
|
+
},
|
|
194
|
+
[updateLayout]
|
|
195
|
+
);
|
|
189
196
|
|
|
190
197
|
const touchStartX = useSharedValue(0);
|
|
191
198
|
const touchX = useSharedValue(0);
|
|
@@ -226,7 +233,7 @@ export function Drawer({
|
|
|
226
233
|
}
|
|
227
234
|
|
|
228
235
|
if (velocity === undefined) {
|
|
229
|
-
|
|
236
|
+
scheduleOnRN(onAnimationStart, open);
|
|
230
237
|
}
|
|
231
238
|
|
|
232
239
|
animatingTo.set(open ? 'open' : 'close');
|
|
@@ -243,15 +250,15 @@ export function Drawer({
|
|
|
243
250
|
},
|
|
244
251
|
(finished) => {
|
|
245
252
|
animatingTo.set(null);
|
|
246
|
-
|
|
253
|
+
scheduleOnRN(onAnimationEnd, open, finished);
|
|
247
254
|
}
|
|
248
255
|
)
|
|
249
256
|
);
|
|
250
257
|
|
|
251
258
|
if (open) {
|
|
252
|
-
|
|
259
|
+
scheduleOnRN(onOpen);
|
|
253
260
|
} else {
|
|
254
|
-
|
|
261
|
+
scheduleOnRN(onClose);
|
|
255
262
|
}
|
|
256
263
|
},
|
|
257
264
|
[
|
|
@@ -286,7 +293,7 @@ export function Drawer({
|
|
|
286
293
|
.onStart(() => {
|
|
287
294
|
'worklet';
|
|
288
295
|
|
|
289
|
-
|
|
296
|
+
scheduleOnRN(onGestureBegin);
|
|
290
297
|
})
|
|
291
298
|
.onChange((event) => {
|
|
292
299
|
'worklet';
|
|
@@ -301,12 +308,12 @@ export function Drawer({
|
|
|
301
308
|
gestureState.set(event.state);
|
|
302
309
|
|
|
303
310
|
if (!success) {
|
|
304
|
-
|
|
311
|
+
scheduleOnRN(onGestureAbort);
|
|
305
312
|
}
|
|
306
313
|
|
|
307
314
|
const nextOpen =
|
|
308
315
|
(Math.abs(event.translationX) > SWIPE_MIN_OFFSET &&
|
|
309
|
-
Math.abs(event.
|
|
316
|
+
Math.abs(event.velocityX) > swipeMinVelocity) ||
|
|
310
317
|
Math.abs(event.translationX) > swipeMinDistance
|
|
311
318
|
? drawerPosition === 'left'
|
|
312
319
|
? // If swiped to right, open the drawer, otherwise close it
|
|
@@ -318,7 +325,7 @@ export function Drawer({
|
|
|
318
325
|
: open;
|
|
319
326
|
|
|
320
327
|
toggleDrawer(nextOpen, event.velocityX);
|
|
321
|
-
|
|
328
|
+
scheduleOnRN(onGestureFinish);
|
|
322
329
|
})
|
|
323
330
|
.activeOffsetX([-SWIPE_MIN_OFFSET, SWIPE_MIN_OFFSET])
|
|
324
331
|
.failOffsetY([-SWIPE_MIN_OFFSET, SWIPE_MIN_OFFSET])
|
|
@@ -412,8 +419,17 @@ export function Drawer({
|
|
|
412
419
|
width: drawerWidth,
|
|
413
420
|
// FIXME: Reanimated skips committing to the shadow tree if no layout props are animated
|
|
414
421
|
// This results in pressables not getting their correct position and can't be pressed
|
|
415
|
-
// So we animate the zIndex to force the commit
|
|
416
|
-
|
|
422
|
+
// So we animate the zIndex to force the commit
|
|
423
|
+
// For 'back' type: always keep drawer behind content (-1 when open, 0 when closed/animating)
|
|
424
|
+
// For other types: 0 when open, 1 when closed/animating
|
|
425
|
+
zIndex:
|
|
426
|
+
drawerType === 'back'
|
|
427
|
+
? translateX.get() === 0
|
|
428
|
+
? -1
|
|
429
|
+
: 0
|
|
430
|
+
: translateX.get() === 0
|
|
431
|
+
? 0
|
|
432
|
+
: 1,
|
|
417
433
|
transform:
|
|
418
434
|
drawerType === 'permanent'
|
|
419
435
|
? // Reanimated needs the property to be present, but it results in Browser bug
|
|
@@ -533,7 +549,6 @@ export function Drawer({
|
|
|
533
549
|
{
|
|
534
550
|
position:
|
|
535
551
|
drawerType === 'permanent' ? 'relative' : 'absolute',
|
|
536
|
-
zIndex: drawerType === 'back' ? -1 : 0,
|
|
537
552
|
},
|
|
538
553
|
drawerAnimatedStyle,
|
|
539
554
|
drawerStyle,
|