@react-navigation/stack 7.0.0-alpha.0 → 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 (207) hide show
  1. package/lib/commonjs/TransitionConfigs/CardStyleInterpolators.js +4 -5
  2. package/lib/commonjs/TransitionConfigs/CardStyleInterpolators.js.map +1 -1
  3. package/lib/commonjs/TransitionConfigs/HeaderStyleInterpolators.js +19 -12
  4. package/lib/commonjs/TransitionConfigs/HeaderStyleInterpolators.js.map +1 -1
  5. package/lib/commonjs/TransitionConfigs/TransitionPresets.js +11 -21
  6. package/lib/commonjs/TransitionConfigs/TransitionPresets.js.map +1 -1
  7. package/lib/commonjs/TransitionConfigs/TransitionSpecs.js +7 -14
  8. package/lib/commonjs/TransitionConfigs/TransitionSpecs.js.map +1 -1
  9. package/lib/commonjs/index.js +16 -17
  10. package/lib/commonjs/index.js.map +1 -1
  11. package/lib/commonjs/navigators/createStackNavigator.js +35 -28
  12. package/lib/commonjs/navigators/createStackNavigator.js.map +1 -1
  13. package/lib/commonjs/types.js.map +1 -1
  14. package/lib/commonjs/utils/CardAnimationContext.js +4 -5
  15. package/lib/commonjs/utils/CardAnimationContext.js.map +1 -1
  16. package/lib/commonjs/utils/GestureHandlerRefContext.js +4 -5
  17. package/lib/commonjs/utils/GestureHandlerRefContext.js.map +1 -1
  18. package/lib/commonjs/utils/ModalPresentationContext.js +4 -6
  19. package/lib/commonjs/utils/ModalPresentationContext.js.map +1 -1
  20. package/lib/commonjs/utils/conditional.js +1 -1
  21. package/lib/commonjs/utils/conditional.js.map +1 -1
  22. package/lib/commonjs/utils/debounce.js +1 -1
  23. package/lib/commonjs/utils/debounce.js.map +1 -1
  24. package/lib/commonjs/utils/findLastIndex.js +2 -2
  25. package/lib/commonjs/utils/findLastIndex.js.map +1 -1
  26. package/lib/commonjs/utils/getDistanceForDirection.js +4 -5
  27. package/lib/commonjs/utils/getDistanceForDirection.js.map +1 -1
  28. package/lib/commonjs/utils/getInvertedMultiplier.js +4 -5
  29. package/lib/commonjs/utils/getInvertedMultiplier.js.map +1 -1
  30. package/lib/commonjs/utils/memoize.js +1 -1
  31. package/lib/commonjs/utils/memoize.js.map +1 -1
  32. package/lib/commonjs/utils/useCardAnimation.js +5 -6
  33. package/lib/commonjs/utils/useCardAnimation.js.map +1 -1
  34. package/lib/commonjs/utils/useGestureHandlerRef.js +5 -6
  35. package/lib/commonjs/utils/useGestureHandlerRef.js.map +1 -1
  36. package/lib/commonjs/utils/useKeyboardManager.js +7 -7
  37. package/lib/commonjs/utils/useKeyboardManager.js.map +1 -1
  38. package/lib/commonjs/views/GestureHandler.android.js.map +1 -1
  39. package/lib/commonjs/views/GestureHandler.ios.js.map +1 -1
  40. package/lib/commonjs/views/GestureHandler.js +5 -8
  41. package/lib/commonjs/views/GestureHandler.js.map +1 -1
  42. package/lib/commonjs/views/GestureHandlerNative.js +4 -5
  43. package/lib/commonjs/views/GestureHandlerNative.js.map +1 -1
  44. package/lib/commonjs/views/Header/Header.js +11 -12
  45. package/lib/commonjs/views/Header/Header.js.map +1 -1
  46. package/lib/commonjs/views/Header/HeaderContainer.js +15 -13
  47. package/lib/commonjs/views/Header/HeaderContainer.js.map +1 -1
  48. package/lib/commonjs/views/Header/HeaderSegment.js +14 -7
  49. package/lib/commonjs/views/Header/HeaderSegment.js.map +1 -1
  50. package/lib/commonjs/views/Screens.js +2 -2
  51. package/lib/commonjs/views/Screens.js.map +1 -1
  52. package/lib/commonjs/views/Stack/Card.js +236 -234
  53. package/lib/commonjs/views/Stack/Card.js.map +1 -1
  54. package/lib/commonjs/views/Stack/CardContainer.js +33 -30
  55. package/lib/commonjs/views/Stack/CardContainer.js.map +1 -1
  56. package/lib/commonjs/views/Stack/CardSheet.js +25 -5
  57. package/lib/commonjs/views/Stack/CardSheet.js.map +1 -1
  58. package/lib/commonjs/views/Stack/CardStack.js +131 -136
  59. package/lib/commonjs/views/Stack/CardStack.js.map +1 -1
  60. package/lib/commonjs/views/Stack/StackView.js +153 -164
  61. package/lib/commonjs/views/Stack/StackView.js.map +1 -1
  62. package/lib/module/TransitionConfigs/CardStyleInterpolators.js +1 -1
  63. package/lib/module/TransitionConfigs/CardStyleInterpolators.js.map +1 -1
  64. package/lib/module/TransitionConfigs/HeaderStyleInterpolators.js +20 -13
  65. package/lib/module/TransitionConfigs/HeaderStyleInterpolators.js.map +1 -1
  66. package/lib/module/TransitionConfigs/TransitionPresets.js +1 -1
  67. package/lib/module/TransitionConfigs/TransitionPresets.js.map +1 -1
  68. package/lib/module/TransitionConfigs/TransitionSpecs.js.map +1 -1
  69. package/lib/module/index.js +7 -7
  70. package/lib/module/index.js.map +1 -1
  71. package/lib/module/navigators/createStackNavigator.js +32 -23
  72. package/lib/module/navigators/createStackNavigator.js.map +1 -1
  73. package/lib/module/types.js.map +1 -1
  74. package/lib/module/utils/CardAnimationContext.js +1 -1
  75. package/lib/module/utils/CardAnimationContext.js.map +1 -1
  76. package/lib/module/utils/GestureHandlerRefContext.js +1 -1
  77. package/lib/module/utils/GestureHandlerRefContext.js.map +1 -1
  78. package/lib/module/utils/ModalPresentationContext.js +1 -2
  79. package/lib/module/utils/ModalPresentationContext.js.map +1 -1
  80. package/lib/module/utils/conditional.js +1 -1
  81. package/lib/module/utils/conditional.js.map +1 -1
  82. package/lib/module/utils/debounce.js +1 -1
  83. package/lib/module/utils/debounce.js.map +1 -1
  84. package/lib/module/utils/findLastIndex.js +2 -2
  85. package/lib/module/utils/findLastIndex.js.map +1 -1
  86. package/lib/module/utils/getDistanceForDirection.js +3 -3
  87. package/lib/module/utils/getDistanceForDirection.js.map +1 -1
  88. package/lib/module/utils/getInvertedMultiplier.js +3 -4
  89. package/lib/module/utils/getInvertedMultiplier.js.map +1 -1
  90. package/lib/module/utils/memoize.js +1 -1
  91. package/lib/module/utils/memoize.js.map +1 -1
  92. package/lib/module/utils/useCardAnimation.js +2 -2
  93. package/lib/module/utils/useCardAnimation.js.map +1 -1
  94. package/lib/module/utils/useGestureHandlerRef.js +3 -3
  95. package/lib/module/utils/useGestureHandlerRef.js.map +1 -1
  96. package/lib/module/utils/useKeyboardManager.js +5 -5
  97. package/lib/module/utils/useKeyboardManager.js.map +1 -1
  98. package/lib/module/views/GestureHandler.android.js.map +1 -1
  99. package/lib/module/views/GestureHandler.ios.js.map +1 -1
  100. package/lib/module/views/GestureHandler.js.map +1 -1
  101. package/lib/module/views/GestureHandlerNative.js +1 -1
  102. package/lib/module/views/GestureHandlerNative.js.map +1 -1
  103. package/lib/module/views/Header/Header.js +5 -4
  104. package/lib/module/views/Header/Header.js.map +1 -1
  105. package/lib/module/views/Header/HeaderContainer.js +13 -10
  106. package/lib/module/views/Header/HeaderContainer.js.map +1 -1
  107. package/lib/module/views/Header/HeaderSegment.js +11 -3
  108. package/lib/module/views/Header/HeaderSegment.js.map +1 -1
  109. package/lib/module/views/Screens.js.map +1 -1
  110. package/lib/module/views/Stack/Card.js +231 -228
  111. package/lib/module/views/Stack/Card.js.map +1 -1
  112. package/lib/module/views/Stack/CardContainer.js +28 -23
  113. package/lib/module/views/Stack/CardContainer.js.map +1 -1
  114. package/lib/module/views/Stack/CardSheet.js +22 -1
  115. package/lib/module/views/Stack/CardSheet.js.map +1 -1
  116. package/lib/module/views/Stack/CardStack.js +124 -128
  117. package/lib/module/views/Stack/CardStack.js.map +1 -1
  118. package/lib/module/views/Stack/StackView.js +149 -159
  119. package/lib/module/views/Stack/StackView.js.map +1 -1
  120. package/lib/typescript/src/TransitionConfigs/HeaderStyleInterpolators.d.ts +3 -3
  121. package/lib/typescript/src/TransitionConfigs/HeaderStyleInterpolators.d.ts.map +1 -1
  122. package/lib/typescript/src/index.d.ts +7 -7
  123. package/lib/typescript/src/index.d.ts.map +1 -1
  124. package/lib/typescript/src/navigators/createStackNavigator.d.ts +6 -6
  125. package/lib/typescript/src/navigators/createStackNavigator.d.ts.map +1 -1
  126. package/lib/typescript/src/types.d.ts +47 -9
  127. package/lib/typescript/src/types.d.ts.map +1 -1
  128. package/lib/typescript/src/utils/CardAnimationContext.d.ts +1 -2
  129. package/lib/typescript/src/utils/CardAnimationContext.d.ts.map +1 -1
  130. package/lib/typescript/src/utils/GestureHandlerRefContext.d.ts +1 -2
  131. package/lib/typescript/src/utils/GestureHandlerRefContext.d.ts.map +1 -1
  132. package/lib/typescript/src/utils/ModalPresentationContext.d.ts +1 -2
  133. package/lib/typescript/src/utils/ModalPresentationContext.d.ts.map +1 -1
  134. package/lib/typescript/src/utils/conditional.d.ts +1 -1
  135. package/lib/typescript/src/utils/conditional.d.ts.map +1 -1
  136. package/lib/typescript/src/utils/debounce.d.ts +1 -1
  137. package/lib/typescript/src/utils/debounce.d.ts.map +1 -1
  138. package/lib/typescript/src/utils/findLastIndex.d.ts +1 -1
  139. package/lib/typescript/src/utils/findLastIndex.d.ts.map +1 -1
  140. package/lib/typescript/src/utils/getDistanceForDirection.d.ts +1 -1
  141. package/lib/typescript/src/utils/getDistanceForDirection.d.ts.map +1 -1
  142. package/lib/typescript/src/utils/getInvertedMultiplier.d.ts +1 -1
  143. package/lib/typescript/src/utils/getInvertedMultiplier.d.ts.map +1 -1
  144. package/lib/typescript/src/utils/memoize.d.ts +1 -1
  145. package/lib/typescript/src/utils/memoize.d.ts.map +1 -1
  146. package/lib/typescript/src/utils/useCardAnimation.d.ts +1 -1
  147. package/lib/typescript/src/utils/useCardAnimation.d.ts.map +1 -1
  148. package/lib/typescript/src/utils/useGestureHandlerRef.d.ts +1 -1
  149. package/lib/typescript/src/utils/useGestureHandlerRef.d.ts.map +1 -1
  150. package/lib/typescript/src/utils/useKeyboardManager.d.ts +1 -1
  151. package/lib/typescript/src/utils/useKeyboardManager.d.ts.map +1 -1
  152. package/lib/typescript/src/views/GestureHandlerNative.d.ts +3 -3
  153. package/lib/typescript/src/views/GestureHandlerNative.d.ts.map +1 -1
  154. package/lib/typescript/src/views/Header/Header.d.ts +1 -2
  155. package/lib/typescript/src/views/Header/Header.d.ts.map +1 -1
  156. package/lib/typescript/src/views/Header/HeaderContainer.d.ts +4 -4
  157. package/lib/typescript/src/views/Header/HeaderContainer.d.ts.map +1 -1
  158. package/lib/typescript/src/views/Header/HeaderSegment.d.ts +3 -2
  159. package/lib/typescript/src/views/Header/HeaderSegment.d.ts.map +1 -1
  160. package/lib/typescript/src/views/Screens.d.ts +4 -3
  161. package/lib/typescript/src/views/Screens.d.ts.map +1 -1
  162. package/lib/typescript/src/views/Stack/Card.d.ts +7 -6
  163. package/lib/typescript/src/views/Stack/Card.d.ts.map +1 -1
  164. package/lib/typescript/src/views/Stack/CardContainer.d.ts +5 -8
  165. package/lib/typescript/src/views/Stack/CardContainer.d.ts.map +1 -1
  166. package/lib/typescript/src/views/Stack/CardSheet.d.ts +2 -3
  167. package/lib/typescript/src/views/Stack/CardSheet.d.ts.map +1 -1
  168. package/lib/typescript/src/views/Stack/CardStack.d.ts +5 -6
  169. package/lib/typescript/src/views/Stack/CardStack.d.ts.map +1 -1
  170. package/lib/typescript/src/views/Stack/StackView.d.ts +10 -81
  171. package/lib/typescript/src/views/Stack/StackView.d.ts.map +1 -1
  172. package/package.json +20 -21
  173. package/src/TransitionConfigs/CardStyleInterpolators.tsx +6 -6
  174. package/src/TransitionConfigs/HeaderStyleInterpolators.tsx +32 -22
  175. package/src/TransitionConfigs/TransitionPresets.tsx +4 -4
  176. package/src/index.tsx +7 -7
  177. package/src/navigators/createStackNavigator.tsx +20 -9
  178. package/src/types.tsx +50 -10
  179. package/src/utils/CardAnimationContext.tsx +3 -3
  180. package/src/utils/GestureHandlerRefContext.tsx +1 -1
  181. package/src/utils/ModalPresentationContext.tsx +1 -3
  182. package/src/utils/conditional.tsx +1 -1
  183. package/src/utils/debounce.tsx +1 -1
  184. package/src/utils/findLastIndex.tsx +2 -5
  185. package/src/utils/getDistanceForDirection.tsx +5 -4
  186. package/src/utils/getInvertedMultiplier.tsx +5 -6
  187. package/src/utils/memoize.tsx +1 -1
  188. package/src/utils/useCardAnimation.tsx +2 -2
  189. package/src/utils/useGestureHandlerRef.tsx +3 -3
  190. package/src/utils/useKeyboardManager.tsx +2 -2
  191. package/src/views/GestureHandlerNative.tsx +2 -2
  192. package/src/views/Header/Header.tsx +7 -6
  193. package/src/views/Header/HeaderContainer.tsx +19 -8
  194. package/src/views/Header/HeaderSegment.tsx +14 -6
  195. package/src/views/Screens.tsx +2 -1
  196. package/src/views/Stack/Card.tsx +80 -61
  197. package/src/views/Stack/CardContainer.tsx +23 -14
  198. package/src/views/Stack/CardSheet.tsx +58 -35
  199. package/src/views/Stack/CardStack.tsx +220 -190
  200. package/src/views/Stack/StackView.tsx +29 -31
  201. package/lib/commonjs/views/ModalStatusBarManager.js +0 -44
  202. package/lib/commonjs/views/ModalStatusBarManager.js.map +0 -1
  203. package/lib/module/views/ModalStatusBarManager.js +0 -36
  204. package/lib/module/views/ModalStatusBarManager.js.map +0 -1
  205. package/lib/typescript/src/views/ModalStatusBarManager.d.ts +0 -12
  206. package/lib/typescript/src/views/ModalStatusBarManager.d.ts.map +0 -1
  207. package/src/views/ModalStatusBarManager.tsx +0 -50
@@ -1,17 +1,12 @@
1
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
3
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
4
1
  import { Background, getDefaultHeaderHeight, SafeAreaProviderCompat } from '@react-navigation/elements';
5
- import Color from 'color';
6
2
  import * as React from 'react';
7
3
  import { Animated, Platform, StyleSheet } from 'react-native';
8
4
  import { forModalPresentationIOS, forNoAnimation as forNoAnimationCard } from '../../TransitionConfigs/CardStyleInterpolators';
9
5
  import { DefaultTransition, ModalFadeTransition, ModalTransition } from '../../TransitionConfigs/TransitionPresets';
10
- import findLastIndex from '../../utils/findLastIndex';
11
- import getDistanceForDirection from '../../utils/getDistanceForDirection';
6
+ import { findLastIndex } from '../../utils/findLastIndex';
7
+ import { getDistanceForDirection } from '../../utils/getDistanceForDirection';
12
8
  import { MaybeScreen, MaybeScreenContainer } from '../Screens';
13
- import { getIsModalPresentation } from './Card';
14
- import CardContainer from './CardContainer';
9
+ import { CardContainer } from './CardContainer';
15
10
  const EPSILON = 1e-5;
16
11
  const STATE_INACTIVE = 0;
17
12
  const STATE_TRANSITIONING_OR_BELOW_TOP = 1;
@@ -27,8 +22,7 @@ const getInterpolationIndex = (scenes, index) => {
27
22
  // Start from current card and count backwards the number of cards with same interpolation
28
23
  let interpolationIndex = 0;
29
24
  for (let i = index - 1; i >= 0; i--) {
30
- var _scenes$i;
31
- const cardStyleInterpolatorCurrent = (_scenes$i = scenes[i]) === null || _scenes$i === void 0 ? void 0 : _scenes$i.descriptor.options.cardStyleInterpolator;
25
+ const cardStyleInterpolatorCurrent = scenes[i]?.descriptor.options.cardStyleInterpolator;
32
26
  if (cardStyleInterpolatorCurrent !== cardStyleInterpolator) {
33
27
  break;
34
28
  }
@@ -36,6 +30,11 @@ const getInterpolationIndex = (scenes, index) => {
36
30
  }
37
31
  return interpolationIndex;
38
32
  };
33
+ const getIsModalPresentation = cardStyleInterpolator => {
34
+ return cardStyleInterpolator === forModalPresentationIOS ||
35
+ // Handle custom modal presentation interpolators as well
36
+ cardStyleInterpolator.name === 'forModalPresentationIOS';
37
+ };
39
38
  const getIsModal = (scene, interpolationIndex, isParentModal) => {
40
39
  if (isParentModal) {
41
40
  return true;
@@ -61,20 +60,20 @@ const getHeaderHeights = (scenes, insets, isParentHeaderShown, isParentModal, la
61
60
  return acc;
62
61
  }, {});
63
62
  };
64
- const getDistanceFromOptions = (layout, descriptor) => {
63
+ const getDistanceFromOptions = (layout, descriptor, isRTL) => {
65
64
  const {
66
65
  presentation,
67
66
  gestureDirection = presentation === 'modal' ? ModalTransition.gestureDirection : DefaultTransition.gestureDirection
68
- } = (descriptor === null || descriptor === void 0 ? void 0 : descriptor.options) || {};
69
- return getDistanceForDirection(layout, gestureDirection);
67
+ } = descriptor?.options || {};
68
+ return getDistanceForDirection(layout, gestureDirection, isRTL);
70
69
  };
71
- const getProgressFromGesture = (gesture, layout, descriptor) => {
70
+ const getProgressFromGesture = (gesture, layout, descriptor, isRTL) => {
72
71
  const distance = getDistanceFromOptions({
73
72
  // Make sure that we have a non-zero distance, otherwise there will be incorrect progress
74
73
  // This causes blank screen on web if it was previously inside container with display: none
75
74
  width: Math.max(1, layout.width),
76
75
  height: Math.max(1, layout.height)
77
- }, descriptor);
76
+ }, descriptor, isRTL);
78
77
  if (distance > 0) {
79
78
  return gesture.interpolate({
80
79
  inputRange: [0, distance],
@@ -86,38 +85,40 @@ const getProgressFromGesture = (gesture, layout, descriptor) => {
86
85
  outputRange: [0, 1]
87
86
  });
88
87
  };
89
- export default class CardStack extends React.Component {
88
+ export class CardStack extends React.Component {
90
89
  static getDerivedStateFromProps(props, state) {
91
90
  if (props.routes === state.routes && props.descriptors === state.descriptors) {
92
91
  return null;
93
92
  }
94
- const gestures = props.routes.reduce((acc, curr) => {
95
- const descriptor = props.descriptors[curr.key];
93
+ const gestures = [...props.routes, ...props.state.preloadedRoutes].reduce((acc, curr) => {
94
+ const descriptor = props.descriptors[curr.key] || props.preloadedDescriptors[curr.key];
96
95
  const {
97
96
  animationEnabled
98
- } = (descriptor === null || descriptor === void 0 ? void 0 : descriptor.options) || {};
99
- acc[curr.key] = state.gestures[curr.key] || new Animated.Value(props.openingRouteKeys.includes(curr.key) && animationEnabled !== false ? getDistanceFromOptions(state.layout, descriptor) : 0);
97
+ } = descriptor?.options || {};
98
+ acc[curr.key] = state.gestures[curr.key] || new Animated.Value(props.openingRouteKeys.includes(curr.key) && animationEnabled !== false || props.state.preloadedRoutes.includes(curr) ? getDistanceFromOptions(state.layout, descriptor, props.direction === 'rtl') : 0);
100
99
  return acc;
101
100
  }, {});
102
- const scenes = props.routes.map((route, index, self) => {
103
- const previousRoute = self[index - 1];
104
- const nextRoute = self[index + 1];
101
+ const scenes = [...props.routes, ...props.state.preloadedRoutes].map((route, index, self) => {
102
+ // For preloaded screens, we don't care about the previous and the next screen
103
+ const isPreloaded = props.state.preloadedRoutes.includes(route);
104
+ const previousRoute = isPreloaded ? undefined : self[index - 1];
105
+ const nextRoute = isPreloaded ? undefined : self[index + 1];
105
106
  const oldScene = state.scenes[index];
106
107
  const currentGesture = gestures[route.key];
107
108
  const previousGesture = previousRoute ? gestures[previousRoute.key] : undefined;
108
109
  const nextGesture = nextRoute ? gestures[nextRoute.key] : undefined;
109
- const descriptor = props.descriptors[route.key] || state.descriptors[route.key] || (oldScene ? oldScene.descriptor : FALLBACK_DESCRIPTOR);
110
- const nextDescriptor = props.descriptors[nextRoute === null || nextRoute === void 0 ? void 0 : nextRoute.key] || state.descriptors[nextRoute === null || nextRoute === void 0 ? void 0 : nextRoute.key];
111
- const previousDescriptor = props.descriptors[previousRoute === null || previousRoute === void 0 ? void 0 : previousRoute.key] || state.descriptors[previousRoute === null || previousRoute === void 0 ? void 0 : previousRoute.key];
110
+ const descriptor = (isPreloaded ? props.preloadedDescriptors : props.descriptors)[route.key] || state.descriptors[route.key] || (oldScene ? oldScene.descriptor : FALLBACK_DESCRIPTOR);
111
+ const nextDescriptor = nextRoute && (props.descriptors[nextRoute?.key] || state.descriptors[nextRoute?.key]);
112
+ const previousDescriptor = previousRoute && (props.descriptors[previousRoute?.key] || state.descriptors[previousRoute?.key]);
112
113
 
113
114
  // When a screen is not the last, it should use next screen's transition config
114
115
  // Many transitions also animate the previous screen, so using 2 different transitions doesn't look right
115
116
  // For example combining a slide and a modal transition would look wrong otherwise
116
117
  // With this approach, combining different transition styles in the same navigator mostly looks right
117
118
  // This will still be broken when 2 transitions have different idle state (e.g. modal presentation),
118
- // but majority of the transitions look alright
119
+ // but the majority of the transitions look alright
119
120
  const optionsForTransitionConfig = index !== self.length - 1 && nextDescriptor && nextDescriptor.options.presentation !== 'transparentModal' ? nextDescriptor.options : descriptor.options;
120
- let defaultTransitionPreset = optionsForTransitionConfig.presentation === 'modal' ? ModalTransition : optionsForTransitionConfig.presentation === 'transparentModal' ? ModalFadeTransition : DefaultTransition;
121
+ const defaultTransitionPreset = optionsForTransitionConfig.presentation === 'modal' ? ModalTransition : optionsForTransitionConfig.presentation === 'transparentModal' ? ModalFadeTransition : DefaultTransition;
121
122
  const {
122
123
  animationEnabled = Platform.OS !== 'web' && Platform.OS !== 'windows' && Platform.OS !== 'macos',
123
124
  gestureEnabled = Platform.OS === 'ios' && animationEnabled,
@@ -127,7 +128,8 @@ export default class CardStack extends React.Component {
127
128
  headerStyleInterpolator = defaultTransitionPreset.headerStyleInterpolator,
128
129
  cardOverlayEnabled = Platform.OS !== 'ios' && optionsForTransitionConfig.presentation !== 'transparentModal' || getIsModalPresentation(cardStyleInterpolator)
129
130
  } = optionsForTransitionConfig;
130
- const headerMode = descriptor.options.headerMode ?? (!(optionsForTransitionConfig.presentation === 'modal' || optionsForTransitionConfig.presentation === 'transparentModal' || (nextDescriptor === null || nextDescriptor === void 0 ? void 0 : nextDescriptor.options.presentation) === 'modal' || (nextDescriptor === null || nextDescriptor === void 0 ? void 0 : nextDescriptor.options.presentation) === 'transparentModal' || getIsModalPresentation(cardStyleInterpolator)) && Platform.OS === 'ios' && descriptor.options.header === undefined ? 'float' : 'screen');
131
+ const headerMode = descriptor.options.headerMode ?? (!(optionsForTransitionConfig.presentation === 'modal' || optionsForTransitionConfig.presentation === 'transparentModal' || nextDescriptor?.options.presentation === 'modal' || nextDescriptor?.options.presentation === 'transparentModal' || getIsModalPresentation(cardStyleInterpolator)) && Platform.OS === 'ios' && descriptor.options.header === undefined ? 'float' : 'screen');
132
+ const isRTL = props.direction === 'rtl';
131
133
  const scene = {
132
134
  route,
133
135
  descriptor: {
@@ -145,9 +147,9 @@ export default class CardStack extends React.Component {
145
147
  }
146
148
  },
147
149
  progress: {
148
- current: getProgressFromGesture(currentGesture, state.layout, descriptor),
149
- next: nextGesture && (nextDescriptor === null || nextDescriptor === void 0 ? void 0 : nextDescriptor.options.presentation) !== 'transparentModal' ? getProgressFromGesture(nextGesture, state.layout, nextDescriptor) : undefined,
150
- previous: previousGesture ? getProgressFromGesture(previousGesture, state.layout, previousDescriptor) : undefined
150
+ current: getProgressFromGesture(currentGesture, state.layout, descriptor, isRTL),
151
+ next: nextGesture && nextDescriptor?.options.presentation !== 'transparentModal' ? getProgressFromGesture(nextGesture, state.layout, nextDescriptor, isRTL) : undefined,
152
+ previous: previousGesture ? getProgressFromGesture(previousGesture, state.layout, previousDescriptor, isRTL) : undefined
151
153
  },
152
154
  __memo: [state.layout, descriptor, nextDescriptor, previousDescriptor, currentGesture, nextGesture, previousGesture]
153
155
  };
@@ -167,73 +169,8 @@ export default class CardStack extends React.Component {
167
169
  headerHeights: getHeaderHeights(scenes, props.insets, props.isParentHeaderShown, props.isParentModal, state.layout, state.headerHeights)
168
170
  };
169
171
  }
170
- constructor(_props) {
171
- super(_props);
172
- _defineProperty(this, "handleLayout", e => {
173
- const {
174
- height,
175
- width
176
- } = e.nativeEvent.layout;
177
- const layout = {
178
- width,
179
- height
180
- };
181
- this.setState((state, props) => {
182
- if (height === state.layout.height && width === state.layout.width) {
183
- return null;
184
- }
185
- return {
186
- layout,
187
- headerHeights: getHeaderHeights(state.scenes, props.insets, props.isParentHeaderShown, props.isParentModal, layout, state.headerHeights)
188
- };
189
- });
190
- });
191
- _defineProperty(this, "handleHeaderLayout", _ref => {
192
- let {
193
- route,
194
- height
195
- } = _ref;
196
- this.setState(_ref2 => {
197
- let {
198
- headerHeights
199
- } = _ref2;
200
- const previousHeight = headerHeights[route.key];
201
- if (previousHeight === height) {
202
- return null;
203
- }
204
- return {
205
- headerHeights: {
206
- ...headerHeights,
207
- [route.key]: height
208
- }
209
- };
210
- });
211
- });
212
- _defineProperty(this, "getFocusedRoute", () => {
213
- const {
214
- state
215
- } = this.props;
216
- return state.routes[state.index];
217
- });
218
- _defineProperty(this, "getPreviousScene", _ref3 => {
219
- let {
220
- route
221
- } = _ref3;
222
- const {
223
- getPreviousRoute
224
- } = this.props;
225
- const {
226
- scenes
227
- } = this.state;
228
- const previousRoute = getPreviousRoute({
229
- route
230
- });
231
- if (previousRoute) {
232
- const previousScene = scenes.find(scene => scene.descriptor.route.key === previousRoute.key);
233
- return previousScene;
234
- }
235
- return undefined;
236
- });
172
+ constructor(props) {
173
+ super(props);
237
174
  this.state = {
238
175
  routes: [],
239
176
  scenes: [],
@@ -248,6 +185,71 @@ export default class CardStack extends React.Component {
248
185
  headerHeights: {}
249
186
  };
250
187
  }
188
+ handleLayout = e => {
189
+ const {
190
+ height,
191
+ width
192
+ } = e.nativeEvent.layout;
193
+ const layout = {
194
+ width,
195
+ height
196
+ };
197
+ this.setState((state, props) => {
198
+ if (height === state.layout.height && width === state.layout.width) {
199
+ return null;
200
+ }
201
+ return {
202
+ layout,
203
+ headerHeights: getHeaderHeights(state.scenes, props.insets, props.isParentHeaderShown, props.isParentModal, layout, state.headerHeights)
204
+ };
205
+ });
206
+ };
207
+ handleHeaderLayout = _ref => {
208
+ let {
209
+ route,
210
+ height
211
+ } = _ref;
212
+ this.setState(_ref2 => {
213
+ let {
214
+ headerHeights
215
+ } = _ref2;
216
+ const previousHeight = headerHeights[route.key];
217
+ if (previousHeight === height) {
218
+ return null;
219
+ }
220
+ return {
221
+ headerHeights: {
222
+ ...headerHeights,
223
+ [route.key]: height
224
+ }
225
+ };
226
+ });
227
+ };
228
+ getFocusedRoute = () => {
229
+ const {
230
+ state
231
+ } = this.props;
232
+ return state.routes[state.index];
233
+ };
234
+ getPreviousScene = _ref3 => {
235
+ let {
236
+ route
237
+ } = _ref3;
238
+ const {
239
+ getPreviousRoute
240
+ } = this.props;
241
+ const {
242
+ scenes
243
+ } = this.state;
244
+ const previousRoute = getPreviousRoute({
245
+ route
246
+ });
247
+ if (previousRoute) {
248
+ const previousScene = scenes.find(scene => scene.descriptor.route.key === previousRoute.key);
249
+ return previousScene;
250
+ }
251
+ return undefined;
252
+ };
251
253
  render() {
252
254
  const {
253
255
  insets,
@@ -257,7 +259,6 @@ export default class CardStack extends React.Component {
257
259
  onOpenRoute,
258
260
  onCloseRoute,
259
261
  renderHeader,
260
- renderScene,
261
262
  isParentHeaderShown,
262
263
  isParentModal,
263
264
  onTransitionStart,
@@ -298,7 +299,7 @@ export default class CardStack extends React.Component {
298
299
  const {
299
300
  cardStyleInterpolator
300
301
  } = scene.descriptor.options;
301
- return cardStyleInterpolator === forModalPresentationIOS || (cardStyleInterpolator === null || cardStyleInterpolator === void 0 ? void 0 : cardStyleInterpolator.name) === 'forModalPresentationIOS';
302
+ return cardStyleInterpolator === forModalPresentationIOS || cardStyleInterpolator?.name === 'forModalPresentationIOS';
302
303
  }) : true
303
304
  } = options;
304
305
  if (detachPreviousScreen === false) {
@@ -331,24 +332,31 @@ export default class CardStack extends React.Component {
331
332
  enabled: detachInactiveScreens,
332
333
  style: styles.container,
333
334
  onLayout: this.handleLayout
334
- }, routes.map((route, index, self) => {
335
- var _scenes, _scenes2;
335
+ }, [...routes, ...state.preloadedRoutes].map((route, index) => {
336
336
  const focused = focusedRoute.key === route.key;
337
337
  const gesture = gestures[route.key];
338
338
  const scene = scenes[index];
339
+ // It is possible that for a short period the route appears in both arrays.
340
+ // Particularly, if the screen is removed with `retain`, then it needs a moment to execute the animation.
341
+ // However, due to the router action, it immediately populates the `preloadedRoutes` array.
342
+ // Practically, the logic below takes care that it is rendered only once.
343
+ const isPreloaded = state.preloadedRoutes.includes(route) && !routes.includes(route);
344
+ if (state.preloadedRoutes.includes(route) && routes.includes(route) && index >= routes.length) {
345
+ return null;
346
+ }
339
347
 
340
348
  // For the screens that shouldn't be active, the value is 0
341
349
  // For those that should be active, but are not the top screen, the value is 1
342
350
  // For those on top of the stack and with interaction enabled, the value is 2
343
351
  // For the old implementation, it stays the same it was
344
352
  let isScreenActive = 1;
345
- if (index < self.length - activeScreensLimit - 1) {
353
+ if (index < routes.length - activeScreensLimit - 1 || isPreloaded) {
346
354
  // screen should be inactive because it is too deep in the stack
347
355
  isScreenActive = STATE_INACTIVE;
348
356
  } else {
349
- const sceneForActivity = scenes[self.length - 1];
350
- const outputValue = index === self.length - 1 ? STATE_ON_TOP // the screen is on top after the transition
351
- : index >= self.length - activeScreensLimit ? STATE_TRANSITIONING_OR_BELOW_TOP // the screen should stay active after the transition, it is not on top but is in activeLimit
357
+ const sceneForActivity = scenes[routes.length - 1];
358
+ const outputValue = index === routes.length - 1 ? STATE_ON_TOP // the screen is on top after the transition
359
+ : index >= routes.length - activeScreensLimit ? STATE_TRANSITIONING_OR_BELOW_TOP // the screen should stay active after the transition, it is not on top but is in activeLimit
352
360
  : STATE_INACTIVE; // the screen should be active only during the transition, it is at the edge of activeLimit
353
361
  isScreenActive = sceneForActivity ? sceneForActivity.progress.current.interpolate({
354
362
  inputRange: [0, 1 - EPSILON, 1],
@@ -359,44 +367,33 @@ export default class CardStack extends React.Component {
359
367
  const {
360
368
  headerShown = true,
361
369
  headerTransparent,
362
- headerStyle,
363
- headerTintColor,
364
- freezeOnBlur
370
+ freezeOnBlur,
371
+ autoHideHomeIndicator
365
372
  } = scene.descriptor.options;
366
373
  const safeAreaInsetTop = insets.top;
367
374
  const safeAreaInsetRight = insets.right;
368
375
  const safeAreaInsetBottom = insets.bottom;
369
376
  const safeAreaInsetLeft = insets.left;
370
377
  const headerHeight = headerShown !== false ? headerHeights[route.key] : 0;
371
- let headerDarkContent;
372
- if (headerShown) {
373
- if (typeof headerTintColor === 'string') {
374
- headerDarkContent = Color(headerTintColor).isDark();
375
- } else {
376
- const flattenedHeaderStyle = StyleSheet.flatten(headerStyle);
377
- if (flattenedHeaderStyle && 'backgroundColor' in flattenedHeaderStyle && typeof flattenedHeaderStyle.backgroundColor === 'string') {
378
- headerDarkContent = !Color(flattenedHeaderStyle.backgroundColor).isDark();
379
- }
380
- }
381
- }
382
378
 
383
379
  // Start from current card and count backwards the number of cards with same interpolation
384
380
  const interpolationIndex = getInterpolationIndex(scenes, index);
385
381
  const isModal = getIsModal(scene, interpolationIndex, isParentModal);
386
- const isNextScreenTransparent = ((_scenes = scenes[index + 1]) === null || _scenes === void 0 ? void 0 : _scenes.descriptor.options.presentation) === 'transparentModal';
387
- const detachCurrentScreen = ((_scenes2 = scenes[index + 1]) === null || _scenes2 === void 0 ? void 0 : _scenes2.descriptor.options.detachPreviousScreen) !== false;
382
+ const isNextScreenTransparent = scenes[index + 1]?.descriptor.options.presentation === 'transparentModal';
383
+ const detachCurrentScreen = scenes[index + 1]?.descriptor.options.detachPreviousScreen !== false;
388
384
  return /*#__PURE__*/React.createElement(MaybeScreen, {
389
385
  key: route.key,
390
- style: StyleSheet.absoluteFill,
386
+ style: [StyleSheet.absoluteFill],
391
387
  enabled: detachInactiveScreens,
392
388
  active: isScreenActive,
393
389
  freezeOnBlur: freezeOnBlur,
390
+ homeIndicatorHidden: autoHideHomeIndicator,
394
391
  pointerEvents: "box-none"
395
392
  }, /*#__PURE__*/React.createElement(CardContainer, {
396
393
  index: index,
397
394
  interpolationIndex: interpolationIndex,
398
395
  modal: isModal,
399
- active: index === self.length - 1,
396
+ active: index === routes.length - 1,
400
397
  focused: focused,
401
398
  closing: closingRouteKeys.includes(route.key),
402
399
  layout: layout,
@@ -414,16 +411,15 @@ export default class CardStack extends React.Component {
414
411
  onHeaderHeightChange: this.handleHeaderLayout,
415
412
  getPreviousScene: this.getPreviousScene,
416
413
  getFocusedRoute: this.getFocusedRoute,
417
- headerDarkContent: headerDarkContent,
418
414
  hasAbsoluteFloatHeader: isFloatHeaderAbsolute && !headerTransparent,
419
415
  renderHeader: renderHeader,
420
- renderScene: renderScene,
421
416
  onOpenRoute: onOpenRoute,
422
417
  onCloseRoute: onCloseRoute,
423
418
  onTransitionStart: onTransitionStart,
424
419
  onTransitionEnd: onTransitionEnd,
425
420
  isNextScreenTransparent: isNextScreenTransparent,
426
- detachCurrentScreen: detachCurrentScreen
421
+ detachCurrentScreen: detachCurrentScreen,
422
+ preloaded: isPreloaded
427
423
  }));
428
424
  })), isFloatHeaderAbsolute ? floatingHeader : null);
429
425
  }
@@ -1 +1 @@
1
- {"version":3,"names":["Background","getDefaultHeaderHeight","SafeAreaProviderCompat","Color","React","Animated","Platform","StyleSheet","forModalPresentationIOS","forNoAnimation","forNoAnimationCard","DefaultTransition","ModalFadeTransition","ModalTransition","findLastIndex","getDistanceForDirection","MaybeScreen","MaybeScreenContainer","getIsModalPresentation","CardContainer","EPSILON","STATE_INACTIVE","STATE_TRANSITIONING_OR_BELOW_TOP","STATE_ON_TOP","FALLBACK_DESCRIPTOR","Object","freeze","options","getInterpolationIndex","scenes","index","cardStyleInterpolator","descriptor","interpolationIndex","i","cardStyleInterpolatorCurrent","getIsModal","scene","isParentModal","isModalPresentation","isModal","getHeaderHeights","insets","isParentHeaderShown","layout","previous","reduce","acc","curr","headerStatusBarHeight","top","headerStyle","style","flatten","height","route","key","getDistanceFromOptions","presentation","gestureDirection","getProgressFromGesture","gesture","distance","width","Math","max","interpolate","inputRange","outputRange","CardStack","Component","getDerivedStateFromProps","props","state","routes","descriptors","gestures","animationEnabled","Value","openingRouteKeys","includes","map","self","previousRoute","nextRoute","oldScene","currentGesture","previousGesture","undefined","nextGesture","nextDescriptor","previousDescriptor","optionsForTransitionConfig","length","defaultTransitionPreset","OS","gestureEnabled","transitionSpec","headerStyleInterpolator","cardOverlayEnabled","headerMode","header","progress","current","next","__memo","every","it","headerHeights","constructor","e","nativeEvent","setState","previousHeight","getPreviousRoute","previousScene","find","initialMetrics","frame","render","closingRouteKeys","onOpenRoute","onCloseRoute","renderHeader","renderScene","onTransitionStart","onTransitionEnd","onGestureStart","onGestureEnd","onGestureCancel","detachInactiveScreens","focusedRoute","focusedHeaderHeight","isFloatHeaderAbsolute","slice","some","headerTransparent","headerShown","activeScreensLimit","detachPreviousScreen","name","floatingHeader","mode","getPreviousScene","getFocusedRoute","onContentHeightChange","handleHeaderLayout","styles","floating","absolute","container","handleLayout","focused","isScreenActive","sceneForActivity","outputValue","extrapolate","headerTintColor","freezeOnBlur","safeAreaInsetTop","safeAreaInsetRight","right","safeAreaInsetBottom","bottom","safeAreaInsetLeft","left","headerHeight","headerDarkContent","isDark","flattenedHeaderStyle","backgroundColor","isNextScreenTransparent","detachCurrentScreen","absoluteFill","create","flex","position","zIndex"],"sourceRoot":"../../src","sources":["CardStack.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["Background","getDefaultHeaderHeight","SafeAreaProviderCompat","React","Animated","Platform","StyleSheet","forModalPresentationIOS","forNoAnimation","forNoAnimationCard","DefaultTransition","ModalFadeTransition","ModalTransition","findLastIndex","getDistanceForDirection","MaybeScreen","MaybeScreenContainer","CardContainer","EPSILON","STATE_INACTIVE","STATE_TRANSITIONING_OR_BELOW_TOP","STATE_ON_TOP","FALLBACK_DESCRIPTOR","Object","freeze","options","getInterpolationIndex","scenes","index","cardStyleInterpolator","descriptor","interpolationIndex","i","cardStyleInterpolatorCurrent","getIsModalPresentation","name","getIsModal","scene","isParentModal","isModalPresentation","isModal","getHeaderHeights","insets","isParentHeaderShown","layout","previous","reduce","acc","curr","headerStatusBarHeight","top","headerStyle","style","flatten","height","route","key","getDistanceFromOptions","isRTL","presentation","gestureDirection","getProgressFromGesture","gesture","distance","width","Math","max","interpolate","inputRange","outputRange","CardStack","Component","getDerivedStateFromProps","props","state","routes","descriptors","gestures","preloadedRoutes","preloadedDescriptors","animationEnabled","Value","openingRouteKeys","includes","direction","map","self","isPreloaded","previousRoute","undefined","nextRoute","oldScene","currentGesture","previousGesture","nextGesture","nextDescriptor","previousDescriptor","optionsForTransitionConfig","length","defaultTransitionPreset","OS","gestureEnabled","transitionSpec","headerStyleInterpolator","cardOverlayEnabled","headerMode","header","progress","current","next","__memo","every","it","headerHeights","constructor","initialMetrics","frame","handleLayout","e","nativeEvent","setState","handleHeaderLayout","_ref","_ref2","previousHeight","getFocusedRoute","getPreviousScene","_ref3","getPreviousRoute","previousScene","find","render","closingRouteKeys","onOpenRoute","onCloseRoute","renderHeader","onTransitionStart","onTransitionEnd","onGestureStart","onGestureEnd","onGestureCancel","detachInactiveScreens","focusedRoute","focusedHeaderHeight","isFloatHeaderAbsolute","slice","some","headerTransparent","headerShown","activeScreensLimit","detachPreviousScreen","floatingHeader","createElement","Fragment","mode","onContentHeightChange","styles","floating","absolute","enabled","container","onLayout","focused","isScreenActive","sceneForActivity","outputValue","extrapolate","freezeOnBlur","autoHideHomeIndicator","safeAreaInsetTop","safeAreaInsetRight","right","safeAreaInsetBottom","bottom","safeAreaInsetLeft","left","headerHeight","isNextScreenTransparent","detachCurrentScreen","absoluteFill","active","homeIndicatorHidden","pointerEvents","modal","closing","onHeaderHeightChange","hasAbsoluteFloatHeader","preloaded","create","flex","position","zIndex"],"sourceRoot":"../../../../src","sources":["views/Stack/CardStack.tsx"],"mappings":"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"}