@react-navigation/stack 8.0.0-alpha.4 → 8.0.0-alpha.41

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 (126) hide show
  1. package/lib/module/index.js +2 -2
  2. package/lib/module/index.js.map +1 -1
  3. package/lib/module/navigators/createStackNavigator.js +3 -7
  4. package/lib/module/navigators/createStackNavigator.js.map +1 -1
  5. package/lib/module/utils/GestureHandlerContext.js +5 -0
  6. package/lib/module/utils/GestureHandlerContext.js.map +1 -0
  7. package/lib/module/utils/gestureActivationCriteria.js +10 -8
  8. package/lib/module/utils/gestureActivationCriteria.js.map +1 -1
  9. package/lib/module/utils/useCardAnimation.js +1 -1
  10. package/lib/module/utils/useCardAnimation.js.map +1 -1
  11. package/lib/module/utils/useGestureHandler.js +9 -0
  12. package/lib/module/utils/useGestureHandler.js.map +1 -0
  13. package/lib/module/utils/useKeyboardManager.js +71 -26
  14. package/lib/module/utils/useKeyboardManager.js.map +1 -1
  15. package/lib/module/views/GestureHandler.js +15 -14
  16. package/lib/module/views/GestureHandler.js.map +1 -1
  17. package/lib/module/views/GestureHandlerNative.js +16 -10
  18. package/lib/module/views/GestureHandlerNative.js.map +1 -1
  19. package/lib/module/views/Header/Header.js +2 -2
  20. package/lib/module/views/Header/Header.js.map +1 -1
  21. package/lib/module/views/Header/HeaderContainer.js +52 -18
  22. package/lib/module/views/Header/HeaderContainer.js.map +1 -1
  23. package/lib/module/views/Header/HeaderSegment.js +2 -2
  24. package/lib/module/views/Header/HeaderSegment.js.map +1 -1
  25. package/lib/module/views/Stack/Card.js +90 -87
  26. package/lib/module/views/Stack/Card.js.map +1 -1
  27. package/lib/module/views/Stack/CardContainer.js +72 -98
  28. package/lib/module/views/Stack/CardContainer.js.map +1 -1
  29. package/lib/module/views/Stack/CardStack.js +171 -126
  30. package/lib/module/views/Stack/CardStack.js.map +1 -1
  31. package/lib/module/views/Stack/StackView.js +103 -53
  32. package/lib/module/views/Stack/StackView.js.map +1 -1
  33. package/lib/typescript/src/TransitionConfigs/CardStyleInterpolators.d.ts +1 -1
  34. package/lib/typescript/src/TransitionConfigs/CardStyleInterpolators.d.ts.map +1 -1
  35. package/lib/typescript/src/TransitionConfigs/HeaderStyleInterpolators.d.ts +1 -1
  36. package/lib/typescript/src/TransitionConfigs/HeaderStyleInterpolators.d.ts.map +1 -1
  37. package/lib/typescript/src/TransitionConfigs/TransitionPresets.d.ts +1 -1
  38. package/lib/typescript/src/TransitionConfigs/TransitionPresets.d.ts.map +1 -1
  39. package/lib/typescript/src/TransitionConfigs/TransitionSpecs.d.ts +1 -1
  40. package/lib/typescript/src/TransitionConfigs/TransitionSpecs.d.ts.map +1 -1
  41. package/lib/typescript/src/index.d.ts +12 -12
  42. package/lib/typescript/src/index.d.ts.map +1 -1
  43. package/lib/typescript/src/navigators/createStackNavigator.d.ts +10 -15
  44. package/lib/typescript/src/navigators/createStackNavigator.d.ts.map +1 -1
  45. package/lib/typescript/src/types.d.ts +46 -53
  46. package/lib/typescript/src/types.d.ts.map +1 -1
  47. package/lib/typescript/src/utils/CardAnimationContext.d.ts +1 -1
  48. package/lib/typescript/src/utils/CardAnimationContext.d.ts.map +1 -1
  49. package/lib/typescript/src/utils/GestureHandlerContext.d.ts +3 -0
  50. package/lib/typescript/src/utils/GestureHandlerContext.d.ts.map +1 -0
  51. package/lib/typescript/src/utils/gestureActivationCriteria.d.ts +4 -51
  52. package/lib/typescript/src/utils/gestureActivationCriteria.d.ts.map +1 -1
  53. package/lib/typescript/src/utils/getDistanceForDirection.d.ts +1 -1
  54. package/lib/typescript/src/utils/getDistanceForDirection.d.ts.map +1 -1
  55. package/lib/typescript/src/utils/getInvertedMultiplier.d.ts +1 -1
  56. package/lib/typescript/src/utils/getInvertedMultiplier.d.ts.map +1 -1
  57. package/lib/typescript/src/utils/getModalRoutesKeys.d.ts +1 -1
  58. package/lib/typescript/src/utils/getModalRoutesKeys.d.ts.map +1 -1
  59. package/lib/typescript/src/utils/useCardAnimation.d.ts +1 -1
  60. package/lib/typescript/src/utils/useCardAnimation.d.ts.map +1 -1
  61. package/lib/typescript/src/utils/useGestureHandler.d.ts +2 -0
  62. package/lib/typescript/src/utils/useGestureHandler.d.ts.map +1 -0
  63. package/lib/typescript/src/utils/useKeyboardManager.d.ts +12 -2
  64. package/lib/typescript/src/utils/useKeyboardManager.d.ts.map +1 -1
  65. package/lib/typescript/src/views/GestureHandler.android.d.ts +1 -1
  66. package/lib/typescript/src/views/GestureHandler.android.d.ts.map +1 -1
  67. package/lib/typescript/src/views/GestureHandler.d.ts +7 -11
  68. package/lib/typescript/src/views/GestureHandler.d.ts.map +1 -1
  69. package/lib/typescript/src/views/GestureHandler.ios.d.ts +1 -1
  70. package/lib/typescript/src/views/GestureHandler.ios.d.ts.map +1 -1
  71. package/lib/typescript/src/views/GestureHandlerNative.d.ts +9 -4
  72. package/lib/typescript/src/views/GestureHandlerNative.d.ts.map +1 -1
  73. package/lib/typescript/src/views/Header/Header.d.ts +2 -2
  74. package/lib/typescript/src/views/Header/Header.d.ts.map +1 -1
  75. package/lib/typescript/src/views/Header/HeaderContainer.d.ts +9 -3
  76. package/lib/typescript/src/views/Header/HeaderContainer.d.ts.map +1 -1
  77. package/lib/typescript/src/views/Header/HeaderSegment.d.ts +5 -4
  78. package/lib/typescript/src/views/Header/HeaderSegment.d.ts.map +1 -1
  79. package/lib/typescript/src/views/Stack/Card.d.ts +5 -5
  80. package/lib/typescript/src/views/Stack/Card.d.ts.map +1 -1
  81. package/lib/typescript/src/views/Stack/CardContainer.d.ts +5 -7
  82. package/lib/typescript/src/views/Stack/CardContainer.d.ts.map +1 -1
  83. package/lib/typescript/src/views/Stack/CardContent.d.ts +1 -1
  84. package/lib/typescript/src/views/Stack/CardContent.d.ts.map +1 -1
  85. package/lib/typescript/src/views/Stack/CardStack.d.ts +6 -5
  86. package/lib/typescript/src/views/Stack/CardStack.d.ts.map +1 -1
  87. package/lib/typescript/src/views/Stack/StackView.d.ts +10 -13
  88. package/lib/typescript/src/views/Stack/StackView.d.ts.map +1 -1
  89. package/package.json +21 -23
  90. package/src/index.tsx +3 -2
  91. package/src/navigators/createStackNavigator.tsx +9 -40
  92. package/src/types.tsx +73 -73
  93. package/src/utils/GestureHandlerContext.tsx +5 -0
  94. package/src/utils/gestureActivationCriteria.tsx +14 -10
  95. package/src/utils/useCardAnimation.tsx +1 -1
  96. package/src/utils/useGestureHandler.tsx +9 -0
  97. package/src/utils/useKeyboardManager.tsx +96 -33
  98. package/src/views/GestureHandler.tsx +27 -16
  99. package/src/views/GestureHandlerNative.tsx +26 -12
  100. package/src/views/Header/Header.tsx +2 -2
  101. package/src/views/Header/HeaderContainer.tsx +67 -24
  102. package/src/views/Header/HeaderSegment.tsx +4 -4
  103. package/src/views/Stack/Card.tsx +134 -115
  104. package/src/views/Stack/CardContainer.tsx +86 -127
  105. package/src/views/Stack/CardStack.tsx +380 -323
  106. package/src/views/Stack/StackView.tsx +173 -71
  107. package/lib/module/utils/GestureHandlerRefContext.js +0 -5
  108. package/lib/module/utils/GestureHandlerRefContext.js.map +0 -1
  109. package/lib/module/utils/findLastIndex.js +0 -11
  110. package/lib/module/utils/findLastIndex.js.map +0 -1
  111. package/lib/module/utils/useGestureHandlerRef.js +0 -12
  112. package/lib/module/utils/useGestureHandlerRef.js.map +0 -1
  113. package/lib/module/views/Stack/CardA11yWrapper.js +0 -43
  114. package/lib/module/views/Stack/CardA11yWrapper.js.map +0 -1
  115. package/lib/typescript/src/utils/GestureHandlerRefContext.d.ts +0 -3
  116. package/lib/typescript/src/utils/GestureHandlerRefContext.d.ts.map +0 -1
  117. package/lib/typescript/src/utils/findLastIndex.d.ts +0 -2
  118. package/lib/typescript/src/utils/findLastIndex.d.ts.map +0 -1
  119. package/lib/typescript/src/utils/useGestureHandlerRef.d.ts +0 -3
  120. package/lib/typescript/src/utils/useGestureHandlerRef.d.ts.map +0 -1
  121. package/lib/typescript/src/views/Stack/CardA11yWrapper.d.ts +0 -15
  122. package/lib/typescript/src/views/Stack/CardA11yWrapper.d.ts.map +0 -1
  123. package/src/utils/GestureHandlerRefContext.tsx +0 -5
  124. package/src/utils/findLastIndex.tsx +0 -9
  125. package/src/utils/useGestureHandlerRef.tsx +0 -15
  126. 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;
@@ -73,14 +72,32 @@ const getHeaderHeights = (scenes, insets, isParentHeaderShown, isParentModal, la
73
72
  headerStyle
74
73
  } = curr.descriptor.options;
75
74
  const style = StyleSheet.flatten(headerStyle || {});
76
- const height = 'height' in style && typeof style.height === 'number' ? style.height : previous[curr.route.key];
75
+ const height = 'height' in style && typeof style.height === 'number' ? style.height : undefined;
77
76
  const interpolationIndex = getInterpolationIndex(scenes, index);
78
77
  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
- });
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
@@ -200,65 +237,11 @@ export class CardStack extends React.Component {
200
237
  }
201
238
  return scene;
202
239
  });
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
240
  return {
257
241
  routes: props.routes,
258
242
  scenes,
259
243
  gestures,
260
244
  descriptors: props.descriptors,
261
- activeStates,
262
245
  headerHeights: getHeaderHeights(scenes, props.insets, props.isParentHeaderShown, props.isParentModal, state.layout, state.headerHeights)
263
246
  };
264
247
  }
@@ -270,7 +253,6 @@ export class CardStack extends React.Component {
270
253
  gestures: {},
271
254
  layout: SafeAreaProviderCompat.initialMetrics.frame,
272
255
  descriptors: this.props.descriptors,
273
- activeStates: [],
274
256
  // Used when card's header is null and mode is float to make transition
275
257
  // between screens with headers and those without headers smooth.
276
258
  // This is not a great heuristic here. We don't know synchronously
@@ -306,13 +288,16 @@ export class CardStack extends React.Component {
306
288
  headerHeights
307
289
  }) => {
308
290
  const previousHeight = headerHeights[route.key];
309
- if (previousHeight === height) {
291
+ if (previousHeight?.value === height) {
310
292
  return null;
311
293
  }
312
294
  return {
313
295
  headerHeights: {
314
296
  ...headerHeights,
315
- [route.key]: height
297
+ [route.key]: {
298
+ measured: true,
299
+ value: height
300
+ }
316
301
  }
317
302
  };
318
303
  });
@@ -321,7 +306,11 @@ export class CardStack extends React.Component {
321
306
  const {
322
307
  state
323
308
  } = this.props;
324
- return state.routes[state.index];
309
+ const route = state.routes[state.index];
310
+ if (route == null) {
311
+ throw new Error(`Couldn't find a route at index ${state.index}.`);
312
+ }
313
+ return route;
325
314
  };
326
315
  getPreviousScene = ({
327
316
  route
@@ -348,27 +337,35 @@ export class CardStack extends React.Component {
348
337
  routes,
349
338
  openingRouteKeys,
350
339
  closingRouteKeys,
340
+ replacingRouteKeys,
351
341
  onOpenRoute,
352
342
  onCloseRoute,
343
+ onGestureStart,
344
+ onGestureEnd,
345
+ onGestureCancel,
353
346
  renderHeader,
354
347
  isParentHeaderShown,
355
348
  isParentModal,
356
349
  onTransitionStart,
357
- onTransitionEnd,
358
- onGestureStart,
359
- onGestureEnd,
360
- onGestureCancel,
361
- detachInactiveScreens = Platform.OS === 'web' || Platform.OS === 'android' || Platform.OS === 'ios'
350
+ onTransitionEnd
362
351
  } = this.props;
363
352
  const {
364
353
  scenes,
365
354
  layout,
366
355
  gestures,
367
- activeStates,
368
356
  headerHeights
369
357
  } = this.state;
358
+ const allRoutes = getAllRoutes(routes, state);
370
359
  const focusedRoute = state.routes[state.index];
371
- const isFloatHeaderAbsolute = scenes.slice(-2).some(scene => {
360
+ if (focusedRoute == null) {
361
+ throw new Error(`Couldn't find a route at index ${state.index}.`);
362
+ }
363
+
364
+ // Render only two top-most active headers as a workaround for
365
+ // https://github.com/react-navigation/react-navigation/issues/12456.
366
+ // If the header is persisted, it might be placed incorrectly when navigating back
367
+ const activeHeaderScenes = scenes.filter(scene => !isInactiveRoute(scene.route, routes)).slice(-2);
368
+ const isFloatHeaderAbsolute = activeHeaderScenes.some(scene => {
372
369
  const options = scene.descriptor.options ?? {};
373
370
  const {
374
371
  headerMode,
@@ -381,68 +378,118 @@ export class CardStack extends React.Component {
381
378
  return false;
382
379
  });
383
380
  const isFloatHeaderFocused = scenes.findLast(scene => scene.route.key === focusedRoute.key)?.descriptor.options.headerMode === 'float';
381
+ const focusedHeaderHeight = headerHeights[focusedRoute.key];
384
382
  return /*#__PURE__*/_jsxs(View, {
385
383
  style: styles.container,
386
384
  children: [renderHeader({
387
385
  mode: 'float',
388
- scenes,
386
+ scenes: activeHeaderScenes,
389
387
  getPreviousScene: this.getPreviousScene,
390
388
  getFocusedRoute: this.getFocusedRoute,
389
+ contentHeight: headerHeights[focusedRoute.key],
391
390
  onContentHeightChange: this.handleHeaderLayout,
392
391
  style: [isFloatHeaderAbsolute && [styles.absolute,
393
392
  // The header title can't be found with maestro without this
394
393
  // In some cases, header buttons may not be touchable as well
395
394
  isFloatHeaderFocused && {
396
- height: headerHeights[focusedRoute.key]
395
+ height: focusedHeaderHeight?.value
397
396
  }]]
398
- }), /*#__PURE__*/_jsx(ScreenContainer, {
399
- enabled: detachInactiveScreens,
397
+ }), /*#__PURE__*/_jsx(View, {
400
398
  style: styles.container,
401
399
  onLayout: this.handleLayout,
402
- children: [...routes, ...state.preloadedRoutes].map((route, index) => {
400
+ children: allRoutes.map((route, index, self) => {
403
401
  const focused = focusedRoute.key === route.key;
404
402
  const gesture = gestures[route.key];
405
403
  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;
404
+ if (gesture == null) {
405
+ throw new Error(`Couldn't find a gesture for route '${route.key}'.`);
406
+ }
407
+ if (scene == null) {
408
+ throw new Error(`Couldn't find a scene at index ${index}.`);
413
409
  }
410
+ const nextScene = scenes[index + 1];
411
+ const nextRoute = self[index + 1];
414
412
  const {
413
+ inactiveBehavior = 'pause',
414
+ animation,
415
415
  headerShown = true,
416
- headerTransparent,
417
- freezeOnBlur,
418
- autoHideHomeIndicator
416
+ headerMode,
417
+ headerTransparent
419
418
  } = scene.descriptor.options;
420
419
  const safeAreaInsetTop = insets.top;
421
420
  const safeAreaInsetRight = insets.right;
422
421
  const safeAreaInsetBottom = insets.bottom;
423
422
  const safeAreaInsetLeft = insets.left;
424
- const headerHeight = headerShown !== false ? headerHeights[route.key] : 0;
423
+ const headerHeight = headerShown !== false ? headerHeights[route.key] : HIDDEN_HEADER_HEIGHT;
425
424
 
426
425
  // Start from current card and count backwards the number of cards with same interpolation
427
426
  const interpolationIndex = getInterpolationIndex(scenes, index);
428
427
  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,
428
+ const isAnimationEnabled = getAnimationEnabled(animation) || (
429
+ // Also check next screen's animation,
430
+ // As it will result in both screens being visible
431
+ nextScene ? getAnimationEnabled(nextScene.descriptor.options.animation) : false);
432
+ const isNextScreenTransparent = nextScene?.descriptor.options.presentation === 'transparentModal';
433
+ const isRemoving = replacingRouteKeys.includes(route.key) || closingRouteKeys.includes(route.key);
434
+ const isFocusing = openingRouteKeys.includes(route.key) || nextRoute != null && [...closingRouteKeys, ...replacingRouteKeys].includes(nextRoute.key);
435
+ const isInactive = isInactiveRoute(route, this.props.routes);
436
+ const isRetained = state.retainedRouteKeys?.includes(route.key);
437
+ const isPreloaded = isInactive && !isRetained;
438
+ const isTopmost = index === routes.length - 1;
439
+ const isBeforeLast = index === routes.length - 2;
440
+
441
+ // Keep animating and the last two rendered routes visible for smoother transitions
442
+ const isVisible = focused || isNextScreenTransparent ||
443
+ // React native destroys the view when hidden
444
+ // So we keep retained screens visible
445
+ // This makes sure any videos being played don't stop etc.
446
+ isRetained ||
447
+ // We only need to keep other screens visible when animation is enabled
448
+ isAnimationEnabled && (isFocusing || isRemoving ||
449
+ // Preloaded screens should stay mounted, but remain hidden until focused
450
+ !isPreloaded && index >= routes.length - 2);
451
+ const activityMode =
452
+ // Render focused and animating screens normally
453
+ focused || isFocusing ? 'normal' : inactiveBehavior === 'none' ||
454
+ // Unpause preloaded or retained screens so updates are visible
455
+ // Handle retained explicitly as isInactive won't be updated until animation end
456
+ isInactive || isRetained ||
457
+ // Keep the screen before transparent screen active
458
+ // This lets the screen under the transparent screen update and animate
459
+ isNextScreenTransparent ||
460
+ // Keep the screen before last screen active
461
+ // Otherwise it breaks animation when going back
462
+ isBeforeLast ? 'inert' : inactiveBehavior === 'unmount' &&
463
+ // Don't unmount screens that needs to stay visible
464
+ !isVisible &&
465
+ // Don't unmount screens with nested navigators
466
+ // So we don't lose their state
467
+ !('state' in route && route.state) ? 'unmounted' : 'paused';
468
+ if (activityMode === 'unmounted') {
469
+ return null;
470
+ }
471
+ return /*#__PURE__*/_jsx(ActivityView, {
472
+ mode: activityMode,
473
+ visible: isVisible,
474
+ style: {
475
+ ...StyleSheet.absoluteFill,
476
+ // Avoid unfocused larger pages increasing scroll area
477
+ // e.g. when a smaller screen is pushed over a larger one on web
478
+ overflow: isTopmost ? undefined : 'hidden',
479
+ marginTop: headerTransparent || headerMode === 'screen' ? 0 :
480
+ // Add offset for non-transparent floating header
481
+ isFloatHeaderAbsolute ?
482
+ // If header is absolute, offset the card by the header height
483
+ headerHeight?.value :
484
+ // Otherwise, the in-flow float header already takes the
485
+ // focused header's space, so offset by the difference
486
+ headerHeight && focusedHeaderHeight ? headerHeight.value - focusedHeaderHeight.value : 0
487
+ },
441
488
  children: /*#__PURE__*/_jsx(CardContainer, {
442
489
  index: index,
443
490
  interpolationIndex: interpolationIndex,
444
491
  modal: isModal,
445
- active: index === routes.length - 1,
492
+ active: isTopmost,
446
493
  focused: focused,
447
494
  opening: openingRouteKeys.includes(route.key),
448
495
  closing: closingRouteKeys.includes(route.key),
@@ -461,15 +508,13 @@ export class CardStack extends React.Component {
461
508
  onHeaderHeightChange: this.handleHeaderLayout,
462
509
  getPreviousScene: this.getPreviousScene,
463
510
  getFocusedRoute: this.getFocusedRoute,
464
- hasAbsoluteFloatHeader: isFloatHeaderAbsolute && !headerTransparent,
465
511
  renderHeader: renderHeader,
466
512
  onOpenRoute: onOpenRoute,
467
513
  onCloseRoute: onCloseRoute,
468
514
  onTransitionStart: onTransitionStart,
469
515
  onTransitionEnd: onTransitionEnd,
470
- isNextScreenTransparent: isNextScreenTransparent,
471
- detachCurrentScreen: detachCurrentScreen,
472
- preloaded: isPreloaded
516
+ preloaded: isInactive,
517
+ children: scene.descriptor.render()
473
518
  })
474
519
  }, route.key);
475
520
  })
@@ -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","getIsModal","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","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":[]}