@react-navigation/stack 8.0.0-alpha.5 → 8.0.0-alpha.51

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 (133) hide show
  1. package/lib/module/TransitionConfigs/CardStyleInterpolators.js +36 -0
  2. package/lib/module/TransitionConfigs/CardStyleInterpolators.js.map +1 -1
  3. package/lib/module/index.js +2 -2
  4. package/lib/module/index.js.map +1 -1
  5. package/lib/module/navigators/createStackNavigator.js +3 -7
  6. package/lib/module/navigators/createStackNavigator.js.map +1 -1
  7. package/lib/module/utils/GestureHandlerContext.js +5 -0
  8. package/lib/module/utils/GestureHandlerContext.js.map +1 -0
  9. package/lib/module/utils/gestureActivationCriteria.js +10 -8
  10. package/lib/module/utils/gestureActivationCriteria.js.map +1 -1
  11. package/lib/module/utils/useCardAnimation.js +1 -1
  12. package/lib/module/utils/useCardAnimation.js.map +1 -1
  13. package/lib/module/utils/useGestureHandler.js +9 -0
  14. package/lib/module/utils/useGestureHandler.js.map +1 -0
  15. package/lib/module/utils/useKeyboardManager.js +71 -26
  16. package/lib/module/utils/useKeyboardManager.js.map +1 -1
  17. package/lib/module/views/GestureHandler.js +15 -14
  18. package/lib/module/views/GestureHandler.js.map +1 -1
  19. package/lib/module/views/GestureHandlerNative.js +16 -10
  20. package/lib/module/views/GestureHandlerNative.js.map +1 -1
  21. package/lib/module/views/Header/Header.js +2 -2
  22. package/lib/module/views/Header/Header.js.map +1 -1
  23. package/lib/module/views/Header/HeaderContainer.js +52 -18
  24. package/lib/module/views/Header/HeaderContainer.js.map +1 -1
  25. package/lib/module/views/Header/HeaderSegment.js +3 -3
  26. package/lib/module/views/Header/HeaderSegment.js.map +1 -1
  27. package/lib/module/views/Stack/Card.js +108 -93
  28. package/lib/module/views/Stack/Card.js.map +1 -1
  29. package/lib/module/views/Stack/CardContainer.js +72 -98
  30. package/lib/module/views/Stack/CardContainer.js.map +1 -1
  31. package/lib/module/views/Stack/CardContent.js +2 -0
  32. package/lib/module/views/Stack/CardContent.js.map +1 -1
  33. package/lib/module/views/Stack/CardStack.js +183 -132
  34. package/lib/module/views/Stack/CardStack.js.map +1 -1
  35. package/lib/module/views/Stack/StackView.js +103 -54
  36. package/lib/module/views/Stack/StackView.js.map +1 -1
  37. package/lib/typescript/src/TransitionConfigs/CardStyleInterpolators.d.ts +1 -1
  38. package/lib/typescript/src/TransitionConfigs/CardStyleInterpolators.d.ts.map +1 -1
  39. package/lib/typescript/src/TransitionConfigs/HeaderStyleInterpolators.d.ts +1 -1
  40. package/lib/typescript/src/TransitionConfigs/HeaderStyleInterpolators.d.ts.map +1 -1
  41. package/lib/typescript/src/TransitionConfigs/TransitionPresets.d.ts +1 -1
  42. package/lib/typescript/src/TransitionConfigs/TransitionPresets.d.ts.map +1 -1
  43. package/lib/typescript/src/TransitionConfigs/TransitionSpecs.d.ts +1 -1
  44. package/lib/typescript/src/TransitionConfigs/TransitionSpecs.d.ts.map +1 -1
  45. package/lib/typescript/src/index.d.ts +12 -12
  46. package/lib/typescript/src/index.d.ts.map +1 -1
  47. package/lib/typescript/src/navigators/createStackNavigator.d.ts +10 -15
  48. package/lib/typescript/src/navigators/createStackNavigator.d.ts.map +1 -1
  49. package/lib/typescript/src/types.d.ts +52 -55
  50. package/lib/typescript/src/types.d.ts.map +1 -1
  51. package/lib/typescript/src/utils/CardAnimationContext.d.ts +1 -1
  52. package/lib/typescript/src/utils/CardAnimationContext.d.ts.map +1 -1
  53. package/lib/typescript/src/utils/GestureHandlerContext.d.ts +3 -0
  54. package/lib/typescript/src/utils/GestureHandlerContext.d.ts.map +1 -0
  55. package/lib/typescript/src/utils/gestureActivationCriteria.d.ts +4 -51
  56. package/lib/typescript/src/utils/gestureActivationCriteria.d.ts.map +1 -1
  57. package/lib/typescript/src/utils/getDistanceForDirection.d.ts +1 -1
  58. package/lib/typescript/src/utils/getDistanceForDirection.d.ts.map +1 -1
  59. package/lib/typescript/src/utils/getInvertedMultiplier.d.ts +1 -1
  60. package/lib/typescript/src/utils/getInvertedMultiplier.d.ts.map +1 -1
  61. package/lib/typescript/src/utils/getModalRoutesKeys.d.ts +1 -1
  62. package/lib/typescript/src/utils/getModalRoutesKeys.d.ts.map +1 -1
  63. package/lib/typescript/src/utils/getShadowStyle.d.ts +5 -5
  64. package/lib/typescript/src/utils/useCardAnimation.d.ts +1 -1
  65. package/lib/typescript/src/utils/useCardAnimation.d.ts.map +1 -1
  66. package/lib/typescript/src/utils/useGestureHandler.d.ts +2 -0
  67. package/lib/typescript/src/utils/useGestureHandler.d.ts.map +1 -0
  68. package/lib/typescript/src/utils/useKeyboardManager.d.ts +12 -2
  69. package/lib/typescript/src/utils/useKeyboardManager.d.ts.map +1 -1
  70. package/lib/typescript/src/views/GestureHandler.android.d.ts +1 -1
  71. package/lib/typescript/src/views/GestureHandler.android.d.ts.map +1 -1
  72. package/lib/typescript/src/views/GestureHandler.d.ts +7 -11
  73. package/lib/typescript/src/views/GestureHandler.d.ts.map +1 -1
  74. package/lib/typescript/src/views/GestureHandler.ios.d.ts +1 -1
  75. package/lib/typescript/src/views/GestureHandler.ios.d.ts.map +1 -1
  76. package/lib/typescript/src/views/GestureHandlerNative.d.ts +9 -4
  77. package/lib/typescript/src/views/GestureHandlerNative.d.ts.map +1 -1
  78. package/lib/typescript/src/views/Header/Header.d.ts +2 -2
  79. package/lib/typescript/src/views/Header/Header.d.ts.map +1 -1
  80. package/lib/typescript/src/views/Header/HeaderContainer.d.ts +9 -3
  81. package/lib/typescript/src/views/Header/HeaderContainer.d.ts.map +1 -1
  82. package/lib/typescript/src/views/Header/HeaderSegment.d.ts +5 -4
  83. package/lib/typescript/src/views/Header/HeaderSegment.d.ts.map +1 -1
  84. package/lib/typescript/src/views/Stack/Card.d.ts +5 -5
  85. package/lib/typescript/src/views/Stack/Card.d.ts.map +1 -1
  86. package/lib/typescript/src/views/Stack/CardContainer.d.ts +5 -7
  87. package/lib/typescript/src/views/Stack/CardContainer.d.ts.map +1 -1
  88. package/lib/typescript/src/views/Stack/CardContent.d.ts +1 -1
  89. package/lib/typescript/src/views/Stack/CardContent.d.ts.map +1 -1
  90. package/lib/typescript/src/views/Stack/CardStack.d.ts +9 -6
  91. package/lib/typescript/src/views/Stack/CardStack.d.ts.map +1 -1
  92. package/lib/typescript/src/views/Stack/StackView.d.ts +14 -17
  93. package/lib/typescript/src/views/Stack/StackView.d.ts.map +1 -1
  94. package/package.json +23 -24
  95. package/src/TransitionConfigs/CardStyleInterpolators.tsx +44 -0
  96. package/src/index.tsx +3 -2
  97. package/src/navigators/createStackNavigator.tsx +9 -40
  98. package/src/types.tsx +79 -75
  99. package/src/utils/GestureHandlerContext.tsx +5 -0
  100. package/src/utils/gestureActivationCriteria.tsx +14 -10
  101. package/src/utils/useCardAnimation.tsx +1 -1
  102. package/src/utils/useGestureHandler.tsx +9 -0
  103. package/src/utils/useKeyboardManager.tsx +96 -33
  104. package/src/views/GestureHandler.tsx +27 -16
  105. package/src/views/GestureHandlerNative.tsx +26 -12
  106. package/src/views/Header/Header.tsx +2 -2
  107. package/src/views/Header/HeaderContainer.tsx +69 -33
  108. package/src/views/Header/HeaderSegment.tsx +6 -7
  109. package/src/views/Stack/Card.tsx +154 -119
  110. package/src/views/Stack/CardContainer.tsx +86 -127
  111. package/src/views/Stack/CardContent.tsx +1 -0
  112. package/src/views/Stack/CardStack.tsx +409 -330
  113. package/src/views/Stack/StackView.tsx +176 -79
  114. package/lib/module/utils/GestureHandlerRefContext.js +0 -5
  115. package/lib/module/utils/GestureHandlerRefContext.js.map +0 -1
  116. package/lib/module/utils/findLastIndex.js +0 -11
  117. package/lib/module/utils/findLastIndex.js.map +0 -1
  118. package/lib/module/utils/useGestureHandlerRef.js +0 -12
  119. package/lib/module/utils/useGestureHandlerRef.js.map +0 -1
  120. package/lib/module/views/Stack/CardA11yWrapper.js +0 -43
  121. package/lib/module/views/Stack/CardA11yWrapper.js.map +0 -1
  122. package/lib/typescript/src/utils/GestureHandlerRefContext.d.ts +0 -3
  123. package/lib/typescript/src/utils/GestureHandlerRefContext.d.ts.map +0 -1
  124. package/lib/typescript/src/utils/findLastIndex.d.ts +0 -2
  125. package/lib/typescript/src/utils/findLastIndex.d.ts.map +0 -1
  126. package/lib/typescript/src/utils/useGestureHandlerRef.d.ts +0 -3
  127. package/lib/typescript/src/utils/useGestureHandlerRef.d.ts.map +0 -1
  128. package/lib/typescript/src/views/Stack/CardA11yWrapper.d.ts +0 -15
  129. package/lib/typescript/src/views/Stack/CardA11yWrapper.d.ts.map +0 -1
  130. package/src/utils/GestureHandlerRefContext.tsx +0 -5
  131. package/src/utils/findLastIndex.tsx +0 -9
  132. package/src/utils/useGestureHandlerRef.tsx +0 -15
  133. package/src/views/Stack/CardA11yWrapper.tsx +0 -67
@@ -1,13 +1,11 @@
1
1
  "use strict";
2
2
 
3
3
  import { getDefaultHeaderHeight } from '@react-navigation/elements';
4
- import { SafeAreaProviderCompat } from '@react-navigation/elements/internal';
4
+ import { ActivityView, SafeAreaProviderCompat } from '@react-navigation/elements/internal';
5
5
  import * as React from 'react';
6
6
  import { Animated, Platform, StyleSheet, View } from 'react-native';
7
- import { Screen, ScreenContainer } from 'react-native-screens';
8
7
  import { forModalPresentationIOS, forNoAnimation as forNoAnimationCard } from "../../TransitionConfigs/CardStyleInterpolators.js";
9
8
  import { BottomSheetAndroid, DefaultTransition, FadeFromBottomAndroid, FadeFromRightAndroid, ModalFadeTransition, ModalSlideFromBottomIOS, ModalTransition, RevealFromBottomAndroid, ScaleFromCenterAndroid, SlideFromLeftIOS, SlideFromRightIOS } from "../../TransitionConfigs/TransitionPresets.js";
10
- import { findLastIndex } from "../../utils/findLastIndex.js";
11
9
  import { getDistanceForDirection } from "../../utils/getDistanceForDirection.js";
12
10
  import { getModalRouteKeys } from "../../utils/getModalRoutesKeys.js";
13
11
  import { CardContainer } from "./CardContainer.js";
@@ -27,17 +25,18 @@ const NAMED_TRANSITIONS_PRESETS = {
27
25
  default: BottomSheetAndroid
28
26
  })
29
27
  };
30
- const EPSILON = 1e-5;
31
- const STATE_INACTIVE = 0;
32
- const STATE_TRANSITIONING_OR_BELOW_TOP = 1;
33
- const STATE_ON_TOP = 2;
34
- const FALLBACK_DESCRIPTOR = Object.freeze({
35
- options: {}
36
- });
28
+ const HIDDEN_HEADER_HEIGHT = {
29
+ measured: false,
30
+ value: 0
31
+ };
37
32
  const getInterpolationIndex = (scenes, index) => {
33
+ const scene = scenes[index];
34
+ if (scene == null) {
35
+ throw new Error(`Couldn't find a scene at index ${index}.`);
36
+ }
38
37
  const {
39
38
  cardStyleInterpolator
40
- } = scenes[index].descriptor.options;
39
+ } = scene.descriptor.options;
41
40
 
42
41
  // Start from current card and count backwards the number of cards with same interpolation
43
42
  let interpolationIndex = 0;
@@ -55,7 +54,7 @@ const getIsModalPresentation = cardStyleInterpolator => {
55
54
  // Handle custom modal presentation interpolators as well
56
55
  cardStyleInterpolator.name === 'forModalPresentationIOS';
57
56
  };
58
- const getIsModal = (scene, interpolationIndex, isParentModal) => {
57
+ const getIsInModalPresentation = (scene, interpolationIndex, isParentModal) => {
59
58
  if (isParentModal) {
60
59
  return true;
61
60
  }
@@ -72,15 +71,33 @@ const getHeaderHeights = (scenes, insets, isParentHeaderShown, isParentModal, la
72
71
  headerStatusBarHeight = isParentHeaderShown ? 0 : insets.top,
73
72
  headerStyle
74
73
  } = curr.descriptor.options;
75
- const style = StyleSheet.flatten(headerStyle || {});
76
- const height = 'height' in style && typeof style.height === 'number' ? style.height : previous[curr.route.key];
74
+ const style = StyleSheet.flatten(headerStyle);
75
+ const height = style != null && 'height' in style && typeof style.height === 'number' ? style.height : undefined;
77
76
  const interpolationIndex = getInterpolationIndex(scenes, index);
78
- const isModal = getIsModal(curr, interpolationIndex, isParentModal);
79
- acc[curr.route.key] = typeof height === 'number' ? height : getDefaultHeaderHeight({
80
- landscape: layout.width > layout.height,
81
- modalPresentation: isModal,
82
- topInset: headerStatusBarHeight
83
- });
77
+ const isModal = getIsInModalPresentation(curr, interpolationIndex, isParentModal);
78
+ if (typeof height === 'number') {
79
+ acc[curr.route.key] = {
80
+ measured: true,
81
+ value: height
82
+ };
83
+ } else {
84
+ const previousHeight = previous[curr.route.key];
85
+ const defaultHeight = getDefaultHeaderHeight({
86
+ landscape: layout.width > layout.height,
87
+ modalPresentation: isModal,
88
+ topInset: headerStatusBarHeight
89
+ });
90
+
91
+ // If we hadn't measured before, use re-computed default height
92
+ if (!previousHeight?.measured && defaultHeight !== previousHeight?.value) {
93
+ acc[curr.route.key] = {
94
+ measured: false,
95
+ value: defaultHeight
96
+ };
97
+ } else if (previousHeight) {
98
+ acc[curr.route.key] = previousHeight;
99
+ }
100
+ }
84
101
  return acc;
85
102
  }, {});
86
103
  };
@@ -118,32 +135,52 @@ function getDefaultAnimation(animation) {
118
135
  export function getAnimationEnabled(animation) {
119
136
  return getDefaultAnimation(animation) !== 'none';
120
137
  }
138
+ const getAllRoutes = (routes, state) => {
139
+ const routeKeys = new Set(routes.map(route => route.key));
140
+ const inactiveRoutes = state.routes.slice(state.index + 1);
141
+
142
+ // If a route is moved from active routes to inactive routes,
143
+ // It can still be in the local copy of `routes` until the animation ends
144
+ // So we need to deduplicate the routes to avoid rendering the same route twice
145
+ return [...routes, ...inactiveRoutes.filter(route => !routeKeys.has(route.key))];
146
+ };
147
+ const isInactiveRoute = (route, routes) =>
148
+ // `routes` contains active routes and routes animating during transitions.
149
+ // Any route added by `getAllRoutes` that's missing from this list is inactive.
150
+ !routes.some(currentRoute => currentRoute.key === route.key);
121
151
  export class CardStack extends React.Component {
122
152
  static getDerivedStateFromProps(props, state) {
123
153
  if (props.routes === state.routes && props.descriptors === state.descriptors) {
124
154
  return null;
125
155
  }
126
- const gestures = [...props.routes, ...props.state.preloadedRoutes].reduce((acc, curr) => {
156
+ const allRoutes = getAllRoutes(props.routes, props.state);
157
+ const gestures = allRoutes.reduce((acc, curr) => {
127
158
  const descriptor = props.descriptors[curr.key];
128
159
  const {
129
160
  animation
130
161
  } = descriptor?.options || {};
131
- acc[curr.key] = state.gestures[curr.key] || new Animated.Value(props.openingRouteKeys.includes(curr.key) && getAnimationEnabled(animation) || props.state.preloadedRoutes.includes(curr) ? getDistanceFromOptions(state.layout, descriptor?.options, props.direction === 'rtl') : 0);
162
+ acc[curr.key] = state.gestures[curr.key] || new Animated.Value(props.openingRouteKeys.includes(curr.key) && getAnimationEnabled(animation) || isInactiveRoute(curr, props.routes) ? getDistanceFromOptions(state.layout, descriptor?.options, props.direction === 'rtl') : 0);
132
163
  return acc;
133
164
  }, {});
134
- const modalRouteKeys = getModalRouteKeys([...props.routes, ...props.state.preloadedRoutes], props.descriptors);
135
- const scenes = [...props.routes, ...props.state.preloadedRoutes].map((route, index, self) => {
136
- // For preloaded screens, we don't care about the previous and the next screen
137
- const isPreloaded = props.state.preloadedRoutes.includes(route);
138
- const previousRoute = isPreloaded ? undefined : self[index - 1];
139
- const nextRoute = isPreloaded ? undefined : self[index + 1];
165
+ const modalRouteKeys = getModalRouteKeys(allRoutes, props.descriptors);
166
+ const scenes = allRoutes.map((route, index, self) => {
167
+ // For preloaded or retained screens, we don't care about the previous and the next screen
168
+ const isInactive = isInactiveRoute(route, props.routes);
169
+ const previousRoute = isInactive ? undefined : self[index - 1];
170
+ const nextRoute = isInactive ? undefined : self[index + 1];
140
171
  const oldScene = state.scenes[index];
141
172
  const currentGesture = gestures[route.key];
173
+ if (currentGesture == null) {
174
+ throw new Error(`Couldn't find a gesture for route '${route.key}'.`);
175
+ }
142
176
  const previousGesture = previousRoute ? gestures[previousRoute.key] : undefined;
143
177
  const nextGesture = nextRoute ? gestures[nextRoute.key] : undefined;
144
- const descriptor = props.descriptors[route.key] || state.descriptors[route.key] || (oldScene ? oldScene.descriptor : FALLBACK_DESCRIPTOR);
145
- const nextOptions = nextRoute && (props.descriptors[nextRoute?.key] || state.descriptors[nextRoute?.key])?.options;
146
- const previousOptions = previousRoute && (props.descriptors[previousRoute?.key] || state.descriptors[previousRoute?.key])?.options;
178
+ const descriptor = props.descriptors[route.key] ?? state.descriptors[route.key] ?? oldScene?.descriptor;
179
+ if (descriptor == null) {
180
+ throw new Error(`Couldn't find a descriptor for route '${route.key}'.`);
181
+ }
182
+ const nextOptions = nextRoute ? (props.descriptors[nextRoute.key] ?? state.descriptors[nextRoute.key])?.options : undefined;
183
+ const previousOptions = previousRoute ? (props.descriptors[previousRoute.key] ?? state.descriptors[previousRoute.key])?.options : undefined;
147
184
 
148
185
  // When a screen is not the last, it should use next screen's transition config
149
186
  // Many transitions also animate the previous screen, so using 2 different transitions doesn't look right
@@ -193,72 +230,17 @@ export class CardStack extends React.Component {
193
230
  __memo: [state.layout, descriptor, nextOptions, previousOptions, currentGesture, nextGesture, previousGesture]
194
231
  };
195
232
  if (oldScene && scene.__memo.every((it, i) => {
196
- // @ts-expect-error: we haven't added __memo to the annotation to prevent usage elsewhere
197
233
  return oldScene.__memo[i] === it;
198
234
  })) {
199
235
  return oldScene;
200
236
  }
201
237
  return scene;
202
238
  });
203
- let activeStates = state.activeStates;
204
- if (props.routes.length !== state.routes.length) {
205
- let activeScreensLimit = 1;
206
- for (let i = props.routes.length - 1; i >= 0; i--) {
207
- const {
208
- options
209
- } = scenes[i].descriptor;
210
- const {
211
- // By default, we don't want to detach the previous screen of the active one for modals
212
- detachPreviousScreen = options.presentation === 'transparentModal' ? false : getIsModalPresentation(options.cardStyleInterpolator) ? i !== findLastIndex(scenes, scene => {
213
- const {
214
- cardStyleInterpolator
215
- } = scene.descriptor.options;
216
- return cardStyleInterpolator === forModalPresentationIOS || cardStyleInterpolator?.name === 'forModalPresentationIOS';
217
- }) : true
218
- } = options;
219
- if (detachPreviousScreen === false) {
220
- activeScreensLimit++;
221
- } else {
222
- // Check at least last 2 screens before stopping
223
- // This will make sure that screen isn't detached when another screen is animating on top of the transparent one
224
- // e.g. opaque -> transparent -> opaque
225
- if (i <= props.routes.length - 2) {
226
- break;
227
- }
228
- }
229
- }
230
- activeStates = props.routes.map((_, index, self) => {
231
- // The activity state represents state of the screen:
232
- // 0 - inactive, the screen is detached
233
- // 1 - transitioning or below the top screen, the screen is mounted but interaction is disabled
234
- // 2 - on top of the stack, the screen is mounted and interaction is enabled
235
- let activityState;
236
- const lastActiveState = state.activeStates[index];
237
- const activeAfterTransition = index >= self.length - activeScreensLimit;
238
- if (lastActiveState === STATE_INACTIVE && !activeAfterTransition) {
239
- // screen was inactive before and it will still be inactive after the transition
240
- activityState = STATE_INACTIVE;
241
- } else {
242
- const sceneForActivity = scenes[self.length - 1];
243
- const outputValue = index === self.length - 1 ? STATE_ON_TOP // the screen is on top after the transition
244
- : activeAfterTransition ? STATE_TRANSITIONING_OR_BELOW_TOP // the screen should stay active after the transition, it is not on top but is in activeLimit
245
- : STATE_INACTIVE; // the screen should be active only during the transition, it is at the edge of activeLimit
246
-
247
- activityState = sceneForActivity ? sceneForActivity.progress.current.interpolate({
248
- inputRange: [0, 1 - EPSILON, 1],
249
- outputRange: [1, 1, outputValue],
250
- extrapolate: 'clamp'
251
- }) : STATE_TRANSITIONING_OR_BELOW_TOP;
252
- }
253
- return activityState;
254
- });
255
- }
256
239
  return {
257
240
  routes: props.routes,
258
241
  scenes,
259
242
  gestures,
260
243
  descriptors: props.descriptors,
261
- activeStates,
262
244
  headerHeights: getHeaderHeights(scenes, props.insets, props.isParentHeaderShown, props.isParentModal, state.layout, state.headerHeights)
263
245
  };
264
246
  }
@@ -270,7 +252,6 @@ export class CardStack extends React.Component {
270
252
  gestures: {},
271
253
  layout: SafeAreaProviderCompat.initialMetrics.frame,
272
254
  descriptors: this.props.descriptors,
273
- activeStates: [],
274
255
  // Used when card's header is null and mode is float to make transition
275
256
  // between screens with headers and those without headers smooth.
276
257
  // This is not a great heuristic here. We don't know synchronously
@@ -306,13 +287,16 @@ export class CardStack extends React.Component {
306
287
  headerHeights
307
288
  }) => {
308
289
  const previousHeight = headerHeights[route.key];
309
- if (previousHeight === height) {
290
+ if (previousHeight?.value === height) {
310
291
  return null;
311
292
  }
312
293
  return {
313
294
  headerHeights: {
314
295
  ...headerHeights,
315
- [route.key]: height
296
+ [route.key]: {
297
+ measured: true,
298
+ value: height
299
+ }
316
300
  }
317
301
  };
318
302
  });
@@ -321,7 +305,11 @@ export class CardStack extends React.Component {
321
305
  const {
322
306
  state
323
307
  } = this.props;
324
- return state.routes[state.index];
308
+ const route = state.routes[state.index];
309
+ if (route == null) {
310
+ throw new Error(`Couldn't find a route at index ${state.index}.`);
311
+ }
312
+ return route;
325
313
  };
326
314
  getPreviousScene = ({
327
315
  route
@@ -348,27 +336,35 @@ export class CardStack extends React.Component {
348
336
  routes,
349
337
  openingRouteKeys,
350
338
  closingRouteKeys,
339
+ replacingRouteKeys,
351
340
  onOpenRoute,
352
341
  onCloseRoute,
342
+ onGestureStart,
343
+ onGestureEnd,
344
+ onGestureCancel,
353
345
  renderHeader,
354
346
  isParentHeaderShown,
355
347
  isParentModal,
356
348
  onTransitionStart,
357
- onTransitionEnd,
358
- onGestureStart,
359
- onGestureEnd,
360
- onGestureCancel,
361
- detachInactiveScreens = Platform.OS === 'web' || Platform.OS === 'android' || Platform.OS === 'ios'
349
+ onTransitionEnd
362
350
  } = this.props;
363
351
  const {
364
352
  scenes,
365
353
  layout,
366
354
  gestures,
367
- activeStates,
368
355
  headerHeights
369
356
  } = this.state;
357
+ const allRoutes = getAllRoutes(routes, state);
370
358
  const focusedRoute = state.routes[state.index];
371
- const isFloatHeaderAbsolute = scenes.slice(-2).some(scene => {
359
+ if (focusedRoute == null) {
360
+ throw new Error(`Couldn't find a route at index ${state.index}.`);
361
+ }
362
+
363
+ // Render only two top-most active headers as a workaround for
364
+ // https://github.com/react-navigation/react-navigation/issues/12456.
365
+ // If the header is persisted, it might be placed incorrectly when navigating back
366
+ const activeHeaderScenes = scenes.filter(scene => !isInactiveRoute(scene.route, routes)).slice(-2);
367
+ const isFloatHeaderAbsolute = activeHeaderScenes.some(scene => {
372
368
  const options = scene.descriptor.options ?? {};
373
369
  const {
374
370
  headerMode,
@@ -381,68 +377,125 @@ export class CardStack extends React.Component {
381
377
  return false;
382
378
  });
383
379
  const isFloatHeaderFocused = scenes.findLast(scene => scene.route.key === focusedRoute.key)?.descriptor.options.headerMode === 'float';
380
+ const focusedHeaderHeight = headerHeights[focusedRoute.key];
384
381
  return /*#__PURE__*/_jsxs(View, {
385
382
  style: styles.container,
386
383
  children: [renderHeader({
387
384
  mode: 'float',
388
- scenes,
385
+ scenes: activeHeaderScenes,
389
386
  getPreviousScene: this.getPreviousScene,
390
387
  getFocusedRoute: this.getFocusedRoute,
388
+ contentHeight: headerHeights[focusedRoute.key],
391
389
  onContentHeightChange: this.handleHeaderLayout,
392
390
  style: [isFloatHeaderAbsolute && [styles.absolute,
393
391
  // The header title can't be found with maestro without this
394
392
  // In some cases, header buttons may not be touchable as well
395
393
  isFloatHeaderFocused && {
396
- height: headerHeights[focusedRoute.key]
394
+ height: focusedHeaderHeight?.value
397
395
  }]]
398
- }), /*#__PURE__*/_jsx(ScreenContainer, {
399
- enabled: detachInactiveScreens,
396
+ }), /*#__PURE__*/_jsx(View, {
400
397
  style: styles.container,
401
398
  onLayout: this.handleLayout,
402
- children: [...routes, ...state.preloadedRoutes].map((route, index) => {
399
+ children: allRoutes.map((route, index, self) => {
403
400
  const focused = focusedRoute.key === route.key;
404
401
  const gesture = gestures[route.key];
405
402
  const scene = scenes[index];
406
- // It is possible that for a short period the route appears in both arrays.
407
- // Particularly, if the screen is removed with `retain`, then it needs a moment to execute the animation.
408
- // However, due to the router action, it immediately populates the `preloadedRoutes` array.
409
- // Practically, the logic below takes care that it is rendered only once.
410
- const isPreloaded = state.preloadedRoutes.includes(route) && !routes.includes(route);
411
- if (state.preloadedRoutes.includes(route) && routes.includes(route) && index >= routes.length) {
412
- return null;
403
+ if (gesture == null) {
404
+ throw new Error(`Couldn't find a gesture for route '${route.key}'.`);
405
+ }
406
+ if (scene == null) {
407
+ throw new Error(`Couldn't find a scene at index ${index}.`);
413
408
  }
409
+ const nextScene = scenes[index + 1];
410
+ const nextRoute = self[index + 1];
414
411
  const {
412
+ inactiveBehavior = 'pause',
413
+ animation,
415
414
  headerShown = true,
416
- headerTransparent,
417
- freezeOnBlur,
418
- autoHideHomeIndicator
415
+ headerMode,
416
+ headerTransparent
419
417
  } = scene.descriptor.options;
420
418
  const safeAreaInsetTop = insets.top;
421
419
  const safeAreaInsetRight = insets.right;
422
420
  const safeAreaInsetBottom = insets.bottom;
423
421
  const safeAreaInsetLeft = insets.left;
424
- const headerHeight = headerShown !== false ? headerHeights[route.key] : 0;
422
+ const headerHeight = headerShown !== false ? headerHeights[route.key] : HIDDEN_HEADER_HEIGHT;
425
423
 
426
424
  // Start from current card and count backwards the number of cards with same interpolation
427
425
  const interpolationIndex = getInterpolationIndex(scenes, index);
428
- const isModal = getIsModal(scene, interpolationIndex, isParentModal);
429
- const isNextScreenTransparent = scenes[index + 1]?.descriptor.options.presentation === 'transparentModal';
430
- const detachCurrentScreen = scenes[index + 1]?.descriptor.options.detachPreviousScreen !== false;
431
- const activityState = isPreloaded ? STATE_INACTIVE : activeStates[index];
432
- return /*#__PURE__*/_jsx(Screen, {
433
- style: [StyleSheet.absoluteFill, {
434
- pointerEvents: 'box-none'
435
- }],
436
- enabled: detachInactiveScreens,
437
- activityState: activityState,
438
- freezeOnBlur: freezeOnBlur,
439
- shouldFreeze: activityState === STATE_INACTIVE && !isPreloaded,
440
- homeIndicatorHidden: autoHideHomeIndicator,
426
+ const isInModalPresentation = getIsInModalPresentation(scene, interpolationIndex, isParentModal);
427
+ const isModal = scene.descriptor.options.presentation === 'modal' || getIsModalPresentation(scene.descriptor.options.cardStyleInterpolator);
428
+ const isNextScreenModal = nextScene != null && (nextScene.descriptor.options.presentation === 'modal' || getIsModalPresentation(nextScene.descriptor.options.cardStyleInterpolator));
429
+ const isNextScreenTransparent = nextScene?.descriptor.options.presentation === 'transparentModal';
430
+ const isAnimationEnabled = getAnimationEnabled(animation) || (
431
+ // Also check next screen's animation,
432
+ // As it will result in both screens being visible
433
+ nextScene ? getAnimationEnabled(nextScene.descriptor.options.animation) : false);
434
+ const isRemoving = replacingRouteKeys.includes(route.key) || closingRouteKeys.includes(route.key);
435
+ const isFocusing = openingRouteKeys.includes(route.key) || nextRoute != null && [...closingRouteKeys, ...replacingRouteKeys].includes(nextRoute.key);
436
+ const isInactive = isInactiveRoute(route, this.props.routes);
437
+ const isRetained = state.retainedRouteKeys?.includes(route.key);
438
+ const isPreloaded = isInactive && !isRetained;
439
+ const isTopmost = index === routes.length - 1;
440
+ const isBeforeLast = index === routes.length - 2;
441
+
442
+ // Keep animating and the last two rendered routes visible for smoother transitions
443
+ const isVisible = focused ||
444
+ // React native destroys the view when hidden
445
+ // So we keep retained screens visible
446
+ // This makes sure any videos being played don't stop etc.
447
+ isRetained || isNextScreenTransparent ||
448
+ // Modal presentation on iOS has multiple screens visible at the same time
449
+ // The base screen before the modals renders the dim, which is always persistent
450
+ // On iPadOS, the base screen is visible while modal is in a smaller area on top
451
+ // The top edge of the last 3 screens can be seen animating behind the modal
452
+ isNextScreenModal && (!isModal || index >= routes.length - 3) ||
453
+ // We only need to keep other screens visible when animation is enabled
454
+ isAnimationEnabled && (isFocusing || isRemoving ||
455
+ // Preloaded screens should stay mounted, but remain hidden until focused
456
+ !isPreloaded && index >= routes.length - 2);
457
+ const activityMode =
458
+ // Render focused and animating screens normally
459
+ focused || isFocusing ? 'normal' : inactiveBehavior === 'none' ||
460
+ // Unpause preloaded or retained screens so updates are visible
461
+ // Handle retained explicitly as isInactive won't be updated until animation end
462
+ isInactive || isRetained ||
463
+ // Keep the screen before transparent screen active
464
+ // This lets the screen under the transparent screen update and animate
465
+ isNextScreenTransparent ||
466
+ // Keep the screen before last screen active
467
+ // Otherwise it breaks animation when going back
468
+ isBeforeLast ? 'inert' : inactiveBehavior === 'unmount' &&
469
+ // Don't unmount screens that needs to stay visible
470
+ !isVisible &&
471
+ // Don't unmount screens with nested navigators
472
+ // So we don't lose their state
473
+ !('state' in route && route.state) ? 'unmounted' : 'paused';
474
+ if (activityMode === 'unmounted') {
475
+ return null;
476
+ }
477
+ return /*#__PURE__*/_jsx(ActivityView, {
478
+ mode: activityMode,
479
+ visible: isVisible,
480
+ style: {
481
+ ...StyleSheet.absoluteFill,
482
+ // Avoid unfocused larger pages increasing scroll area
483
+ // e.g. when a smaller screen is pushed over a larger one on web
484
+ overflow: isTopmost ? undefined : 'hidden',
485
+ marginTop: headerTransparent || headerMode === 'screen' ? 0 :
486
+ // Add offset for non-transparent floating header
487
+ isFloatHeaderAbsolute ?
488
+ // If header is absolute, offset the card by the header height
489
+ headerHeight?.value :
490
+ // Otherwise, the in-flow float header already takes the
491
+ // focused header's space, so offset by the difference
492
+ headerHeight && focusedHeaderHeight ? headerHeight.value - focusedHeaderHeight.value : 0
493
+ },
441
494
  children: /*#__PURE__*/_jsx(CardContainer, {
442
495
  index: index,
443
496
  interpolationIndex: interpolationIndex,
444
- modal: isModal,
445
- active: index === routes.length - 1,
497
+ modal: isInModalPresentation,
498
+ active: isTopmost,
446
499
  focused: focused,
447
500
  opening: openingRouteKeys.includes(route.key),
448
501
  closing: closingRouteKeys.includes(route.key),
@@ -461,15 +514,13 @@ export class CardStack extends React.Component {
461
514
  onHeaderHeightChange: this.handleHeaderLayout,
462
515
  getPreviousScene: this.getPreviousScene,
463
516
  getFocusedRoute: this.getFocusedRoute,
464
- hasAbsoluteFloatHeader: isFloatHeaderAbsolute && !headerTransparent,
465
517
  renderHeader: renderHeader,
466
518
  onOpenRoute: onOpenRoute,
467
519
  onCloseRoute: onCloseRoute,
468
520
  onTransitionStart: onTransitionStart,
469
521
  onTransitionEnd: onTransitionEnd,
470
- isNextScreenTransparent: isNextScreenTransparent,
471
- detachCurrentScreen: detachCurrentScreen,
472
- preloaded: isPreloaded
522
+ preloaded: isInactive,
523
+ children: scene.descriptor.render()
473
524
  })
474
525
  }, route.key);
475
526
  })
@@ -1 +1 @@
1
- {"version":3,"names":["getDefaultHeaderHeight","SafeAreaProviderCompat","React","Animated","Platform","StyleSheet","View","Screen","ScreenContainer","forModalPresentationIOS","forNoAnimation","forNoAnimationCard","BottomSheetAndroid","DefaultTransition","FadeFromBottomAndroid","FadeFromRightAndroid","ModalFadeTransition","ModalSlideFromBottomIOS","ModalTransition","RevealFromBottomAndroid","ScaleFromCenterAndroid","SlideFromLeftIOS","SlideFromRightIOS","findLastIndex","getDistanceForDirection","getModalRouteKeys","CardContainer","jsx","_jsx","jsxs","_jsxs","NAMED_TRANSITIONS_PRESETS","default","fade","fade_from_bottom","fade_from_right","none","reveal_from_bottom","scale_from_center","slide_from_left","slide_from_right","slide_from_bottom","select","ios","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","landscape","width","modalPresentation","topInset","getDistanceFromOptions","isRTL","gestureDirection","defaultGestureDirection","presentation","animation","getProgressFromGesture","gesture","distance","Math","max","interpolate","inputRange","outputRange","getDefaultAnimation","excludedPlatforms","OS","getAnimationEnabled","CardStack","Component","getDerivedStateFromProps","props","state","routes","descriptors","gestures","preloadedRoutes","Value","openingRouteKeys","includes","direction","modalRouteKeys","map","self","isPreloaded","previousRoute","undefined","nextRoute","oldScene","currentGesture","previousGesture","nextGesture","nextOptions","previousOptions","optionsForTransitionConfig","length","isAnimationEnabled","transitionPreset","gestureEnabled","transitionSpec","headerStyleInterpolator","cardOverlayEnabled","headerMode","header","progress","current","next","__memo","every","it","activeStates","activeScreensLimit","detachPreviousScreen","_","activityState","lastActiveState","activeAfterTransition","sceneForActivity","outputValue","extrapolate","headerHeights","constructor","initialMetrics","frame","handleLayout","e","nativeEvent","setState","handleHeaderLayout","previousHeight","getFocusedRoute","getPreviousScene","getPreviousRoute","previousScene","find","render","closingRouteKeys","onOpenRoute","onCloseRoute","renderHeader","onTransitionStart","onTransitionEnd","onGestureStart","onGestureEnd","onGestureCancel","detachInactiveScreens","focusedRoute","isFloatHeaderAbsolute","slice","some","headerTransparent","headerShown","isFloatHeaderFocused","findLast","styles","container","children","mode","onContentHeightChange","absolute","enabled","onLayout","focused","freezeOnBlur","autoHideHomeIndicator","safeAreaInsetTop","safeAreaInsetRight","right","safeAreaInsetBottom","bottom","safeAreaInsetLeft","left","headerHeight","isNextScreenTransparent","detachCurrentScreen","absoluteFill","pointerEvents","shouldFreeze","homeIndicatorHidden","modal","active","opening","closing","onHeaderHeightChange","hasAbsoluteFloatHeader","preloaded","create","flex","position","start","end","zIndex"],"sourceRoot":"../../../../src","sources":["views/Stack/CardStack.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["getDefaultHeaderHeight","ActivityView","SafeAreaProviderCompat","React","Animated","Platform","StyleSheet","View","forModalPresentationIOS","forNoAnimation","forNoAnimationCard","BottomSheetAndroid","DefaultTransition","FadeFromBottomAndroid","FadeFromRightAndroid","ModalFadeTransition","ModalSlideFromBottomIOS","ModalTransition","RevealFromBottomAndroid","ScaleFromCenterAndroid","SlideFromLeftIOS","SlideFromRightIOS","getDistanceForDirection","getModalRouteKeys","CardContainer","jsx","_jsx","jsxs","_jsxs","NAMED_TRANSITIONS_PRESETS","default","fade","fade_from_bottom","fade_from_right","none","reveal_from_bottom","scale_from_center","slide_from_left","slide_from_right","slide_from_bottom","select","ios","HIDDEN_HEADER_HEIGHT","measured","value","getInterpolationIndex","scenes","index","scene","Error","cardStyleInterpolator","descriptor","options","interpolationIndex","i","cardStyleInterpolatorCurrent","getIsModalPresentation","name","getIsInModalPresentation","isParentModal","isModalPresentation","isModal","getHeaderHeights","insets","isParentHeaderShown","layout","previous","reduce","acc","curr","headerStatusBarHeight","top","headerStyle","style","flatten","height","undefined","route","key","previousHeight","defaultHeight","landscape","width","modalPresentation","topInset","getDistanceFromOptions","isRTL","gestureDirection","defaultGestureDirection","presentation","animation","getProgressFromGesture","gesture","distance","Math","max","interpolate","inputRange","outputRange","getDefaultAnimation","excludedPlatforms","OS","getAnimationEnabled","getAllRoutes","routes","state","routeKeys","Set","map","inactiveRoutes","slice","filter","has","isInactiveRoute","some","currentRoute","CardStack","Component","getDerivedStateFromProps","props","descriptors","allRoutes","gestures","Value","openingRouteKeys","includes","direction","modalRouteKeys","self","isInactive","previousRoute","nextRoute","oldScene","currentGesture","previousGesture","nextGesture","nextOptions","previousOptions","optionsForTransitionConfig","length","isAnimationEnabled","transitionPreset","gestureEnabled","transitionSpec","headerStyleInterpolator","cardOverlayEnabled","headerMode","header","progress","current","next","__memo","every","it","headerHeights","constructor","initialMetrics","frame","handleLayout","e","nativeEvent","setState","handleHeaderLayout","getFocusedRoute","getPreviousScene","getPreviousRoute","previousScene","find","render","closingRouteKeys","replacingRouteKeys","onOpenRoute","onCloseRoute","onGestureStart","onGestureEnd","onGestureCancel","renderHeader","onTransitionStart","onTransitionEnd","focusedRoute","activeHeaderScenes","isFloatHeaderAbsolute","headerTransparent","headerShown","isFloatHeaderFocused","findLast","focusedHeaderHeight","styles","container","children","mode","contentHeight","onContentHeightChange","absolute","onLayout","focused","nextScene","inactiveBehavior","safeAreaInsetTop","safeAreaInsetRight","right","safeAreaInsetBottom","bottom","safeAreaInsetLeft","left","headerHeight","isInModalPresentation","isNextScreenModal","isNextScreenTransparent","isRemoving","isFocusing","isRetained","retainedRouteKeys","isPreloaded","isTopmost","isBeforeLast","isVisible","activityMode","visible","absoluteFill","overflow","marginTop","modal","active","opening","closing","onHeaderHeightChange","preloaded","create","flex","position","start","end","zIndex"],"sourceRoot":"../../../../src","sources":["views/Stack/CardStack.tsx"],"mappings":"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","ignoreList":[]}