@react-navigation/drawer 6.5.3 → 6.5.5

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 (144) hide show
  1. package/lib/commonjs/index.js +7 -13
  2. package/lib/commonjs/index.js.map +1 -1
  3. package/lib/commonjs/navigators/createDrawerNavigator.js +0 -15
  4. package/lib/commonjs/navigators/createDrawerNavigator.js.map +1 -1
  5. package/lib/commonjs/types.js.map +1 -1
  6. package/lib/commonjs/utils/DrawerGestureContext.js +0 -5
  7. package/lib/commonjs/utils/DrawerGestureContext.js.map +1 -1
  8. package/lib/commonjs/utils/DrawerPositionContext.js +0 -5
  9. package/lib/commonjs/utils/DrawerPositionContext.js.map +1 -1
  10. package/lib/commonjs/utils/DrawerProgressContext.js +0 -5
  11. package/lib/commonjs/utils/DrawerProgressContext.js.map +1 -1
  12. package/lib/commonjs/utils/DrawerStatusContext.js +0 -4
  13. package/lib/commonjs/utils/DrawerStatusContext.js.map +1 -1
  14. package/lib/commonjs/utils/getDrawerStatusFromState.js +1 -5
  15. package/lib/commonjs/utils/getDrawerStatusFromState.js.map +1 -1
  16. package/lib/commonjs/utils/useDrawerProgress.js +0 -8
  17. package/lib/commonjs/utils/useDrawerProgress.js.map +1 -1
  18. package/lib/commonjs/utils/useDrawerStatus.js +0 -8
  19. package/lib/commonjs/utils/useDrawerStatus.js.map +1 -1
  20. package/lib/commonjs/views/DrawerContent.js +0 -8
  21. package/lib/commonjs/views/DrawerContent.js.map +1 -1
  22. package/lib/commonjs/views/DrawerContentScrollView.js +0 -12
  23. package/lib/commonjs/views/DrawerContentScrollView.js.map +1 -1
  24. package/lib/commonjs/views/DrawerItem.js +8 -21
  25. package/lib/commonjs/views/DrawerItem.js.map +1 -1
  26. package/lib/commonjs/views/DrawerItemList.js +2 -11
  27. package/lib/commonjs/views/DrawerItemList.js.map +1 -1
  28. package/lib/commonjs/views/DrawerToggleButton.js +0 -9
  29. package/lib/commonjs/views/DrawerToggleButton.js.map +1 -1
  30. package/lib/commonjs/views/DrawerView.js +9 -52
  31. package/lib/commonjs/views/DrawerView.js.map +1 -1
  32. package/lib/commonjs/views/GestureHandler.android.js +0 -2
  33. package/lib/commonjs/views/GestureHandler.android.js.map +1 -1
  34. package/lib/commonjs/views/GestureHandler.ios.js +0 -2
  35. package/lib/commonjs/views/GestureHandler.ios.js.map +1 -1
  36. package/lib/commonjs/views/GestureHandler.js +0 -6
  37. package/lib/commonjs/views/GestureHandler.js.map +1 -1
  38. package/lib/commonjs/views/GestureHandlerNative.js +0 -7
  39. package/lib/commonjs/views/GestureHandlerNative.js.map +1 -1
  40. package/lib/commonjs/views/ScreenFallback.js +2 -18
  41. package/lib/commonjs/views/ScreenFallback.js.map +1 -1
  42. package/lib/commonjs/views/legacy/Drawer.js +62 -105
  43. package/lib/commonjs/views/legacy/Drawer.js.map +1 -1
  44. package/lib/commonjs/views/legacy/Overlay.js +3 -13
  45. package/lib/commonjs/views/legacy/Overlay.js.map +1 -1
  46. package/lib/commonjs/views/modern/Drawer.js +20 -41
  47. package/lib/commonjs/views/modern/Drawer.js.map +1 -1
  48. package/lib/commonjs/views/modern/Overlay.js +4 -12
  49. package/lib/commonjs/views/modern/Overlay.js.map +1 -1
  50. package/lib/module/index.js +4 -2
  51. package/lib/module/index.js.map +1 -1
  52. package/lib/module/navigators/createDrawerNavigator.js +0 -7
  53. package/lib/module/navigators/createDrawerNavigator.js.map +1 -1
  54. package/lib/module/types.js.map +1 -1
  55. package/lib/module/utils/DrawerGestureContext.js.map +1 -1
  56. package/lib/module/utils/DrawerPositionContext.js.map +1 -1
  57. package/lib/module/utils/DrawerProgressContext.js.map +1 -1
  58. package/lib/module/utils/DrawerStatusContext.js.map +1 -1
  59. package/lib/module/utils/getDrawerStatusFromState.js +1 -4
  60. package/lib/module/utils/getDrawerStatusFromState.js.map +1 -1
  61. package/lib/module/utils/useDrawerProgress.js +0 -2
  62. package/lib/module/utils/useDrawerProgress.js.map +1 -1
  63. package/lib/module/utils/useDrawerStatus.js +1 -3
  64. package/lib/module/utils/useDrawerStatus.js.map +1 -1
  65. package/lib/module/views/DrawerContent.js +0 -1
  66. package/lib/module/views/DrawerContent.js.map +1 -1
  67. package/lib/module/views/DrawerContentScrollView.js +0 -3
  68. package/lib/module/views/DrawerContentScrollView.js.map +1 -1
  69. package/lib/module/views/DrawerItem.js +8 -10
  70. package/lib/module/views/DrawerItem.js.map +1 -1
  71. package/lib/module/views/DrawerItemList.js +2 -5
  72. package/lib/module/views/DrawerItemList.js.map +1 -1
  73. package/lib/module/views/DrawerToggleButton.js +0 -1
  74. package/lib/module/views/DrawerToggleButton.js.map +1 -1
  75. package/lib/module/views/DrawerView.js +9 -35
  76. package/lib/module/views/DrawerView.js.map +1 -1
  77. package/lib/module/views/GestureHandler.android.js.map +1 -1
  78. package/lib/module/views/GestureHandler.ios.js.map +1 -1
  79. package/lib/module/views/GestureHandler.js +0 -2
  80. package/lib/module/views/GestureHandler.js.map +1 -1
  81. package/lib/module/views/GestureHandlerNative.js.map +1 -1
  82. package/lib/module/views/ScreenFallback.js +2 -10
  83. package/lib/module/views/ScreenFallback.js.map +1 -1
  84. package/lib/module/views/legacy/Drawer.js +62 -90
  85. package/lib/module/views/legacy/Drawer.js.map +1 -1
  86. package/lib/module/views/legacy/Overlay.js +3 -3
  87. package/lib/module/views/legacy/Overlay.js.map +1 -1
  88. package/lib/module/views/modern/Drawer.js +20 -27
  89. package/lib/module/views/modern/Drawer.js.map +1 -1
  90. package/lib/module/views/modern/Overlay.js +4 -3
  91. package/lib/module/views/modern/Overlay.js.map +1 -1
  92. package/lib/typescript/src/index.d.ts +2 -0
  93. package/lib/typescript/src/index.d.ts.map +1 -0
  94. package/lib/typescript/src/navigators/createDrawerNavigator.d.ts +1 -0
  95. package/lib/typescript/src/navigators/createDrawerNavigator.d.ts.map +1 -0
  96. package/lib/typescript/src/types.d.ts +1 -0
  97. package/lib/typescript/src/types.d.ts.map +1 -0
  98. package/lib/typescript/src/utils/DrawerGestureContext.d.ts +1 -0
  99. package/lib/typescript/src/utils/DrawerGestureContext.d.ts.map +1 -0
  100. package/lib/typescript/src/utils/DrawerPositionContext.d.ts +1 -0
  101. package/lib/typescript/src/utils/DrawerPositionContext.d.ts.map +1 -0
  102. package/lib/typescript/src/utils/DrawerProgressContext.d.ts +1 -0
  103. package/lib/typescript/src/utils/DrawerProgressContext.d.ts.map +1 -0
  104. package/lib/typescript/src/utils/DrawerStatusContext.d.ts +1 -0
  105. package/lib/typescript/src/utils/DrawerStatusContext.d.ts.map +1 -0
  106. package/lib/typescript/src/utils/getDrawerStatusFromState.d.ts +1 -0
  107. package/lib/typescript/src/utils/getDrawerStatusFromState.d.ts.map +1 -0
  108. package/lib/typescript/src/utils/useDrawerProgress.d.ts +1 -0
  109. package/lib/typescript/src/utils/useDrawerProgress.d.ts.map +1 -0
  110. package/lib/typescript/src/utils/useDrawerStatus.d.ts +1 -0
  111. package/lib/typescript/src/utils/useDrawerStatus.d.ts.map +1 -0
  112. package/lib/typescript/src/views/DrawerContent.d.ts +1 -0
  113. package/lib/typescript/src/views/DrawerContent.d.ts.map +1 -0
  114. package/lib/typescript/src/views/DrawerContentScrollView.d.ts +1 -0
  115. package/lib/typescript/src/views/DrawerContentScrollView.d.ts.map +1 -0
  116. package/lib/typescript/src/views/DrawerItem.d.ts +1 -0
  117. package/lib/typescript/src/views/DrawerItem.d.ts.map +1 -0
  118. package/lib/typescript/src/views/DrawerItemList.d.ts +1 -0
  119. package/lib/typescript/src/views/DrawerItemList.d.ts.map +1 -0
  120. package/lib/typescript/src/views/DrawerToggleButton.d.ts +1 -0
  121. package/lib/typescript/src/views/DrawerToggleButton.d.ts.map +1 -0
  122. package/lib/typescript/src/views/DrawerView.d.ts +1 -0
  123. package/lib/typescript/src/views/DrawerView.d.ts.map +1 -0
  124. package/lib/typescript/src/views/GestureHandler.android.d.ts +1 -0
  125. package/lib/typescript/src/views/GestureHandler.android.d.ts.map +1 -0
  126. package/lib/typescript/src/views/GestureHandler.d.ts +1 -0
  127. package/lib/typescript/src/views/GestureHandler.d.ts.map +1 -0
  128. package/lib/typescript/src/views/GestureHandler.ios.d.ts +1 -0
  129. package/lib/typescript/src/views/GestureHandler.ios.d.ts.map +1 -0
  130. package/lib/typescript/src/views/GestureHandlerNative.d.ts +1 -0
  131. package/lib/typescript/src/views/GestureHandlerNative.d.ts.map +1 -0
  132. package/lib/typescript/src/views/ScreenFallback.d.ts +1 -0
  133. package/lib/typescript/src/views/ScreenFallback.d.ts.map +1 -0
  134. package/lib/typescript/src/views/legacy/Drawer.d.ts +1 -0
  135. package/lib/typescript/src/views/legacy/Drawer.d.ts.map +1 -0
  136. package/lib/typescript/src/views/legacy/Overlay.d.ts +1 -0
  137. package/lib/typescript/src/views/legacy/Overlay.d.ts.map +1 -0
  138. package/lib/typescript/src/views/modern/Drawer.d.ts +1 -0
  139. package/lib/typescript/src/views/modern/Drawer.d.ts.map +1 -0
  140. package/lib/typescript/src/views/modern/Overlay.d.ts +1 -0
  141. package/lib/typescript/src/views/modern/Overlay.d.ts.map +1 -0
  142. package/package.json +5 -5
  143. package/src/index.tsx +1 -0
  144. package/src/views/modern/Overlay.tsx +1 -0
@@ -4,36 +4,23 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = Drawer;
7
-
8
7
  var React = _interopRequireWildcard(require("react"));
9
-
10
8
  var _reactNative = require("react-native");
11
-
12
9
  var _reactNativeGestureHandler = require("react-native-gesture-handler");
13
-
14
10
  var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
15
-
16
11
  var _DrawerProgressContext = _interopRequireDefault(require("../../utils/DrawerProgressContext"));
17
-
18
12
  var _Overlay = _interopRequireDefault(require("./Overlay"));
19
-
20
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
-
22
14
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
23
-
24
15
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
25
-
26
16
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
27
-
28
17
  const SWIPE_DISTANCE_MINIMUM = 5;
29
18
  const DEFAULT_DRAWER_WIDTH = '80%';
30
-
31
19
  const minmax = (value, start, end) => {
32
20
  'worklet';
33
21
 
34
22
  return Math.min(Math.max(value, start), end);
35
23
  };
36
-
37
24
  function Drawer(_ref) {
38
25
  let {
39
26
  dimensions,
@@ -55,24 +42,19 @@ function Drawer(_ref) {
55
42
  swipeEnabled,
56
43
  swipeVelocityThreshold
57
44
  } = _ref;
58
-
59
45
  const getDrawerWidth = () => {
60
46
  const {
61
47
  width = DEFAULT_DRAWER_WIDTH
62
48
  } = _reactNative.StyleSheet.flatten(drawerStyle) || {};
63
-
64
49
  if (typeof width === 'string' && width.endsWith('%')) {
65
50
  // Try to calculate width if a percentage is given
66
51
  const percentage = Number(width.replace(/%$/, ''));
67
-
68
52
  if (Number.isFinite(percentage)) {
69
53
  return dimensions.width * (percentage / 100);
70
54
  }
71
55
  }
72
-
73
56
  return typeof width === 'number' ? width : 0;
74
57
  };
75
-
76
58
  const drawerWidth = getDrawerWidth();
77
59
  const isOpen = drawerType === 'permanent' ? true : open;
78
60
  const isRight = drawerPosition === 'right';
@@ -82,7 +64,6 @@ function Drawer(_ref) {
82
64
  if (drawerPosition === 'left') {
83
65
  return open ? 0 : -drawerWidth;
84
66
  }
85
-
86
67
  return open ? 0 : drawerWidth;
87
68
  }, [drawerPosition, drawerWidth]);
88
69
  const hideStatusBar = React.useCallback(hide => {
@@ -95,38 +76,33 @@ function Drawer(_ref) {
95
76
  return () => hideStatusBar(false);
96
77
  }, [isOpen, hideStatusBarOnOpen, statusBarAnimation, hideStatusBar]);
97
78
  const interactionHandleRef = React.useRef(null);
98
-
99
79
  const startInteraction = () => {
100
80
  interactionHandleRef.current = _reactNative.InteractionManager.createInteractionHandle();
101
81
  };
102
-
103
82
  const endInteraction = () => {
104
83
  if (interactionHandleRef.current != null) {
105
84
  _reactNative.InteractionManager.clearInteractionHandle(interactionHandleRef.current);
106
-
107
85
  interactionHandleRef.current = null;
108
86
  }
109
87
  };
110
-
111
88
  const hideKeyboard = () => {
112
89
  if (keyboardDismissMode === 'on-drag') {
113
90
  _reactNative.Keyboard.dismiss();
114
91
  }
115
92
  };
116
-
117
93
  const onGestureStart = () => {
118
94
  startInteraction();
119
95
  hideKeyboard();
120
96
  hideStatusBar(true);
121
97
  };
122
-
123
98
  const onGestureFinish = () => {
124
99
  endInteraction();
125
- }; // FIXME: Currently hitSlop is broken when on Android when drawer is on right
126
- // https://github.com/software-mansion/react-native-gesture-handler/issues/569
127
-
100
+ };
128
101
 
129
- const hitSlop = isRight ? // Extend hitSlop to the side of the screen when drawer is closed
102
+ // FIXME: Currently hitSlop is broken when on Android when drawer is on right
103
+ // https://github.com/software-mansion/react-native-gesture-handler/issues/569
104
+ const hitSlop = isRight ?
105
+ // Extend hitSlop to the side of the screen when drawer is closed
130
106
  // This lets the user drag the drawer from the side of the screen
131
107
  {
132
108
  right: 0,
@@ -154,7 +130,6 @@ function Drawer(_ref) {
154
130
  restDisplacementThreshold: 0.01,
155
131
  restSpeedThreshold: 0.01
156
132
  });
157
-
158
133
  if (open) {
159
134
  (0, _reactNativeReanimated.runOnJS)(onOpen)();
160
135
  } else {
@@ -172,10 +147,11 @@ function Drawer(_ref) {
172
147
  onActive: (event, ctx) => {
173
148
  touchX.value = event.x;
174
149
  translationX.value = ctx.startX + event.translationX;
175
- gestureState.value = event.state; // onStart will _always_ be called, even when the activation
150
+ gestureState.value = event.state;
151
+
152
+ // onStart will _always_ be called, even when the activation
176
153
  // criteria isn't met yet. This makes sure onGestureStart is only
177
154
  // called when the criteria is really met.
178
-
179
155
  if (!ctx.hasCalledOnStart) {
180
156
  ctx.hasCalledOnStart = true;
181
157
  (0, _reactNativeReanimated.runOnJS)(onGestureStart)();
@@ -183,8 +159,10 @@ function Drawer(_ref) {
183
159
  },
184
160
  onEnd: event => {
185
161
  gestureState.value = event.state;
186
- const nextOpen = Math.abs(event.translationX) > SWIPE_DISTANCE_MINIMUM && Math.abs(event.translationX) > swipeVelocityThreshold || Math.abs(event.translationX) > swipeDistanceThreshold ? drawerPosition === 'left' ? // If swiped to right, open the drawer, otherwise close it
187
- (event.velocityX === 0 ? event.translationX : event.velocityX) > 0 : // If swiped to left, open the drawer, otherwise close it
162
+ const nextOpen = Math.abs(event.translationX) > SWIPE_DISTANCE_MINIMUM && Math.abs(event.translationX) > swipeVelocityThreshold || Math.abs(event.translationX) > swipeDistanceThreshold ? drawerPosition === 'left' ?
163
+ // If swiped to right, open the drawer, otherwise close it
164
+ (event.velocityX === 0 ? event.translationX : event.velocityX) > 0 :
165
+ // If swiped to left, open the drawer, otherwise close it
188
166
  (event.velocityX === 0 ? event.translationX : event.velocityX) < 0 : open;
189
167
  toggleDrawer(nextOpen, event.velocityX);
190
168
  },
@@ -222,26 +200,28 @@ function Drawer(_ref) {
222
200
  const translateX = drawerPosition === 'left' ? minmax(translationX.value + touchDistance, -drawerWidth, 0) : minmax(translationX.value - touchDistance, 0, drawerWidth);
223
201
  return translateX;
224
202
  });
225
-
226
203
  const isRTL = _reactNative.I18nManager.getConstants().isRTL;
227
-
228
204
  const drawerAnimatedStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => {
229
205
  const distanceFromEdge = dimensions.width - drawerWidth;
230
206
  return {
231
- transform: drawerType === 'permanent' ? // Reanimated needs the property to be present, but it results in Browser bug
207
+ transform: drawerType === 'permanent' ?
208
+ // Reanimated needs the property to be present, but it results in Browser bug
232
209
  // https://bugs.chromium.org/p/chromium/issues/detail?id=20574
233
210
  [] : [{
234
- translateX: // The drawer stays in place when `drawerType` is `back`
211
+ translateX:
212
+ // The drawer stays in place when `drawerType` is `back`
235
213
  (drawerType === 'back' ? 0 : translateX.value) + (drawerPosition === 'left' ? isRTL ? -distanceFromEdge : 0 : isRTL ? 0 : distanceFromEdge)
236
214
  }]
237
215
  };
238
216
  });
239
217
  const contentAnimatedStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => {
240
218
  return {
241
- transform: drawerType === 'permanent' ? // Reanimated needs the property to be present, but it results in Browser bug
219
+ transform: drawerType === 'permanent' ?
220
+ // Reanimated needs the property to be present, but it results in Browser bug
242
221
  // https://bugs.chromium.org/p/chromium/issues/detail?id=20574
243
222
  [] : [{
244
- translateX: // The screen content stays in place when `drawerType` is `front`
223
+ translateX:
224
+ // The screen content stays in place when `drawerType` is `front`
245
225
  drawerType === 'front' ? 0 : translateX.value + drawerWidth * (drawerPosition === 'left' ? 1 : -1)
246
226
  }]
247
227
  };
@@ -280,7 +260,6 @@ function Drawer(_ref) {
280
260
  }, drawerAnimatedStyle, drawerStyle]
281
261
  }, renderDrawerContent()))));
282
262
  }
283
-
284
263
  const styles = _reactNative.StyleSheet.create({
285
264
  container: {
286
265
  top: 0,
@@ -1 +1 @@
1
- {"version":3,"names":["SWIPE_DISTANCE_MINIMUM","DEFAULT_DRAWER_WIDTH","minmax","value","start","end","Math","min","max","Drawer","dimensions","drawerPosition","drawerStyle","drawerType","gestureHandlerProps","hideStatusBarOnOpen","keyboardDismissMode","onClose","onOpen","open","overlayStyle","renderDrawerContent","renderSceneContent","statusBarAnimation","swipeDistanceThreshold","swipeEdgeWidth","swipeEnabled","swipeVelocityThreshold","getDrawerWidth","width","StyleSheet","flatten","endsWith","percentage","Number","replace","isFinite","drawerWidth","isOpen","isRight","getDrawerTranslationX","React","useCallback","hideStatusBar","hide","StatusBar","setHidden","useEffect","interactionHandleRef","useRef","startInteraction","current","InteractionManager","createInteractionHandle","endInteraction","clearInteractionHandle","hideKeyboard","Keyboard","dismiss","onGestureStart","onGestureFinish","hitSlop","right","undefined","left","touchStartX","useSharedValue","touchX","translationX","gestureState","GestureState","UNDETERMINED","toggleDrawer","velocity","translateX","withSpring","stiffness","damping","mass","overshootClamping","restDisplacementThreshold","restSpeedThreshold","runOnJS","onGestureEvent","useAnimatedGestureHandler","onStart","event","ctx","hasCalledOnStart","startX","state","x","onActive","onEnd","nextOpen","abs","velocityX","onFinish","useDerivedValue","touchDistance","ACTIVE","isRTL","I18nManager","getConstants","drawerAnimatedStyle","useAnimatedStyle","distanceFromEdge","transform","contentAnimatedStyle","progress","interpolate","styles","main","flexDirection","content","Platform","OS","container","position","zIndex","create","top","bottom","maxWidth","flex","select","web","default","overflow"],"sources":["Drawer.tsx"],"sourcesContent":["import * as React from 'react';\nimport {\n I18nManager,\n InteractionManager,\n Keyboard,\n Platform,\n StatusBar,\n StyleSheet,\n View,\n} from 'react-native';\nimport {\n PanGestureHandler,\n PanGestureHandlerGestureEvent,\n State as GestureState,\n} from 'react-native-gesture-handler';\nimport Animated, {\n interpolate,\n runOnJS,\n useAnimatedGestureHandler,\n useAnimatedStyle,\n useDerivedValue,\n useSharedValue,\n withSpring,\n} from 'react-native-reanimated';\n\nimport type { DrawerProps } from '../../types';\nimport DrawerProgressContext from '../../utils/DrawerProgressContext';\nimport Overlay from './Overlay';\n\nconst SWIPE_DISTANCE_MINIMUM = 5;\nconst DEFAULT_DRAWER_WIDTH = '80%';\n\nconst minmax = (value: number, start: number, end: number) => {\n 'worklet';\n\n return Math.min(Math.max(value, start), end);\n};\n\nexport default function Drawer({\n dimensions,\n drawerPosition,\n drawerStyle,\n drawerType,\n gestureHandlerProps,\n hideStatusBarOnOpen,\n keyboardDismissMode,\n onClose,\n onOpen,\n open,\n overlayStyle,\n renderDrawerContent,\n renderSceneContent,\n statusBarAnimation,\n swipeDistanceThreshold,\n swipeEdgeWidth,\n swipeEnabled,\n swipeVelocityThreshold,\n}: DrawerProps) {\n const getDrawerWidth = (): number => {\n const { width = DEFAULT_DRAWER_WIDTH } =\n StyleSheet.flatten(drawerStyle) || {};\n\n if (typeof width === 'string' && width.endsWith('%')) {\n // Try to calculate width if a percentage is given\n const percentage = Number(width.replace(/%$/, ''));\n\n if (Number.isFinite(percentage)) {\n return dimensions.width * (percentage / 100);\n }\n }\n\n return typeof width === 'number' ? width : 0;\n };\n\n const drawerWidth = getDrawerWidth();\n\n const isOpen = drawerType === 'permanent' ? true : open;\n const isRight = drawerPosition === 'right';\n\n const getDrawerTranslationX = React.useCallback(\n (open: boolean) => {\n 'worklet';\n\n if (drawerPosition === 'left') {\n return open ? 0 : -drawerWidth;\n }\n\n return open ? 0 : drawerWidth;\n },\n [drawerPosition, drawerWidth]\n );\n\n const hideStatusBar = React.useCallback(\n (hide: boolean) => {\n if (hideStatusBarOnOpen) {\n StatusBar.setHidden(hide, statusBarAnimation);\n }\n },\n [hideStatusBarOnOpen, statusBarAnimation]\n );\n\n React.useEffect(() => {\n hideStatusBar(isOpen);\n\n return () => hideStatusBar(false);\n }, [isOpen, hideStatusBarOnOpen, statusBarAnimation, hideStatusBar]);\n\n const interactionHandleRef = React.useRef<number | null>(null);\n\n const startInteraction = () => {\n interactionHandleRef.current = InteractionManager.createInteractionHandle();\n };\n\n const endInteraction = () => {\n if (interactionHandleRef.current != null) {\n InteractionManager.clearInteractionHandle(interactionHandleRef.current);\n interactionHandleRef.current = null;\n }\n };\n\n const hideKeyboard = () => {\n if (keyboardDismissMode === 'on-drag') {\n Keyboard.dismiss();\n }\n };\n\n const onGestureStart = () => {\n startInteraction();\n hideKeyboard();\n hideStatusBar(true);\n };\n\n const onGestureFinish = () => {\n endInteraction();\n };\n\n // FIXME: Currently hitSlop is broken when on Android when drawer is on right\n // https://github.com/software-mansion/react-native-gesture-handler/issues/569\n const hitSlop = isRight\n ? // Extend hitSlop to the side of the screen when drawer is closed\n // This lets the user drag the drawer from the side of the screen\n { right: 0, width: isOpen ? undefined : swipeEdgeWidth }\n : { left: 0, width: isOpen ? undefined : swipeEdgeWidth };\n\n const touchStartX = useSharedValue(0);\n const touchX = useSharedValue(0);\n const translationX = useSharedValue(getDrawerTranslationX(open));\n const gestureState = useSharedValue<GestureState>(GestureState.UNDETERMINED);\n\n const toggleDrawer = React.useCallback(\n (open: boolean, velocity?: number) => {\n 'worklet';\n\n const translateX = getDrawerTranslationX(open);\n\n touchStartX.value = 0;\n touchX.value = 0;\n translationX.value = withSpring(translateX, {\n velocity,\n stiffness: 1000,\n damping: 500,\n mass: 3,\n overshootClamping: true,\n restDisplacementThreshold: 0.01,\n restSpeedThreshold: 0.01,\n });\n\n if (open) {\n runOnJS(onOpen)();\n } else {\n runOnJS(onClose)();\n }\n },\n [getDrawerTranslationX, onClose, onOpen, touchStartX, touchX, translationX]\n );\n\n React.useEffect(() => toggleDrawer(open), [open, toggleDrawer]);\n\n const onGestureEvent = useAnimatedGestureHandler<\n PanGestureHandlerGestureEvent,\n { startX: number; hasCalledOnStart: boolean }\n >({\n onStart: (event, ctx) => {\n ctx.hasCalledOnStart = false;\n ctx.startX = translationX.value;\n gestureState.value = event.state;\n touchStartX.value = event.x;\n },\n onActive: (event, ctx) => {\n touchX.value = event.x;\n translationX.value = ctx.startX + event.translationX;\n gestureState.value = event.state;\n\n // onStart will _always_ be called, even when the activation\n // criteria isn't met yet. This makes sure onGestureStart is only\n // called when the criteria is really met.\n if (!ctx.hasCalledOnStart) {\n ctx.hasCalledOnStart = true;\n runOnJS(onGestureStart)();\n }\n },\n onEnd: (event) => {\n gestureState.value = event.state;\n\n const nextOpen =\n (Math.abs(event.translationX) > SWIPE_DISTANCE_MINIMUM &&\n Math.abs(event.translationX) > swipeVelocityThreshold) ||\n Math.abs(event.translationX) > swipeDistanceThreshold\n ? drawerPosition === 'left'\n ? // If swiped to right, open the drawer, otherwise close it\n (event.velocityX === 0 ? event.translationX : event.velocityX) > 0\n : // If swiped to left, open the drawer, otherwise close it\n (event.velocityX === 0 ? event.translationX : event.velocityX) < 0\n : open;\n\n toggleDrawer(nextOpen, event.velocityX);\n },\n onFinish: () => {\n runOnJS(onGestureFinish)();\n },\n });\n\n const translateX = useDerivedValue(() => {\n // Comment stolen from react-native-gesture-handler/DrawerLayout\n //\n // While closing the drawer when user starts gesture outside of its area (in greyed\n // out part of the window), we want the drawer to follow only once finger reaches the\n // edge of the drawer.\n // E.g. on the diagram below drawer is illustrate by X signs and the greyed out area by\n // dots. The touch gesture starts at '*' and moves left, touch path is indicated by\n // an arrow pointing left\n // 1) +---------------+ 2) +---------------+ 3) +---------------+ 4) +---------------+\n // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|\n // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|\n // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|\n // |XXXXXXXX|......| |XXXXXXXX|.<-*..| |XXXXXXXX|<--*..| |XXXXX|<-----*..|\n // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|\n // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|\n // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|\n // +---------------+ +---------------+ +---------------+ +---------------+\n //\n // For the above to work properly we define animated value that will keep start position\n // of the gesture. Then we use that value to calculate how much we need to subtract from\n // the translationX. If the gesture started on the greyed out area we take the distance from the\n // edge of the drawer to the start position. Otherwise we don't subtract at all and the\n // drawer be pulled back as soon as you start the pan.\n //\n // This is used only when drawerType is \"front\"\n const touchDistance =\n drawerType === 'front' && gestureState.value === GestureState.ACTIVE\n ? minmax(\n drawerPosition === 'left'\n ? touchStartX.value - drawerWidth\n : dimensions.width - drawerWidth - touchStartX.value,\n 0,\n dimensions.width\n )\n : 0;\n\n const translateX =\n drawerPosition === 'left'\n ? minmax(translationX.value + touchDistance, -drawerWidth, 0)\n : minmax(translationX.value - touchDistance, 0, drawerWidth);\n\n return translateX;\n });\n\n const isRTL = I18nManager.getConstants().isRTL;\n const drawerAnimatedStyle = useAnimatedStyle(() => {\n const distanceFromEdge = dimensions.width - drawerWidth;\n\n return {\n transform:\n drawerType === 'permanent'\n ? // Reanimated needs the property to be present, but it results in Browser bug\n // https://bugs.chromium.org/p/chromium/issues/detail?id=20574\n []\n : [\n {\n translateX:\n // The drawer stays in place when `drawerType` is `back`\n (drawerType === 'back' ? 0 : translateX.value) +\n (drawerPosition === 'left'\n ? isRTL\n ? -distanceFromEdge\n : 0\n : isRTL\n ? 0\n : distanceFromEdge),\n },\n ],\n };\n });\n\n const contentAnimatedStyle = useAnimatedStyle(() => {\n return {\n transform:\n drawerType === 'permanent'\n ? // Reanimated needs the property to be present, but it results in Browser bug\n // https://bugs.chromium.org/p/chromium/issues/detail?id=20574\n []\n : [\n {\n translateX:\n // The screen content stays in place when `drawerType` is `front`\n drawerType === 'front'\n ? 0\n : translateX.value +\n drawerWidth * (drawerPosition === 'left' ? 1 : -1),\n },\n ],\n };\n });\n\n const progress = useDerivedValue(() => {\n return drawerType === 'permanent'\n ? 1\n : interpolate(\n translateX.value,\n [getDrawerTranslationX(false), getDrawerTranslationX(true)],\n [0, 1]\n );\n });\n\n return (\n <DrawerProgressContext.Provider value={progress}>\n <PanGestureHandler\n activeOffsetX={[-SWIPE_DISTANCE_MINIMUM, SWIPE_DISTANCE_MINIMUM]}\n failOffsetY={[-SWIPE_DISTANCE_MINIMUM, SWIPE_DISTANCE_MINIMUM]}\n hitSlop={hitSlop}\n enabled={drawerType !== 'permanent' && swipeEnabled}\n onGestureEvent={onGestureEvent}\n {...gestureHandlerProps}\n >\n {/* Immediate child of gesture handler needs to be an Animated.View */}\n <Animated.View\n style={[\n styles.main,\n {\n flexDirection:\n drawerType === 'permanent' && !isRight ? 'row-reverse' : 'row',\n },\n ]}\n >\n <Animated.View style={[styles.content, contentAnimatedStyle]}>\n <View\n accessibilityElementsHidden={isOpen && drawerType !== 'permanent'}\n importantForAccessibility={\n isOpen && drawerType !== 'permanent'\n ? 'no-hide-descendants'\n : 'auto'\n }\n style={styles.content}\n >\n {renderSceneContent()}\n </View>\n {drawerType !== 'permanent' ? (\n <Overlay\n progress={progress}\n onPress={() => toggleDrawer(false)}\n style={overlayStyle}\n />\n ) : null}\n </Animated.View>\n <Animated.View\n accessibilityViewIsModal={isOpen && drawerType !== 'permanent'}\n removeClippedSubviews={Platform.OS !== 'ios'}\n style={[\n styles.container,\n {\n position: drawerType === 'permanent' ? 'relative' : 'absolute',\n zIndex: drawerType === 'back' ? -1 : 0,\n },\n drawerAnimatedStyle,\n drawerStyle as any,\n ]}\n >\n {renderDrawerContent()}\n </Animated.View>\n </Animated.View>\n </PanGestureHandler>\n </DrawerProgressContext.Provider>\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n top: 0,\n bottom: 0,\n maxWidth: '100%',\n width: DEFAULT_DRAWER_WIDTH,\n },\n content: {\n flex: 1,\n },\n main: {\n flex: 1,\n ...Platform.select({\n // FIXME: We need to hide `overflowX` on Web so the translated content doesn't show offscreen.\n // But adding `overflowX: 'hidden'` prevents content from collapsing the URL bar.\n web: null,\n default: { overflow: 'hidden' },\n }),\n },\n});\n"],"mappings":"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"}
1
+ {"version":3,"names":["SWIPE_DISTANCE_MINIMUM","DEFAULT_DRAWER_WIDTH","minmax","value","start","end","Math","min","max","Drawer","dimensions","drawerPosition","drawerStyle","drawerType","gestureHandlerProps","hideStatusBarOnOpen","keyboardDismissMode","onClose","onOpen","open","overlayStyle","renderDrawerContent","renderSceneContent","statusBarAnimation","swipeDistanceThreshold","swipeEdgeWidth","swipeEnabled","swipeVelocityThreshold","getDrawerWidth","width","StyleSheet","flatten","endsWith","percentage","Number","replace","isFinite","drawerWidth","isOpen","isRight","getDrawerTranslationX","React","useCallback","hideStatusBar","hide","StatusBar","setHidden","useEffect","interactionHandleRef","useRef","startInteraction","current","InteractionManager","createInteractionHandle","endInteraction","clearInteractionHandle","hideKeyboard","Keyboard","dismiss","onGestureStart","onGestureFinish","hitSlop","right","undefined","left","touchStartX","useSharedValue","touchX","translationX","gestureState","GestureState","UNDETERMINED","toggleDrawer","velocity","translateX","withSpring","stiffness","damping","mass","overshootClamping","restDisplacementThreshold","restSpeedThreshold","runOnJS","onGestureEvent","useAnimatedGestureHandler","onStart","event","ctx","hasCalledOnStart","startX","state","x","onActive","onEnd","nextOpen","abs","velocityX","onFinish","useDerivedValue","touchDistance","ACTIVE","isRTL","I18nManager","getConstants","drawerAnimatedStyle","useAnimatedStyle","distanceFromEdge","transform","contentAnimatedStyle","progress","interpolate","styles","main","flexDirection","content","Platform","OS","container","position","zIndex","create","top","bottom","maxWidth","flex","select","web","default","overflow"],"sourceRoot":"../../src","sources":["Drawer.tsx"],"mappings":";;;;;;AAAA;AACA;AASA;AAKA;AAWA;AACA;AAAgC;AAAA;AAAA;AAAA;AAEhC,MAAMA,sBAAsB,GAAG,CAAC;AAChC,MAAMC,oBAAoB,GAAG,KAAK;AAElC,MAAMC,MAAM,GAAG,CAACC,KAAa,EAAEC,KAAa,EAAEC,GAAW,KAAK;EAC5D,SAAS;;EAET,OAAOC,IAAI,CAACC,GAAG,CAACD,IAAI,CAACE,GAAG,CAACL,KAAK,EAAEC,KAAK,CAAC,EAAEC,GAAG,CAAC;AAC9C,CAAC;AAEc,SAASI,MAAM,OAmBd;EAAA,IAnBe;IAC7BC,UAAU;IACVC,cAAc;IACdC,WAAW;IACXC,UAAU;IACVC,mBAAmB;IACnBC,mBAAmB;IACnBC,mBAAmB;IACnBC,OAAO;IACPC,MAAM;IACNC,IAAI;IACJC,YAAY;IACZC,mBAAmB;IACnBC,kBAAkB;IAClBC,kBAAkB;IAClBC,sBAAsB;IACtBC,cAAc;IACdC,YAAY;IACZC;EACW,CAAC;EACZ,MAAMC,cAAc,GAAG,MAAc;IACnC,MAAM;MAAEC,KAAK,GAAG5B;IAAqB,CAAC,GACpC6B,uBAAU,CAACC,OAAO,CAACnB,WAAW,CAAC,IAAI,CAAC,CAAC;IAEvC,IAAI,OAAOiB,KAAK,KAAK,QAAQ,IAAIA,KAAK,CAACG,QAAQ,CAAC,GAAG,CAAC,EAAE;MACpD;MACA,MAAMC,UAAU,GAAGC,MAAM,CAACL,KAAK,CAACM,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;MAElD,IAAID,MAAM,CAACE,QAAQ,CAACH,UAAU,CAAC,EAAE;QAC/B,OAAOvB,UAAU,CAACmB,KAAK,IAAII,UAAU,GAAG,GAAG,CAAC;MAC9C;IACF;IAEA,OAAO,OAAOJ,KAAK,KAAK,QAAQ,GAAGA,KAAK,GAAG,CAAC;EAC9C,CAAC;EAED,MAAMQ,WAAW,GAAGT,cAAc,EAAE;EAEpC,MAAMU,MAAM,GAAGzB,UAAU,KAAK,WAAW,GAAG,IAAI,GAAGM,IAAI;EACvD,MAAMoB,OAAO,GAAG5B,cAAc,KAAK,OAAO;EAE1C,MAAM6B,qBAAqB,GAAGC,KAAK,CAACC,WAAW,CAC5CvB,IAAa,IAAK;IACjB,SAAS;;IAET,IAAIR,cAAc,KAAK,MAAM,EAAE;MAC7B,OAAOQ,IAAI,GAAG,CAAC,GAAG,CAACkB,WAAW;IAChC;IAEA,OAAOlB,IAAI,GAAG,CAAC,GAAGkB,WAAW;EAC/B,CAAC,EACD,CAAC1B,cAAc,EAAE0B,WAAW,CAAC,CAC9B;EAED,MAAMM,aAAa,GAAGF,KAAK,CAACC,WAAW,CACpCE,IAAa,IAAK;IACjB,IAAI7B,mBAAmB,EAAE;MACvB8B,sBAAS,CAACC,SAAS,CAACF,IAAI,EAAErB,kBAAkB,CAAC;IAC/C;EACF,CAAC,EACD,CAACR,mBAAmB,EAAEQ,kBAAkB,CAAC,CAC1C;EAEDkB,KAAK,CAACM,SAAS,CAAC,MAAM;IACpBJ,aAAa,CAACL,MAAM,CAAC;IAErB,OAAO,MAAMK,aAAa,CAAC,KAAK,CAAC;EACnC,CAAC,EAAE,CAACL,MAAM,EAAEvB,mBAAmB,EAAEQ,kBAAkB,EAAEoB,aAAa,CAAC,CAAC;EAEpE,MAAMK,oBAAoB,GAAGP,KAAK,CAACQ,MAAM,CAAgB,IAAI,CAAC;EAE9D,MAAMC,gBAAgB,GAAG,MAAM;IAC7BF,oBAAoB,CAACG,OAAO,GAAGC,+BAAkB,CAACC,uBAAuB,EAAE;EAC7E,CAAC;EAED,MAAMC,cAAc,GAAG,MAAM;IAC3B,IAAIN,oBAAoB,CAACG,OAAO,IAAI,IAAI,EAAE;MACxCC,+BAAkB,CAACG,sBAAsB,CAACP,oBAAoB,CAACG,OAAO,CAAC;MACvEH,oBAAoB,CAACG,OAAO,GAAG,IAAI;IACrC;EACF,CAAC;EAED,MAAMK,YAAY,GAAG,MAAM;IACzB,IAAIxC,mBAAmB,KAAK,SAAS,EAAE;MACrCyC,qBAAQ,CAACC,OAAO,EAAE;IACpB;EACF,CAAC;EAED,MAAMC,cAAc,GAAG,MAAM;IAC3BT,gBAAgB,EAAE;IAClBM,YAAY,EAAE;IACdb,aAAa,CAAC,IAAI,CAAC;EACrB,CAAC;EAED,MAAMiB,eAAe,GAAG,MAAM;IAC5BN,cAAc,EAAE;EAClB,CAAC;;EAED;EACA;EACA,MAAMO,OAAO,GAAGtB,OAAO;EACnB;EACA;EACA;IAAEuB,KAAK,EAAE,CAAC;IAAEjC,KAAK,EAAES,MAAM,GAAGyB,SAAS,GAAGtC;EAAe,CAAC,GACxD;IAAEuC,IAAI,EAAE,CAAC;IAAEnC,KAAK,EAAES,MAAM,GAAGyB,SAAS,GAAGtC;EAAe,CAAC;EAE3D,MAAMwC,WAAW,GAAG,IAAAC,qCAAc,EAAC,CAAC,CAAC;EACrC,MAAMC,MAAM,GAAG,IAAAD,qCAAc,EAAC,CAAC,CAAC;EAChC,MAAME,YAAY,GAAG,IAAAF,qCAAc,EAAC1B,qBAAqB,CAACrB,IAAI,CAAC,CAAC;EAChE,MAAMkD,YAAY,GAAG,IAAAH,qCAAc,EAAeI,gCAAY,CAACC,YAAY,CAAC;EAE5E,MAAMC,YAAY,GAAG/B,KAAK,CAACC,WAAW,CACpC,CAACvB,IAAa,EAAEsD,QAAiB,KAAK;IACpC,SAAS;;IAET,MAAMC,UAAU,GAAGlC,qBAAqB,CAACrB,IAAI,CAAC;IAE9C8C,WAAW,CAAC9D,KAAK,GAAG,CAAC;IACrBgE,MAAM,CAAChE,KAAK,GAAG,CAAC;IAChBiE,YAAY,CAACjE,KAAK,GAAG,IAAAwE,iCAAU,EAACD,UAAU,EAAE;MAC1CD,QAAQ;MACRG,SAAS,EAAE,IAAI;MACfC,OAAO,EAAE,GAAG;MACZC,IAAI,EAAE,CAAC;MACPC,iBAAiB,EAAE,IAAI;MACvBC,yBAAyB,EAAE,IAAI;MAC/BC,kBAAkB,EAAE;IACtB,CAAC,CAAC;IAEF,IAAI9D,IAAI,EAAE;MACR,IAAA+D,8BAAO,EAAChE,MAAM,CAAC,EAAE;IACnB,CAAC,MAAM;MACL,IAAAgE,8BAAO,EAACjE,OAAO,CAAC,EAAE;IACpB;EACF,CAAC,EACD,CAACuB,qBAAqB,EAAEvB,OAAO,EAAEC,MAAM,EAAE+C,WAAW,EAAEE,MAAM,EAAEC,YAAY,CAAC,CAC5E;EAED3B,KAAK,CAACM,SAAS,CAAC,MAAMyB,YAAY,CAACrD,IAAI,CAAC,EAAE,CAACA,IAAI,EAAEqD,YAAY,CAAC,CAAC;EAE/D,MAAMW,cAAc,GAAG,IAAAC,gDAAyB,EAG9C;IACAC,OAAO,EAAE,CAACC,KAAK,EAAEC,GAAG,KAAK;MACvBA,GAAG,CAACC,gBAAgB,GAAG,KAAK;MAC5BD,GAAG,CAACE,MAAM,GAAGrB,YAAY,CAACjE,KAAK;MAC/BkE,YAAY,CAAClE,KAAK,GAAGmF,KAAK,CAACI,KAAK;MAChCzB,WAAW,CAAC9D,KAAK,GAAGmF,KAAK,CAACK,CAAC;IAC7B,CAAC;IACDC,QAAQ,EAAE,CAACN,KAAK,EAAEC,GAAG,KAAK;MACxBpB,MAAM,CAAChE,KAAK,GAAGmF,KAAK,CAACK,CAAC;MACtBvB,YAAY,CAACjE,KAAK,GAAGoF,GAAG,CAACE,MAAM,GAAGH,KAAK,CAAClB,YAAY;MACpDC,YAAY,CAAClE,KAAK,GAAGmF,KAAK,CAACI,KAAK;;MAEhC;MACA;MACA;MACA,IAAI,CAACH,GAAG,CAACC,gBAAgB,EAAE;QACzBD,GAAG,CAACC,gBAAgB,GAAG,IAAI;QAC3B,IAAAN,8BAAO,EAACvB,cAAc,CAAC,EAAE;MAC3B;IACF,CAAC;IACDkC,KAAK,EAAGP,KAAK,IAAK;MAChBjB,YAAY,CAAClE,KAAK,GAAGmF,KAAK,CAACI,KAAK;MAEhC,MAAMI,QAAQ,GACXxF,IAAI,CAACyF,GAAG,CAACT,KAAK,CAAClB,YAAY,CAAC,GAAGpE,sBAAsB,IACpDM,IAAI,CAACyF,GAAG,CAACT,KAAK,CAAClB,YAAY,CAAC,GAAGzC,sBAAsB,IACvDrB,IAAI,CAACyF,GAAG,CAACT,KAAK,CAAClB,YAAY,CAAC,GAAG5C,sBAAsB,GACjDb,cAAc,KAAK,MAAM;MACvB;MACA,CAAC2E,KAAK,CAACU,SAAS,KAAK,CAAC,GAAGV,KAAK,CAAClB,YAAY,GAAGkB,KAAK,CAACU,SAAS,IAAI,CAAC;MAClE;MACA,CAACV,KAAK,CAACU,SAAS,KAAK,CAAC,GAAGV,KAAK,CAAClB,YAAY,GAAGkB,KAAK,CAACU,SAAS,IAAI,CAAC,GACpE7E,IAAI;MAEVqD,YAAY,CAACsB,QAAQ,EAAER,KAAK,CAACU,SAAS,CAAC;IACzC,CAAC;IACDC,QAAQ,EAAE,MAAM;MACd,IAAAf,8BAAO,EAACtB,eAAe,CAAC,EAAE;IAC5B;EACF,CAAC,CAAC;EAEF,MAAMc,UAAU,GAAG,IAAAwB,sCAAe,EAAC,MAAM;IACvC;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,MAAMC,aAAa,GACjBtF,UAAU,KAAK,OAAO,IAAIwD,YAAY,CAAClE,KAAK,KAAKmE,gCAAY,CAAC8B,MAAM,GAChElG,MAAM,CACJS,cAAc,KAAK,MAAM,GACrBsD,WAAW,CAAC9D,KAAK,GAAGkC,WAAW,GAC/B3B,UAAU,CAACmB,KAAK,GAAGQ,WAAW,GAAG4B,WAAW,CAAC9D,KAAK,EACtD,CAAC,EACDO,UAAU,CAACmB,KAAK,CACjB,GACD,CAAC;IAEP,MAAM6C,UAAU,GACd/D,cAAc,KAAK,MAAM,GACrBT,MAAM,CAACkE,YAAY,CAACjE,KAAK,GAAGgG,aAAa,EAAE,CAAC9D,WAAW,EAAE,CAAC,CAAC,GAC3DnC,MAAM,CAACkE,YAAY,CAACjE,KAAK,GAAGgG,aAAa,EAAE,CAAC,EAAE9D,WAAW,CAAC;IAEhE,OAAOqC,UAAU;EACnB,CAAC,CAAC;EAEF,MAAM2B,KAAK,GAAGC,wBAAW,CAACC,YAAY,EAAE,CAACF,KAAK;EAC9C,MAAMG,mBAAmB,GAAG,IAAAC,uCAAgB,EAAC,MAAM;IACjD,MAAMC,gBAAgB,GAAGhG,UAAU,CAACmB,KAAK,GAAGQ,WAAW;IAEvD,OAAO;MACLsE,SAAS,EACP9F,UAAU,KAAK,WAAW;MACtB;MACA;MACA,EAAE,GACF,CACE;QACE6D,UAAU;QACR;QACA,CAAC7D,UAAU,KAAK,MAAM,GAAG,CAAC,GAAG6D,UAAU,CAACvE,KAAK,KAC5CQ,cAAc,KAAK,MAAM,GACtB0F,KAAK,GACH,CAACK,gBAAgB,GACjB,CAAC,GACHL,KAAK,GACL,CAAC,GACDK,gBAAgB;MACxB,CAAC;IAEX,CAAC;EACH,CAAC,CAAC;EAEF,MAAME,oBAAoB,GAAG,IAAAH,uCAAgB,EAAC,MAAM;IAClD,OAAO;MACLE,SAAS,EACP9F,UAAU,KAAK,WAAW;MACtB;MACA;MACA,EAAE,GACF,CACE;QACE6D,UAAU;QACR;QACA7D,UAAU,KAAK,OAAO,GAClB,CAAC,GACD6D,UAAU,CAACvE,KAAK,GAChBkC,WAAW,IAAI1B,cAAc,KAAK,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;MACzD,CAAC;IAEX,CAAC;EACH,CAAC,CAAC;EAEF,MAAMkG,QAAQ,GAAG,IAAAX,sCAAe,EAAC,MAAM;IACrC,OAAOrF,UAAU,KAAK,WAAW,GAC7B,CAAC,GACD,IAAAiG,kCAAW,EACTpC,UAAU,CAACvE,KAAK,EAChB,CAACqC,qBAAqB,CAAC,KAAK,CAAC,EAAEA,qBAAqB,CAAC,IAAI,CAAC,CAAC,EAC3D,CAAC,CAAC,EAAE,CAAC,CAAC,CACP;EACP,CAAC,CAAC;EAEF,oBACE,oBAAC,8BAAqB,CAAC,QAAQ;IAAC,KAAK,EAAEqE;EAAS,gBAC9C,oBAAC,4CAAiB;IAChB,aAAa,EAAE,CAAC,CAAC7G,sBAAsB,EAAEA,sBAAsB,CAAE;IACjE,WAAW,EAAE,CAAC,CAACA,sBAAsB,EAAEA,sBAAsB,CAAE;IAC/D,OAAO,EAAE6D,OAAQ;IACjB,OAAO,EAAEhD,UAAU,KAAK,WAAW,IAAIa,YAAa;IACpD,cAAc,EAAEyD;EAAe,GAC3BrE,mBAAmB,gBAGvB,oBAAC,8BAAQ,CAAC,IAAI;IACZ,KAAK,EAAE,CACLiG,MAAM,CAACC,IAAI,EACX;MACEC,aAAa,EACXpG,UAAU,KAAK,WAAW,IAAI,CAAC0B,OAAO,GAAG,aAAa,GAAG;IAC7D,CAAC;EACD,gBAEF,oBAAC,8BAAQ,CAAC,IAAI;IAAC,KAAK,EAAE,CAACwE,MAAM,CAACG,OAAO,EAAEN,oBAAoB;EAAE,gBAC3D,oBAAC,iBAAI;IACH,2BAA2B,EAAEtE,MAAM,IAAIzB,UAAU,KAAK,WAAY;IAClE,yBAAyB,EACvByB,MAAM,IAAIzB,UAAU,KAAK,WAAW,GAChC,qBAAqB,GACrB,MACL;IACD,KAAK,EAAEkG,MAAM,CAACG;EAAQ,GAErB5F,kBAAkB,EAAE,CAChB,EACNT,UAAU,KAAK,WAAW,gBACzB,oBAAC,gBAAO;IACN,QAAQ,EAAEgG,QAAS;IACnB,OAAO,EAAE,MAAMrC,YAAY,CAAC,KAAK,CAAE;IACnC,KAAK,EAAEpD;EAAa,EACpB,GACA,IAAI,CACM,eAChB,oBAAC,8BAAQ,CAAC,IAAI;IACZ,wBAAwB,EAAEkB,MAAM,IAAIzB,UAAU,KAAK,WAAY;IAC/D,qBAAqB,EAAEsG,qBAAQ,CAACC,EAAE,KAAK,KAAM;IAC7C,KAAK,EAAE,CACLL,MAAM,CAACM,SAAS,EAChB;MACEC,QAAQ,EAAEzG,UAAU,KAAK,WAAW,GAAG,UAAU,GAAG,UAAU;MAC9D0G,MAAM,EAAE1G,UAAU,KAAK,MAAM,GAAG,CAAC,CAAC,GAAG;IACvC,CAAC,EACD2F,mBAAmB,EACnB5F,WAAW;EACX,GAEDS,mBAAmB,EAAE,CACR,CACF,CACE,CACW;AAErC;AAEA,MAAM0F,MAAM,GAAGjF,uBAAU,CAAC0F,MAAM,CAAC;EAC/BH,SAAS,EAAE;IACTI,GAAG,EAAE,CAAC;IACNC,MAAM,EAAE,CAAC;IACTC,QAAQ,EAAE,MAAM;IAChB9F,KAAK,EAAE5B;EACT,CAAC;EACDiH,OAAO,EAAE;IACPU,IAAI,EAAE;EACR,CAAC;EACDZ,IAAI,EAAE;IACJY,IAAI,EAAE,CAAC;IACP,GAAGT,qBAAQ,CAACU,MAAM,CAAC;MACjB;MACA;MACAC,GAAG,EAAE,IAAI;MACTC,OAAO,EAAE;QAAEC,QAAQ,EAAE;MAAS;IAChC,CAAC;EACH;AACF,CAAC,CAAC"}
@@ -4,19 +4,12 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var React = _interopRequireWildcard(require("react"));
9
-
10
8
  var _reactNative = require("react-native");
11
-
12
9
  var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
13
-
14
10
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
15
-
16
11
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
17
-
18
12
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
19
-
20
13
  const PROGRESS_EPSILON = 0.05;
21
14
  const Overlay = /*#__PURE__*/React.forwardRef(function Overlay(_ref, ref) {
22
15
  let {
@@ -50,7 +43,6 @@ const Overlay = /*#__PURE__*/React.forwardRef(function Overlay(_ref, ref) {
50
43
  style: styles.pressable
51
44
  }));
52
45
  });
53
-
54
46
  const overlayStyle = _reactNative.Platform.select({
55
47
  web: {
56
48
  // Disable touch highlight on mobile Safari.
@@ -59,16 +51,16 @@ const overlayStyle = _reactNative.Platform.select({
59
51
  },
60
52
  default: {}
61
53
  });
62
-
63
54
  const styles = _reactNative.StyleSheet.create({
64
- overlay: { ..._reactNative.StyleSheet.absoluteFillObject,
55
+ overlay: {
56
+ ..._reactNative.StyleSheet.absoluteFillObject,
65
57
  backgroundColor: 'rgba(0, 0, 0, 0.5)'
66
58
  },
67
59
  pressable: {
68
- flex: 1
60
+ flex: 1,
61
+ pointerEvents: 'auto'
69
62
  }
70
63
  });
71
-
72
64
  var _default = Overlay;
73
65
  exports.default = _default;
74
66
  //# sourceMappingURL=Overlay.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["PROGRESS_EPSILON","Overlay","React","forwardRef","ref","progress","onPress","style","props","animatedStyle","useAnimatedStyle","opacity","value","zIndex","animatedProps","useAnimatedProps","active","pointerEvents","accessibilityElementsHidden","importantForAccessibility","styles","overlay","overlayStyle","pressable","Platform","select","web","WebkitTapHighlightColor","default","StyleSheet","create","absoluteFillObject","backgroundColor","flex"],"sources":["Overlay.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Platform, Pressable, StyleSheet } from 'react-native';\nimport Animated, {\n useAnimatedProps,\n useAnimatedStyle,\n} from 'react-native-reanimated';\n\nconst PROGRESS_EPSILON = 0.05;\n\ntype Props = React.ComponentProps<typeof Animated.View> & {\n progress: Animated.SharedValue<number>;\n onPress: () => void;\n};\n\nconst Overlay = React.forwardRef(function Overlay(\n { progress, onPress, style, ...props }: Props,\n ref: React.Ref<Animated.View>\n) {\n const animatedStyle = useAnimatedStyle(() => {\n return {\n opacity: progress.value,\n // We don't want the user to be able to press through the overlay when drawer is open\n // We can send the overlay behind the screen to avoid it\n zIndex: progress.value > PROGRESS_EPSILON ? 0 : -1,\n };\n });\n\n const animatedProps = useAnimatedProps(() => {\n const active = progress.value > PROGRESS_EPSILON;\n\n return {\n pointerEvents: active ? 'auto' : 'none',\n accessibilityElementsHidden: !active,\n importantForAccessibility: active ? 'auto' : 'no-hide-descendants',\n } as const;\n });\n\n return (\n <Animated.View\n {...props}\n ref={ref}\n style={[styles.overlay, overlayStyle, animatedStyle, style]}\n animatedProps={animatedProps}\n >\n <Pressable onPress={onPress} style={styles.pressable} />\n </Animated.View>\n );\n});\n\nconst overlayStyle = Platform.select<Record<string, string>>({\n web: {\n // Disable touch highlight on mobile Safari.\n // WebkitTapHighlightColor must be used outside of StyleSheet.create because react-native-web will omit the property.\n WebkitTapHighlightColor: 'transparent',\n },\n default: {},\n});\n\nconst styles = StyleSheet.create({\n overlay: {\n ...StyleSheet.absoluteFillObject,\n backgroundColor: 'rgba(0, 0, 0, 0.5)',\n },\n pressable: {\n flex: 1,\n },\n});\n\nexport default Overlay;\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;;;;;AAKA,MAAMA,gBAAgB,GAAG,IAAzB;AAOA,MAAMC,OAAO,gBAAGC,KAAK,CAACC,UAAN,CAAiB,SAASF,OAAT,OAE/BG,GAF+B,EAG/B;EAAA,IAFA;IAAEC,QAAF;IAAYC,OAAZ;IAAqBC,KAArB;IAA4B,GAAGC;EAA/B,CAEA;EACA,MAAMC,aAAa,GAAG,IAAAC,uCAAA,EAAiB,MAAM;IAC3C,OAAO;MACLC,OAAO,EAAEN,QAAQ,CAACO,KADb;MAEL;MACA;MACAC,MAAM,EAAER,QAAQ,CAACO,KAAT,GAAiBZ,gBAAjB,GAAoC,CAApC,GAAwC,CAAC;IAJ5C,CAAP;EAMD,CAPqB,CAAtB;EASA,MAAMc,aAAa,GAAG,IAAAC,uCAAA,EAAiB,MAAM;IAC3C,MAAMC,MAAM,GAAGX,QAAQ,CAACO,KAAT,GAAiBZ,gBAAhC;IAEA,OAAO;MACLiB,aAAa,EAAED,MAAM,GAAG,MAAH,GAAY,MAD5B;MAELE,2BAA2B,EAAE,CAACF,MAFzB;MAGLG,yBAAyB,EAAEH,MAAM,GAAG,MAAH,GAAY;IAHxC,CAAP;EAKD,CARqB,CAAtB;EAUA,oBACE,oBAAC,8BAAD,CAAU,IAAV,eACMR,KADN;IAEE,GAAG,EAAEJ,GAFP;IAGE,KAAK,EAAE,CAACgB,MAAM,CAACC,OAAR,EAAiBC,YAAjB,EAA+Bb,aAA/B,EAA8CF,KAA9C,CAHT;IAIE,aAAa,EAAEO;EAJjB,iBAME,oBAAC,sBAAD;IAAW,OAAO,EAAER,OAApB;IAA6B,KAAK,EAAEc,MAAM,CAACG;EAA3C,EANF,CADF;AAUD,CAjCe,CAAhB;;AAmCA,MAAMD,YAAY,GAAGE,qBAAA,CAASC,MAAT,CAAwC;EAC3DC,GAAG,EAAE;IACH;IACA;IACAC,uBAAuB,EAAE;EAHtB,CADsD;EAM3DC,OAAO,EAAE;AANkD,CAAxC,CAArB;;AASA,MAAMR,MAAM,GAAGS,uBAAA,CAAWC,MAAX,CAAkB;EAC/BT,OAAO,EAAE,EACP,GAAGQ,uBAAA,CAAWE,kBADP;IAEPC,eAAe,EAAE;EAFV,CADsB;EAK/BT,SAAS,EAAE;IACTU,IAAI,EAAE;EADG;AALoB,CAAlB,CAAf;;eAUehC,O"}
1
+ {"version":3,"names":["PROGRESS_EPSILON","Overlay","React","forwardRef","ref","progress","onPress","style","props","animatedStyle","useAnimatedStyle","opacity","value","zIndex","animatedProps","useAnimatedProps","active","pointerEvents","accessibilityElementsHidden","importantForAccessibility","styles","overlay","overlayStyle","pressable","Platform","select","web","WebkitTapHighlightColor","default","StyleSheet","create","absoluteFillObject","backgroundColor","flex"],"sourceRoot":"../../src","sources":["Overlay.tsx"],"mappings":";;;;;;AAAA;AACA;AACA;AAGiC;AAAA;AAAA;AAEjC,MAAMA,gBAAgB,GAAG,IAAI;AAO7B,MAAMC,OAAO,gBAAGC,KAAK,CAACC,UAAU,CAAC,SAASF,OAAO,OAE/CG,GAA6B,EAC7B;EAAA,IAFA;IAAEC,QAAQ;IAAEC,OAAO;IAAEC,KAAK;IAAE,GAAGC;EAAa,CAAC;EAG7C,MAAMC,aAAa,GAAG,IAAAC,uCAAgB,EAAC,MAAM;IAC3C,OAAO;MACLC,OAAO,EAAEN,QAAQ,CAACO,KAAK;MACvB;MACA;MACAC,MAAM,EAAER,QAAQ,CAACO,KAAK,GAAGZ,gBAAgB,GAAG,CAAC,GAAG,CAAC;IACnD,CAAC;EACH,CAAC,CAAC;EAEF,MAAMc,aAAa,GAAG,IAAAC,uCAAgB,EAAC,MAAM;IAC3C,MAAMC,MAAM,GAAGX,QAAQ,CAACO,KAAK,GAAGZ,gBAAgB;IAEhD,OAAO;MACLiB,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,8BAAQ,CAAC,IAAI,eACRR,KAAK;IACT,GAAG,EAAEJ,GAAI;IACT,KAAK,EAAE,CAACgB,MAAM,CAACC,OAAO,EAAEC,YAAY,EAAEb,aAAa,EAAEF,KAAK,CAAE;IAC5D,aAAa,EAAEO;EAAc,iBAE7B,oBAAC,sBAAS;IAAC,OAAO,EAAER,OAAQ;IAAC,KAAK,EAAEc,MAAM,CAACG;EAAU,EAAG,CAC1C;AAEpB,CAAC,CAAC;AAEF,MAAMD,YAAY,GAAGE,qBAAQ,CAACC,MAAM,CAAyB;EAC3DC,GAAG,EAAE;IACH;IACA;IACAC,uBAAuB,EAAE;EAC3B,CAAC;EACDC,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEF,MAAMR,MAAM,GAAGS,uBAAU,CAACC,MAAM,CAAC;EAC/BT,OAAO,EAAE;IACP,GAAGQ,uBAAU,CAACE,kBAAkB;IAChCC,eAAe,EAAE;EACnB,CAAC;EACDT,SAAS,EAAE;IACTU,IAAI,EAAE,CAAC;IACPhB,aAAa,EAAE;EACjB;AACF,CAAC,CAAC;AAAC,eAEYhB,OAAO;AAAA"}
@@ -2,25 +2,27 @@
2
2
  * Navigators
3
3
  */
4
4
  export { default as createDrawerNavigator } from './navigators/createDrawerNavigator';
5
+
5
6
  /**
6
7
  * Views
7
8
  */
8
-
9
9
  export { default as DrawerContent } from './views/DrawerContent';
10
10
  export { default as DrawerContentScrollView } from './views/DrawerContentScrollView';
11
11
  export { default as DrawerItem } from './views/DrawerItem';
12
12
  export { default as DrawerItemList } from './views/DrawerItemList';
13
13
  export { default as DrawerToggleButton } from './views/DrawerToggleButton';
14
14
  export { default as DrawerView } from './views/DrawerView';
15
+
15
16
  /**
16
17
  * Utilities
17
18
  */
18
-
19
19
  export { default as DrawerGestureContext } from './utils/DrawerGestureContext';
20
20
  export { default as DrawerProgressContext } from './utils/DrawerProgressContext';
21
+ export { default as DrawerStatusContext } from './utils/DrawerStatusContext';
21
22
  export { default as getDrawerStatusFromState } from './utils/getDrawerStatusFromState';
22
23
  export { default as useDrawerProgress } from './utils/useDrawerProgress';
23
24
  export { default as useDrawerStatus } from './utils/useDrawerStatus';
25
+
24
26
  /**
25
27
  * Types
26
28
  */
@@ -1 +1 @@
1
- {"version":3,"names":["default","createDrawerNavigator","DrawerContent","DrawerContentScrollView","DrawerItem","DrawerItemList","DrawerToggleButton","DrawerView","DrawerGestureContext","DrawerProgressContext","getDrawerStatusFromState","useDrawerProgress","useDrawerStatus"],"sources":["index.tsx"],"sourcesContent":["/**\n * Navigators\n */\nexport { default as createDrawerNavigator } from './navigators/createDrawerNavigator';\n\n/**\n * Views\n */\nexport { default as DrawerContent } from './views/DrawerContent';\nexport { default as DrawerContentScrollView } from './views/DrawerContentScrollView';\nexport { default as DrawerItem } from './views/DrawerItem';\nexport { default as DrawerItemList } from './views/DrawerItemList';\nexport { default as DrawerToggleButton } from './views/DrawerToggleButton';\nexport { default as DrawerView } from './views/DrawerView';\n\n/**\n * Utilities\n */\nexport { default as DrawerGestureContext } from './utils/DrawerGestureContext';\nexport { default as DrawerProgressContext } from './utils/DrawerProgressContext';\nexport { default as getDrawerStatusFromState } from './utils/getDrawerStatusFromState';\nexport { default as useDrawerProgress } from './utils/useDrawerProgress';\nexport { default as useDrawerStatus } from './utils/useDrawerStatus';\n\n/**\n * Types\n */\nexport type {\n DrawerContentComponentProps,\n DrawerHeaderProps,\n DrawerNavigationEventMap,\n DrawerNavigationOptions,\n DrawerNavigationProp,\n DrawerScreenProps,\n} from './types';\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,OAAO,IAAIC,qBAApB,QAAiD,oCAAjD;AAEA;AACA;AACA;;AACA,SAASD,OAAO,IAAIE,aAApB,QAAyC,uBAAzC;AACA,SAASF,OAAO,IAAIG,uBAApB,QAAmD,iCAAnD;AACA,SAASH,OAAO,IAAII,UAApB,QAAsC,oBAAtC;AACA,SAASJ,OAAO,IAAIK,cAApB,QAA0C,wBAA1C;AACA,SAASL,OAAO,IAAIM,kBAApB,QAA8C,4BAA9C;AACA,SAASN,OAAO,IAAIO,UAApB,QAAsC,oBAAtC;AAEA;AACA;AACA;;AACA,SAASP,OAAO,IAAIQ,oBAApB,QAAgD,8BAAhD;AACA,SAASR,OAAO,IAAIS,qBAApB,QAAiD,+BAAjD;AACA,SAAST,OAAO,IAAIU,wBAApB,QAAoD,kCAApD;AACA,SAASV,OAAO,IAAIW,iBAApB,QAA6C,2BAA7C;AACA,SAASX,OAAO,IAAIY,eAApB,QAA2C,yBAA3C;AAEA;AACA;AACA"}
1
+ {"version":3,"names":["default","createDrawerNavigator","DrawerContent","DrawerContentScrollView","DrawerItem","DrawerItemList","DrawerToggleButton","DrawerView","DrawerGestureContext","DrawerProgressContext","DrawerStatusContext","getDrawerStatusFromState","useDrawerProgress","useDrawerStatus"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,OAAO,IAAIC,qBAAqB,QAAQ,oCAAoC;;AAErF;AACA;AACA;AACA,SAASD,OAAO,IAAIE,aAAa,QAAQ,uBAAuB;AAChE,SAASF,OAAO,IAAIG,uBAAuB,QAAQ,iCAAiC;AACpF,SAASH,OAAO,IAAII,UAAU,QAAQ,oBAAoB;AAC1D,SAASJ,OAAO,IAAIK,cAAc,QAAQ,wBAAwB;AAClE,SAASL,OAAO,IAAIM,kBAAkB,QAAQ,4BAA4B;AAC1E,SAASN,OAAO,IAAIO,UAAU,QAAQ,oBAAoB;;AAE1D;AACA;AACA;AACA,SAASP,OAAO,IAAIQ,oBAAoB,QAAQ,8BAA8B;AAC9E,SAASR,OAAO,IAAIS,qBAAqB,QAAQ,+BAA+B;AAChF,SAAST,OAAO,IAAIU,mBAAmB,QAAQ,6BAA6B;AAC5E,SAASV,OAAO,IAAIW,wBAAwB,QAAQ,kCAAkC;AACtF,SAASX,OAAO,IAAIY,iBAAiB,QAAQ,2BAA2B;AACxE,SAASZ,OAAO,IAAIa,eAAe,QAAQ,yBAAyB;;AAEpE;AACA;AACA"}
@@ -1,10 +1,8 @@
1
1
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
-
3
2
  import { createNavigatorFactory, DrawerRouter, useNavigationBuilder } from '@react-navigation/native';
4
3
  import * as React from 'react';
5
4
  import warnOnce from 'warn-once';
6
5
  import DrawerView from '../views/DrawerView';
7
-
8
6
  function DrawerNavigator(_ref) {
9
7
  let {
10
8
  id,
@@ -26,7 +24,6 @@ function DrawerNavigator(_ref) {
26
24
  ...rest
27
25
  } = restWithDeprecated;
28
26
  let defaultScreenOptions = {};
29
-
30
27
  if (drawerContentOptions) {
31
28
  Object.assign(defaultScreenOptions, {
32
29
  drawerPosition: drawerContentOptions.drawerPosition,
@@ -47,16 +44,13 @@ function DrawerNavigator(_ref) {
47
44
  });
48
45
  warnOnce(drawerContentOptions, `Drawer Navigator: 'drawerContentOptions' is deprecated. Migrate the options to 'screenOptions' instead.\n\nPlace the following in 'screenOptions' in your code to keep current behavior:\n\n${JSON.stringify(defaultScreenOptions, null, 2)}\n\nSee https://reactnavigation.org/docs/drawer-navigator#options for more details.`);
49
46
  }
50
-
51
47
  if (typeof lazy === 'boolean') {
52
48
  defaultScreenOptions.lazy = lazy;
53
49
  warnOnce(true, `Drawer Navigator: 'lazy' in props is deprecated. Move it to 'screenOptions' instead.\n\nSee https://reactnavigation.org/docs/drawer-navigator/#lazy for more details.`);
54
50
  }
55
-
56
51
  if (typeof openByDefault === 'boolean') {
57
52
  warnOnce(true, `Drawer Navigator: 'openByDefault' is deprecated. Use 'defaultStatus' and set it to 'open' or 'closed' instead.\n\nSee https://reactnavigation.org/docs/drawer-navigator/#defaultstatus for more details.`);
58
53
  }
59
-
60
54
  const defaultStatus = customDefaultStatus !== undefined ? customDefaultStatus : openByDefault ? 'open' : 'closed';
61
55
  const {
62
56
  state,
@@ -80,6 +74,5 @@ function DrawerNavigator(_ref) {
80
74
  navigation: navigation
81
75
  })));
82
76
  }
83
-
84
77
  export default createNavigatorFactory(DrawerNavigator);
85
78
  //# sourceMappingURL=createDrawerNavigator.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createNavigatorFactory","DrawerRouter","useNavigationBuilder","React","warnOnce","DrawerView","DrawerNavigator","id","initialRouteName","defaultStatus","customDefaultStatus","backBehavior","children","screenListeners","screenOptions","restWithDeprecated","openByDefault","lazy","drawerContentOptions","rest","defaultScreenOptions","Object","assign","drawerPosition","drawerType","swipeEdgeWidth","edgeWidth","drawerHideStatusBarOnOpen","hideStatusBar","keyboardDismissMode","swipeMinDistance","minSwipeDistance","overlayColor","drawerStatusBarAnimation","statusBarAnimation","gestureHandlerProps","keys","forEach","key","undefined","JSON","stringify","state","descriptors","navigation","NavigationContent"],"sources":["createDrawerNavigator.tsx"],"sourcesContent":["import {\n createNavigatorFactory,\n DefaultNavigatorOptions,\n DrawerActionHelpers,\n DrawerNavigationState,\n DrawerRouter,\n DrawerRouterOptions,\n DrawerStatus,\n ParamListBase,\n useNavigationBuilder,\n} from '@react-navigation/native';\nimport * as React from 'react';\nimport warnOnce from 'warn-once';\n\nimport type {\n DrawerNavigationConfig,\n DrawerNavigationEventMap,\n DrawerNavigationOptions,\n} from '../types';\nimport DrawerView from '../views/DrawerView';\n\ntype Props = DefaultNavigatorOptions<\n ParamListBase,\n DrawerNavigationState<ParamListBase>,\n DrawerNavigationOptions,\n DrawerNavigationEventMap\n> &\n DrawerRouterOptions &\n DrawerNavigationConfig;\n\nfunction DrawerNavigator({\n id,\n initialRouteName,\n defaultStatus: customDefaultStatus,\n backBehavior,\n children,\n screenListeners,\n screenOptions,\n ...restWithDeprecated\n}: Props) {\n const {\n // @ts-expect-error: openByDefault is deprecated\n openByDefault,\n // @ts-expect-error: lazy is deprecated\n lazy,\n // @ts-expect-error: drawerContentOptions is deprecated\n drawerContentOptions,\n ...rest\n } = restWithDeprecated;\n\n let defaultScreenOptions: DrawerNavigationOptions = {};\n\n if (drawerContentOptions) {\n Object.assign(defaultScreenOptions, {\n drawerPosition: drawerContentOptions.drawerPosition,\n drawerType: drawerContentOptions.drawerType,\n swipeEdgeWidth: drawerContentOptions.edgeWidth,\n drawerHideStatusBarOnOpen: drawerContentOptions.hideStatusBar,\n keyboardDismissMode: drawerContentOptions.keyboardDismissMode,\n swipeMinDistance: drawerContentOptions.minSwipeDistance,\n overlayColor: drawerContentOptions.overlayColor,\n drawerStatusBarAnimation: drawerContentOptions.statusBarAnimation,\n gestureHandlerProps: drawerContentOptions.gestureHandlerProps,\n });\n\n (\n Object.keys(defaultScreenOptions) as (keyof DrawerNavigationOptions)[]\n ).forEach((key) => {\n if (defaultScreenOptions[key] === undefined) {\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete defaultScreenOptions[key];\n }\n });\n\n warnOnce(\n drawerContentOptions,\n `Drawer Navigator: 'drawerContentOptions' is deprecated. Migrate the options to 'screenOptions' instead.\\n\\nPlace the following in 'screenOptions' in your code to keep current behavior:\\n\\n${JSON.stringify(\n defaultScreenOptions,\n null,\n 2\n )}\\n\\nSee https://reactnavigation.org/docs/drawer-navigator#options for more details.`\n );\n }\n\n if (typeof lazy === 'boolean') {\n defaultScreenOptions.lazy = lazy;\n\n warnOnce(\n true,\n `Drawer Navigator: 'lazy' in props is deprecated. Move it to 'screenOptions' instead.\\n\\nSee https://reactnavigation.org/docs/drawer-navigator/#lazy for more details.`\n );\n }\n\n if (typeof openByDefault === 'boolean') {\n warnOnce(\n true,\n `Drawer Navigator: 'openByDefault' is deprecated. Use 'defaultStatus' and set it to 'open' or 'closed' instead.\\n\\nSee https://reactnavigation.org/docs/drawer-navigator/#defaultstatus for more details.`\n );\n }\n\n const defaultStatus: DrawerStatus =\n customDefaultStatus !== undefined\n ? customDefaultStatus\n : openByDefault\n ? 'open'\n : 'closed';\n\n const { state, descriptors, navigation, NavigationContent } =\n useNavigationBuilder<\n DrawerNavigationState<ParamListBase>,\n DrawerRouterOptions,\n DrawerActionHelpers<ParamListBase>,\n DrawerNavigationOptions,\n DrawerNavigationEventMap\n >(DrawerRouter, {\n id,\n initialRouteName,\n defaultStatus,\n backBehavior,\n children,\n screenListeners,\n screenOptions,\n defaultScreenOptions,\n });\n\n return (\n <NavigationContent>\n <DrawerView\n {...rest}\n defaultStatus={defaultStatus}\n state={state}\n descriptors={descriptors}\n navigation={navigation}\n />\n </NavigationContent>\n );\n}\n\nexport default createNavigatorFactory<\n DrawerNavigationState<ParamListBase>,\n DrawerNavigationOptions,\n DrawerNavigationEventMap,\n typeof DrawerNavigator\n>(DrawerNavigator);\n"],"mappings":";;AAAA,SACEA,sBADF,EAKEC,YALF,EASEC,oBATF,QAUO,0BAVP;AAWA,OAAO,KAAKC,KAAZ,MAAuB,OAAvB;AACA,OAAOC,QAAP,MAAqB,WAArB;AAOA,OAAOC,UAAP,MAAuB,qBAAvB;;AAWA,SAASC,eAAT,OASU;EAAA,IATe;IACvBC,EADuB;IAEvBC,gBAFuB;IAGvBC,aAAa,EAAEC,mBAHQ;IAIvBC,YAJuB;IAKvBC,QALuB;IAMvBC,eANuB;IAOvBC,aAPuB;IAQvB,GAAGC;EARoB,CASf;EACR,MAAM;IACJ;IACAC,aAFI;IAGJ;IACAC,IAJI;IAKJ;IACAC,oBANI;IAOJ,GAAGC;EAPC,IAQFJ,kBARJ;EAUA,IAAIK,oBAA6C,GAAG,EAApD;;EAEA,IAAIF,oBAAJ,EAA0B;IACxBG,MAAM,CAACC,MAAP,CAAcF,oBAAd,EAAoC;MAClCG,cAAc,EAAEL,oBAAoB,CAACK,cADH;MAElCC,UAAU,EAAEN,oBAAoB,CAACM,UAFC;MAGlCC,cAAc,EAAEP,oBAAoB,CAACQ,SAHH;MAIlCC,yBAAyB,EAAET,oBAAoB,CAACU,aAJd;MAKlCC,mBAAmB,EAAEX,oBAAoB,CAACW,mBALR;MAMlCC,gBAAgB,EAAEZ,oBAAoB,CAACa,gBANL;MAOlCC,YAAY,EAAEd,oBAAoB,CAACc,YAPD;MAQlCC,wBAAwB,EAAEf,oBAAoB,CAACgB,kBARb;MASlCC,mBAAmB,EAAEjB,oBAAoB,CAACiB;IATR,CAApC;IAaEd,MAAM,CAACe,IAAP,CAAYhB,oBAAZ,CADF,CAEEiB,OAFF,CAEWC,GAAD,IAAS;MACjB,IAAIlB,oBAAoB,CAACkB,GAAD,CAApB,KAA8BC,SAAlC,EAA6C;QAC3C;QACA,OAAOnB,oBAAoB,CAACkB,GAAD,CAA3B;MACD;IACF,CAPD;IASAlC,QAAQ,CACNc,oBADM,EAEL,+LAA8LsB,IAAI,CAACC,SAAL,CAC7LrB,oBAD6L,EAE7L,IAF6L,EAG7L,CAH6L,CAI7L,qFANI,CAAR;EAQD;;EAED,IAAI,OAAOH,IAAP,KAAgB,SAApB,EAA+B;IAC7BG,oBAAoB,CAACH,IAArB,GAA4BA,IAA5B;IAEAb,QAAQ,CACN,IADM,EAEL,uKAFK,CAAR;EAID;;EAED,IAAI,OAAOY,aAAP,KAAyB,SAA7B,EAAwC;IACtCZ,QAAQ,CACN,IADM,EAEL,0MAFK,CAAR;EAID;;EAED,MAAMK,aAA2B,GAC/BC,mBAAmB,KAAK6B,SAAxB,GACI7B,mBADJ,GAEIM,aAAa,GACb,MADa,GAEb,QALN;EAOA,MAAM;IAAE0B,KAAF;IAASC,WAAT;IAAsBC,UAAtB;IAAkCC;EAAlC,IACJ3C,oBAAoB,CAMlBD,YANkB,EAMJ;IACdM,EADc;IAEdC,gBAFc;IAGdC,aAHc;IAIdE,YAJc;IAKdC,QALc;IAMdC,eANc;IAOdC,aAPc;IAQdM;EARc,CANI,CADtB;EAkBA,oBACE,oBAAC,iBAAD,qBACE,oBAAC,UAAD,eACMD,IADN;IAEE,aAAa,EAAEV,aAFjB;IAGE,KAAK,EAAEiC,KAHT;IAIE,WAAW,EAAEC,WAJf;IAKE,UAAU,EAAEC;EALd,GADF,CADF;AAWD;;AAED,eAAe5C,sBAAsB,CAKnCM,eALmC,CAArC"}
1
+ {"version":3,"names":["createNavigatorFactory","DrawerRouter","useNavigationBuilder","React","warnOnce","DrawerView","DrawerNavigator","id","initialRouteName","defaultStatus","customDefaultStatus","backBehavior","children","screenListeners","screenOptions","restWithDeprecated","openByDefault","lazy","drawerContentOptions","rest","defaultScreenOptions","Object","assign","drawerPosition","drawerType","swipeEdgeWidth","edgeWidth","drawerHideStatusBarOnOpen","hideStatusBar","keyboardDismissMode","swipeMinDistance","minSwipeDistance","overlayColor","drawerStatusBarAnimation","statusBarAnimation","gestureHandlerProps","keys","forEach","key","undefined","JSON","stringify","state","descriptors","navigation","NavigationContent"],"sourceRoot":"../../src","sources":["createDrawerNavigator.tsx"],"mappings":";AAAA,SACEA,sBAAsB,EAItBC,YAAY,EAIZC,oBAAoB,QACf,0BAA0B;AACjC,OAAO,KAAKC,KAAK,MAAM,OAAO;AAC9B,OAAOC,QAAQ,MAAM,WAAW;AAOhC,OAAOC,UAAU,MAAM,qBAAqB;AAW5C,SAASC,eAAe,OASd;EAAA,IATe;IACvBC,EAAE;IACFC,gBAAgB;IAChBC,aAAa,EAAEC,mBAAmB;IAClCC,YAAY;IACZC,QAAQ;IACRC,eAAe;IACfC,aAAa;IACb,GAAGC;EACE,CAAC;EACN,MAAM;IACJ;IACAC,aAAa;IACb;IACAC,IAAI;IACJ;IACAC,oBAAoB;IACpB,GAAGC;EACL,CAAC,GAAGJ,kBAAkB;EAEtB,IAAIK,oBAA6C,GAAG,CAAC,CAAC;EAEtD,IAAIF,oBAAoB,EAAE;IACxBG,MAAM,CAACC,MAAM,CAACF,oBAAoB,EAAE;MAClCG,cAAc,EAAEL,oBAAoB,CAACK,cAAc;MACnDC,UAAU,EAAEN,oBAAoB,CAACM,UAAU;MAC3CC,cAAc,EAAEP,oBAAoB,CAACQ,SAAS;MAC9CC,yBAAyB,EAAET,oBAAoB,CAACU,aAAa;MAC7DC,mBAAmB,EAAEX,oBAAoB,CAACW,mBAAmB;MAC7DC,gBAAgB,EAAEZ,oBAAoB,CAACa,gBAAgB;MACvDC,YAAY,EAAEd,oBAAoB,CAACc,YAAY;MAC/CC,wBAAwB,EAAEf,oBAAoB,CAACgB,kBAAkB;MACjEC,mBAAmB,EAAEjB,oBAAoB,CAACiB;IAC5C,CAAC,CAAC;IAGAd,MAAM,CAACe,IAAI,CAAChB,oBAAoB,CAAC,CACjCiB,OAAO,CAAEC,GAAG,IAAK;MACjB,IAAIlB,oBAAoB,CAACkB,GAAG,CAAC,KAAKC,SAAS,EAAE;QAC3C;QACA,OAAOnB,oBAAoB,CAACkB,GAAG,CAAC;MAClC;IACF,CAAC,CAAC;IAEFlC,QAAQ,CACNc,oBAAoB,EACnB,+LAA8LsB,IAAI,CAACC,SAAS,CAC3MrB,oBAAoB,EACpB,IAAI,EACJ,CAAC,CACD,qFAAoF,CACvF;EACH;EAEA,IAAI,OAAOH,IAAI,KAAK,SAAS,EAAE;IAC7BG,oBAAoB,CAACH,IAAI,GAAGA,IAAI;IAEhCb,QAAQ,CACN,IAAI,EACH,uKAAsK,CACxK;EACH;EAEA,IAAI,OAAOY,aAAa,KAAK,SAAS,EAAE;IACtCZ,QAAQ,CACN,IAAI,EACH,0MAAyM,CAC3M;EACH;EAEA,MAAMK,aAA2B,GAC/BC,mBAAmB,KAAK6B,SAAS,GAC7B7B,mBAAmB,GACnBM,aAAa,GACb,MAAM,GACN,QAAQ;EAEd,MAAM;IAAE0B,KAAK;IAAEC,WAAW;IAAEC,UAAU;IAAEC;EAAkB,CAAC,GACzD3C,oBAAoB,CAMlBD,YAAY,EAAE;IACdM,EAAE;IACFC,gBAAgB;IAChBC,aAAa;IACbE,YAAY;IACZC,QAAQ;IACRC,eAAe;IACfC,aAAa;IACbM;EACF,CAAC,CAAC;EAEJ,oBACE,oBAAC,iBAAiB,qBAChB,oBAAC,UAAU,eACLD,IAAI;IACR,aAAa,EAAEV,aAAc;IAC7B,KAAK,EAAEiC,KAAM;IACb,WAAW,EAAEC,WAAY;IACzB,UAAU,EAAEC;EAAW,GACvB,CACgB;AAExB;AAEA,eAAe5C,sBAAsB,CAKnCM,eAAe,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["types.tsx"],"sourcesContent":["import type { HeaderOptions } from '@react-navigation/elements';\nimport type {\n Descriptor,\n DrawerActionHelpers,\n DrawerNavigationState,\n NavigationHelpers,\n NavigationProp,\n ParamListBase,\n Route,\n RouteProp,\n} from '@react-navigation/native';\nimport type { StyleProp, TextStyle, ViewStyle } from 'react-native';\nimport type {\n PanGestureHandler,\n PanGestureHandlerProperties,\n} from 'react-native-gesture-handler';\n\nexport type Scene = {\n route: Route<string>;\n focused: boolean;\n color?: string;\n};\n\nexport type Layout = { width: number; height: number };\n\nexport type DrawerNavigationConfig = {\n /**\n * Function that returns React element to render as the content of the drawer, for example, navigation items.\n * Defaults to `DrawerContent`.\n */\n drawerContent?: (props: DrawerContentComponentProps) => React.ReactNode;\n /**\n * Whether inactive screens should be detached from the view hierarchy to save memory.\n * Make sure to call `enableScreens` from `react-native-screens` to make it work.\n * Defaults to `true`.\n */\n detachInactiveScreens?: boolean;\n /**\n * Whether to use the legacy implementation based on Reanimated 1.\n * The new implementation based on Reanimated 2 will perform better,\n * but you need additional configuration and need to use Hermes with Flipper to debug.\n *\n * This defaults to `true` if Reanimated 2 is not configured.\n *\n * Otherwise, it defaults to `false`\n */\n useLegacyImplementation?: boolean;\n};\n\nexport type DrawerNavigationOptions = HeaderOptions & {\n /**\n * Title text for the screen.\n */\n title?: string;\n\n /**\n * Whether this screens should render the first time it's accessed. Defaults to `true`.\n * Set it to `false` if you want to render the screen on initial render.\n */\n lazy?: boolean;\n\n /**\n * Function that returns a React Element to display as a header.\n */\n header?: (props: DrawerHeaderProps) => React.ReactNode;\n\n /**\n * Whether to show the header. Setting this to `false` hides the header.\n * Defaults to `true`.\n */\n headerShown?: boolean;\n\n /**\n * Title string of a screen displayed in the drawer\n * or a function that given { focused: boolean, color: string } returns a React.Node\n * When undefined, scene title is used.\n */\n drawerLabel?:\n | string\n | ((props: { color: string; focused: boolean }) => React.ReactNode);\n\n /**\n * A function that given { focused: boolean, color: string } returns a React.Node to display an icon the drawer.\n */\n drawerIcon?: (props: {\n color: string;\n size: number;\n focused: boolean;\n }) => React.ReactNode;\n\n /**\n * Color for the icon and label in the active item in the drawer.\n */\n drawerActiveTintColor?: string;\n\n /**\n * Background color for the active item in the drawer.\n */\n drawerActiveBackgroundColor?: string;\n\n /**\n * Color for the icon and label in the inactive items in the drawer.\n */\n drawerInactiveTintColor?: string;\n\n /**\n * Background color for the inactive items in the drawer.\n */\n drawerInactiveBackgroundColor?: string;\n\n /**\n * Whether label font should scale to respect Text Size accessibility settings.\n */\n drawerAllowFontScaling?: boolean;\n\n /**\n * Style object for the single item, which can contain an icon and/or a label.\n */\n drawerItemStyle?: StyleProp<ViewStyle>;\n\n /**\n * Style object to apply to the `Text` inside content section which renders a label.\n */\n drawerLabelStyle?: StyleProp<TextStyle>;\n\n /**\n * Style object for the content section.\n */\n drawerContentContainerStyle?: StyleProp<ViewStyle>;\n\n /**\n * Style object for the wrapper view.\n */\n drawerContentStyle?: StyleProp<ViewStyle>;\n\n /**\n * Style object for the drawer component.\n * You can pass a custom background color for a drawer or a custom width here.\n */\n drawerStyle?: StyleProp<ViewStyle>;\n\n /**\n * Position of the drawer on the screen. Defaults to `left`.\n */\n drawerPosition?: 'left' | 'right';\n\n /**\n * Type of the drawer. It determines how the drawer looks and animates.\n * - `front`: Traditional drawer which covers the screen with a overlay behind it.\n * - `back`: The drawer is revealed behind the screen on swipe.\n * - `slide`: Both the screen and the drawer slide on swipe to reveal the drawer.\n * - `permanent`: A permanent drawer is shown as a sidebar.\n *\n * Defaults to `slide` on iOS and `front` on other platforms.\n */\n drawerType?: 'front' | 'back' | 'slide' | 'permanent';\n\n /**\n * Whether the statusbar should be hidden when the drawer is pulled or opens,\n */\n drawerHideStatusBarOnOpen?: boolean;\n\n /**\n * Animation of the statusbar when hiding it. use in combination with `drawerHideStatusBarOnOpen`.\n */\n drawerStatusBarAnimation?: 'slide' | 'none' | 'fade';\n\n /**\n * Color of the overlay to be displayed on top of the content view when drawer gets open.\n * The opacity is animated from `0` to `1` when the drawer opens.\n */\n overlayColor?: string;\n\n /**\n * Style object for the component wrapping the screen content.\n */\n sceneContainerStyle?: StyleProp<ViewStyle>;\n\n /**\n * Props to pass to the underlying pan gesture handler.\n * Not supported on Web.\n */\n gestureHandlerProps?: PanGestureHandlerProperties;\n\n /**\n * Whether you can use swipe gestures to open or close the drawer.\n * Defaults to `true`.\n * Not supported on Web.\n */\n swipeEnabled?: boolean;\n\n /**\n * How far from the edge of the screen the swipe gesture should activate.\n * Not supported on Web.\n */\n swipeEdgeWidth?: number;\n\n /**\n * Minimum swipe distance threshold that should activate opening the drawer.\n */\n swipeMinDistance?: number;\n\n /**\n * Whether the keyboard should be dismissed when the swipe gesture begins.\n * Defaults to `'on-drag'`. Set to `'none'` to disable keyboard handling.\n */\n keyboardDismissMode?: 'on-drag' | 'none';\n\n /**\n * Whether this screen should be unmounted when navigating away from it.\n * Defaults to `false`.\n */\n unmountOnBlur?: boolean;\n\n /**\n * Whether inactive screens should be suspended from re-rendering. Defaults to `false`.\n * Defaults to `true` when `enableFreeze()` is run at the top of the application.\n * Requires `react-native-screens` version >=3.16.0.\n *\n * Only supported on iOS and Android.\n */\n freezeOnBlur?: boolean;\n};\n\nexport type DrawerContentComponentProps = {\n state: DrawerNavigationState<ParamListBase>;\n navigation: DrawerNavigationHelpers;\n descriptors: DrawerDescriptorMap;\n};\n\nexport type DrawerHeaderProps = {\n /**\n * Layout of the screen.\n */\n layout: Layout;\n /**\n * Options for the current screen.\n */\n options: DrawerNavigationOptions;\n /**\n * Route object for the current screen.\n */\n route: RouteProp<ParamListBase>;\n /**\n * Navigation prop for the header.\n */\n navigation: DrawerNavigationProp<ParamListBase>;\n};\n\nexport type DrawerNavigationEventMap = {\n /**\n * Event which fires on tapping on the item in the drawer menu.\n */\n drawerItemPress: { data: undefined; canPreventDefault: true };\n};\n\nexport type DrawerNavigationHelpers = NavigationHelpers<\n ParamListBase,\n DrawerNavigationEventMap\n> &\n DrawerActionHelpers<ParamListBase>;\n\nexport type DrawerNavigationProp<\n ParamList extends ParamListBase,\n RouteName extends keyof ParamList = keyof ParamList,\n NavigatorID extends string | undefined = undefined\n> = NavigationProp<\n ParamList,\n RouteName,\n NavigatorID,\n DrawerNavigationState<ParamList>,\n DrawerNavigationOptions,\n DrawerNavigationEventMap\n> &\n DrawerActionHelpers<ParamList>;\n\nexport type DrawerScreenProps<\n ParamList extends ParamListBase,\n RouteName extends keyof ParamList = keyof ParamList,\n NavigatorID extends string | undefined = undefined\n> = {\n navigation: DrawerNavigationProp<ParamList, RouteName, NavigatorID>;\n route: RouteProp<ParamList, RouteName>;\n};\n\nexport type DrawerDescriptor = Descriptor<\n DrawerNavigationOptions,\n DrawerNavigationProp<ParamListBase>,\n RouteProp<ParamListBase>\n>;\n\nexport type DrawerDescriptorMap = Record<string, DrawerDescriptor>;\n\nexport type DrawerProps = {\n dimensions: { width: number; height: number };\n drawerPosition: 'left' | 'right';\n drawerStyle?: StyleProp<ViewStyle>;\n drawerType: 'front' | 'back' | 'slide' | 'permanent';\n gestureHandlerProps?: React.ComponentProps<typeof PanGestureHandler>;\n hideStatusBarOnOpen: boolean;\n keyboardDismissMode: 'none' | 'on-drag';\n onClose: () => void;\n onOpen: () => void;\n open: boolean;\n overlayStyle?: StyleProp<ViewStyle>;\n renderDrawerContent: () => React.ReactNode;\n renderSceneContent: () => React.ReactNode;\n statusBarAnimation: 'slide' | 'none' | 'fade';\n swipeDistanceThreshold: number;\n swipeEdgeWidth: number;\n swipeEnabled: boolean;\n swipeVelocityThreshold: number;\n};\n"],"mappings":""}
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["types.tsx"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"names":["React","createContext"],"sources":["DrawerGestureContext.tsx"],"sourcesContent":["import * as React from 'react';\n\nexport default React.createContext<React.RefObject<any> | null>(null);\n"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AAEA,4BAAeA,KAAK,CAACC,aAAN,CAAiD,IAAjD,CAAf"}
1
+ {"version":3,"names":["React","createContext"],"sourceRoot":"../../src","sources":["DrawerGestureContext.tsx"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,4BAAeA,KAAK,CAACC,aAAa,CAA8B,IAAI,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"names":["React","createContext","undefined"],"sources":["DrawerPositionContext.tsx"],"sourcesContent":["import * as React from 'react';\n\nexport default React.createContext<'left' | 'right' | undefined>(undefined);\n"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AAEA,4BAAeA,KAAK,CAACC,aAAN,CAAkDC,SAAlD,CAAf"}
1
+ {"version":3,"names":["React","createContext","undefined"],"sourceRoot":"../../src","sources":["DrawerPositionContext.tsx"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,4BAAeA,KAAK,CAACC,aAAa,CAA+BC,SAAS,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"names":["React","createContext","undefined"],"sources":["DrawerProgressContext.tsx"],"sourcesContent":["import * as React from 'react';\nimport type Animated from 'react-native-reanimated';\n\nexport default React.createContext<\n Readonly<Animated.SharedValue<number>> | Animated.Node<number> | undefined\n>(undefined);\n"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AAGA,4BAAeA,KAAK,CAACC,aAAN,CAEbC,SAFa,CAAf"}
1
+ {"version":3,"names":["React","createContext","undefined"],"sourceRoot":"../../src","sources":["DrawerProgressContext.tsx"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAG9B,4BAAeA,KAAK,CAACC,aAAa,CAEhCC,SAAS,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"names":["React","DrawerStatusContext","createContext","undefined"],"sources":["DrawerStatusContext.tsx"],"sourcesContent":["import type { DrawerStatus } from '@react-navigation/native';\nimport * as React from 'react';\n\nconst DrawerStatusContext = React.createContext<DrawerStatus | undefined>(\n undefined\n);\n\nexport default DrawerStatusContext;\n"],"mappings":"AACA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AAEA,MAAMC,mBAAmB,gBAAGD,KAAK,CAACE,aAAN,CAC1BC,SAD0B,CAA5B;AAIA,eAAeF,mBAAf"}
1
+ {"version":3,"names":["React","DrawerStatusContext","createContext","undefined"],"sourceRoot":"../../src","sources":["DrawerStatusContext.tsx"],"mappings":"AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,MAAMC,mBAAmB,gBAAGD,KAAK,CAACE,aAAa,CAC7CC,SAAS,CACV;AAED,eAAeF,mBAAmB"}
@@ -1,11 +1,8 @@
1
1
  export default function getDrawerStatusFromState(state) {
2
- var _ref, _entry$status;
3
-
4
2
  if (state.history == null) {
5
3
  throw new Error("Couldn't find the drawer status in the state object. Is it a valid state object of drawer navigator?");
6
4
  }
7
-
8
5
  const entry = state.history.find(it => it.type === 'drawer');
9
- return (_ref = (_entry$status = entry === null || entry === void 0 ? void 0 : entry.status) !== null && _entry$status !== void 0 ? _entry$status : state.default) !== null && _ref !== void 0 ? _ref : 'closed';
6
+ return (entry === null || entry === void 0 ? void 0 : entry.status) ?? state.default ?? 'closed';
10
7
  }
11
8
  //# sourceMappingURL=getDrawerStatusFromState.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["getDrawerStatusFromState","state","history","Error","entry","find","it","type","status","default"],"sources":["getDrawerStatusFromState.tsx"],"sourcesContent":["import type {\n DrawerNavigationState,\n DrawerStatus,\n ParamListBase,\n} from '@react-navigation/native';\n\nexport default function getDrawerStatusFromState(\n state: DrawerNavigationState<ParamListBase>\n): DrawerStatus {\n if (state.history == null) {\n throw new Error(\n \"Couldn't find the drawer status in the state object. Is it a valid state object of drawer navigator?\"\n );\n }\n\n const entry = state.history.find((it) => it.type === 'drawer') as\n | { type: 'drawer'; status: DrawerStatus }\n | undefined;\n\n return entry?.status ?? state.default ?? 'closed';\n}\n"],"mappings":"AAMA,eAAe,SAASA,wBAAT,CACbC,KADa,EAEC;EAAA;;EACd,IAAIA,KAAK,CAACC,OAAN,IAAiB,IAArB,EAA2B;IACzB,MAAM,IAAIC,KAAJ,CACJ,sGADI,CAAN;EAGD;;EAED,MAAMC,KAAK,GAAGH,KAAK,CAACC,OAAN,CAAcG,IAAd,CAAoBC,EAAD,IAAQA,EAAE,CAACC,IAAH,KAAY,QAAvC,CAAd;EAIA,gCAAOH,KAAP,aAAOA,KAAP,uBAAOA,KAAK,CAAEI,MAAd,yDAAwBP,KAAK,CAACQ,OAA9B,uCAAyC,QAAzC;AACD"}
1
+ {"version":3,"names":["getDrawerStatusFromState","state","history","Error","entry","find","it","type","status","default"],"sourceRoot":"../../src","sources":["getDrawerStatusFromState.tsx"],"mappings":"AAMA,eAAe,SAASA,wBAAwB,CAC9CC,KAA2C,EAC7B;EACd,IAAIA,KAAK,CAACC,OAAO,IAAI,IAAI,EAAE;IACzB,MAAM,IAAIC,KAAK,CACb,sGAAsG,CACvG;EACH;EAEA,MAAMC,KAAK,GAAGH,KAAK,CAACC,OAAO,CAACG,IAAI,CAAEC,EAAE,IAAKA,EAAE,CAACC,IAAI,KAAK,QAAQ,CAEhD;EAEb,OAAO,CAAAH,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEI,MAAM,KAAIP,KAAK,CAACQ,OAAO,IAAI,QAAQ;AACnD"}
@@ -2,11 +2,9 @@ import * as React from 'react';
2
2
  import DrawerProgressContext from './DrawerProgressContext';
3
3
  export default function useDrawerProgress() {
4
4
  const progress = React.useContext(DrawerProgressContext);
5
-
6
5
  if (progress === undefined) {
7
6
  throw new Error("Couldn't find a drawer. Is your component inside a drawer navigator?");
8
7
  }
9
-
10
8
  return progress;
11
9
  }
12
10
  //# sourceMappingURL=useDrawerProgress.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","DrawerProgressContext","useDrawerProgress","progress","useContext","undefined","Error"],"sources":["useDrawerProgress.tsx"],"sourcesContent":["import * as React from 'react';\nimport type Animated from 'react-native-reanimated';\n\nimport DrawerProgressContext from './DrawerProgressContext';\n\nexport default function useDrawerProgress():\n | Readonly<Animated.SharedValue<number>>\n | Animated.Node<number> {\n const progress = React.useContext(DrawerProgressContext);\n\n if (progress === undefined) {\n throw new Error(\n \"Couldn't find a drawer. Is your component inside a drawer navigator?\"\n );\n }\n\n return progress;\n}\n"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AAGA,OAAOC,qBAAP,MAAkC,yBAAlC;AAEA,eAAe,SAASC,iBAAT,GAEW;EACxB,MAAMC,QAAQ,GAAGH,KAAK,CAACI,UAAN,CAAiBH,qBAAjB,CAAjB;;EAEA,IAAIE,QAAQ,KAAKE,SAAjB,EAA4B;IAC1B,MAAM,IAAIC,KAAJ,CACJ,sEADI,CAAN;EAGD;;EAED,OAAOH,QAAP;AACD"}
1
+ {"version":3,"names":["React","DrawerProgressContext","useDrawerProgress","progress","useContext","undefined","Error"],"sourceRoot":"../../src","sources":["useDrawerProgress.tsx"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAG9B,OAAOC,qBAAqB,MAAM,yBAAyB;AAE3D,eAAe,SAASC,iBAAiB,GAEf;EACxB,MAAMC,QAAQ,GAAGH,KAAK,CAACI,UAAU,CAACH,qBAAqB,CAAC;EAExD,IAAIE,QAAQ,KAAKE,SAAS,EAAE;IAC1B,MAAM,IAAIC,KAAK,CACb,sEAAsE,CACvE;EACH;EAEA,OAAOH,QAAQ;AACjB"}
@@ -1,17 +1,15 @@
1
1
  import * as React from 'react';
2
2
  import DrawerStatusContext from './DrawerStatusContext';
3
+
3
4
  /**
4
5
  * Hook to detect if the drawer's status in a parent navigator.
5
6
  * Returns 'open' if the drawer is open, 'closed' if the drawer is closed.
6
7
  */
7
-
8
8
  export default function useDrawerStatus() {
9
9
  const drawerStatus = React.useContext(DrawerStatusContext);
10
-
11
10
  if (drawerStatus === undefined) {
12
11
  throw new Error("Couldn't find a drawer. Is your component inside a drawer navigator?");
13
12
  }
14
-
15
13
  return drawerStatus;
16
14
  }
17
15
  //# sourceMappingURL=useDrawerStatus.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","DrawerStatusContext","useDrawerStatus","drawerStatus","useContext","undefined","Error"],"sources":["useDrawerStatus.tsx"],"sourcesContent":["import type { DrawerStatus } from '@react-navigation/native';\nimport * as React from 'react';\n\nimport DrawerStatusContext from './DrawerStatusContext';\n\n/**\n * Hook to detect if the drawer's status in a parent navigator.\n * Returns 'open' if the drawer is open, 'closed' if the drawer is closed.\n */\nexport default function useDrawerStatus(): DrawerStatus {\n const drawerStatus = React.useContext(DrawerStatusContext);\n\n if (drawerStatus === undefined) {\n throw new Error(\n \"Couldn't find a drawer. Is your component inside a drawer navigator?\"\n );\n }\n\n return drawerStatus;\n}\n"],"mappings":"AACA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AAEA,OAAOC,mBAAP,MAAgC,uBAAhC;AAEA;AACA;AACA;AACA;;AACA,eAAe,SAASC,eAAT,GAAyC;EACtD,MAAMC,YAAY,GAAGH,KAAK,CAACI,UAAN,CAAiBH,mBAAjB,CAArB;;EAEA,IAAIE,YAAY,KAAKE,SAArB,EAAgC;IAC9B,MAAM,IAAIC,KAAJ,CACJ,sEADI,CAAN;EAGD;;EAED,OAAOH,YAAP;AACD"}
1
+ {"version":3,"names":["React","DrawerStatusContext","useDrawerStatus","drawerStatus","useContext","undefined","Error"],"sourceRoot":"../../src","sources":["useDrawerStatus.tsx"],"mappings":"AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,OAAOC,mBAAmB,MAAM,uBAAuB;;AAEvD;AACA;AACA;AACA;AACA,eAAe,SAASC,eAAe,GAAiB;EACtD,MAAMC,YAAY,GAAGH,KAAK,CAACI,UAAU,CAACH,mBAAmB,CAAC;EAE1D,IAAIE,YAAY,KAAKE,SAAS,EAAE;IAC9B,MAAM,IAAIC,KAAK,CACb,sEAAsE,CACvE;EACH;EAEA,OAAOH,YAAY;AACrB"}
@@ -1,5 +1,4 @@
1
1
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
-
3
2
  import * as React from 'react';
4
3
  import DrawerContentScrollView from './DrawerContentScrollView';
5
4
  import DrawerItemList from './DrawerItemList';