@react-navigation/native-stack 7.0.0-alpha.1 → 7.0.0-alpha.10

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 (77) hide show
  1. package/lib/commonjs/index.js +7 -0
  2. package/lib/commonjs/index.js.map +1 -1
  3. package/lib/commonjs/navigators/createNativeStackNavigator.js +24 -24
  4. package/lib/commonjs/navigators/createNativeStackNavigator.js.map +1 -1
  5. package/lib/commonjs/types.js.map +1 -1
  6. package/lib/commonjs/utils/useAnimatedHeaderHeight.js +19 -0
  7. package/lib/commonjs/utils/useAnimatedHeaderHeight.js.map +1 -0
  8. package/lib/commonjs/utils/useDismissedRouteError.js +3 -4
  9. package/lib/commonjs/utils/useDismissedRouteError.js.map +1 -1
  10. package/lib/commonjs/utils/useInvalidPreventRemoveError.js +4 -5
  11. package/lib/commonjs/utils/useInvalidPreventRemoveError.js.map +1 -1
  12. package/lib/commonjs/views/DebugContainer.js +2 -2
  13. package/lib/commonjs/views/DebugContainer.js.map +1 -1
  14. package/lib/commonjs/views/DebugContainer.native.js +19 -7
  15. package/lib/commonjs/views/DebugContainer.native.js.map +1 -1
  16. package/lib/commonjs/views/FontProcessor.js.map +1 -1
  17. package/lib/commonjs/views/FontProcessor.native.js +2 -4
  18. package/lib/commonjs/views/FontProcessor.native.js.map +1 -1
  19. package/lib/commonjs/views/HeaderConfig.js +10 -23
  20. package/lib/commonjs/views/HeaderConfig.js.map +1 -1
  21. package/lib/commonjs/views/NativeStackView.js +23 -11
  22. package/lib/commonjs/views/NativeStackView.js.map +1 -1
  23. package/lib/commonjs/views/NativeStackView.native.js +120 -42
  24. package/lib/commonjs/views/NativeStackView.native.js.map +1 -1
  25. package/lib/module/index.js +5 -0
  26. package/lib/module/index.js.map +1 -1
  27. package/lib/module/navigators/createNativeStackNavigator.js +21 -20
  28. package/lib/module/navigators/createNativeStackNavigator.js.map +1 -1
  29. package/lib/module/types.js.map +1 -1
  30. package/lib/module/utils/useAnimatedHeaderHeight.js +10 -0
  31. package/lib/module/utils/useAnimatedHeaderHeight.js.map +1 -0
  32. package/lib/module/utils/useDismissedRouteError.js +1 -2
  33. package/lib/module/utils/useDismissedRouteError.js.map +1 -1
  34. package/lib/module/utils/useInvalidPreventRemoveError.js +2 -3
  35. package/lib/module/utils/useInvalidPreventRemoveError.js.map +1 -1
  36. package/lib/module/views/DebugContainer.js.map +1 -1
  37. package/lib/module/views/DebugContainer.native.js +18 -4
  38. package/lib/module/views/DebugContainer.native.js.map +1 -1
  39. package/lib/module/views/FontProcessor.js.map +1 -1
  40. package/lib/module/views/FontProcessor.native.js +2 -4
  41. package/lib/module/views/FontProcessor.native.js.map +1 -1
  42. package/lib/module/views/HeaderConfig.js +10 -23
  43. package/lib/module/views/HeaderConfig.js.map +1 -1
  44. package/lib/module/views/NativeStackView.js +21 -9
  45. package/lib/module/views/NativeStackView.js.map +1 -1
  46. package/lib/module/views/NativeStackView.native.js +119 -41
  47. package/lib/module/views/NativeStackView.native.js.map +1 -1
  48. package/lib/typescript/src/index.d.ts +4 -0
  49. package/lib/typescript/src/index.d.ts.map +1 -1
  50. package/lib/typescript/src/navigators/createNativeStackNavigator.d.ts +4 -4
  51. package/lib/typescript/src/navigators/createNativeStackNavigator.d.ts.map +1 -1
  52. package/lib/typescript/src/types.d.ts +88 -10
  53. package/lib/typescript/src/types.d.ts.map +1 -1
  54. package/lib/typescript/src/utils/useAnimatedHeaderHeight.d.ts +5 -0
  55. package/lib/typescript/src/utils/useAnimatedHeaderHeight.d.ts.map +1 -0
  56. package/lib/typescript/src/views/DebugContainer.d.ts +2 -2
  57. package/lib/typescript/src/views/DebugContainer.d.ts.map +1 -1
  58. package/lib/typescript/src/views/DebugContainer.native.d.ts +7 -2
  59. package/lib/typescript/src/views/DebugContainer.native.d.ts.map +1 -1
  60. package/lib/typescript/src/views/FontProcessor.native.d.ts.map +1 -1
  61. package/lib/typescript/src/views/HeaderConfig.d.ts +2 -3
  62. package/lib/typescript/src/views/HeaderConfig.d.ts.map +1 -1
  63. package/lib/typescript/src/views/NativeStackView.d.ts +3 -3
  64. package/lib/typescript/src/views/NativeStackView.d.ts.map +1 -1
  65. package/lib/typescript/src/views/NativeStackView.native.d.ts +3 -3
  66. package/lib/typescript/src/views/NativeStackView.native.d.ts.map +1 -1
  67. package/package.json +16 -17
  68. package/src/index.tsx +5 -0
  69. package/src/navigators/createNativeStackNavigator.tsx +9 -5
  70. package/src/types.tsx +88 -11
  71. package/src/utils/useAnimatedHeaderHeight.tsx +18 -0
  72. package/src/views/DebugContainer.native.tsx +12 -6
  73. package/src/views/DebugContainer.tsx +1 -1
  74. package/src/views/FontProcessor.native.tsx +1 -2
  75. package/src/views/HeaderConfig.tsx +101 -131
  76. package/src/views/NativeStackView.native.tsx +198 -92
  77. package/src/views/NativeStackView.tsx +40 -26
@@ -1,8 +1,18 @@
1
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
1
2
  import * as React from 'react';
2
3
  import { Platform, View } from 'react-native';
3
- // @ts-ignore Getting private component
4
+ // @ts-expect-error Getting private component
4
5
  import AppContainer from 'react-native/Libraries/ReactNative/AppContainer';
5
- export let DebugContainer = View;
6
+ /**
7
+ * This view must *not* be flattened.
8
+ * See https://github.com/software-mansion/react-native-screens/pull/1825
9
+ * for detailed explanation.
10
+ */
11
+ export let DebugContainer = props => {
12
+ return /*#__PURE__*/React.createElement(View, _extends({}, props, {
13
+ collapsable: false
14
+ }));
15
+ };
6
16
  if (process.env.NODE_ENV !== 'production') {
7
17
  DebugContainer = props => {
8
18
  const {
@@ -11,9 +21,13 @@ if (process.env.NODE_ENV !== 'production') {
11
21
  } = props;
12
22
  if (Platform.OS === 'ios' && stackPresentation !== 'push') {
13
23
  // This is necessary for LogBox
14
- return /*#__PURE__*/React.createElement(AppContainer, null, /*#__PURE__*/React.createElement(View, rest));
24
+ return /*#__PURE__*/React.createElement(AppContainer, null, /*#__PURE__*/React.createElement(View, _extends({}, rest, {
25
+ collapsable: false
26
+ })));
15
27
  }
16
- return /*#__PURE__*/React.createElement(View, rest);
28
+ return /*#__PURE__*/React.createElement(View, _extends({}, rest, {
29
+ collapsable: false
30
+ }));
17
31
  };
18
32
  }
19
33
  //# sourceMappingURL=DebugContainer.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","Platform","View","AppContainer","DebugContainer","process","env","NODE_ENV","props","stackPresentation","rest","OS"],"sourceRoot":"../../../src","sources":["views/DebugContainer.native.tsx"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,QAAQ,EAAEC,IAAI,QAAmB,cAAc;AACxD;AACA,OAAOC,YAAY,MAAM,iDAAiD;AAQ1E,OAAO,IAAIC,cAAc,GACvBF,IAAsD;AAExD,IAAIG,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;EACzCH,cAAc,GAAII,KAAqB,IAAK;IAC1C,MAAM;MAAEC,iBAAiB;MAAE,GAAGC;IAAK,CAAC,GAAGF,KAAK;IAE5C,IAAIP,QAAQ,CAACU,EAAE,KAAK,KAAK,IAAIF,iBAAiB,KAAK,MAAM,EAAE;MACzD;MACA,oBACE,oBAAC,YAAY,qBACX,oBAAC,IAAI,EAAKC,IAAI,CAAI,CACL;IAEnB;IAEA,oBAAO,oBAAC,IAAI,EAAKA,IAAI,CAAI;EAC3B,CAAC;AACH"}
1
+ {"version":3,"names":["React","Platform","View","AppContainer","DebugContainer","props","createElement","_extends","collapsable","process","env","NODE_ENV","stackPresentation","rest","OS"],"sourceRoot":"../../../src","sources":["views/DebugContainer.native.tsx"],"mappings":";AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,QAAQ,EAAEC,IAAI,QAAwB,cAAc;AAC7D;AACA,OAAOC,YAAY,MAAM,iDAAiD;AAQ1E;AACA;AACA;AACA;AACA;AACA,OAAO,IAAIC,cAAc,GAAIC,KAAqB,IAAK;EACrD,oBAAOL,KAAA,CAAAM,aAAA,CAACJ,IAAI,EAAAK,QAAA,KAAKF,KAAK;IAAEG,WAAW,EAAE;EAAM,EAAE,CAAC;AAChD,CAAC;AAED,IAAIC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;EACzCP,cAAc,GAAIC,KAAqB,IAAK;IAC1C,MAAM;MAAEO,iBAAiB;MAAE,GAAGC;IAAK,CAAC,GAAGR,KAAK;IAE5C,IAAIJ,QAAQ,CAACa,EAAE,KAAK,KAAK,IAAIF,iBAAiB,KAAK,MAAM,EAAE;MACzD;MACA,oBACEZ,KAAA,CAAAM,aAAA,CAACH,YAAY,qBACXH,KAAA,CAAAM,aAAA,CAACJ,IAAI,EAAAK,QAAA,KAAKM,IAAI;QAAEL,WAAW,EAAE;MAAM,EAAE,CACzB,CAAC;IAEnB;IAEA,oBAAOR,KAAA,CAAAM,aAAA,CAACJ,IAAI,EAAAK,QAAA,KAAKM,IAAI;MAAEL,WAAW,EAAE;IAAM,EAAE,CAAC;EAC/C,CAAC;AACH"}
@@ -1 +1 @@
1
- {"version":3,"names":["processFonts","_","Error"],"sourceRoot":"../../../src","sources":["views/FontProcessor.tsx"],"mappings":"AAAA,OAAO,SAASA,YAAY,CAC1BC,CAAyB,EACD;EACxB,MAAM,IAAIC,KAAK,CAAC,sBAAsB,CAAC;AACzC"}
1
+ {"version":3,"names":["processFonts","_","Error"],"sourceRoot":"../../../src","sources":["views/FontProcessor.tsx"],"mappings":"AAAA,OAAO,SAASA,YAAYA,CAC1BC,CAAyB,EACD;EACxB,MAAM,IAAIC,KAAK,CAAC,sBAAsB,CAAC;AACzC"}
@@ -1,9 +1,7 @@
1
- // @ts-ignore: No declaration available
1
+ // @ts-expect-error importing private module
2
2
  import ReactNativeStyleAttributes from 'react-native/Libraries/Components/View/ReactNativeStyleAttributes';
3
3
  export function processFonts(fontFamilies) {
4
- var _ReactNativeStyleAttr;
5
- // @ts-ignore: React Native types are incorrect here and don't consider fontFamily a style value
6
- const fontFamilyProcessor = (_ReactNativeStyleAttr = ReactNativeStyleAttributes.fontFamily) === null || _ReactNativeStyleAttr === void 0 ? void 0 : _ReactNativeStyleAttr.process;
4
+ const fontFamilyProcessor = ReactNativeStyleAttributes.fontFamily?.process;
7
5
  if (typeof fontFamilyProcessor === 'function') {
8
6
  return fontFamilies.map(fontFamilyProcessor);
9
7
  }
@@ -1 +1 @@
1
- {"version":3,"names":["ReactNativeStyleAttributes","processFonts","fontFamilies","fontFamilyProcessor","fontFamily","process","map"],"sourceRoot":"../../../src","sources":["views/FontProcessor.native.tsx"],"mappings":"AAAA;AACA,OAAOA,0BAA0B,MAAM,mEAAmE;AAE1G,OAAO,SAASC,YAAY,CAC1BC,YAAoC,EACZ;EAAA;EACxB;EACA,MAAMC,mBAAmB,4BAAGH,0BAA0B,CAACI,UAAU,0DAArC,sBAAuCC,OAAO;EAC1E,IAAI,OAAOF,mBAAmB,KAAK,UAAU,EAAE;IAC7C,OAAOD,YAAY,CAACI,GAAG,CAACH,mBAAmB,CAAC;EAC9C;EACA,OAAOD,YAAY;AACrB"}
1
+ {"version":3,"names":["ReactNativeStyleAttributes","processFonts","fontFamilies","fontFamilyProcessor","fontFamily","process","map"],"sourceRoot":"../../../src","sources":["views/FontProcessor.native.tsx"],"mappings":"AAAA;AACA,OAAOA,0BAA0B,MAAM,mEAAmE;AAE1G,OAAO,SAASC,YAAYA,CAC1BC,YAAoC,EACZ;EACxB,MAAMC,mBAAmB,GAAGH,0BAA0B,CAACI,UAAU,EAAEC,OAAO;EAC1E,IAAI,OAAOF,mBAAmB,KAAK,UAAU,EAAE;IAC7C,OAAOD,YAAY,CAACI,GAAG,CAACH,mBAAmB,CAAC;EAC9C;EACA,OAAOD,YAAY;AACrB"}
@@ -1,12 +1,11 @@
1
1
  import { getHeaderTitle, HeaderTitle } from '@react-navigation/elements';
2
- import { useTheme } from '@react-navigation/native';
2
+ import { useLocale, useTheme } from '@react-navigation/native';
3
3
  import * as React from 'react';
4
- import { I18nManager, Platform, StyleSheet, View } from 'react-native';
4
+ import { Platform, StyleSheet, View } from 'react-native';
5
5
  import { isSearchBarAvailableForCurrentPlatform, ScreenStackHeaderBackButtonImage, ScreenStackHeaderCenterView, ScreenStackHeaderConfig, ScreenStackHeaderLeftView, ScreenStackHeaderRightView, ScreenStackHeaderSearchBarView, SearchBar } from 'react-native-screens';
6
6
  import { processFonts } from './FontProcessor';
7
7
  export function HeaderConfig(_ref) {
8
8
  let {
9
- headerHeight,
10
9
  headerBackImageSource,
11
10
  headerBackButtonMenuEnabled,
12
11
  headerBackTitle,
@@ -35,6 +34,9 @@ export function HeaderConfig(_ref) {
35
34
  title,
36
35
  canGoBack
37
36
  } = _ref;
37
+ const {
38
+ direction
39
+ } = useLocale();
38
40
  const {
39
41
  colors,
40
42
  fonts
@@ -77,12 +79,12 @@ export function HeaderConfig(_ref) {
77
79
  headerTitleStyleSupported.fontWeight = titleFontWeight;
78
80
  }
79
81
  const headerBackgroundColor = headerStyleFlattened.backgroundColor ?? (headerBackground != null || headerTransparent ? 'transparent' : colors.card);
80
- const headerLeftElement = headerLeft === null || headerLeft === void 0 ? void 0 : headerLeft({
82
+ const headerLeftElement = headerLeft?.({
81
83
  tintColor,
82
84
  canGoBack,
83
85
  label: headerBackTitle
84
86
  });
85
- const headerRightElement = headerRight === null || headerRight === void 0 ? void 0 : headerRight({
87
+ const headerRightElement = headerRight?.({
86
88
  tintColor,
87
89
  canGoBack
88
90
  });
@@ -107,11 +109,7 @@ export function HeaderConfig(_ref) {
107
109
  const translucent = headerBackground != null || headerTransparent ||
108
110
  // When using a SearchBar or large title, the header needs to be translucent for it to work on iOS
109
111
  (hasHeaderSearchBar || headerLargeTitle) && Platform.OS === 'ios' && headerTransparent !== false;
110
- return /*#__PURE__*/React.createElement(React.Fragment, null, headerBackground != null ? /*#__PURE__*/React.createElement(View, {
111
- style: [styles.background, headerTransparent ? styles.translucent : null, {
112
- height: headerHeight
113
- }]
114
- }, headerBackground()) : null, /*#__PURE__*/React.createElement(ScreenStackHeaderConfig, {
112
+ return /*#__PURE__*/React.createElement(ScreenStackHeaderConfig, {
115
113
  backButtonInCustomView: backButtonInCustomView,
116
114
  backgroundColor: headerBackgroundColor,
117
115
  backTitle: headerBackTitleVisible ? headerBackTitle : ' ',
@@ -119,7 +117,7 @@ export function HeaderConfig(_ref) {
119
117
  backTitleFontSize: backTitleFontSize,
120
118
  blurEffect: headerBlurEffect,
121
119
  color: tintColor,
122
- direction: I18nManager.getConstants().isRTL ? 'rtl' : 'ltr',
120
+ direction: direction,
123
121
  disableBackButtonMenu: headerBackButtonMenuEnabled === false,
124
122
  hidden: headerShown === false,
125
123
  hideBackButton: headerBackVisible === false,
@@ -150,23 +148,12 @@ export function HeaderConfig(_ref) {
150
148
  style: headerTitleStyleSupported
151
149
  }, titleText)) : null), headerBackImageSource !== undefined ? /*#__PURE__*/React.createElement(ScreenStackHeaderBackButtonImage, {
152
150
  source: headerBackImageSource
153
- }) : null, headerRightElement != null ? /*#__PURE__*/React.createElement(ScreenStackHeaderRightView, null, headerRightElement) : null, hasHeaderSearchBar ? /*#__PURE__*/React.createElement(ScreenStackHeaderSearchBarView, null, /*#__PURE__*/React.createElement(SearchBar, headerSearchBarOptions)) : null));
151
+ }) : null, headerRightElement != null ? /*#__PURE__*/React.createElement(ScreenStackHeaderRightView, null, headerRightElement) : null, hasHeaderSearchBar ? /*#__PURE__*/React.createElement(ScreenStackHeaderSearchBarView, null, /*#__PURE__*/React.createElement(SearchBar, headerSearchBarOptions)) : null);
154
152
  }
155
153
  const styles = StyleSheet.create({
156
154
  row: {
157
155
  flexDirection: 'row',
158
156
  alignItems: 'center'
159
- },
160
- translucent: {
161
- position: 'absolute',
162
- top: 0,
163
- left: 0,
164
- right: 0,
165
- zIndex: 1,
166
- elevation: 1
167
- },
168
- background: {
169
- overflow: 'hidden'
170
157
  }
171
158
  });
172
159
  //# sourceMappingURL=HeaderConfig.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["getHeaderTitle","HeaderTitle","useTheme","React","I18nManager","Platform","StyleSheet","View","isSearchBarAvailableForCurrentPlatform","ScreenStackHeaderBackButtonImage","ScreenStackHeaderCenterView","ScreenStackHeaderConfig","ScreenStackHeaderLeftView","ScreenStackHeaderRightView","ScreenStackHeaderSearchBarView","SearchBar","processFonts","HeaderConfig","headerHeight","headerBackImageSource","headerBackButtonMenuEnabled","headerBackTitle","headerBackTitleStyle","headerBackTitleVisible","headerBackVisible","headerShadowVisible","headerLargeStyle","headerLargeTitle","headerLargeTitleShadowVisible","headerLargeTitleStyle","headerBackground","headerLeft","headerRight","headerShown","headerStyle","headerBlurEffect","headerTintColor","headerTitle","headerTitleAlign","headerTitleStyle","headerTransparent","headerSearchBarOptions","headerTopInsetEnabled","route","title","canGoBack","colors","fonts","tintColor","OS","primary","text","headerBackTitleStyleFlattened","flatten","regular","headerLargeTitleStyleFlattened","select","ios","heavy","default","medium","headerTitleStyleFlattened","bold","headerStyleFlattened","headerLargeStyleFlattened","backTitleFontFamily","largeTitleFontFamily","titleFontFamily","fontFamily","backTitleFontSize","fontSize","undefined","titleText","name","titleColor","color","titleFontSize","titleFontWeight","fontWeight","largeTitleBackgroundColor","backgroundColor","largeTitleColor","largeTitleFontSize","largeTitleFontWeight","headerTitleStyleSupported","headerBackgroundColor","card","headerLeftElement","label","headerRightElement","headerTitleElement","children","supportsHeaderSearchBar","hasHeaderSearchBar","Error","backButtonInCustomView","translucent","styles","background","height","getConstants","isRTL","row","create","flexDirection","alignItems","position","top","left","right","zIndex","elevation","overflow"],"sourceRoot":"../../../src","sources":["views/HeaderConfig.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["getHeaderTitle","HeaderTitle","useLocale","useTheme","React","Platform","StyleSheet","View","isSearchBarAvailableForCurrentPlatform","ScreenStackHeaderBackButtonImage","ScreenStackHeaderCenterView","ScreenStackHeaderConfig","ScreenStackHeaderLeftView","ScreenStackHeaderRightView","ScreenStackHeaderSearchBarView","SearchBar","processFonts","HeaderConfig","_ref","headerBackImageSource","headerBackButtonMenuEnabled","headerBackTitle","headerBackTitleStyle","headerBackTitleVisible","headerBackVisible","headerShadowVisible","headerLargeStyle","headerLargeTitle","headerLargeTitleShadowVisible","headerLargeTitleStyle","headerBackground","headerLeft","headerRight","headerShown","headerStyle","headerBlurEffect","headerTintColor","headerTitle","headerTitleAlign","headerTitleStyle","headerTransparent","headerSearchBarOptions","headerTopInsetEnabled","route","title","canGoBack","direction","colors","fonts","tintColor","OS","primary","text","headerBackTitleStyleFlattened","flatten","regular","headerLargeTitleStyleFlattened","select","ios","heavy","default","medium","headerTitleStyleFlattened","bold","headerStyleFlattened","headerLargeStyleFlattened","backTitleFontFamily","largeTitleFontFamily","titleFontFamily","fontFamily","backTitleFontSize","fontSize","undefined","titleText","name","titleColor","color","titleFontSize","titleFontWeight","fontWeight","largeTitleBackgroundColor","backgroundColor","largeTitleColor","largeTitleFontSize","largeTitleFontWeight","headerTitleStyleSupported","headerBackgroundColor","card","headerLeftElement","label","headerRightElement","headerTitleElement","children","supportsHeaderSearchBar","hasHeaderSearchBar","Error","backButtonInCustomView","translucent","createElement","backTitle","blurEffect","disableBackButtonMenu","hidden","hideBackButton","hideShadow","largeTitle","largeTitleHideShadow","topInsetEnabled","Fragment","style","styles","row","source","create","flexDirection","alignItems"],"sourceRoot":"../../../src","sources":["views/HeaderConfig.tsx"],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { getHeaderTitle, Header, HeaderBackButton, HeaderBackContext, SafeAreaProviderCompat, Screen } from '@react-navigation/elements';
2
+ import { useLinkBuilder, useTheme } from '@react-navigation/native';
2
3
  import * as React from 'react';
3
4
  import { Image, StyleSheet, View } from 'react-native';
4
5
  const TRANSPARENT_PRESENTATIONS = ['transparentModal', 'containedTransparentModal'];
@@ -8,13 +9,23 @@ export function NativeStackView(_ref) {
8
9
  descriptors
9
10
  } = _ref;
10
11
  const parentHeaderBack = React.useContext(HeaderBackContext);
12
+ const {
13
+ buildHref
14
+ } = useLinkBuilder();
15
+ const {
16
+ colors
17
+ } = useTheme();
18
+ if (state.preloadedRoutes.length !== 0) {
19
+ throw new Error('Preloading routes is not supported in the NativeStackNavigator navigator.');
20
+ }
11
21
  return /*#__PURE__*/React.createElement(SafeAreaProviderCompat, null, /*#__PURE__*/React.createElement(View, {
12
- style: styles.container
22
+ style: [styles.container, {
23
+ backgroundColor: colors.background
24
+ }]
13
25
  }, state.routes.map((route, i) => {
14
- var _state$routes, _state$routes2;
15
26
  const isFocused = state.index === i;
16
- const previousKey = (_state$routes = state.routes[i - 1]) === null || _state$routes === void 0 ? void 0 : _state$routes.key;
17
- const nextKey = (_state$routes2 = state.routes[i + 1]) === null || _state$routes2 === void 0 ? void 0 : _state$routes2.key;
27
+ const previousKey = state.routes[i - 1]?.key;
28
+ const nextKey = state.routes[i + 1]?.key;
18
29
  const previousDescriptor = previousKey ? descriptors[previousKey] : undefined;
19
30
  const nextDescriptor = nextKey ? descriptors[nextKey] : undefined;
20
31
  const {
@@ -23,7 +34,8 @@ export function NativeStackView(_ref) {
23
34
  render
24
35
  } = descriptors[route.key];
25
36
  const headerBack = previousDescriptor ? {
26
- title: getHeaderTitle(previousDescriptor.options, previousDescriptor.route.name)
37
+ title: getHeaderTitle(previousDescriptor.options, previousDescriptor.route.name),
38
+ href: buildHref(previousDescriptor.route.name, previousDescriptor.route.params)
27
39
  } : parentHeaderBack;
28
40
  const canGoBack = headerBack !== undefined;
29
41
  const {
@@ -44,7 +56,7 @@ export function NativeStackView(_ref) {
44
56
  presentation,
45
57
  contentStyle
46
58
  } = options;
47
- const nextPresentation = nextDescriptor === null || nextDescriptor === void 0 ? void 0 : nextDescriptor.options.presentation;
59
+ const nextPresentation = nextDescriptor?.options.presentation;
48
60
  return /*#__PURE__*/React.createElement(Screen, {
49
61
  key: route.key,
50
62
  focused: isFocused,
@@ -77,12 +89,13 @@ export function NativeStackView(_ref) {
77
89
  tintColor: tintColor,
78
90
  backImage: headerBackImageSource !== undefined ? () => /*#__PURE__*/React.createElement(Image, {
79
91
  source: headerBackImageSource,
92
+ resizeMode: "contain",
80
93
  style: [styles.backImage, {
81
94
  tintColor
82
95
  }]
83
96
  }) : undefined,
84
97
  onPress: navigation.goBack,
85
- canGoBack: canGoBack
98
+ href: headerBack.href
86
99
  });
87
100
  } : headerLeft,
88
101
  headerRight: typeof headerRight === 'function' ? _ref4 => {
@@ -133,8 +146,7 @@ const styles = StyleSheet.create({
133
146
  backImage: {
134
147
  height: 24,
135
148
  width: 24,
136
- margin: 3,
137
- resizeMode: 'contain'
149
+ margin: 3
138
150
  }
139
151
  });
140
152
  //# sourceMappingURL=NativeStackView.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["getHeaderTitle","Header","HeaderBackButton","HeaderBackContext","SafeAreaProviderCompat","Screen","React","Image","StyleSheet","View","TRANSPARENT_PRESENTATIONS","NativeStackView","state","descriptors","parentHeaderBack","useContext","styles","container","routes","map","route","i","isFocused","index","previousKey","key","nextKey","previousDescriptor","undefined","nextDescriptor","options","navigation","render","headerBack","title","name","canGoBack","header","headerShown","headerTintColor","headerBackImageSource","headerLeft","headerRight","headerTitle","headerTitleAlign","headerTitleStyle","headerStyle","headerShadowVisible","headerTransparent","headerBackground","headerBackTitle","presentation","contentStyle","nextPresentation","back","tintColor","label","backImage","goBack","children","absoluteFill","display","includes","backgroundColor","contentContainer","create","flex","height","width","margin","resizeMode"],"sourceRoot":"../../../src","sources":["views/NativeStackView.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["getHeaderTitle","Header","HeaderBackButton","HeaderBackContext","SafeAreaProviderCompat","Screen","useLinkBuilder","useTheme","React","Image","StyleSheet","View","TRANSPARENT_PRESENTATIONS","NativeStackView","_ref","state","descriptors","parentHeaderBack","useContext","buildHref","colors","preloadedRoutes","length","Error","createElement","style","styles","container","backgroundColor","background","routes","map","route","i","isFocused","index","previousKey","key","nextKey","previousDescriptor","undefined","nextDescriptor","options","navigation","render","headerBack","title","name","href","params","canGoBack","header","headerShown","headerTintColor","headerBackImageSource","headerLeft","headerRight","headerTitle","headerTitleAlign","headerTitleStyle","headerStyle","headerShadowVisible","headerTransparent","headerBackground","headerBackTitle","presentation","contentStyle","nextPresentation","focused","back","_ref2","tintColor","label","_ref3","backImage","source","resizeMode","onPress","goBack","_ref4","_ref5","children","absoluteFill","display","includes","Provider","value","contentContainer","create","flex","height","width","margin"],"sourceRoot":"../../../src","sources":["views/NativeStackView.tsx"],"mappings":"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"}
@@ -2,10 +2,11 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
2
2
  import { getDefaultHeaderHeight, getHeaderTitle, HeaderBackContext, HeaderHeightContext, HeaderShownContext, SafeAreaProviderCompat } from '@react-navigation/elements';
3
3
  import { NavigationContext, NavigationRouteContext, StackActions, usePreventRemoveContext, useTheme } from '@react-navigation/native';
4
4
  import * as React from 'react';
5
- import { Platform, StyleSheet, View } from 'react-native';
5
+ import { Animated, Platform, StyleSheet, useAnimatedValue, View } from 'react-native';
6
6
  import { useSafeAreaFrame, useSafeAreaInsets } from 'react-native-safe-area-context';
7
7
  import { Screen, ScreenStack } from 'react-native-screens';
8
8
  import warnOnce from 'warn-once';
9
+ import { AnimatedHeaderHeightContext } from '../utils/useAnimatedHeaderHeight';
9
10
  import { useDismissedRouteError } from '../utils/useDismissedRouteError';
10
11
  import { useInvalidPreventRemoveError } from '../utils/useInvalidPreventRemoveError';
11
12
  import { DebugContainer } from './DebugContainer';
@@ -45,18 +46,19 @@ const MaybeNestedStack = _ref => {
45
46
  style: styles.container
46
47
  }, /*#__PURE__*/React.createElement(Screen, {
47
48
  enabled: true,
49
+ isNativeStack: true,
50
+ hasLargeHeader: options.headerLargeTitle ?? false,
48
51
  style: StyleSheet.absoluteFill
49
- }, /*#__PURE__*/React.createElement(HeaderConfig, _extends({}, options, {
52
+ }, content, /*#__PURE__*/React.createElement(HeaderConfig, _extends({}, options, {
50
53
  route: route,
51
54
  headerHeight: headerHeight,
52
55
  headerTopInsetEnabled: headerTopInsetEnabled,
53
56
  canGoBack: true
54
- })), content));
57
+ }))));
55
58
  }
56
59
  return content;
57
60
  };
58
61
  const SceneView = _ref2 => {
59
- var _preventedRoutes$rout;
60
62
  let {
61
63
  index,
62
64
  focused,
@@ -64,11 +66,13 @@ const SceneView = _ref2 => {
64
66
  previousDescriptor,
65
67
  nextDescriptor,
66
68
  onWillDisappear,
69
+ onWillAppear,
67
70
  onAppear,
68
71
  onDisappear,
69
72
  onDismissed,
70
73
  onHeaderBackButtonClicked,
71
- onNativeDismissCancelled
74
+ onNativeDismissCancelled,
75
+ onGestureCancel
72
76
  } = _ref2;
73
77
  const {
74
78
  route,
@@ -76,43 +80,51 @@ const SceneView = _ref2 => {
76
80
  options,
77
81
  render
78
82
  } = descriptor;
83
+ let {
84
+ animation,
85
+ animationMatchesGesture,
86
+ fullScreenGestureEnabled,
87
+ presentation = 'card'
88
+ } = options;
79
89
  const {
80
90
  animationDuration,
81
91
  animationTypeForReplace = 'push',
82
92
  gestureEnabled,
93
+ gestureDirection = presentation === 'card' ? 'horizontal' : 'vertical',
94
+ gestureResponseDistance,
83
95
  header,
84
96
  headerBackButtonMenuEnabled,
85
97
  headerShown,
98
+ headerBackground,
86
99
  headerTransparent,
87
100
  autoHideHomeIndicator,
101
+ keyboardHandlingEnabled,
88
102
  navigationBarColor,
89
103
  navigationBarHidden,
90
104
  orientation,
105
+ sheetAllowedDetents = 'large',
106
+ sheetLargestUndimmedDetent = 'all',
107
+ sheetGrabberVisible = false,
108
+ sheetCornerRadius = -1.0,
109
+ sheetExpandsWhenScrolledToEdge = true,
91
110
  statusBarAnimation,
92
111
  statusBarHidden,
93
112
  statusBarStyle,
94
113
  statusBarTranslucent,
95
- statusBarColor,
114
+ statusBarBackgroundColor,
96
115
  freezeOnBlur
97
116
  } = options;
98
- let {
99
- animation,
100
- customAnimationOnGesture,
101
- fullScreenGestureEnabled,
102
- presentation = 'card',
103
- gestureDirection = presentation === 'card' ? 'horizontal' : 'vertical'
104
- } = options;
105
117
  if (gestureDirection === 'vertical' && Platform.OS === 'ios') {
106
118
  // for `vertical` direction to work, we need to set `fullScreenGestureEnabled` to `true`
107
119
  // so the screen can be dismissed from any point on screen.
108
- // `customAnimationOnGesture` needs to be set to `true` so the `animation` set by user can be used,
120
+ // `animationMatchesGesture` needs to be set to `true` so the `animation` set by user can be used,
109
121
  // otherwise `simple_push` will be used.
110
122
  // Also, the default animation for this direction seems to be `slide_from_bottom`.
111
123
  if (fullScreenGestureEnabled === undefined) {
112
124
  fullScreenGestureEnabled = true;
113
125
  }
114
- if (customAnimationOnGesture === undefined) {
115
- customAnimationOnGesture = true;
126
+ if (animationMatchesGesture === undefined) {
127
+ animationMatchesGesture = true;
116
128
  }
117
129
  if (animation === undefined) {
118
130
  animation = 'slide_from_bottom';
@@ -121,7 +133,7 @@ const SceneView = _ref2 => {
121
133
 
122
134
  // workaround for rn-screens where gestureDirection has to be set on both
123
135
  // current and previous screen - software-mansion/react-native-screens/pull/1509
124
- const nextGestureDirection = nextDescriptor === null || nextDescriptor === void 0 ? void 0 : nextDescriptor.options.gestureDirection;
136
+ const nextGestureDirection = nextDescriptor?.options.gestureDirection;
125
137
  const gestureDirectionOverride = nextGestureDirection != null ? nextGestureDirection : gestureDirection;
126
138
  if (index === 0) {
127
139
  // first screen should always be treated as `card`, it resolves problems with no header animation
@@ -146,49 +158,73 @@ const SceneView = _ref2 => {
146
158
  } = usePreventRemoveContext();
147
159
  const defaultHeaderHeight = getDefaultHeaderHeight(frame, isModal, topInset);
148
160
  const [customHeaderHeight, setCustomHeaderHeight] = React.useState(defaultHeaderHeight);
161
+ const animatedHeaderHeight = useAnimatedValue(defaultHeaderHeight);
149
162
  const headerTopInsetEnabled = topInset !== 0;
150
163
  const headerHeight = header ? customHeaderHeight : defaultHeaderHeight;
151
- const headerBack = previousDescriptor ? {
152
- title: getHeaderTitle(previousDescriptor.options, previousDescriptor.route.name)
153
- } : parentHeaderBack;
154
- const isRemovePrevented = (_preventedRoutes$rout = preventedRoutes[route.key]) === null || _preventedRoutes$rout === void 0 ? void 0 : _preventedRoutes$rout.preventRemove;
164
+ const backTitle = previousDescriptor ? getHeaderTitle(previousDescriptor.options, previousDescriptor.route.name) : parentHeaderBack?.title;
165
+ const headerBack = React.useMemo(() => ({
166
+ // No href needed for native
167
+ href: undefined,
168
+ title: backTitle
169
+ }), [backTitle]);
170
+ const isRemovePrevented = preventedRoutes[route.key]?.preventRemove;
155
171
  return /*#__PURE__*/React.createElement(Screen, {
156
172
  key: route.key,
157
173
  enabled: true,
174
+ isNativeStack: true,
158
175
  style: StyleSheet.absoluteFill,
159
- customAnimationOnSwipe: customAnimationOnGesture,
176
+ hasLargeHeader: options.headerLargeTitle ?? false,
177
+ customAnimationOnSwipe: animationMatchesGesture,
160
178
  fullScreenSwipeEnabled: fullScreenGestureEnabled,
161
179
  gestureEnabled: isAndroid ?
162
180
  // This prop enables handling of system back gestures on Android
163
181
  // Since we handle them in JS side, we disable this
164
182
  false : gestureEnabled,
165
183
  homeIndicatorHidden: autoHideHomeIndicator,
184
+ hideKeyboardOnSwipe: keyboardHandlingEnabled,
166
185
  navigationBarColor: navigationBarColor,
167
186
  navigationBarHidden: navigationBarHidden,
168
187
  replaceAnimation: animationTypeForReplace,
169
188
  stackPresentation: presentation === 'card' ? 'push' : presentation,
170
189
  stackAnimation: animation,
171
190
  screenOrientation: orientation,
191
+ sheetAllowedDetents: sheetAllowedDetents,
192
+ sheetLargestUndimmedDetent: sheetLargestUndimmedDetent,
193
+ sheetGrabberVisible: sheetGrabberVisible,
194
+ sheetCornerRadius: sheetCornerRadius,
195
+ sheetExpandsWhenScrolledToEdge: sheetExpandsWhenScrolledToEdge,
172
196
  statusBarAnimation: statusBarAnimation,
173
197
  statusBarHidden: statusBarHidden,
174
198
  statusBarStyle: statusBarStyle,
175
- statusBarColor: statusBarColor,
199
+ statusBarColor: statusBarBackgroundColor,
176
200
  statusBarTranslucent: statusBarTranslucent,
177
201
  swipeDirection: gestureDirectionOverride,
178
202
  transitionDuration: animationDuration,
203
+ onWillAppear: onWillAppear,
179
204
  onWillDisappear: onWillDisappear,
180
205
  onAppear: onAppear,
181
206
  onDisappear: onDisappear,
182
207
  onDismissed: onDismissed,
183
- isNativeStack: true,
208
+ onGestureCancel: onGestureCancel,
209
+ gestureResponseDistance: gestureResponseDistance,
184
210
  nativeBackButtonDismissalEnabled: false // on Android
185
211
  ,
186
- onHeaderBackButtonClicked: onHeaderBackButtonClicked
187
- // @ts-ignore props not exported from rn-screens
188
- ,
212
+ onHeaderBackButtonClicked: onHeaderBackButtonClicked,
189
213
  preventNativeDismiss: isRemovePrevented // on iOS
190
214
  ,
191
215
  onNativeDismissCancelled: onNativeDismissCancelled
216
+ // Unfortunately, because of the bug that exists on Fabric, where native event drivers
217
+ // for Animated objects are being created after the first notifications about the header height
218
+ // from the native side, `onHeaderHeightChange` event does not notify
219
+ // `animatedHeaderHeight` about initial values on appearing screens at the moment.
220
+ ,
221
+ onHeaderHeightChange: Animated.event([{
222
+ nativeEvent: {
223
+ headerHeight: animatedHeaderHeight
224
+ }
225
+ }], {
226
+ useNativeDriver: true
227
+ })
192
228
  // this prop is available since rn-screens 3.16
193
229
  ,
194
230
  freezeOnBlur: freezeOnBlur
@@ -198,17 +234,21 @@ const SceneView = _ref2 => {
198
234
  value: route
199
235
  }, /*#__PURE__*/React.createElement(HeaderShownContext.Provider, {
200
236
  value: isParentHeaderShown || headerShown !== false
237
+ }, /*#__PURE__*/React.createElement(AnimatedHeaderHeightContext.Provider, {
238
+ value: animatedHeaderHeight
201
239
  }, /*#__PURE__*/React.createElement(HeaderHeightContext.Provider, {
202
240
  value: headerShown !== false ? headerHeight : parentHeaderHeight ?? 0
203
- }, /*#__PURE__*/React.createElement(HeaderConfig, _extends({}, options, {
204
- route: route,
205
- headerBackButtonMenuEnabled: isRemovePrevented !== undefined ? !isRemovePrevented : headerBackButtonMenuEnabled,
206
- headerShown: header !== undefined ? false : headerShown,
207
- headerHeight: headerHeight,
208
- headerBackTitle: options.headerBackTitle !== undefined ? options.headerBackTitle : undefined,
209
- headerTopInsetEnabled: headerTopInsetEnabled,
210
- canGoBack: headerBack !== undefined
211
- })), /*#__PURE__*/React.createElement(View, {
241
+ }, headerBackground != null ?
242
+ /*#__PURE__*/
243
+ /**
244
+ * To show a custom header background, we render it at the top of the screen below the header
245
+ * The header also needs to be positioned absolutely (with `translucent` style)
246
+ */
247
+ React.createElement(View, {
248
+ style: [styles.background, headerTransparent ? styles.translucent : null, {
249
+ height: headerHeight
250
+ }]
251
+ }, headerBackground()) : null, /*#__PURE__*/React.createElement(View, {
212
252
  accessibilityElementsHidden: !focused,
213
253
  importantForAccessibility: focused ? 'auto' : 'no-hide-descendants',
214
254
  style: styles.scene
@@ -230,7 +270,15 @@ const SceneView = _ref2 => {
230
270
  options,
231
271
  route,
232
272
  navigation
233
- })) : null))))));
273
+ })) : null), /*#__PURE__*/React.createElement(HeaderConfig, _extends({}, options, {
274
+ route: route,
275
+ headerBackButtonMenuEnabled: isRemovePrevented !== undefined ? !isRemovePrevented : headerBackButtonMenuEnabled,
276
+ headerShown: header !== undefined ? false : headerShown,
277
+ headerHeight: headerHeight,
278
+ headerBackTitle: options.headerBackTitle !== undefined ? options.headerBackTitle : undefined,
279
+ headerTopInsetEnabled: headerTopInsetEnabled,
280
+ canGoBack: headerBack !== undefined
281
+ }))))))));
234
282
  };
235
283
  function NativeStackViewInner(_ref3) {
236
284
  let {
@@ -241,15 +289,19 @@ function NativeStackViewInner(_ref3) {
241
289
  const {
242
290
  setNextDismissedKey
243
291
  } = useDismissedRouteError(state);
292
+ const {
293
+ colors
294
+ } = useTheme();
244
295
  useInvalidPreventRemoveError(descriptors);
245
296
  return /*#__PURE__*/React.createElement(ScreenStack, {
246
- style: styles.container
297
+ style: [styles.container, {
298
+ backgroundColor: colors.background
299
+ }]
247
300
  }, state.routes.map((route, index) => {
248
- var _state$routes, _state$routes2;
249
301
  const descriptor = descriptors[route.key];
250
302
  const isFocused = state.index === index;
251
- const previousKey = (_state$routes = state.routes[index - 1]) === null || _state$routes === void 0 ? void 0 : _state$routes.key;
252
- const nextKey = (_state$routes2 = state.routes[index + 1]) === null || _state$routes2 === void 0 ? void 0 : _state$routes2.key;
303
+ const previousKey = state.routes[index - 1]?.key;
304
+ const nextKey = state.routes[index + 1]?.key;
253
305
  const previousDescriptor = previousKey ? descriptors[previousKey] : undefined;
254
306
  const nextDescriptor = nextKey ? descriptors[nextKey] : undefined;
255
307
  return /*#__PURE__*/React.createElement(SceneView, {
@@ -268,6 +320,15 @@ function NativeStackViewInner(_ref3) {
268
320
  target: route.key
269
321
  });
270
322
  },
323
+ onWillAppear: () => {
324
+ navigation.emit({
325
+ type: 'transitionStart',
326
+ data: {
327
+ closing: false
328
+ },
329
+ target: route.key
330
+ });
331
+ },
271
332
  onAppear: () => {
272
333
  navigation.emit({
273
334
  type: 'transitionEnd',
@@ -307,6 +368,12 @@ function NativeStackViewInner(_ref3) {
307
368
  source: route.key,
308
369
  target: state.key
309
370
  });
371
+ },
372
+ onGestureCancel: () => {
373
+ navigation.emit({
374
+ type: 'gestureCancel',
375
+ target: route.key
376
+ });
310
377
  }
311
378
  });
312
379
  }));
@@ -327,6 +394,17 @@ const styles = StyleSheet.create({
327
394
  top: 0,
328
395
  left: 0,
329
396
  right: 0
397
+ },
398
+ translucent: {
399
+ position: 'absolute',
400
+ top: 0,
401
+ left: 0,
402
+ right: 0,
403
+ zIndex: 1,
404
+ elevation: 1
405
+ },
406
+ background: {
407
+ overflow: 'hidden'
330
408
  }
331
409
  });
332
410
  //# sourceMappingURL=NativeStackView.native.js.map