react-native-drawer-layout 5.0.0-alpha.16 → 5.0.0-alpha.17

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.
@@ -2,13 +2,13 @@
2
2
 
3
3
  import * as React from 'react';
4
4
  import { Dimensions, I18nManager, Keyboard, Platform, StatusBar, StyleSheet } from 'react-native';
5
- import Animated, { interpolate, ReduceMotion, useAnimatedProps, useAnimatedStyle, useDerivedValue, useSharedValue, withSpring } from 'react-native-reanimated';
5
+ import Animated, { cancelAnimation, interpolate, ReduceMotion, useAnimatedProps, useAnimatedStyle, useDerivedValue, useSharedValue, withDelay, withSpring } from 'react-native-reanimated';
6
6
  import { scheduleOnRN } from 'react-native-worklets';
7
7
  import useLatestCallback from 'use-latest-callback';
8
8
  import { DrawerGestureContext } from "../utils/DrawerGestureContext.js";
9
9
  import { DrawerProgressContext } from "../utils/DrawerProgressContext.js";
10
10
  import { getDrawerWidthNative } from "../utils/getDrawerWidth.js";
11
- import { GestureDetector, GestureHandlerRootView, useLongPressGesture, usePanGesture, useSimultaneousGestures } from './GestureHandler';
11
+ import { GestureDetector, GestureHandlerRootView, usePanGesture } from './GestureHandler';
12
12
  import { Overlay } from './Overlay';
13
13
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
14
14
  const SWIPE_EDGE_WIDTH = 32;
@@ -16,6 +16,7 @@ const SWIPE_MIN_OFFSET = 5;
16
16
  const SWIPE_MIN_DISTANCE = 60;
17
17
  const SWIPE_MIN_VELOCITY = 500;
18
18
  const PEEK_DELAY = 160;
19
+ const PEEK_DISTANCE = 20;
19
20
  const PROGRESS_EPSILON = 0.05;
20
21
  const SPRING_CONFIG = {
21
22
  stiffness: 500,
@@ -212,11 +213,41 @@ export function Drawer({
212
213
  'worklet';
213
214
 
214
215
  touchStartX.set(event.x);
216
+ if (open) {
217
+ return;
218
+ }
219
+ const closedTranslation = getDrawerTranslationX(false, layoutWidth.get());
220
+
221
+ // Don't start the peek if the drawer isn't fully closed
222
+ if (translationX.get() !== closedTranslation) {
223
+ return;
224
+ }
225
+ const peekDistance = Math.min(PEEK_DISTANCE, Math.abs(closedTranslation));
226
+ if (peekDistance <= 0) {
227
+ return;
228
+ }
229
+ const peekTranslation = closedTranslation + peekDistance * (drawerPosition === 'left' ? 1 : -1);
230
+ isPeeking.set(true);
231
+ translationX.set(withDelay(PEEK_DELAY, withSpring(peekTranslation, SPRING_CONFIG)));
215
232
  },
216
233
  onActivate: event => {
217
234
  'worklet';
218
235
 
219
- translationX.set(translationX.get() + event.translationX);
236
+ const wasPeeking = isPeeking.get();
237
+ if (wasPeeking) {
238
+ // If a peek is pending or the drawer is peeking,
239
+ // cancel the peek animation
240
+ cancelAnimation(translationX);
241
+ }
242
+ const currentTranslation = translationX.get();
243
+ const closedTranslation = getDrawerTranslationX(false, layoutWidth.get());
244
+
245
+ // Start the gesture from the pan's initial translation
246
+ // We avoid this if the drawer has already moved for the peek,
247
+ // otherwise there can be a jump to the pan's initial translation
248
+ if (!wasPeeking || currentTranslation === closedTranslation) {
249
+ translationX.set(currentTranslation + event.translationX);
250
+ }
220
251
  isPeeking.set(false);
221
252
  isGestureActive.set(true);
222
253
  scheduleOnRN(onGestureBegin);
@@ -224,7 +255,6 @@ export function Drawer({
224
255
  onUpdate: event => {
225
256
  'worklet';
226
257
 
227
- isPeeking.set(false);
228
258
  isGestureActive.set(true);
229
259
  touchX.set(event.x);
230
260
  translationX.set(translationX.get() + event.changeX);
@@ -246,48 +276,22 @@ export function Drawer({
246
276
  toggleDrawer(nextOpen, event.velocityX);
247
277
  scheduleOnRN(onGestureFinish);
248
278
  },
279
+ onFinalize: () => {
280
+ 'worklet';
281
+
282
+ if (isPeeking.get()) {
283
+ isPeeking.set(false);
284
+ translationX.set(withSpring(getDrawerTranslationX(false, layoutWidth.get()), SPRING_CONFIG));
285
+ }
286
+ },
249
287
  activeOffsetX: [-SWIPE_MIN_OFFSET, SWIPE_MIN_OFFSET],
250
288
  failOffsetY: [-SWIPE_MIN_OFFSET, SWIPE_MIN_OFFSET],
251
289
  hitSlop,
252
290
  enabled: drawerType !== 'permanent' && swipeEnabled
253
291
  };
254
292
  return configureGestureHandler?.(config) ?? config;
255
- }, [configureGestureHandler, drawerPosition, drawerType, hitSlop, isGestureActive, isPeeking, onGestureBegin, onGestureAbort, onGestureFinish, open, swipeEnabled, swipeMinDistance, swipeMinVelocity, toggleDrawer, touchStartX, touchX, translationX]);
293
+ }, [configureGestureHandler, drawerPosition, drawerType, getDrawerTranslationX, hitSlop, isGestureActive, isPeeking, layoutWidth, onGestureBegin, onGestureAbort, onGestureFinish, open, swipeEnabled, swipeMinDistance, swipeMinVelocity, toggleDrawer, touchStartX, touchX, translationX]);
256
294
  const pan = usePanGesture(panGestureConfig);
257
- const longPress = useLongPressGesture({
258
- enabled: !isOpen && panGestureConfig.enabled,
259
- hitSlop: panGestureConfig.hitSlop,
260
- minDuration: PEEK_DELAY,
261
- onActivate: () => {
262
- 'worklet';
263
-
264
- if (isGestureActive.get()) {
265
- return;
266
- }
267
- const containerWidth = layoutWidth.get();
268
- const closedTranslation = getDrawerTranslationX(false, containerWidth);
269
- if (translationX.get() !== closedTranslation) {
270
- return;
271
- }
272
- const peekDistance = Math.min(swipeEdgeWidth, Math.abs(closedTranslation));
273
- if (peekDistance <= 0) {
274
- return;
275
- }
276
- const peekTranslation = closedTranslation + peekDistance * (drawerPosition === 'left' ? 1 : -1);
277
- isPeeking.set(true);
278
- translationX.set(withSpring(peekTranslation, SPRING_CONFIG));
279
- },
280
- onDeactivate: () => {
281
- 'worklet';
282
-
283
- if (isPeeking.get()) {
284
- isPeeking.set(false);
285
- const containerWidth = layoutWidth.get();
286
- translationX.set(withSpring(getDrawerTranslationX(false, containerWidth), SPRING_CONFIG));
287
- }
288
- }
289
- });
290
- const gesture = useSimultaneousGestures(pan, longPress);
291
295
  const translateX = useDerivedValue(() => {
292
296
  const drawerWidth = getDrawerWidthNative({
293
297
  containerWidth: layoutWidth.get(),
@@ -400,7 +404,7 @@ export function Drawer({
400
404
  children: /*#__PURE__*/_jsx(DrawerGestureContext.Provider, {
401
405
  value: pan,
402
406
  children: /*#__PURE__*/_jsx(GestureDetector, {
403
- gesture: gesture,
407
+ gesture: pan,
404
408
  children: /*#__PURE__*/_jsxs(Animated.View, {
405
409
  style: [styles.main, {
406
410
  flexDirection: drawerType === 'permanent' ? isRight && direction === 'ltr' || !isRight && direction === 'rtl' ? 'row' : 'row-reverse' : 'row'
@@ -1 +1 @@
1
- {"version":3,"names":["React","Dimensions","I18nManager","Keyboard","Platform","StatusBar","StyleSheet","Animated","interpolate","ReduceMotion","useAnimatedProps","useAnimatedStyle","useDerivedValue","useSharedValue","withSpring","scheduleOnRN","useLatestCallback","DrawerGestureContext","DrawerProgressContext","getDrawerWidthNative","GestureDetector","GestureHandlerRootView","useLongPressGesture","usePanGesture","useSimultaneousGestures","Overlay","jsx","_jsx","jsxs","_jsxs","SWIPE_EDGE_WIDTH","SWIPE_MIN_OFFSET","SWIPE_MIN_DISTANCE","SWIPE_MIN_VELOCITY","PEEK_DELAY","PROGRESS_EPSILON","SPRING_CONFIG","stiffness","damping","mass","overshootClamping","reduceMotion","Never","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","useLayoutEffect","hideKeyboard","dismiss","onGestureBegin","onGestureFinish","onGestureAbort","hitSlop","useMemo","right","undefined","left","initialWidth","useState","get","layoutWidth","translationX","contentRef","useRef","updateLayout","set","measureLayout","current","measure","_x","_y","handle","subscription","addEventListener","requestAnimationFrame","cancelAnimationFrame","remove","onLayout","event","nativeEvent","layout","touchStartX","touchX","isGestureActive","isPeeking","onAnimationStart","onAnimationEnd","finished","animatingTo","toggleDrawer","velocity","toValue","isSameDirection","effectiveVelocity","panGestureConfig","config","onBegin","x","onActivate","onUpdate","changeX","onDeactivate","canceled","velocityX","nextOpen","abs","activeOffsetX","failOffsetY","enabled","pan","longPress","minDuration","closedTranslation","peekDistance","peekTranslation","gesture","translateX","touchDistance","drawerAnimatedStyle","distanceFromEdge","zIndex","transform","contentAnimatedStyle","progress","contentAnimatedProps","hidden","importantForAccessibility","accessibilityElementsHidden","drawerContentAnimatedProps","styles","container","Provider","View","main","flexDirection","ref","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","Dimensions","I18nManager","Keyboard","Platform","StatusBar","StyleSheet","Animated","cancelAnimation","interpolate","ReduceMotion","useAnimatedProps","useAnimatedStyle","useDerivedValue","useSharedValue","withDelay","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","PEEK_DELAY","PEEK_DISTANCE","PROGRESS_EPSILON","SPRING_CONFIG","stiffness","damping","mass","overshootClamping","reduceMotion","Never","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","useLayoutEffect","hideKeyboard","dismiss","onGestureBegin","onGestureFinish","onGestureAbort","hitSlop","useMemo","right","undefined","left","initialWidth","useState","get","layoutWidth","translationX","contentRef","useRef","updateLayout","set","measureLayout","current","measure","_x","_y","handle","subscription","addEventListener","requestAnimationFrame","cancelAnimationFrame","remove","onLayout","event","nativeEvent","layout","touchStartX","touchX","isGestureActive","isPeeking","onAnimationStart","onAnimationEnd","finished","animatingTo","toggleDrawer","velocity","toValue","isSameDirection","effectiveVelocity","panGestureConfig","config","onBegin","x","closedTranslation","peekDistance","abs","peekTranslation","onActivate","wasPeeking","currentTranslation","onUpdate","changeX","onDeactivate","canceled","velocityX","nextOpen","onFinalize","activeOffsetX","failOffsetY","enabled","pan","translateX","touchDistance","drawerAnimatedStyle","distanceFromEdge","zIndex","transform","contentAnimatedStyle","progress","contentAnimatedProps","hidden","importantForAccessibility","accessibilityElementsHidden","drawerContentAnimatedProps","styles","container","Provider","gesture","View","main","flexDirection","ref","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":[]}
@@ -17,12 +17,4 @@ export function usePanGesture(config) {
17
17
  React.useDebugValue(config);
18
18
  return undefined;
19
19
  }
20
- export function useLongPressGesture(config) {
21
- React.useDebugValue(config);
22
- return undefined;
23
- }
24
- export function useSimultaneousGestures(...gestures) {
25
- React.useDebugValue(gestures);
26
- return undefined;
27
- }
28
20
  //# sourceMappingURL=GestureHandler.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","Fragment","_Fragment","jsx","_jsx","GestureDetector","gesture","_0","userSelect","_1","children","GestureHandlerRootView","usePanGesture","config","useDebugValue","undefined","useLongPressGesture","useSimultaneousGestures","gestures"],"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;AAepC,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;AAEA,OAAO,SAASC,mBAAmBA,CAACH,MAA8B,EAAE;EAClEd,KAAK,CAACe,aAAa,CAACD,MAAM,CAAC;EAE3B,OAAOE,SAAS;AAClB;AAEA,OAAO,SAASE,uBAAuBA,CACrC,GAAGC,QAAuD,EAC1D;EACAnB,KAAK,CAACe,aAAa,CAACI,QAAQ,CAAC;EAE7B,OAAOH,SAAS;AAClB","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 { GestureDetector, GestureHandlerRootView, useLongPressGesture, usePanGesture, useSimultaneousGestures } 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":["GestureDetector","GestureHandlerRootView","useLongPressGesture","usePanGesture","useSimultaneousGestures"],"sourceRoot":"../../../src","sources":["views/GestureHandlerNative.tsx"],"mappings":";;AAIA,SACEA,eAAe,EACfC,sBAAsB,EACtBC,mBAAmB,EACnBC,aAAa,EACbC,uBAAuB,QAClB,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 +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;AAwB/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAU,CAAC;AAmC5C,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,qBA4kBb"}
1
+ {"version":3,"file":"Drawer.native.d.ts","sourceRoot":"","sources":["../../../../src/views/Drawer.native.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AA0B/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAU,CAAC;AAkC5C,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,qBA2lBb"}
@@ -1,15 +1,13 @@
1
1
  import * as React from 'react';
2
2
  import { View } from 'react-native';
3
- import type { ComposedGesture, LongPressGesture, LongPressGestureConfig, PanGesture, PanGestureConfig } from 'react-native-gesture-handler';
3
+ import type { PanGesture, PanGestureConfig } from 'react-native-gesture-handler';
4
4
  type GestureDetectorProps = {
5
- gesture: ComposedGesture | PanGesture | undefined;
5
+ gesture: PanGesture | undefined;
6
6
  userSelect?: 'none' | 'auto' | 'text';
7
7
  children: React.ReactNode;
8
8
  };
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 function usePanGesture(config: PanGestureConfig): undefined;
12
- export declare function useLongPressGesture(config: LongPressGestureConfig): undefined;
13
- export declare function useSimultaneousGestures(...gestures: (LongPressGesture | PanGesture | undefined)[]): undefined;
14
12
  export type { PanGesture, PanGestureConfig, } from 'react-native-gesture-handler';
15
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,EACV,eAAe,EACf,gBAAgB,EAChB,sBAAsB,EACtB,UAAU,EACV,gBAAgB,EACjB,MAAM,8BAA8B,CAAC;AAEtC,KAAK,oBAAoB,GAAG;IAC1B,OAAO,EAAE,eAAe,GAAG,UAAU,GAAG,SAAS,CAAC;IAClD,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,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,sBAAsB,aAIjE;AAED,wBAAgB,uBAAuB,CACrC,GAAG,QAAQ,EAAE,CAAC,gBAAgB,GAAG,UAAU,GAAG,SAAS,CAAC,EAAE,aAK3D;AAED,YAAY,EACV,UAAU,EACV,gBAAgB,GACjB,MAAM,8BAA8B,CAAC"}
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,3 +1,3 @@
1
1
  export type { PanGesture, PanGestureConfig, } from 'react-native-gesture-handler';
2
- export { GestureDetector, GestureHandlerRootView, useLongPressGesture, usePanGesture, useSimultaneousGestures, } 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,EACV,UAAU,EACV,gBAAgB,GACjB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,mBAAmB,EACnB,aAAa,EACb,uBAAuB,GACxB,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"}
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.16",
4
+ "version": "5.0.0-alpha.17",
5
5
  "keywords": [
6
6
  "react-native-component",
7
7
  "react-component",
@@ -80,5 +80,5 @@
80
80
  ]
81
81
  ]
82
82
  },
83
- "gitHead": "a92d33a7bff634f9a217a9b017afe4c920696b89"
83
+ "gitHead": "b480c645f83ee32b649ed398bb03c75576bf6547"
84
84
  }
@@ -11,12 +11,14 @@ import {
11
11
  type ViewProps,
12
12
  } from 'react-native';
13
13
  import Animated, {
14
+ cancelAnimation,
14
15
  interpolate,
15
16
  ReduceMotion,
16
17
  useAnimatedProps,
17
18
  useAnimatedStyle,
18
19
  useDerivedValue,
19
20
  useSharedValue,
21
+ withDelay,
20
22
  withSpring,
21
23
  } from 'react-native-reanimated';
22
24
  import { scheduleOnRN } from 'react-native-worklets';
@@ -30,9 +32,7 @@ import {
30
32
  GestureDetector,
31
33
  GestureHandlerRootView,
32
34
  type PanGestureConfig,
33
- useLongPressGesture,
34
35
  usePanGesture,
35
- useSimultaneousGestures,
36
36
  } from './GestureHandler';
37
37
  import { Overlay } from './Overlay';
38
38
 
@@ -41,6 +41,7 @@ const SWIPE_MIN_OFFSET = 5;
41
41
  const SWIPE_MIN_DISTANCE = 60;
42
42
  const SWIPE_MIN_VELOCITY = 500;
43
43
  const PEEK_DELAY = 160;
44
+ const PEEK_DISTANCE = 20;
44
45
  const PROGRESS_EPSILON = 0.05;
45
46
 
46
47
  const SPRING_CONFIG = {
@@ -312,19 +313,71 @@ export function Drawer({
312
313
  'worklet';
313
314
 
314
315
  touchStartX.set(event.x);
316
+
317
+ if (open) {
318
+ return;
319
+ }
320
+
321
+ const closedTranslation = getDrawerTranslationX(
322
+ false,
323
+ layoutWidth.get()
324
+ );
325
+
326
+ // Don't start the peek if the drawer isn't fully closed
327
+ if (translationX.get() !== closedTranslation) {
328
+ return;
329
+ }
330
+
331
+ const peekDistance = Math.min(
332
+ PEEK_DISTANCE,
333
+ Math.abs(closedTranslation)
334
+ );
335
+
336
+ if (peekDistance <= 0) {
337
+ return;
338
+ }
339
+
340
+ const peekTranslation =
341
+ closedTranslation +
342
+ peekDistance * (drawerPosition === 'left' ? 1 : -1);
343
+
344
+ isPeeking.set(true);
345
+ translationX.set(
346
+ withDelay(PEEK_DELAY, withSpring(peekTranslation, SPRING_CONFIG))
347
+ );
315
348
  },
316
349
  onActivate: (event) => {
317
350
  'worklet';
318
351
 
319
- translationX.set(translationX.get() + event.translationX);
352
+ const wasPeeking = isPeeking.get();
353
+
354
+ if (wasPeeking) {
355
+ // If a peek is pending or the drawer is peeking,
356
+ // cancel the peek animation
357
+ cancelAnimation(translationX);
358
+ }
359
+
360
+ const currentTranslation = translationX.get();
361
+ const closedTranslation = getDrawerTranslationX(
362
+ false,
363
+ layoutWidth.get()
364
+ );
365
+
366
+ // Start the gesture from the pan's initial translation
367
+ // We avoid this if the drawer has already moved for the peek,
368
+ // otherwise there can be a jump to the pan's initial translation
369
+ if (!wasPeeking || currentTranslation === closedTranslation) {
370
+ translationX.set(currentTranslation + event.translationX);
371
+ }
372
+
320
373
  isPeeking.set(false);
321
374
  isGestureActive.set(true);
375
+
322
376
  scheduleOnRN(onGestureBegin);
323
377
  },
324
378
  onUpdate: (event) => {
325
379
  'worklet';
326
380
 
327
- isPeeking.set(false);
328
381
  isGestureActive.set(true);
329
382
  touchX.set(event.x);
330
383
  translationX.set(translationX.get() + event.changeX);
@@ -357,6 +410,20 @@ export function Drawer({
357
410
  toggleDrawer(nextOpen, event.velocityX);
358
411
  scheduleOnRN(onGestureFinish);
359
412
  },
413
+ onFinalize: () => {
414
+ 'worklet';
415
+
416
+ if (isPeeking.get()) {
417
+ isPeeking.set(false);
418
+
419
+ translationX.set(
420
+ withSpring(
421
+ getDrawerTranslationX(false, layoutWidth.get()),
422
+ SPRING_CONFIG
423
+ )
424
+ );
425
+ }
426
+ },
360
427
  activeOffsetX: [-SWIPE_MIN_OFFSET, SWIPE_MIN_OFFSET],
361
428
  failOffsetY: [-SWIPE_MIN_OFFSET, SWIPE_MIN_OFFSET],
362
429
  hitSlop,
@@ -368,9 +435,11 @@ export function Drawer({
368
435
  configureGestureHandler,
369
436
  drawerPosition,
370
437
  drawerType,
438
+ getDrawerTranslationX,
371
439
  hitSlop,
372
440
  isGestureActive,
373
441
  isPeeking,
442
+ layoutWidth,
374
443
  onGestureBegin,
375
444
  onGestureAbort,
376
445
  onGestureFinish,
@@ -386,59 +455,6 @@ export function Drawer({
386
455
 
387
456
  const pan = usePanGesture(panGestureConfig);
388
457
 
389
- const longPress = useLongPressGesture({
390
- enabled: !isOpen && panGestureConfig.enabled,
391
- hitSlop: panGestureConfig.hitSlop,
392
- minDuration: PEEK_DELAY,
393
- onActivate: () => {
394
- 'worklet';
395
-
396
- if (isGestureActive.get()) {
397
- return;
398
- }
399
-
400
- const containerWidth = layoutWidth.get();
401
- const closedTranslation = getDrawerTranslationX(false, containerWidth);
402
-
403
- if (translationX.get() !== closedTranslation) {
404
- return;
405
- }
406
-
407
- const peekDistance = Math.min(
408
- swipeEdgeWidth,
409
- Math.abs(closedTranslation)
410
- );
411
-
412
- if (peekDistance <= 0) {
413
- return;
414
- }
415
-
416
- const peekTranslation =
417
- closedTranslation + peekDistance * (drawerPosition === 'left' ? 1 : -1);
418
-
419
- isPeeking.set(true);
420
- translationX.set(withSpring(peekTranslation, SPRING_CONFIG));
421
- },
422
- onDeactivate: () => {
423
- 'worklet';
424
-
425
- if (isPeeking.get()) {
426
- isPeeking.set(false);
427
-
428
- const containerWidth = layoutWidth.get();
429
-
430
- translationX.set(
431
- withSpring(
432
- getDrawerTranslationX(false, containerWidth),
433
- SPRING_CONFIG
434
- )
435
- );
436
- }
437
- },
438
- });
439
-
440
- const gesture = useSimultaneousGestures(pan, longPress);
441
-
442
458
  const translateX = useDerivedValue(() => {
443
459
  const drawerWidth = getDrawerWidthNative({
444
460
  containerWidth: layoutWidth.get(),
@@ -615,7 +631,7 @@ export function Drawer({
615
631
  <GestureHandlerRootView style={[styles.container, style]}>
616
632
  <DrawerProgressContext.Provider value={progress}>
617
633
  <DrawerGestureContext.Provider value={pan}>
618
- <GestureDetector gesture={gesture}>
634
+ <GestureDetector gesture={pan}>
619
635
  {/* Immediate child of gesture handler needs to be an Animated.View */}
620
636
  <Animated.View
621
637
  style={[
@@ -1,15 +1,12 @@
1
1
  import * as React from 'react';
2
2
  import { View } from 'react-native';
3
3
  import type {
4
- ComposedGesture,
5
- LongPressGesture,
6
- LongPressGestureConfig,
7
4
  PanGesture,
8
5
  PanGestureConfig,
9
6
  } from 'react-native-gesture-handler';
10
7
 
11
8
  type GestureDetectorProps = {
12
- gesture: ComposedGesture | PanGesture | undefined;
9
+ gesture: PanGesture | undefined;
13
10
  userSelect?: 'none' | 'auto' | 'text';
14
11
  children: React.ReactNode;
15
12
  };
@@ -30,20 +27,6 @@ export function usePanGesture(config: PanGestureConfig) {
30
27
  return undefined;
31
28
  }
32
29
 
33
- export function useLongPressGesture(config: LongPressGestureConfig) {
34
- React.useDebugValue(config);
35
-
36
- return undefined;
37
- }
38
-
39
- export function useSimultaneousGestures(
40
- ...gestures: (LongPressGesture | PanGesture | undefined)[]
41
- ) {
42
- React.useDebugValue(gestures);
43
-
44
- return undefined;
45
- }
46
-
47
30
  export type {
48
31
  PanGesture,
49
32
  PanGestureConfig,
@@ -5,7 +5,5 @@ export type {
5
5
  export {
6
6
  GestureDetector,
7
7
  GestureHandlerRootView,
8
- useLongPressGesture,
9
8
  usePanGesture,
10
- useSimultaneousGestures,
11
9
  } from 'react-native-gesture-handler';