react-native-drawer-layout 5.0.0-alpha.1 → 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.
@@ -15,7 +15,7 @@ export function getDrawerWidthNative({
15
15
  }) {
16
16
  'worklet';
17
17
 
18
- const defaultWidth = containerWidth - APPROX_APP_BAR_HEIGHT <= 360 ? containerWidth - APPROX_APP_BAR_HEIGHT : DEFAULT_DRAWER_WIDTH;
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,GAChBF,cAAc,GAAGJ,qBAAqB,IAAI,GAAG,GACzCI,cAAc,GAAGJ,qBAAqB,GACtCC,oBAAoB;EAE1B,MAAMM,KAAK,GAAGF,WAAW,IAAIC,YAAY;EAEzC,IAAI,OAAOC,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,OAAOL,cAAc,IAAIK,UAAU,GAAG,GAAG,CAAC;IAC5C;EACF;EAEA,OAAO,OAAOF,KAAK,KAAK,QAAQ,GAAGA,KAAK,GAAGD,YAAY;AACzD;AAEA,OAAO,SAASO,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,OAAOL,wBAAwB;AACjC","ignoreList":[]}
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.useContext(DrawerProgressContext);
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","useContext","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,UAAU,CAACH,qBAAqB,CAAC;EAExD,IAAIE,QAAQ,KAAKE,SAAS,EAAE;IAC1B,MAAM,IAAIC,KAAK,CACb,4DACF,CAAC;EACH;EAEA,OAAOH,QAAQ;AACjB","ignoreList":[]}
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, runOnJS, useAnimatedStyle, useDerivedValue, useSharedValue, withSpring } from 'react-native-reanimated';
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
- layoutWidth.set(width);
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
- layoutWidth.set(event.nativeEvent.layout.width);
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
- runOnJS(onAnimationStart)(open);
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
- runOnJS(onAnimationEnd)(open, finished);
180
+ scheduleOnRN(onAnimationEnd, open, finished);
177
181
  }));
178
182
  if (open) {
179
- runOnJS(onOpen)();
183
+ scheduleOnRN(onOpen);
180
184
  } else {
181
- runOnJS(onClose)();
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
- runOnJS(onGestureBegin)();
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
- runOnJS(onGestureAbort)();
214
+ scheduleOnRN(onGestureAbort);
211
215
  }
212
- const nextOpen = Math.abs(event.translationX) > SWIPE_MIN_OFFSET && Math.abs(event.translationX) > swipeMinVelocity || Math.abs(event.translationX) > swipeMinDistance ? drawerPosition === 'left' ?
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
- runOnJS(onGestureFinish)();
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);
@@ -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;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,SAAS,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IAE1B;;;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;;OAEG;IACH,uBAAuB,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,KAAK,UAAU,CAAC;IAE9D;;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
+ {"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,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IAE1C;;OAEG;IACH,eAAe,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IAE3C;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IAExC;;OAEG;IACH,iBAAiB,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAE7D;;OAEG;IACH,eAAe,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAE3D;;OAEG;IACH,mBAAmB,EAAE,MAAM,KAAK,CAAC,SAAS,CAAC;IAE3C;;;OAGG;IACH,SAAS,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC;IAEtC;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;IAE9C;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,WAAW,GAAG,SAAS,CAAC;IAElE;;;OAGG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IAE/C;;OAEG;IACH,YAAY,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IAEhD;;;OAGG;IACH,yBAAyB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE/C;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;IAErD;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAE1C;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAE3D;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAEnC;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEpC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEtC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEtC;;OAEG;IACH,uBAAuB,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,UAAU,KAAK,UAAU,CAAC,GAAG,SAAS,CAAC;IAE5E;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IAEzC;;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,GAAG,SAAS,CAAC;CACzC,CAAC"}
@@ -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,UAoBA;AAED,wBAAgB,iBAAiB,CAAC,EAChC,WAAW,GACZ,EAAE;IACD,WAAW,EAAE,SAAS,CAAC;CACxB,GAAG,MAAM,CAYT"}
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,2CAoeb"}
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.1",
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
- "color": "^4.2.3",
46
- "use-latest-callback": "^0.3.2"
45
+ "use-latest-callback": "^0.3.3"
47
46
  },
48
47
  "devDependencies": {
49
- "del-cli": "^6.0.0",
50
- "react": "19.1.0",
51
- "react-native": "0.81.4",
52
- "react-native-builder-bob": "^0.40.12",
53
- "react-native-reanimated": "4.1.3",
54
- "react-native-worklets": "0.6.1",
55
- "typescript": "^5.9.2"
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.0.0",
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": "7e4ba3f0b8dc69e00989cb6005052c9502581cf3"
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 <= 360
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.useContext(DrawerProgressContext);
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
- layoutWidth.set(width);
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 = (event: LayoutChangeEvent) => {
187
- layoutWidth.set(event.nativeEvent.layout.width);
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
- runOnJS(onAnimationStart)(open);
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
- runOnJS(onAnimationEnd)(open, finished);
253
+ scheduleOnRN(onAnimationEnd, open, finished);
247
254
  }
248
255
  )
249
256
  );
250
257
 
251
258
  if (open) {
252
- runOnJS(onOpen)();
259
+ scheduleOnRN(onOpen);
253
260
  } else {
254
- runOnJS(onClose)();
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
- runOnJS(onGestureBegin)();
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
- runOnJS(onGestureAbort)();
311
+ scheduleOnRN(onGestureAbort);
305
312
  }
306
313
 
307
314
  const nextOpen =
308
315
  (Math.abs(event.translationX) > SWIPE_MIN_OFFSET &&
309
- Math.abs(event.translationX) > swipeMinVelocity) ||
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
- runOnJS(onGestureFinish)();
328
+ scheduleOnRN(onGestureFinish);
322
329
  })
323
330
  .activeOffsetX([-SWIPE_MIN_OFFSET, SWIPE_MIN_OFFSET])
324
331
  .failOffsetY([-SWIPE_MIN_OFFSET, SWIPE_MIN_OFFSET])