react-native-drawer-layout 5.0.0-alpha.15 → 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.
@@ -43,7 +43,7 @@ export function Drawer({
43
43
  }
44
44
  });
45
45
  React.useEffect(() => {
46
- const element = drawerRef.current;
46
+ const element = typeof HTMLElement !== 'undefined' && drawerRef.current instanceof HTMLElement ? drawerRef.current : null;
47
47
  element?.addEventListener('transitionstart', onTransitionStartLatest);
48
48
  element?.addEventListener('transitionend', onTransitionEndLatest);
49
49
  return () => {
@@ -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","flattenedDrawerStyle","flatten","drawerWidth","progress","useEffect","set","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","Inert","enabled","mainContent","content","onPress","accessibilityLabel","Provider","value","container","inert","display","flexDirection","flexGrow","flexShrink","flexBasis","create","flex","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","flattenedDrawerStyle","flatten","drawerWidth","progress","useEffect","set","drawerRef","useRef","onTransitionStartLatest","e","target","currentTarget","propertyName","onTransitionEndLatest","element","HTMLElement","current","addEventListener","removeEventListener","isOpen","isRight","drawerTranslateX","drawerAnimatedStyle","transition","transform","contentTranslateX","contentAnimatedStyle","drawerElement","ref","styles","drawer","position","zIndex","width","right","left","Inert","enabled","mainContent","content","onPress","accessibilityLabel","Provider","value","container","inert","display","flexDirection","flexGrow","flexShrink","flexBasis","create","flex","top","bottom","maxWidth","backgroundColor"],"sourceRoot":"../../../src","sources":["views/Drawer.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,UAAU,EAAEC,IAAI,QAAwB,cAAc;AAC/D,OAAOC,iBAAiB,MAAM,qBAAqB;AAGnD,SAASC,qBAAqB,QAAQ,mCAAgC;AACtE,SAASC,iBAAiB,QAAQ,4BAAyB;AAC3D,SAASC,kBAAkB,QAAQ,gCAA6B;AAChE,SAASC,OAAO,QAAQ,WAAW;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAEpC,OAAO,SAASC,MAAMA,CAAC;EACrBC,SAAS,GAAG,KAAK;EACjBC,cAAc,GAAGD,SAAS,KAAK,KAAK,GAAG,OAAO,GAAG,MAAM;EACvDE,WAAW;EACXC,UAAU,GAAG,OAAO;EACpBC,OAAO;EACPC,iBAAiB;EACjBC,eAAe;EACfC,IAAI;EACJC,YAAY;EACZC,yBAAyB;EACzBC,mBAAmB;EACnBC,QAAQ;EACRC;AACW,CAAC,EAAE;EACd,MAAMC,oBAAoB,GAAGzB,UAAU,CAAC0B,OAAO,CAACZ,WAAW,CAAC,IAAI,CAAC,CAAC;EAClE,MAAMa,WAAW,GAAGvB,iBAAiB,CAAC;IACpCU,WAAW,EAAEW;EACf,CAAC,CAAC;EAEF,MAAMG,QAAQ,GAAGvB,kBAAkB,CAACc,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;EAEjDpB,KAAK,CAAC8B,SAAS,CAAC,MAAM;IACpBD,QAAQ,CAACE,GAAG,CAACX,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;EAC5B,CAAC,EAAE,CAACA,IAAI,EAAES,QAAQ,CAAC,CAAC;EAEpB,MAAMG,SAAS,GAAGhC,KAAK,CAACiC,MAAM,CAAkC,IAAI,CAAC;EAErE,MAAMC,uBAAuB,GAAG/B,iBAAiB,CAAEgC,CAAkB,IAAK;IACxE,IAAIA,CAAC,CAACC,MAAM,KAAKD,CAAC,CAACE,aAAa,IAAIF,CAAC,CAACG,YAAY,KAAK,WAAW,EAAE;MAClEpB,iBAAiB,GAAGE,IAAI,KAAK,KAAK,CAAC;IACrC;EACF,CAAC,CAAC;EAEF,MAAMmB,qBAAqB,GAAGpC,iBAAiB,CAAEgC,CAAkB,IAAK;IACtE,IAAIA,CAAC,CAACC,MAAM,KAAKD,CAAC,CAACE,aAAa,IAAIF,CAAC,CAACG,YAAY,KAAK,WAAW,EAAE;MAClEnB,eAAe,GAAGC,IAAI,KAAK,KAAK,CAAC;IACnC;EACF,CAAC,CAAC;EAEFpB,KAAK,CAAC8B,SAAS,CAAC,MAAM;IACpB,MAAMU,OAAO,GACX,OAAOC,WAAW,KAAK,WAAW,IAClCT,SAAS,CAACU,OAAO,YAAYD,WAAW,GACpCT,SAAS,CAACU,OAAO,GACjB,IAAI;IAEVF,OAAO,EAAEG,gBAAgB,CAAC,iBAAiB,EAAET,uBAAuB,CAAC;IACrEM,OAAO,EAAEG,gBAAgB,CAAC,eAAe,EAAEJ,qBAAqB,CAAC;IAEjE,OAAO,MAAM;MACXC,OAAO,EAAEI,mBAAmB,CAAC,iBAAiB,EAAEV,uBAAuB,CAAC;MACxEM,OAAO,EAAEI,mBAAmB,CAAC,eAAe,EAAEL,qBAAqB,CAAC;IACtE,CAAC;EACH,CAAC,EAAE,CAACA,qBAAqB,EAAEL,uBAAuB,CAAC,CAAC;EAEpD,MAAMW,MAAM,GAAG7B,UAAU,KAAK,WAAW,GAAG,IAAI,GAAGI,IAAI;EACvD,MAAM0B,OAAO,GAAGhC,cAAc,KAAK,OAAO;EAE1C,MAAMiC,gBAAgB;EACpB;EACA3B,IAAI,IAAIJ,UAAU,KAAK,MAAM,GACzBF,cAAc,KAAK,MAAM,GACvB,MAAM,GACN,OAAO,GACT,CAAC;EAEP,MAAMkC,mBAAmB,GACvBhC,UAAU,KAAK,WAAW,GACtB;IACEiC,UAAU,EAAE,gBAAgB;IAC5BC,SAAS,EAAE,cAAcH,gBAAgB;EAC3C,CAAC,GACD,IAAI;EAEV,MAAMI,iBAAiB,GAAG/B,IAAI;EAC1B;EACAJ,UAAU,KAAK,OAAO,GACpB,CAAC,GACD,QAAQY,WAAW,MAAMd,cAAc,KAAK,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,GAChE,CAAC;EAEL,MAAMsC,oBAAoB,GACxBpC,UAAU,KAAK,WAAW,GACtB;IACEiC,UAAU,EAAE,gBAAgB;IAC5BC,SAAS,EAAE,cAAcC,iBAAiB;EAC5C,CAAC,GACD,IAAI;EAEV,MAAME,aAAa,gBACjB5C,IAAA,CAACP,IAAI;IAEHoD,GAAG,EAAEtB,SAAU;IACfP,KAAK,EAAE,CACL8B,MAAM,CAACC,MAAM,EACb;MACEC,QAAQ,EAAEzC,UAAU,KAAK,WAAW,GAAG,UAAU,GAAG,UAAU;MAC9D0C,MAAM,EAAE1C,UAAU,KAAK,MAAM,GAAG,CAAC,CAAC,GAAG;IACvC,CAAC;IACD;IACA;MAAE2C,KAAK,EAAE/B;IAAY,CAAC;IACtB;IACAZ,UAAU,KAAK,WAAW;IACtB;IACA;IACA;IACAF,cAAc,KAAK,OAAO,GACxB;MAAE8C,KAAK,EAAE,QAAQhC,WAAW;IAAS,CAAC,GACtC;MAAEiC,IAAI,EAAE,QAAQjC,WAAW;IAAS,CAAC,GACvC,IAAI,EACRoB,mBAAmB,EACnBjC,WAAW,CACX;IAAAS,QAAA,eAEFf,IAAA,CAACqD,KAAK;MAACC,OAAO,EAAE/C,UAAU,KAAK,WAAW,IAAI,CAAC6B,MAAO;MAAArB,QAAA,EACnDD,mBAAmB,CAAC;IAAC,CACjB;EAAC,GAzBJ,QA0BA,CACP;EAED,MAAMyC,WAAW,gBACfrD,KAAA,CAACT,IAAI;IAAeuB,KAAK,EAAE,CAAC8B,MAAM,CAACU,OAAO,EAAEb,oBAAoB,CAAE;IAAA5B,QAAA,gBAChEf,IAAA,CAACqD,KAAK;MAACC,OAAO,EAAE/C,UAAU,KAAK,WAAW,IAAI6B,MAAO;MAAArB,QAAA,EAAEA;IAAQ,CAAQ,CAAC,EACvER,UAAU,KAAK,WAAW,gBACzBP,IAAA,CAACF,OAAO;MACNa,IAAI,EAAEA,IAAK;MACXS,QAAQ,EAAEA,QAAS;MACnBqC,OAAO,EAAEA,CAAA,KAAMjD,OAAO,CAAC,CAAE;MACzBQ,KAAK,EAAEJ,YAAa;MACpB8C,kBAAkB,EAAE7C;IAA0B,CAC/C,CAAC,GACA,IAAI;EAAA,GAVA,SAWJ,CACP;EAED,oBACEb,IAAA,CAACL,qBAAqB,CAACgE,QAAQ;IAACC,KAAK,EAAExC,QAAS;IAAAL,QAAA,eAC9Cb,KAAA,CAACT,IAAI;MAACuB,KAAK,EAAE,CAAC8B,MAAM,CAACe,SAAS,EAAE7C,KAAK,CAAE;MAAAD,QAAA,GACpC,CAACsB,OAAO,IAAIO,aAAa,EACzBW,WAAW,EACXlB,OAAO,IAAIO,aAAa;IAAA,CACrB;EAAC,CACuB,CAAC;AAErC;AAEA,SAASS,KAAKA,CAAC;EACbC,OAAO;EACPvC;AAIF,CAAC,EAAE;EACD,oBACEf,IAAA;IACE8D,KAAK,EAAER,OAAQ;IACf,eAAaA,OAAQ;IACrBtC,KAAK,EAAE;MACL+C,OAAO,EAAE,MAAM;MACfC,aAAa,EAAE,QAAQ;MACvBC,QAAQ,EAAE,CAAC;MACXC,UAAU,EAAE,CAAC;MACbC,SAAS,EAAE;IACb,CAAE;IAAApD,QAAA,EAEDA;EAAQ,CACN,CAAC;AAEV;AAEA,MAAM+B,MAAM,GAAGtD,UAAU,CAAC4E,MAAM,CAAC;EAC/BP,SAAS,EAAE;IACTQ,IAAI,EAAE,CAAC;IACPL,aAAa,EAAE;EACjB,CAAC;EACDjB,MAAM,EAAE;IACNuB,GAAG,EAAE,CAAC;IACNC,MAAM,EAAE,CAAC;IACTC,QAAQ,EAAE,MAAM;IAChBC,eAAe,EAAE;EACnB,CAAC;EACDjB,OAAO,EAAE;IACPa,IAAI,EAAE;EACR;AACF,CAAC,CAAC","ignoreList":[]}
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
 
3
3
  import * as React from 'react';
4
- import { Dimensions, I18nManager, Keyboard, Platform, StatusBar, StyleSheet, View } from 'react-native';
5
- import Animated, { interpolate, ReduceMotion, useAnimatedStyle, useDerivedValue, useSharedValue, withSpring } from 'react-native-reanimated';
4
+ import { Dimensions, I18nManager, Keyboard, Platform, StatusBar, StyleSheet } from 'react-native';
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";
@@ -15,6 +15,16 @@ const SWIPE_EDGE_WIDTH = 32;
15
15
  const SWIPE_MIN_OFFSET = 5;
16
16
  const SWIPE_MIN_DISTANCE = 60;
17
17
  const SWIPE_MIN_VELOCITY = 500;
18
+ const PEEK_DELAY = 160;
19
+ const PEEK_DISTANCE = 20;
20
+ const PROGRESS_EPSILON = 0.05;
21
+ const SPRING_CONFIG = {
22
+ stiffness: 500,
23
+ damping: 40,
24
+ mass: 1,
25
+ overshootClamping: true,
26
+ reduceMotion: ReduceMotion.Never
27
+ };
18
28
  const minmax = (value, start, end) => {
19
29
  'worklet';
20
30
 
@@ -143,6 +153,7 @@ export function Drawer({
143
153
  const touchStartX = useSharedValue(0);
144
154
  const touchX = useSharedValue(0);
145
155
  const isGestureActive = useSharedValue(false);
156
+ const isPeeking = useSharedValue(false);
146
157
  const onAnimationStart = useLatestCallback(open => {
147
158
  onTransitionStart?.(!open);
148
159
  });
@@ -158,6 +169,7 @@ export function Drawer({
158
169
 
159
170
  touchStartX.set(0);
160
171
  touchX.set(0);
172
+ isPeeking.set(false);
161
173
  const containerWidth = layoutWidth.get();
162
174
  const toValue = getDrawerTranslationX(open, containerWidth);
163
175
  if (translationX.get() === toValue) {
@@ -191,30 +203,61 @@ export function Drawer({
191
203
  } else {
192
204
  scheduleOnRN(onClose);
193
205
  }
194
- }, [touchStartX, touchX, layoutWidth, getDrawerTranslationX, translationX, animatingTo, onAnimationStart, onAnimationEnd, onOpen, onClose]);
206
+ }, [touchStartX, touchX, isPeeking, layoutWidth, getDrawerTranslationX, translationX, animatingTo, onAnimationStart, onAnimationEnd, onOpen, onClose]);
195
207
  React.useLayoutEffect(() => {
196
208
  toggleDrawer(open);
197
209
  }, [animatingTo, open, toggleDrawer]);
198
- const startX = useSharedValue(0);
199
210
  const panGestureConfig = React.useMemo(() => {
200
211
  const config = {
201
212
  onBegin: event => {
202
213
  'worklet';
203
214
 
204
- startX.set(translationX.get());
205
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)));
206
232
  },
207
- onActivate: () => {
233
+ onActivate: event => {
208
234
  'worklet';
209
235
 
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
+ }
251
+ isPeeking.set(false);
210
252
  isGestureActive.set(true);
211
253
  scheduleOnRN(onGestureBegin);
212
254
  },
213
255
  onUpdate: event => {
214
256
  'worklet';
215
257
 
258
+ isGestureActive.set(true);
216
259
  touchX.set(event.x);
217
- translationX.set(startX.get() + event.translationX);
260
+ translationX.set(translationX.get() + event.changeX);
218
261
  },
219
262
  onDeactivate: event => {
220
263
  'worklet';
@@ -233,13 +276,21 @@ export function Drawer({
233
276
  toggleDrawer(nextOpen, event.velocityX);
234
277
  scheduleOnRN(onGestureFinish);
235
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
+ },
236
287
  activeOffsetX: [-SWIPE_MIN_OFFSET, SWIPE_MIN_OFFSET],
237
288
  failOffsetY: [-SWIPE_MIN_OFFSET, SWIPE_MIN_OFFSET],
238
289
  hitSlop,
239
290
  enabled: drawerType !== 'permanent' && swipeEnabled
240
291
  };
241
292
  return configureGestureHandler?.(config) ?? config;
242
- }, [configureGestureHandler, drawerPosition, drawerType, hitSlop, isGestureActive, onGestureBegin, onGestureAbort, onGestureFinish, open, startX, 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]);
243
294
  const pan = usePanGesture(panGestureConfig);
244
295
  const translateX = useDerivedValue(() => {
245
296
  const drawerWidth = getDrawerWidthNative({
@@ -322,6 +373,30 @@ export function Drawer({
322
373
  const containerWidth = layoutWidth.get();
323
374
  return drawerType === 'permanent' ? 1 : interpolate(translateX.get(), [getDrawerTranslationX(false, containerWidth), getDrawerTranslationX(true, containerWidth)], [0, 1]);
324
375
  });
376
+ const contentAnimatedProps = useAnimatedProps(() => {
377
+ const hidden = drawerType !== 'permanent' && progress.value >= 1 - PROGRESS_EPSILON;
378
+ if (Platform.OS === 'android') {
379
+ const importantForAccessibility = hidden ? 'no-hide-descendants' : 'auto';
380
+ return {
381
+ importantForAccessibility
382
+ };
383
+ }
384
+ return {
385
+ accessibilityElementsHidden: hidden
386
+ };
387
+ }, [drawerType, progress]);
388
+ const drawerContentAnimatedProps = useAnimatedProps(() => {
389
+ const hidden = drawerType !== 'permanent' && progress.value < 1 - PROGRESS_EPSILON;
390
+ if (Platform.OS === 'android') {
391
+ const importantForAccessibility = hidden ? 'no-hide-descendants' : 'auto';
392
+ return {
393
+ importantForAccessibility
394
+ };
395
+ }
396
+ return {
397
+ accessibilityElementsHidden: hidden
398
+ };
399
+ }, [drawerType, progress]);
325
400
  return /*#__PURE__*/_jsx(GestureHandlerRootView, {
326
401
  style: [styles.container, style],
327
402
  children: /*#__PURE__*/_jsx(DrawerProgressContext.Provider, {
@@ -338,8 +413,8 @@ export function Drawer({
338
413
  ref: contentRef,
339
414
  onLayout: onLayout,
340
415
  style: [styles.content, contentAnimatedStyle],
341
- children: [/*#__PURE__*/_jsx(View, {
342
- "aria-hidden": isOpen && drawerType !== 'permanent',
416
+ children: [/*#__PURE__*/_jsx(Animated.View, {
417
+ animatedProps: contentAnimatedProps,
343
418
  style: styles.content,
344
419
  children: children
345
420
  }), drawerType !== 'permanent' ? /*#__PURE__*/_jsx(Overlay, {
@@ -350,6 +425,7 @@ export function Drawer({
350
425
  accessibilityLabel: overlayAccessibilityLabel
351
426
  }) : null]
352
427
  }), /*#__PURE__*/_jsx(Animated.View, {
428
+ animatedProps: drawerContentAnimatedProps,
353
429
  removeClippedSubviews: Platform.OS !== 'ios',
354
430
  style: [styles.drawer, {
355
431
  position: drawerType === 'permanent' ? 'relative' : 'absolute'
@@ -1 +1 @@
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","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","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":[]}
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":[]}
@@ -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,qBA+Hb"}
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,qBAmIb"}
@@ -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;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,qBAsfb"}
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"}
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.15",
4
+ "version": "5.0.0-alpha.17",
5
5
  "keywords": [
6
6
  "react-native-component",
7
7
  "react-component",
@@ -51,8 +51,8 @@
51
51
  "react-native": "0.85.3",
52
52
  "react-native-builder-bob": "^0.43.0",
53
53
  "react-native-gesture-handler": "^3.0.2",
54
- "react-native-reanimated": "4.3.1",
55
- "react-native-worklets": "0.8.3",
54
+ "react-native-reanimated": "4.5.3",
55
+ "react-native-worklets": "0.11.3",
56
56
  "typescript": "^6.0.3"
57
57
  },
58
58
  "peerDependencies": {
@@ -80,5 +80,5 @@
80
80
  ]
81
81
  ]
82
82
  },
83
- "gitHead": "f8dd4e8fa7b0c7ec159f9f58ab31660aca8f1bf6"
83
+ "gitHead": "b480c645f83ee32b649ed398bb03c75576bf6547"
84
84
  }
@@ -8,13 +8,17 @@ import {
8
8
  StatusBar,
9
9
  StyleSheet,
10
10
  View,
11
+ type ViewProps,
11
12
  } from 'react-native';
12
13
  import Animated, {
14
+ cancelAnimation,
13
15
  interpolate,
14
16
  ReduceMotion,
17
+ useAnimatedProps,
15
18
  useAnimatedStyle,
16
19
  useDerivedValue,
17
20
  useSharedValue,
21
+ withDelay,
18
22
  withSpring,
19
23
  } from 'react-native-reanimated';
20
24
  import { scheduleOnRN } from 'react-native-worklets';
@@ -36,6 +40,17 @@ const SWIPE_EDGE_WIDTH = 32;
36
40
  const SWIPE_MIN_OFFSET = 5;
37
41
  const SWIPE_MIN_DISTANCE = 60;
38
42
  const SWIPE_MIN_VELOCITY = 500;
43
+ const PEEK_DELAY = 160;
44
+ const PEEK_DISTANCE = 20;
45
+ const PROGRESS_EPSILON = 0.05;
46
+
47
+ const SPRING_CONFIG = {
48
+ stiffness: 500,
49
+ damping: 40,
50
+ mass: 1,
51
+ overshootClamping: true,
52
+ reduceMotion: ReduceMotion.Never,
53
+ };
39
54
 
40
55
  const minmax = (value: number, start: number, end: number) => {
41
56
  'worklet';
@@ -147,7 +162,7 @@ export function Drawer({
147
162
  getDrawerTranslationX(open, initialWidth)
148
163
  );
149
164
 
150
- const contentRef = React.useRef<View>(null);
165
+ const contentRef = React.useRef<React.ComponentRef<typeof View>>(null);
151
166
 
152
167
  const updateLayout = useLatestCallback((width: number) => {
153
168
  layoutWidth.set(width);
@@ -198,6 +213,7 @@ export function Drawer({
198
213
  const touchStartX = useSharedValue(0);
199
214
  const touchX = useSharedValue(0);
200
215
  const isGestureActive = useSharedValue(false);
216
+ const isPeeking = useSharedValue(false);
201
217
 
202
218
  const onAnimationStart = useLatestCallback((open: boolean) => {
203
219
  onTransitionStart?.(!open);
@@ -221,6 +237,7 @@ export function Drawer({
221
237
 
222
238
  touchStartX.set(0);
223
239
  touchX.set(0);
240
+ isPeeking.set(false);
224
241
 
225
242
  const containerWidth = layoutWidth.get();
226
243
  const toValue = getDrawerTranslationX(open, containerWidth);
@@ -274,6 +291,7 @@ export function Drawer({
274
291
  [
275
292
  touchStartX,
276
293
  touchX,
294
+ isPeeking,
277
295
  layoutWidth,
278
296
  getDrawerTranslationX,
279
297
  translationX,
@@ -289,27 +307,80 @@ export function Drawer({
289
307
  toggleDrawer(open);
290
308
  }, [animatingTo, open, toggleDrawer]);
291
309
 
292
- const startX = useSharedValue(0);
293
-
294
310
  const panGestureConfig = React.useMemo(() => {
295
311
  const config: PanGestureConfig = {
296
312
  onBegin: (event) => {
297
313
  'worklet';
298
314
 
299
- startX.set(translationX.get());
300
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
+ );
301
348
  },
302
- onActivate: () => {
349
+ onActivate: (event) => {
303
350
  'worklet';
304
351
 
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
+
373
+ isPeeking.set(false);
305
374
  isGestureActive.set(true);
375
+
306
376
  scheduleOnRN(onGestureBegin);
307
377
  },
308
378
  onUpdate: (event) => {
309
379
  'worklet';
310
380
 
381
+ isGestureActive.set(true);
311
382
  touchX.set(event.x);
312
- translationX.set(startX.get() + event.translationX);
383
+ translationX.set(translationX.get() + event.changeX);
313
384
  },
314
385
  onDeactivate: (event) => {
315
386
  'worklet';
@@ -339,6 +410,20 @@ export function Drawer({
339
410
  toggleDrawer(nextOpen, event.velocityX);
340
411
  scheduleOnRN(onGestureFinish);
341
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
+ },
342
427
  activeOffsetX: [-SWIPE_MIN_OFFSET, SWIPE_MIN_OFFSET],
343
428
  failOffsetY: [-SWIPE_MIN_OFFSET, SWIPE_MIN_OFFSET],
344
429
  hitSlop,
@@ -350,13 +435,15 @@ export function Drawer({
350
435
  configureGestureHandler,
351
436
  drawerPosition,
352
437
  drawerType,
438
+ getDrawerTranslationX,
353
439
  hitSlop,
354
440
  isGestureActive,
441
+ isPeeking,
442
+ layoutWidth,
355
443
  onGestureBegin,
356
444
  onGestureAbort,
357
445
  onGestureFinish,
358
446
  open,
359
- startX,
360
447
  swipeEnabled,
361
448
  swipeMinDistance,
362
449
  swipeMinVelocity,
@@ -512,6 +599,34 @@ export function Drawer({
512
599
  );
513
600
  });
514
601
 
602
+ const contentAnimatedProps = useAnimatedProps<ViewProps>(() => {
603
+ const hidden =
604
+ drawerType !== 'permanent' && progress.value >= 1 - PROGRESS_EPSILON;
605
+
606
+ if (Platform.OS === 'android') {
607
+ const importantForAccessibility: ViewProps['importantForAccessibility'] =
608
+ hidden ? 'no-hide-descendants' : 'auto';
609
+
610
+ return { importantForAccessibility };
611
+ }
612
+
613
+ return { accessibilityElementsHidden: hidden };
614
+ }, [drawerType, progress]);
615
+
616
+ const drawerContentAnimatedProps = useAnimatedProps<ViewProps>(() => {
617
+ const hidden =
618
+ drawerType !== 'permanent' && progress.value < 1 - PROGRESS_EPSILON;
619
+
620
+ if (Platform.OS === 'android') {
621
+ const importantForAccessibility: ViewProps['importantForAccessibility'] =
622
+ hidden ? 'no-hide-descendants' : 'auto';
623
+
624
+ return { importantForAccessibility };
625
+ }
626
+
627
+ return { accessibilityElementsHidden: hidden };
628
+ }, [drawerType, progress]);
629
+
515
630
  return (
516
631
  <GestureHandlerRootView style={[styles.container, style]}>
517
632
  <DrawerProgressContext.Provider value={progress}>
@@ -537,12 +652,12 @@ export function Drawer({
537
652
  onLayout={onLayout}
538
653
  style={[styles.content, contentAnimatedStyle]}
539
654
  >
540
- <View
541
- aria-hidden={isOpen && drawerType !== 'permanent'}
655
+ <Animated.View
656
+ animatedProps={contentAnimatedProps}
542
657
  style={styles.content}
543
658
  >
544
659
  {children}
545
- </View>
660
+ </Animated.View>
546
661
  {drawerType !== 'permanent' ? (
547
662
  <Overlay
548
663
  open={open}
@@ -554,6 +669,7 @@ export function Drawer({
554
669
  ) : null}
555
670
  </Animated.View>
556
671
  <Animated.View
672
+ animatedProps={drawerContentAnimatedProps}
557
673
  removeClippedSubviews={Platform.OS !== 'ios'}
558
674
  style={[
559
675
  styles.drawer,
@@ -34,7 +34,7 @@ export function Drawer({
34
34
  progress.set(open ? 1 : 0);
35
35
  }, [open, progress]);
36
36
 
37
- const drawerRef = React.useRef<View>(null);
37
+ const drawerRef = React.useRef<React.ComponentRef<typeof View>>(null);
38
38
 
39
39
  const onTransitionStartLatest = useLatestCallback((e: TransitionEvent) => {
40
40
  if (e.target === e.currentTarget && e.propertyName === 'transform') {
@@ -49,7 +49,11 @@ export function Drawer({
49
49
  });
50
50
 
51
51
  React.useEffect(() => {
52
- const element = drawerRef.current as HTMLDivElement | null;
52
+ const element =
53
+ typeof HTMLElement !== 'undefined' &&
54
+ drawerRef.current instanceof HTMLElement
55
+ ? drawerRef.current
56
+ : null;
53
57
 
54
58
  element?.addEventListener('transitionstart', onTransitionStartLatest);
55
59
  element?.addEventListener('transitionend', onTransitionEndLatest);