react-native-drawer-layout 4.2.11 → 4.2.13

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 (32) hide show
  1. package/lib/module/utils/DrawerGestureContext.js.map +1 -1
  2. package/lib/module/utils/getDrawerWidth.js +16 -8
  3. package/lib/module/utils/getDrawerWidth.js.map +1 -1
  4. package/lib/module/views/Drawer.js +1 -3
  5. package/lib/module/views/Drawer.js.map +1 -1
  6. package/lib/module/views/Drawer.native.js +57 -20
  7. package/lib/module/views/Drawer.native.js.map +1 -1
  8. package/lib/module/views/GestureHandler.js.map +1 -1
  9. package/lib/module/views/InteractionManager.js +1 -0
  10. package/lib/module/views/InteractionManager.js.map +1 -1
  11. package/lib/module/views/Overlay.native.js +2 -2
  12. package/lib/module/views/Overlay.native.js.map +1 -1
  13. package/lib/typescript/src/types.d.ts +2 -2
  14. package/lib/typescript/src/types.d.ts.map +1 -1
  15. package/lib/typescript/src/utils/DrawerGestureContext.d.ts +2 -1
  16. package/lib/typescript/src/utils/DrawerGestureContext.d.ts.map +1 -1
  17. package/lib/typescript/src/utils/getDrawerWidth.d.ts +5 -7
  18. package/lib/typescript/src/utils/getDrawerWidth.d.ts.map +1 -1
  19. package/lib/typescript/src/views/Drawer.d.ts.map +1 -1
  20. package/lib/typescript/src/views/Drawer.native.d.ts.map +1 -1
  21. package/lib/typescript/src/views/GestureHandler.d.ts +1 -0
  22. package/lib/typescript/src/views/GestureHandler.d.ts.map +1 -1
  23. package/lib/typescript/src/views/InteractionManager.d.ts.map +1 -1
  24. package/package.json +10 -14
  25. package/src/types.tsx +3 -2
  26. package/src/utils/DrawerGestureContext.tsx +4 -4
  27. package/src/utils/getDrawerWidth.tsx +31 -10
  28. package/src/views/Drawer.native.tsx +78 -25
  29. package/src/views/Drawer.tsx +1 -2
  30. package/src/views/GestureHandler.tsx +5 -1
  31. package/src/views/InteractionManager.tsx +1 -0
  32. package/src/views/Overlay.native.tsx +2 -2
@@ -1 +1 @@
1
- {"version":3,"names":["React","DrawerGestureContext","createContext","undefined"],"sourceRoot":"../../../src","sources":["utils/DrawerGestureContext.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAG9B,OAAO,MAAMC,oBAAoB,gBAAGD,KAAK,CAACE,aAAa,CACrDC,SACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","DrawerGestureContext","createContext","undefined"],"sourceRoot":"../../../src","sources":["utils/DrawerGestureContext.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAI9B,OAAO,MAAMC,oBAA2D,gBACtED,KAAK,CAACE,aAAa,CAAyBC,SAAS,CAAC","ignoreList":[]}
@@ -11,21 +11,29 @@ const DEFAULT_DRAWER_WIDTH = 360;
11
11
  */
12
12
  const DRAWER_DEFAULT_WIDTH_WEB = `min(calc(100% - ${APPROX_APP_BAR_HEIGHT}px), ${DEFAULT_DRAWER_WIDTH}px)`;
13
13
  export function getDrawerWidthNative({
14
- layout,
15
- drawerStyle
14
+ containerWidth,
15
+ customWidth,
16
+ customMaxWidth
16
17
  }) {
17
- const defaultWidth = Math.max(layout.width - APPROX_APP_BAR_HEIGHT <= 360 ? layout.width - APPROX_APP_BAR_HEIGHT : DEFAULT_DRAWER_WIDTH, 0);
18
- const {
19
- width = defaultWidth
20
- } = StyleSheet.flatten(drawerStyle) || {};
18
+ 'worklet';
19
+
20
+ const defaultWidth = Math.max(containerWidth - APPROX_APP_BAR_HEIGHT <= DEFAULT_DRAWER_WIDTH ? containerWidth - APPROX_APP_BAR_HEIGHT : DEFAULT_DRAWER_WIDTH, 0);
21
+ let width = customWidth ?? defaultWidth;
22
+ let maxWidth = customMaxWidth ?? containerWidth;
21
23
  if (typeof width === 'string' && width.endsWith('%')) {
22
24
  // Try to calculate width if a percentage is given
23
25
  const percentage = Number(width.replace(/%$/, ''));
24
26
  if (Number.isFinite(percentage)) {
25
- return layout.width * (percentage / 100);
27
+ width = containerWidth * (percentage / 100);
28
+ }
29
+ }
30
+ if (typeof maxWidth === 'string' && maxWidth.endsWith('%')) {
31
+ const percentage = Number(maxWidth.replace(/%$/, ''));
32
+ if (Number.isFinite(percentage)) {
33
+ maxWidth = containerWidth * (percentage / 100);
26
34
  }
27
35
  }
28
- return typeof width === 'number' ? width : defaultWidth;
36
+ return Math.min(typeof width === 'number' ? width : defaultWidth, typeof maxWidth === 'number' ? maxWidth : containerWidth);
29
37
  }
30
38
  export function getDrawerWidthWeb({
31
39
  drawerStyle
@@ -1 +1 @@
1
- {"version":3,"names":["StyleSheet","APPROX_APP_BAR_HEIGHT","DEFAULT_DRAWER_WIDTH","DRAWER_DEFAULT_WIDTH_WEB","getDrawerWidthNative","layout","drawerStyle","defaultWidth","Math","max","width","flatten","endsWith","percentage","Number","replace","isFinite","getDrawerWidthWeb"],"sourceRoot":"../../../src","sources":["utils/getDrawerWidth.tsx"],"mappings":";;AAAA,SAAyBA,UAAU,QAAwB,cAAc;AAEzE,MAAMC,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,MAAM;EACNC;AAIF,CAAC,EAAE;EACD,MAAMC,YAAY,GAAGC,IAAI,CAACC,GAAG,CAC3BJ,MAAM,CAACK,KAAK,GAAGT,qBAAqB,IAAI,GAAG,GACvCI,MAAM,CAACK,KAAK,GAAGT,qBAAqB,GACpCC,oBAAoB,EACxB,CACF,CAAC;EAED,MAAM;IAAEQ,KAAK,GAAGH;EAAa,CAAC,GAAGP,UAAU,CAACW,OAAO,CAACL,WAAW,CAAC,IAAI,CAAC,CAAC;EAEtE,IAAI,OAAOI,KAAK,KAAK,QAAQ,IAAIA,KAAK,CAACE,QAAQ,CAAC,GAAG,CAAC,EAAE;IACpD;IACA,MAAMC,UAAU,GAAGC,MAAM,CAACJ,KAAK,CAACK,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAElD,IAAID,MAAM,CAACE,QAAQ,CAACH,UAAU,CAAC,EAAE;MAC/B,OAAOR,MAAM,CAACK,KAAK,IAAIG,UAAU,GAAG,GAAG,CAAC;IAC1C;EACF;EAEA,OAAO,OAAOH,KAAK,KAAK,QAAQ,GAAGA,KAAK,GAAGH,YAAY;AACzD;AAEA,OAAO,SAASU,iBAAiBA,CAAC;EAChCX;AAGF,CAAC,EAAU;EACT,MAAM;IAAEI;EAAM,CAAC,GAAGV,UAAU,CAACW,OAAO,CAACL,WAAW,CAAC,IAAI,CAAC,CAAC;EAEvD,IAAI,OAAOI,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":[]}
1
+ {"version":3,"names":["StyleSheet","APPROX_APP_BAR_HEIGHT","DEFAULT_DRAWER_WIDTH","DRAWER_DEFAULT_WIDTH_WEB","getDrawerWidthNative","containerWidth","customWidth","customMaxWidth","defaultWidth","Math","max","width","maxWidth","endsWith","percentage","Number","replace","isFinite","min","getDrawerWidthWeb","drawerStyle","flatten"],"sourceRoot":"../../../src","sources":["utils/getDrawerWidth.tsx"],"mappings":";;AAAA,SAGEA,UAAU,QAEL,cAAc;AAErB,MAAMC,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,WAAW;EACXC;AAKF,CAAC,EAAE;EACD,SAAS;;EAET,MAAMC,YAAY,GAAGC,IAAI,CAACC,GAAG,CAC3BL,cAAc,GAAGJ,qBAAqB,IAAIC,oBAAoB,GAC1DG,cAAc,GAAGJ,qBAAqB,GACtCC,oBAAoB,EACxB,CACF,CAAC;EAED,IAAIS,KAAK,GAAGL,WAAW,IAAIE,YAAY;EACvC,IAAII,QAAQ,GAAGL,cAAc,IAAIF,cAAc;EAE/C,IAAI,OAAOM,KAAK,KAAK,QAAQ,IAAIA,KAAK,CAACE,QAAQ,CAAC,GAAG,CAAC,EAAE;IACpD;IACA,MAAMC,UAAU,GAAGC,MAAM,CAACJ,KAAK,CAACK,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAElD,IAAID,MAAM,CAACE,QAAQ,CAACH,UAAU,CAAC,EAAE;MAC/BH,KAAK,GAAGN,cAAc,IAAIS,UAAU,GAAG,GAAG,CAAC;IAC7C;EACF;EAEA,IAAI,OAAOF,QAAQ,KAAK,QAAQ,IAAIA,QAAQ,CAACC,QAAQ,CAAC,GAAG,CAAC,EAAE;IAC1D,MAAMC,UAAU,GAAGC,MAAM,CAACH,QAAQ,CAACI,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAErD,IAAID,MAAM,CAACE,QAAQ,CAACH,UAAU,CAAC,EAAE;MAC/BF,QAAQ,GAAGP,cAAc,IAAIS,UAAU,GAAG,GAAG,CAAC;IAChD;EACF;EAEA,OAAOL,IAAI,CAACS,GAAG,CACb,OAAOP,KAAK,KAAK,QAAQ,GAAGA,KAAK,GAAGH,YAAY,EAChD,OAAOI,QAAQ,KAAK,QAAQ,GAAGA,QAAQ,GAAGP,cAC5C,CAAC;AACH;AAEA,OAAO,SAASc,iBAAiBA,CAAC;EAChCC;AAGF,CAAC,EAAU;EACT,MAAM;IAAET;EAAM,CAAC,GAAGX,UAAU,CAACqB,OAAO,CAACD,WAAW,CAAC,IAAI,CAAC,CAAC;EAEvD,IAAI,OAAOT,KAAK,KAAK,QAAQ,EAAE;IAC7B,OAAO,GAAGA,KAAK,IAAI;EACrB;EAEA,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IAC7B,OAAOA,KAAK;EACd;EAEA,OAAOR,wBAAwB;AACjC","ignoreList":[]}
@@ -75,9 +75,7 @@ export function Drawer({
75
75
  // FIXME: width contains `px` on web
76
76
  {
77
77
  width: drawerWidth
78
- },
79
- // @ts-expect-error offset contains `calc` for web
80
- drawerType !== 'permanent' ?
78
+ }, drawerType !== 'permanent' ?
81
79
  // Position drawer off-screen by default in closed state
82
80
  // And add a translation only when drawer is open
83
81
  // So changing position in closed state won't trigger a visible transition
@@ -1 +1 @@
1
- {"version":3,"names":["React","StyleSheet","View","useLatestCallback","DrawerProgressContext","getDrawerWidthWeb","useFakeSharedValue","Overlay","jsx","_jsx","jsxs","_jsxs","Drawer","direction","drawerPosition","drawerStyle","drawerType","onClose","onTransitionStart","onTransitionEnd","open","overlayStyle","overlayAccessibilityLabel","renderDrawerContent","children","style","drawerWidth","progress","useEffect","value","drawerRef","useRef","onTransitionStartLatest","e","target","currentTarget","propertyName","onTransitionEndLatest","element","current","addEventListener","removeEventListener","isOpen","isRight","drawerTranslateX","drawerAnimatedStyle","transition","transform","contentTranslateX","contentAnimatedStyle","drawerElement","ref","styles","drawer","position","zIndex","width","right","left","mainContent","content","onPress","accessibilityLabel","Provider","container","create","flex","flexDirection","top","bottom","maxWidth","backgroundColor"],"sourceRoot":"../../../src","sources":["views/Drawer.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","StyleSheet","View","useLatestCallback","DrawerProgressContext","getDrawerWidthWeb","useFakeSharedValue","Overlay","jsx","_jsx","jsxs","_jsxs","Drawer","direction","drawerPosition","drawerStyle","drawerType","onClose","onTransitionStart","onTransitionEnd","open","overlayStyle","overlayAccessibilityLabel","renderDrawerContent","children","style","drawerWidth","progress","useEffect","value","drawerRef","useRef","onTransitionStartLatest","e","target","currentTarget","propertyName","onTransitionEndLatest","element","current","addEventListener","removeEventListener","isOpen","isRight","drawerTranslateX","drawerAnimatedStyle","transition","transform","contentTranslateX","contentAnimatedStyle","drawerElement","ref","styles","drawer","position","zIndex","width","right","left","mainContent","content","onPress","accessibilityLabel","Provider","container","create","flex","flexDirection","top","bottom","maxWidth","backgroundColor"],"sourceRoot":"../../../src","sources":["views/Drawer.tsx"],"mappings":"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","ignoreList":[]}
@@ -51,20 +51,25 @@ export function Drawer({
51
51
  }) {
52
52
  const windowDimensions = useWindowDimensions();
53
53
  const layout = customLayout ?? windowDimensions;
54
- const drawerWidth = getDrawerWidthNative({
55
- layout,
56
- drawerStyle
57
- });
54
+ const {
55
+ width: customWidth,
56
+ maxWidth: customMaxWidth
57
+ } = StyleSheet.flatten(drawerStyle) || {};
58
58
  const isOpen = drawerType === 'permanent' ? true : open;
59
59
  const isRight = drawerPosition === 'right';
60
- const getDrawerTranslationX = React.useCallback(open => {
60
+ const getDrawerTranslationX = React.useCallback((open, containerWidth) => {
61
61
  'worklet';
62
62
 
63
+ const drawerWidth = getDrawerWidthNative({
64
+ containerWidth,
65
+ customWidth,
66
+ customMaxWidth
67
+ });
63
68
  if (drawerPosition === 'left') {
64
69
  return open ? 0 : -drawerWidth;
65
70
  }
66
71
  return open ? 0 : drawerWidth;
67
- }, [drawerPosition, drawerWidth]);
72
+ }, [customMaxWidth, customWidth, drawerPosition]);
68
73
  const hideStatusBar = React.useCallback(hide => {
69
74
  if (hideStatusBarOnOpen) {
70
75
  StatusBar.setHidden(hide, statusBarAnimation);
@@ -113,13 +118,24 @@ export function Drawer({
113
118
  left: 0,
114
119
  width: isOpen ? undefined : swipeEdgeWidth
115
120
  }, [isRight, isOpen, swipeEdgeWidth]);
121
+ const layoutWidth = useSharedValue(layout.width);
122
+ const translationX = useSharedValue(getDrawerTranslationX(open, layout.width));
123
+ const updateLayout = useLatestCallback(width => {
124
+ layoutWidth.value = width;
125
+ translationX.value = getDrawerTranslationX(open, width);
126
+ });
127
+ React.useLayoutEffect(() => {
128
+ updateLayout(layout.width);
129
+ }, [layout.width, updateLayout]);
116
130
  const touchStartX = useSharedValue(0);
117
131
  const touchX = useSharedValue(0);
118
- const translationX = useSharedValue(getDrawerTranslationX(open));
119
132
  const gestureState = useSharedValue(GestureState.UNDETERMINED);
120
133
  const onOpenLatest = useLatestCallback(onOpen);
121
134
  const onCloseLatest = useLatestCallback(onClose);
122
135
  const onAnimationStart = useLatestCallback(open => {
136
+ if (drawerType !== 'permanent') {
137
+ hideKeyboard();
138
+ }
123
139
  onTransitionStart?.(!open);
124
140
  });
125
141
  const onAnimationEnd = useLatestCallback((open, finished) => {
@@ -131,7 +147,7 @@ export function Drawer({
131
147
  const toggleDrawer = React.useCallback((open, velocity) => {
132
148
  'worklet';
133
149
 
134
- const translateX = getDrawerTranslationX(open);
150
+ const translateX = getDrawerTranslationX(open, layoutWidth.value);
135
151
  if (velocity === undefined) {
136
152
  runOnJS(onAnimationStart)(open);
137
153
  }
@@ -150,8 +166,12 @@ export function Drawer({
150
166
  } else {
151
167
  runOnJS(onCloseLatest)();
152
168
  }
153
- }, [getDrawerTranslationX, onAnimationEnd, onAnimationStart, onCloseLatest, onOpenLatest, touchStartX, touchX, translationX]);
154
- const hasDrawerWidth = drawerWidth > 0;
169
+ }, [layoutWidth, getDrawerTranslationX, onAnimationEnd, onAnimationStart, onCloseLatest, onOpenLatest, touchStartX, touchX, translationX]);
170
+ const hasDrawerWidth = getDrawerWidthNative({
171
+ containerWidth: layout.width,
172
+ customWidth,
173
+ customMaxWidth
174
+ }) > 0;
155
175
  const previousHasDrawerWidthRef = React.useRef(hasDrawerWidth);
156
176
  const isHidden = useSharedValue(!isOpen && !hasDrawerWidth);
157
177
  React.useLayoutEffect(() => {
@@ -159,13 +179,13 @@ export function Drawer({
159
179
  // Update translationX without animation after measurement
160
180
  // This avoids flash of animation on initial render with async layout
161
181
  // We only want to animate it when something changes after measurement
162
- translationX.value = getDrawerTranslationX(open);
182
+ translationX.value = getDrawerTranslationX(open, layout.width);
163
183
  // Unhide the drawer only after we set the correct translationX
164
184
  // Otherwise the drawer might briefly flash in the wrong position
165
185
  isHidden.value = false;
166
186
  }
167
187
  previousHasDrawerWidthRef.current = hasDrawerWidth;
168
- }, [getDrawerTranslationX, hasDrawerWidth, isHidden, open, translationX]);
188
+ }, [getDrawerTranslationX, hasDrawerWidth, isHidden, layout.width, open, translationX]);
169
189
  React.useLayoutEffect(() => toggleDrawer(open), [open, toggleDrawer]);
170
190
  const startX = useSharedValue(0);
171
191
  const pan = React.useMemo(() => {
@@ -206,6 +226,12 @@ export function Drawer({
206
226
  return panGesture;
207
227
  }, [configureGestureHandler, drawerPosition, drawerType, gestureState, hitSlop, onGestureBegin, onGestureAbort, onGestureFinish, open, startX, swipeEnabled, swipeMinDistance, swipeMinVelocity, toggleDrawer, touchStartX, touchX, translationX]);
208
228
  const translateX = useDerivedValue(() => {
229
+ const drawerWidth = getDrawerWidthNative({
230
+ containerWidth: layoutWidth.value,
231
+ customWidth,
232
+ customMaxWidth
233
+ });
234
+
209
235
  // Comment stolen from react-native-gesture-handler/DrawerLayout
210
236
  //
211
237
  // While closing the drawer when user starts gesture outside of its area (in greyed
@@ -231,13 +257,19 @@ export function Drawer({
231
257
  // drawer be pulled back as soon as you start the pan.
232
258
  //
233
259
  // This is used only when drawerType is "front"
234
- const touchDistance = drawerType === 'front' && gestureState.value === GestureState.ACTIVE ? minmax(drawerPosition === 'left' ? touchStartX.value - drawerWidth : layout.width - drawerWidth - touchStartX.value, 0, layout.width) : 0;
260
+ const touchDistance = drawerType === 'front' && gestureState.value === GestureState.ACTIVE ? minmax(drawerPosition === 'left' ? touchStartX.value - drawerWidth : layoutWidth.value - drawerWidth - touchStartX.value, 0, layoutWidth.value) : 0;
235
261
  const translateX = drawerPosition === 'left' ? minmax(translationX.value + touchDistance, -drawerWidth, 0) : minmax(translationX.value - touchDistance, 0, drawerWidth);
236
262
  return translateX;
237
263
  });
238
264
  const drawerAnimatedStyle = useAnimatedStyle(() => {
239
- const distanceFromEdge = Math.max(layout.width - drawerWidth, 0);
265
+ const drawerWidth = getDrawerWidthNative({
266
+ containerWidth: layoutWidth.value,
267
+ customWidth,
268
+ customMaxWidth
269
+ });
270
+ const distanceFromEdge = Math.max(layoutWidth.value - drawerWidth, 0);
240
271
  return {
272
+ width: drawerWidth,
241
273
  // FIXME: Reanimated skips committing to the shadow tree if no layout props are animated
242
274
  // This results in pressables not getting their correct position and can't be pressed
243
275
  // So we animate the zIndex to force the commit
@@ -254,8 +286,13 @@ export function Drawer({
254
286
  (drawerType === 'back' ? 0 : translateX.value) + (direction === 'rtl' ? drawerPosition === 'left' ? -distanceFromEdge : 0 : drawerPosition === 'left' ? 0 : distanceFromEdge)
255
287
  }]
256
288
  };
257
- }, [direction, drawerPosition, drawerType, drawerWidth, isHidden, layout.width, translateX]);
289
+ });
258
290
  const contentAnimatedStyle = useAnimatedStyle(() => {
291
+ const drawerWidth = getDrawerWidthNative({
292
+ containerWidth: layoutWidth.value,
293
+ customWidth,
294
+ customMaxWidth
295
+ });
259
296
  return {
260
297
  // FIXME: Force Reanimated to commit to the shadow tree
261
298
  zIndex: translateX.value === 0 ? 0 : drawerType === 'back' ? 2 : 1,
@@ -268,9 +305,10 @@ export function Drawer({
268
305
  drawerType === 'front' ? 0 : translateX.value + drawerWidth * (drawerPosition === 'left' ? 1 : -1)
269
306
  }]
270
307
  };
271
- }, [drawerPosition, drawerType, drawerWidth, translateX]);
308
+ });
272
309
  const progress = useDerivedValue(() => {
273
- return drawerType === 'permanent' ? 1 : interpolate(translateX.value, [getDrawerTranslationX(false), getDrawerTranslationX(true)], [0, 1]);
310
+ const containerWidth = layoutWidth.value;
311
+ return drawerType === 'permanent' ? 1 : interpolate(translateX.value, [getDrawerTranslationX(false, containerWidth), getDrawerTranslationX(true, containerWidth)], [0, 1]);
274
312
  });
275
313
  const contentAnimatedProps = useAnimatedProps(() => {
276
314
  const hidden = drawerType !== 'permanent' && progress.value >= 1 - PROGRESS_EPSILON;
@@ -283,7 +321,7 @@ export function Drawer({
283
321
  return {
284
322
  accessibilityElementsHidden: hidden
285
323
  };
286
- }, [drawerType, progress]);
324
+ });
287
325
  const drawerContentAnimatedProps = useAnimatedProps(() => {
288
326
  const hidden = drawerType !== 'permanent' && progress.value < 1 - PROGRESS_EPSILON;
289
327
  if (Platform.OS === 'android') {
@@ -295,7 +333,7 @@ export function Drawer({
295
333
  return {
296
334
  accessibilityElementsHidden: hidden
297
335
  };
298
- }, [drawerType, progress]);
336
+ });
299
337
  return /*#__PURE__*/_jsx(GestureHandlerRootView, {
300
338
  style: [styles.container, style],
301
339
  children: /*#__PURE__*/_jsx(DrawerProgressContext.Provider, {
@@ -325,7 +363,6 @@ export function Drawer({
325
363
  animatedProps: drawerContentAnimatedProps,
326
364
  removeClippedSubviews: Platform.OS !== 'ios',
327
365
  style: [styles.drawer, {
328
- width: drawerWidth,
329
366
  position: drawerType === 'permanent' ? 'relative' : 'absolute'
330
367
  }, drawerAnimatedStyle, drawerStyle],
331
368
  children: renderDrawerContent()
@@ -1 +1 @@
1
- {"version":3,"names":["React","I18nManager","Keyboard","Platform","StatusBar","StyleSheet","useWindowDimensions","Animated","interpolate","ReduceMotion","runOnJS","useAnimatedProps","useAnimatedStyle","useDerivedValue","useSharedValue","withSpring","useLatestCallback","DrawerGestureContext","DrawerProgressContext","getDrawerWidthNative","Gesture","GestureDetector","GestureHandlerRootView","GestureState","InteractionManager","Overlay","jsx","_jsx","jsxs","_jsxs","SWIPE_EDGE_WIDTH","SWIPE_MIN_OFFSET","SWIPE_MIN_DISTANCE","SWIPE_MIN_VELOCITY","PROGRESS_EPSILON","minmax","value","start","end","Math","min","max","Drawer","layout","customLayout","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","windowDimensions","drawerWidth","isOpen","isRight","getDrawerTranslationX","useCallback","hideStatusBar","hide","setHidden","useLayoutEffect","interactionHandleRef","useRef","undefined","startInteraction","current","createInteractionHandle","endInteraction","clearInteractionHandle","hideKeyboard","dismiss","onGestureBegin","onGestureFinish","onGestureAbort","hitSlop","useMemo","right","width","left","touchStartX","touchX","translationX","gestureState","UNDETERMINED","onOpenLatest","onCloseLatest","onAnimationStart","onAnimationEnd","finished","toggleDrawer","velocity","translateX","stiffness","damping","mass","overshootClamping","reduceMotion","Never","hasDrawerWidth","previousHasDrawerWidthRef","isHidden","startX","pan","panGesture","Pan","onBegin","event","state","x","onStart","onChange","onEnd","success","nextOpen","abs","velocityX","activeOffsetX","failOffsetY","enabled","touchDistance","ACTIVE","drawerAnimatedStyle","distanceFromEdge","zIndex","display","transform","contentAnimatedStyle","progress","contentAnimatedProps","hidden","importantForAccessibility","accessibilityElementsHidden","drawerContentAnimatedProps","styles","container","Provider","gesture","View","main","flexDirection","content","animatedProps","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","I18nManager","Keyboard","Platform","StatusBar","StyleSheet","useWindowDimensions","Animated","interpolate","ReduceMotion","runOnJS","useAnimatedProps","useAnimatedStyle","useDerivedValue","useSharedValue","withSpring","useLatestCallback","DrawerGestureContext","DrawerProgressContext","getDrawerWidthNative","Gesture","GestureDetector","GestureHandlerRootView","GestureState","InteractionManager","Overlay","jsx","_jsx","jsxs","_jsxs","SWIPE_EDGE_WIDTH","SWIPE_MIN_OFFSET","SWIPE_MIN_DISTANCE","SWIPE_MIN_VELOCITY","PROGRESS_EPSILON","minmax","value","start","end","Math","min","max","Drawer","layout","customLayout","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","windowDimensions","width","customWidth","maxWidth","customMaxWidth","flatten","isOpen","isRight","getDrawerTranslationX","useCallback","containerWidth","drawerWidth","hideStatusBar","hide","setHidden","useLayoutEffect","interactionHandleRef","useRef","undefined","startInteraction","current","createInteractionHandle","endInteraction","clearInteractionHandle","hideKeyboard","dismiss","onGestureBegin","onGestureFinish","onGestureAbort","hitSlop","useMemo","right","left","layoutWidth","translationX","updateLayout","touchStartX","touchX","gestureState","UNDETERMINED","onOpenLatest","onCloseLatest","onAnimationStart","onAnimationEnd","finished","toggleDrawer","velocity","translateX","stiffness","damping","mass","overshootClamping","reduceMotion","Never","hasDrawerWidth","previousHasDrawerWidthRef","isHidden","startX","pan","panGesture","Pan","onBegin","event","state","x","onStart","onChange","onEnd","success","nextOpen","abs","velocityX","activeOffsetX","failOffsetY","enabled","touchDistance","ACTIVE","drawerAnimatedStyle","distanceFromEdge","zIndex","display","transform","contentAnimatedStyle","progress","contentAnimatedProps","hidden","importantForAccessibility","accessibilityElementsHidden","drawerContentAnimatedProps","styles","container","Provider","gesture","View","main","flexDirection","content","animatedProps","onPress","accessibilityLabel","removeClippedSubviews","drawer","position","create","flex","top","bottom","backgroundColor","select","web","default","overflow"],"sourceRoot":"../../../src","sources":["views/Drawer.native.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","Fragment","_Fragment","jsx","_jsx","GestureDetector","gesture","_0","userSelect","_1","children","GestureHandlerRootView","Gesture","undefined","GestureState"],"sourceRoot":"../../../src","sources":["views/GestureHandler.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,IAAI,QAAQ,cAAc;;AAGnC;AACA;AACA;AAAA,SAAAC,QAAA,IAAAC,SAAA,EAAAC,GAAA,IAAAC,IAAA;AAOA,OAAO,MAAMC,eAAe,GAAGA,CAAC;EAC9BC,OAAO,EAAEC,EAAE;EACXC,UAAU,EAAEC,EAAE;EACdC;AACoB,CAAC,KAAK;EAC1B,oBAAON,IAAA,CAAAF,SAAA;IAAAQ,QAAA,EAAGA;EAAQ,CAAG,CAAC;AACxB,CAAC;AAED,OAAO,MAAMC,sBAAsB,GAAGX,IAAI;AAE1C,OAAO,MAAMY,OAEA,GAAGC,SAAS;AAEzB,WAAkBC,YAAY,0BAAZA,YAAY;EAAZA,YAAY,CAAZA,YAAY;EAAZA,YAAY,CAAZA,YAAY;EAAZA,YAAY,CAAZA,YAAY;EAAZA,YAAY,CAAZA,YAAY;EAAZA,YAAY,CAAZA,YAAY;EAAZA,YAAY,CAAZA,YAAY;EAAA,OAAZA,YAAY;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["React","View","Fragment","_Fragment","jsx","_jsx","GestureDetector","gesture","_0","userSelect","_1","children","GestureHandlerRootView","Gesture","undefined","GestureState"],"sourceRoot":"../../../src","sources":["views/GestureHandler.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,IAAI,QAAQ,cAAc;;AAGnC;AACA;AACA;AAAA,SAAAC,QAAA,IAAAC,SAAA,EAAAC,GAAA,IAAAC,IAAA;AAOA,OAAO,MAAMC,eAAe,GAAGA,CAAC;EAC9BC,OAAO,EAAEC,EAAE;EACXC,UAAU,EAAEC,EAAE;EACdC;AACoB,CAAC,KAAK;EAC1B,oBAAON,IAAA,CAAAF,SAAA;IAAAQ,QAAA,EAAGA;EAAQ,CAAG,CAAC;AACxB,CAAC;AAED,OAAO,MAAMC,sBAAmC,GAAGX,IAAI;AAEvD,OAAO,MAAMY,OAEA,GAAGC,SAAS;AAMzB,WAAkBC,YAAY,0BAAZA,YAAY;EAAZA,YAAY,CAAZA,YAAY;EAAZA,YAAY,CAAZA,YAAY;EAAZA,YAAY,CAAZA,YAAY;EAAZA,YAAY,CAAZA,YAAY;EAAZA,YAAY,CAAZA,YAAY;EAAZA,YAAY,CAAZA,YAAY;EAAA,OAAZA,YAAY;AAAA","ignoreList":[]}
@@ -4,6 +4,7 @@
4
4
  import * as ReactNative from 'react-native';
5
5
  let InteractionManager;
6
6
  try {
7
+ // @ts-expect-error `InteractionManager` is removed from the types in newer React Native versions
7
8
  InteractionManager = ReactNative.InteractionManager;
8
9
  } catch (e) {
9
10
  // On newer React Native versions, accessing InteractionManager throws an error
@@ -1 +1 @@
1
- {"version":3,"names":["ReactNative","InteractionManager","e"],"sourceRoot":"../../../src","sources":["views/InteractionManager.tsx"],"mappings":";;AAAA;AACA,OAAO,KAAKA,WAAW,MAAM,cAAc;AAO3C,IAAIC,kBAAsD;AAE1D,IAAI;EACFA,kBAAkB,GAAGD,WAAW,CAACC,kBAAkB;AACrD,CAAC,CAAC,OAAOC,CAAC,EAAE;EACV;EACA;AAAA;AAGF,SAASD,kBAAkB","ignoreList":[]}
1
+ {"version":3,"names":["ReactNative","InteractionManager","e"],"sourceRoot":"../../../src","sources":["views/InteractionManager.tsx"],"mappings":";;AAAA;AACA,OAAO,KAAKA,WAAW,MAAM,cAAc;AAO3C,IAAIC,kBAAsD;AAE1D,IAAI;EACF;EACAA,kBAAkB,GAAGD,WAAW,CAACC,kBAAkB;AACrD,CAAC,CAAC,OAAOC,CAAC,EAAE;EACV;EACA;AAAA;AAGF,SAASD,kBAAkB","ignoreList":[]}
@@ -15,14 +15,14 @@ export function Overlay({
15
15
  return {
16
16
  opacity: progress.value
17
17
  };
18
- }, [progress]);
18
+ });
19
19
  const animatedProps = useAnimatedProps(() => {
20
20
  const active = progress.value > PROGRESS_EPSILON;
21
21
  return {
22
22
  pointerEvents: active ? 'auto' : 'none',
23
23
  'aria-hidden': !active
24
24
  };
25
- }, [progress]);
25
+ });
26
26
  return /*#__PURE__*/_jsx(Animated.View, {
27
27
  ...rest,
28
28
  style: [StyleSheet.absoluteFill, styles.overlay, animatedStyle, style],
@@ -1 +1 @@
1
- {"version":3,"names":["Pressable","StyleSheet","Animated","useAnimatedProps","useAnimatedStyle","jsx","_jsx","PROGRESS_EPSILON","Overlay","progress","onPress","style","accessibilityLabel","rest","animatedStyle","opacity","value","animatedProps","active","pointerEvents","View","absoluteFill","styles","overlay","children","pressable","role","accessible","create","backgroundColor","flex"],"sourceRoot":"../../../src","sources":["views/Overlay.native.tsx"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,UAAU,QAAQ,cAAc;AACpD,OAAOC,QAAQ,IACbC,gBAAgB,EAChBC,gBAAgB,QACX,yBAAyB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAIjC,MAAMC,gBAAgB,GAAG,IAAI;AAE7B,OAAO,SAASC,OAAOA,CAAC;EACtBC,QAAQ;EACRC,OAAO;EACPC,KAAK;EACLC,kBAAkB,GAAG,cAAc;EACnC,GAAGC;AACS,CAAC,EAAE;EACf,MAAMC,aAAa,GAAGV,gBAAgB,CAAC,MAAM;IAC3C,OAAO;MACLW,OAAO,EAAEN,QAAQ,CAACO;IACpB,CAAC;EACH,CAAC,EAAE,CAACP,QAAQ,CAAC,CAAC;EAEd,MAAMQ,aAAa,GAAGd,gBAAgB,CAAC,MAAM;IAC3C,MAAMe,MAAM,GAAGT,QAAQ,CAACO,KAAK,GAAGT,gBAAgB;IAEhD,OAAO;MACLY,aAAa,EAAED,MAAM,GAAG,MAAM,GAAG,MAAM;MACvC,aAAa,EAAE,CAACA;IAClB,CAAC;EACH,CAAC,EAAE,CAACT,QAAQ,CAAC,CAAC;EAEd,oBACEH,IAAA,CAACJ,QAAQ,CAACkB,IAAI;IAAA,GACRP,IAAI;IACRF,KAAK,EAAE,CAACV,UAAU,CAACoB,YAAY,EAAEC,MAAM,CAACC,OAAO,EAAET,aAAa,EAAEH,KAAK,CAAE;IACvEM,aAAa,EAAEA,aAAc;IAAAO,QAAA,eAE7BlB,IAAA,CAACN,SAAS;MACRU,OAAO,EAAEA,OAAQ;MACjBC,KAAK,EAAEW,MAAM,CAACG,SAAU;MACxBC,IAAI,EAAC,QAAQ;MACb,cAAYd,kBAAmB;MAC/Be,UAAU;IAAA,CACX;EAAC,CACW,CAAC;AAEpB;AAEA,MAAML,MAAM,GAAGrB,UAAU,CAAC2B,MAAM,CAAC;EAC/BL,OAAO,EAAE;IACPM,eAAe,EAAE;EACnB,CAAC;EACDJ,SAAS,EAAE;IACTK,IAAI,EAAE,CAAC;IACPX,aAAa,EAAE;EACjB;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["Pressable","StyleSheet","Animated","useAnimatedProps","useAnimatedStyle","jsx","_jsx","PROGRESS_EPSILON","Overlay","progress","onPress","style","accessibilityLabel","rest","animatedStyle","opacity","value","animatedProps","active","pointerEvents","View","absoluteFill","styles","overlay","children","pressable","role","accessible","create","backgroundColor","flex"],"sourceRoot":"../../../src","sources":["views/Overlay.native.tsx"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,UAAU,QAAQ,cAAc;AACpD,OAAOC,QAAQ,IACbC,gBAAgB,EAChBC,gBAAgB,QACX,yBAAyB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAIjC,MAAMC,gBAAgB,GAAG,IAAI;AAE7B,OAAO,SAASC,OAAOA,CAAC;EACtBC,QAAQ;EACRC,OAAO;EACPC,KAAK;EACLC,kBAAkB,GAAG,cAAc;EACnC,GAAGC;AACS,CAAC,EAAE;EACf,MAAMC,aAAa,GAAGV,gBAAgB,CAAC,MAAM;IAC3C,OAAO;MACLW,OAAO,EAAEN,QAAQ,CAACO;IACpB,CAAC;EACH,CAAC,CAAC;EAEF,MAAMC,aAAa,GAAGd,gBAAgB,CAAC,MAAM;IAC3C,MAAMe,MAAM,GAAGT,QAAQ,CAACO,KAAK,GAAGT,gBAAgB;IAEhD,OAAO;MACLY,aAAa,EAAED,MAAM,GAAG,MAAM,GAAG,MAAM;MACvC,aAAa,EAAE,CAACA;IAClB,CAAC;EACH,CAAC,CAAC;EAEF,oBACEZ,IAAA,CAACJ,QAAQ,CAACkB,IAAI;IAAA,GACRP,IAAI;IACRF,KAAK,EAAE,CAACV,UAAU,CAACoB,YAAY,EAAEC,MAAM,CAACC,OAAO,EAAET,aAAa,EAAEH,KAAK,CAAE;IACvEM,aAAa,EAAEA,aAAc;IAAAO,QAAA,eAE7BlB,IAAA,CAACN,SAAS;MACRU,OAAO,EAAEA,OAAQ;MACjBC,KAAK,EAAEW,MAAM,CAACG,SAAU;MACxBC,IAAI,EAAC,QAAQ;MACb,cAAYd,kBAAmB;MAC/Be,UAAU;IAAA,CACX;EAAC,CACW,CAAC;AAEpB;AAEA,MAAML,MAAM,GAAGrB,UAAU,CAAC2B,MAAM,CAAC;EAC/BL,OAAO,EAAE;IACPM,eAAe,EAAE;EACnB,CAAC;EACDJ,SAAS,EAAE;IACTK,IAAI,EAAE,CAAC;IACPX,aAAa,EAAE;EACjB;AACF,CAAC,CAAC","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import type { StyleProp, View, ViewStyle } from 'react-native';
3
- import type { PanGesture } from 'react-native-gesture-handler';
4
3
  import type { SharedValue } from 'react-native-reanimated';
4
+ import type { PanGesture } from './views/GestureHandler';
5
5
  export type Layout = {
6
6
  width: number;
7
7
  height: number;
@@ -86,7 +86,7 @@ export type DrawerProps = {
86
86
  */
87
87
  overlayAccessibilityLabel?: string;
88
88
  /**
89
- * Whether the keyboard should be dismissed when the swipe gesture begins.
89
+ * Whether the keyboard should be dismissed when the drawer starts opening or closing.
90
90
  * Defaults to `'on-drag'`. Set to `'none'` to disable keyboard handling.
91
91
  */
92
92
  keyboardDismissMode?: 'none' | 'on-drag';
@@ -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,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,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,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD,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,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,3 +1,4 @@
1
1
  import * as React from 'react';
2
- export declare const DrawerGestureContext: React.Context<import("react-native-gesture-handler/lib/typescript/handlers/gestures/panGesture").PanGesture | undefined>;
2
+ import type { PanGesture } from '../views/GestureHandler';
3
+ export declare const DrawerGestureContext: React.Context<PanGesture | undefined>;
3
4
  //# sourceMappingURL=DrawerGestureContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerGestureContext.d.ts","sourceRoot":"","sources":["../../../../src/utils/DrawerGestureContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,eAAO,MAAM,oBAAoB,0HAEhC,CAAC"}
1
+ {"version":3,"file":"DrawerGestureContext.d.ts","sourceRoot":"","sources":["../../../../src/utils/DrawerGestureContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1D,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,GAAG,SAAS,CACf,CAAC"}
@@ -1,10 +1,8 @@
1
- import { type StyleProp, type ViewStyle } from 'react-native';
2
- export declare function getDrawerWidthNative({ layout, drawerStyle, }: {
3
- layout: {
4
- width: number;
5
- height: number;
6
- };
7
- drawerStyle?: StyleProp<ViewStyle>;
1
+ import { type DimensionValue, type StyleProp, type ViewStyle } from 'react-native';
2
+ export declare function getDrawerWidthNative({ containerWidth, customWidth, customMaxWidth, }: {
3
+ containerWidth: number;
4
+ customWidth: DimensionValue | undefined | null;
5
+ customMaxWidth: DimensionValue | undefined | null;
8
6
  }): number;
9
7
  export declare function getDrawerWidthWeb({ drawerStyle, }: {
10
8
  drawerStyle?: StyleProp<ViewStyle>;
@@ -1 +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;AAY1E,wBAAgB,oBAAoB,CAAC,EACnC,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,UAoBA;AAED,wBAAgB,iBAAiB,CAAC,EAChC,WAAW,GACZ,EAAE;IACD,WAAW,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CACpC,GAAG,MAAM,CAYT"}
1
+ {"version":3,"file":"getDrawerWidth.d.ts","sourceRoot":"","sources":["../../../../src/utils/getDrawerWidth.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,SAAS,EAEd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAYtB,wBAAgB,oBAAoB,CAAC,EACnC,cAAc,EACd,WAAW,EACX,cAAc,GACf,EAAE;IACD,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,cAAc,GAAG,SAAS,GAAG,IAAI,CAAC;IAC/C,cAAc,EAAE,cAAc,GAAG,SAAS,GAAG,IAAI,CAAC;CACnD,UAkCA;AAED,wBAAgB,iBAAiB,CAAC,EAChC,WAAW,GACZ,EAAE;IACD,WAAW,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CACpC,GAAG,MAAM,CAYT"}
@@ -1 +1 @@
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,aAAU,CAAC;AAM5C,wBAAgB,MAAM,CAAC,EACrB,SAAiB,EACjB,cAAuD,EACvD,WAAW,EACX,UAAoB,EACpB,OAAO,EACP,iBAAiB,EACjB,eAAe,EACf,IAAI,EACJ,YAAY,EACZ,yBAAyB,EACzB,mBAAmB,EACnB,QAAQ,EACR,KAAK,GACN,EAAE,WAAW,qBAiIb"}
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,aAAU,CAAC;AAM5C,wBAAgB,MAAM,CAAC,EACrB,SAAiB,EACjB,cAAuD,EACvD,WAAW,EACX,UAAoB,EACpB,OAAO,EACP,iBAAiB,EACjB,eAAe,EACf,IAAI,EACJ,YAAY,EACZ,yBAAyB,EACzB,mBAAmB,EACnB,QAAQ,EACR,KAAK,GACN,EAAE,WAAW,qBAgIb"}
@@ -1 +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,aAAU,CAAC;AAyB5C,wBAAgB,MAAM,CAAC,EACrB,MAAM,EAAE,YAAY,EACpB,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,qBA+cb"}
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,aAAU,CAAC;AAyB5C,wBAAgB,MAAM,CAAC,EACrB,MAAM,EAAE,YAAY,EACpB,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,qBAogBb"}
@@ -9,6 +9,7 @@ type GestureDetectorProps = {
9
9
  export declare const GestureDetector: ({ gesture: _0, userSelect: _1, children, }: GestureDetectorProps) => React.JSX.Element;
10
10
  export declare const GestureHandlerRootView: typeof View;
11
11
  export declare const Gesture: typeof import('react-native-gesture-handler').Gesture | undefined;
12
+ export type PanGesture = ReturnType<typeof import('react-native-gesture-handler').Gesture.Pan>;
12
13
  export declare const enum GestureState {
13
14
  UNDETERMINED = 0,
14
15
  FAILED = 1,
@@ -1 +1 @@
1
- {"version":3,"file":"GestureHandler.d.ts","sourceRoot":"","sources":["../../../../src/views/GestureHandler.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAKhE,KAAK,oBAAoB,GAAG;IAC1B,OAAO,EAAE,WAAW,GAAG,SAAS,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACtC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,4CAI7B,oBAAoB,sBAEtB,CAAC;AAEF,eAAO,MAAM,sBAAsB,aAAO,CAAC;AAE3C,eAAO,MAAM,OAAO,EAChB,cAAc,8BAA8B,EAAE,OAAO,GACrD,SAAqB,CAAC;AAE1B,0BAAkB,YAAY;IAC5B,YAAY,IAAI;IAChB,MAAM,IAAI;IACV,KAAK,IAAI;IACT,SAAS,IAAI;IACb,MAAM,IAAI;IACV,GAAG,IAAI;CACR"}
1
+ {"version":3,"file":"GestureHandler.d.ts","sourceRoot":"","sources":["../../../../src/views/GestureHandler.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAKhE,KAAK,oBAAoB,GAAG;IAC1B,OAAO,EAAE,WAAW,GAAG,SAAS,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACtC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,4CAI7B,oBAAoB,sBAEtB,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,OAAO,IAAW,CAAC;AAExD,eAAO,MAAM,OAAO,EAChB,cAAc,8BAA8B,EAAE,OAAO,GACrD,SAAqB,CAAC;AAE1B,MAAM,MAAM,UAAU,GAAG,UAAU,CACjC,cAAc,8BAA8B,EAAE,OAAO,CAAC,GAAG,CAC1D,CAAC;AAEF,0BAAkB,YAAY;IAC5B,YAAY,IAAI;IAChB,MAAM,IAAI;IACV,KAAK,IAAI;IACT,SAAS,IAAI;IACb,MAAM,IAAI;IACV,GAAG,IAAI;CACR"}
@@ -1 +1 @@
1
- {"version":3,"file":"InteractionManager.d.ts","sourceRoot":"","sources":["../../../../src/views/InteractionManager.tsx"],"names":[],"mappings":"AAGA,KAAK,sBAAsB,GAAG;IAC5B,uBAAuB,IAAI,MAAM,CAAC;IAClC,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9C,CAAC;AAEF,QAAA,IAAI,kBAAkB,EAAE,sBAAsB,GAAG,SAAS,CAAC;AAS3D,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
1
+ {"version":3,"file":"InteractionManager.d.ts","sourceRoot":"","sources":["../../../../src/views/InteractionManager.tsx"],"names":[],"mappings":"AAGA,KAAK,sBAAsB,GAAG;IAC5B,uBAAuB,IAAI,MAAM,CAAC;IAClC,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9C,CAAC;AAEF,QAAA,IAAI,kBAAkB,EAAE,sBAAsB,GAAG,SAAS,CAAC;AAU3D,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
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": "4.2.11",
4
+ "version": "4.2.13",
5
5
  "keywords": [
6
6
  "react-native-component",
7
7
  "react-component",
@@ -42,22 +42,18 @@
42
42
  "clean": "del lib"
43
43
  },
44
44
  "dependencies": {
45
- "color": "^4.2.3",
46
45
  "use-latest-callback": "^0.2.4"
47
46
  },
48
47
  "devDependencies": {
49
48
  "@babel/core": "^7.29.0",
50
- "@jest/globals": "^30.0.0",
51
- "@react-native/metro-config": "0.85.3",
52
- "@testing-library/react-native": "^13.2.1",
53
- "@types/color": "^4.2.0",
54
- "@types/react": "~19.2.4",
55
- "del-cli": "^6.0.0",
56
- "react": "19.2.3",
57
- "react-native": "0.85.3",
58
- "react-native-builder-bob": "^0.42.1",
59
- "react-native-reanimated": "4.3.1",
60
- "react-native-worklets": "0.8.3",
49
+ "@react-native/metro-config": "0.88.0",
50
+ "@types/react": "~19.3.0",
51
+ "del-cli": "^8.0.1",
52
+ "react": "19.3.0",
53
+ "react-native": "0.88.1",
54
+ "react-native-builder-bob": "^0.44.1",
55
+ "react-native-reanimated": "4.7.1",
56
+ "react-native-worklets": "0.13.1",
61
57
  "typescript": "~6.0.3"
62
58
  },
63
59
  "peerDependencies": {
@@ -84,5 +80,5 @@
84
80
  ]
85
81
  ]
86
82
  },
87
- "gitHead": "47f787dc7580c092238e17af8a86cad32573bd32"
83
+ "gitHead": "77fad70cd6d9ed492d7ce30177efa923e95294cb"
88
84
  }
package/src/types.tsx CHANGED
@@ -1,8 +1,9 @@
1
1
  import * as React from 'react';
2
2
  import type { StyleProp, View, ViewStyle } from 'react-native';
3
- import type { PanGesture } from 'react-native-gesture-handler';
4
3
  import type { SharedValue } from 'react-native-reanimated';
5
4
 
5
+ import type { PanGesture } from './views/GestureHandler';
6
+
6
7
  export type Layout = { width: number; height: number };
7
8
 
8
9
  export type DrawerProps = {
@@ -98,7 +99,7 @@ export type DrawerProps = {
98
99
  overlayAccessibilityLabel?: string;
99
100
 
100
101
  /**
101
- * Whether the keyboard should be dismissed when the swipe gesture begins.
102
+ * Whether the keyboard should be dismissed when the drawer starts opening or closing.
102
103
  * Defaults to `'on-drag'`. Set to `'none'` to disable keyboard handling.
103
104
  */
104
105
  keyboardDismissMode?: 'none' | 'on-drag';
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
- import type { PanGesture } from 'react-native-gesture-handler';
3
2
 
4
- export const DrawerGestureContext = React.createContext<PanGesture | undefined>(
5
- undefined
6
- );
3
+ import type { PanGesture } from '../views/GestureHandler';
4
+
5
+ export const DrawerGestureContext: React.Context<PanGesture | undefined> =
6
+ React.createContext<PanGesture | undefined>(undefined);
@@ -1,4 +1,9 @@
1
- import { type StyleProp, StyleSheet, type ViewStyle } from 'react-native';
1
+ import {
2
+ type DimensionValue,
3
+ type StyleProp,
4
+ StyleSheet,
5
+ type ViewStyle,
6
+ } from 'react-native';
2
7
 
3
8
  const APPROX_APP_BAR_HEIGHT = 56;
4
9
  const DEFAULT_DRAWER_WIDTH = 360;
@@ -11,31 +16,47 @@ const DEFAULT_DRAWER_WIDTH = 360;
11
16
  const DRAWER_DEFAULT_WIDTH_WEB = `min(calc(100% - ${APPROX_APP_BAR_HEIGHT}px), ${DEFAULT_DRAWER_WIDTH}px)`;
12
17
 
13
18
  export function getDrawerWidthNative({
14
- layout,
15
- drawerStyle,
19
+ containerWidth,
20
+ customWidth,
21
+ customMaxWidth,
16
22
  }: {
17
- layout: { width: number; height: number };
18
- drawerStyle?: StyleProp<ViewStyle>;
23
+ containerWidth: number;
24
+ customWidth: DimensionValue | undefined | null;
25
+ customMaxWidth: DimensionValue | undefined | null;
19
26
  }) {
27
+ 'worklet';
28
+
20
29
  const defaultWidth = Math.max(
21
- layout.width - APPROX_APP_BAR_HEIGHT <= 360
22
- ? layout.width - APPROX_APP_BAR_HEIGHT
30
+ containerWidth - APPROX_APP_BAR_HEIGHT <= DEFAULT_DRAWER_WIDTH
31
+ ? containerWidth - APPROX_APP_BAR_HEIGHT
23
32
  : DEFAULT_DRAWER_WIDTH,
24
33
  0
25
34
  );
26
35
 
27
- const { width = defaultWidth } = StyleSheet.flatten(drawerStyle) || {};
36
+ let width = customWidth ?? defaultWidth;
37
+ let maxWidth = customMaxWidth ?? containerWidth;
28
38
 
29
39
  if (typeof width === 'string' && width.endsWith('%')) {
30
40
  // Try to calculate width if a percentage is given
31
41
  const percentage = Number(width.replace(/%$/, ''));
32
42
 
33
43
  if (Number.isFinite(percentage)) {
34
- return layout.width * (percentage / 100);
44
+ width = containerWidth * (percentage / 100);
35
45
  }
36
46
  }
37
47
 
38
- return typeof width === 'number' ? width : defaultWidth;
48
+ if (typeof maxWidth === 'string' && maxWidth.endsWith('%')) {
49
+ const percentage = Number(maxWidth.replace(/%$/, ''));
50
+
51
+ if (Number.isFinite(percentage)) {
52
+ maxWidth = containerWidth * (percentage / 100);
53
+ }
54
+ }
55
+
56
+ return Math.min(
57
+ typeof width === 'number' ? width : defaultWidth,
58
+ typeof maxWidth === 'number' ? maxWidth : containerWidth
59
+ );
39
60
  }
40
61
 
41
62
  export function getDrawerWidthWeb({
@@ -78,22 +78,30 @@ export function Drawer({
78
78
  const windowDimensions = useWindowDimensions();
79
79
 
80
80
  const layout = customLayout ?? windowDimensions;
81
- const drawerWidth = getDrawerWidthNative({ layout, drawerStyle });
81
+
82
+ const { width: customWidth, maxWidth: customMaxWidth } =
83
+ StyleSheet.flatten(drawerStyle) || {};
82
84
 
83
85
  const isOpen = drawerType === 'permanent' ? true : open;
84
86
  const isRight = drawerPosition === 'right';
85
87
 
86
88
  const getDrawerTranslationX = React.useCallback(
87
- (open: boolean) => {
89
+ (open: boolean, containerWidth: number) => {
88
90
  'worklet';
89
91
 
92
+ const drawerWidth = getDrawerWidthNative({
93
+ containerWidth,
94
+ customWidth,
95
+ customMaxWidth,
96
+ });
97
+
90
98
  if (drawerPosition === 'left') {
91
99
  return open ? 0 : -drawerWidth;
92
100
  }
93
101
 
94
102
  return open ? 0 : drawerWidth;
95
103
  },
96
- [drawerPosition, drawerWidth]
104
+ [customMaxWidth, customWidth, drawerPosition]
97
105
  );
98
106
 
99
107
  const hideStatusBar = React.useCallback(
@@ -158,15 +166,32 @@ export function Drawer({
158
166
  [isRight, isOpen, swipeEdgeWidth]
159
167
  );
160
168
 
169
+ const layoutWidth = useSharedValue(layout.width);
170
+ const translationX = useSharedValue(
171
+ getDrawerTranslationX(open, layout.width)
172
+ );
173
+
174
+ const updateLayout = useLatestCallback((width: number) => {
175
+ layoutWidth.value = width;
176
+ translationX.value = getDrawerTranslationX(open, width);
177
+ });
178
+
179
+ React.useLayoutEffect(() => {
180
+ updateLayout(layout.width);
181
+ }, [layout.width, updateLayout]);
182
+
161
183
  const touchStartX = useSharedValue(0);
162
184
  const touchX = useSharedValue(0);
163
- const translationX = useSharedValue(getDrawerTranslationX(open));
164
185
  const gestureState = useSharedValue<GestureState>(GestureState.UNDETERMINED);
165
186
 
166
187
  const onOpenLatest = useLatestCallback(onOpen);
167
188
  const onCloseLatest = useLatestCallback(onClose);
168
189
 
169
190
  const onAnimationStart = useLatestCallback((open: boolean) => {
191
+ if (drawerType !== 'permanent') {
192
+ hideKeyboard();
193
+ }
194
+
170
195
  onTransitionStart?.(!open);
171
196
  });
172
197
 
@@ -184,7 +209,7 @@ export function Drawer({
184
209
  (open: boolean, velocity?: number) => {
185
210
  'worklet';
186
211
 
187
- const translateX = getDrawerTranslationX(open);
212
+ const translateX = getDrawerTranslationX(open, layoutWidth.value);
188
213
 
189
214
  if (velocity === undefined) {
190
215
  runOnJS(onAnimationStart)(open);
@@ -212,6 +237,7 @@ export function Drawer({
212
237
  }
213
238
  },
214
239
  [
240
+ layoutWidth,
215
241
  getDrawerTranslationX,
216
242
  onAnimationEnd,
217
243
  onAnimationStart,
@@ -223,7 +249,12 @@ export function Drawer({
223
249
  ]
224
250
  );
225
251
 
226
- const hasDrawerWidth = drawerWidth > 0;
252
+ const hasDrawerWidth =
253
+ getDrawerWidthNative({
254
+ containerWidth: layout.width,
255
+ customWidth,
256
+ customMaxWidth,
257
+ }) > 0;
227
258
 
228
259
  const previousHasDrawerWidthRef = React.useRef(hasDrawerWidth);
229
260
  const isHidden = useSharedValue(!isOpen && !hasDrawerWidth);
@@ -236,14 +267,21 @@ export function Drawer({
236
267
  // Update translationX without animation after measurement
237
268
  // This avoids flash of animation on initial render with async layout
238
269
  // We only want to animate it when something changes after measurement
239
- translationX.value = getDrawerTranslationX(open);
270
+ translationX.value = getDrawerTranslationX(open, layout.width);
240
271
  // Unhide the drawer only after we set the correct translationX
241
272
  // Otherwise the drawer might briefly flash in the wrong position
242
273
  isHidden.value = false;
243
274
  }
244
275
 
245
276
  previousHasDrawerWidthRef.current = hasDrawerWidth;
246
- }, [getDrawerTranslationX, hasDrawerWidth, isHidden, open, translationX]);
277
+ }, [
278
+ getDrawerTranslationX,
279
+ hasDrawerWidth,
280
+ isHidden,
281
+ layout.width,
282
+ open,
283
+ translationX,
284
+ ]);
247
285
 
248
286
  React.useLayoutEffect(() => toggleDrawer(open), [open, toggleDrawer]);
249
287
 
@@ -326,6 +364,12 @@ export function Drawer({
326
364
  ]);
327
365
 
328
366
  const translateX = useDerivedValue(() => {
367
+ const drawerWidth = getDrawerWidthNative({
368
+ containerWidth: layoutWidth.value,
369
+ customWidth,
370
+ customMaxWidth,
371
+ });
372
+
329
373
  // Comment stolen from react-native-gesture-handler/DrawerLayout
330
374
  //
331
375
  // While closing the drawer when user starts gesture outside of its area (in greyed
@@ -356,9 +400,9 @@ export function Drawer({
356
400
  ? minmax(
357
401
  drawerPosition === 'left'
358
402
  ? touchStartX.value - drawerWidth
359
- : layout.width - drawerWidth - touchStartX.value,
403
+ : layoutWidth.value - drawerWidth - touchStartX.value,
360
404
  0,
361
- layout.width
405
+ layoutWidth.value
362
406
  )
363
407
  : 0;
364
408
 
@@ -371,9 +415,16 @@ export function Drawer({
371
415
  });
372
416
 
373
417
  const drawerAnimatedStyle = useAnimatedStyle(() => {
374
- const distanceFromEdge = Math.max(layout.width - drawerWidth, 0);
418
+ const drawerWidth = getDrawerWidthNative({
419
+ containerWidth: layoutWidth.value,
420
+ customWidth,
421
+ customMaxWidth,
422
+ });
423
+
424
+ const distanceFromEdge = Math.max(layoutWidth.value - drawerWidth, 0);
375
425
 
376
426
  return {
427
+ width: drawerWidth,
377
428
  // FIXME: Reanimated skips committing to the shadow tree if no layout props are animated
378
429
  // This results in pressables not getting their correct position and can't be pressed
379
430
  // So we animate the zIndex to force the commit
@@ -408,17 +459,15 @@ export function Drawer({
408
459
  },
409
460
  ],
410
461
  };
411
- }, [
412
- direction,
413
- drawerPosition,
414
- drawerType,
415
- drawerWidth,
416
- isHidden,
417
- layout.width,
418
- translateX,
419
- ]);
462
+ });
420
463
 
421
464
  const contentAnimatedStyle = useAnimatedStyle(() => {
465
+ const drawerWidth = getDrawerWidthNative({
466
+ containerWidth: layoutWidth.value,
467
+ customWidth,
468
+ customMaxWidth,
469
+ });
470
+
422
471
  return {
423
472
  // FIXME: Force Reanimated to commit to the shadow tree
424
473
  zIndex: translateX.value === 0 ? 0 : drawerType === 'back' ? 2 : 1,
@@ -438,14 +487,19 @@ export function Drawer({
438
487
  },
439
488
  ],
440
489
  };
441
- }, [drawerPosition, drawerType, drawerWidth, translateX]);
490
+ });
442
491
 
443
492
  const progress = useDerivedValue(() => {
493
+ const containerWidth = layoutWidth.value;
494
+
444
495
  return drawerType === 'permanent'
445
496
  ? 1
446
497
  : interpolate(
447
498
  translateX.value,
448
- [getDrawerTranslationX(false), getDrawerTranslationX(true)],
499
+ [
500
+ getDrawerTranslationX(false, containerWidth),
501
+ getDrawerTranslationX(true, containerWidth),
502
+ ],
449
503
  [0, 1]
450
504
  );
451
505
  });
@@ -462,7 +516,7 @@ export function Drawer({
462
516
  }
463
517
 
464
518
  return { accessibilityElementsHidden: hidden };
465
- }, [drawerType, progress]);
519
+ });
466
520
 
467
521
  const drawerContentAnimatedProps = useAnimatedProps<ViewProps>(() => {
468
522
  const hidden =
@@ -476,7 +530,7 @@ export function Drawer({
476
530
  }
477
531
 
478
532
  return { accessibilityElementsHidden: hidden };
479
- }, [drawerType, progress]);
533
+ });
480
534
 
481
535
  return (
482
536
  <GestureHandlerRootView style={[styles.container, style]}>
@@ -521,7 +575,6 @@ export function Drawer({
521
575
  style={[
522
576
  styles.drawer,
523
577
  {
524
- width: drawerWidth,
525
578
  position:
526
579
  drawerType === 'permanent' ? 'relative' : 'absolute',
527
580
  },
@@ -33,7 +33,7 @@ export function Drawer({
33
33
  progress.value = open ? 1 : 0;
34
34
  }, [open, progress]);
35
35
 
36
- const drawerRef = React.useRef<View>(null);
36
+ const drawerRef = React.useRef<React.ComponentRef<typeof View>>(null);
37
37
 
38
38
  const onTransitionStartLatest = useLatestCallback((e: TransitionEvent) => {
39
39
  if (e.target === e.currentTarget && e.propertyName === 'transform') {
@@ -105,7 +105,6 @@ export function Drawer({
105
105
  },
106
106
  // FIXME: width contains `px` on web
107
107
  { width: drawerWidth } as ViewStyle,
108
- // @ts-expect-error offset contains `calc` for web
109
108
  drawerType !== 'permanent'
110
109
  ? // Position drawer off-screen by default in closed state
111
110
  // And add a translation only when drawer is open
@@ -19,12 +19,16 @@ export const GestureDetector = ({
19
19
  return <>{children}</>;
20
20
  };
21
21
 
22
- export const GestureHandlerRootView = View;
22
+ export const GestureHandlerRootView: typeof View = View;
23
23
 
24
24
  export const Gesture:
25
25
  | typeof import('react-native-gesture-handler').Gesture
26
26
  | undefined = undefined;
27
27
 
28
+ export type PanGesture = ReturnType<
29
+ typeof import('react-native-gesture-handler').Gesture.Pan
30
+ >;
31
+
28
32
  export const enum GestureState {
29
33
  UNDETERMINED = 0,
30
34
  FAILED = 1,
@@ -9,6 +9,7 @@ type InteractionManagerType = {
9
9
  let InteractionManager: InteractionManagerType | undefined;
10
10
 
11
11
  try {
12
+ // @ts-expect-error `InteractionManager` is removed from the types in newer React Native versions
12
13
  InteractionManager = ReactNative.InteractionManager;
13
14
  } catch (e) {
14
15
  // On newer React Native versions, accessing InteractionManager throws an error
@@ -19,7 +19,7 @@ export function Overlay({
19
19
  return {
20
20
  opacity: progress.value,
21
21
  };
22
- }, [progress]);
22
+ });
23
23
 
24
24
  const animatedProps = useAnimatedProps(() => {
25
25
  const active = progress.value > PROGRESS_EPSILON;
@@ -28,7 +28,7 @@ export function Overlay({
28
28
  pointerEvents: active ? 'auto' : 'none',
29
29
  'aria-hidden': !active,
30
30
  } as const;
31
- }, [progress]);
31
+ });
32
32
 
33
33
  return (
34
34
  <Animated.View