react-native-screens 3.18.1 → 3.19.0

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 (154) hide show
  1. package/README.md +30 -38
  2. package/android/build.gradle +1 -5
  3. package/android/src/main/java/com/swmansion/rnscreens/ScreenViewManager.kt +10 -0
  4. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenManagerDelegate.java +15 -0
  5. package/android/src/paper/java/com/facebook/react/viewmanagers/RNSScreenManagerInterface.java +5 -0
  6. package/ios/RNSConvert.h +6 -0
  7. package/ios/RNSConvert.mm +26 -0
  8. package/ios/RNSEnums.h +6 -0
  9. package/ios/RNSFullWindowOverlay.mm +32 -0
  10. package/ios/RNSScreen.h +10 -2
  11. package/ios/RNSScreen.mm +133 -2
  12. package/ios/RNSScreenStackHeaderConfig.mm +17 -1
  13. package/lib/commonjs/TransitionProgressContext.js +2 -7
  14. package/lib/commonjs/TransitionProgressContext.js.map +1 -1
  15. package/lib/commonjs/createNativeStackNavigator.js +29 -76
  16. package/lib/commonjs/createNativeStackNavigator.js.map +1 -1
  17. package/lib/commonjs/fabric/FullWindowOverlayNativeComponent.js +0 -5
  18. package/lib/commonjs/fabric/FullWindowOverlayNativeComponent.js.map +1 -1
  19. package/lib/commonjs/fabric/ScreenContainerNativeComponent.js +0 -5
  20. package/lib/commonjs/fabric/ScreenContainerNativeComponent.js.map +1 -1
  21. package/lib/commonjs/fabric/ScreenNativeComponent.js +0 -5
  22. package/lib/commonjs/fabric/ScreenNativeComponent.js.map +1 -1
  23. package/lib/commonjs/fabric/ScreenNavigationContainerNativeComponent.js +0 -5
  24. package/lib/commonjs/fabric/ScreenNavigationContainerNativeComponent.js.map +1 -1
  25. package/lib/commonjs/fabric/ScreenStackHeaderConfigNativeComponent.js +2 -10
  26. package/lib/commonjs/fabric/ScreenStackHeaderConfigNativeComponent.js.map +1 -1
  27. package/lib/commonjs/fabric/ScreenStackHeaderSubviewNativeComponent.js +2 -10
  28. package/lib/commonjs/fabric/ScreenStackHeaderSubviewNativeComponent.js.map +1 -1
  29. package/lib/commonjs/fabric/ScreenStackNativeComponent.js +0 -5
  30. package/lib/commonjs/fabric/ScreenStackNativeComponent.js.map +1 -1
  31. package/lib/commonjs/fabric/SearchBarNativeComponent.js +0 -7
  32. package/lib/commonjs/fabric/SearchBarNativeComponent.js.map +1 -1
  33. package/lib/commonjs/index.js +21 -45
  34. package/lib/commonjs/index.js.map +1 -1
  35. package/lib/commonjs/index.native.js +43 -103
  36. package/lib/commonjs/index.native.js.map +1 -1
  37. package/lib/commonjs/native-stack/index.js +6 -11
  38. package/lib/commonjs/native-stack/index.js.map +1 -1
  39. package/lib/commonjs/native-stack/navigators/createNativeStackNavigator.js +18 -25
  40. package/lib/commonjs/native-stack/navigators/createNativeStackNavigator.js.map +1 -1
  41. package/lib/commonjs/native-stack/types.js +4 -0
  42. package/lib/commonjs/native-stack/types.js.map +1 -1
  43. package/lib/commonjs/native-stack/utils/HeaderHeightContext.js +2 -6
  44. package/lib/commonjs/native-stack/utils/HeaderHeightContext.js.map +1 -1
  45. package/lib/commonjs/native-stack/utils/SafeAreaProviderCompat.js +11 -19
  46. package/lib/commonjs/native-stack/utils/SafeAreaProviderCompat.js.map +1 -1
  47. package/lib/commonjs/native-stack/utils/getDefaultHeaderHeight.js +0 -7
  48. package/lib/commonjs/native-stack/utils/getDefaultHeaderHeight.js.map +1 -1
  49. package/lib/commonjs/native-stack/utils/useBackPressSubscription.js +7 -18
  50. package/lib/commonjs/native-stack/utils/useBackPressSubscription.js.map +1 -1
  51. package/lib/commonjs/native-stack/utils/useHeaderHeight.js +2 -10
  52. package/lib/commonjs/native-stack/utils/useHeaderHeight.js.map +1 -1
  53. package/lib/commonjs/native-stack/views/FontProcessor.js +1 -6
  54. package/lib/commonjs/native-stack/views/FontProcessor.js.map +1 -1
  55. package/lib/commonjs/native-stack/views/HeaderConfig.js +46 -50
  56. package/lib/commonjs/native-stack/views/HeaderConfig.js.map +1 -1
  57. package/lib/commonjs/native-stack/views/NativeStackView.js +32 -58
  58. package/lib/commonjs/native-stack/views/NativeStackView.js.map +1 -1
  59. package/lib/commonjs/reanimated/ReanimatedNativeStackScreen.js +11 -21
  60. package/lib/commonjs/reanimated/ReanimatedNativeStackScreen.js.map +1 -1
  61. package/lib/commonjs/reanimated/ReanimatedScreen.js +3 -10
  62. package/lib/commonjs/reanimated/ReanimatedScreen.js.map +1 -1
  63. package/lib/commonjs/reanimated/ReanimatedScreenProvider.js +3 -19
  64. package/lib/commonjs/reanimated/ReanimatedScreenProvider.js.map +1 -1
  65. package/lib/commonjs/reanimated/ReanimatedTransitionProgressContext.js +2 -7
  66. package/lib/commonjs/reanimated/ReanimatedTransitionProgressContext.js.map +1 -1
  67. package/lib/commonjs/reanimated/index.js +0 -3
  68. package/lib/commonjs/reanimated/index.js.map +1 -1
  69. package/lib/commonjs/reanimated/useReanimatedTransitionProgress.js +2 -10
  70. package/lib/commonjs/reanimated/useReanimatedTransitionProgress.js.map +1 -1
  71. package/lib/commonjs/types.js +4 -0
  72. package/lib/commonjs/types.js.map +1 -1
  73. package/lib/commonjs/useTransitionProgress.js +2 -10
  74. package/lib/commonjs/useTransitionProgress.js.map +1 -1
  75. package/lib/commonjs/utils.js +0 -4
  76. package/lib/commonjs/utils.js.map +1 -1
  77. package/lib/module/TransitionProgressContext.js.map +1 -1
  78. package/lib/module/createNativeStackNavigator.js +29 -67
  79. package/lib/module/createNativeStackNavigator.js.map +1 -1
  80. package/lib/module/fabric/FullWindowOverlayNativeComponent.js +0 -1
  81. package/lib/module/fabric/FullWindowOverlayNativeComponent.js.map +1 -1
  82. package/lib/module/fabric/ScreenContainerNativeComponent.js +0 -1
  83. package/lib/module/fabric/ScreenContainerNativeComponent.js.map +1 -1
  84. package/lib/module/fabric/ScreenNativeComponent.js +0 -1
  85. package/lib/module/fabric/ScreenNativeComponent.js.map +1 -1
  86. package/lib/module/fabric/ScreenNavigationContainerNativeComponent.js +0 -1
  87. package/lib/module/fabric/ScreenNavigationContainerNativeComponent.js.map +1 -1
  88. package/lib/module/fabric/ScreenStackHeaderConfigNativeComponent.js +0 -1
  89. package/lib/module/fabric/ScreenStackHeaderConfigNativeComponent.js.map +1 -1
  90. package/lib/module/fabric/ScreenStackHeaderSubviewNativeComponent.js +0 -1
  91. package/lib/module/fabric/ScreenStackHeaderSubviewNativeComponent.js.map +1 -1
  92. package/lib/module/fabric/ScreenStackNativeComponent.js +0 -1
  93. package/lib/module/fabric/ScreenStackNativeComponent.js.map +1 -1
  94. package/lib/module/fabric/SearchBarNativeComponent.js +0 -1
  95. package/lib/module/fabric/SearchBarNativeComponent.js.map +1 -1
  96. package/lib/module/index.js +13 -11
  97. package/lib/module/index.js.map +1 -1
  98. package/lib/module/index.native.js +45 -93
  99. package/lib/module/index.native.js.map +1 -1
  100. package/lib/module/native-stack/index.js +3 -2
  101. package/lib/module/native-stack/index.js.map +1 -1
  102. package/lib/module/native-stack/navigators/createNativeStackNavigator.js +16 -16
  103. package/lib/module/native-stack/navigators/createNativeStackNavigator.js.map +1 -1
  104. package/lib/module/native-stack/types.js +1 -1
  105. package/lib/module/native-stack/types.js.map +1 -1
  106. package/lib/module/native-stack/utils/HeaderHeightContext.js.map +1 -1
  107. package/lib/module/native-stack/utils/SafeAreaProviderCompat.js +8 -7
  108. package/lib/module/native-stack/utils/SafeAreaProviderCompat.js.map +1 -1
  109. package/lib/module/native-stack/utils/getDefaultHeaderHeight.js +0 -4
  110. package/lib/module/native-stack/utils/getDefaultHeaderHeight.js.map +1 -1
  111. package/lib/module/native-stack/utils/useBackPressSubscription.js +7 -8
  112. package/lib/module/native-stack/utils/useBackPressSubscription.js.map +1 -1
  113. package/lib/module/native-stack/utils/useHeaderHeight.js +0 -2
  114. package/lib/module/native-stack/utils/useHeaderHeight.js.map +1 -1
  115. package/lib/module/native-stack/views/FontProcessor.js +0 -3
  116. package/lib/module/native-stack/views/FontProcessor.js.map +1 -1
  117. package/lib/module/native-stack/views/HeaderConfig.js +44 -39
  118. package/lib/module/native-stack/views/HeaderConfig.js.map +1 -1
  119. package/lib/module/native-stack/views/NativeStackView.js +32 -42
  120. package/lib/module/native-stack/views/NativeStackView.js.map +1 -1
  121. package/lib/module/reanimated/ReanimatedNativeStackScreen.js +12 -9
  122. package/lib/module/reanimated/ReanimatedNativeStackScreen.js.map +1 -1
  123. package/lib/module/reanimated/ReanimatedScreen.js +5 -4
  124. package/lib/module/reanimated/ReanimatedScreen.js.map +1 -1
  125. package/lib/module/reanimated/ReanimatedScreenProvider.js +3 -14
  126. package/lib/module/reanimated/ReanimatedScreenProvider.js.map +1 -1
  127. package/lib/module/reanimated/ReanimatedTransitionProgressContext.js +2 -1
  128. package/lib/module/reanimated/ReanimatedTransitionProgressContext.js.map +1 -1
  129. package/lib/module/reanimated/index.js.map +1 -1
  130. package/lib/module/reanimated/useReanimatedTransitionProgress.js +0 -2
  131. package/lib/module/reanimated/useReanimatedTransitionProgress.js.map +1 -1
  132. package/lib/module/types.js +1 -1
  133. package/lib/module/types.js.map +1 -1
  134. package/lib/module/useTransitionProgress.js +0 -2
  135. package/lib/module/useTransitionProgress.js.map +1 -1
  136. package/lib/module/utils.js.map +1 -1
  137. package/lib/typescript/index.d.ts +4 -2
  138. package/lib/typescript/native-stack/navigators/createNativeStackNavigator.d.ts +1 -0
  139. package/lib/typescript/native-stack/views/HeaderConfig.d.ts +1 -0
  140. package/lib/typescript/native-stack/views/NativeStackView.d.ts +1 -0
  141. package/lib/typescript/reanimated/ReanimatedNativeStackScreen.d.ts +1 -1
  142. package/lib/typescript/reanimated/ReanimatedScreen.d.ts +1 -1
  143. package/lib/typescript/types.d.ts +1 -0
  144. package/package.json +9 -1
  145. package/react-native.config.js +12 -2
  146. package/src/createNativeStackNavigator.tsx +4 -2
  147. package/src/fabric/ScreenNativeComponent.js +7 -0
  148. package/src/index.native.tsx +32 -16
  149. package/src/index.tsx +13 -8
  150. package/src/native-stack/types.tsx +4 -5
  151. package/src/native-stack/views/HeaderConfig.tsx +8 -10
  152. package/src/native-stack/views/NativeStackView.tsx +8 -4
  153. package/src/reanimated/ReanimatedNativeStackScreen.tsx +5 -3
  154. package/src/reanimated/ReanimatedScreen.tsx +1 -1
@@ -1,48 +1,43 @@
1
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
-
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); }
3
2
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
4
-
5
3
  import React from 'react';
6
4
  import { Animated, Image, Platform, requireNativeComponent, StyleSheet, UIManager, View } from 'react-native';
7
5
  import { Freeze } from 'react-freeze';
8
6
  import { version } from 'react-native/package.json';
9
7
  import TransitionProgressContext from './TransitionProgressContext';
10
8
  import useTransitionProgress from './useTransitionProgress';
11
- import { isSearchBarAvailableForCurrentPlatform, executeNativeBackPress } from './utils'; // web implementation is taken from `index.tsx`
9
+ import { isSearchBarAvailableForCurrentPlatform, executeNativeBackPress } from './utils';
12
10
 
11
+ // web implementation is taken from `index.tsx`
13
12
  const isPlatformSupported = Platform.OS === 'ios' || Platform.OS === 'android' || Platform.OS === 'windows';
14
13
  let ENABLE_SCREENS = isPlatformSupported;
15
-
16
- function enableScreens(shouldEnableScreens = true) {
14
+ function enableScreens() {
15
+ let shouldEnableScreens = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
17
16
  ENABLE_SCREENS = isPlatformSupported && shouldEnableScreens;
18
-
19
17
  if (ENABLE_SCREENS && !UIManager.getViewManagerConfig('RNSScreen')) {
20
18
  console.error(`Screen native module hasn't been linked. Please check the react-native-screens README for more details`);
21
19
  }
22
20
  }
23
-
24
21
  let ENABLE_FREEZE = false;
25
-
26
- function enableFreeze(shouldEnableReactFreeze = true) {
22
+ function enableFreeze() {
23
+ let shouldEnableReactFreeze = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
27
24
  const minor = parseInt(version.split('.')[1]); // eg. takes 66 from '0.66.0'
28
- // react-freeze requires react-native >=0.64, react-native from main is 0.0.0
29
25
 
26
+ // react-freeze requires react-native >=0.64, react-native from main is 0.0.0
30
27
  if (!(minor === 0 || minor >= 64) && shouldEnableReactFreeze) {
31
28
  console.warn('react-freeze library requires at least react-native 0.64. Please upgrade your react-native version in order to use this feature.');
32
29
  }
33
-
34
30
  ENABLE_FREEZE = shouldEnableReactFreeze;
35
- } // const that tells if the library should use new implementation, will be undefined for older versions
36
-
31
+ }
37
32
 
33
+ // const that tells if the library should use new implementation, will be undefined for older versions
38
34
  const shouldUseActivityState = true;
39
-
40
35
  function screensEnabled() {
41
36
  return ENABLE_SCREENS;
42
- } // We initialize these lazily so that importing the module doesn't throw error when not linked
43
- // This is necessary coz libraries such as React Navigation import the library where it may not be enabled
44
-
37
+ }
45
38
 
39
+ // We initialize these lazily so that importing the module doesn't throw error when not linked
40
+ // This is necessary coz libraries such as React Navigation import the library where it may not be enabled
46
41
  let NativeScreenValue;
47
42
  let NativeScreenContainerValue;
48
43
  let NativeScreenNavigationContainerValue;
@@ -57,53 +52,44 @@ const ScreensNativeModules = {
57
52
  NativeScreenValue = NativeScreenValue || requireNativeComponent('RNSScreen');
58
53
  return NativeScreenValue;
59
54
  },
60
-
61
55
  get NativeScreenContainer() {
62
56
  NativeScreenContainerValue = NativeScreenContainerValue || requireNativeComponent('RNSScreenContainer');
63
57
  return NativeScreenContainerValue;
64
58
  },
65
-
66
59
  get NativeScreenNavigationContainer() {
67
60
  NativeScreenNavigationContainerValue = NativeScreenNavigationContainerValue || (Platform.OS === 'ios' ? requireNativeComponent('RNSScreenNavigationContainer') : this.NativeScreenContainer);
68
61
  return NativeScreenNavigationContainerValue;
69
62
  },
70
-
71
63
  get NativeScreenStack() {
72
64
  NativeScreenStack = NativeScreenStack || requireNativeComponent('RNSScreenStack');
73
65
  return NativeScreenStack;
74
66
  },
75
-
76
67
  get NativeScreenStackHeaderConfig() {
77
68
  NativeScreenStackHeaderConfig = NativeScreenStackHeaderConfig || requireNativeComponent('RNSScreenStackHeaderConfig');
78
69
  return NativeScreenStackHeaderConfig;
79
70
  },
80
-
81
71
  get NativeScreenStackHeaderSubview() {
82
72
  NativeScreenStackHeaderSubview = NativeScreenStackHeaderSubview || requireNativeComponent('RNSScreenStackHeaderSubview');
83
73
  return NativeScreenStackHeaderSubview;
84
74
  },
85
-
86
75
  get NativeSearchBar() {
87
76
  NativeSearchBar = NativeSearchBar || requireNativeComponent('RNSSearchBar');
88
77
  return NativeSearchBar;
89
78
  },
90
-
91
79
  get NativeFullWindowOverlay() {
92
80
  NativeFullWindowOverlay = NativeFullWindowOverlay || requireNativeComponent('RNSFullWindowOverlay');
93
81
  return NativeFullWindowOverlay;
94
82
  }
95
-
96
83
  };
97
-
98
84
  // This component allows one more render before freezing the screen.
99
85
  // Allows activityState to reach the native side and useIsFocused to work correctly.
100
- function DelayedFreeze({
101
- freeze,
102
- children
103
- }) {
86
+ function DelayedFreeze(_ref) {
87
+ let {
88
+ freeze,
89
+ children
90
+ } = _ref;
104
91
  // flag used for determining whether freeze should be enabled
105
92
  const [freezeState, setFreezeState] = React.useState(false);
106
-
107
93
  if (freeze !== freezeState) {
108
94
  // setImmediate is executed at the end of the JS execution block.
109
95
  // Used here for changing the state right after the render.
@@ -111,22 +97,19 @@ function DelayedFreeze({
111
97
  setFreezeState(freeze);
112
98
  });
113
99
  }
114
-
115
100
  return /*#__PURE__*/React.createElement(Freeze, {
116
101
  freeze: freeze ? freezeState : false
117
102
  }, children);
118
103
  }
119
-
120
104
  function ScreenStack(props) {
121
105
  const {
122
106
  children,
123
107
  ...rest
124
108
  } = props;
125
- const size = React.Children.count(children); // freezes all screens except the top one
126
-
109
+ const size = React.Children.count(children);
110
+ // freezes all screens except the top one
127
111
  const childrenWithFreeze = React.Children.map(children, (child, index) => {
128
112
  var _props$descriptor, _props$descriptors, _descriptor$options$f, _descriptor$options;
129
-
130
113
  // @ts-expect-error it's either SceneView in v6 or RouteView in v5
131
114
  const {
132
115
  props,
@@ -139,46 +122,36 @@ function ScreenStack(props) {
139
122
  }, child);
140
123
  });
141
124
  return /*#__PURE__*/React.createElement(ScreensNativeModules.NativeScreenStack, rest, childrenWithFreeze);
142
- } // Incomplete type, all accessible properties available at:
143
- // react-native/Libraries/Components/View/ReactNativeViewViewConfig.js
125
+ }
144
126
 
127
+ // Incomplete type, all accessible properties available at:
128
+ // react-native/Libraries/Components/View/ReactNativeViewViewConfig.js
145
129
 
146
130
  class InnerScreen extends React.Component {
147
- constructor(...args) {
148
- super(...args);
149
-
131
+ constructor() {
132
+ super(...arguments);
150
133
  _defineProperty(this, "ref", null);
151
-
152
134
  _defineProperty(this, "closing", new Animated.Value(0));
153
-
154
135
  _defineProperty(this, "progress", new Animated.Value(0));
155
-
156
136
  _defineProperty(this, "goingForward", new Animated.Value(0));
157
-
158
137
  _defineProperty(this, "setRef", ref => {
159
138
  var _this$props$onCompone, _this$props;
160
-
161
139
  this.ref = ref;
162
140
  (_this$props$onCompone = (_this$props = this.props).onComponentRef) === null || _this$props$onCompone === void 0 ? void 0 : _this$props$onCompone.call(_this$props, ref);
163
141
  });
164
142
  }
165
-
166
143
  setNativeProps(props) {
167
144
  var _this$ref;
168
-
169
145
  (_this$ref = this.ref) === null || _this$ref === void 0 ? void 0 : _this$ref.setNativeProps(props);
170
146
  }
171
-
172
147
  render() {
173
148
  const {
174
149
  enabled = ENABLE_SCREENS,
175
150
  freezeOnBlur = ENABLE_FREEZE,
176
151
  ...rest
177
152
  } = this.props;
178
-
179
153
  if (enabled && isPlatformSupported) {
180
154
  var _gestureResponseDista, _gestureResponseDista2, _gestureResponseDista3, _gestureResponseDista4;
181
-
182
155
  AnimatedNativeScreen = AnimatedNativeScreen || Animated.createAnimatedComponent(ScreensNativeModules.NativeScreen);
183
156
  let {
184
157
  // Filter out active prop in this case because it is unused and
@@ -191,7 +164,6 @@ class InnerScreen extends React.Component {
191
164
  gestureResponseDistance,
192
165
  ...props
193
166
  } = rest;
194
-
195
167
  if (active !== undefined && activityState === undefined) {
196
168
  console.warn('It appears that you are using old version of react-navigation library. Please update @react-navigation/bottom-tabs, @react-navigation/stack and @react-navigation/drawer to version 5.10.0 or above to take full advantage of new functionality added to react-native-screens');
197
169
  activityState = active !== 0 ? 2 : 0; // in the new version, we need one of the screens to have value of 2 after the transition
@@ -199,15 +171,14 @@ class InnerScreen extends React.Component {
199
171
 
200
172
  const handleRef = ref => {
201
173
  var _ref$viewConfig, _ref$viewConfig$valid;
202
-
203
174
  if (ref !== null && ref !== void 0 && (_ref$viewConfig = ref.viewConfig) !== null && _ref$viewConfig !== void 0 && (_ref$viewConfig$valid = _ref$viewConfig.validAttributes) !== null && _ref$viewConfig$valid !== void 0 && _ref$viewConfig$valid.style) {
204
- ref.viewConfig.validAttributes.style = { ...ref.viewConfig.validAttributes.style,
175
+ ref.viewConfig.validAttributes.style = {
176
+ ...ref.viewConfig.validAttributes.style,
205
177
  display: false
206
178
  };
207
179
  this.setRef(ref);
208
180
  }
209
181
  };
210
-
211
182
  return /*#__PURE__*/React.createElement(DelayedFreeze, {
212
183
  freeze: freezeOnBlur && activityState === 0
213
184
  }, /*#__PURE__*/React.createElement(AnimatedNativeScreen, _extends({}, props, {
@@ -217,7 +188,8 @@ class InnerScreen extends React.Component {
217
188
  end: (_gestureResponseDista2 = gestureResponseDistance === null || gestureResponseDistance === void 0 ? void 0 : gestureResponseDistance.end) !== null && _gestureResponseDista2 !== void 0 ? _gestureResponseDista2 : -1,
218
189
  top: (_gestureResponseDista3 = gestureResponseDistance === null || gestureResponseDistance === void 0 ? void 0 : gestureResponseDistance.top) !== null && _gestureResponseDista3 !== void 0 ? _gestureResponseDista3 : -1,
219
190
  bottom: (_gestureResponseDista4 = gestureResponseDistance === null || gestureResponseDistance === void 0 ? void 0 : gestureResponseDistance.bottom) !== null && _gestureResponseDista4 !== void 0 ? _gestureResponseDista4 : -1
220
- } // This prevents showing blank screen when navigating between multiple screens with freezing
191
+ }
192
+ // This prevents showing blank screen when navigating between multiple screens with freezing
221
193
  // https://github.com/software-mansion/react-native-screens/pull/1208
222
194
  ,
223
195
  ref: handleRef,
@@ -230,7 +202,8 @@ class InnerScreen extends React.Component {
230
202
  }], {
231
203
  useNativeDriver: true
232
204
  })
233
- }), !isNativeStack ? // see comment of this prop in types.tsx for information why it is needed
205
+ }), !isNativeStack ?
206
+ // see comment of this prop in types.tsx for information why it is needed
234
207
  children : /*#__PURE__*/React.createElement(TransitionProgressContext.Provider, {
235
208
  value: {
236
209
  progress: this.progress,
@@ -248,11 +221,9 @@ class InnerScreen extends React.Component {
248
221
  onComponentRef,
249
222
  ...props
250
223
  } = rest;
251
-
252
224
  if (active !== undefined && activityState === undefined) {
253
225
  activityState = active !== 0 ? 2 : 0;
254
226
  }
255
-
256
227
  return /*#__PURE__*/React.createElement(Animated.View, _extends({
257
228
  style: [style, {
258
229
  display: activityState !== 0 ? 'flex' : 'none'
@@ -261,27 +232,34 @@ class InnerScreen extends React.Component {
261
232
  }, props));
262
233
  }
263
234
  }
264
-
265
235
  }
266
-
267
236
  function ScreenContainer(props) {
268
237
  const {
269
238
  enabled = ENABLE_SCREENS,
270
239
  hasTwoStates,
271
240
  ...rest
272
241
  } = props;
273
-
274
242
  if (enabled && isPlatformSupported) {
275
243
  if (hasTwoStates) {
276
244
  return /*#__PURE__*/React.createElement(ScreensNativeModules.NativeScreenNavigationContainer, rest);
277
245
  }
278
-
279
246
  return /*#__PURE__*/React.createElement(ScreensNativeModules.NativeScreenContainer, rest);
280
247
  }
281
-
282
248
  return /*#__PURE__*/React.createElement(View, rest);
283
249
  }
284
-
250
+ function FullWindowOverlay(props) {
251
+ if (Platform.OS !== 'ios') {
252
+ console.warn('Importing FullWindowOverlay is only valid on iOS devices.');
253
+ return /*#__PURE__*/React.createElement(View, props);
254
+ }
255
+ return /*#__PURE__*/React.createElement(ScreensNativeModules.NativeFullWindowOverlay, {
256
+ style: {
257
+ position: 'absolute',
258
+ width: '100%',
259
+ height: '100%'
260
+ }
261
+ }, props.children);
262
+ }
285
263
  const styles = StyleSheet.create({
286
264
  headerSubview: {
287
265
  position: 'absolute',
@@ -292,7 +270,6 @@ const styles = StyleSheet.create({
292
270
  justifyContent: 'center'
293
271
  }
294
272
  });
295
-
296
273
  const ScreenStackHeaderBackButtonImage = props => /*#__PURE__*/React.createElement(ScreensNativeModules.NativeScreenStackHeaderSubview, {
297
274
  type: "back",
298
275
  style: styles.headerSubview
@@ -300,41 +277,32 @@ const ScreenStackHeaderBackButtonImage = props => /*#__PURE__*/React.createEleme
300
277
  resizeMode: "center",
301
278
  fadeDuration: 0
302
279
  }, props)));
303
-
304
280
  const ScreenStackHeaderRightView = props => /*#__PURE__*/React.createElement(ScreensNativeModules.NativeScreenStackHeaderSubview, _extends({}, props, {
305
281
  type: "right",
306
282
  style: styles.headerSubview
307
283
  }));
308
-
309
284
  const ScreenStackHeaderLeftView = props => /*#__PURE__*/React.createElement(ScreensNativeModules.NativeScreenStackHeaderSubview, _extends({}, props, {
310
285
  type: "left",
311
286
  style: styles.headerSubview
312
287
  }));
313
-
314
288
  const ScreenStackHeaderCenterView = props => /*#__PURE__*/React.createElement(ScreensNativeModules.NativeScreenStackHeaderSubview, _extends({}, props, {
315
289
  type: "center",
316
290
  style: styles.headerSubview
317
291
  }));
318
-
319
292
  const ScreenStackHeaderSearchBarView = props => /*#__PURE__*/React.createElement(ScreensNativeModules.NativeScreenStackHeaderSubview, _extends({}, props, {
320
293
  type: "searchBar",
321
294
  style: styles.headerSubview
322
295
  }));
323
-
324
296
  // context to be used when the user wants to use enhanced implementation
325
297
  // e.g. to use `useReanimatedTransitionProgress` (see `reanimated` folder in repo)
326
298
  const ScreenContext = /*#__PURE__*/React.createContext(InnerScreen);
327
-
328
299
  class Screen extends React.Component {
329
300
  render() {
330
301
  const ScreenWrapper = this.context || InnerScreen;
331
302
  return /*#__PURE__*/React.createElement(ScreenWrapper, this.props);
332
303
  }
333
-
334
304
  }
335
-
336
305
  _defineProperty(Screen, "contextType", ScreenContext);
337
-
338
306
  module.exports = {
339
307
  // these are classes so they are not evaluated until used
340
308
  // so no need to use getters for them
@@ -343,45 +311,29 @@ module.exports = {
343
311
  ScreenContext,
344
312
  ScreenStack,
345
313
  InnerScreen,
346
-
314
+ FullWindowOverlay,
347
315
  get NativeScreen() {
348
316
  return ScreensNativeModules.NativeScreen;
349
317
  },
350
-
351
318
  get NativeScreenContainer() {
352
319
  return ScreensNativeModules.NativeScreenContainer;
353
320
  },
354
-
355
321
  get NativeScreenNavigationContainer() {
356
322
  return ScreensNativeModules.NativeScreenNavigationContainer;
357
323
  },
358
-
359
324
  get ScreenStackHeaderConfig() {
360
325
  return ScreensNativeModules.NativeScreenStackHeaderConfig;
361
326
  },
362
-
363
327
  get ScreenStackHeaderSubview() {
364
328
  return ScreensNativeModules.NativeScreenStackHeaderSubview;
365
329
  },
366
-
367
330
  get SearchBar() {
368
331
  if (!isSearchBarAvailableForCurrentPlatform) {
369
332
  console.warn('Importing SearchBar is only valid on iOS and Android devices.');
370
333
  return View;
371
334
  }
372
-
373
335
  return ScreensNativeModules.NativeSearchBar;
374
336
  },
375
-
376
- get FullWindowOverlay() {
377
- if (Platform.OS !== 'ios') {
378
- console.warn('Importing FullWindowOverlay is only valid on iOS devices.');
379
- return View;
380
- }
381
-
382
- return ScreensNativeModules.NativeFullWindowOverlay;
383
- },
384
-
385
337
  // these are functions and will not be evaluated until used
386
338
  // so no need to use getters for them
387
339
  ScreenStackHeaderBackButtonImage,
@@ -1 +1 @@
1
- {"version":3,"sources":["index.native.tsx"],"names":["React","Animated","Image","Platform","requireNativeComponent","StyleSheet","UIManager","View","Freeze","version","TransitionProgressContext","useTransitionProgress","isSearchBarAvailableForCurrentPlatform","executeNativeBackPress","isPlatformSupported","OS","ENABLE_SCREENS","enableScreens","shouldEnableScreens","getViewManagerConfig","console","error","ENABLE_FREEZE","enableFreeze","shouldEnableReactFreeze","minor","parseInt","split","warn","shouldUseActivityState","screensEnabled","NativeScreenValue","NativeScreenContainerValue","NativeScreenNavigationContainerValue","NativeScreenStack","NativeScreenStackHeaderConfig","NativeScreenStackHeaderSubview","AnimatedNativeScreen","NativeSearchBar","NativeFullWindowOverlay","ScreensNativeModules","NativeScreen","NativeScreenContainer","NativeScreenNavigationContainer","DelayedFreeze","freeze","children","freezeState","setFreezeState","useState","setImmediate","ScreenStack","props","rest","size","Children","count","childrenWithFreeze","map","child","index","key","descriptor","descriptors","freezeEnabled","options","freezeOnBlur","InnerScreen","Component","Value","ref","onComponentRef","setNativeProps","render","enabled","createAnimatedComponent","active","activityState","isNativeStack","gestureResponseDistance","undefined","handleRef","viewConfig","validAttributes","style","display","setRef","start","end","top","bottom","event","nativeEvent","progress","closing","goingForward","useNativeDriver","ScreenContainer","hasTwoStates","styles","create","headerSubview","position","right","flexDirection","alignItems","justifyContent","ScreenStackHeaderBackButtonImage","ScreenStackHeaderRightView","ScreenStackHeaderLeftView","ScreenStackHeaderCenterView","ScreenStackHeaderSearchBarView","ScreenContext","createContext","Screen","ScreenWrapper","context","module","exports","ScreenStackHeaderConfig","ScreenStackHeaderSubview","SearchBar","FullWindowOverlay"],"mappings":"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","sourcesContent":["import React from 'react';\nimport {\n Animated,\n Image,\n ImageProps,\n Platform,\n requireNativeComponent,\n StyleSheet,\n UIManager,\n View,\n ViewProps,\n} from 'react-native';\nimport { Freeze } from 'react-freeze';\nimport { version } from 'react-native/package.json';\n\nimport TransitionProgressContext from './TransitionProgressContext';\nimport useTransitionProgress from './useTransitionProgress';\nimport {\n StackPresentationTypes,\n StackAnimationTypes,\n BlurEffectTypes,\n ScreenReplaceTypes,\n ScreenOrientationTypes,\n HeaderSubviewTypes,\n ScreenProps,\n ScreenContainerProps,\n ScreenStackProps,\n ScreenStackHeaderConfigProps,\n SearchBarProps,\n} from './types';\nimport {\n isSearchBarAvailableForCurrentPlatform,\n executeNativeBackPress,\n} from './utils';\n\n// web implementation is taken from `index.tsx`\nconst isPlatformSupported =\n Platform.OS === 'ios' ||\n Platform.OS === 'android' ||\n Platform.OS === 'windows';\n\nlet ENABLE_SCREENS = isPlatformSupported;\n\nfunction enableScreens(shouldEnableScreens = true): void {\n ENABLE_SCREENS = isPlatformSupported && shouldEnableScreens;\n if (ENABLE_SCREENS && !UIManager.getViewManagerConfig('RNSScreen')) {\n console.error(\n `Screen native module hasn't been linked. Please check the react-native-screens README for more details`\n );\n }\n}\n\nlet ENABLE_FREEZE = false;\n\nfunction enableFreeze(shouldEnableReactFreeze = true): void {\n const minor = parseInt(version.split('.')[1]); // eg. takes 66 from '0.66.0'\n\n // react-freeze requires react-native >=0.64, react-native from main is 0.0.0\n if (!(minor === 0 || minor >= 64) && shouldEnableReactFreeze) {\n console.warn(\n 'react-freeze library requires at least react-native 0.64. Please upgrade your react-native version in order to use this feature.'\n );\n }\n\n ENABLE_FREEZE = shouldEnableReactFreeze;\n}\n\n// const that tells if the library should use new implementation, will be undefined for older versions\nconst shouldUseActivityState = true;\n\nfunction screensEnabled(): boolean {\n return ENABLE_SCREENS;\n}\n\n// We initialize these lazily so that importing the module doesn't throw error when not linked\n// This is necessary coz libraries such as React Navigation import the library where it may not be enabled\nlet NativeScreenValue: React.ComponentType<ScreenProps>;\nlet NativeScreenContainerValue: React.ComponentType<ScreenContainerProps>;\nlet NativeScreenNavigationContainerValue: React.ComponentType<ScreenContainerProps>;\nlet NativeScreenStack: React.ComponentType<ScreenStackProps>;\nlet NativeScreenStackHeaderConfig: React.ComponentType<ScreenStackHeaderConfigProps>;\nlet NativeScreenStackHeaderSubview: React.ComponentType<React.PropsWithChildren<\n ViewProps & { type?: HeaderSubviewTypes }\n>>;\nlet AnimatedNativeScreen: React.ComponentType<ScreenProps>;\nlet NativeSearchBar: React.ComponentType<SearchBarProps>;\nlet NativeFullWindowOverlay: React.ComponentType<View>;\n\nconst ScreensNativeModules = {\n get NativeScreen() {\n NativeScreenValue =\n NativeScreenValue || requireNativeComponent('RNSScreen');\n return NativeScreenValue;\n },\n\n get NativeScreenContainer() {\n NativeScreenContainerValue =\n NativeScreenContainerValue ||\n requireNativeComponent('RNSScreenContainer');\n return NativeScreenContainerValue;\n },\n\n get NativeScreenNavigationContainer() {\n NativeScreenNavigationContainerValue =\n NativeScreenNavigationContainerValue ||\n (Platform.OS === 'ios'\n ? requireNativeComponent('RNSScreenNavigationContainer')\n : this.NativeScreenContainer);\n return NativeScreenNavigationContainerValue;\n },\n\n get NativeScreenStack() {\n NativeScreenStack =\n NativeScreenStack || requireNativeComponent('RNSScreenStack');\n return NativeScreenStack;\n },\n\n get NativeScreenStackHeaderConfig() {\n NativeScreenStackHeaderConfig =\n NativeScreenStackHeaderConfig ||\n requireNativeComponent('RNSScreenStackHeaderConfig');\n return NativeScreenStackHeaderConfig;\n },\n\n get NativeScreenStackHeaderSubview() {\n NativeScreenStackHeaderSubview =\n NativeScreenStackHeaderSubview ||\n requireNativeComponent('RNSScreenStackHeaderSubview');\n return NativeScreenStackHeaderSubview;\n },\n\n get NativeSearchBar() {\n NativeSearchBar = NativeSearchBar || requireNativeComponent('RNSSearchBar');\n return NativeSearchBar;\n },\n\n get NativeFullWindowOverlay() {\n NativeFullWindowOverlay =\n NativeFullWindowOverlay || requireNativeComponent('RNSFullWindowOverlay');\n return NativeFullWindowOverlay;\n },\n};\n\ninterface FreezeWrapperProps {\n freeze: boolean;\n children: React.ReactNode;\n}\n\n// This component allows one more render before freezing the screen.\n// Allows activityState to reach the native side and useIsFocused to work correctly.\nfunction DelayedFreeze({ freeze, children }: FreezeWrapperProps) {\n // flag used for determining whether freeze should be enabled\n const [freezeState, setFreezeState] = React.useState(false);\n\n if (freeze !== freezeState) {\n // setImmediate is executed at the end of the JS execution block.\n // Used here for changing the state right after the render.\n setImmediate(() => {\n setFreezeState(freeze);\n });\n }\n\n return <Freeze freeze={freeze ? freezeState : false}>{children}</Freeze>;\n}\n\nfunction ScreenStack(props: ScreenStackProps) {\n const { children, ...rest } = props;\n const size = React.Children.count(children);\n // freezes all screens except the top one\n const childrenWithFreeze = React.Children.map(children, (child, index) => {\n // @ts-expect-error it's either SceneView in v6 or RouteView in v5\n const { props, key } = child;\n const descriptor = props?.descriptor ?? props?.descriptors?.[key];\n const freezeEnabled = descriptor?.options?.freezeOnBlur ?? ENABLE_FREEZE;\n\n return (\n <DelayedFreeze freeze={freezeEnabled && size - index > 1}>\n {child}\n </DelayedFreeze>\n );\n });\n\n return (\n <ScreensNativeModules.NativeScreenStack {...rest}>\n {childrenWithFreeze}\n </ScreensNativeModules.NativeScreenStack>\n );\n}\n\n// Incomplete type, all accessible properties available at:\n// react-native/Libraries/Components/View/ReactNativeViewViewConfig.js\ninterface ViewConfig extends View {\n viewConfig: {\n validAttributes: {\n style: {\n display: boolean;\n };\n };\n };\n}\n\nclass InnerScreen extends React.Component<ScreenProps> {\n private ref: React.ElementRef<typeof View> | null = null;\n private closing = new Animated.Value(0);\n private progress = new Animated.Value(0);\n private goingForward = new Animated.Value(0);\n\n setNativeProps(props: ScreenProps): void {\n this.ref?.setNativeProps(props);\n }\n\n setRef = (ref: React.ElementRef<typeof View> | null): void => {\n this.ref = ref;\n this.props.onComponentRef?.(ref);\n };\n\n render() {\n const {\n enabled = ENABLE_SCREENS,\n freezeOnBlur = ENABLE_FREEZE,\n ...rest\n } = this.props;\n\n if (enabled && isPlatformSupported) {\n AnimatedNativeScreen =\n AnimatedNativeScreen ||\n Animated.createAnimatedComponent(ScreensNativeModules.NativeScreen);\n\n let {\n // Filter out active prop in this case because it is unused and\n // can cause problems depending on react-native version:\n // https://github.com/react-navigation/react-navigation/issues/4886\n active,\n activityState,\n children,\n isNativeStack,\n gestureResponseDistance,\n ...props\n } = rest;\n\n if (active !== undefined && activityState === undefined) {\n console.warn(\n 'It appears that you are using old version of react-navigation library. Please update @react-navigation/bottom-tabs, @react-navigation/stack and @react-navigation/drawer to version 5.10.0 or above to take full advantage of new functionality added to react-native-screens'\n );\n activityState = active !== 0 ? 2 : 0; // in the new version, we need one of the screens to have value of 2 after the transition\n }\n\n const handleRef = (ref: ViewConfig) => {\n if (ref?.viewConfig?.validAttributes?.style) {\n ref.viewConfig.validAttributes.style = {\n ...ref.viewConfig.validAttributes.style,\n display: false,\n };\n this.setRef(ref);\n }\n };\n\n return (\n <DelayedFreeze freeze={freezeOnBlur && activityState === 0}>\n <AnimatedNativeScreen\n {...props}\n activityState={activityState}\n gestureResponseDistance={{\n start: gestureResponseDistance?.start ?? -1,\n end: gestureResponseDistance?.end ?? -1,\n top: gestureResponseDistance?.top ?? -1,\n bottom: gestureResponseDistance?.bottom ?? -1,\n }}\n // This prevents showing blank screen when navigating between multiple screens with freezing\n // https://github.com/software-mansion/react-native-screens/pull/1208\n ref={handleRef}\n onTransitionProgress={\n !isNativeStack\n ? undefined\n : Animated.event(\n [\n {\n nativeEvent: {\n progress: this.progress,\n closing: this.closing,\n goingForward: this.goingForward,\n },\n },\n ],\n { useNativeDriver: true }\n )\n }>\n {!isNativeStack ? ( // see comment of this prop in types.tsx for information why it is needed\n children\n ) : (\n <TransitionProgressContext.Provider\n value={{\n progress: this.progress,\n closing: this.closing,\n goingForward: this.goingForward,\n }}>\n {children}\n </TransitionProgressContext.Provider>\n )}\n </AnimatedNativeScreen>\n </DelayedFreeze>\n );\n } else {\n // same reason as above\n let {\n active,\n activityState,\n style,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onComponentRef,\n ...props\n } = rest;\n\n if (active !== undefined && activityState === undefined) {\n activityState = active !== 0 ? 2 : 0;\n }\n return (\n <Animated.View\n style={[style, { display: activityState !== 0 ? 'flex' : 'none' }]}\n ref={this.setRef}\n {...props}\n />\n );\n }\n }\n}\n\nfunction ScreenContainer(props: ScreenContainerProps) {\n const { enabled = ENABLE_SCREENS, hasTwoStates, ...rest } = props;\n\n if (enabled && isPlatformSupported) {\n if (hasTwoStates) {\n return <ScreensNativeModules.NativeScreenNavigationContainer {...rest} />;\n }\n return <ScreensNativeModules.NativeScreenContainer {...rest} />;\n }\n return <View {...rest} />;\n}\n\nconst styles = StyleSheet.create({\n headerSubview: {\n position: 'absolute',\n top: 0,\n right: 0,\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n },\n});\n\nconst ScreenStackHeaderBackButtonImage = (props: ImageProps): JSX.Element => (\n <ScreensNativeModules.NativeScreenStackHeaderSubview\n type=\"back\"\n style={styles.headerSubview}>\n <Image resizeMode=\"center\" fadeDuration={0} {...props} />\n </ScreensNativeModules.NativeScreenStackHeaderSubview>\n);\n\nconst ScreenStackHeaderRightView = (\n props: React.PropsWithChildren<ViewProps>\n): JSX.Element => (\n <ScreensNativeModules.NativeScreenStackHeaderSubview\n {...props}\n type=\"right\"\n style={styles.headerSubview}\n />\n);\n\nconst ScreenStackHeaderLeftView = (\n props: React.PropsWithChildren<ViewProps>\n): JSX.Element => (\n <ScreensNativeModules.NativeScreenStackHeaderSubview\n {...props}\n type=\"left\"\n style={styles.headerSubview}\n />\n);\n\nconst ScreenStackHeaderCenterView = (\n props: React.PropsWithChildren<ViewProps>\n): JSX.Element => (\n <ScreensNativeModules.NativeScreenStackHeaderSubview\n {...props}\n type=\"center\"\n style={styles.headerSubview}\n />\n);\n\nconst ScreenStackHeaderSearchBarView = (\n props: React.PropsWithChildren<SearchBarProps>\n): JSX.Element => (\n <ScreensNativeModules.NativeScreenStackHeaderSubview\n {...props}\n type=\"searchBar\"\n style={styles.headerSubview}\n />\n);\n\nexport type {\n StackPresentationTypes,\n StackAnimationTypes,\n BlurEffectTypes,\n ScreenReplaceTypes,\n ScreenOrientationTypes,\n HeaderSubviewTypes,\n ScreenProps,\n ScreenContainerProps,\n ScreenStackProps,\n ScreenStackHeaderConfigProps,\n SearchBarProps,\n};\n\n// context to be used when the user wants to use enhanced implementation\n// e.g. to use `useReanimatedTransitionProgress` (see `reanimated` folder in repo)\nconst ScreenContext = React.createContext(InnerScreen);\n\nclass Screen extends React.Component<ScreenProps> {\n static contextType = ScreenContext;\n\n render() {\n const ScreenWrapper = this.context || InnerScreen;\n return <ScreenWrapper {...this.props} />;\n }\n}\n\nmodule.exports = {\n // these are classes so they are not evaluated until used\n // so no need to use getters for them\n Screen,\n ScreenContainer,\n ScreenContext,\n ScreenStack,\n InnerScreen,\n\n get NativeScreen() {\n return ScreensNativeModules.NativeScreen;\n },\n\n get NativeScreenContainer() {\n return ScreensNativeModules.NativeScreenContainer;\n },\n\n get NativeScreenNavigationContainer() {\n return ScreensNativeModules.NativeScreenNavigationContainer;\n },\n\n get ScreenStackHeaderConfig() {\n return ScreensNativeModules.NativeScreenStackHeaderConfig;\n },\n get ScreenStackHeaderSubview() {\n return ScreensNativeModules.NativeScreenStackHeaderSubview;\n },\n get SearchBar() {\n if (!isSearchBarAvailableForCurrentPlatform) {\n console.warn(\n 'Importing SearchBar is only valid on iOS and Android devices.'\n );\n return View;\n }\n\n return ScreensNativeModules.NativeSearchBar;\n },\n get FullWindowOverlay() {\n if (Platform.OS !== 'ios') {\n console.warn('Importing FullWindowOverlay is only valid on iOS devices.');\n return View;\n }\n\n return ScreensNativeModules.NativeFullWindowOverlay;\n },\n // these are functions and will not be evaluated until used\n // so no need to use getters for them\n ScreenStackHeaderBackButtonImage,\n ScreenStackHeaderRightView,\n ScreenStackHeaderLeftView,\n ScreenStackHeaderCenterView,\n ScreenStackHeaderSearchBarView,\n\n enableScreens,\n enableFreeze,\n screensEnabled,\n shouldUseActivityState,\n useTransitionProgress,\n\n isSearchBarAvailableForCurrentPlatform,\n executeNativeBackPress,\n};\n"]}
1
+ {"version":3,"names":["React","Animated","Image","Platform","requireNativeComponent","StyleSheet","UIManager","View","Freeze","version","TransitionProgressContext","useTransitionProgress","isSearchBarAvailableForCurrentPlatform","executeNativeBackPress","isPlatformSupported","OS","ENABLE_SCREENS","enableScreens","shouldEnableScreens","getViewManagerConfig","console","error","ENABLE_FREEZE","enableFreeze","shouldEnableReactFreeze","minor","parseInt","split","warn","shouldUseActivityState","screensEnabled","NativeScreenValue","NativeScreenContainerValue","NativeScreenNavigationContainerValue","NativeScreenStack","NativeScreenStackHeaderConfig","NativeScreenStackHeaderSubview","AnimatedNativeScreen","NativeSearchBar","NativeFullWindowOverlay","ScreensNativeModules","NativeScreen","NativeScreenContainer","NativeScreenNavigationContainer","DelayedFreeze","freeze","children","freezeState","setFreezeState","useState","setImmediate","ScreenStack","props","rest","size","Children","count","childrenWithFreeze","map","child","index","key","descriptor","descriptors","freezeEnabled","options","freezeOnBlur","InnerScreen","Component","Value","ref","onComponentRef","setNativeProps","render","enabled","createAnimatedComponent","active","activityState","isNativeStack","gestureResponseDistance","undefined","handleRef","viewConfig","validAttributes","style","display","setRef","start","end","top","bottom","event","nativeEvent","progress","closing","goingForward","useNativeDriver","ScreenContainer","hasTwoStates","FullWindowOverlay","position","width","height","styles","create","headerSubview","right","flexDirection","alignItems","justifyContent","ScreenStackHeaderBackButtonImage","ScreenStackHeaderRightView","ScreenStackHeaderLeftView","ScreenStackHeaderCenterView","ScreenStackHeaderSearchBarView","ScreenContext","createContext","Screen","ScreenWrapper","context","module","exports","ScreenStackHeaderConfig","ScreenStackHeaderSubview","SearchBar"],"sources":["index.native.tsx"],"sourcesContent":["import React, { PropsWithChildren, ReactNode } from 'react';\nimport {\n Animated,\n Image,\n ImageProps,\n Platform,\n requireNativeComponent,\n StyleProp,\n StyleSheet,\n UIManager,\n View,\n ViewProps,\n ViewStyle,\n} from 'react-native';\nimport { Freeze } from 'react-freeze';\nimport { version } from 'react-native/package.json';\n\nimport TransitionProgressContext from './TransitionProgressContext';\nimport useTransitionProgress from './useTransitionProgress';\nimport {\n StackPresentationTypes,\n StackAnimationTypes,\n BlurEffectTypes,\n ScreenReplaceTypes,\n ScreenOrientationTypes,\n HeaderSubviewTypes,\n ScreenProps,\n ScreenContainerProps,\n ScreenStackProps,\n ScreenStackHeaderConfigProps,\n SearchBarProps,\n} from './types';\nimport {\n isSearchBarAvailableForCurrentPlatform,\n executeNativeBackPress,\n} from './utils';\n\n// web implementation is taken from `index.tsx`\nconst isPlatformSupported =\n Platform.OS === 'ios' ||\n Platform.OS === 'android' ||\n Platform.OS === 'windows';\n\nlet ENABLE_SCREENS = isPlatformSupported;\n\nfunction enableScreens(shouldEnableScreens = true): void {\n ENABLE_SCREENS = isPlatformSupported && shouldEnableScreens;\n if (ENABLE_SCREENS && !UIManager.getViewManagerConfig('RNSScreen')) {\n console.error(\n `Screen native module hasn't been linked. Please check the react-native-screens README for more details`\n );\n }\n}\n\nlet ENABLE_FREEZE = false;\n\nfunction enableFreeze(shouldEnableReactFreeze = true): void {\n const minor = parseInt(version.split('.')[1]); // eg. takes 66 from '0.66.0'\n\n // react-freeze requires react-native >=0.64, react-native from main is 0.0.0\n if (!(minor === 0 || minor >= 64) && shouldEnableReactFreeze) {\n console.warn(\n 'react-freeze library requires at least react-native 0.64. Please upgrade your react-native version in order to use this feature.'\n );\n }\n\n ENABLE_FREEZE = shouldEnableReactFreeze;\n}\n\n// const that tells if the library should use new implementation, will be undefined for older versions\nconst shouldUseActivityState = true;\n\nfunction screensEnabled(): boolean {\n return ENABLE_SCREENS;\n}\n\n// We initialize these lazily so that importing the module doesn't throw error when not linked\n// This is necessary coz libraries such as React Navigation import the library where it may not be enabled\nlet NativeScreenValue: React.ComponentType<ScreenProps>;\nlet NativeScreenContainerValue: React.ComponentType<ScreenContainerProps>;\nlet NativeScreenNavigationContainerValue: React.ComponentType<ScreenContainerProps>;\nlet NativeScreenStack: React.ComponentType<ScreenStackProps>;\nlet NativeScreenStackHeaderConfig: React.ComponentType<ScreenStackHeaderConfigProps>;\nlet NativeScreenStackHeaderSubview: React.ComponentType<\n React.PropsWithChildren<ViewProps & { type?: HeaderSubviewTypes }>\n>;\nlet AnimatedNativeScreen: React.ComponentType<ScreenProps>;\nlet NativeSearchBar: React.ComponentType<SearchBarProps>;\nlet NativeFullWindowOverlay: React.ComponentType<\n PropsWithChildren<{\n style: StyleProp<ViewStyle>;\n }>\n>;\n\nconst ScreensNativeModules = {\n get NativeScreen() {\n NativeScreenValue =\n NativeScreenValue || requireNativeComponent('RNSScreen');\n return NativeScreenValue;\n },\n\n get NativeScreenContainer() {\n NativeScreenContainerValue =\n NativeScreenContainerValue ||\n requireNativeComponent('RNSScreenContainer');\n return NativeScreenContainerValue;\n },\n\n get NativeScreenNavigationContainer() {\n NativeScreenNavigationContainerValue =\n NativeScreenNavigationContainerValue ||\n (Platform.OS === 'ios'\n ? requireNativeComponent('RNSScreenNavigationContainer')\n : this.NativeScreenContainer);\n return NativeScreenNavigationContainerValue;\n },\n\n get NativeScreenStack() {\n NativeScreenStack =\n NativeScreenStack || requireNativeComponent('RNSScreenStack');\n return NativeScreenStack;\n },\n\n get NativeScreenStackHeaderConfig() {\n NativeScreenStackHeaderConfig =\n NativeScreenStackHeaderConfig ||\n requireNativeComponent('RNSScreenStackHeaderConfig');\n return NativeScreenStackHeaderConfig;\n },\n\n get NativeScreenStackHeaderSubview() {\n NativeScreenStackHeaderSubview =\n NativeScreenStackHeaderSubview ||\n requireNativeComponent('RNSScreenStackHeaderSubview');\n return NativeScreenStackHeaderSubview;\n },\n\n get NativeSearchBar() {\n NativeSearchBar = NativeSearchBar || requireNativeComponent('RNSSearchBar');\n return NativeSearchBar;\n },\n\n get NativeFullWindowOverlay() {\n NativeFullWindowOverlay =\n NativeFullWindowOverlay || requireNativeComponent('RNSFullWindowOverlay');\n return NativeFullWindowOverlay;\n },\n};\n\ninterface FreezeWrapperProps {\n freeze: boolean;\n children: React.ReactNode;\n}\n\n// This component allows one more render before freezing the screen.\n// Allows activityState to reach the native side and useIsFocused to work correctly.\nfunction DelayedFreeze({ freeze, children }: FreezeWrapperProps) {\n // flag used for determining whether freeze should be enabled\n const [freezeState, setFreezeState] = React.useState(false);\n\n if (freeze !== freezeState) {\n // setImmediate is executed at the end of the JS execution block.\n // Used here for changing the state right after the render.\n setImmediate(() => {\n setFreezeState(freeze);\n });\n }\n\n return <Freeze freeze={freeze ? freezeState : false}>{children}</Freeze>;\n}\n\nfunction ScreenStack(props: ScreenStackProps) {\n const { children, ...rest } = props;\n const size = React.Children.count(children);\n // freezes all screens except the top one\n const childrenWithFreeze = React.Children.map(children, (child, index) => {\n // @ts-expect-error it's either SceneView in v6 or RouteView in v5\n const { props, key } = child;\n const descriptor = props?.descriptor ?? props?.descriptors?.[key];\n const freezeEnabled = descriptor?.options?.freezeOnBlur ?? ENABLE_FREEZE;\n\n return (\n <DelayedFreeze freeze={freezeEnabled && size - index > 1}>\n {child}\n </DelayedFreeze>\n );\n });\n\n return (\n <ScreensNativeModules.NativeScreenStack {...rest}>\n {childrenWithFreeze}\n </ScreensNativeModules.NativeScreenStack>\n );\n}\n\n// Incomplete type, all accessible properties available at:\n// react-native/Libraries/Components/View/ReactNativeViewViewConfig.js\ninterface ViewConfig extends View {\n viewConfig: {\n validAttributes: {\n style: {\n display: boolean;\n };\n };\n };\n}\n\nclass InnerScreen extends React.Component<ScreenProps> {\n private ref: React.ElementRef<typeof View> | null = null;\n private closing = new Animated.Value(0);\n private progress = new Animated.Value(0);\n private goingForward = new Animated.Value(0);\n\n setNativeProps(props: ScreenProps): void {\n this.ref?.setNativeProps(props);\n }\n\n setRef = (ref: React.ElementRef<typeof View> | null): void => {\n this.ref = ref;\n this.props.onComponentRef?.(ref);\n };\n\n render() {\n const {\n enabled = ENABLE_SCREENS,\n freezeOnBlur = ENABLE_FREEZE,\n ...rest\n } = this.props;\n\n if (enabled && isPlatformSupported) {\n AnimatedNativeScreen =\n AnimatedNativeScreen ||\n Animated.createAnimatedComponent(ScreensNativeModules.NativeScreen);\n\n let {\n // Filter out active prop in this case because it is unused and\n // can cause problems depending on react-native version:\n // https://github.com/react-navigation/react-navigation/issues/4886\n active,\n activityState,\n children,\n isNativeStack,\n gestureResponseDistance,\n ...props\n } = rest;\n\n if (active !== undefined && activityState === undefined) {\n console.warn(\n 'It appears that you are using old version of react-navigation library. Please update @react-navigation/bottom-tabs, @react-navigation/stack and @react-navigation/drawer to version 5.10.0 or above to take full advantage of new functionality added to react-native-screens'\n );\n activityState = active !== 0 ? 2 : 0; // in the new version, we need one of the screens to have value of 2 after the transition\n }\n\n const handleRef = (ref: ViewConfig) => {\n if (ref?.viewConfig?.validAttributes?.style) {\n ref.viewConfig.validAttributes.style = {\n ...ref.viewConfig.validAttributes.style,\n display: false,\n };\n this.setRef(ref);\n }\n };\n\n return (\n <DelayedFreeze freeze={freezeOnBlur && activityState === 0}>\n <AnimatedNativeScreen\n {...props}\n activityState={activityState}\n gestureResponseDistance={{\n start: gestureResponseDistance?.start ?? -1,\n end: gestureResponseDistance?.end ?? -1,\n top: gestureResponseDistance?.top ?? -1,\n bottom: gestureResponseDistance?.bottom ?? -1,\n }}\n // This prevents showing blank screen when navigating between multiple screens with freezing\n // https://github.com/software-mansion/react-native-screens/pull/1208\n ref={handleRef}\n onTransitionProgress={\n !isNativeStack\n ? undefined\n : Animated.event(\n [\n {\n nativeEvent: {\n progress: this.progress,\n closing: this.closing,\n goingForward: this.goingForward,\n },\n },\n ],\n { useNativeDriver: true }\n )\n }\n >\n {!isNativeStack ? ( // see comment of this prop in types.tsx for information why it is needed\n children\n ) : (\n <TransitionProgressContext.Provider\n value={{\n progress: this.progress,\n closing: this.closing,\n goingForward: this.goingForward,\n }}\n >\n {children}\n </TransitionProgressContext.Provider>\n )}\n </AnimatedNativeScreen>\n </DelayedFreeze>\n );\n } else {\n // same reason as above\n let {\n active,\n activityState,\n style,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onComponentRef,\n ...props\n } = rest;\n\n if (active !== undefined && activityState === undefined) {\n activityState = active !== 0 ? 2 : 0;\n }\n return (\n <Animated.View\n style={[style, { display: activityState !== 0 ? 'flex' : 'none' }]}\n ref={this.setRef}\n {...props}\n />\n );\n }\n }\n}\n\nfunction ScreenContainer(props: ScreenContainerProps) {\n const { enabled = ENABLE_SCREENS, hasTwoStates, ...rest } = props;\n\n if (enabled && isPlatformSupported) {\n if (hasTwoStates) {\n return <ScreensNativeModules.NativeScreenNavigationContainer {...rest} />;\n }\n return <ScreensNativeModules.NativeScreenContainer {...rest} />;\n }\n return <View {...rest} />;\n}\n\nfunction FullWindowOverlay(props: { children: ReactNode }) {\n if (Platform.OS !== 'ios') {\n console.warn('Importing FullWindowOverlay is only valid on iOS devices.');\n return <View {...props} />;\n }\n return (\n <ScreensNativeModules.NativeFullWindowOverlay\n style={{ position: 'absolute', width: '100%', height: '100%' }}\n >\n {props.children}\n </ScreensNativeModules.NativeFullWindowOverlay>\n );\n}\n\nconst styles = StyleSheet.create({\n headerSubview: {\n position: 'absolute',\n top: 0,\n right: 0,\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n },\n});\n\nconst ScreenStackHeaderBackButtonImage = (props: ImageProps): JSX.Element => (\n <ScreensNativeModules.NativeScreenStackHeaderSubview\n type=\"back\"\n style={styles.headerSubview}\n >\n <Image resizeMode=\"center\" fadeDuration={0} {...props} />\n </ScreensNativeModules.NativeScreenStackHeaderSubview>\n);\n\nconst ScreenStackHeaderRightView = (\n props: React.PropsWithChildren<ViewProps>\n): JSX.Element => (\n <ScreensNativeModules.NativeScreenStackHeaderSubview\n {...props}\n type=\"right\"\n style={styles.headerSubview}\n />\n);\n\nconst ScreenStackHeaderLeftView = (\n props: React.PropsWithChildren<ViewProps>\n): JSX.Element => (\n <ScreensNativeModules.NativeScreenStackHeaderSubview\n {...props}\n type=\"left\"\n style={styles.headerSubview}\n />\n);\n\nconst ScreenStackHeaderCenterView = (\n props: React.PropsWithChildren<ViewProps>\n): JSX.Element => (\n <ScreensNativeModules.NativeScreenStackHeaderSubview\n {...props}\n type=\"center\"\n style={styles.headerSubview}\n />\n);\n\nconst ScreenStackHeaderSearchBarView = (\n props: React.PropsWithChildren<SearchBarProps>\n): JSX.Element => (\n <ScreensNativeModules.NativeScreenStackHeaderSubview\n {...props}\n type=\"searchBar\"\n style={styles.headerSubview}\n />\n);\n\nexport type {\n StackPresentationTypes,\n StackAnimationTypes,\n BlurEffectTypes,\n ScreenReplaceTypes,\n ScreenOrientationTypes,\n HeaderSubviewTypes,\n ScreenProps,\n ScreenContainerProps,\n ScreenStackProps,\n ScreenStackHeaderConfigProps,\n SearchBarProps,\n};\n\n// context to be used when the user wants to use enhanced implementation\n// e.g. to use `useReanimatedTransitionProgress` (see `reanimated` folder in repo)\nconst ScreenContext = React.createContext(InnerScreen);\n\nclass Screen extends React.Component<ScreenProps> {\n static contextType = ScreenContext;\n\n render() {\n const ScreenWrapper = this.context || InnerScreen;\n return <ScreenWrapper {...this.props} />;\n }\n}\n\nmodule.exports = {\n // these are classes so they are not evaluated until used\n // so no need to use getters for them\n Screen,\n ScreenContainer,\n ScreenContext,\n ScreenStack,\n InnerScreen,\n FullWindowOverlay,\n\n get NativeScreen() {\n return ScreensNativeModules.NativeScreen;\n },\n\n get NativeScreenContainer() {\n return ScreensNativeModules.NativeScreenContainer;\n },\n\n get NativeScreenNavigationContainer() {\n return ScreensNativeModules.NativeScreenNavigationContainer;\n },\n\n get ScreenStackHeaderConfig() {\n return ScreensNativeModules.NativeScreenStackHeaderConfig;\n },\n get ScreenStackHeaderSubview() {\n return ScreensNativeModules.NativeScreenStackHeaderSubview;\n },\n get SearchBar() {\n if (!isSearchBarAvailableForCurrentPlatform) {\n console.warn(\n 'Importing SearchBar is only valid on iOS and Android devices.'\n );\n return View;\n }\n\n return ScreensNativeModules.NativeSearchBar;\n },\n // these are functions and will not be evaluated until used\n // so no need to use getters for them\n ScreenStackHeaderBackButtonImage,\n ScreenStackHeaderRightView,\n ScreenStackHeaderLeftView,\n ScreenStackHeaderCenterView,\n ScreenStackHeaderSearchBarView,\n\n enableScreens,\n enableFreeze,\n screensEnabled,\n shouldUseActivityState,\n useTransitionProgress,\n\n isSearchBarAvailableForCurrentPlatform,\n executeNativeBackPress,\n};\n"],"mappings":"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"}
@@ -2,17 +2,18 @@
2
2
  * Navigators
3
3
  */
4
4
  export { default as createNativeStackNavigator } from './navigators/createNativeStackNavigator';
5
+
5
6
  /**
6
7
  * Views
7
8
  */
8
-
9
9
  export { default as NativeStackView } from './views/NativeStackView';
10
+
10
11
  /**
11
12
  * Utilities
12
13
  */
13
-
14
14
  export { default as useHeaderHeight } from './utils/useHeaderHeight';
15
15
  export { default as HeaderHeightContext } from './utils/HeaderHeightContext';
16
+
16
17
  /**
17
18
  * Types
18
19
  */
@@ -1 +1 @@
1
- {"version":3,"sources":["index.tsx"],"names":["default","createNativeStackNavigator","NativeStackView","useHeaderHeight","HeaderHeightContext"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,OAAO,IAAIC,0BAApB,QAAsD,yCAAtD;AAEA;AACA;AACA;;AACA,SAASD,OAAO,IAAIE,eAApB,QAA2C,yBAA3C;AAEA;AACA;AACA;;AACA,SAASF,OAAO,IAAIG,eAApB,QAA2C,yBAA3C;AACA,SAASH,OAAO,IAAII,mBAApB,QAA+C,6BAA/C;AAEA;AACA;AACA","sourcesContent":["/**\n * Navigators\n */\nexport { default as createNativeStackNavigator } from './navigators/createNativeStackNavigator';\n\n/**\n * Views\n */\nexport { default as NativeStackView } from './views/NativeStackView';\n\n/**\n * Utilities\n */\nexport { default as useHeaderHeight } from './utils/useHeaderHeight';\nexport { default as HeaderHeightContext } from './utils/HeaderHeightContext';\n\n/**\n * Types\n */\nexport type {\n NativeStackNavigationOptions,\n NativeStackNavigationProp,\n NativeStackScreenProps,\n} from './types';\n"]}
1
+ {"version":3,"names":["default","createNativeStackNavigator","NativeStackView","useHeaderHeight","HeaderHeightContext"],"sources":["index.tsx"],"sourcesContent":["/**\n * Navigators\n */\nexport { default as createNativeStackNavigator } from './navigators/createNativeStackNavigator';\n\n/**\n * Views\n */\nexport { default as NativeStackView } from './views/NativeStackView';\n\n/**\n * Utilities\n */\nexport { default as useHeaderHeight } from './utils/useHeaderHeight';\nexport { default as HeaderHeightContext } from './utils/HeaderHeightContext';\n\n/**\n * Types\n */\nexport type {\n NativeStackNavigationOptions,\n NativeStackNavigationProp,\n NativeStackScreenProps,\n} from './types';\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,OAAO,IAAIC,0BAA0B,QAAQ,yCAAyC;;AAE/F;AACA;AACA;AACA,SAASD,OAAO,IAAIE,eAAe,QAAQ,yBAAyB;;AAEpE;AACA;AACA;AACA,SAASF,OAAO,IAAIG,eAAe,QAAQ,yBAAyB;AACpE,SAASH,OAAO,IAAII,mBAAmB,QAAQ,6BAA6B;;AAE5E;AACA;AACA"}
@@ -1,15 +1,14 @@
1
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
-
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); }
3
2
  import { createNavigatorFactory, StackActions, StackRouter, useNavigationBuilder } from '@react-navigation/native';
4
3
  import * as React from 'react';
5
4
  import NativeStackView from '../views/NativeStackView';
6
-
7
- function NativeStackNavigator({
8
- initialRouteName,
9
- children,
10
- screenOptions,
11
- ...rest
12
- }) {
5
+ function NativeStackNavigator(_ref) {
6
+ let {
7
+ initialRouteName,
8
+ children,
9
+ screenOptions,
10
+ ...rest
11
+ } = _ref;
13
12
  const {
14
13
  state,
15
14
  descriptors,
@@ -18,9 +17,10 @@ function NativeStackNavigator({
18
17
  initialRouteName,
19
18
  children,
20
19
  screenOptions
21
- }); // Starting from React Navigation v6, `native-stack` should be imported from
22
- // `@react-navigation/native-stack` rather than `react-native-screens/native-stack`
20
+ });
23
21
 
22
+ // Starting from React Navigation v6, `native-stack` should be imported from
23
+ // `@react-navigation/native-stack` rather than `react-native-screens/native-stack`
24
24
  React.useEffect(() => {
25
25
  // @ts-ignore navigation.dangerouslyGetParent was removed in v6
26
26
  if ((navigation === null || navigation === void 0 ? void 0 : navigation.dangerouslyGetParent) === undefined) {
@@ -29,16 +29,17 @@ function NativeStackNavigator({
29
29
  }, [navigation]);
30
30
  React.useEffect(() => {
31
31
  var _navigation$addListen;
32
-
33
32
  return navigation === null || navigation === void 0 ? void 0 : (_navigation$addListen = navigation.addListener) === null || _navigation$addListen === void 0 ? void 0 : _navigation$addListen.call(navigation, 'tabPress', e => {
34
- const isFocused = navigation.isFocused(); // Run the operation in the next frame so we're sure all listeners have been run
35
- // This is necessary to know if preventDefault() has been called
33
+ const isFocused = navigation.isFocused();
36
34
 
35
+ // Run the operation in the next frame so we're sure all listeners have been run
36
+ // This is necessary to know if preventDefault() has been called
37
37
  requestAnimationFrame(() => {
38
38
  if (state.index > 0 && isFocused && !e.defaultPrevented) {
39
39
  // When user taps on already focused tab and we're inside the tab,
40
40
  // reset the stack to replicate native behaviour
41
- navigation.dispatch({ ...StackActions.popToTop(),
41
+ navigation.dispatch({
42
+ ...StackActions.popToTop(),
42
43
  target: state.key
43
44
  });
44
45
  }
@@ -51,6 +52,5 @@ function NativeStackNavigator({
51
52
  descriptors: descriptors
52
53
  }));
53
54
  }
54
-
55
55
  export default createNavigatorFactory(NativeStackNavigator);
56
56
  //# sourceMappingURL=createNativeStackNavigator.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["createNativeStackNavigator.tsx"],"names":["createNavigatorFactory","StackActions","StackRouter","useNavigationBuilder","React","NativeStackView","NativeStackNavigator","initialRouteName","children","screenOptions","rest","state","descriptors","navigation","useEffect","dangerouslyGetParent","undefined","console","warn","addListener","e","isFocused","requestAnimationFrame","index","defaultPrevented","dispatch","popToTop","target","key"],"mappings":";;AAAA,SACEA,sBADF,EAGEC,YAHF,EAMEC,WANF,EASEC,oBATF,QAUO,0BAVP;AAWA,OAAO,KAAKC,KAAZ,MAAuB,OAAvB;AAMA,OAAOC,eAAP,MAA4B,0BAA5B;;AAEA,SAASC,oBAAT,CAA8B;AAC5BC,EAAAA,gBAD4B;AAE5BC,EAAAA,QAF4B;AAG5BC,EAAAA,aAH4B;AAI5B,KAAGC;AAJyB,CAA9B,EAK8B;AAC5B,QAAM;AAAEC,IAAAA,KAAF;AAASC,IAAAA,WAAT;AAAsBC,IAAAA;AAAtB,MAAqCV,oBAAoB,CAM7DD,WAN6D,EAMhD;AACbK,IAAAA,gBADa;AAEbC,IAAAA,QAFa;AAGbC,IAAAA;AAHa,GANgD,CAA/D,CAD4B,CAa5B;AACA;;AACAL,EAAAA,KAAK,CAACU,SAAN,CAAgB,MAAM;AACpB;AACA,QAAI,CAAAD,UAAU,SAAV,IAAAA,UAAU,WAAV,YAAAA,UAAU,CAAEE,oBAAZ,MAAqCC,SAAzC,EAAoD;AAClDC,MAAAA,OAAO,CAACC,IAAR,CACE,2LADF;AAGD;AACF,GAPD,EAOG,CAACL,UAAD,CAPH;AASAT,EAAAA,KAAK,CAACU,SAAN,CACE;AAAA;;AAAA,WACED,UADF,aACEA,UADF,gDACEA,UAAU,CAAEM,WADd,0DACE,2BAAAN,UAAU,EAAgB,UAAhB,EAA6BO,CAAD,IAAO;AAC3C,YAAMC,SAAS,GAAGR,UAAU,CAACQ,SAAX,EAAlB,CAD2C,CAG3C;AACA;;AACAC,MAAAA,qBAAqB,CAAC,MAAM;AAC1B,YACEX,KAAK,CAACY,KAAN,GAAc,CAAd,IACAF,SADA,IAEA,CAAED,CAAD,CAAkCI,gBAHrC,EAIE;AACA;AACA;AACAX,UAAAA,UAAU,CAACY,QAAX,CAAoB,EAClB,GAAGxB,YAAY,CAACyB,QAAb,EADe;AAElBC,YAAAA,MAAM,EAAEhB,KAAK,CAACiB;AAFI,WAApB;AAID;AACF,OAboB,CAArB;AAcD,KAnBS,CADZ;AAAA,GADF,EAsBE,CAACf,UAAD,EAAaF,KAAK,CAACY,KAAnB,EAA0BZ,KAAK,CAACiB,GAAhC,CAtBF;AAyBA,sBACE,oBAAC,eAAD,eACMlB,IADN;AAEE,IAAA,KAAK,EAAEC,KAFT;AAGE,IAAA,UAAU,EAAEE,UAHd;AAIE,IAAA,WAAW,EAAED;AAJf,KADF;AAQD;;AAED,eAAeZ,sBAAsB,CAKnCM,oBALmC,CAArC","sourcesContent":["import {\n createNavigatorFactory,\n EventArg,\n StackActions,\n StackActionHelpers,\n StackNavigationState,\n StackRouter,\n StackRouterOptions,\n ParamListBase,\n useNavigationBuilder,\n} from '@react-navigation/native';\nimport * as React from 'react';\nimport {\n NativeStackNavigationEventMap,\n NativeStackNavigationOptions,\n NativeStackNavigatorProps,\n} from '../types';\nimport NativeStackView from '../views/NativeStackView';\n\nfunction NativeStackNavigator({\n initialRouteName,\n children,\n screenOptions,\n ...rest\n}: NativeStackNavigatorProps) {\n const { state, descriptors, navigation } = useNavigationBuilder<\n StackNavigationState<ParamListBase>,\n StackRouterOptions,\n StackActionHelpers<ParamListBase>,\n NativeStackNavigationOptions,\n NativeStackNavigationEventMap\n >(StackRouter, {\n initialRouteName,\n children,\n screenOptions,\n });\n\n // Starting from React Navigation v6, `native-stack` should be imported from\n // `@react-navigation/native-stack` rather than `react-native-screens/native-stack`\n React.useEffect(() => {\n // @ts-ignore navigation.dangerouslyGetParent was removed in v6\n if (navigation?.dangerouslyGetParent === undefined) {\n console.warn(\n 'Looks like you are importing `native-stack` from `react-native-screens/native-stack`. Since version 6 of `react-navigation`, it should be imported from `@react-navigation/native-stack`.'\n );\n }\n }, [navigation]);\n\n React.useEffect(\n () =>\n navigation?.addListener?.('tabPress', (e) => {\n const isFocused = navigation.isFocused();\n\n // Run the operation in the next frame so we're sure all listeners have been run\n // This is necessary to know if preventDefault() has been called\n requestAnimationFrame(() => {\n if (\n state.index > 0 &&\n isFocused &&\n !(e as EventArg<'tabPress', true>).defaultPrevented\n ) {\n // When user taps on already focused tab and we're inside the tab,\n // reset the stack to replicate native behaviour\n navigation.dispatch({\n ...StackActions.popToTop(),\n target: state.key,\n });\n }\n });\n }),\n [navigation, state.index, state.key]\n );\n\n return (\n <NativeStackView\n {...rest}\n state={state}\n navigation={navigation}\n descriptors={descriptors}\n />\n );\n}\n\nexport default createNavigatorFactory<\n StackNavigationState<ParamListBase>,\n NativeStackNavigationOptions,\n NativeStackNavigationEventMap,\n typeof NativeStackNavigator\n>(NativeStackNavigator);\n"]}
1
+ {"version":3,"names":["createNavigatorFactory","StackActions","StackRouter","useNavigationBuilder","React","NativeStackView","NativeStackNavigator","initialRouteName","children","screenOptions","rest","state","descriptors","navigation","useEffect","dangerouslyGetParent","undefined","console","warn","addListener","e","isFocused","requestAnimationFrame","index","defaultPrevented","dispatch","popToTop","target","key"],"sources":["createNativeStackNavigator.tsx"],"sourcesContent":["import {\n createNavigatorFactory,\n EventArg,\n StackActions,\n StackActionHelpers,\n StackNavigationState,\n StackRouter,\n StackRouterOptions,\n ParamListBase,\n useNavigationBuilder,\n} from '@react-navigation/native';\nimport * as React from 'react';\nimport {\n NativeStackNavigationEventMap,\n NativeStackNavigationOptions,\n NativeStackNavigatorProps,\n} from '../types';\nimport NativeStackView from '../views/NativeStackView';\n\nfunction NativeStackNavigator({\n initialRouteName,\n children,\n screenOptions,\n ...rest\n}: NativeStackNavigatorProps) {\n const { state, descriptors, navigation } = useNavigationBuilder<\n StackNavigationState<ParamListBase>,\n StackRouterOptions,\n StackActionHelpers<ParamListBase>,\n NativeStackNavigationOptions,\n NativeStackNavigationEventMap\n >(StackRouter, {\n initialRouteName,\n children,\n screenOptions,\n });\n\n // Starting from React Navigation v6, `native-stack` should be imported from\n // `@react-navigation/native-stack` rather than `react-native-screens/native-stack`\n React.useEffect(() => {\n // @ts-ignore navigation.dangerouslyGetParent was removed in v6\n if (navigation?.dangerouslyGetParent === undefined) {\n console.warn(\n 'Looks like you are importing `native-stack` from `react-native-screens/native-stack`. Since version 6 of `react-navigation`, it should be imported from `@react-navigation/native-stack`.'\n );\n }\n }, [navigation]);\n\n React.useEffect(\n () =>\n navigation?.addListener?.('tabPress', (e) => {\n const isFocused = navigation.isFocused();\n\n // Run the operation in the next frame so we're sure all listeners have been run\n // This is necessary to know if preventDefault() has been called\n requestAnimationFrame(() => {\n if (\n state.index > 0 &&\n isFocused &&\n !(e as EventArg<'tabPress', true>).defaultPrevented\n ) {\n // When user taps on already focused tab and we're inside the tab,\n // reset the stack to replicate native behaviour\n navigation.dispatch({\n ...StackActions.popToTop(),\n target: state.key,\n });\n }\n });\n }),\n [navigation, state.index, state.key]\n );\n\n return (\n <NativeStackView\n {...rest}\n state={state}\n navigation={navigation}\n descriptors={descriptors}\n />\n );\n}\n\nexport default createNavigatorFactory<\n StackNavigationState<ParamListBase>,\n NativeStackNavigationOptions,\n NativeStackNavigationEventMap,\n typeof NativeStackNavigator\n>(NativeStackNavigator);\n"],"mappings":";AAAA,SACEA,sBAAsB,EAEtBC,YAAY,EAGZC,WAAW,EAGXC,oBAAoB,QACf,0BAA0B;AACjC,OAAO,KAAKC,KAAK,MAAM,OAAO;AAM9B,OAAOC,eAAe,MAAM,0BAA0B;AAEtD,SAASC,oBAAoB,OAKC;EAAA,IALA;IAC5BC,gBAAgB;IAChBC,QAAQ;IACRC,aAAa;IACb,GAAGC;EACsB,CAAC;EAC1B,MAAM;IAAEC,KAAK;IAAEC,WAAW;IAAEC;EAAW,CAAC,GAAGV,oBAAoB,CAM7DD,WAAW,EAAE;IACbK,gBAAgB;IAChBC,QAAQ;IACRC;EACF,CAAC,CAAC;;EAEF;EACA;EACAL,KAAK,CAACU,SAAS,CAAC,MAAM;IACpB;IACA,IAAI,CAAAD,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEE,oBAAoB,MAAKC,SAAS,EAAE;MAClDC,OAAO,CAACC,IAAI,CACV,2LAA2L,CAC5L;IACH;EACF,CAAC,EAAE,CAACL,UAAU,CAAC,CAAC;EAEhBT,KAAK,CAACU,SAAS,CACb;IAAA;IAAA,OACED,UAAU,aAAVA,UAAU,gDAAVA,UAAU,CAAEM,WAAW,0DAAvB,2BAAAN,UAAU,EAAgB,UAAU,EAAGO,CAAC,IAAK;MAC3C,MAAMC,SAAS,GAAGR,UAAU,CAACQ,SAAS,EAAE;;MAExC;MACA;MACAC,qBAAqB,CAAC,MAAM;QAC1B,IACEX,KAAK,CAACY,KAAK,GAAG,CAAC,IACfF,SAAS,IACT,CAAED,CAAC,CAAgCI,gBAAgB,EACnD;UACA;UACA;UACAX,UAAU,CAACY,QAAQ,CAAC;YAClB,GAAGxB,YAAY,CAACyB,QAAQ,EAAE;YAC1BC,MAAM,EAAEhB,KAAK,CAACiB;UAChB,CAAC,CAAC;QACJ;MACF,CAAC,CAAC;IACJ,CAAC,CAAC;EAAA,GACJ,CAACf,UAAU,EAAEF,KAAK,CAACY,KAAK,EAAEZ,KAAK,CAACiB,GAAG,CAAC,CACrC;EAED,oBACE,oBAAC,eAAe,eACVlB,IAAI;IACR,KAAK,EAAEC,KAAM;IACb,UAAU,EAAEE,UAAW;IACvB,WAAW,EAAED;EAAY,GACzB;AAEN;AAEA,eAAeZ,sBAAsB,CAKnCM,oBAAoB,CAAC"}
@@ -1,2 +1,2 @@
1
-
1
+ export {};
2
2
  //# sourceMappingURL=types.js.map