@react-navigation/drawer 6.6.3 → 6.6.4
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 +2 -17
- 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 +3 -18
- 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 +4 -4
- package/src/utils/addCancelListener.native.tsx +12 -0
- package/src/utils/addCancelListener.tsx +13 -0
- package/src/views/DrawerView.tsx +3 -29
|
@@ -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"}
|
|
@@ -10,6 +10,7 @@ var React = _interopRequireWildcard(require("react"));
|
|
|
10
10
|
var _reactNative = require("react-native");
|
|
11
11
|
var Reanimated = _interopRequireWildcard(require("react-native-reanimated"));
|
|
12
12
|
var _reactNativeSafeAreaContext = require("react-native-safe-area-context");
|
|
13
|
+
var _addCancelListener = require("../utils/addCancelListener");
|
|
13
14
|
var _DrawerPositionContext = _interopRequireDefault(require("../utils/DrawerPositionContext"));
|
|
14
15
|
var _DrawerStatusContext = _interopRequireDefault(require("../utils/DrawerStatusContext"));
|
|
15
16
|
var _getDrawerStatusFromState = _interopRequireDefault(require("../utils/getDrawerStatusFromState"));
|
|
@@ -114,27 +115,11 @@ function DrawerViewBase(_ref2) {
|
|
|
114
115
|
}
|
|
115
116
|
return true;
|
|
116
117
|
};
|
|
117
|
-
const handleEscape = e => {
|
|
118
|
-
if (e.key === 'Escape') {
|
|
119
|
-
handleHardwareBack();
|
|
120
|
-
}
|
|
121
|
-
};
|
|
122
118
|
|
|
123
119
|
// We only add the listeners when drawer opens
|
|
124
120
|
// This way we can make sure that the listener is added as late as possible
|
|
125
121
|
// This will make sure that our handler will run first when back button is pressed
|
|
126
|
-
|
|
127
|
-
if (_reactNative.Platform.OS === 'web') {
|
|
128
|
-
var _document, _document$body, _document$body$addEve;
|
|
129
|
-
(_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);
|
|
130
|
-
}
|
|
131
|
-
return () => {
|
|
132
|
-
subscription.remove();
|
|
133
|
-
if (_reactNative.Platform.OS === 'web') {
|
|
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
|
-
};
|
|
122
|
+
return (0, _addCancelListener.addCancelListener)(handleHardwareBack);
|
|
138
123
|
}, [defaultStatus, drawerStatus, drawerType, handleDrawerClose, handleDrawerOpen, navigation]);
|
|
139
124
|
const renderDrawerContent = () => {
|
|
140
125
|
return /*#__PURE__*/React.createElement(_DrawerPositionContext.default.Provider, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getDefaultDrawerWidth","height","width","smallerAxisSize","Math","min","isLandscape","isTablet","appBarHeight","Platform","OS","maxWidth","GestureHandlerWrapper","GestureHandlerRootView","View","DrawerViewBase","state","navigation","descriptors","defaultStatus","drawerContent","props","detachInactiveScreens","useLegacyImplementation","Reanimated","isConfigured","legacyImplemenationNotAvailable","require","abs","undefined","Error","Drawer","default","focusedRouteKey","routes","index","key","drawerHideStatusBarOnOpen","drawerPosition","I18nManager","getConstants","isRTL","drawerStatusBarAnimation","drawerStyle","drawerType","select","ios","gestureHandlerProps","keyboardDismissMode","overlayColor","swipeEdgeWidth","swipeEnabled","swipeMinDistance","overlayAccessibilityLabel","options","loaded","setLoaded","React","useState","includes","dimensions","useSafeAreaFrame","colors","useTheme","drawerStatus","getDrawerStatusFromState","handleDrawerOpen","useCallback","dispatch","DrawerActions","openDrawer","target","handleDrawerClose","closeDrawer","useEffect","handleHardwareBack","isFocused","
|
|
1
|
+
{"version":3,"names":["getDefaultDrawerWidth","height","width","smallerAxisSize","Math","min","isLandscape","isTablet","appBarHeight","Platform","OS","maxWidth","GestureHandlerWrapper","GestureHandlerRootView","View","DrawerViewBase","state","navigation","descriptors","defaultStatus","drawerContent","props","detachInactiveScreens","useLegacyImplementation","Reanimated","isConfigured","legacyImplemenationNotAvailable","require","abs","undefined","Error","Drawer","default","focusedRouteKey","routes","index","key","drawerHideStatusBarOnOpen","drawerPosition","I18nManager","getConstants","isRTL","drawerStatusBarAnimation","drawerStyle","drawerType","select","ios","gestureHandlerProps","keyboardDismissMode","overlayColor","swipeEdgeWidth","swipeEnabled","swipeMinDistance","overlayAccessibilityLabel","options","loaded","setLoaded","React","useState","includes","dimensions","useSafeAreaFrame","colors","useTheme","drawerStatus","getDrawerStatusFromState","handleDrawerOpen","useCallback","dispatch","DrawerActions","openDrawer","target","handleDrawerClose","closeDrawer","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","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"}
|
|
@@ -2,9 +2,10 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
|
|
|
2
2
|
import { getHeaderTitle, Header, SafeAreaProviderCompat, Screen } from '@react-navigation/elements';
|
|
3
3
|
import { DrawerActions, useTheme } from '@react-navigation/native';
|
|
4
4
|
import * as React from 'react';
|
|
5
|
-
import {
|
|
5
|
+
import { I18nManager, Platform, StyleSheet, View } from 'react-native';
|
|
6
6
|
import * as Reanimated from 'react-native-reanimated';
|
|
7
7
|
import { useSafeAreaFrame } from 'react-native-safe-area-context';
|
|
8
|
+
import { addCancelListener } from '../utils/addCancelListener';
|
|
8
9
|
import DrawerPositionContext from '../utils/DrawerPositionContext';
|
|
9
10
|
import DrawerStatusContext from '../utils/DrawerStatusContext';
|
|
10
11
|
import getDrawerStatusFromState from '../utils/getDrawerStatusFromState';
|
|
@@ -105,27 +106,11 @@ function DrawerViewBase(_ref2) {
|
|
|
105
106
|
}
|
|
106
107
|
return true;
|
|
107
108
|
};
|
|
108
|
-
const handleEscape = e => {
|
|
109
|
-
if (e.key === 'Escape') {
|
|
110
|
-
handleHardwareBack();
|
|
111
|
-
}
|
|
112
|
-
};
|
|
113
109
|
|
|
114
110
|
// We only add the listeners when drawer opens
|
|
115
111
|
// This way we can make sure that the listener is added as late as possible
|
|
116
112
|
// This will make sure that our handler will run first when back button is pressed
|
|
117
|
-
|
|
118
|
-
if (Platform.OS === 'web') {
|
|
119
|
-
var _document, _document$body, _document$body$addEve;
|
|
120
|
-
(_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);
|
|
121
|
-
}
|
|
122
|
-
return () => {
|
|
123
|
-
subscription.remove();
|
|
124
|
-
if (Platform.OS === 'web') {
|
|
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
|
-
};
|
|
113
|
+
return addCancelListener(handleHardwareBack);
|
|
129
114
|
}, [defaultStatus, drawerStatus, drawerType, handleDrawerClose, handleDrawerOpen, navigation]);
|
|
130
115
|
const renderDrawerContent = () => {
|
|
131
116
|
return /*#__PURE__*/React.createElement(DrawerPositionContext.Provider, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getHeaderTitle","Header","SafeAreaProviderCompat","Screen","DrawerActions","useTheme","React","
|
|
1
|
+
{"version":3,"names":["getHeaderTitle","Header","SafeAreaProviderCompat","Screen","DrawerActions","useTheme","React","I18nManager","Platform","StyleSheet","View","Reanimated","useSafeAreaFrame","addCancelListener","DrawerPositionContext","DrawerStatusContext","getDrawerStatusFromState","DrawerContent","DrawerToggleButton","GestureHandlerRootView","MaybeScreen","MaybeScreenContainer","getDefaultDrawerWidth","height","width","smallerAxisSize","Math","min","isLandscape","isTablet","appBarHeight","OS","maxWidth","GestureHandlerWrapper","DrawerViewBase","state","navigation","descriptors","defaultStatus","drawerContent","props","detachInactiveScreens","useLegacyImplementation","isConfigured","legacyImplemenationNotAvailable","require","abs","undefined","Error","Drawer","default","focusedRouteKey","routes","index","key","drawerHideStatusBarOnOpen","drawerPosition","getConstants","isRTL","drawerStatusBarAnimation","drawerStyle","drawerType","select","ios","gestureHandlerProps","keyboardDismissMode","overlayColor","swipeEdgeWidth","swipeEnabled","swipeMinDistance","overlayAccessibilityLabel","options","loaded","setLoaded","useState","includes","dimensions","colors","drawerStatus","handleDrawerOpen","useCallback","dispatch","openDrawer","target","handleDrawerClose","closeDrawer","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","borderRightColor","border","borderRightWidth","hairlineWidth","borderLeftColor","borderLeftWidth","DrawerView","rest","create","flex"],"sourceRoot":"../../../src","sources":["views/DrawerView.tsx"],"mappings":"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"}
|
|
@@ -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":"AAMA,OAAO,EAEL,qBAAqB,EACrB,YAAY,EACZ,aAAa,EAEd,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"DrawerView.d.ts","sourceRoot":"","sources":["../../../../src/views/DrawerView.tsx"],"names":[],"mappings":"AAMA,OAAO,EAEL,qBAAqB,EACrB,YAAY,EACZ,aAAa,EAEd,MAAM,0BAA0B,CAAC;AAMlC,OAAO,KAAK,EAEV,mBAAmB,EAEnB,sBAAsB,EACtB,uBAAuB,EAGxB,MAAM,UAAU,CAAC;AAUlB,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;AAoQF,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,EAAE,KAAK,eAQhE"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@react-navigation/drawer",
|
|
3
3
|
"description": "Drawer navigator component with animated transitions and gesturess",
|
|
4
|
-
"version": "6.6.
|
|
4
|
+
"version": "6.6.4",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react-native-component",
|
|
7
7
|
"react-component",
|
|
@@ -41,12 +41,12 @@
|
|
|
41
41
|
"clean": "del lib"
|
|
42
42
|
},
|
|
43
43
|
"dependencies": {
|
|
44
|
-
"@react-navigation/elements": "^1.3.
|
|
44
|
+
"@react-navigation/elements": "^1.3.19",
|
|
45
45
|
"color": "^4.2.3",
|
|
46
46
|
"warn-once": "^0.1.0"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
|
-
"@react-navigation/native": "^6.1.
|
|
49
|
+
"@react-navigation/native": "^6.1.8",
|
|
50
50
|
"@testing-library/react-native": "^11.5.0",
|
|
51
51
|
"@types/react": "~18.0.27",
|
|
52
52
|
"@types/react-native": "~0.71.3",
|
|
@@ -83,5 +83,5 @@
|
|
|
83
83
|
]
|
|
84
84
|
]
|
|
85
85
|
},
|
|
86
|
-
"gitHead": "
|
|
86
|
+
"gitHead": "46954cec3d746aa2d9097d1b94f9e2a915d3e1c7"
|
|
87
87
|
}
|
|
@@ -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
|
@@ -12,13 +12,7 @@ import {
|
|
|
12
12
|
useTheme,
|
|
13
13
|
} from '@react-navigation/native';
|
|
14
14
|
import * as React from 'react';
|
|
15
|
-
import {
|
|
16
|
-
BackHandler,
|
|
17
|
-
I18nManager,
|
|
18
|
-
Platform,
|
|
19
|
-
StyleSheet,
|
|
20
|
-
View,
|
|
21
|
-
} from 'react-native';
|
|
15
|
+
import { I18nManager, Platform, StyleSheet, View } from 'react-native';
|
|
22
16
|
import * as Reanimated from 'react-native-reanimated';
|
|
23
17
|
import { useSafeAreaFrame } from 'react-native-safe-area-context';
|
|
24
18
|
|
|
@@ -31,6 +25,7 @@ import type {
|
|
|
31
25
|
DrawerNavigationProp,
|
|
32
26
|
DrawerProps,
|
|
33
27
|
} from '../types';
|
|
28
|
+
import { addCancelListener } from '../utils/addCancelListener';
|
|
34
29
|
import DrawerPositionContext from '../utils/DrawerPositionContext';
|
|
35
30
|
import DrawerStatusContext from '../utils/DrawerStatusContext';
|
|
36
31
|
import getDrawerStatusFromState from '../utils/getDrawerStatusFromState';
|
|
@@ -163,31 +158,10 @@ function DrawerViewBase({
|
|
|
163
158
|
return true;
|
|
164
159
|
};
|
|
165
160
|
|
|
166
|
-
const handleEscape = (e: KeyboardEvent) => {
|
|
167
|
-
if (e.key === 'Escape') {
|
|
168
|
-
handleHardwareBack();
|
|
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
|
-
if (Platform.OS === 'web') {
|
|
181
|
-
document?.body?.addEventListener?.('keyup', handleEscape);
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
return () => {
|
|
185
|
-
subscription.remove();
|
|
186
|
-
|
|
187
|
-
if (Platform.OS === 'web') {
|
|
188
|
-
document?.body?.removeEventListener?.('keyup', handleEscape);
|
|
189
|
-
}
|
|
190
|
-
};
|
|
164
|
+
return addCancelListener(handleHardwareBack);
|
|
191
165
|
}, [
|
|
192
166
|
defaultStatus,
|
|
193
167
|
drawerStatus,
|