react-native-drawer-layout 3.1.0 → 3.2.0

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 (78) hide show
  1. package/lib/commonjs/index.js +8 -9
  2. package/lib/commonjs/index.js.map +1 -1
  3. package/lib/commonjs/utils/DrawerGestureContext.js +3 -3
  4. package/lib/commonjs/utils/DrawerGestureContext.js.map +1 -1
  5. package/lib/commonjs/utils/DrawerProgressContext.js +3 -3
  6. package/lib/commonjs/utils/DrawerProgressContext.js.map +1 -1
  7. package/lib/commonjs/utils/useDrawerProgress.js +3 -4
  8. package/lib/commonjs/utils/useDrawerProgress.js.map +1 -1
  9. package/lib/commonjs/views/Drawer.js +2 -2
  10. package/lib/commonjs/views/Drawer.js.map +1 -1
  11. package/lib/commonjs/views/GestureHandler.android.js.map +1 -1
  12. package/lib/commonjs/views/GestureHandler.ios.js.map +1 -1
  13. package/lib/commonjs/views/GestureHandler.js.map +1 -1
  14. package/lib/commonjs/views/GestureHandlerNative.js +2 -3
  15. package/lib/commonjs/views/GestureHandlerNative.js.map +1 -1
  16. package/lib/commonjs/views/legacy/Drawer.js +232 -199
  17. package/lib/commonjs/views/legacy/Drawer.js.map +1 -1
  18. package/lib/commonjs/views/legacy/Overlay.js +2 -3
  19. package/lib/commonjs/views/legacy/Overlay.js.map +1 -1
  20. package/lib/commonjs/views/modern/Drawer.js +31 -10
  21. package/lib/commonjs/views/modern/Drawer.js.map +1 -1
  22. package/lib/commonjs/views/modern/Overlay.js +2 -3
  23. package/lib/commonjs/views/modern/Overlay.js.map +1 -1
  24. package/lib/module/index.js +4 -4
  25. package/lib/module/index.js.map +1 -1
  26. package/lib/module/utils/DrawerGestureContext.js +1 -1
  27. package/lib/module/utils/DrawerGestureContext.js.map +1 -1
  28. package/lib/module/utils/DrawerProgressContext.js +1 -1
  29. package/lib/module/utils/DrawerProgressContext.js.map +1 -1
  30. package/lib/module/utils/useDrawerProgress.js +2 -2
  31. package/lib/module/utils/useDrawerProgress.js.map +1 -1
  32. package/lib/module/views/Drawer.js +2 -2
  33. package/lib/module/views/Drawer.js.map +1 -1
  34. package/lib/module/views/GestureHandler.android.js.map +1 -1
  35. package/lib/module/views/GestureHandler.ios.js.map +1 -1
  36. package/lib/module/views/GestureHandler.js.map +1 -1
  37. package/lib/module/views/GestureHandlerNative.js +1 -1
  38. package/lib/module/views/GestureHandlerNative.js.map +1 -1
  39. package/lib/module/views/legacy/Drawer.js +229 -196
  40. package/lib/module/views/legacy/Drawer.js.map +1 -1
  41. package/lib/module/views/legacy/Overlay.js +1 -2
  42. package/lib/module/views/legacy/Overlay.js.map +1 -1
  43. package/lib/module/views/modern/Drawer.js +29 -8
  44. package/lib/module/views/modern/Drawer.js.map +1 -1
  45. package/lib/module/views/modern/Overlay.js +1 -2
  46. package/lib/module/views/modern/Overlay.js.map +1 -1
  47. package/lib/typescript/src/index.d.ts +4 -4
  48. package/lib/typescript/src/index.d.ts.map +1 -1
  49. package/lib/typescript/src/types.d.ts +20 -0
  50. package/lib/typescript/src/types.d.ts.map +1 -1
  51. package/lib/typescript/src/utils/DrawerGestureContext.d.ts +1 -2
  52. package/lib/typescript/src/utils/DrawerGestureContext.d.ts.map +1 -1
  53. package/lib/typescript/src/utils/DrawerProgressContext.d.ts +1 -2
  54. package/lib/typescript/src/utils/DrawerProgressContext.d.ts.map +1 -1
  55. package/lib/typescript/src/utils/useDrawerProgress.d.ts +1 -1
  56. package/lib/typescript/src/utils/useDrawerProgress.d.ts.map +1 -1
  57. package/lib/typescript/src/views/Drawer.d.ts +1 -1
  58. package/lib/typescript/src/views/Drawer.d.ts.map +1 -1
  59. package/lib/typescript/src/views/legacy/Drawer.d.ts +1 -1
  60. package/lib/typescript/src/views/legacy/Drawer.d.ts.map +1 -1
  61. package/lib/typescript/src/views/legacy/Overlay.d.ts +1 -2
  62. package/lib/typescript/src/views/legacy/Overlay.d.ts.map +1 -1
  63. package/lib/typescript/src/views/modern/Drawer.d.ts +1 -1
  64. package/lib/typescript/src/views/modern/Drawer.d.ts.map +1 -1
  65. package/lib/typescript/src/views/modern/Overlay.d.ts +1 -2
  66. package/lib/typescript/src/views/modern/Overlay.d.ts.map +1 -1
  67. package/package.json +6 -3
  68. package/src/index.tsx +4 -4
  69. package/src/types.tsx +25 -0
  70. package/src/utils/DrawerGestureContext.tsx +2 -1
  71. package/src/utils/DrawerProgressContext.tsx +1 -1
  72. package/src/utils/useDrawerProgress.tsx +2 -2
  73. package/src/views/Drawer.tsx +4 -4
  74. package/src/views/GestureHandlerNative.tsx +1 -1
  75. package/src/views/legacy/Drawer.tsx +24 -3
  76. package/src/views/legacy/Overlay.tsx +1 -3
  77. package/src/views/modern/Drawer.tsx +55 -16
  78. package/src/views/modern/Overlay.tsx +1 -3
@@ -2,16 +2,17 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
2
2
  import * as React from 'react';
3
3
  import { I18nManager, InteractionManager, Keyboard, Platform, StatusBar, StyleSheet, View } from 'react-native';
4
4
  import Animated, { interpolate, runOnJS, useAnimatedGestureHandler, useAnimatedStyle, useDerivedValue, useSharedValue, withSpring } from 'react-native-reanimated';
5
+ import useLatestCallback from 'use-latest-callback';
5
6
  import { DEFAULT_DRAWER_WIDTH, SWIPE_MIN_DISTANCE, SWIPE_MIN_OFFSET, SWIPE_MIN_VELOCITY } from '../../constants';
6
- import DrawerProgressContext from '../../utils/DrawerProgressContext';
7
+ import { DrawerProgressContext } from '../../utils/DrawerProgressContext';
7
8
  import { GestureState, PanGestureHandler } from '../GestureHandler';
8
- import Overlay from './Overlay';
9
+ import { Overlay } from './Overlay';
9
10
  const minmax = (value, start, end) => {
10
11
  'worklet';
11
12
 
12
13
  return Math.min(Math.max(value, start), end);
13
14
  };
14
- export default function Drawer(_ref) {
15
+ export function Drawer(_ref) {
15
16
  let {
16
17
  layout,
17
18
  drawerPosition,
@@ -22,6 +23,11 @@ export default function Drawer(_ref) {
22
23
  keyboardDismissMode,
23
24
  onClose,
24
25
  onOpen,
26
+ onGestureStart,
27
+ onGestureCancel,
28
+ onGestureEnd,
29
+ onTransitionStart,
30
+ onTransitionEnd,
25
31
  open,
26
32
  overlayStyle,
27
33
  overlayAccessibilityLabel,
@@ -81,12 +87,14 @@ export default function Drawer(_ref) {
81
87
  Keyboard.dismiss();
82
88
  }
83
89
  };
84
- const onGestureStart = () => {
90
+ const onGestureBegin = () => {
91
+ onGestureStart === null || onGestureStart === void 0 ? void 0 : onGestureStart();
85
92
  startInteraction();
86
93
  hideKeyboard();
87
94
  hideStatusBar(true);
88
95
  };
89
96
  const onGestureFinish = () => {
97
+ onGestureEnd === null || onGestureEnd === void 0 ? void 0 : onGestureEnd();
90
98
  endInteraction();
91
99
  };
92
100
 
@@ -106,10 +114,20 @@ export default function Drawer(_ref) {
106
114
  const touchX = useSharedValue(0);
107
115
  const translationX = useSharedValue(getDrawerTranslationX(open));
108
116
  const gestureState = useSharedValue(GestureState.UNDETERMINED);
117
+ const handleAnimationStart = useLatestCallback(open => {
118
+ onTransitionStart === null || onTransitionStart === void 0 ? void 0 : onTransitionStart(!open);
119
+ });
120
+ const handleAnimationEnd = useLatestCallback((open, finished) => {
121
+ if (!finished) return;
122
+ onTransitionEnd === null || onTransitionEnd === void 0 ? void 0 : onTransitionEnd(!open);
123
+ });
109
124
  const toggleDrawer = React.useCallback((open, velocity) => {
110
125
  'worklet';
111
126
 
112
127
  const translateX = getDrawerTranslationX(open);
128
+ if (velocity === undefined) {
129
+ runOnJS(handleAnimationStart)(open);
130
+ }
113
131
  touchStartX.value = 0;
114
132
  touchX.value = 0;
115
133
  translationX.value = withSpring(translateX, {
@@ -120,13 +138,13 @@ export default function Drawer(_ref) {
120
138
  overshootClamping: true,
121
139
  restDisplacementThreshold: 0.01,
122
140
  restSpeedThreshold: 0.01
123
- });
141
+ }, finished => runOnJS(handleAnimationEnd)(open, finished));
124
142
  if (open) {
125
143
  runOnJS(onOpen)();
126
144
  } else {
127
145
  runOnJS(onClose)();
128
146
  }
129
- }, [getDrawerTranslationX, onClose, onOpen, touchStartX, touchX, translationX]);
147
+ }, [getDrawerTranslationX, handleAnimationEnd, handleAnimationStart, onClose, onOpen, touchStartX, touchX, translationX]);
130
148
  React.useEffect(() => toggleDrawer(open), [open, toggleDrawer]);
131
149
  const onGestureEvent = useAnimatedGestureHandler({
132
150
  onStart: (event, ctx) => {
@@ -135,17 +153,20 @@ export default function Drawer(_ref) {
135
153
  gestureState.value = event.state;
136
154
  touchStartX.value = event.x;
137
155
  },
156
+ onCancel: () => {
157
+ runOnJS(() => onGestureCancel === null || onGestureCancel === void 0 ? void 0 : onGestureCancel())();
158
+ },
138
159
  onActive: (event, ctx) => {
139
160
  touchX.value = event.x;
140
161
  translationX.value = ctx.startX + event.translationX;
141
162
  gestureState.value = event.state;
142
163
 
143
164
  // onStart will _always_ be called, even when the activation
144
- // criteria isn't met yet. This makes sure onGestureStart is only
165
+ // criteria isn't met yet. This makes sure onGestureBegin is only
145
166
  // called when the criteria is really met.
146
167
  if (!ctx.hasCalledOnStart) {
147
168
  ctx.hasCalledOnStart = true;
148
- runOnJS(onGestureStart)();
169
+ runOnJS(onGestureBegin)();
149
170
  }
150
171
  },
151
172
  onEnd: event => {
@@ -1 +1 @@
1
- {"version":3,"names":["React","I18nManager","InteractionManager","Keyboard","Platform","StatusBar","StyleSheet","View","Animated","interpolate","runOnJS","useAnimatedGestureHandler","useAnimatedStyle","useDerivedValue","useSharedValue","withSpring","DEFAULT_DRAWER_WIDTH","SWIPE_MIN_DISTANCE","SWIPE_MIN_OFFSET","SWIPE_MIN_VELOCITY","DrawerProgressContext","GestureState","PanGestureHandler","Overlay","minmax","value","start","end","Math","min","max","Drawer","layout","drawerPosition","drawerStyle","drawerType","gestureHandlerProps","hideStatusBarOnOpen","keyboardDismissMode","onClose","onOpen","open","overlayStyle","overlayAccessibilityLabel","statusBarAnimation","swipeEnabled","swipeEdgeWidth","swipeMinDistance","swipeMinVelocity","renderDrawerContent","children","getDrawerWidth","width","flatten","endsWith","percentage","Number","replace","isFinite","drawerWidth","isOpen","isRight","getDrawerTranslationX","useCallback","hideStatusBar","hide","setHidden","useEffect","interactionHandleRef","useRef","startInteraction","current","createInteractionHandle","endInteraction","clearInteractionHandle","hideKeyboard","dismiss","onGestureStart","onGestureFinish","hitSlop","right","undefined","left","touchStartX","touchX","translationX","gestureState","UNDETERMINED","toggleDrawer","velocity","translateX","stiffness","damping","mass","overshootClamping","restDisplacementThreshold","restSpeedThreshold","onGestureEvent","onStart","event","ctx","hasCalledOnStart","startX","state","x","onActive","onEnd","nextOpen","abs","velocityX","onFinish","touchDistance","ACTIVE","isRTL","getConstants","drawerAnimatedStyle","distanceFromEdge","transform","contentAnimatedStyle","progress","styles","main","flexDirection","content","OS","container","position","zIndex","create","top","bottom","maxWidth","flex","select","web","default","overflow"],"sourceRoot":"../../src","sources":["Drawer.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["React","I18nManager","InteractionManager","Keyboard","Platform","StatusBar","StyleSheet","View","Animated","interpolate","runOnJS","useAnimatedGestureHandler","useAnimatedStyle","useDerivedValue","useSharedValue","withSpring","useLatestCallback","DEFAULT_DRAWER_WIDTH","SWIPE_MIN_DISTANCE","SWIPE_MIN_OFFSET","SWIPE_MIN_VELOCITY","DrawerProgressContext","GestureState","PanGestureHandler","Overlay","minmax","value","start","end","Math","min","max","Drawer","layout","drawerPosition","drawerStyle","drawerType","gestureHandlerProps","hideStatusBarOnOpen","keyboardDismissMode","onClose","onOpen","onGestureStart","onGestureCancel","onGestureEnd","onTransitionStart","onTransitionEnd","open","overlayStyle","overlayAccessibilityLabel","statusBarAnimation","swipeEnabled","swipeEdgeWidth","swipeMinDistance","swipeMinVelocity","renderDrawerContent","children","getDrawerWidth","width","flatten","endsWith","percentage","Number","replace","isFinite","drawerWidth","isOpen","isRight","getDrawerTranslationX","useCallback","hideStatusBar","hide","setHidden","useEffect","interactionHandleRef","useRef","startInteraction","current","createInteractionHandle","endInteraction","clearInteractionHandle","hideKeyboard","dismiss","onGestureBegin","onGestureFinish","hitSlop","right","undefined","left","touchStartX","touchX","translationX","gestureState","UNDETERMINED","handleAnimationStart","handleAnimationEnd","finished","toggleDrawer","velocity","translateX","stiffness","damping","mass","overshootClamping","restDisplacementThreshold","restSpeedThreshold","onGestureEvent","onStart","event","ctx","hasCalledOnStart","startX","state","x","onCancel","onActive","onEnd","nextOpen","abs","velocityX","onFinish","touchDistance","ACTIVE","isRTL","getConstants","drawerAnimatedStyle","distanceFromEdge","transform","contentAnimatedStyle","progress","styles","main","flexDirection","content","OS","container","position","zIndex","create","top","bottom","maxWidth","flex","select","web","default","overflow"],"sourceRoot":"../../../../src","sources":["views/modern/Drawer.tsx"],"mappings":"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"}
@@ -3,7 +3,7 @@ import * as React from 'react';
3
3
  import { Platform, Pressable, StyleSheet } from 'react-native';
4
4
  import Animated, { useAnimatedProps, useAnimatedStyle } from 'react-native-reanimated';
5
5
  const PROGRESS_EPSILON = 0.05;
6
- const Overlay = /*#__PURE__*/React.forwardRef(function Overlay(_ref, ref) {
6
+ export const Overlay = /*#__PURE__*/React.forwardRef(function Overlay(_ref, ref) {
7
7
  let {
8
8
  progress,
9
9
  onPress,
@@ -56,5 +56,4 @@ const styles = StyleSheet.create({
56
56
  pointerEvents: 'auto'
57
57
  }
58
58
  });
59
- export default Overlay;
60
59
  //# sourceMappingURL=Overlay.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","Platform","Pressable","StyleSheet","Animated","useAnimatedProps","useAnimatedStyle","PROGRESS_EPSILON","Overlay","forwardRef","ref","progress","onPress","style","accessibilityLabel","props","animatedStyle","opacity","value","zIndex","animatedProps","active","pointerEvents","accessibilityElementsHidden","importantForAccessibility","styles","overlay","overlayStyle","pressable","select","web","WebkitTapHighlightColor","default","create","absoluteFillObject","backgroundColor","flex"],"sourceRoot":"../../src","sources":["Overlay.tsx"],"mappings":";AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,QAAQ,EAAEC,SAAS,EAAEC,UAAU,QAAQ,cAAc;AAC9D,OAAOC,QAAQ,IACbC,gBAAgB,EAChBC,gBAAgB,QACX,yBAAyB;AAEhC,MAAMC,gBAAgB,GAAG,IAAI;AAQ7B,MAAMC,OAAO,gBAAGR,KAAK,CAACS,UAAU,CAAC,SAASD,OAAO,OAQ/CE,GAA6B,EAC7B;EAAA,IARA;IACEC,QAAQ;IACRC,OAAO;IACPC,KAAK;IACLC,kBAAkB,GAAG,cAAc;IACnC,GAAGC;EACE,CAAC;EAGR,MAAMC,aAAa,GAAGV,gBAAgB,CAAC,MAAM;IAC3C,OAAO;MACLW,OAAO,EAAEN,QAAQ,CAACO,KAAK;MACvB;MACA;MACAC,MAAM,EAAER,QAAQ,CAACO,KAAK,GAAGX,gBAAgB,GAAG,CAAC,GAAG,CAAC;IACnD,CAAC;EACH,CAAC,CAAC;EAEF,MAAMa,aAAa,GAAGf,gBAAgB,CAAC,MAAM;IAC3C,MAAMgB,MAAM,GAAGV,QAAQ,CAACO,KAAK,GAAGX,gBAAgB;IAEhD,OAAO;MACLe,aAAa,EAAED,MAAM,GAAG,MAAM,GAAG,MAAM;MACvCE,2BAA2B,EAAE,CAACF,MAAM;MACpCG,yBAAyB,EAAEH,MAAM,GAAG,MAAM,GAAG;IAC/C,CAAC;EACH,CAAC,CAAC;EAEF,oBACE,oBAAC,QAAQ,CAAC,IAAI,eACRN,KAAK;IACT,GAAG,EAAEL,GAAI;IACT,KAAK,EAAE,CAACe,MAAM,CAACC,OAAO,EAAEC,YAAY,EAAEX,aAAa,EAAEH,KAAK,CAAE;IAC5D,aAAa,EAAEO;EAAc,iBAE7B,oBAAC,SAAS;IACR,OAAO,EAAER,OAAQ;IACjB,KAAK,EAAEa,MAAM,CAACG,SAAU;IACxB,iBAAiB,EAAC,QAAQ;IAC1B,kBAAkB,EAAEd;EAAmB,EACvC,CACY;AAEpB,CAAC,CAAC;AAEF,MAAMa,YAAY,GAAG1B,QAAQ,CAAC4B,MAAM,CAAyB;EAC3DC,GAAG,EAAE;IACH;IACA;IACAC,uBAAuB,EAAE;EAC3B,CAAC;EACDC,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEF,MAAMP,MAAM,GAAGtB,UAAU,CAAC8B,MAAM,CAAC;EAC/BP,OAAO,EAAE;IACP,GAAGvB,UAAU,CAAC+B,kBAAkB;IAChCC,eAAe,EAAE;EACnB,CAAC;EACDP,SAAS,EAAE;IACTQ,IAAI,EAAE,CAAC;IACPd,aAAa,EAAE;EACjB;AACF,CAAC,CAAC;AAEF,eAAed,OAAO"}
1
+ {"version":3,"names":["React","Platform","Pressable","StyleSheet","Animated","useAnimatedProps","useAnimatedStyle","PROGRESS_EPSILON","Overlay","forwardRef","ref","progress","onPress","style","accessibilityLabel","props","animatedStyle","opacity","value","zIndex","animatedProps","active","pointerEvents","accessibilityElementsHidden","importantForAccessibility","styles","overlay","overlayStyle","pressable","select","web","WebkitTapHighlightColor","default","create","absoluteFillObject","backgroundColor","flex"],"sourceRoot":"../../../../src","sources":["views/modern/Overlay.tsx"],"mappings":";AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,QAAQ,EAAEC,SAAS,EAAEC,UAAU,QAAQ,cAAc;AAC9D,OAAOC,QAAQ,IACbC,gBAAgB,EAChBC,gBAAgB,QACX,yBAAyB;AAEhC,MAAMC,gBAAgB,GAAG,IAAI;AAQ7B,OAAO,MAAMC,OAAO,gBAAGR,KAAK,CAACS,UAAU,CAAC,SAASD,OAAO,OAQtDE,GAA6B,EAC7B;EAAA,IARA;IACEC,QAAQ;IACRC,OAAO;IACPC,KAAK;IACLC,kBAAkB,GAAG,cAAc;IACnC,GAAGC;EACE,CAAC;EAGR,MAAMC,aAAa,GAAGV,gBAAgB,CAAC,MAAM;IAC3C,OAAO;MACLW,OAAO,EAAEN,QAAQ,CAACO,KAAK;MACvB;MACA;MACAC,MAAM,EAAER,QAAQ,CAACO,KAAK,GAAGX,gBAAgB,GAAG,CAAC,GAAG,CAAC;IACnD,CAAC;EACH,CAAC,CAAC;EAEF,MAAMa,aAAa,GAAGf,gBAAgB,CAAC,MAAM;IAC3C,MAAMgB,MAAM,GAAGV,QAAQ,CAACO,KAAK,GAAGX,gBAAgB;IAEhD,OAAO;MACLe,aAAa,EAAED,MAAM,GAAG,MAAM,GAAG,MAAM;MACvCE,2BAA2B,EAAE,CAACF,MAAM;MACpCG,yBAAyB,EAAEH,MAAM,GAAG,MAAM,GAAG;IAC/C,CAAC;EACH,CAAC,CAAC;EAEF,oBACE,oBAAC,QAAQ,CAAC,IAAI,eACRN,KAAK;IACT,GAAG,EAAEL,GAAI;IACT,KAAK,EAAE,CAACe,MAAM,CAACC,OAAO,EAAEC,YAAY,EAAEX,aAAa,EAAEH,KAAK,CAAE;IAC5D,aAAa,EAAEO;EAAc,iBAE7B,oBAAC,SAAS;IACR,OAAO,EAAER,OAAQ;IACjB,KAAK,EAAEa,MAAM,CAACG,SAAU;IACxB,iBAAiB,EAAC,QAAQ;IAC1B,kBAAkB,EAAEd;EAAmB,EACvC,CACY;AAEpB,CAAC,CAAC;AAEF,MAAMa,YAAY,GAAG1B,QAAQ,CAAC4B,MAAM,CAAyB;EAC3DC,GAAG,EAAE;IACH;IACA;IACAC,uBAAuB,EAAE;EAC3B,CAAC;EACDC,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEF,MAAMP,MAAM,GAAGtB,UAAU,CAAC8B,MAAM,CAAC;EAC/BP,OAAO,EAAE;IACP,GAAGvB,UAAU,CAAC+B,kBAAkB;IAChCC,eAAe,EAAE;EACnB,CAAC;EACDP,SAAS,EAAE;IACTQ,IAAI,EAAE,CAAC;IACPd,aAAa,EAAE;EACjB;AACF,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
- export { default as DrawerGestureContext } from './utils/DrawerGestureContext';
2
- export { default as DrawerProgressContext } from './utils/DrawerProgressContext';
3
- export { default as useDrawerProgress } from './utils/useDrawerProgress';
4
- export { default as Drawer } from './views/Drawer';
1
+ export { DrawerGestureContext } from './utils/DrawerGestureContext';
2
+ export { DrawerProgressContext } from './utils/DrawerProgressContext';
3
+ export { useDrawerProgress } from './utils/useDrawerProgress';
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,OAAO,IAAI,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,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,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"}
@@ -18,6 +18,26 @@ export type DrawerProps = {
18
18
  * Callback which is called when the drawer is closed.
19
19
  */
20
20
  onClose: () => void;
21
+ /**
22
+ * Callback which is called when a gesture starts.
23
+ */
24
+ onGestureStart?: () => void;
25
+ /**
26
+ * Callback which is called when a gesture is cancelled.
27
+ */
28
+ onGestureCancel?: () => void;
29
+ /**
30
+ * Callback which is called when a gesture ends.
31
+ */
32
+ onGestureEnd?: () => void;
33
+ /**
34
+ * Callback which is called when the opening/closing transition starts.
35
+ */
36
+ onTransitionStart?: (closing: boolean) => void;
37
+ /**
38
+ * Callback which is called when the opening/closing transition ends.
39
+ */
40
+ onTransitionEnd?: (closing: boolean) => void;
21
41
  /**
22
42
  * Callback which returns a react element to render as the content of the drawer.
23
43
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEtE,MAAM,MAAM,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvD,MAAM,MAAM,WAAW,GAAG;IACxB;;OAEG;IACH,IAAI,EAAE,OAAO,CAAC;IAEd;;OAEG;IACH,MAAM,EAAE,MAAM,IAAI,CAAC;IAEnB;;OAEG;IACH,OAAO,EAAE,MAAM,IAAI,CAAC;IAEpB;;OAEG;IACH,mBAAmB,EAAE,MAAM,KAAK,CAAC,SAAS,CAAC;IAE3C;;;OAGG;IACH,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAE3C;;;OAGG;IACH,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;;;OAGG;IACH,mBAAmB,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,iBAAiB,CAAC,CAAC;IAErE;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEtE,MAAM,MAAM,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvD,MAAM,MAAM,WAAW,GAAG;IACxB;;OAEG;IACH,IAAI,EAAE,OAAO,CAAC;IAEd;;OAEG;IACH,MAAM,EAAE,MAAM,IAAI,CAAC;IAEnB;;OAEG;IACH,OAAO,EAAE,MAAM,IAAI,CAAC;IAEpB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAE5B;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAE7B;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAE1B;;OAEG;IACH,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAE/C;;OAEG;IACH,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAE7C;;OAEG;IACH,mBAAmB,EAAE,MAAM,KAAK,CAAC,SAAS,CAAC;IAE3C;;;OAGG;IACH,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAE3C;;;OAGG;IACH,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;;;OAGG;IACH,mBAAmB,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,iBAAiB,CAAC,CAAC;IAErE;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC"}
@@ -1,4 +1,3 @@
1
1
  import * as React from 'react';
2
- declare const _default: React.Context<React.RefObject<any> | null>;
3
- export default _default;
2
+ export declare const DrawerGestureContext: React.Context<React.RefObject<any> | null>;
4
3
  //# 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;;AAE/B,wBAAsE"}
1
+ {"version":3,"file":"DrawerGestureContext.d.ts","sourceRoot":"","sources":["../../../../src/utils/DrawerGestureContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,eAAO,MAAM,oBAAoB,4CACuB,CAAC"}
@@ -1,5 +1,4 @@
1
1
  import * as React from 'react';
2
2
  import type Animated from 'react-native-reanimated';
3
- declare const _default: React.Context<Readonly<Animated.SharedValue<number>> | Animated.Node<number> | undefined>;
4
- export default _default;
3
+ export declare const DrawerProgressContext: React.Context<Readonly<Animated.SharedValue<number>> | Animated.Node<number> | undefined>;
5
4
  //# sourceMappingURL=DrawerProgressContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerProgressContext.d.ts","sourceRoot":"","sources":["../../../../src/utils/DrawerProgressContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,QAAQ,MAAM,yBAAyB,CAAC;;AAEpD,wBAEa"}
1
+ {"version":3,"file":"DrawerProgressContext.d.ts","sourceRoot":"","sources":["../../../../src/utils/DrawerProgressContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,QAAQ,MAAM,yBAAyB,CAAC;AAEpD,eAAO,MAAM,qBAAqB,2FAEtB,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import type Animated from 'react-native-reanimated';
2
- export default function useDrawerProgress(): Readonly<Animated.SharedValue<number>> | Animated.Node<number>;
2
+ export declare function useDrawerProgress(): Readonly<Animated.SharedValue<number>> | Animated.Node<number>;
3
3
  //# sourceMappingURL=useDrawerProgress.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useDrawerProgress.d.ts","sourceRoot":"","sources":["../../../../src/utils/useDrawerProgress.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,QAAQ,MAAM,yBAAyB,CAAC;AAIpD,MAAM,CAAC,OAAO,UAAU,iBAAiB,IACrC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,GACtC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAUxB"}
1
+ {"version":3,"file":"useDrawerProgress.d.ts","sourceRoot":"","sources":["../../../../src/utils/useDrawerProgress.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,QAAQ,MAAM,yBAAyB,CAAC;AAIpD,wBAAgB,iBAAiB,IAC7B,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,GACtC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAUxB"}
@@ -15,6 +15,6 @@ type Props = DrawerProps & {
15
15
  */
16
16
  style?: StyleProp<ViewStyle>;
17
17
  };
18
- export default function Drawer({ useLegacyImplementation, layout: customLayout, drawerType, drawerPosition, drawerStyle, swipeEnabled, swipeEdgeWidth, swipeMinDistance, swipeMinVelocity, keyboardDismissMode, hideStatusBarOnOpen, statusBarAnimation, style, ...rest }: Props): JSX.Element;
18
+ export declare function Drawer({ useLegacyImplementation, layout: customLayout, drawerType, drawerPosition, drawerStyle, swipeEnabled, swipeEdgeWidth, swipeMinDistance, swipeMinVelocity, keyboardDismissMode, hideStatusBarOnOpen, statusBarAnimation, style, ...rest }: Props): JSX.Element;
19
19
  export {};
20
20
  //# sourceMappingURL=Drawer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Drawer.d.ts","sourceRoot":"","sources":["../../../../src/views/Drawer.tsx"],"names":[],"mappings":";AACA,OAAO,EAGL,SAAS,EAGT,SAAS,EACV,MAAM,cAAc,CAAC;AAItB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAG5C,KAAK,KAAK,GAAG,WAAW,GAAG;IACzB;;;;;;OAMG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAElC;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B,CAAC;AAuBF,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,EAG7B,uBAAsD,EACtD,MAAM,EAAE,YAAY,EACpB,UAAgE,EAChE,cAAoE,EACpE,WAAW,EACX,YAEyB,EACzB,cAAmB,EACnB,gBAAqC,EACrC,gBAAqC,EACrC,mBAA+B,EAC/B,mBAA2B,EAC3B,kBAA4B,EAC5B,KAAK,EACL,GAAG,IAAI,EACR,EAAE,KAAK,eAyCP"}
1
+ {"version":3,"file":"Drawer.d.ts","sourceRoot":"","sources":["../../../../src/views/Drawer.tsx"],"names":[],"mappings":";AACA,OAAO,EAGL,SAAS,EAGT,SAAS,EACV,MAAM,cAAc,CAAC;AAItB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAG5C,KAAK,KAAK,GAAG,WAAW,GAAG;IACzB;;;;;;OAMG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAElC;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B,CAAC;AAuBF,wBAAgB,MAAM,CAAC,EAGrB,uBAAsD,EACtD,MAAM,EAAE,YAAY,EACpB,UAAgE,EAChE,cAAoE,EACpE,WAAW,EACX,YAEyB,EACzB,cAAmB,EACnB,gBAAqC,EACrC,gBAAqC,EACrC,mBAA+B,EAC/B,mBAA2B,EAC3B,kBAA4B,EAC5B,KAAK,EACL,GAAG,IAAI,EACR,EAAE,KAAK,eAyCP"}
@@ -5,7 +5,7 @@ type Props = DrawerProps & {
5
5
  width: number;
6
6
  };
7
7
  };
8
- export default class Drawer extends React.Component<Props> {
8
+ export declare class Drawer extends React.Component<Props> {
9
9
  componentDidUpdate(prevProps: Props): void;
10
10
  componentWillUnmount(): void;
11
11
  private handleEndInteraction;
@@ -1 +1 @@
1
- {"version":3,"file":"Drawer.d.ts","sourceRoot":"","sources":["../../../../../src/views/legacy/Drawer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAmB/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAuD/C,KAAK,KAAK,GAAG,WAAW,GAAG;IACzB,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3B,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC;IACxD,kBAAkB,CAAC,SAAS,EAAE,KAAK;IA+CnC,oBAAoB;IAKpB,OAAO,CAAC,oBAAoB,CAK1B;IAEF,OAAO,CAAC,sBAAsB,CAI5B;IAEF,OAAO,CAAC,cAAc,CAepB;IAEF,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,iBAAiB,CAAqB;IAE9C,OAAO,CAAC,iBAAiB,CAEvB;IAEF,OAAO,CAAC,MAAM,CAAqD;IACnE,OAAO,CAAC,UAAU,CAAiC;IACnD,OAAO,CAAC,SAAS,CAA4B;IAE7C,OAAO,CAAC,kBAAkB,CAAyB;IAEnD,OAAO,CAAC,YAAY,CAAgD;IACpE,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,SAAS,CAAwB;IACzC,OAAO,CAAC,QAAQ,CAAwB;IACxC,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,QAAQ,CAOd;IAEF,OAAO,CAAC,cAAc,CAA8C;IACpE,OAAO,CAAC,WAAW,CAA8C;IACjE,OAAO,CAAC,aAAa,CAEnB;IACF,OAAO,CAAC,cAAc,CAEpB;IA2BF,OAAO,CAAC,uBAAuB,CAsB7B;IAEF,OAAO,CAAC,sBAAsB,CAE5B;IACF,OAAO,CAAC,sBAAsB,CAE5B;IAEF,OAAO,CAAC,gBAAgB,CAA4B;IACpD,OAAO,CAAC,gBAAgB,CAAsB;IAE9C,OAAO,CAAC,iBAAiB,CAAkB;IAE3C,OAAO,CAAC,qBAAqB,CAA4B;IAEzD,OAAO,CAAC,YAAY,CA8ClB;IAEF,OAAO,CAAC,KAAK,CAoHV;IAEH,OAAO,CAAC,UAAU,CAIhB;IAEF,OAAO,CAAC,QAAQ,CAKd;IAEF,OAAO,CAAC,kBAAkB,CAQvB;IAEH,OAAO,CAAC,wBAAwB,CAM7B;IAEH,OAAO,CAAC,qBAAqB,CAC8B;IAE3D,OAAO,CAAC,kBAAkB,CAUxB;IAEF,OAAO,CAAC,YAAY,CAQlB;IAEF,OAAO,CAAC,eAAe,CAQrB;IAEF,MAAM;CAoKP"}
1
+ {"version":3,"file":"Drawer.d.ts","sourceRoot":"","sources":["../../../../../src/views/legacy/Drawer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAmB/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAuD/C,KAAK,KAAK,GAAG,WAAW,GAAG;IACzB,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3B,CAAC;AAEF,qBAAa,MAAO,SAAQ,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC;IAChD,kBAAkB,CAAC,SAAS,EAAE,KAAK;IA+CnC,oBAAoB;IAKpB,OAAO,CAAC,oBAAoB,CAK1B;IAEF,OAAO,CAAC,sBAAsB,CAI5B;IAEF,OAAO,CAAC,cAAc,CAepB;IAEF,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,iBAAiB,CAAqB;IAE9C,OAAO,CAAC,iBAAiB,CAEvB;IAEF,OAAO,CAAC,MAAM,CAAqD;IACnE,OAAO,CAAC,UAAU,CAAiC;IACnD,OAAO,CAAC,SAAS,CAA4B;IAE7C,OAAO,CAAC,kBAAkB,CAAyB;IAEnD,OAAO,CAAC,YAAY,CAAgD;IACpE,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,SAAS,CAAwB;IACzC,OAAO,CAAC,QAAQ,CAAwB;IACxC,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,QAAQ,CAOd;IAEF,OAAO,CAAC,cAAc,CAA8C;IACpE,OAAO,CAAC,WAAW,CAA8C;IACjE,OAAO,CAAC,aAAa,CAEnB;IACF,OAAO,CAAC,cAAc,CAEpB;IA2BF,OAAO,CAAC,uBAAuB,CAsB7B;IAEF,OAAO,CAAC,sBAAsB,CAE5B;IACF,OAAO,CAAC,sBAAsB,CAE5B;IAEF,OAAO,CAAC,gBAAgB,CAA4B;IACpD,OAAO,CAAC,gBAAgB,CAAsB;IAE9C,OAAO,CAAC,iBAAiB,CAAkB;IAE3C,OAAO,CAAC,qBAAqB,CAA4B;IAEzD,OAAO,CAAC,YAAY,CAsDlB;IAEF,OAAO,CAAC,KAAK,CAiIV;IAEH,OAAO,CAAC,UAAU,CAIhB;IAEF,OAAO,CAAC,QAAQ,CAKd;IAEF,OAAO,CAAC,kBAAkB,CAQvB;IAEH,OAAO,CAAC,wBAAwB,CAM7B;IAEH,OAAO,CAAC,qBAAqB,CAC8B;IAE3D,OAAO,CAAC,kBAAkB,CAUxB;IAEF,OAAO,CAAC,YAAY,CAQlB;IAEF,OAAO,CAAC,eAAe,CAQrB;IAEF,MAAM;CAoKP"}
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import Animated from 'react-native-reanimated';
3
- declare const Overlay: React.ForwardRefExoticComponent<{
3
+ export declare const Overlay: React.ForwardRefExoticComponent<{
4
4
  children?: React.ReactNode | Animated.Node<React.ReactNode>;
5
5
  hitSlop?: import("react-native").Insets | Animated.Node<import("react-native").Insets | undefined> | undefined;
6
6
  onLayout?: ((event: import("react-native").LayoutChangeEvent) => void) | Animated.Node<((event: import("react-native").LayoutChangeEvent) => void) | undefined> | undefined;
@@ -85,5 +85,4 @@ declare const Overlay: React.ForwardRefExoticComponent<{
85
85
  onPress: () => void;
86
86
  accessibilityLabel?: string | undefined;
87
87
  } & React.RefAttributes<Animated.View>>;
88
- export default Overlay;
89
88
  //# sourceMappingURL=Overlay.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Overlay.d.ts","sourceRoot":"","sources":["../../../../../src/views/legacy/Overlay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAqB/C,QAAA,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cALD,aAAa,CAAC,MAAM,CAAC;aACtB,MAAM,IAAI;;uCA8CnB,CAAC;AAqBH,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"Overlay.d.ts","sourceRoot":"","sources":["../../../../../src/views/legacy/Overlay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAqB/C,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cALR,aAAa,CAAC,MAAM,CAAC;aACtB,MAAM,IAAI;;uCA8CnB,CAAC"}
@@ -5,6 +5,6 @@ type Props = DrawerProps & {
5
5
  width: number;
6
6
  };
7
7
  };
8
- export default function Drawer({ layout, drawerPosition, drawerStyle, drawerType, gestureHandlerProps, hideStatusBarOnOpen, keyboardDismissMode, onClose, onOpen, open, overlayStyle, overlayAccessibilityLabel, statusBarAnimation, swipeEnabled, swipeEdgeWidth, swipeMinDistance, swipeMinVelocity, renderDrawerContent, children, }: Props): JSX.Element;
8
+ export declare function Drawer({ layout, drawerPosition, drawerStyle, drawerType, gestureHandlerProps, hideStatusBarOnOpen, keyboardDismissMode, onClose, onOpen, onGestureStart, onGestureCancel, onGestureEnd, onTransitionStart, onTransitionEnd, open, overlayStyle, overlayAccessibilityLabel, statusBarAnimation, swipeEnabled, swipeEdgeWidth, swipeMinDistance, swipeMinVelocity, renderDrawerContent, children, }: Props): JSX.Element;
9
9
  export {};
10
10
  //# sourceMappingURL=Drawer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Drawer.d.ts","sourceRoot":"","sources":["../../../../../src/views/modern/Drawer.tsx"],"names":[],"mappings":";AA0BA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAe/C,KAAK,KAAK,GAAG,WAAW,GAAG;IACzB,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3B,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,EAC7B,MAAM,EACN,cAAc,EACd,WAAW,EACX,UAAU,EACV,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,OAAO,EACP,MAAM,EACN,IAAI,EACJ,YAAY,EACZ,yBAAyB,EACzB,kBAAkB,EAClB,YAAY,EACZ,cAAc,EACd,gBAAqC,EACrC,gBAAqC,EACrC,mBAAmB,EACnB,QAAQ,GACT,EAAE,KAAK,eAsUP"}
1
+ {"version":3,"file":"Drawer.d.ts","sourceRoot":"","sources":["../../../../../src/views/modern/Drawer.tsx"],"names":[],"mappings":";AA2BA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAe/C,KAAK,KAAK,GAAG,WAAW,GAAG;IACzB,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3B,CAAC;AAEF,wBAAgB,MAAM,CAAC,EACrB,MAAM,EACN,cAAc,EACd,WAAW,EACX,UAAU,EACV,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,OAAO,EACP,MAAM,EACN,cAAc,EACd,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,IAAI,EACJ,YAAY,EACZ,yBAAyB,EACzB,kBAAkB,EAClB,YAAY,EACZ,cAAc,EACd,gBAAqC,EACrC,gBAAqC,EACrC,mBAAmB,EACnB,QAAQ,GACT,EAAE,KAAK,eAuWP"}
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import Animated from 'react-native-reanimated';
3
- declare const Overlay: React.ForwardRefExoticComponent<{
3
+ export declare const Overlay: React.ForwardRefExoticComponent<{
4
4
  children?: React.ReactNode | Animated.Node<React.ReactNode>;
5
5
  hitSlop?: import("react-native").Insets | Animated.Node<import("react-native").Insets | undefined> | undefined;
6
6
  onLayout?: ((event: import("react-native").LayoutChangeEvent) => void) | Animated.Node<((event: import("react-native").LayoutChangeEvent) => void) | undefined> | undefined;
@@ -85,5 +85,4 @@ declare const Overlay: React.ForwardRefExoticComponent<{
85
85
  onPress: () => void;
86
86
  accessibilityLabel?: string | undefined;
87
87
  } & React.RefAttributes<Animated.View>>;
88
- export default Overlay;
89
88
  //# sourceMappingURL=Overlay.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Overlay.d.ts","sourceRoot":"","sources":["../../../../../src/views/modern/Overlay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,QAGN,MAAM,yBAAyB,CAAC;AAUjC,QAAA,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cALD,SAAS,WAAW,CAAC,MAAM,CAAC;aAC7B,MAAM,IAAI;;uCAgDnB,CAAC;AAsBH,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"Overlay.d.ts","sourceRoot":"","sources":["../../../../../src/views/modern/Overlay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,QAGN,MAAM,yBAAyB,CAAC;AAUjC,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cALR,SAAS,WAAW,CAAC,MAAM,CAAC;aAC7B,MAAM,IAAI;;uCAgDnB,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": "3.1.0",
4
+ "version": "3.2.0",
5
5
  "keywords": [
6
6
  "react-native-component",
7
7
  "react-component",
@@ -36,11 +36,14 @@
36
36
  "prepack": "bob build",
37
37
  "clean": "del lib"
38
38
  },
39
+ "dependencies": {
40
+ "use-latest-callback": "^0.1.5"
41
+ },
39
42
  "devDependencies": {
40
43
  "del-cli": "^5.0.0",
41
44
  "react": "18.1.0",
42
45
  "react-native": "0.70.5",
43
- "react-native-builder-bob": "^0.20.3",
46
+ "react-native-builder-bob": "^0.20.4",
44
47
  "typescript": "^4.9.4"
45
48
  },
46
49
  "peerDependencies": {
@@ -63,5 +66,5 @@
63
66
  ]
64
67
  ]
65
68
  },
66
- "gitHead": "ad722b882e0c40b1d1bc025d70112ddb126f265e"
69
+ "gitHead": "230c09deeeb886929a15cb4cdcb496372a9496e1"
67
70
  }
package/src/index.tsx CHANGED
@@ -1,4 +1,4 @@
1
- export { default as DrawerGestureContext } from './utils/DrawerGestureContext';
2
- export { default as DrawerProgressContext } from './utils/DrawerProgressContext';
3
- export { default as useDrawerProgress } from './utils/useDrawerProgress';
4
- export { default as Drawer } from './views/Drawer';
1
+ export { DrawerGestureContext } from './utils/DrawerGestureContext';
2
+ export { DrawerProgressContext } from './utils/DrawerProgressContext';
3
+ export { useDrawerProgress } from './utils/useDrawerProgress';
4
+ export { Drawer } from './views/Drawer';
package/src/types.tsx CHANGED
@@ -19,6 +19,31 @@ export type DrawerProps = {
19
19
  */
20
20
  onClose: () => void;
21
21
 
22
+ /**
23
+ * Callback which is called when a gesture starts.
24
+ */
25
+ onGestureStart?: () => void;
26
+
27
+ /**
28
+ * Callback which is called when a gesture is cancelled.
29
+ */
30
+ onGestureCancel?: () => void;
31
+
32
+ /**
33
+ * Callback which is called when a gesture ends.
34
+ */
35
+ onGestureEnd?: () => void;
36
+
37
+ /**
38
+ * Callback which is called when the opening/closing transition starts.
39
+ */
40
+ onTransitionStart?: (closing: boolean) => void;
41
+
42
+ /**
43
+ * Callback which is called when the opening/closing transition ends.
44
+ */
45
+ onTransitionEnd?: (closing: boolean) => void;
46
+
22
47
  /**
23
48
  * Callback which returns a react element to render as the content of the drawer.
24
49
  */
@@ -1,3 +1,4 @@
1
1
  import * as React from 'react';
2
2
 
3
- export default React.createContext<React.RefObject<any> | null>(null);
3
+ export const DrawerGestureContext =
4
+ React.createContext<React.RefObject<any> | null>(null);
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import type Animated from 'react-native-reanimated';
3
3
 
4
- export default React.createContext<
4
+ export const DrawerProgressContext = React.createContext<
5
5
  Readonly<Animated.SharedValue<number>> | Animated.Node<number> | undefined
6
6
  >(undefined);
@@ -1,9 +1,9 @@
1
1
  import * as React from 'react';
2
2
  import type Animated from 'react-native-reanimated';
3
3
 
4
- import DrawerProgressContext from './DrawerProgressContext';
4
+ import { DrawerProgressContext } from './DrawerProgressContext';
5
5
 
6
- export default function useDrawerProgress():
6
+ export function useDrawerProgress():
7
7
  | Readonly<Animated.SharedValue<number>>
8
8
  | Animated.Node<number> {
9
9
  const progress = React.useContext(DrawerProgressContext);
@@ -50,7 +50,7 @@ const getDefaultDrawerWidth = ({
50
50
  return Math.min(smallerAxisSize - appBarHeight, maxWidth);
51
51
  };
52
52
 
53
- export default function Drawer({
53
+ export function Drawer({
54
54
  // Reanimated 2 is not configured
55
55
  // @ts-expect-error: the type definitions are incomplete
56
56
  useLegacyImplementation = !Reanimated.isConfigured?.(),
@@ -80,10 +80,10 @@ export default function Drawer({
80
80
  );
81
81
  }
82
82
 
83
- const Drawer: typeof import('./modern/Drawer').default =
83
+ const Drawer: typeof import('./modern/Drawer').Drawer =
84
84
  useLegacyImplementation
85
- ? require('./legacy/Drawer').default
86
- : require('./modern/Drawer').default;
85
+ ? require('./legacy/Drawer').Drawer
86
+ : require('./modern/Drawer').Drawer;
87
87
 
88
88
  const windowDimensions = useWindowDimensions();
89
89
  const layout = customLayout ?? windowDimensions;
@@ -4,7 +4,7 @@ import {
4
4
  PanGestureHandlerProperties,
5
5
  } from 'react-native-gesture-handler';
6
6
 
7
- import DrawerGestureContext from '../utils/DrawerGestureContext';
7
+ import { DrawerGestureContext } from '../utils/DrawerGestureContext';
8
8
 
9
9
  export function PanGestureHandler(props: PanGestureHandlerProperties) {
10
10
  const gestureRef = React.useRef<PanGestureHandlerNative>(null);
@@ -18,9 +18,9 @@ import {
18
18
  SWIPE_MIN_VELOCITY,
19
19
  } from '../../constants';
20
20
  import type { DrawerProps } from '../../types';
21
- import DrawerProgressContext from '../../utils/DrawerProgressContext';
21
+ import { DrawerProgressContext } from '../../utils/DrawerProgressContext';
22
22
  import { GestureState, PanGestureHandler } from '../GestureHandler';
23
- import Overlay from './Overlay';
23
+ import { Overlay } from './Overlay';
24
24
 
25
25
  const {
26
26
  Clock,
@@ -76,7 +76,7 @@ type Props = DrawerProps & {
76
76
  layout: { width: number };
77
77
  };
78
78
 
79
- export default class Drawer extends React.Component<Props> {
79
+ export class Drawer extends React.Component<Props> {
80
80
  componentDidUpdate(prevProps: Props) {
81
81
  const {
82
82
  open,
@@ -284,6 +284,14 @@ export default class Drawer extends React.Component<Props> {
284
284
  set(this.manuallyTriggerSpring, FALSE),
285
285
  ]),
286
286
  spring(this.clock, state, { ...SPRING_CONFIG, toValue }),
287
+ onChange(
288
+ state.finished,
289
+ cond(
290
+ state.finished,
291
+ call([this.isOpen], (open) => this.props.onTransitionEnd?.(!open)),
292
+ call([this.isOpen], (open) => this.props.onTransitionStart?.(!open))
293
+ )
294
+ ),
287
295
  cond(state.finished, [
288
296
  // Reset gesture and velocity from previous gesture
289
297
  set(this.touchX, 0),
@@ -370,6 +378,18 @@ export default class Drawer extends React.Component<Props> {
370
378
  call([], this.handleStartInteraction)
371
379
  )
372
380
  ),
381
+ onChange(
382
+ this.gestureState,
383
+ cond(eq(this.gestureState, GestureState.END), [
384
+ call([], () => this.props.onGestureEnd?.()),
385
+ ])
386
+ ),
387
+ onChange(
388
+ this.gestureState,
389
+ cond(eq(this.gestureState, GestureState.CANCELLED), [
390
+ call([], () => this.props.onGestureCancel?.()),
391
+ ])
392
+ ),
373
393
  cond(
374
394
  eq(this.gestureState, GestureState.ACTIVE),
375
395
  [
@@ -378,6 +398,7 @@ export default class Drawer extends React.Component<Props> {
378
398
  set(this.isSwiping, TRUE),
379
399
  // Also update the drag offset to the last position
380
400
  set(this.offsetX, this.position),
401
+ call([], () => this.props.onGestureStart?.()),
381
402
  ]),
382
403
  // Update position with previous offset + gesture distance
383
404
  set(
@@ -21,7 +21,7 @@ type Props = React.ComponentProps<typeof Animated.View> & {
21
21
  accessibilityLabel?: string;
22
22
  };
23
23
 
24
- const Overlay = React.forwardRef(function Overlay(
24
+ export const Overlay = React.forwardRef(function Overlay(
25
25
  {
26
26
  progress,
27
27
  onPress,
@@ -83,5 +83,3 @@ const styles = StyleSheet.create({
83
83
  flex: 1,
84
84
  },
85
85
  });
86
-
87
- export default Overlay;