@react-navigation/drawer 7.0.0-alpha.3 → 7.0.0-alpha.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.
- package/lib/commonjs/utils/addCancelListener.js +21 -0
- package/lib/commonjs/utils/addCancelListener.js.map +1 -0
- package/lib/commonjs/utils/addCancelListener.native.js +15 -0
- package/lib/commonjs/utils/addCancelListener.native.js.map +1 -0
- package/lib/commonjs/views/DrawerView.js +4 -19
- package/lib/commonjs/views/DrawerView.js.map +1 -1
- package/lib/module/utils/addCancelListener.js +14 -0
- package/lib/module/utils/addCancelListener.js.map +1 -0
- package/lib/module/utils/addCancelListener.native.js +8 -0
- package/lib/module/utils/addCancelListener.native.js.map +1 -0
- package/lib/module/views/DrawerView.js +6 -21
- package/lib/module/views/DrawerView.js.map +1 -1
- package/lib/typescript/src/utils/addCancelListener.d.ts +2 -0
- package/lib/typescript/src/utils/addCancelListener.d.ts.map +1 -0
- package/lib/typescript/src/utils/addCancelListener.native.d.ts +2 -0
- package/lib/typescript/src/utils/addCancelListener.native.d.ts.map +1 -0
- package/lib/typescript/src/views/DrawerView.d.ts.map +1 -1
- package/package.json +5 -5
- package/src/utils/addCancelListener.native.tsx +12 -0
- package/src/utils/addCancelListener.tsx +13 -0
- package/src/views/DrawerView.tsx +8 -23
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.addCancelListener = void 0;
|
|
7
|
+
const addCancelListener = callback => {
|
|
8
|
+
var _document, _document$body, _document$body$addEve;
|
|
9
|
+
const handleEscape = e => {
|
|
10
|
+
if (e.key === 'Escape') {
|
|
11
|
+
callback();
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
(_document = document) === null || _document === void 0 ? void 0 : (_document$body = _document.body) === null || _document$body === void 0 ? void 0 : (_document$body$addEve = _document$body.addEventListener) === null || _document$body$addEve === void 0 ? void 0 : _document$body$addEve.call(_document$body, 'keyup', handleEscape);
|
|
15
|
+
return () => {
|
|
16
|
+
var _document2, _document2$body, _document2$body$remov;
|
|
17
|
+
(_document2 = document) === null || _document2 === void 0 ? void 0 : (_document2$body = _document2.body) === null || _document2$body === void 0 ? void 0 : (_document2$body$remov = _document2$body.removeEventListener) === null || _document2$body$remov === void 0 ? void 0 : _document2$body$remov.call(_document2$body, 'keyup', handleEscape);
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
exports.addCancelListener = addCancelListener;
|
|
21
|
+
//# sourceMappingURL=addCancelListener.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["addCancelListener","callback","handleEscape","e","key","document","body","addEventListener","removeEventListener"],"sourceRoot":"../../../src","sources":["utils/addCancelListener.tsx"],"mappings":";;;;;;AAAO,MAAMA,iBAAiB,GAAIC,QAAuB,IAAK;EAAA;EAC5D,MAAMC,YAAY,GAAIC,CAAgB,IAAK;IACzC,IAAIA,CAAC,CAACC,GAAG,KAAK,QAAQ,EAAE;MACtBH,QAAQ,EAAE;IACZ;EACF,CAAC;EAED,aAAAI,QAAQ,gEAAR,UAAUC,IAAI,4EAAd,eAAgBC,gBAAgB,0DAAhC,2CAAmC,OAAO,EAAEL,YAAY,CAAC;EAEzD,OAAO,MAAM;IAAA;IACX,cAAAG,QAAQ,kEAAR,WAAUC,IAAI,6EAAd,gBAAgBE,mBAAmB,0DAAnC,4CAAsC,OAAO,EAAEN,YAAY,CAAC;EAC9D,CAAC;AACH,CAAC;AAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.addCancelListener = void 0;
|
|
7
|
+
var _reactNative = require("react-native");
|
|
8
|
+
const addCancelListener = callback => {
|
|
9
|
+
const subscription = _reactNative.BackHandler.addEventListener('hardwareBackPress', callback);
|
|
10
|
+
return () => {
|
|
11
|
+
subscription.remove();
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
exports.addCancelListener = addCancelListener;
|
|
15
|
+
//# sourceMappingURL=addCancelListener.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["addCancelListener","callback","subscription","BackHandler","addEventListener","remove"],"sourceRoot":"../../../src","sources":["utils/addCancelListener.native.tsx"],"mappings":";;;;;;AAAA;AAEO,MAAMA,iBAAiB,GAAIC,QAAuB,IAAK;EAC5D,MAAMC,YAAY,GAAGC,wBAAW,CAACC,gBAAgB,CAC/C,mBAAmB,EACnBH,QAAQ,CACT;EAED,OAAO,MAAM;IACXC,YAAY,CAACG,MAAM,EAAE;EACvB,CAAC;AACH,CAAC;AAAC"}
|
|
@@ -11,6 +11,7 @@ var _reactNative = require("react-native");
|
|
|
11
11
|
var _reactNativeDrawerLayout = require("react-native-drawer-layout");
|
|
12
12
|
var _reactNativeSafeAreaContext = require("react-native-safe-area-context");
|
|
13
13
|
var _useLatestCallback = _interopRequireDefault(require("use-latest-callback"));
|
|
14
|
+
var _addCancelListener = require("../utils/addCancelListener");
|
|
14
15
|
var _DrawerPositionContext = require("../utils/DrawerPositionContext");
|
|
15
16
|
var _DrawerStatusContext = require("../utils/DrawerStatusContext");
|
|
16
17
|
var _getDrawerStatusFromState = require("../utils/getDrawerStatusFromState");
|
|
@@ -122,28 +123,11 @@ function DrawerViewBase(_ref) {
|
|
|
122
123
|
}
|
|
123
124
|
return true;
|
|
124
125
|
};
|
|
125
|
-
const handleEscape = e => {
|
|
126
|
-
if (e.key === 'Escape') {
|
|
127
|
-
handleHardwareBack();
|
|
128
|
-
}
|
|
129
|
-
};
|
|
130
|
-
if (_reactNative.Platform.OS === 'web') {
|
|
131
|
-
var _document, _document$body, _document$body$addEve;
|
|
132
|
-
(_document = document) === null || _document === void 0 ? void 0 : (_document$body = _document.body) === null || _document$body === void 0 ? void 0 : (_document$body$addEve = _document$body.addEventListener) === null || _document$body$addEve === void 0 ? void 0 : _document$body$addEve.call(_document$body, 'keyup', handleEscape);
|
|
133
|
-
return () => {
|
|
134
|
-
var _document2, _document2$body, _document2$body$remov;
|
|
135
|
-
(_document2 = document) === null || _document2 === void 0 ? void 0 : (_document2$body = _document2.body) === null || _document2$body === void 0 ? void 0 : (_document2$body$remov = _document2$body.removeEventListener) === null || _document2$body$remov === void 0 ? void 0 : _document2$body$remov.call(_document2$body, 'keyup', handleEscape);
|
|
136
|
-
};
|
|
137
|
-
}
|
|
138
126
|
|
|
139
127
|
// We only add the listeners when drawer opens
|
|
140
128
|
// This way we can make sure that the listener is added as late as possible
|
|
141
129
|
// This will make sure that our handler will run first when back button is pressed
|
|
142
|
-
|
|
143
|
-
return () => {
|
|
144
|
-
var _subscription$remove;
|
|
145
|
-
subscription === null || subscription === void 0 ? void 0 : (_subscription$remove = subscription.remove) === null || _subscription$remove === void 0 ? void 0 : _subscription$remove.call(subscription);
|
|
146
|
-
};
|
|
130
|
+
return (0, _addCancelListener.addCancelListener)(handleHardwareBack);
|
|
147
131
|
}, [defaultStatus, drawerStatus, drawerType, handleDrawerClose, handleDrawerOpen, navigation]);
|
|
148
132
|
const renderDrawerContent = () => {
|
|
149
133
|
return /*#__PURE__*/React.createElement(_DrawerPositionContext.DrawerPositionContext.Provider, {
|
|
@@ -239,7 +223,8 @@ function DrawerViewBase(_ref) {
|
|
|
239
223
|
overlayAccessibilityLabel: overlayAccessibilityLabel,
|
|
240
224
|
drawerPosition: drawerPosition,
|
|
241
225
|
drawerStyle: [{
|
|
242
|
-
backgroundColor: colors.card
|
|
226
|
+
backgroundColor: colors.card,
|
|
227
|
+
width: (0, _elements.getDefaultSidebarWidth)(dimensions)
|
|
243
228
|
}, drawerType === 'permanent' && (drawerPosition === 'left' ? {
|
|
244
229
|
borderRightColor: colors.border,
|
|
245
230
|
borderRightWidth: _reactNative.StyleSheet.hairlineWidth
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DrawerViewBase","state","navigation","descriptors","defaultStatus","drawerContent","props","detachInactiveScreens","Platform","OS","direction","useLocale","focusedRouteKey","routes","index","key","drawerHideStatusBarOnOpen","drawerPosition","drawerStatusBarAnimation","drawerStyle","drawerType","gestureHandlerProps","keyboardDismissMode","overlayColor","swipeEdgeWidth","swipeEnabled","swipeMinDistance","overlayAccessibilityLabel","options","loaded","setLoaded","React","useState","includes","dimensions","useSafeAreaFrame","colors","useTheme","drawerStatus","getDrawerStatusFromState","handleDrawerOpen","useLatestCallback","dispatch","DrawerActions","openDrawer","target","handleDrawerClose","closeDrawer","handleGestureStart","emit","type","handleGestureEnd","handleGestureCancel","handleTransitionStart","closing","data","handleTransitionEnd","useEffect","handleHardwareBack","isFocused","
|
|
1
|
+
{"version":3,"names":["DrawerViewBase","state","navigation","descriptors","defaultStatus","drawerContent","props","detachInactiveScreens","Platform","OS","direction","useLocale","focusedRouteKey","routes","index","key","drawerHideStatusBarOnOpen","drawerPosition","drawerStatusBarAnimation","drawerStyle","drawerType","gestureHandlerProps","keyboardDismissMode","overlayColor","swipeEdgeWidth","swipeEnabled","swipeMinDistance","overlayAccessibilityLabel","options","loaded","setLoaded","React","useState","includes","dimensions","useSafeAreaFrame","colors","useTheme","drawerStatus","getDrawerStatusFromState","handleDrawerOpen","useLatestCallback","dispatch","DrawerActions","openDrawer","target","handleDrawerClose","closeDrawer","handleGestureStart","emit","type","handleGestureEnd","handleGestureCancel","handleTransitionStart","closing","data","handleTransitionEnd","useEffect","handleHardwareBack","isFocused","addCancelListener","renderDrawerContent","renderSceneContent","styles","content","map","route","descriptor","lazy","unmountOnBlur","freezeOnBlur","header","layout","getHeaderTitle","name","headerLeft","headerShown","headerStatusBarHeight","headerTransparent","sceneContainerStyle","StyleSheet","absoluteFill","zIndex","render","backgroundColor","card","width","getDefaultSidebarWidth","borderRightColor","border","borderRightWidth","hairlineWidth","borderLeftColor","borderLeftWidth","DrawerView","rest","create","flex"],"sourceRoot":"../../../src","sources":["views/DrawerView.tsx"],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export const addCancelListener = callback => {
|
|
2
|
+
var _document, _document$body, _document$body$addEve;
|
|
3
|
+
const handleEscape = e => {
|
|
4
|
+
if (e.key === 'Escape') {
|
|
5
|
+
callback();
|
|
6
|
+
}
|
|
7
|
+
};
|
|
8
|
+
(_document = document) === null || _document === void 0 ? void 0 : (_document$body = _document.body) === null || _document$body === void 0 ? void 0 : (_document$body$addEve = _document$body.addEventListener) === null || _document$body$addEve === void 0 ? void 0 : _document$body$addEve.call(_document$body, 'keyup', handleEscape);
|
|
9
|
+
return () => {
|
|
10
|
+
var _document2, _document2$body, _document2$body$remov;
|
|
11
|
+
(_document2 = document) === null || _document2 === void 0 ? void 0 : (_document2$body = _document2.body) === null || _document2$body === void 0 ? void 0 : (_document2$body$remov = _document2$body.removeEventListener) === null || _document2$body$remov === void 0 ? void 0 : _document2$body$remov.call(_document2$body, 'keyup', handleEscape);
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=addCancelListener.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["addCancelListener","callback","handleEscape","e","key","document","body","addEventListener","removeEventListener"],"sourceRoot":"../../../src","sources":["utils/addCancelListener.tsx"],"mappings":"AAAA,OAAO,MAAMA,iBAAiB,GAAIC,QAAuB,IAAK;EAAA;EAC5D,MAAMC,YAAY,GAAIC,CAAgB,IAAK;IACzC,IAAIA,CAAC,CAACC,GAAG,KAAK,QAAQ,EAAE;MACtBH,QAAQ,EAAE;IACZ;EACF,CAAC;EAED,aAAAI,QAAQ,gEAAR,UAAUC,IAAI,4EAAd,eAAgBC,gBAAgB,0DAAhC,2CAAmC,OAAO,EAAEL,YAAY,CAAC;EAEzD,OAAO,MAAM;IAAA;IACX,cAAAG,QAAQ,kEAAR,WAAUC,IAAI,6EAAd,gBAAgBE,mBAAmB,0DAAnC,4CAAsC,OAAO,EAAEN,YAAY,CAAC;EAC9D,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { BackHandler } from 'react-native';
|
|
2
|
+
export const addCancelListener = callback => {
|
|
3
|
+
const subscription = BackHandler.addEventListener('hardwareBackPress', callback);
|
|
4
|
+
return () => {
|
|
5
|
+
subscription.remove();
|
|
6
|
+
};
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=addCancelListener.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["BackHandler","addCancelListener","callback","subscription","addEventListener","remove"],"sourceRoot":"../../../src","sources":["utils/addCancelListener.native.tsx"],"mappings":"AAAA,SAASA,WAAW,QAAQ,cAAc;AAE1C,OAAO,MAAMC,iBAAiB,GAAIC,QAAuB,IAAK;EAC5D,MAAMC,YAAY,GAAGH,WAAW,CAACI,gBAAgB,CAC/C,mBAAmB,EACnBF,QAAQ,CACT;EAED,OAAO,MAAM;IACXC,YAAY,CAACE,MAAM,EAAE;EACvB,CAAC;AACH,CAAC"}
|
|
@@ -1,11 +1,12 @@
|
|
|
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
|
-
import { getHeaderTitle, Header, SafeAreaProviderCompat, Screen } from '@react-navigation/elements';
|
|
2
|
+
import { getDefaultSidebarWidth, getHeaderTitle, Header, SafeAreaProviderCompat, Screen } from '@react-navigation/elements';
|
|
3
3
|
import { DrawerActions, useLocale, useTheme } from '@react-navigation/native';
|
|
4
4
|
import * as React from 'react';
|
|
5
|
-
import {
|
|
5
|
+
import { Platform, StyleSheet } from 'react-native';
|
|
6
6
|
import { Drawer } from 'react-native-drawer-layout';
|
|
7
7
|
import { useSafeAreaFrame } from 'react-native-safe-area-context';
|
|
8
8
|
import useLatestCallback from 'use-latest-callback';
|
|
9
|
+
import { addCancelListener } from '../utils/addCancelListener';
|
|
9
10
|
import { DrawerPositionContext } from '../utils/DrawerPositionContext';
|
|
10
11
|
import { DrawerStatusContext } from '../utils/DrawerStatusContext';
|
|
11
12
|
import { getDrawerStatusFromState } from '../utils/getDrawerStatusFromState';
|
|
@@ -113,28 +114,11 @@ function DrawerViewBase(_ref) {
|
|
|
113
114
|
}
|
|
114
115
|
return true;
|
|
115
116
|
};
|
|
116
|
-
const handleEscape = e => {
|
|
117
|
-
if (e.key === 'Escape') {
|
|
118
|
-
handleHardwareBack();
|
|
119
|
-
}
|
|
120
|
-
};
|
|
121
|
-
if (Platform.OS === 'web') {
|
|
122
|
-
var _document, _document$body, _document$body$addEve;
|
|
123
|
-
(_document = document) === null || _document === void 0 ? void 0 : (_document$body = _document.body) === null || _document$body === void 0 ? void 0 : (_document$body$addEve = _document$body.addEventListener) === null || _document$body$addEve === void 0 ? void 0 : _document$body$addEve.call(_document$body, 'keyup', handleEscape);
|
|
124
|
-
return () => {
|
|
125
|
-
var _document2, _document2$body, _document2$body$remov;
|
|
126
|
-
(_document2 = document) === null || _document2 === void 0 ? void 0 : (_document2$body = _document2.body) === null || _document2$body === void 0 ? void 0 : (_document2$body$remov = _document2$body.removeEventListener) === null || _document2$body$remov === void 0 ? void 0 : _document2$body$remov.call(_document2$body, 'keyup', handleEscape);
|
|
127
|
-
};
|
|
128
|
-
}
|
|
129
117
|
|
|
130
118
|
// We only add the listeners when drawer opens
|
|
131
119
|
// This way we can make sure that the listener is added as late as possible
|
|
132
120
|
// This will make sure that our handler will run first when back button is pressed
|
|
133
|
-
|
|
134
|
-
return () => {
|
|
135
|
-
var _subscription$remove;
|
|
136
|
-
subscription === null || subscription === void 0 ? void 0 : (_subscription$remove = subscription.remove) === null || _subscription$remove === void 0 ? void 0 : _subscription$remove.call(subscription);
|
|
137
|
-
};
|
|
121
|
+
return addCancelListener(handleHardwareBack);
|
|
138
122
|
}, [defaultStatus, drawerStatus, drawerType, handleDrawerClose, handleDrawerOpen, navigation]);
|
|
139
123
|
const renderDrawerContent = () => {
|
|
140
124
|
return /*#__PURE__*/React.createElement(DrawerPositionContext.Provider, {
|
|
@@ -230,7 +214,8 @@ function DrawerViewBase(_ref) {
|
|
|
230
214
|
overlayAccessibilityLabel: overlayAccessibilityLabel,
|
|
231
215
|
drawerPosition: drawerPosition,
|
|
232
216
|
drawerStyle: [{
|
|
233
|
-
backgroundColor: colors.card
|
|
217
|
+
backgroundColor: colors.card,
|
|
218
|
+
width: getDefaultSidebarWidth(dimensions)
|
|
234
219
|
}, drawerType === 'permanent' && (drawerPosition === 'left' ? {
|
|
235
220
|
borderRightColor: colors.border,
|
|
236
221
|
borderRightWidth: StyleSheet.hairlineWidth
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getHeaderTitle","Header","SafeAreaProviderCompat","Screen","DrawerActions","useLocale","useTheme","React","
|
|
1
|
+
{"version":3,"names":["getDefaultSidebarWidth","getHeaderTitle","Header","SafeAreaProviderCompat","Screen","DrawerActions","useLocale","useTheme","React","Platform","StyleSheet","Drawer","useSafeAreaFrame","useLatestCallback","addCancelListener","DrawerPositionContext","DrawerStatusContext","getDrawerStatusFromState","DrawerContent","DrawerToggleButton","MaybeScreen","MaybeScreenContainer","DrawerViewBase","state","navigation","descriptors","defaultStatus","drawerContent","props","detachInactiveScreens","OS","direction","focusedRouteKey","routes","index","key","drawerHideStatusBarOnOpen","drawerPosition","drawerStatusBarAnimation","drawerStyle","drawerType","gestureHandlerProps","keyboardDismissMode","overlayColor","swipeEdgeWidth","swipeEnabled","swipeMinDistance","overlayAccessibilityLabel","options","loaded","setLoaded","useState","includes","dimensions","colors","drawerStatus","handleDrawerOpen","dispatch","openDrawer","target","handleDrawerClose","closeDrawer","handleGestureStart","emit","type","handleGestureEnd","handleGestureCancel","handleTransitionStart","closing","data","handleTransitionEnd","useEffect","handleHardwareBack","isFocused","renderDrawerContent","renderSceneContent","styles","content","map","route","descriptor","lazy","unmountOnBlur","freezeOnBlur","header","layout","name","headerLeft","headerShown","headerStatusBarHeight","headerTransparent","sceneContainerStyle","absoluteFill","zIndex","render","backgroundColor","card","width","borderRightColor","border","borderRightWidth","hairlineWidth","borderLeftColor","borderLeftWidth","DrawerView","rest","create","flex"],"sourceRoot":"../../../src","sources":["views/DrawerView.tsx"],"mappings":";AAAA,SACEA,sBAAsB,EACtBC,cAAc,EACdC,MAAM,EACNC,sBAAsB,EACtBC,MAAM,QACD,4BAA4B;AACnC,SACEC,aAAa,EAIbC,SAAS,EACTC,QAAQ,QACH,0BAA0B;AACjC,OAAO,KAAKC,KAAK,MAAM,OAAO;AAC9B,SAASC,QAAQ,EAAEC,UAAU,QAAQ,cAAc;AACnD,SAASC,MAAM,QAAQ,4BAA4B;AACnD,SAASC,gBAAgB,QAAQ,gCAAgC;AACjE,OAAOC,iBAAiB,MAAM,qBAAqB;AAUnD,SAASC,iBAAiB,QAAQ,4BAA4B;AAC9D,SAASC,qBAAqB,QAAQ,gCAAgC;AACtE,SAASC,mBAAmB,QAAQ,8BAA8B;AAClE,SAASC,wBAAwB,QAAQ,mCAAmC;AAC5E,SAASC,aAAa,QAAQ,iBAAiB;AAC/C,SAASC,kBAAkB,QAAQ,sBAAsB;AACzD,SAASC,WAAW,EAAEC,oBAAoB,QAAQ,kBAAkB;AASpE,SAASC,cAAc,OAWb;EAAA,IAXc;IACtBC,KAAK;IACLC,UAAU;IACVC,WAAW;IACXC,aAAa;IACbC,aAAa,GAAIC,KAAkC,iBACjD,oBAAC,aAAa,EAAKA,KAAK,CACzB;IACDC,qBAAqB,GAAGpB,QAAQ,CAACqB,EAAE,KAAK,KAAK,IAC3CrB,QAAQ,CAACqB,EAAE,KAAK,SAAS,IACzBrB,QAAQ,CAACqB,EAAE,KAAK;EACb,CAAC;EACN,MAAM;IAAEC;EAAU,CAAC,GAAGzB,SAAS,EAAE;EAEjC,MAAM0B,eAAe,GAAGT,KAAK,CAACU,MAAM,CAACV,KAAK,CAACW,KAAK,CAAC,CAACC,GAAG;EACrD,MAAM;IACJC,yBAAyB;IACzBC,cAAc,GAAGN,SAAS,KAAK,KAAK,GAAG,OAAO,GAAG,MAAM;IACvDO,wBAAwB;IACxBC,WAAW;IACXC,UAAU;IACVC,mBAAmB;IACnBC,mBAAmB;IACnBC,YAAY,GAAG,oBAAoB;IACnCC,cAAc;IACdC,YAAY,GAAGpC,QAAQ,CAACqB,EAAE,KAAK,KAAK,IAClCrB,QAAQ,CAACqB,EAAE,KAAK,SAAS,IACzBrB,QAAQ,CAACqB,EAAE,KAAK,OAAO;IACzBgB,gBAAgB;IAChBC;EACF,CAAC,GAAGtB,WAAW,CAACO,eAAe,CAAC,CAACgB,OAAO;EAExC,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAG1C,KAAK,CAAC2C,QAAQ,CAAC,CAACnB,eAAe,CAAC,CAAC;EAE7D,IAAI,CAACiB,MAAM,CAACG,QAAQ,CAACpB,eAAe,CAAC,EAAE;IACrCkB,SAAS,CAAC,CAAC,GAAGD,MAAM,EAAEjB,eAAe,CAAC,CAAC;EACzC;EAEA,MAAMqB,UAAU,GAAGzC,gBAAgB,EAAE;EAErC,MAAM;IAAE0C;EAAO,CAAC,GAAG/C,QAAQ,EAAE;EAE7B,MAAMgD,YAAY,GAAGtC,wBAAwB,CAACM,KAAK,CAAC;EAEpD,MAAMiC,gBAAgB,GAAG3C,iBAAiB,CAAC,MAAM;IAC/CW,UAAU,CAACiC,QAAQ,CAAC;MAClB,GAAGpD,aAAa,CAACqD,UAAU,EAAE;MAC7BC,MAAM,EAAEpC,KAAK,CAACY;IAChB,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF,MAAMyB,iBAAiB,GAAG/C,iBAAiB,CAAC,MAAM;IAChDW,UAAU,CAACiC,QAAQ,CAAC;MAClB,GAAGpD,aAAa,CAACwD,WAAW,EAAE;MAC9BF,MAAM,EAAEpC,KAAK,CAACY;IAChB,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF,MAAM2B,kBAAkB,GAAGjD,iBAAiB,CAAC,MAAM;IACjDW,UAAU,CAACuC,IAAI,CAAC;MACdC,IAAI,EAAE,cAAc;MACpBL,MAAM,EAAEpC,KAAK,CAACY;IAChB,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF,MAAM8B,gBAAgB,GAAGpD,iBAAiB,CAAC,MAAM;IAC/CW,UAAU,CAACuC,IAAI,CAAC;MACdC,IAAI,EAAE,YAAY;MAClBL,MAAM,EAAEpC,KAAK,CAACY;IAChB,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF,MAAM+B,mBAAmB,GAAGrD,iBAAiB,CAAC,MAAM;IAClDW,UAAU,CAACuC,IAAI,CAAC;MACdC,IAAI,EAAE,eAAe;MACrBL,MAAM,EAAEpC,KAAK,CAACY;IAChB,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF,MAAMgC,qBAAqB,GAAGtD,iBAAiB,CAAEuD,OAAgB,IAAK;IACpE5C,UAAU,CAACuC,IAAI,CAAC;MACdC,IAAI,EAAE,iBAAiB;MACvBK,IAAI,EAAE;QAAED;MAAQ,CAAC;MACjBT,MAAM,EAAEpC,KAAK,CAACY;IAChB,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF,MAAMmC,mBAAmB,GAAGzD,iBAAiB,CAAEuD,OAAgB,IAAK;IAClE5C,UAAU,CAACuC,IAAI,CAAC;MACdC,IAAI,EAAE,eAAe;MACrBK,IAAI,EAAE;QAAED;MAAQ,CAAC;MACjBT,MAAM,EAAEpC,KAAK,CAACY;IAChB,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF3B,KAAK,CAAC+D,SAAS,CAAC,MAAM;IACpB,IAAIhB,YAAY,KAAK7B,aAAa,IAAIc,UAAU,KAAK,WAAW,EAAE;MAChE;IACF;IAEA,MAAMgC,kBAAkB,GAAG,MAAM;MAC/B;MACA;MACA,IAAI,CAAChD,UAAU,CAACiD,SAAS,EAAE,EAAE;QAC3B,OAAO,KAAK;MACd;MAEA,IAAI/C,aAAa,KAAK,MAAM,EAAE;QAC5B8B,gBAAgB,EAAE;MACpB,CAAC,MAAM;QACLI,iBAAiB,EAAE;MACrB;MAEA,OAAO,IAAI;IACb,CAAC;;IAED;IACA;IACA;IACA,OAAO9C,iBAAiB,CAAC0D,kBAAkB,CAAC;EAC9C,CAAC,EAAE,CACD9C,aAAa,EACb6B,YAAY,EACZf,UAAU,EACVoB,iBAAiB,EACjBJ,gBAAgB,EAChBhC,UAAU,CACX,CAAC;EAEF,MAAMkD,mBAAmB,GAAG,MAAM;IAChC,oBACE,oBAAC,qBAAqB,CAAC,QAAQ;MAAC,KAAK,EAAErC;IAAe,GACnDV,aAAa,CAAC;MACbJ,KAAK,EAAEA,KAAK;MACZC,UAAU,EAAEA,UAAU;MACtBC,WAAW,EAAEA;IACf,CAAC,CAAC,CAC6B;EAErC,CAAC;EAED,MAAMkD,kBAAkB,GAAG,MAAM;IAC/B,oBACE,oBAAC,oBAAoB;MACnB,OAAO,EAAE9C,qBAAsB;MAC/B,YAAY;MACZ,KAAK,EAAE+C,MAAM,CAACC;IAAQ,GAErBtD,KAAK,CAACU,MAAM,CAAC6C,GAAG,CAAC,CAACC,KAAK,EAAE7C,KAAK,KAAK;MAClC,MAAM8C,UAAU,GAAGvD,WAAW,CAACsD,KAAK,CAAC5C,GAAG,CAAC;MACzC,MAAM;QAAE8C,IAAI,GAAG,IAAI;QAAEC;MAAc,CAAC,GAAGF,UAAU,CAAChC,OAAO;MACzD,MAAMyB,SAAS,GAAGlD,KAAK,CAACW,KAAK,KAAKA,KAAK;MAEvC,IAAIgD,aAAa,IAAI,CAACT,SAAS,EAAE;QAC/B,OAAO,IAAI;MACb;MAEA,IAAIQ,IAAI,IAAI,CAAChC,MAAM,CAACG,QAAQ,CAAC2B,KAAK,CAAC5C,GAAG,CAAC,IAAI,CAACsC,SAAS,EAAE;QACrD;QACA,OAAO,IAAI;MACb;MAEA,MAAM;QACJU,YAAY;QACZC,MAAM,GAAG;UAAA,IAAC;YAAEC,MAAM;YAAErC;UAA2B,CAAC;UAAA,oBAC9C,oBAAC,MAAM,eACDA,OAAO;YACX,MAAM,EAAEqC,MAAO;YACf,KAAK,EAAEpF,cAAc,CAAC+C,OAAO,EAAE+B,KAAK,CAACO,IAAI,CAAE;YAC3C,UAAU,EACRtC,OAAO,CAACuC,UAAU,KAChB3D,KAAK,iBAAK,oBAAC,kBAAkB,EAAKA,KAAK,CAAI;UAC9C,GACD;QAAA,CACH;QACD4D,WAAW;QACXC,qBAAqB;QACrBC,iBAAiB;QACjBC;MACF,CAAC,GAAGX,UAAU,CAAChC,OAAO;MAEtB,oBACE,oBAAC,WAAW;QACV,GAAG,EAAE+B,KAAK,CAAC5C,GAAI;QACf,KAAK,EAAE,CAACzB,UAAU,CAACkF,YAAY,EAAE;UAAEC,MAAM,EAAEpB,SAAS,GAAG,CAAC,GAAG,CAAC;QAAE,CAAC,CAAE;QACjE,OAAO,EAAEA,SAAU;QACnB,OAAO,EAAE5C,qBAAsB;QAC/B,YAAY,EAAEsD;MAAa,gBAE3B,oBAAC,MAAM;QACL,OAAO,EAAEV,SAAU;QACnB,KAAK,EAAEO,UAAU,CAACD,KAAM;QACxB,UAAU,EAAEC,UAAU,CAACxD,UAAW;QAClC,WAAW,EAAEgE,WAAY;QACzB,qBAAqB,EAAEC,qBAAsB;QAC7C,iBAAiB,EAAEC,iBAAkB;QACrC,MAAM,EAAEN,MAAM,CAAC;UACbC,MAAM,EAAEhC,UAAU;UAClB0B,KAAK,EAAEC,UAAU,CAACD,KAAK;UACvBvD,UAAU,EACRwD,UAAU,CAACxD,UAAiD;UAC9DwB,OAAO,EAAEgC,UAAU,CAAChC;QACtB,CAAC,CAAE;QACH,KAAK,EAAE2C;MAAoB,GAE1BX,UAAU,CAACc,MAAM,EAAE,CACb,CACG;IAElB,CAAC,CAAC,CACmB;EAE3B,CAAC;EAED,oBACE,oBAAC,mBAAmB,CAAC,QAAQ;IAAC,KAAK,EAAEvC;EAAa,gBAChD,oBAAC,MAAM;IACL,IAAI,EAAEA,YAAY,KAAK,QAAS;IAChC,MAAM,EAAEC,gBAAiB;IACzB,OAAO,EAAEI,iBAAkB;IAC3B,cAAc,EAAEE,kBAAmB;IACnC,YAAY,EAAEG,gBAAiB;IAC/B,eAAe,EAAEC,mBAAoB;IACrC,iBAAiB,EAAEC,qBAAsB;IACzC,eAAe,EAAEG,mBAAoB;IACrC,MAAM,EAAEjB,UAAW;IACnB,mBAAmB,EAAEZ,mBAAoB;IACzC,YAAY,EAAEI,YAAa;IAC3B,cAAc,EAAED,cAAe;IAC/B,gBAAgB,EAAEE,gBAAiB;IACnC,mBAAmB,EAAEV,yBAA0B;IAC/C,kBAAkB,EAAEE,wBAAyB;IAC7C,mBAAmB,EAAEI,mBAAoB;IACzC,UAAU,EAAEF,UAAW;IACvB,yBAAyB,EAAEO,yBAA0B;IACrD,cAAc,EAAEV,cAAe;IAC/B,WAAW,EAAE,CACX;MACE0D,eAAe,EAAEzC,MAAM,CAAC0C,IAAI;MAC5BC,KAAK,EAAEjG,sBAAsB,CAACqD,UAAU;IAC1C,CAAC,EACDb,UAAU,KAAK,WAAW,KACvBH,cAAc,KAAK,MAAM,GACtB;MACE6D,gBAAgB,EAAE5C,MAAM,CAAC6C,MAAM;MAC/BC,gBAAgB,EAAE1F,UAAU,CAAC2F;IAC/B,CAAC,GACD;MACEC,eAAe,EAAEhD,MAAM,CAAC6C,MAAM;MAC9BI,eAAe,EAAE7F,UAAU,CAAC2F;IAC9B,CAAC,CAAC,EACR9D,WAAW,CACX;IACF,YAAY,EAAE;MAAEwD,eAAe,EAAEpD;IAAa,CAAE;IAChD,mBAAmB,EAAE+B;EAAoB,GAExCC,kBAAkB,EAAE,CACd,CACoB;AAEnC;AAEA,OAAO,SAAS6B,UAAU,QAAiC;EAAA,IAAhC;IAAEhF,UAAU;IAAE,GAAGiF;EAAY,CAAC;EACvD,oBACE,oBAAC,sBAAsB,qBACrB,oBAAC,cAAc;IAAC,UAAU,EAAEjF;EAAW,GAAKiF,IAAI,EAAI,CAC7B;AAE7B;AAEA,MAAM7B,MAAM,GAAGlE,UAAU,CAACgG,MAAM,CAAC;EAC/B7B,OAAO,EAAE;IACP8B,IAAI,EAAE;EACR;AACF,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"addCancelListener.d.ts","sourceRoot":"","sources":["../../../../src/utils/addCancelListener.tsx"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,aAAc,MAAM,OAAO,eAYxD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"addCancelListener.native.d.ts","sourceRoot":"","sources":["../../../../src/utils/addCancelListener.native.tsx"],"names":[],"mappings":"AAEA,eAAO,MAAM,iBAAiB,aAAc,MAAM,OAAO,eASxD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrawerView.d.ts","sourceRoot":"","sources":["../../../../src/views/DrawerView.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DrawerView.d.ts","sourceRoot":"","sources":["../../../../src/views/DrawerView.tsx"],"names":[],"mappings":"AAOA,OAAO,EAEL,qBAAqB,EACrB,YAAY,EACZ,aAAa,EAGd,MAAM,0BAA0B,CAAC;AAOlC,OAAO,KAAK,EAEV,mBAAmB,EAEnB,sBAAsB,EACtB,uBAAuB,EAExB,MAAM,UAAU,CAAC;AASlB,KAAK,KAAK,GAAG,sBAAsB,GAAG;IACpC,aAAa,EAAE,YAAY,CAAC;IAC5B,KAAK,EAAE,qBAAqB,CAAC,aAAa,CAAC,CAAC;IAC5C,UAAU,EAAE,uBAAuB,CAAC;IACpC,WAAW,EAAE,mBAAmB,CAAC;CAClC,CAAC;AAwQF,wBAAgB,UAAU,CAAC,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,EAAE,KAAK,eAMxD"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@react-navigation/drawer",
|
|
3
3
|
"description": "Integration for the drawer component from react-native-drawer-layout",
|
|
4
|
-
"version": "7.0.0-alpha.
|
|
4
|
+
"version": "7.0.0-alpha.5",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react-native-component",
|
|
7
7
|
"react-component",
|
|
@@ -41,13 +41,13 @@
|
|
|
41
41
|
"clean": "del lib"
|
|
42
42
|
},
|
|
43
43
|
"dependencies": {
|
|
44
|
-
"@react-navigation/elements": "^2.0.0-alpha.
|
|
44
|
+
"@react-navigation/elements": "^2.0.0-alpha.2",
|
|
45
45
|
"color": "^4.2.3",
|
|
46
|
-
"react-native-drawer-layout": "^4.0.0-alpha.
|
|
46
|
+
"react-native-drawer-layout": "^4.0.0-alpha.1",
|
|
47
47
|
"use-latest-callback": "^0.1.5"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
|
-
"@react-navigation/native": "^7.0.0-alpha.
|
|
50
|
+
"@react-navigation/native": "^7.0.0-alpha.4",
|
|
51
51
|
"@testing-library/react-native": "^11.5.0",
|
|
52
52
|
"@types/react": "~18.0.27",
|
|
53
53
|
"@types/react-native": "~0.70.8",
|
|
@@ -84,5 +84,5 @@
|
|
|
84
84
|
]
|
|
85
85
|
]
|
|
86
86
|
},
|
|
87
|
-
"gitHead": "
|
|
87
|
+
"gitHead": "ae0a70c2d94f77cd8ca8b8d3028f684a63f81b92"
|
|
88
88
|
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { BackHandler } from 'react-native';
|
|
2
|
+
|
|
3
|
+
export const addCancelListener = (callback: () => boolean) => {
|
|
4
|
+
const subscription = BackHandler.addEventListener(
|
|
5
|
+
'hardwareBackPress',
|
|
6
|
+
callback
|
|
7
|
+
);
|
|
8
|
+
|
|
9
|
+
return () => {
|
|
10
|
+
subscription.remove();
|
|
11
|
+
};
|
|
12
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export const addCancelListener = (callback: () => boolean) => {
|
|
2
|
+
const handleEscape = (e: KeyboardEvent) => {
|
|
3
|
+
if (e.key === 'Escape') {
|
|
4
|
+
callback();
|
|
5
|
+
}
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
document?.body?.addEventListener?.('keyup', handleEscape);
|
|
9
|
+
|
|
10
|
+
return () => {
|
|
11
|
+
document?.body?.removeEventListener?.('keyup', handleEscape);
|
|
12
|
+
};
|
|
13
|
+
};
|
package/src/views/DrawerView.tsx
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import {
|
|
2
|
+
getDefaultSidebarWidth,
|
|
2
3
|
getHeaderTitle,
|
|
3
4
|
Header,
|
|
4
5
|
SafeAreaProviderCompat,
|
|
@@ -13,7 +14,7 @@ import {
|
|
|
13
14
|
useTheme,
|
|
14
15
|
} from '@react-navigation/native';
|
|
15
16
|
import * as React from 'react';
|
|
16
|
-
import {
|
|
17
|
+
import { Platform, StyleSheet } from 'react-native';
|
|
17
18
|
import { Drawer } from 'react-native-drawer-layout';
|
|
18
19
|
import { useSafeAreaFrame } from 'react-native-safe-area-context';
|
|
19
20
|
import useLatestCallback from 'use-latest-callback';
|
|
@@ -26,6 +27,7 @@ import type {
|
|
|
26
27
|
DrawerNavigationHelpers,
|
|
27
28
|
DrawerNavigationProp,
|
|
28
29
|
} from '../types';
|
|
30
|
+
import { addCancelListener } from '../utils/addCancelListener';
|
|
29
31
|
import { DrawerPositionContext } from '../utils/DrawerPositionContext';
|
|
30
32
|
import { DrawerStatusContext } from '../utils/DrawerStatusContext';
|
|
31
33
|
import { getDrawerStatusFromState } from '../utils/getDrawerStatusFromState';
|
|
@@ -156,30 +158,10 @@ function DrawerViewBase({
|
|
|
156
158
|
return true;
|
|
157
159
|
};
|
|
158
160
|
|
|
159
|
-
const handleEscape = (e: KeyboardEvent) => {
|
|
160
|
-
if (e.key === 'Escape') {
|
|
161
|
-
handleHardwareBack();
|
|
162
|
-
}
|
|
163
|
-
};
|
|
164
|
-
|
|
165
|
-
if (Platform.OS === 'web') {
|
|
166
|
-
document?.body?.addEventListener?.('keyup', handleEscape);
|
|
167
|
-
return () => {
|
|
168
|
-
document?.body?.removeEventListener?.('keyup', handleEscape);
|
|
169
|
-
};
|
|
170
|
-
}
|
|
171
|
-
|
|
172
161
|
// We only add the listeners when drawer opens
|
|
173
162
|
// This way we can make sure that the listener is added as late as possible
|
|
174
163
|
// This will make sure that our handler will run first when back button is pressed
|
|
175
|
-
|
|
176
|
-
'hardwareBackPress',
|
|
177
|
-
handleHardwareBack
|
|
178
|
-
);
|
|
179
|
-
|
|
180
|
-
return () => {
|
|
181
|
-
subscription?.remove?.();
|
|
182
|
-
};
|
|
164
|
+
return addCancelListener(handleHardwareBack);
|
|
183
165
|
}, [
|
|
184
166
|
defaultStatus,
|
|
185
167
|
drawerStatus,
|
|
@@ -297,7 +279,10 @@ function DrawerViewBase({
|
|
|
297
279
|
overlayAccessibilityLabel={overlayAccessibilityLabel}
|
|
298
280
|
drawerPosition={drawerPosition}
|
|
299
281
|
drawerStyle={[
|
|
300
|
-
{
|
|
282
|
+
{
|
|
283
|
+
backgroundColor: colors.card,
|
|
284
|
+
width: getDefaultSidebarWidth(dimensions),
|
|
285
|
+
},
|
|
301
286
|
drawerType === 'permanent' &&
|
|
302
287
|
(drawerPosition === 'left'
|
|
303
288
|
? {
|