@react-navigation/native-stack 7.0.0-rc.27 → 7.0.0-rc.29
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/navigators/createNativeStackNavigator.js +3 -1
- package/lib/commonjs/navigators/createNativeStackNavigator.js.map +1 -1
- package/lib/commonjs/views/DebugContainer.native.js +8 -10
- package/lib/commonjs/views/DebugContainer.native.js.map +1 -1
- package/lib/commonjs/views/FooterComponent.js +19 -0
- package/lib/commonjs/views/FooterComponent.js.map +1 -0
- package/lib/commonjs/views/NativeStackView.js +11 -8
- package/lib/commonjs/views/NativeStackView.js.map +1 -1
- package/lib/commonjs/views/NativeStackView.native.js +84 -95
- package/lib/commonjs/views/NativeStackView.native.js.map +1 -1
- package/lib/commonjs/views/ScreenStackContent.js +70 -0
- package/lib/commonjs/views/ScreenStackContent.js.map +1 -0
- package/lib/commonjs/views/{HeaderConfig.js → useHeaderConfigProps.js} +59 -48
- package/lib/commonjs/views/useHeaderConfigProps.js.map +1 -0
- package/lib/module/navigators/createNativeStackNavigator.js +3 -1
- package/lib/module/navigators/createNativeStackNavigator.js.map +1 -1
- package/lib/module/views/DebugContainer.native.js +9 -11
- package/lib/module/views/DebugContainer.native.js.map +1 -1
- package/lib/module/views/FooterComponent.js +14 -0
- package/lib/module/views/FooterComponent.js.map +1 -0
- package/lib/module/views/NativeStackView.js +11 -8
- package/lib/module/views/NativeStackView.js.map +1 -1
- package/lib/module/views/NativeStackView.native.js +85 -95
- package/lib/module/views/NativeStackView.native.js.map +1 -1
- package/lib/module/views/ScreenStackContent.js +63 -0
- package/lib/module/views/ScreenStackContent.js.map +1 -0
- package/lib/module/views/{HeaderConfig.js → useHeaderConfigProps.js} +59 -48
- package/lib/module/views/useHeaderConfigProps.js.map +1 -0
- package/lib/typescript/commonjs/src/index.d.ts +1 -1
- package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/navigators/createNativeStackNavigator.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/types.d.ts +80 -18
- package/lib/typescript/commonjs/src/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/views/DebugContainer.d.ts +1 -1
- package/lib/typescript/commonjs/src/views/DebugContainer.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/views/DebugContainer.native.d.ts +1 -1
- package/lib/typescript/commonjs/src/views/DebugContainer.native.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/views/FooterComponent.d.ts +7 -0
- package/lib/typescript/commonjs/src/views/FooterComponent.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/views/NativeStackView.d.ts +4 -3
- package/lib/typescript/commonjs/src/views/NativeStackView.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/views/NativeStackView.native.d.ts +4 -3
- package/lib/typescript/commonjs/src/views/NativeStackView.native.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/views/ScreenStackContent.d.ts +9 -0
- package/lib/typescript/commonjs/src/views/ScreenStackContent.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/views/useHeaderConfigProps.d.ts +41 -0
- package/lib/typescript/commonjs/src/views/useHeaderConfigProps.d.ts.map +1 -0
- package/lib/typescript/commonjs/tsconfig.build.tsbuildinfo +1 -1
- package/lib/typescript/module/src/index.d.ts +1 -1
- package/lib/typescript/module/src/index.d.ts.map +1 -1
- package/lib/typescript/module/src/navigators/createNativeStackNavigator.d.ts.map +1 -1
- package/lib/typescript/module/src/types.d.ts +80 -18
- package/lib/typescript/module/src/types.d.ts.map +1 -1
- package/lib/typescript/module/src/views/DebugContainer.d.ts +1 -1
- package/lib/typescript/module/src/views/DebugContainer.d.ts.map +1 -1
- package/lib/typescript/module/src/views/DebugContainer.native.d.ts +1 -1
- package/lib/typescript/module/src/views/DebugContainer.native.d.ts.map +1 -1
- package/lib/typescript/module/src/views/FooterComponent.d.ts +7 -0
- package/lib/typescript/module/src/views/FooterComponent.d.ts.map +1 -0
- package/lib/typescript/module/src/views/NativeStackView.d.ts +4 -3
- package/lib/typescript/module/src/views/NativeStackView.d.ts.map +1 -1
- package/lib/typescript/module/src/views/NativeStackView.native.d.ts +4 -3
- package/lib/typescript/module/src/views/NativeStackView.native.d.ts.map +1 -1
- package/lib/typescript/module/src/views/ScreenStackContent.d.ts +9 -0
- package/lib/typescript/module/src/views/ScreenStackContent.d.ts.map +1 -0
- package/lib/typescript/module/src/views/useHeaderConfigProps.d.ts +41 -0
- package/lib/typescript/module/src/views/useHeaderConfigProps.d.ts.map +1 -0
- package/lib/typescript/module/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +9 -9
- package/src/index.tsx +2 -0
- package/src/navigators/createNativeStackNavigator.tsx +2 -1
- package/src/types.tsx +74 -18
- package/src/views/DebugContainer.native.tsx +13 -6
- package/src/views/DebugContainer.tsx +1 -1
- package/src/views/FooterComponent.tsx +10 -0
- package/src/views/NativeStackView.native.tsx +111 -151
- package/src/views/NativeStackView.tsx +24 -12
- package/src/views/ScreenStackContent.tsx +121 -0
- package/src/views/{HeaderConfig.tsx → useHeaderConfigProps.tsx} +67 -71
- package/lib/commonjs/views/HeaderConfig.js.map +0 -1
- package/lib/module/views/HeaderConfig.js.map +0 -1
- package/lib/typescript/commonjs/src/views/HeaderConfig.d.ts +0 -11
- package/lib/typescript/commonjs/src/views/HeaderConfig.d.ts.map +0 -1
- package/lib/typescript/module/src/views/HeaderConfig.d.ts +0 -11
- package/lib/typescript/module/src/views/HeaderConfig.d.ts.map +0 -1
|
@@ -23,6 +23,7 @@ function NativeStackNavigator({
|
|
|
23
23
|
}) {
|
|
24
24
|
const {
|
|
25
25
|
state,
|
|
26
|
+
describe,
|
|
26
27
|
descriptors,
|
|
27
28
|
navigation,
|
|
28
29
|
NavigationContent
|
|
@@ -59,7 +60,8 @@ function NativeStackNavigator({
|
|
|
59
60
|
...rest,
|
|
60
61
|
state: state,
|
|
61
62
|
navigation: navigation,
|
|
62
|
-
descriptors: descriptors
|
|
63
|
+
descriptors: descriptors,
|
|
64
|
+
describe: describe
|
|
63
65
|
})
|
|
64
66
|
});
|
|
65
67
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_native","require","React","_interopRequireWildcard","_NativeStackView","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","NativeStackNavigator","id","initialRouteName","children","layout","screenListeners","screenOptions","screenLayout","UNSTABLE_getStateForRouteNamesChange","rest","state","descriptors","navigation","NavigationContent","useNavigationBuilder","StackRouter","useEffect","addListener","isFocused","requestAnimationFrame","index","defaultPrevented","dispatch","StackActions","popToTop","target","key","jsx","NativeStackView","createNativeStackNavigator","config","createNavigatorFactory"],"sourceRoot":"../../../src","sources":["navigators/createNativeStackNavigator.tsx"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAcA,IAAAC,KAAA,GAAAC,uBAAA,CAAAF,OAAA;AAQA,IAAAG,gBAAA,GAAAH,OAAA;AAA2D,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAK,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAJ,wBAAAI,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAE3D,SAASW,oBAAoBA,CAAC;EAC5BC,EAAE;EACFC,gBAAgB;EAChBC,QAAQ;EACRC,MAAM;EACNC,eAAe;EACfC,aAAa;EACbC,YAAY;EACZC,oCAAoC;EACpC,GAAGC;AACsB,CAAC,EAAE;EAC5B,MAAM;IAAEC,KAAK;IAAEC,WAAW;IAAEC,UAAU;IAAEC;EAAkB,CAAC,
|
|
1
|
+
{"version":3,"names":["_native","require","React","_interopRequireWildcard","_NativeStackView","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","NativeStackNavigator","id","initialRouteName","children","layout","screenListeners","screenOptions","screenLayout","UNSTABLE_getStateForRouteNamesChange","rest","state","describe","descriptors","navigation","NavigationContent","useNavigationBuilder","StackRouter","useEffect","addListener","isFocused","requestAnimationFrame","index","defaultPrevented","dispatch","StackActions","popToTop","target","key","jsx","NativeStackView","createNativeStackNavigator","config","createNavigatorFactory"],"sourceRoot":"../../../src","sources":["navigators/createNativeStackNavigator.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,6 +7,7 @@ exports.DebugContainer = void 0;
|
|
|
7
7
|
var React = _interopRequireWildcard(require("react"));
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
9
|
var _AppContainer = _interopRequireDefault(require("react-native/Libraries/ReactNative/AppContainer"));
|
|
10
|
+
var _reactNativeScreens = require("react-native-screens");
|
|
10
11
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
12
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
12
13
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
@@ -19,9 +20,8 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
|
|
|
19
20
|
* for detailed explanation.
|
|
20
21
|
*/
|
|
21
22
|
let DebugContainer = props => {
|
|
22
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
23
|
-
...props
|
|
24
|
-
collapsable: false
|
|
23
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeScreens.ScreenContentWrapper, {
|
|
24
|
+
...props
|
|
25
25
|
});
|
|
26
26
|
};
|
|
27
27
|
exports.DebugContainer = DebugContainer;
|
|
@@ -31,18 +31,16 @@ if (process.env.NODE_ENV !== 'production') {
|
|
|
31
31
|
stackPresentation,
|
|
32
32
|
...rest
|
|
33
33
|
} = props;
|
|
34
|
-
if (_reactNative.Platform.OS === 'ios' && stackPresentation !== 'push') {
|
|
34
|
+
if (_reactNative.Platform.OS === 'ios' && stackPresentation !== 'push' && stackPresentation !== 'formSheet') {
|
|
35
35
|
// This is necessary for LogBox
|
|
36
36
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_AppContainer.default, {
|
|
37
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
38
|
-
...rest
|
|
39
|
-
collapsable: false
|
|
37
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeScreens.ScreenContentWrapper, {
|
|
38
|
+
...rest
|
|
40
39
|
})
|
|
41
40
|
});
|
|
42
41
|
}
|
|
43
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
44
|
-
...rest
|
|
45
|
-
collapsable: false
|
|
42
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeScreens.ScreenContentWrapper, {
|
|
43
|
+
...rest
|
|
46
44
|
});
|
|
47
45
|
};
|
|
48
46
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_AppContainer","_interopRequireDefault","_jsxRuntime","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","DebugContainer","props","jsx","
|
|
1
|
+
{"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_AppContainer","_interopRequireDefault","_reactNativeScreens","_jsxRuntime","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","DebugContainer","props","jsx","ScreenContentWrapper","exports","process","env","NODE_ENV","stackPresentation","rest","Platform","OS","children"],"sourceRoot":"../../../src","sources":["views/DebugContainer.native.tsx"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,aAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,mBAAA,GAAAJ,OAAA;AAG8B,IAAAK,WAAA,GAAAL,OAAA;AAAA,SAAAG,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,yBAAAH,CAAA,6BAAAI,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAD,wBAAA,YAAAA,CAAAH,CAAA,WAAAA,CAAA,GAAAM,CAAA,GAAAD,CAAA,KAAAL,CAAA;AAAA,SAAAP,wBAAAO,CAAA,EAAAK,CAAA,SAAAA,CAAA,IAAAL,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAE,OAAA,EAAAF,CAAA,QAAAM,CAAA,GAAAH,wBAAA,CAAAE,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAC,GAAA,CAAAP,CAAA,UAAAM,CAAA,CAAAE,GAAA,CAAAR,CAAA,OAAAS,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAf,CAAA,oBAAAe,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAe,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAd,CAAA,EAAAe,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAf,CAAA,CAAAe,CAAA,YAAAN,CAAA,CAAAP,OAAA,GAAAF,CAAA,EAAAM,CAAA,IAAAA,CAAA,CAAAa,GAAA,CAAAnB,CAAA,EAAAS,CAAA,GAAAA,CAAA;AAL9B;;AAYA;AACA;AACA;AACA;AACA;AACO,IAAIW,cAAc,GAAIC,KAAqB,IAAK;EACrD,oBAAO,IAAAtB,WAAA,CAAAuB,GAAA,EAACxB,mBAAA,CAAAyB,oBAAoB;IAAA,GAAKF;EAAK,CAAG,CAAC;AAC5C,CAAC;AAACG,OAAA,CAAAJ,cAAA,GAAAA,cAAA;AAEF,IAAIK,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;EACzCH,OAAA,CAAAJ,cAAA,GAAAA,cAAc,GAAIC,KAAqB,IAAK;IAC1C,MAAM;MAAEO,iBAAiB;MAAE,GAAGC;IAAK,CAAC,GAAGR,KAAK;IAE5C,IACES,qBAAQ,CAACC,EAAE,KAAK,KAAK,IACrBH,iBAAiB,KAAK,MAAM,IAC5BA,iBAAiB,KAAK,WAAW,EACjC;MACA;MACA,oBACE,IAAA7B,WAAA,CAAAuB,GAAA,EAAC1B,aAAA,CAAAM,OAAY;QAAA8B,QAAA,eACX,IAAAjC,WAAA,CAAAuB,GAAA,EAACxB,mBAAA,CAAAyB,oBAAoB;UAAA,GAAKM;QAAI,CAAG;MAAC,CACtB,CAAC;IAEnB;IAEA,oBAAO,IAAA9B,WAAA,CAAAuB,GAAA,EAACxB,mBAAA,CAAAyB,oBAAoB;MAAA,GAAKM;IAAI,CAAG,CAAC;EAC3C,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.FooterComponent = FooterComponent;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _reactNativeScreens = require("react-native-screens");
|
|
9
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
10
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
|
+
function FooterComponent({
|
|
12
|
+
children
|
|
13
|
+
}) {
|
|
14
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeScreens.ScreenFooter, {
|
|
15
|
+
collapsable: false,
|
|
16
|
+
children: children
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=FooterComponent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNativeScreens","_jsxRuntime","e","__esModule","default","FooterComponent","children","jsx","ScreenFooter","collapsable"],"sourceRoot":"../../../src","sources":["views/FooterComponent.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,mBAAA,GAAAD,OAAA;AAAoD,IAAAE,WAAA,GAAAF,OAAA;AAAA,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAM7C,SAASG,eAAeA,CAAC;EAAEC;AAAsB,CAAC,EAAE;EACzD,oBAAO,IAAAL,WAAA,CAAAM,GAAA,EAACP,mBAAA,CAAAQ,YAAY;IAACC,WAAW,EAAE,KAAM;IAAAH,QAAA,EAAEA;EAAQ,CAAe,CAAC;AACpE","ignoreList":[]}
|
|
@@ -15,7 +15,8 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
|
|
|
15
15
|
const TRANSPARENT_PRESENTATIONS = ['transparentModal', 'containedTransparentModal'];
|
|
16
16
|
function NativeStackView({
|
|
17
17
|
state,
|
|
18
|
-
descriptors
|
|
18
|
+
descriptors,
|
|
19
|
+
describe
|
|
19
20
|
}) {
|
|
20
21
|
const parentHeaderBack = React.useContext(_elements.HeaderBackContext);
|
|
21
22
|
const {
|
|
@@ -24,14 +25,15 @@ function NativeStackView({
|
|
|
24
25
|
const {
|
|
25
26
|
colors
|
|
26
27
|
} = (0, _native.useTheme)();
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
const preloadedDescriptors = state.preloadedRoutes.reduce((acc, route) => {
|
|
29
|
+
acc[route.key] = acc[route.key] || describe(route, true);
|
|
30
|
+
return acc;
|
|
31
|
+
}, {});
|
|
30
32
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_elements.SafeAreaProviderCompat, {
|
|
31
33
|
style: {
|
|
32
34
|
backgroundColor: colors.background
|
|
33
35
|
},
|
|
34
|
-
children: state.routes.map((route, i) => {
|
|
36
|
+
children: state.routes.concat(state.preloadedRoutes).map((route, i) => {
|
|
35
37
|
const isFocused = state.index === i;
|
|
36
38
|
const previousKey = state.routes[i - 1]?.key;
|
|
37
39
|
const nextKey = state.routes[i + 1]?.key;
|
|
@@ -41,12 +43,12 @@ function NativeStackView({
|
|
|
41
43
|
options,
|
|
42
44
|
navigation,
|
|
43
45
|
render
|
|
44
|
-
} = descriptors[route.key];
|
|
46
|
+
} = descriptors[route.key] ?? preloadedDescriptors[route.key];
|
|
45
47
|
const headerBack = previousDescriptor ? {
|
|
46
48
|
title: (0, _elements.getHeaderTitle)(previousDescriptor.options, previousDescriptor.route.name),
|
|
47
49
|
href: buildHref(previousDescriptor.route.name, previousDescriptor.route.params)
|
|
48
50
|
} : parentHeaderBack;
|
|
49
|
-
const canGoBack = headerBack
|
|
51
|
+
const canGoBack = headerBack != null;
|
|
50
52
|
const {
|
|
51
53
|
header,
|
|
52
54
|
headerShown,
|
|
@@ -59,6 +61,7 @@ function NativeStackView({
|
|
|
59
61
|
...rest
|
|
60
62
|
} = options;
|
|
61
63
|
const nextPresentation = nextDescriptor?.options.presentation;
|
|
64
|
+
const isPreloaded = preloadedDescriptors[route.key] !== undefined && descriptors[route.key] === undefined;
|
|
62
65
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_elements.Screen, {
|
|
63
66
|
focused: isFocused,
|
|
64
67
|
route: route,
|
|
@@ -99,7 +102,7 @@ function NativeStackView({
|
|
|
99
102
|
}) : headerLeft
|
|
100
103
|
}),
|
|
101
104
|
style: [_reactNative.StyleSheet.absoluteFill, {
|
|
102
|
-
display: isFocused || nextPresentation != null && TRANSPARENT_PRESENTATIONS.includes(nextPresentation) ? 'flex' : 'none'
|
|
105
|
+
display: (isFocused || nextPresentation != null && TRANSPARENT_PRESENTATIONS.includes(nextPresentation)) && !isPreloaded ? 'flex' : 'none'
|
|
103
106
|
}, presentation != null && TRANSPARENT_PRESENTATIONS.includes(presentation) ? {
|
|
104
107
|
backgroundColor: 'transparent'
|
|
105
108
|
} : null],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_elements","require","_native","React","_interopRequireWildcard","_reactNative","_useAnimatedHeaderHeight","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","TRANSPARENT_PRESENTATIONS","NativeStackView","state","descriptors","parentHeaderBack","useContext","HeaderBackContext","buildHref","useLinkBuilder","colors","useTheme","preloadedRoutes","
|
|
1
|
+
{"version":3,"names":["_elements","require","_native","React","_interopRequireWildcard","_reactNative","_useAnimatedHeaderHeight","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","TRANSPARENT_PRESENTATIONS","NativeStackView","state","descriptors","describe","parentHeaderBack","useContext","HeaderBackContext","buildHref","useLinkBuilder","colors","useTheme","preloadedDescriptors","preloadedRoutes","reduce","acc","route","key","jsx","SafeAreaProviderCompat","style","backgroundColor","background","children","routes","concat","map","isFocused","index","previousKey","nextKey","previousDescriptor","undefined","nextDescriptor","options","navigation","render","headerBack","title","getHeaderTitle","name","href","params","canGoBack","header","headerShown","headerBackImageSource","headerLeft","headerTransparent","headerBackTitle","presentation","contentStyle","rest","nextPresentation","isPreloaded","Screen","focused","back","Header","label","tintColor","HeaderBackButton","backImage","Image","source","resizeMode","styles","onPress","goBack","StyleSheet","absoluteFill","display","includes","Provider","value","AnimatedHeaderHeightProvider","View","contentContainer","headerHeight","useHeaderHeight","animatedHeaderHeight","useState","Animated","Value","useEffect","setValue","AnimatedHeaderHeightContext","create","flex","height","width","margin"],"sourceRoot":"../../../src","sources":["views/NativeStackView.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -10,68 +10,18 @@ var React = _interopRequireWildcard(require("react"));
|
|
|
10
10
|
var _reactNative = require("react-native");
|
|
11
11
|
var _reactNativeSafeAreaContext = require("react-native-safe-area-context");
|
|
12
12
|
var _reactNativeScreens = require("react-native-screens");
|
|
13
|
-
var _warnOnce = _interopRequireDefault(require("warn-once"));
|
|
14
13
|
var _debounce = require("../utils/debounce.js");
|
|
15
14
|
var _getModalRoutesKeys = require("../utils/getModalRoutesKeys.js");
|
|
16
15
|
var _useAnimatedHeaderHeight = require("../utils/useAnimatedHeaderHeight.js");
|
|
17
16
|
var _useDismissedRouteError = require("../utils/useDismissedRouteError.js");
|
|
18
17
|
var _useInvalidPreventRemoveError = require("../utils/useInvalidPreventRemoveError.js");
|
|
19
|
-
var
|
|
20
|
-
var
|
|
18
|
+
var _FooterComponent = require("./FooterComponent.js");
|
|
19
|
+
var _ScreenStackContent = require("./ScreenStackContent.js");
|
|
20
|
+
var _useHeaderConfigProps = require("./useHeaderConfigProps.js");
|
|
21
21
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
22
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
23
22
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
24
23
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
25
24
|
const ANDROID_DEFAULT_HEADER_HEIGHT = 56;
|
|
26
|
-
const MaybeNestedStack = ({
|
|
27
|
-
options,
|
|
28
|
-
route,
|
|
29
|
-
presentation,
|
|
30
|
-
headerHeight,
|
|
31
|
-
headerTopInsetEnabled,
|
|
32
|
-
children
|
|
33
|
-
}) => {
|
|
34
|
-
const {
|
|
35
|
-
colors
|
|
36
|
-
} = (0, _native.useTheme)();
|
|
37
|
-
const {
|
|
38
|
-
header,
|
|
39
|
-
headerShown = true,
|
|
40
|
-
contentStyle
|
|
41
|
-
} = options;
|
|
42
|
-
const isHeaderInModal = _reactNative.Platform.OS === 'android' ? false : presentation !== 'card' && headerShown === true && header === undefined;
|
|
43
|
-
const headerShownPreviousRef = React.useRef(headerShown);
|
|
44
|
-
React.useEffect(() => {
|
|
45
|
-
(0, _warnOnce.default)(_reactNative.Platform.OS !== 'android' && presentation !== 'card' && headerShownPreviousRef.current !== headerShown, `Dynamically changing 'headerShown' in modals will result in remounting the screen and losing all local state. See options for the screen '${route.name}'.`);
|
|
46
|
-
headerShownPreviousRef.current = headerShown;
|
|
47
|
-
}, [headerShown, presentation, route.name]);
|
|
48
|
-
const content = /*#__PURE__*/(0, _jsxRuntime.jsx)(_DebugContainer.DebugContainer, {
|
|
49
|
-
style: [styles.container, presentation !== 'transparentModal' && presentation !== 'containedTransparentModal' && {
|
|
50
|
-
backgroundColor: colors.background
|
|
51
|
-
}, contentStyle],
|
|
52
|
-
stackPresentation: presentation === 'card' ? 'push' : presentation,
|
|
53
|
-
children: children
|
|
54
|
-
});
|
|
55
|
-
if (isHeaderInModal) {
|
|
56
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeScreens.ScreenStack, {
|
|
57
|
-
style: styles.container,
|
|
58
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNativeScreens.Screen, {
|
|
59
|
-
enabled: true,
|
|
60
|
-
isNativeStack: true,
|
|
61
|
-
hasLargeHeader: options.headerLargeTitle ?? false,
|
|
62
|
-
style: _reactNative.StyleSheet.absoluteFill,
|
|
63
|
-
children: [content, /*#__PURE__*/(0, _jsxRuntime.jsx)(_HeaderConfig.HeaderConfig, {
|
|
64
|
-
...options,
|
|
65
|
-
route: route,
|
|
66
|
-
headerHeight: headerHeight,
|
|
67
|
-
headerTopInsetEnabled: headerTopInsetEnabled,
|
|
68
|
-
canGoBack: true
|
|
69
|
-
})]
|
|
70
|
-
})
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
return content;
|
|
74
|
-
};
|
|
75
25
|
const SceneView = ({
|
|
76
26
|
index,
|
|
77
27
|
focused,
|
|
@@ -79,6 +29,7 @@ const SceneView = ({
|
|
|
79
29
|
previousDescriptor,
|
|
80
30
|
nextDescriptor,
|
|
81
31
|
isPresentationModal,
|
|
32
|
+
isPreloaded,
|
|
82
33
|
onWillDisappear,
|
|
83
34
|
onWillAppear,
|
|
84
35
|
onAppear,
|
|
@@ -86,7 +37,8 @@ const SceneView = ({
|
|
|
86
37
|
onDismissed,
|
|
87
38
|
onHeaderBackButtonClicked,
|
|
88
39
|
onNativeDismissCancelled,
|
|
89
|
-
onGestureCancel
|
|
40
|
+
onGestureCancel,
|
|
41
|
+
onSheetDetentChanged
|
|
90
42
|
}) => {
|
|
91
43
|
const {
|
|
92
44
|
route,
|
|
@@ -98,7 +50,8 @@ const SceneView = ({
|
|
|
98
50
|
animation,
|
|
99
51
|
animationMatchesGesture,
|
|
100
52
|
presentation = isPresentationModal ? 'modal' : 'card',
|
|
101
|
-
fullScreenGestureEnabled
|
|
53
|
+
fullScreenGestureEnabled,
|
|
54
|
+
unstable_screenStyle = null
|
|
102
55
|
} = options;
|
|
103
56
|
const {
|
|
104
57
|
animationDuration,
|
|
@@ -118,18 +71,29 @@ const SceneView = ({
|
|
|
118
71
|
navigationBarTranslucent,
|
|
119
72
|
navigationBarHidden,
|
|
120
73
|
orientation,
|
|
121
|
-
sheetAllowedDetents =
|
|
122
|
-
|
|
74
|
+
sheetAllowedDetents = [1.0],
|
|
75
|
+
sheetLargestUndimmedDetentIndex = -1,
|
|
123
76
|
sheetGrabberVisible = false,
|
|
124
77
|
sheetCornerRadius = -1.0,
|
|
78
|
+
sheetElevation = 24,
|
|
125
79
|
sheetExpandsWhenScrolledToEdge = true,
|
|
80
|
+
sheetInitialDetentIndex = 0,
|
|
126
81
|
statusBarAnimation,
|
|
127
82
|
statusBarHidden,
|
|
128
83
|
statusBarStyle,
|
|
129
84
|
statusBarTranslucent,
|
|
130
85
|
statusBarBackgroundColor,
|
|
131
|
-
|
|
86
|
+
unstable_sheetFooter = null,
|
|
87
|
+
freezeOnBlur,
|
|
88
|
+
contentStyle
|
|
132
89
|
} = options;
|
|
90
|
+
|
|
91
|
+
// We want to allow only backgroundColor setting for now.
|
|
92
|
+
// This allows to workaround one issue with truncated
|
|
93
|
+
// content with formSheet presentation.
|
|
94
|
+
unstable_screenStyle = unstable_screenStyle && presentation === 'formSheet' ? {
|
|
95
|
+
backgroundColor: unstable_screenStyle.backgroundColor
|
|
96
|
+
} : null;
|
|
133
97
|
if (gestureDirection === 'vertical' && _reactNative.Platform.OS === 'ios') {
|
|
134
98
|
// for `vertical` direction to work, we need to set `fullScreenGestureEnabled` to `true`
|
|
135
99
|
// so the screen can be dismissed from any point on screen.
|
|
@@ -156,6 +120,9 @@ const SceneView = ({
|
|
|
156
120
|
// for navigator with first screen as `modal` and the next as `card`
|
|
157
121
|
presentation = 'card';
|
|
158
122
|
}
|
|
123
|
+
const {
|
|
124
|
+
colors
|
|
125
|
+
} = (0, _native.useTheme)();
|
|
159
126
|
const insets = (0, _reactNativeSafeAreaContext.useSafeAreaInsets)();
|
|
160
127
|
const frame = (0, _reactNativeSafeAreaContext.useSafeAreaFrame)();
|
|
161
128
|
|
|
@@ -206,22 +173,38 @@ const SceneView = ({
|
|
|
206
173
|
// we apply additional padding in header only if its true.
|
|
207
174
|
// For more details see: https://github.com/react-navigation/react-navigation/pull/12014
|
|
208
175
|
const headerTopInsetEnabled = typeof statusBarTranslucent === 'boolean' ? statusBarTranslucent : topInset !== 0;
|
|
176
|
+
const canGoBack = previousDescriptor != null || parentHeaderBack != null;
|
|
209
177
|
const backTitle = previousDescriptor ? (0, _elements.getHeaderTitle)(previousDescriptor.options, previousDescriptor.route.name) : parentHeaderBack?.title;
|
|
210
|
-
const headerBack = React.useMemo(() =>
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
178
|
+
const headerBack = React.useMemo(() => {
|
|
179
|
+
if (canGoBack) {
|
|
180
|
+
return {
|
|
181
|
+
href: undefined,
|
|
182
|
+
// No href needed for native
|
|
183
|
+
title: backTitle
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
return undefined;
|
|
187
|
+
}, [canGoBack, backTitle]);
|
|
215
188
|
const isRemovePrevented = preventedRoutes[route.key]?.preventRemove;
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
189
|
+
const headerConfig = (0, _useHeaderConfigProps.useHeaderConfigProps)({
|
|
190
|
+
...options,
|
|
191
|
+
route,
|
|
192
|
+
canGoBack,
|
|
193
|
+
headerBackButtonMenuEnabled: isRemovePrevented !== undefined ? !isRemovePrevented : headerBackButtonMenuEnabled,
|
|
194
|
+
headerBackTitle: options.headerBackTitle !== undefined ? options.headerBackTitle : undefined,
|
|
195
|
+
headerHeight,
|
|
196
|
+
headerShown: header !== undefined ? false : headerShown,
|
|
197
|
+
headerTopInsetEnabled
|
|
198
|
+
});
|
|
199
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ScreenStackContent.ScreenStackContent, {
|
|
200
|
+
activityState: isPreloaded ? 0 : 2,
|
|
201
|
+
style: [_reactNative.StyleSheet.absoluteFill, unstable_screenStyle],
|
|
219
202
|
accessibilityElementsHidden: !focused,
|
|
220
203
|
importantForAccessibility: focused ? 'auto' : 'no-hide-descendants',
|
|
221
|
-
style: _reactNative.StyleSheet.absoluteFill,
|
|
222
|
-
hasLargeHeader: options.headerLargeTitle ?? false,
|
|
223
204
|
customAnimationOnSwipe: animationMatchesGesture,
|
|
224
205
|
fullScreenSwipeEnabled: fullScreenGestureEnabled,
|
|
206
|
+
fullScreenSwipeShadowEnabled: fullScreenGestureShadowEnabled,
|
|
207
|
+
freezeOnBlur: freezeOnBlur,
|
|
225
208
|
gestureEnabled: _reactNative.Platform.OS === 'android' ?
|
|
226
209
|
// This prop enables handling of system back gestures on Android
|
|
227
210
|
// Since we handle them in JS side, we disable this
|
|
@@ -236,9 +219,11 @@ const SceneView = ({
|
|
|
236
219
|
stackAnimation: animation,
|
|
237
220
|
screenOrientation: orientation,
|
|
238
221
|
sheetAllowedDetents: sheetAllowedDetents,
|
|
239
|
-
|
|
222
|
+
sheetLargestUndimmedDetentIndex: sheetLargestUndimmedDetentIndex,
|
|
240
223
|
sheetGrabberVisible: sheetGrabberVisible,
|
|
224
|
+
sheetInitialDetentIndex: sheetInitialDetentIndex,
|
|
241
225
|
sheetCornerRadius: sheetCornerRadius,
|
|
226
|
+
sheetElevation: sheetElevation,
|
|
242
227
|
sheetExpandsWhenScrolledToEdge: sheetExpandsWhenScrolledToEdge,
|
|
243
228
|
statusBarAnimation: statusBarAnimation,
|
|
244
229
|
statusBarHidden: statusBarHidden,
|
|
@@ -253,6 +238,7 @@ const SceneView = ({
|
|
|
253
238
|
onDisappear: onDisappear,
|
|
254
239
|
onDismissed: onDismissed,
|
|
255
240
|
onGestureCancel: onGestureCancel,
|
|
241
|
+
onSheetDetentChanged: onSheetDetentChanged,
|
|
256
242
|
gestureResponseDistance: gestureResponseDistance,
|
|
257
243
|
nativeBackButtonDismissalEnabled: false // on Android
|
|
258
244
|
,
|
|
@@ -292,13 +278,13 @@ const SceneView = ({
|
|
|
292
278
|
}
|
|
293
279
|
}
|
|
294
280
|
}),
|
|
295
|
-
|
|
281
|
+
contentStyle: [presentation !== 'transparentModal' && presentation !== 'containedTransparentModal' && {
|
|
282
|
+
backgroundColor: colors.background
|
|
283
|
+
}, contentStyle],
|
|
284
|
+
headerConfig: headerConfig
|
|
296
285
|
// When ts-expect-error is added, it affects all the props below it
|
|
297
286
|
// So we keep any props that need it at the end
|
|
298
287
|
// Otherwise invalid props may not be caught by TypeScript
|
|
299
|
-
// @ts-expect-error Props available in newer versions of `react-native-screens`
|
|
300
|
-
,
|
|
301
|
-
fullScreenSwipeShadowEnabled: fullScreenGestureShadowEnabled // 3.33.0 onwards
|
|
302
288
|
,
|
|
303
289
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_native.NavigationContext.Provider, {
|
|
304
290
|
value: navigation,
|
|
@@ -334,26 +320,12 @@ const SceneView = ({
|
|
|
334
320
|
})
|
|
335
321
|
}) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_elements.HeaderShownContext.Provider, {
|
|
336
322
|
value: isParentHeaderShown || headerShown !== false,
|
|
337
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
presentation: presentation,
|
|
341
|
-
headerHeight: headerHeight,
|
|
342
|
-
headerTopInsetEnabled: headerTopInsetEnabled,
|
|
343
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_elements.HeaderBackContext.Provider, {
|
|
344
|
-
value: headerBack,
|
|
345
|
-
children: render()
|
|
346
|
-
})
|
|
323
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_elements.HeaderBackContext.Provider, {
|
|
324
|
+
value: headerBack,
|
|
325
|
+
children: render()
|
|
347
326
|
})
|
|
348
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
349
|
-
|
|
350
|
-
route: route,
|
|
351
|
-
headerBackButtonMenuEnabled: isRemovePrevented !== undefined ? !isRemovePrevented : headerBackButtonMenuEnabled,
|
|
352
|
-
headerShown: header !== undefined ? false : headerShown,
|
|
353
|
-
headerHeight: headerHeight,
|
|
354
|
-
headerBackTitle: options.headerBackTitle !== undefined ? options.headerBackTitle : undefined,
|
|
355
|
-
headerTopInsetEnabled: headerTopInsetEnabled,
|
|
356
|
-
canGoBack: headerBack !== undefined
|
|
327
|
+
}), presentation === 'formSheet' && unstable_sheetFooter && /*#__PURE__*/(0, _jsxRuntime.jsx)(_FooterComponent.FooterComponent, {
|
|
328
|
+
children: unstable_sheetFooter()
|
|
357
329
|
})]
|
|
358
330
|
})
|
|
359
331
|
})
|
|
@@ -364,7 +336,8 @@ const SceneView = ({
|
|
|
364
336
|
function NativeStackView({
|
|
365
337
|
state,
|
|
366
338
|
navigation,
|
|
367
|
-
descriptors
|
|
339
|
+
descriptors,
|
|
340
|
+
describe
|
|
368
341
|
}) {
|
|
369
342
|
const {
|
|
370
343
|
setNextDismissedKey
|
|
@@ -374,20 +347,25 @@ function NativeStackView({
|
|
|
374
347
|
} = (0, _native.useTheme)();
|
|
375
348
|
(0, _useInvalidPreventRemoveError.useInvalidPreventRemoveError)(descriptors);
|
|
376
349
|
const modalRouteKeys = (0, _getModalRoutesKeys.getModalRouteKeys)(state.routes, descriptors);
|
|
350
|
+
const preloadedDescriptors = state.preloadedRoutes.reduce((acc, route) => {
|
|
351
|
+
acc[route.key] = acc[route.key] || describe(route, true);
|
|
352
|
+
return acc;
|
|
353
|
+
}, {});
|
|
377
354
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_elements.SafeAreaProviderCompat, {
|
|
378
355
|
style: {
|
|
379
356
|
backgroundColor: colors.background
|
|
380
357
|
},
|
|
381
358
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeScreens.ScreenStack, {
|
|
382
359
|
style: styles.container,
|
|
383
|
-
children: state.routes.map((route, index) => {
|
|
384
|
-
const descriptor = descriptors[route.key];
|
|
360
|
+
children: state.routes.concat(state.preloadedRoutes).map((route, index) => {
|
|
361
|
+
const descriptor = descriptors[route.key] ?? preloadedDescriptors[route.key];
|
|
385
362
|
const isFocused = state.index === index;
|
|
386
363
|
const previousKey = state.routes[index - 1]?.key;
|
|
387
364
|
const nextKey = state.routes[index + 1]?.key;
|
|
388
365
|
const previousDescriptor = previousKey ? descriptors[previousKey] : undefined;
|
|
389
366
|
const nextDescriptor = nextKey ? descriptors[nextKey] : undefined;
|
|
390
367
|
const isModal = modalRouteKeys.includes(route.key);
|
|
368
|
+
const isPreloaded = preloadedDescriptors[route.key] !== undefined && descriptors[route.key] === undefined;
|
|
391
369
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(SceneView, {
|
|
392
370
|
index: index,
|
|
393
371
|
focused: isFocused,
|
|
@@ -395,6 +373,7 @@ function NativeStackView({
|
|
|
395
373
|
previousDescriptor: previousDescriptor,
|
|
396
374
|
nextDescriptor: nextDescriptor,
|
|
397
375
|
isPresentationModal: isModal,
|
|
376
|
+
isPreloaded: isPreloaded,
|
|
398
377
|
onWillDisappear: () => {
|
|
399
378
|
navigation.emit({
|
|
400
379
|
type: 'transitionStart',
|
|
@@ -458,6 +437,16 @@ function NativeStackView({
|
|
|
458
437
|
type: 'gestureCancel',
|
|
459
438
|
target: route.key
|
|
460
439
|
});
|
|
440
|
+
},
|
|
441
|
+
onSheetDetentChanged: event => {
|
|
442
|
+
navigation.emit({
|
|
443
|
+
type: 'sheetDetentChange',
|
|
444
|
+
target: route.key,
|
|
445
|
+
data: {
|
|
446
|
+
index: event.nativeEvent.index,
|
|
447
|
+
stable: event.nativeEvent.isStable
|
|
448
|
+
}
|
|
449
|
+
});
|
|
461
450
|
}
|
|
462
451
|
}, route.key);
|
|
463
452
|
})
|