@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.
Files changed (85) hide show
  1. package/lib/commonjs/navigators/createNativeStackNavigator.js +3 -1
  2. package/lib/commonjs/navigators/createNativeStackNavigator.js.map +1 -1
  3. package/lib/commonjs/views/DebugContainer.native.js +8 -10
  4. package/lib/commonjs/views/DebugContainer.native.js.map +1 -1
  5. package/lib/commonjs/views/FooterComponent.js +19 -0
  6. package/lib/commonjs/views/FooterComponent.js.map +1 -0
  7. package/lib/commonjs/views/NativeStackView.js +11 -8
  8. package/lib/commonjs/views/NativeStackView.js.map +1 -1
  9. package/lib/commonjs/views/NativeStackView.native.js +84 -95
  10. package/lib/commonjs/views/NativeStackView.native.js.map +1 -1
  11. package/lib/commonjs/views/ScreenStackContent.js +70 -0
  12. package/lib/commonjs/views/ScreenStackContent.js.map +1 -0
  13. package/lib/commonjs/views/{HeaderConfig.js → useHeaderConfigProps.js} +59 -48
  14. package/lib/commonjs/views/useHeaderConfigProps.js.map +1 -0
  15. package/lib/module/navigators/createNativeStackNavigator.js +3 -1
  16. package/lib/module/navigators/createNativeStackNavigator.js.map +1 -1
  17. package/lib/module/views/DebugContainer.native.js +9 -11
  18. package/lib/module/views/DebugContainer.native.js.map +1 -1
  19. package/lib/module/views/FooterComponent.js +14 -0
  20. package/lib/module/views/FooterComponent.js.map +1 -0
  21. package/lib/module/views/NativeStackView.js +11 -8
  22. package/lib/module/views/NativeStackView.js.map +1 -1
  23. package/lib/module/views/NativeStackView.native.js +85 -95
  24. package/lib/module/views/NativeStackView.native.js.map +1 -1
  25. package/lib/module/views/ScreenStackContent.js +63 -0
  26. package/lib/module/views/ScreenStackContent.js.map +1 -0
  27. package/lib/module/views/{HeaderConfig.js → useHeaderConfigProps.js} +59 -48
  28. package/lib/module/views/useHeaderConfigProps.js.map +1 -0
  29. package/lib/typescript/commonjs/src/index.d.ts +1 -1
  30. package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
  31. package/lib/typescript/commonjs/src/navigators/createNativeStackNavigator.d.ts.map +1 -1
  32. package/lib/typescript/commonjs/src/types.d.ts +80 -18
  33. package/lib/typescript/commonjs/src/types.d.ts.map +1 -1
  34. package/lib/typescript/commonjs/src/views/DebugContainer.d.ts +1 -1
  35. package/lib/typescript/commonjs/src/views/DebugContainer.d.ts.map +1 -1
  36. package/lib/typescript/commonjs/src/views/DebugContainer.native.d.ts +1 -1
  37. package/lib/typescript/commonjs/src/views/DebugContainer.native.d.ts.map +1 -1
  38. package/lib/typescript/commonjs/src/views/FooterComponent.d.ts +7 -0
  39. package/lib/typescript/commonjs/src/views/FooterComponent.d.ts.map +1 -0
  40. package/lib/typescript/commonjs/src/views/NativeStackView.d.ts +4 -3
  41. package/lib/typescript/commonjs/src/views/NativeStackView.d.ts.map +1 -1
  42. package/lib/typescript/commonjs/src/views/NativeStackView.native.d.ts +4 -3
  43. package/lib/typescript/commonjs/src/views/NativeStackView.native.d.ts.map +1 -1
  44. package/lib/typescript/commonjs/src/views/ScreenStackContent.d.ts +9 -0
  45. package/lib/typescript/commonjs/src/views/ScreenStackContent.d.ts.map +1 -0
  46. package/lib/typescript/commonjs/src/views/useHeaderConfigProps.d.ts +41 -0
  47. package/lib/typescript/commonjs/src/views/useHeaderConfigProps.d.ts.map +1 -0
  48. package/lib/typescript/commonjs/tsconfig.build.tsbuildinfo +1 -1
  49. package/lib/typescript/module/src/index.d.ts +1 -1
  50. package/lib/typescript/module/src/index.d.ts.map +1 -1
  51. package/lib/typescript/module/src/navigators/createNativeStackNavigator.d.ts.map +1 -1
  52. package/lib/typescript/module/src/types.d.ts +80 -18
  53. package/lib/typescript/module/src/types.d.ts.map +1 -1
  54. package/lib/typescript/module/src/views/DebugContainer.d.ts +1 -1
  55. package/lib/typescript/module/src/views/DebugContainer.d.ts.map +1 -1
  56. package/lib/typescript/module/src/views/DebugContainer.native.d.ts +1 -1
  57. package/lib/typescript/module/src/views/DebugContainer.native.d.ts.map +1 -1
  58. package/lib/typescript/module/src/views/FooterComponent.d.ts +7 -0
  59. package/lib/typescript/module/src/views/FooterComponent.d.ts.map +1 -0
  60. package/lib/typescript/module/src/views/NativeStackView.d.ts +4 -3
  61. package/lib/typescript/module/src/views/NativeStackView.d.ts.map +1 -1
  62. package/lib/typescript/module/src/views/NativeStackView.native.d.ts +4 -3
  63. package/lib/typescript/module/src/views/NativeStackView.native.d.ts.map +1 -1
  64. package/lib/typescript/module/src/views/ScreenStackContent.d.ts +9 -0
  65. package/lib/typescript/module/src/views/ScreenStackContent.d.ts.map +1 -0
  66. package/lib/typescript/module/src/views/useHeaderConfigProps.d.ts +41 -0
  67. package/lib/typescript/module/src/views/useHeaderConfigProps.d.ts.map +1 -0
  68. package/lib/typescript/module/tsconfig.build.tsbuildinfo +1 -1
  69. package/package.json +9 -9
  70. package/src/index.tsx +2 -0
  71. package/src/navigators/createNativeStackNavigator.tsx +2 -1
  72. package/src/types.tsx +74 -18
  73. package/src/views/DebugContainer.native.tsx +13 -6
  74. package/src/views/DebugContainer.tsx +1 -1
  75. package/src/views/FooterComponent.tsx +10 -0
  76. package/src/views/NativeStackView.native.tsx +111 -151
  77. package/src/views/NativeStackView.tsx +24 -12
  78. package/src/views/ScreenStackContent.tsx +121 -0
  79. package/src/views/{HeaderConfig.tsx → useHeaderConfigProps.tsx} +67 -71
  80. package/lib/commonjs/views/HeaderConfig.js.map +0 -1
  81. package/lib/module/views/HeaderConfig.js.map +0 -1
  82. package/lib/typescript/commonjs/src/views/HeaderConfig.d.ts +0 -11
  83. package/lib/typescript/commonjs/src/views/HeaderConfig.d.ts.map +0 -1
  84. package/lib/typescript/module/src/views/HeaderConfig.d.ts +0 -11
  85. 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":"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","ignoreList":[]}
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)(_reactNative.View, {
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)(_reactNative.View, {
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)(_reactNative.View, {
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","View","collapsable","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;AAA2E,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAG,uBAAAE,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,SAAAN,wBAAAM,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;AAD3E;;AASA;AACA;AACA;AACA;AACA;AACO,IAAIW,cAAc,GAAIC,KAAqB,IAAK;EACrD,oBAAO,IAAAtB,WAAA,CAAAuB,GAAA,EAAC1B,YAAA,CAAA2B,IAAI;IAAA,GAAKF,KAAK;IAAEG,WAAW,EAAE;EAAM,CAAE,CAAC;AAChD,CAAC;AAACC,OAAA,CAAAL,cAAA,GAAAA,cAAA;AAEF,IAAIM,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;EACzCH,OAAA,CAAAL,cAAA,GAAAA,cAAc,GAAIC,KAAqB,IAAK;IAC1C,MAAM;MAAEQ,iBAAiB;MAAE,GAAGC;IAAK,CAAC,GAAGT,KAAK;IAE5C,IAAIU,qBAAQ,CAACC,EAAE,KAAK,KAAK,IAAIH,iBAAiB,KAAK,MAAM,EAAE;MACzD;MACA,oBACE,IAAA9B,WAAA,CAAAuB,GAAA,EAACzB,aAAA,CAAAK,OAAY;QAAA+B,QAAA,eACX,IAAAlC,WAAA,CAAAuB,GAAA,EAAC1B,YAAA,CAAA2B,IAAI;UAAA,GAAKO,IAAI;UAAEN,WAAW,EAAE;QAAM,CAAE;MAAC,CAC1B,CAAC;IAEnB;IAEA,oBAAO,IAAAzB,WAAA,CAAAuB,GAAA,EAAC1B,YAAA,CAAA2B,IAAI;MAAA,GAAKO,IAAI;MAAEN,WAAW,EAAE;IAAM,CAAE,CAAC;EAC/C,CAAC;AACH","ignoreList":[]}
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
- if (state.preloadedRoutes.length !== 0) {
28
- throw new Error('Preloading routes is not supported in the NativeStackNavigator navigator.');
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 !== undefined;
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","length","Error","jsx","SafeAreaProviderCompat","style","backgroundColor","background","children","routes","map","route","isFocused","index","previousKey","key","nextKey","previousDescriptor","undefined","nextDescriptor","options","navigation","render","headerBack","title","getHeaderTitle","name","href","params","canGoBack","header","headerShown","headerBackImageSource","headerLeft","headerTransparent","headerBackTitle","presentation","contentStyle","rest","nextPresentation","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":[]}
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 _DebugContainer = require("./DebugContainer");
20
- var _HeaderConfig = require("./HeaderConfig.js");
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 = 'large',
122
- sheetLargestUndimmedDetent = 'all',
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
- freezeOnBlur
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
- // No href needed for native
212
- href: undefined,
213
- title: backTitle
214
- }), [backTitle]);
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
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeScreens.Screen, {
217
- enabled: true,
218
- isNativeStack: true,
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
- sheetLargestUndimmedDetent: sheetLargestUndimmedDetent,
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
- freezeOnBlur: freezeOnBlur
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)(MaybeNestedStack, {
338
- options: options,
339
- route: route,
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)(_HeaderConfig.HeaderConfig, {
349
- ...options,
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
  })