react-native-drawer-layout 5.0.0-alpha.1 → 5.0.0-alpha.11

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 (40) hide show
  1. package/lib/module/utils/getDrawerWidth.js +1 -1
  2. package/lib/module/utils/getDrawerWidth.js.map +1 -1
  3. package/lib/module/utils/useDrawerProgress.js +1 -1
  4. package/lib/module/utils/useDrawerProgress.js.map +1 -1
  5. package/lib/module/views/Drawer.native.js +67 -50
  6. package/lib/module/views/Drawer.native.js.map +1 -1
  7. package/lib/module/views/GestureHandler.js +4 -14
  8. package/lib/module/views/GestureHandler.js.map +1 -1
  9. package/lib/module/views/GestureHandlerNative.js +1 -1
  10. package/lib/module/views/GestureHandlerNative.js.map +1 -1
  11. package/lib/typescript/src/index.d.ts +3 -3
  12. package/lib/typescript/src/index.d.ts.map +1 -1
  13. package/lib/typescript/src/types.d.ts +23 -23
  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.map +1 -1
  18. package/lib/typescript/src/views/Drawer.d.ts +3 -2
  19. package/lib/typescript/src/views/Drawer.d.ts.map +1 -1
  20. package/lib/typescript/src/views/Drawer.native.d.ts +3 -2
  21. package/lib/typescript/src/views/Drawer.native.d.ts.map +1 -1
  22. package/lib/typescript/src/views/GestureHandler.android.d.ts +1 -1
  23. package/lib/typescript/src/views/GestureHandler.android.d.ts.map +1 -1
  24. package/lib/typescript/src/views/GestureHandler.d.ts +5 -13
  25. package/lib/typescript/src/views/GestureHandler.d.ts.map +1 -1
  26. package/lib/typescript/src/views/GestureHandler.ios.d.ts +1 -1
  27. package/lib/typescript/src/views/GestureHandler.ios.d.ts.map +1 -1
  28. package/lib/typescript/src/views/GestureHandlerNative.d.ts +2 -2
  29. package/lib/typescript/src/views/GestureHandlerNative.d.ts.map +1 -1
  30. package/lib/typescript/src/views/Overlay.d.ts +2 -2
  31. package/lib/typescript/src/views/Overlay.d.ts.map +1 -1
  32. package/lib/typescript/src/views/Overlay.native.d.ts +2 -2
  33. package/lib/typescript/src/views/Overlay.native.d.ts.map +1 -1
  34. package/package.json +14 -14
  35. package/src/types.tsx +25 -23
  36. package/src/utils/getDrawerWidth.tsx +5 -3
  37. package/src/utils/useDrawerProgress.tsx +1 -1
  38. package/src/views/Drawer.native.tsx +63 -46
  39. package/src/views/GestureHandler.tsx +13 -15
  40. package/src/views/GestureHandlerNative.tsx +5 -3
@@ -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,12 +2,13 @@
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";
9
10
  import { getDrawerWidthNative } from "../utils/getDrawerWidth.js";
10
- import { Gesture, GestureDetector, GestureHandlerRootView, GestureState } from './GestureHandler';
11
+ import { GestureDetector, GestureHandlerRootView, usePanGesture } from './GestureHandler';
11
12
  import { Overlay } from './Overlay';
12
13
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
14
  const SWIPE_EDGE_WIDTH = 32;
@@ -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,12 +135,12 @@ 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
- const gestureState = useSharedValue(GestureState.UNDETERMINED);
143
+ const isGestureActive = useSharedValue(false);
140
144
  const onAnimationStart = useLatestCallback(open => {
141
145
  onTransitionStart?.(!open);
142
146
  });
@@ -161,67 +165,80 @@ export function Drawer({
161
165
  return;
162
166
  }
163
167
  if (velocity === undefined) {
164
- runOnJS(onAnimationStart)(open);
168
+ scheduleOnRN(onAnimationStart, open);
165
169
  }
170
+
171
+ // Ignore velocity that opposes the spring direction.
172
+ // Otherwise overshootClamping makes the spring snap instantly.
173
+ const isSameDirection = velocity !== undefined && (toValue > translationX.get() && velocity > 0 || toValue < translationX.get() && velocity < 0);
174
+ const effectiveVelocity = isSameDirection ? velocity : 0;
166
175
  animatingTo.set(open ? 'open' : 'close');
167
176
  translationX.set(withSpring(toValue, {
168
- velocity,
169
- stiffness: 1000,
170
- damping: 500,
171
- mass: 3,
177
+ velocity: effectiveVelocity,
178
+ stiffness: 500,
179
+ damping: 40,
180
+ mass: 1,
172
181
  overshootClamping: true,
173
182
  reduceMotion: ReduceMotion.Never
174
183
  }, finished => {
175
184
  animatingTo.set(null);
176
- runOnJS(onAnimationEnd)(open, finished);
185
+ scheduleOnRN(onAnimationEnd, open, finished);
177
186
  }));
178
187
  if (open) {
179
- runOnJS(onOpen)();
188
+ scheduleOnRN(onOpen);
180
189
  } else {
181
- runOnJS(onClose)();
190
+ scheduleOnRN(onClose);
182
191
  }
183
192
  }, [touchStartX, touchX, layoutWidth, getDrawerTranslationX, translationX, animatingTo, onAnimationStart, onAnimationEnd, onOpen, onClose]);
184
193
  React.useEffect(() => {
185
194
  toggleDrawer(open);
186
195
  }, [animatingTo, open, toggleDrawer]);
187
196
  const startX = useSharedValue(0);
188
- const pan = React.useMemo(() => {
189
- let panGesture = Gesture?.Pan().onBegin(event => {
190
- 'worklet';
197
+ const panGestureConfig = React.useMemo(() => {
198
+ const config = {
199
+ onBegin: event => {
200
+ 'worklet';
191
201
 
192
- startX.set(translationX.get());
193
- gestureState.set(event.state);
194
- touchStartX.set(event.x);
195
- }).onStart(() => {
196
- 'worklet';
202
+ startX.set(translationX.get());
203
+ touchStartX.set(event.x);
204
+ },
205
+ onActivate: () => {
206
+ 'worklet';
197
207
 
198
- runOnJS(onGestureBegin)();
199
- }).onChange(event => {
200
- 'worklet';
208
+ isGestureActive.set(true);
209
+ scheduleOnRN(onGestureBegin);
210
+ },
211
+ onUpdate: event => {
212
+ 'worklet';
201
213
 
202
- touchX.set(event.x);
203
- translationX.set(startX.get() + event.translationX);
204
- gestureState.set(event.state);
205
- }).onEnd((event, success) => {
206
- 'worklet';
214
+ touchX.set(event.x);
215
+ translationX.set(startX.get() + event.translationX);
216
+ },
217
+ onDeactivate: event => {
218
+ 'worklet';
207
219
 
208
- gestureState.set(event.state);
209
- if (!success) {
210
- runOnJS(onGestureAbort)();
211
- }
212
- const nextOpen = Math.abs(event.translationX) > SWIPE_MIN_OFFSET && Math.abs(event.translationX) > swipeMinVelocity || Math.abs(event.translationX) > swipeMinDistance ? drawerPosition === 'left' ?
213
- // If swiped to right, open the drawer, otherwise close it
214
- (event.velocityX === 0 ? event.translationX : event.velocityX) > 0 :
215
- // If swiped to left, open the drawer, otherwise close it
216
- (event.velocityX === 0 ? event.translationX : event.velocityX) < 0 : open;
217
- toggleDrawer(nextOpen, event.velocityX);
218
- runOnJS(onGestureFinish)();
219
- }).activeOffsetX([-SWIPE_MIN_OFFSET, SWIPE_MIN_OFFSET]).failOffsetY([-SWIPE_MIN_OFFSET, SWIPE_MIN_OFFSET]).hitSlop(hitSlop).enabled(drawerType !== 'permanent' && swipeEnabled);
220
- if (panGesture && configureGestureHandler) {
221
- panGesture = configureGestureHandler(panGesture);
222
- }
223
- return panGesture;
224
- }, [configureGestureHandler, drawerPosition, drawerType, gestureState, hitSlop, onGestureBegin, onGestureAbort, onGestureFinish, open, startX, swipeEnabled, swipeMinDistance, swipeMinVelocity, toggleDrawer, touchStartX, touchX, translationX]);
220
+ isGestureActive.set(false);
221
+ if (event.canceled) {
222
+ toggleDrawer(open, event.velocityX);
223
+ scheduleOnRN(onGestureAbort);
224
+ return;
225
+ }
226
+ const nextOpen = Math.abs(event.translationX) > SWIPE_MIN_OFFSET && Math.abs(event.velocityX) > swipeMinVelocity || Math.abs(event.translationX) > swipeMinDistance ? drawerPosition === 'left' ?
227
+ // If swiped to right, open the drawer, otherwise close it
228
+ (event.velocityX === 0 ? event.translationX : event.velocityX) > 0 :
229
+ // If swiped to left, open the drawer, otherwise close it
230
+ (event.velocityX === 0 ? event.translationX : event.velocityX) < 0 : open;
231
+ toggleDrawer(nextOpen, event.velocityX);
232
+ scheduleOnRN(onGestureFinish);
233
+ },
234
+ activeOffsetX: [-SWIPE_MIN_OFFSET, SWIPE_MIN_OFFSET],
235
+ failOffsetY: [-SWIPE_MIN_OFFSET, SWIPE_MIN_OFFSET],
236
+ hitSlop,
237
+ enabled: drawerType !== 'permanent' && swipeEnabled
238
+ };
239
+ return configureGestureHandler?.(config) ?? config;
240
+ }, [configureGestureHandler, drawerPosition, drawerType, hitSlop, isGestureActive, onGestureBegin, onGestureAbort, onGestureFinish, open, startX, swipeEnabled, swipeMinDistance, swipeMinVelocity, toggleDrawer, touchStartX, touchX, translationX]);
241
+ const pan = usePanGesture(panGestureConfig);
225
242
  const translateX = useDerivedValue(() => {
226
243
  const drawerWidth = getDrawerWidthNative({
227
244
  containerWidth: layoutWidth.get(),
@@ -253,7 +270,7 @@ export function Drawer({
253
270
  // drawer be pulled back as soon as you start the pan.
254
271
  //
255
272
  // This is used only when drawerType is "front"
256
- const touchDistance = drawerType === 'front' && gestureState.get() === GestureState.ACTIVE ? minmax(drawerPosition === 'left' ? touchStartX.get() - drawerWidth : layoutWidth.get() - drawerWidth - touchStartX.get(), 0, layoutWidth.get()) : 0;
273
+ const touchDistance = drawerType === 'front' && isGestureActive.get() ? minmax(drawerPosition === 'left' ? touchStartX.get() - drawerWidth : layoutWidth.get() - drawerWidth - touchStartX.get(), 0, layoutWidth.get()) : 0;
257
274
  const translateX = drawerPosition === 'left' ? minmax(translationX.get() + touchDistance, -drawerWidth, 0) : minmax(translationX.get() - touchDistance, 0, drawerWidth);
258
275
  return translateX;
259
276
  });
@@ -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","GestureDetector","GestureHandlerRootView","usePanGesture","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","isGestureActive","onAnimationStart","onAnimationEnd","finished","animatingTo","toggleDrawer","velocity","toValue","isSameDirection","effectiveVelocity","stiffness","damping","mass","overshootClamping","reduceMotion","Never","startX","panGestureConfig","config","onBegin","x","onActivate","onUpdate","onDeactivate","canceled","velocityX","nextOpen","abs","activeOffsetX","failOffsetY","enabled","pan","translateX","touchDistance","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":[]}
@@ -2,10 +2,6 @@
2
2
 
3
3
  import * as React from 'react';
4
4
  import { View } from 'react-native';
5
-
6
- // FIXME: Inline this type instead of getting it from react-native-gesture-handler
7
- // Otherwise, we get a type error:
8
- // Exported variable 'GestureDetector' has or is using name 'GestureDetectorProps' from external module ".." but cannot be named.
9
5
  import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
10
6
  export const GestureDetector = ({
11
7
  gesture: _0,
@@ -17,14 +13,8 @@ export const GestureDetector = ({
17
13
  });
18
14
  };
19
15
  export const GestureHandlerRootView = View;
20
- export const Gesture = undefined;
21
- export let GestureState = /*#__PURE__*/function (GestureState) {
22
- GestureState[GestureState["UNDETERMINED"] = 0] = "UNDETERMINED";
23
- GestureState[GestureState["FAILED"] = 1] = "FAILED";
24
- GestureState[GestureState["BEGAN"] = 2] = "BEGAN";
25
- GestureState[GestureState["CANCELLED"] = 3] = "CANCELLED";
26
- GestureState[GestureState["ACTIVE"] = 4] = "ACTIVE";
27
- GestureState[GestureState["END"] = 5] = "END";
28
- return GestureState;
29
- }({});
16
+ export function usePanGesture(config) {
17
+ React.useDebugValue(config);
18
+ return undefined;
19
+ }
30
20
  //# sourceMappingURL=GestureHandler.js.map
@@ -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","usePanGesture","config","useDebugValue","undefined"],"sourceRoot":"../../../src","sources":["views/GestureHandler.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,IAAI,QAAQ,cAAc;AAAC,SAAAC,QAAA,IAAAC,SAAA,EAAAC,GAAA,IAAAC,IAAA;AAYpC,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,SAASY,aAAaA,CAACC,MAAwB,EAAE;EACtDd,KAAK,CAACe,aAAa,CAACD,MAAM,CAAC;EAE3B,OAAOE,SAAS;AAClB","ignoreList":[]}
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
2
 
3
- export { Gesture, GestureDetector, GestureHandlerRootView, State as GestureState } from 'react-native-gesture-handler';
3
+ export { GestureDetector, GestureHandlerRootView, usePanGesture } from 'react-native-gesture-handler';
4
4
  //# sourceMappingURL=GestureHandlerNative.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Gesture","GestureDetector","GestureHandlerRootView","State","GestureState"],"sourceRoot":"../../../src","sources":["views/GestureHandlerNative.tsx"],"mappings":";;AACA,SACEA,OAAO,EACPC,eAAe,EACfC,sBAAsB,EACtBC,KAAK,IAAIC,YAAY,QAChB,8BAA8B","ignoreList":[]}
1
+ {"version":3,"names":["GestureDetector","GestureHandlerRootView","usePanGesture"],"sourceRoot":"../../../src","sources":["views/GestureHandlerNative.tsx"],"mappings":";;AAIA,SACEA,eAAe,EACfC,sBAAsB,EACtBC,aAAa,QACR,8BAA8B","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- export { DrawerGestureContext } from './utils/DrawerGestureContext';
2
- export { DrawerProgressContext } from './utils/DrawerProgressContext';
3
- export { useDrawerProgress } from './utils/useDrawerProgress';
1
+ export { DrawerGestureContext } from './utils/DrawerGestureContext.js';
2
+ export { DrawerProgressContext } from './utils/DrawerProgressContext.js';
3
+ export { useDrawerProgress } from './utils/useDrawerProgress.js';
4
4
  export { Drawer } from './views/Drawer';
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAA8B,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAA+B,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA2B,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC"}
@@ -1,6 +1,6 @@
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';
3
+ import type { PanGestureConfig } from 'react-native-gesture-handler';
4
4
  import type { SharedValue } from 'react-native-reanimated';
5
5
  export type DrawerProps = {
6
6
  /**
@@ -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
- * Function to modify the pan gesture handler via RNGH properties API.
115
+ * Function to modify the pan gesture config.
116
116
  */
117
- configureGestureHandler?: (gesture: PanGesture) => PanGesture;
117
+ configureGestureHandler?: ((gesture: PanGestureConfig) => PanGestureConfig) | 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":"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"}
@@ -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 'react-native-gesture-handler';
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;AAC/B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAE/D,eAAO,MAAM,oBAAoB,uCAEhC,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,3 +1,4 @@
1
- import type { DrawerProps } from '../types';
2
- export declare function Drawer({ direction, drawerPosition, drawerStyle, drawerType, onClose, onTransitionStart, onTransitionEnd, open, overlayStyle, overlayAccessibilityLabel, renderDrawerContent, children, style, }: DrawerProps): import("react/jsx-runtime").JSX.Element;
1
+ import * as React from 'react';
2
+ import type { DrawerProps } from '../types.js';
3
+ export declare function Drawer({ direction, drawerPosition, drawerStyle, drawerType, onClose, onTransitionStart, onTransitionEnd, open, overlayStyle, overlayAccessibilityLabel, renderDrawerContent, children, style, }: DrawerProps): React.JSX.Element;
3
4
  //# sourceMappingURL=Drawer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Drawer.d.ts","sourceRoot":"","sources":["../../../../src/views/Drawer.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,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,2CA2Hb"}
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,qBA2Hb"}
@@ -1,3 +1,4 @@
1
- import type { DrawerProps } from '../types';
2
- export declare function Drawer({ direction, drawerPosition, drawerStyle, drawerType, configureGestureHandler, hideStatusBarOnOpen, keyboardDismissMode, onClose, onOpen, onGestureStart, onGestureCancel, onGestureEnd, onTransitionStart, onTransitionEnd, open, overlayStyle, overlayAccessibilityLabel, statusBarAnimation, swipeEnabled, swipeEdgeWidth, swipeMinDistance, swipeMinVelocity, renderDrawerContent, children, style, }: DrawerProps): import("react/jsx-runtime").JSX.Element;
1
+ import * as React from 'react';
2
+ import type { DrawerProps } from '../types.js';
3
+ export declare function Drawer({ direction, drawerPosition, drawerStyle, drawerType, configureGestureHandler, hideStatusBarOnOpen, keyboardDismissMode, onClose, onOpen, onGestureStart, onGestureCancel, onGestureEnd, onTransitionStart, onTransitionEnd, open, overlayStyle, overlayAccessibilityLabel, statusBarAnimation, swipeEnabled, swipeEdgeWidth, swipeMinDistance, swipeMinVelocity, renderDrawerContent, children, style, }: DrawerProps): React.JSX.Element;
3
4
  //# sourceMappingURL=Drawer.native.d.ts.map
@@ -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":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAsB/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAU,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,qBAqfb"}
@@ -1,2 +1,2 @@
1
- export * from './GestureHandlerNative';
1
+ export * from './GestureHandlerNative.js';
2
2
  //# sourceMappingURL=GestureHandler.android.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GestureHandler.android.d.ts","sourceRoot":"","sources":["../../../../src/views/GestureHandler.android.tsx"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC"}
1
+ {"version":3,"file":"GestureHandler.android.d.ts","sourceRoot":"","sources":["../../../../src/views/GestureHandler.android.tsx"],"names":[],"mappings":"AAAA,cAAc,2BAAwB,CAAC"}
@@ -1,21 +1,13 @@
1
1
  import * as React from 'react';
2
2
  import { View } from 'react-native';
3
- import type { GestureType } from 'react-native-gesture-handler';
3
+ import type { PanGesture, PanGestureConfig } from 'react-native-gesture-handler';
4
4
  type GestureDetectorProps = {
5
- gesture: GestureType | undefined;
5
+ gesture: PanGesture | undefined;
6
6
  userSelect?: 'none' | 'auto' | 'text';
7
7
  children: React.ReactNode;
8
8
  };
9
- export declare const GestureDetector: ({ gesture: _0, userSelect: _1, children, }: GestureDetectorProps) => import("react/jsx-runtime").JSX.Element;
9
+ export declare const GestureDetector: ({ gesture: _0, userSelect: _1, children, }: GestureDetectorProps) => React.JSX.Element;
10
10
  export declare const GestureHandlerRootView: typeof View;
11
- export declare const Gesture: typeof import('react-native-gesture-handler').Gesture | undefined;
12
- export declare const enum GestureState {
13
- UNDETERMINED = 0,
14
- FAILED = 1,
15
- BEGAN = 2,
16
- CANCELLED = 3,
17
- ACTIVE = 4,
18
- END = 5
19
- }
20
- export {};
11
+ export declare function usePanGesture(config: PanGestureConfig): undefined;
12
+ export type { PanGesture, PanGestureConfig, } from 'react-native-gesture-handler';
21
13
  //# sourceMappingURL=GestureHandler.d.ts.map
@@ -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,4CAEtB,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,EACV,UAAU,EACV,gBAAgB,EACjB,MAAM,8BAA8B,CAAC;AAEtC,KAAK,oBAAoB,GAAG;IAC1B,OAAO,EAAE,UAAU,GAAG,SAAS,CAAC;IAChC,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,wBAAgB,aAAa,CAAC,MAAM,EAAE,gBAAgB,aAIrD;AAED,YAAY,EACV,UAAU,EACV,gBAAgB,GACjB,MAAM,8BAA8B,CAAC"}
@@ -1,2 +1,2 @@
1
- export * from './GestureHandlerNative';
1
+ export * from './GestureHandlerNative.js';
2
2
  //# sourceMappingURL=GestureHandler.ios.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GestureHandler.ios.d.ts","sourceRoot":"","sources":["../../../../src/views/GestureHandler.ios.tsx"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC"}
1
+ {"version":3,"file":"GestureHandler.ios.d.ts","sourceRoot":"","sources":["../../../../src/views/GestureHandler.ios.tsx"],"names":[],"mappings":"AAAA,cAAc,2BAAwB,CAAC"}
@@ -1,3 +1,3 @@
1
- export type { PanGestureHandlerGestureEvent } from 'react-native-gesture-handler';
2
- export { Gesture, GestureDetector, GestureHandlerRootView, State as GestureState, } from 'react-native-gesture-handler';
1
+ export type { PanGesture, PanGestureConfig, } from 'react-native-gesture-handler';
2
+ export { GestureDetector, GestureHandlerRootView, usePanGesture, } from 'react-native-gesture-handler';
3
3
  //# sourceMappingURL=GestureHandlerNative.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GestureHandlerNative.d.ts","sourceRoot":"","sources":["../../../../src/views/GestureHandlerNative.tsx"],"names":[],"mappings":"AAAA,YAAY,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC;AAClF,OAAO,EACL,OAAO,EACP,eAAe,EACf,sBAAsB,EACtB,KAAK,IAAI,YAAY,GACtB,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"GestureHandlerNative.d.ts","sourceRoot":"","sources":["../../../../src/views/GestureHandlerNative.tsx"],"names":[],"mappings":"AAAA,YAAY,EACV,UAAU,EACV,gBAAgB,GACjB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,aAAa,GACd,MAAM,8BAA8B,CAAC"}
@@ -1,3 +1,3 @@
1
- import type { OverlayProps } from '../types';
2
- export declare function Overlay({ open, onPress, style, accessibilityLabel, ...rest }: OverlayProps): import("react/jsx-runtime").JSX.Element;
1
+ import type { OverlayProps } from '../types.js';
2
+ export declare function Overlay({ open, onPress, style, accessibilityLabel, ...rest }: OverlayProps): import("react").JSX.Element;
3
3
  //# sourceMappingURL=Overlay.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Overlay.d.ts","sourceRoot":"","sources":["../../../../src/views/Overlay.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,wBAAgB,OAAO,CAAC,EACtB,IAAI,EACJ,OAAO,EACP,KAAK,EACL,kBAAmC,EACnC,GAAG,IAAI,EACR,EAAE,YAAY,2CAoBd"}
1
+ {"version":3,"file":"Overlay.d.ts","sourceRoot":"","sources":["../../../../src/views/Overlay.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAU,CAAC;AAE7C,wBAAgB,OAAO,CAAC,EACtB,IAAI,EACJ,OAAO,EACP,KAAK,EACL,kBAAmC,EACnC,GAAG,IAAI,EACR,EAAE,YAAY,+BAoBd"}
@@ -1,3 +1,3 @@
1
- import type { OverlayProps } from '../types';
2
- export declare function Overlay({ progress, onPress, style, accessibilityLabel, ...rest }: OverlayProps): import("react/jsx-runtime").JSX.Element;
1
+ import type { OverlayProps } from '../types.js';
2
+ export declare function Overlay({ progress, onPress, style, accessibilityLabel, ...rest }: OverlayProps): import("react").JSX.Element;
3
3
  //# sourceMappingURL=Overlay.native.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Overlay.native.d.ts","sourceRoot":"","sources":["../../../../src/views/Overlay.native.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAI7C,wBAAgB,OAAO,CAAC,EACtB,QAAQ,EACR,OAAO,EACP,KAAK,EACL,kBAAmC,EACnC,GAAG,IAAI,EACR,EAAE,YAAY,2CAiCd"}
1
+ {"version":3,"file":"Overlay.native.d.ts","sourceRoot":"","sources":["../../../../src/views/Overlay.native.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAU,CAAC;AAI7C,wBAAgB,OAAO,CAAC,EACtB,QAAQ,EACR,OAAO,EACP,KAAK,EACL,kBAAmC,EACnC,GAAG,IAAI,EACR,EAAE,YAAY,+BAiCd"}
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.11",
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.4"
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.6",
51
+ "react-native-builder-bob": "^0.42.1",
52
+ "react-native-reanimated": "~4.2.1",
53
+ "react-native-worklets": "0.7.4",
54
+ "typescript": "^6.0.3"
56
55
  },
57
56
  "peerDependencies": {
58
- "react": ">= 19.0.0",
57
+ "react": ">= 19.2.0",
59
58
  "react-native": "*",
60
- "react-native-gesture-handler": ">= 2.0.0",
61
- "react-native-reanimated": ">= 4.0.0"
59
+ "react-native-gesture-handler": ">= 3.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": "9c6b764c575fdf7e3c27df37f820899dda9d4259"
82
82
  }
package/src/types.tsx CHANGED
@@ -1,6 +1,6 @@
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';
3
+ import type { PanGestureConfig } from 'react-native-gesture-handler';
4
4
  import type { SharedValue } from 'react-native-reanimated';
5
5
 
6
6
  export type DrawerProps = {
@@ -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,81 @@ 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
- * Function to modify the pan gesture handler via RNGH properties API.
138
+ * Function to modify the pan gesture config.
139
139
  */
140
- configureGestureHandler?: (gesture: PanGesture) => PanGesture;
140
+ configureGestureHandler?:
141
+ | ((gesture: PanGestureConfig) => PanGestureConfig)
142
+ | undefined;
141
143
 
142
144
  /**
143
145
  * Style object for the wrapper view.
144
146
  */
145
- style?: StyleProp<ViewStyle>;
147
+ style?: StyleProp<ViewStyle> | undefined;
146
148
 
147
149
  /**
148
150
  * Content that the drawer should wrap.
@@ -154,5 +156,5 @@ export type OverlayProps = React.ComponentProps<typeof View> & {
154
156
  open: boolean;
155
157
  progress: SharedValue<number>;
156
158
  onPress: () => void;
157
- accessibilityLabel?: string;
159
+ accessibilityLabel?: string | undefined;
158
160
  };
@@ -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';
@@ -25,10 +25,10 @@ import { DrawerGestureContext } from '../utils/DrawerGestureContext';
25
25
  import { DrawerProgressContext } from '../utils/DrawerProgressContext';
26
26
  import { getDrawerWidthNative } from '../utils/getDrawerWidth';
27
27
  import {
28
- Gesture,
29
28
  GestureDetector,
30
29
  GestureHandlerRootView,
31
- GestureState,
30
+ type PanGestureConfig,
31
+ usePanGesture,
32
32
  } from './GestureHandler';
33
33
  import { Overlay } from './Overlay';
34
34
 
@@ -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,13 +187,16 @@ 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);
192
- const gestureState = useSharedValue<GestureState>(GestureState.UNDETERMINED);
199
+ const isGestureActive = useSharedValue(false);
193
200
 
194
201
  const onAnimationStart = useLatestCallback((open: boolean) => {
195
202
  onTransitionStart?.(!open);
@@ -226,32 +233,41 @@ export function Drawer({
226
233
  }
227
234
 
228
235
  if (velocity === undefined) {
229
- runOnJS(onAnimationStart)(open);
236
+ scheduleOnRN(onAnimationStart, open);
230
237
  }
231
238
 
239
+ // Ignore velocity that opposes the spring direction.
240
+ // Otherwise overshootClamping makes the spring snap instantly.
241
+ const isSameDirection =
242
+ velocity !== undefined &&
243
+ ((toValue > translationX.get() && velocity > 0) ||
244
+ (toValue < translationX.get() && velocity < 0));
245
+
246
+ const effectiveVelocity = isSameDirection ? velocity : 0;
247
+
232
248
  animatingTo.set(open ? 'open' : 'close');
233
249
  translationX.set(
234
250
  withSpring(
235
251
  toValue,
236
252
  {
237
- velocity,
238
- stiffness: 1000,
239
- damping: 500,
240
- mass: 3,
253
+ velocity: effectiveVelocity,
254
+ stiffness: 500,
255
+ damping: 40,
256
+ mass: 1,
241
257
  overshootClamping: true,
242
258
  reduceMotion: ReduceMotion.Never,
243
259
  },
244
260
  (finished) => {
245
261
  animatingTo.set(null);
246
- runOnJS(onAnimationEnd)(open, finished);
262
+ scheduleOnRN(onAnimationEnd, open, finished);
247
263
  }
248
264
  )
249
265
  );
250
266
 
251
267
  if (open) {
252
- runOnJS(onOpen)();
268
+ scheduleOnRN(onOpen);
253
269
  } else {
254
- runOnJS(onClose)();
270
+ scheduleOnRN(onClose);
255
271
  }
256
272
  },
257
273
  [
@@ -274,39 +290,41 @@ export function Drawer({
274
290
 
275
291
  const startX = useSharedValue(0);
276
292
 
277
- const pan = React.useMemo(() => {
278
- let panGesture = Gesture?.Pan()
279
- .onBegin((event) => {
293
+ const panGestureConfig = React.useMemo(() => {
294
+ const config: PanGestureConfig = {
295
+ onBegin: (event) => {
280
296
  'worklet';
281
297
 
282
298
  startX.set(translationX.get());
283
- gestureState.set(event.state);
284
299
  touchStartX.set(event.x);
285
- })
286
- .onStart(() => {
300
+ },
301
+ onActivate: () => {
287
302
  'worklet';
288
303
 
289
- runOnJS(onGestureBegin)();
290
- })
291
- .onChange((event) => {
304
+ isGestureActive.set(true);
305
+ scheduleOnRN(onGestureBegin);
306
+ },
307
+ onUpdate: (event) => {
292
308
  'worklet';
293
309
 
294
310
  touchX.set(event.x);
295
311
  translationX.set(startX.get() + event.translationX);
296
- gestureState.set(event.state);
297
- })
298
- .onEnd((event, success) => {
312
+ },
313
+ onDeactivate: (event) => {
299
314
  'worklet';
300
315
 
301
- gestureState.set(event.state);
316
+ isGestureActive.set(false);
317
+
318
+ if (event.canceled) {
319
+ toggleDrawer(open, event.velocityX);
320
+ scheduleOnRN(onGestureAbort);
302
321
 
303
- if (!success) {
304
- runOnJS(onGestureAbort)();
322
+ return;
305
323
  }
306
324
 
307
325
  const nextOpen =
308
326
  (Math.abs(event.translationX) > SWIPE_MIN_OFFSET &&
309
- Math.abs(event.translationX) > swipeMinVelocity) ||
327
+ Math.abs(event.velocityX) > swipeMinVelocity) ||
310
328
  Math.abs(event.translationX) > swipeMinDistance
311
329
  ? drawerPosition === 'left'
312
330
  ? // If swiped to right, open the drawer, otherwise close it
@@ -318,24 +336,21 @@ export function Drawer({
318
336
  : open;
319
337
 
320
338
  toggleDrawer(nextOpen, event.velocityX);
321
- runOnJS(onGestureFinish)();
322
- })
323
- .activeOffsetX([-SWIPE_MIN_OFFSET, SWIPE_MIN_OFFSET])
324
- .failOffsetY([-SWIPE_MIN_OFFSET, SWIPE_MIN_OFFSET])
325
- .hitSlop(hitSlop)
326
- .enabled(drawerType !== 'permanent' && swipeEnabled);
327
-
328
- if (panGesture && configureGestureHandler) {
329
- panGesture = configureGestureHandler(panGesture);
330
- }
339
+ scheduleOnRN(onGestureFinish);
340
+ },
341
+ activeOffsetX: [-SWIPE_MIN_OFFSET, SWIPE_MIN_OFFSET],
342
+ failOffsetY: [-SWIPE_MIN_OFFSET, SWIPE_MIN_OFFSET],
343
+ hitSlop,
344
+ enabled: drawerType !== 'permanent' && swipeEnabled,
345
+ };
331
346
 
332
- return panGesture;
347
+ return configureGestureHandler?.(config) ?? config;
333
348
  }, [
334
349
  configureGestureHandler,
335
350
  drawerPosition,
336
351
  drawerType,
337
- gestureState,
338
352
  hitSlop,
353
+ isGestureActive,
339
354
  onGestureBegin,
340
355
  onGestureAbort,
341
356
  onGestureFinish,
@@ -350,6 +365,8 @@ export function Drawer({
350
365
  translationX,
351
366
  ]);
352
367
 
368
+ const pan = usePanGesture(panGestureConfig);
369
+
353
370
  const translateX = useDerivedValue(() => {
354
371
  const drawerWidth = getDrawerWidthNative({
355
372
  containerWidth: layoutWidth.get(),
@@ -382,7 +399,7 @@ export function Drawer({
382
399
  //
383
400
  // This is used only when drawerType is "front"
384
401
  const touchDistance =
385
- drawerType === 'front' && gestureState.get() === GestureState.ACTIVE
402
+ drawerType === 'front' && isGestureActive.get()
386
403
  ? minmax(
387
404
  drawerPosition === 'left'
388
405
  ? touchStartX.get() - drawerWidth
@@ -1,12 +1,12 @@
1
1
  import * as React from 'react';
2
2
  import { View } from 'react-native';
3
- import type { GestureType } from 'react-native-gesture-handler';
3
+ import type {
4
+ PanGesture,
5
+ PanGestureConfig,
6
+ } from 'react-native-gesture-handler';
4
7
 
5
- // FIXME: Inline this type instead of getting it from react-native-gesture-handler
6
- // Otherwise, we get a type error:
7
- // Exported variable 'GestureDetector' has or is using name 'GestureDetectorProps' from external module ".." but cannot be named.
8
8
  type GestureDetectorProps = {
9
- gesture: GestureType | undefined;
9
+ gesture: PanGesture | undefined;
10
10
  userSelect?: 'none' | 'auto' | 'text';
11
11
  children: React.ReactNode;
12
12
  };
@@ -21,15 +21,13 @@ export const GestureDetector = ({
21
21
 
22
22
  export const GestureHandlerRootView = View;
23
23
 
24
- export const Gesture:
25
- | typeof import('react-native-gesture-handler').Gesture
26
- | undefined = undefined;
24
+ export function usePanGesture(config: PanGestureConfig) {
25
+ React.useDebugValue(config);
27
26
 
28
- export const enum GestureState {
29
- UNDETERMINED = 0,
30
- FAILED = 1,
31
- BEGAN = 2,
32
- CANCELLED = 3,
33
- ACTIVE = 4,
34
- END = 5,
27
+ return undefined;
35
28
  }
29
+
30
+ export type {
31
+ PanGesture,
32
+ PanGestureConfig,
33
+ } from 'react-native-gesture-handler';
@@ -1,7 +1,9 @@
1
- export type { PanGestureHandlerGestureEvent } from 'react-native-gesture-handler';
1
+ export type {
2
+ PanGesture,
3
+ PanGestureConfig,
4
+ } from 'react-native-gesture-handler';
2
5
  export {
3
- Gesture,
4
6
  GestureDetector,
5
7
  GestureHandlerRootView,
6
- State as GestureState,
8
+ usePanGesture,
7
9
  } from 'react-native-gesture-handler';