@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
@@ -3,24 +3,18 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = void 0;
6
+ exports.CardStack = void 0;
7
7
  var _elements = require("@react-navigation/elements");
8
- var _color = _interopRequireDefault(require("color"));
9
8
  var React = _interopRequireWildcard(require("react"));
10
9
  var _reactNative = require("react-native");
11
10
  var _CardStyleInterpolators = require("../../TransitionConfigs/CardStyleInterpolators");
12
11
  var _TransitionPresets = require("../../TransitionConfigs/TransitionPresets");
13
- var _findLastIndex = _interopRequireDefault(require("../../utils/findLastIndex"));
14
- var _getDistanceForDirection = _interopRequireDefault(require("../../utils/getDistanceForDirection"));
12
+ var _findLastIndex = require("../../utils/findLastIndex");
13
+ var _getDistanceForDirection = require("../../utils/getDistanceForDirection");
15
14
  var _Screens = require("../Screens");
16
- var _Card = require("./Card");
17
- var _CardContainer = _interopRequireDefault(require("./CardContainer"));
18
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
20
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
- 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; }
22
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
23
- 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); }
15
+ var _CardContainer = require("./CardContainer");
16
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
17
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
24
18
  const EPSILON = 1e-5;
25
19
  const STATE_INACTIVE = 0;
26
20
  const STATE_TRANSITIONING_OR_BELOW_TOP = 1;
@@ -36,8 +30,7 @@ const getInterpolationIndex = (scenes, index) => {
36
30
  // Start from current card and count backwards the number of cards with same interpolation
37
31
  let interpolationIndex = 0;
38
32
  for (let i = index - 1; i >= 0; i--) {
39
- var _scenes$i;
40
- const cardStyleInterpolatorCurrent = (_scenes$i = scenes[i]) === null || _scenes$i === void 0 ? void 0 : _scenes$i.descriptor.options.cardStyleInterpolator;
33
+ const cardStyleInterpolatorCurrent = scenes[i]?.descriptor.options.cardStyleInterpolator;
41
34
  if (cardStyleInterpolatorCurrent !== cardStyleInterpolator) {
42
35
  break;
43
36
  }
@@ -45,6 +38,11 @@ const getInterpolationIndex = (scenes, index) => {
45
38
  }
46
39
  return interpolationIndex;
47
40
  };
41
+ const getIsModalPresentation = cardStyleInterpolator => {
42
+ return cardStyleInterpolator === _CardStyleInterpolators.forModalPresentationIOS ||
43
+ // Handle custom modal presentation interpolators as well
44
+ cardStyleInterpolator.name === 'forModalPresentationIOS';
45
+ };
48
46
  const getIsModal = (scene, interpolationIndex, isParentModal) => {
49
47
  if (isParentModal) {
50
48
  return true;
@@ -52,7 +50,7 @@ const getIsModal = (scene, interpolationIndex, isParentModal) => {
52
50
  const {
53
51
  cardStyleInterpolator
54
52
  } = scene.descriptor.options;
55
- const isModalPresentation = (0, _Card.getIsModalPresentation)(cardStyleInterpolator);
53
+ const isModalPresentation = getIsModalPresentation(cardStyleInterpolator);
56
54
  const isModal = isModalPresentation && interpolationIndex !== 0;
57
55
  return isModal;
58
56
  };
@@ -70,20 +68,20 @@ const getHeaderHeights = (scenes, insets, isParentHeaderShown, isParentModal, la
70
68
  return acc;
71
69
  }, {});
72
70
  };
73
- const getDistanceFromOptions = (layout, descriptor) => {
71
+ const getDistanceFromOptions = (layout, descriptor, isRTL) => {
74
72
  const {
75
73
  presentation,
76
74
  gestureDirection = presentation === 'modal' ? _TransitionPresets.ModalTransition.gestureDirection : _TransitionPresets.DefaultTransition.gestureDirection
77
- } = (descriptor === null || descriptor === void 0 ? void 0 : descriptor.options) || {};
78
- return (0, _getDistanceForDirection.default)(layout, gestureDirection);
75
+ } = descriptor?.options || {};
76
+ return (0, _getDistanceForDirection.getDistanceForDirection)(layout, gestureDirection, isRTL);
79
77
  };
80
- const getProgressFromGesture = (gesture, layout, descriptor) => {
78
+ const getProgressFromGesture = (gesture, layout, descriptor, isRTL) => {
81
79
  const distance = getDistanceFromOptions({
82
80
  // Make sure that we have a non-zero distance, otherwise there will be incorrect progress
83
81
  // This causes blank screen on web if it was previously inside container with display: none
84
82
  width: Math.max(1, layout.width),
85
83
  height: Math.max(1, layout.height)
86
- }, descriptor);
84
+ }, descriptor, isRTL);
87
85
  if (distance > 0) {
88
86
  return gesture.interpolate({
89
87
  inputRange: [0, distance],
@@ -100,33 +98,35 @@ class CardStack extends React.Component {
100
98
  if (props.routes === state.routes && props.descriptors === state.descriptors) {
101
99
  return null;
102
100
  }
103
- const gestures = props.routes.reduce((acc, curr) => {
104
- const descriptor = props.descriptors[curr.key];
101
+ const gestures = [...props.routes, ...props.state.preloadedRoutes].reduce((acc, curr) => {
102
+ const descriptor = props.descriptors[curr.key] || props.preloadedDescriptors[curr.key];
105
103
  const {
106
104
  animationEnabled
107
- } = (descriptor === null || descriptor === void 0 ? void 0 : descriptor.options) || {};
108
- acc[curr.key] = state.gestures[curr.key] || new _reactNative.Animated.Value(props.openingRouteKeys.includes(curr.key) && animationEnabled !== false ? getDistanceFromOptions(state.layout, descriptor) : 0);
105
+ } = descriptor?.options || {};
106
+ acc[curr.key] = state.gestures[curr.key] || new _reactNative.Animated.Value(props.openingRouteKeys.includes(curr.key) && animationEnabled !== false || props.state.preloadedRoutes.includes(curr) ? getDistanceFromOptions(state.layout, descriptor, props.direction === 'rtl') : 0);
109
107
  return acc;
110
108
  }, {});
111
- const scenes = props.routes.map((route, index, self) => {
112
- const previousRoute = self[index - 1];
113
- const nextRoute = self[index + 1];
109
+ const scenes = [...props.routes, ...props.state.preloadedRoutes].map((route, index, self) => {
110
+ // For preloaded screens, we don't care about the previous and the next screen
111
+ const isPreloaded = props.state.preloadedRoutes.includes(route);
112
+ const previousRoute = isPreloaded ? undefined : self[index - 1];
113
+ const nextRoute = isPreloaded ? undefined : self[index + 1];
114
114
  const oldScene = state.scenes[index];
115
115
  const currentGesture = gestures[route.key];
116
116
  const previousGesture = previousRoute ? gestures[previousRoute.key] : undefined;
117
117
  const nextGesture = nextRoute ? gestures[nextRoute.key] : undefined;
118
- const descriptor = props.descriptors[route.key] || state.descriptors[route.key] || (oldScene ? oldScene.descriptor : FALLBACK_DESCRIPTOR);
119
- const nextDescriptor = props.descriptors[nextRoute === null || nextRoute === void 0 ? void 0 : nextRoute.key] || state.descriptors[nextRoute === null || nextRoute === void 0 ? void 0 : nextRoute.key];
120
- const previousDescriptor = props.descriptors[previousRoute === null || previousRoute === void 0 ? void 0 : previousRoute.key] || state.descriptors[previousRoute === null || previousRoute === void 0 ? void 0 : previousRoute.key];
118
+ const descriptor = (isPreloaded ? props.preloadedDescriptors : props.descriptors)[route.key] || state.descriptors[route.key] || (oldScene ? oldScene.descriptor : FALLBACK_DESCRIPTOR);
119
+ const nextDescriptor = nextRoute && (props.descriptors[nextRoute?.key] || state.descriptors[nextRoute?.key]);
120
+ const previousDescriptor = previousRoute && (props.descriptors[previousRoute?.key] || state.descriptors[previousRoute?.key]);
121
121
 
122
122
  // When a screen is not the last, it should use next screen's transition config
123
123
  // Many transitions also animate the previous screen, so using 2 different transitions doesn't look right
124
124
  // For example combining a slide and a modal transition would look wrong otherwise
125
125
  // With this approach, combining different transition styles in the same navigator mostly looks right
126
126
  // This will still be broken when 2 transitions have different idle state (e.g. modal presentation),
127
- // but majority of the transitions look alright
127
+ // but the majority of the transitions look alright
128
128
  const optionsForTransitionConfig = index !== self.length - 1 && nextDescriptor && nextDescriptor.options.presentation !== 'transparentModal' ? nextDescriptor.options : descriptor.options;
129
- let defaultTransitionPreset = optionsForTransitionConfig.presentation === 'modal' ? _TransitionPresets.ModalTransition : optionsForTransitionConfig.presentation === 'transparentModal' ? _TransitionPresets.ModalFadeTransition : _TransitionPresets.DefaultTransition;
129
+ const defaultTransitionPreset = optionsForTransitionConfig.presentation === 'modal' ? _TransitionPresets.ModalTransition : optionsForTransitionConfig.presentation === 'transparentModal' ? _TransitionPresets.ModalFadeTransition : _TransitionPresets.DefaultTransition;
130
130
  const {
131
131
  animationEnabled = _reactNative.Platform.OS !== 'web' && _reactNative.Platform.OS !== 'windows' && _reactNative.Platform.OS !== 'macos',
132
132
  gestureEnabled = _reactNative.Platform.OS === 'ios' && animationEnabled,
@@ -134,9 +134,10 @@ class CardStack extends React.Component {
134
134
  transitionSpec = defaultTransitionPreset.transitionSpec,
135
135
  cardStyleInterpolator = animationEnabled === false ? _CardStyleInterpolators.forNoAnimation : defaultTransitionPreset.cardStyleInterpolator,
136
136
  headerStyleInterpolator = defaultTransitionPreset.headerStyleInterpolator,
137
- cardOverlayEnabled = _reactNative.Platform.OS !== 'ios' && optionsForTransitionConfig.presentation !== 'transparentModal' || (0, _Card.getIsModalPresentation)(cardStyleInterpolator)
137
+ cardOverlayEnabled = _reactNative.Platform.OS !== 'ios' && optionsForTransitionConfig.presentation !== 'transparentModal' || getIsModalPresentation(cardStyleInterpolator)
138
138
  } = optionsForTransitionConfig;
139
- 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' || (0, _Card.getIsModalPresentation)(cardStyleInterpolator)) && _reactNative.Platform.OS === 'ios' && descriptor.options.header === undefined ? 'float' : 'screen');
139
+ const headerMode = descriptor.options.headerMode ?? (!(optionsForTransitionConfig.presentation === 'modal' || optionsForTransitionConfig.presentation === 'transparentModal' || nextDescriptor?.options.presentation === 'modal' || nextDescriptor?.options.presentation === 'transparentModal' || getIsModalPresentation(cardStyleInterpolator)) && _reactNative.Platform.OS === 'ios' && descriptor.options.header === undefined ? 'float' : 'screen');
140
+ const isRTL = props.direction === 'rtl';
140
141
  const scene = {
141
142
  route,
142
143
  descriptor: {
@@ -154,9 +155,9 @@ class CardStack extends React.Component {
154
155
  }
155
156
  },
156
157
  progress: {
157
- current: getProgressFromGesture(currentGesture, state.layout, descriptor),
158
- next: nextGesture && (nextDescriptor === null || nextDescriptor === void 0 ? void 0 : nextDescriptor.options.presentation) !== 'transparentModal' ? getProgressFromGesture(nextGesture, state.layout, nextDescriptor) : undefined,
159
- previous: previousGesture ? getProgressFromGesture(previousGesture, state.layout, previousDescriptor) : undefined
158
+ current: getProgressFromGesture(currentGesture, state.layout, descriptor, isRTL),
159
+ next: nextGesture && nextDescriptor?.options.presentation !== 'transparentModal' ? getProgressFromGesture(nextGesture, state.layout, nextDescriptor, isRTL) : undefined,
160
+ previous: previousGesture ? getProgressFromGesture(previousGesture, state.layout, previousDescriptor, isRTL) : undefined
160
161
  },
161
162
  __memo: [state.layout, descriptor, nextDescriptor, previousDescriptor, currentGesture, nextGesture, previousGesture]
162
163
  };
@@ -176,73 +177,8 @@ class CardStack extends React.Component {
176
177
  headerHeights: getHeaderHeights(scenes, props.insets, props.isParentHeaderShown, props.isParentModal, state.layout, state.headerHeights)
177
178
  };
178
179
  }
179
- constructor(_props) {
180
- super(_props);
181
- _defineProperty(this, "handleLayout", e => {
182
- const {
183
- height,
184
- width
185
- } = e.nativeEvent.layout;
186
- const layout = {
187
- width,
188
- height
189
- };
190
- this.setState((state, props) => {
191
- if (height === state.layout.height && width === state.layout.width) {
192
- return null;
193
- }
194
- return {
195
- layout,
196
- headerHeights: getHeaderHeights(state.scenes, props.insets, props.isParentHeaderShown, props.isParentModal, layout, state.headerHeights)
197
- };
198
- });
199
- });
200
- _defineProperty(this, "handleHeaderLayout", _ref => {
201
- let {
202
- route,
203
- height
204
- } = _ref;
205
- this.setState(_ref2 => {
206
- let {
207
- headerHeights
208
- } = _ref2;
209
- const previousHeight = headerHeights[route.key];
210
- if (previousHeight === height) {
211
- return null;
212
- }
213
- return {
214
- headerHeights: {
215
- ...headerHeights,
216
- [route.key]: height
217
- }
218
- };
219
- });
220
- });
221
- _defineProperty(this, "getFocusedRoute", () => {
222
- const {
223
- state
224
- } = this.props;
225
- return state.routes[state.index];
226
- });
227
- _defineProperty(this, "getPreviousScene", _ref3 => {
228
- let {
229
- route
230
- } = _ref3;
231
- const {
232
- getPreviousRoute
233
- } = this.props;
234
- const {
235
- scenes
236
- } = this.state;
237
- const previousRoute = getPreviousRoute({
238
- route
239
- });
240
- if (previousRoute) {
241
- const previousScene = scenes.find(scene => scene.descriptor.route.key === previousRoute.key);
242
- return previousScene;
243
- }
244
- return undefined;
245
- });
180
+ constructor(props) {
181
+ super(props);
246
182
  this.state = {
247
183
  routes: [],
248
184
  scenes: [],
@@ -257,6 +193,71 @@ class CardStack extends React.Component {
257
193
  headerHeights: {}
258
194
  };
259
195
  }
196
+ handleLayout = e => {
197
+ const {
198
+ height,
199
+ width
200
+ } = e.nativeEvent.layout;
201
+ const layout = {
202
+ width,
203
+ height
204
+ };
205
+ this.setState((state, props) => {
206
+ if (height === state.layout.height && width === state.layout.width) {
207
+ return null;
208
+ }
209
+ return {
210
+ layout,
211
+ headerHeights: getHeaderHeights(state.scenes, props.insets, props.isParentHeaderShown, props.isParentModal, layout, state.headerHeights)
212
+ };
213
+ });
214
+ };
215
+ handleHeaderLayout = _ref => {
216
+ let {
217
+ route,
218
+ height
219
+ } = _ref;
220
+ this.setState(_ref2 => {
221
+ let {
222
+ headerHeights
223
+ } = _ref2;
224
+ const previousHeight = headerHeights[route.key];
225
+ if (previousHeight === height) {
226
+ return null;
227
+ }
228
+ return {
229
+ headerHeights: {
230
+ ...headerHeights,
231
+ [route.key]: height
232
+ }
233
+ };
234
+ });
235
+ };
236
+ getFocusedRoute = () => {
237
+ const {
238
+ state
239
+ } = this.props;
240
+ return state.routes[state.index];
241
+ };
242
+ getPreviousScene = _ref3 => {
243
+ let {
244
+ route
245
+ } = _ref3;
246
+ const {
247
+ getPreviousRoute
248
+ } = this.props;
249
+ const {
250
+ scenes
251
+ } = this.state;
252
+ const previousRoute = getPreviousRoute({
253
+ route
254
+ });
255
+ if (previousRoute) {
256
+ const previousScene = scenes.find(scene => scene.descriptor.route.key === previousRoute.key);
257
+ return previousScene;
258
+ }
259
+ return undefined;
260
+ };
260
261
  render() {
261
262
  const {
262
263
  insets,
@@ -266,7 +267,6 @@ class CardStack extends React.Component {
266
267
  onOpenRoute,
267
268
  onCloseRoute,
268
269
  renderHeader,
269
- renderScene,
270
270
  isParentHeaderShown,
271
271
  isParentModal,
272
272
  onTransitionStart,
@@ -303,11 +303,11 @@ class CardStack extends React.Component {
303
303
  } = scenes[i].descriptor;
304
304
  const {
305
305
  // By default, we don't want to detach the previous screen of the active one for modals
306
- detachPreviousScreen = options.presentation === 'transparentModal' ? false : (0, _Card.getIsModalPresentation)(options.cardStyleInterpolator) ? i !== (0, _findLastIndex.default)(scenes, scene => {
306
+ detachPreviousScreen = options.presentation === 'transparentModal' ? false : getIsModalPresentation(options.cardStyleInterpolator) ? i !== (0, _findLastIndex.findLastIndex)(scenes, scene => {
307
307
  const {
308
308
  cardStyleInterpolator
309
309
  } = scene.descriptor.options;
310
- return cardStyleInterpolator === _CardStyleInterpolators.forModalPresentationIOS || (cardStyleInterpolator === null || cardStyleInterpolator === void 0 ? void 0 : cardStyleInterpolator.name) === 'forModalPresentationIOS';
310
+ return cardStyleInterpolator === _CardStyleInterpolators.forModalPresentationIOS || cardStyleInterpolator?.name === 'forModalPresentationIOS';
311
311
  }) : true
312
312
  } = options;
313
313
  if (detachPreviousScreen === false) {
@@ -340,24 +340,31 @@ class CardStack extends React.Component {
340
340
  enabled: detachInactiveScreens,
341
341
  style: styles.container,
342
342
  onLayout: this.handleLayout
343
- }, routes.map((route, index, self) => {
344
- var _scenes, _scenes2;
343
+ }, [...routes, ...state.preloadedRoutes].map((route, index) => {
345
344
  const focused = focusedRoute.key === route.key;
346
345
  const gesture = gestures[route.key];
347
346
  const scene = scenes[index];
347
+ // It is possible that for a short period the route appears in both arrays.
348
+ // Particularly, if the screen is removed with `retain`, then it needs a moment to execute the animation.
349
+ // However, due to the router action, it immediately populates the `preloadedRoutes` array.
350
+ // Practically, the logic below takes care that it is rendered only once.
351
+ const isPreloaded = state.preloadedRoutes.includes(route) && !routes.includes(route);
352
+ if (state.preloadedRoutes.includes(route) && routes.includes(route) && index >= routes.length) {
353
+ return null;
354
+ }
348
355
 
349
356
  // For the screens that shouldn't be active, the value is 0
350
357
  // For those that should be active, but are not the top screen, the value is 1
351
358
  // For those on top of the stack and with interaction enabled, the value is 2
352
359
  // For the old implementation, it stays the same it was
353
360
  let isScreenActive = 1;
354
- if (index < self.length - activeScreensLimit - 1) {
361
+ if (index < routes.length - activeScreensLimit - 1 || isPreloaded) {
355
362
  // screen should be inactive because it is too deep in the stack
356
363
  isScreenActive = STATE_INACTIVE;
357
364
  } else {
358
- const sceneForActivity = scenes[self.length - 1];
359
- const outputValue = index === self.length - 1 ? STATE_ON_TOP // the screen is on top after the transition
360
- : 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
365
+ const sceneForActivity = scenes[routes.length - 1];
366
+ const outputValue = index === routes.length - 1 ? STATE_ON_TOP // the screen is on top after the transition
367
+ : 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
361
368
  : STATE_INACTIVE; // the screen should be active only during the transition, it is at the edge of activeLimit
362
369
  isScreenActive = sceneForActivity ? sceneForActivity.progress.current.interpolate({
363
370
  inputRange: [0, 1 - EPSILON, 1],
@@ -368,44 +375,33 @@ class CardStack extends React.Component {
368
375
  const {
369
376
  headerShown = true,
370
377
  headerTransparent,
371
- headerStyle,
372
- headerTintColor,
373
- freezeOnBlur
378
+ freezeOnBlur,
379
+ autoHideHomeIndicator
374
380
  } = scene.descriptor.options;
375
381
  const safeAreaInsetTop = insets.top;
376
382
  const safeAreaInsetRight = insets.right;
377
383
  const safeAreaInsetBottom = insets.bottom;
378
384
  const safeAreaInsetLeft = insets.left;
379
385
  const headerHeight = headerShown !== false ? headerHeights[route.key] : 0;
380
- let headerDarkContent;
381
- if (headerShown) {
382
- if (typeof headerTintColor === 'string') {
383
- headerDarkContent = (0, _color.default)(headerTintColor).isDark();
384
- } else {
385
- const flattenedHeaderStyle = _reactNative.StyleSheet.flatten(headerStyle);
386
- if (flattenedHeaderStyle && 'backgroundColor' in flattenedHeaderStyle && typeof flattenedHeaderStyle.backgroundColor === 'string') {
387
- headerDarkContent = !(0, _color.default)(flattenedHeaderStyle.backgroundColor).isDark();
388
- }
389
- }
390
- }
391
386
 
392
387
  // Start from current card and count backwards the number of cards with same interpolation
393
388
  const interpolationIndex = getInterpolationIndex(scenes, index);
394
389
  const isModal = getIsModal(scene, interpolationIndex, isParentModal);
395
- const isNextScreenTransparent = ((_scenes = scenes[index + 1]) === null || _scenes === void 0 ? void 0 : _scenes.descriptor.options.presentation) === 'transparentModal';
396
- const detachCurrentScreen = ((_scenes2 = scenes[index + 1]) === null || _scenes2 === void 0 ? void 0 : _scenes2.descriptor.options.detachPreviousScreen) !== false;
390
+ const isNextScreenTransparent = scenes[index + 1]?.descriptor.options.presentation === 'transparentModal';
391
+ const detachCurrentScreen = scenes[index + 1]?.descriptor.options.detachPreviousScreen !== false;
397
392
  return /*#__PURE__*/React.createElement(_Screens.MaybeScreen, {
398
393
  key: route.key,
399
- style: _reactNative.StyleSheet.absoluteFill,
394
+ style: [_reactNative.StyleSheet.absoluteFill],
400
395
  enabled: detachInactiveScreens,
401
396
  active: isScreenActive,
402
397
  freezeOnBlur: freezeOnBlur,
398
+ homeIndicatorHidden: autoHideHomeIndicator,
403
399
  pointerEvents: "box-none"
404
- }, /*#__PURE__*/React.createElement(_CardContainer.default, {
400
+ }, /*#__PURE__*/React.createElement(_CardContainer.CardContainer, {
405
401
  index: index,
406
402
  interpolationIndex: interpolationIndex,
407
403
  modal: isModal,
408
- active: index === self.length - 1,
404
+ active: index === routes.length - 1,
409
405
  focused: focused,
410
406
  closing: closingRouteKeys.includes(route.key),
411
407
  layout: layout,
@@ -423,21 +419,20 @@ class CardStack extends React.Component {
423
419
  onHeaderHeightChange: this.handleHeaderLayout,
424
420
  getPreviousScene: this.getPreviousScene,
425
421
  getFocusedRoute: this.getFocusedRoute,
426
- headerDarkContent: headerDarkContent,
427
422
  hasAbsoluteFloatHeader: isFloatHeaderAbsolute && !headerTransparent,
428
423
  renderHeader: renderHeader,
429
- renderScene: renderScene,
430
424
  onOpenRoute: onOpenRoute,
431
425
  onCloseRoute: onCloseRoute,
432
426
  onTransitionStart: onTransitionStart,
433
427
  onTransitionEnd: onTransitionEnd,
434
428
  isNextScreenTransparent: isNextScreenTransparent,
435
- detachCurrentScreen: detachCurrentScreen
429
+ detachCurrentScreen: detachCurrentScreen,
430
+ preloaded: isPreloaded
436
431
  }));
437
432
  })), isFloatHeaderAbsolute ? floatingHeader : null);
438
433
  }
439
434
  }
440
- exports.default = CardStack;
435
+ exports.CardStack = CardStack;
441
436
  const styles = _reactNative.StyleSheet.create({
442
437
  container: {
443
438
  flex: 1
@@ -1 +1 @@
1
- {"version":3,"names":["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","getIsModalPresentation","isModal","getHeaderHeights","insets","isParentHeaderShown","layout","previous","reduce","acc","curr","headerStatusBarHeight","top","headerStyle","style","StyleSheet","flatten","height","route","key","getDefaultHeaderHeight","getDistanceFromOptions","presentation","gestureDirection","ModalTransition","DefaultTransition","getDistanceForDirection","getProgressFromGesture","gesture","distance","width","Math","max","interpolate","inputRange","outputRange","CardStack","React","Component","getDerivedStateFromProps","props","state","routes","descriptors","gestures","animationEnabled","Animated","Value","openingRouteKeys","includes","map","self","previousRoute","nextRoute","oldScene","currentGesture","previousGesture","undefined","nextGesture","nextDescriptor","previousDescriptor","optionsForTransitionConfig","length","defaultTransitionPreset","ModalFadeTransition","Platform","OS","gestureEnabled","transitionSpec","forNoAnimationCard","headerStyleInterpolator","cardOverlayEnabled","headerMode","header","progress","current","next","__memo","every","it","headerHeights","constructor","e","nativeEvent","setState","previousHeight","getPreviousRoute","previousScene","find","SafeAreaProviderCompat","initialMetrics","frame","render","closingRouteKeys","onOpenRoute","onCloseRoute","renderHeader","renderScene","onTransitionStart","onTransitionEnd","onGestureStart","onGestureEnd","onGestureCancel","detachInactiveScreens","focusedRoute","focusedHeaderHeight","isFloatHeaderAbsolute","slice","some","headerTransparent","headerShown","activeScreensLimit","detachPreviousScreen","findLastIndex","forModalPresentationIOS","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","Color","isDark","flattenedHeaderStyle","backgroundColor","isNextScreenTransparent","detachCurrentScreen","absoluteFill","create","flex","position","zIndex"],"sourceRoot":"../../src","sources":["CardStack.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["_elements","require","React","_interopRequireWildcard","_reactNative","_CardStyleInterpolators","_TransitionPresets","_findLastIndex","_getDistanceForDirection","_Screens","_CardContainer","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","EPSILON","STATE_INACTIVE","STATE_TRANSITIONING_OR_BELOW_TOP","STATE_ON_TOP","FALLBACK_DESCRIPTOR","freeze","options","getInterpolationIndex","scenes","index","cardStyleInterpolator","descriptor","interpolationIndex","cardStyleInterpolatorCurrent","getIsModalPresentation","forModalPresentationIOS","name","getIsModal","scene","isParentModal","isModalPresentation","isModal","getHeaderHeights","insets","isParentHeaderShown","layout","previous","reduce","acc","curr","headerStatusBarHeight","top","headerStyle","style","StyleSheet","flatten","height","route","key","getDefaultHeaderHeight","getDistanceFromOptions","isRTL","presentation","gestureDirection","ModalTransition","DefaultTransition","getDistanceForDirection","getProgressFromGesture","gesture","distance","width","Math","max","interpolate","inputRange","outputRange","CardStack","Component","getDerivedStateFromProps","props","state","routes","descriptors","gestures","preloadedRoutes","preloadedDescriptors","animationEnabled","Animated","Value","openingRouteKeys","includes","direction","map","self","isPreloaded","previousRoute","undefined","nextRoute","oldScene","currentGesture","previousGesture","nextGesture","nextDescriptor","previousDescriptor","optionsForTransitionConfig","length","defaultTransitionPreset","ModalFadeTransition","Platform","OS","gestureEnabled","transitionSpec","forNoAnimationCard","headerStyleInterpolator","cardOverlayEnabled","headerMode","header","progress","current","next","__memo","every","it","headerHeights","constructor","SafeAreaProviderCompat","initialMetrics","frame","handleLayout","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","findLastIndex","floatingHeader","createElement","Fragment","mode","onContentHeightChange","styles","floating","absolute","Background","MaybeScreenContainer","enabled","container","onLayout","focused","isScreenActive","sceneForActivity","outputValue","extrapolate","freezeOnBlur","autoHideHomeIndicator","safeAreaInsetTop","safeAreaInsetRight","right","safeAreaInsetBottom","bottom","safeAreaInsetLeft","left","headerHeight","isNextScreenTransparent","detachCurrentScreen","MaybeScreen","absoluteFill","active","homeIndicatorHidden","pointerEvents","CardContainer","modal","closing","onHeaderHeightChange","hasAbsoluteFloatHeader","preloaded","exports","create","flex","position","zIndex"],"sourceRoot":"../../../../src","sources":["views/Stack/CardStack.tsx"],"mappings":"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"}