@react-navigation/stack 6.3.8 → 6.3.9

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 (186) hide show
  1. package/lib/commonjs/TransitionConfigs/CardStyleInterpolators.js +12 -22
  2. package/lib/commonjs/TransitionConfigs/CardStyleInterpolators.js.map +1 -1
  3. package/lib/commonjs/TransitionConfigs/HeaderStyleInterpolators.js +11 -16
  4. package/lib/commonjs/TransitionConfigs/HeaderStyleInterpolators.js.map +1 -1
  5. package/lib/commonjs/TransitionConfigs/TransitionPresets.js +10 -19
  6. package/lib/commonjs/TransitionConfigs/TransitionPresets.js.map +1 -1
  7. package/lib/commonjs/TransitionConfigs/TransitionSpecs.js +6 -8
  8. package/lib/commonjs/TransitionConfigs/TransitionSpecs.js.map +1 -1
  9. package/lib/commonjs/index.js +0 -18
  10. package/lib/commonjs/index.js.map +1 -1
  11. package/lib/commonjs/navigators/createStackNavigator.js +9 -17
  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 +0 -5
  15. package/lib/commonjs/utils/CardAnimationContext.js.map +1 -1
  16. package/lib/commonjs/utils/GestureHandlerRefContext.js +0 -5
  17. package/lib/commonjs/utils/GestureHandlerRefContext.js.map +1 -1
  18. package/lib/commonjs/utils/ModalPresentationContext.js +0 -4
  19. package/lib/commonjs/utils/ModalPresentationContext.js.map +1 -1
  20. package/lib/commonjs/utils/conditional.js +1 -3
  21. package/lib/commonjs/utils/conditional.js.map +1 -1
  22. package/lib/commonjs/utils/debounce.js +0 -2
  23. package/lib/commonjs/utils/debounce.js.map +1 -1
  24. package/lib/commonjs/utils/getDistanceForDirection.js +0 -5
  25. package/lib/commonjs/utils/getDistanceForDirection.js.map +1 -1
  26. package/lib/commonjs/utils/getInvertedMultiplier.js +0 -5
  27. package/lib/commonjs/utils/getInvertedMultiplier.js.map +1 -1
  28. package/lib/commonjs/utils/memoize.js +0 -6
  29. package/lib/commonjs/utils/memoize.js.map +1 -1
  30. package/lib/commonjs/utils/useCardAnimation.js +0 -8
  31. package/lib/commonjs/utils/useCardAnimation.js.map +1 -1
  32. package/lib/commonjs/utils/useGestureHandlerRef.js +0 -8
  33. package/lib/commonjs/utils/useGestureHandlerRef.js.map +1 -1
  34. package/lib/commonjs/utils/useKeyboardManager.js +14 -20
  35. package/lib/commonjs/utils/useKeyboardManager.js.map +1 -1
  36. package/lib/commonjs/views/GestureHandler.android.js +0 -2
  37. package/lib/commonjs/views/GestureHandler.android.js.map +1 -1
  38. package/lib/commonjs/views/GestureHandler.ios.js +0 -2
  39. package/lib/commonjs/views/GestureHandler.ios.js.map +1 -1
  40. package/lib/commonjs/views/GestureHandler.js +0 -6
  41. package/lib/commonjs/views/GestureHandler.js.map +1 -1
  42. package/lib/commonjs/views/GestureHandlerNative.js +0 -8
  43. package/lib/commonjs/views/GestureHandlerNative.js.map +1 -1
  44. package/lib/commonjs/views/Header/Header.js +7 -18
  45. package/lib/commonjs/views/Header/Header.js.map +1 -1
  46. package/lib/commonjs/views/Header/HeaderContainer.js +10 -23
  47. package/lib/commonjs/views/Header/HeaderContainer.js.map +1 -1
  48. package/lib/commonjs/views/Header/HeaderSegment.js +6 -20
  49. package/lib/commonjs/views/Header/HeaderSegment.js.map +1 -1
  50. package/lib/commonjs/views/ModalStatusBarManager.js +1 -11
  51. package/lib/commonjs/views/ModalStatusBarManager.js.map +1 -1
  52. package/lib/commonjs/views/Screens.js +2 -16
  53. package/lib/commonjs/views/Screens.js.map +1 -1
  54. package/lib/commonjs/views/Stack/Card.js +17 -80
  55. package/lib/commonjs/views/Stack/Card.js.map +1 -1
  56. package/lib/commonjs/views/Stack/CardContainer.js +3 -30
  57. package/lib/commonjs/views/Stack/CardContainer.js.map +1 -1
  58. package/lib/commonjs/views/Stack/CardSheet.js +2 -11
  59. package/lib/commonjs/views/Stack/CardSheet.js.map +1 -1
  60. package/lib/commonjs/views/Stack/CardStack.js +23 -78
  61. package/lib/commonjs/views/Stack/CardStack.js.map +1 -1
  62. package/lib/commonjs/views/Stack/StackView.js +33 -65
  63. package/lib/commonjs/views/Stack/StackView.js.map +1 -1
  64. package/lib/module/TransitionConfigs/CardStyleInterpolators.js +12 -10
  65. package/lib/module/TransitionConfigs/CardStyleInterpolators.js.map +1 -1
  66. package/lib/module/TransitionConfigs/HeaderStyleInterpolators.js +11 -9
  67. package/lib/module/TransitionConfigs/HeaderStyleInterpolators.js.map +1 -1
  68. package/lib/module/TransitionConfigs/TransitionPresets.js +10 -10
  69. package/lib/module/TransitionConfigs/TransitionPresets.js.map +1 -1
  70. package/lib/module/TransitionConfigs/TransitionSpecs.js +6 -7
  71. package/lib/module/TransitionConfigs/TransitionSpecs.js.map +1 -1
  72. package/lib/module/index.js +5 -4
  73. package/lib/module/index.js.map +1 -1
  74. package/lib/module/navigators/createStackNavigator.js +9 -9
  75. package/lib/module/navigators/createStackNavigator.js.map +1 -1
  76. package/lib/module/types.js.map +1 -1
  77. package/lib/module/utils/CardAnimationContext.js.map +1 -1
  78. package/lib/module/utils/GestureHandlerRefContext.js.map +1 -1
  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 +0 -1
  83. package/lib/module/utils/debounce.js.map +1 -1
  84. package/lib/module/utils/getDistanceForDirection.js +0 -2
  85. package/lib/module/utils/getDistanceForDirection.js.map +1 -1
  86. package/lib/module/utils/getInvertedMultiplier.js +0 -3
  87. package/lib/module/utils/getInvertedMultiplier.js.map +1 -1
  88. package/lib/module/utils/memoize.js +0 -5
  89. package/lib/module/utils/memoize.js.map +1 -1
  90. package/lib/module/utils/useCardAnimation.js +0 -2
  91. package/lib/module/utils/useCardAnimation.js.map +1 -1
  92. package/lib/module/utils/useGestureHandlerRef.js +0 -2
  93. package/lib/module/utils/useGestureHandlerRef.js.map +1 -1
  94. package/lib/module/utils/useKeyboardManager.js +14 -13
  95. package/lib/module/utils/useKeyboardManager.js.map +1 -1
  96. package/lib/module/views/GestureHandler.android.js.map +1 -1
  97. package/lib/module/views/GestureHandler.ios.js.map +1 -1
  98. package/lib/module/views/GestureHandler.js +0 -2
  99. package/lib/module/views/GestureHandler.js.map +1 -1
  100. package/lib/module/views/GestureHandlerNative.js +0 -1
  101. package/lib/module/views/GestureHandlerNative.js.map +1 -1
  102. package/lib/module/views/Header/Header.js +7 -6
  103. package/lib/module/views/Header/Header.js.map +1 -1
  104. package/lib/module/views/Header/HeaderContainer.js +10 -12
  105. package/lib/module/views/Header/HeaderContainer.js.map +1 -1
  106. package/lib/module/views/Header/HeaderSegment.js +6 -10
  107. package/lib/module/views/Header/HeaderSegment.js.map +1 -1
  108. package/lib/module/views/ModalStatusBarManager.js +1 -3
  109. package/lib/module/views/ModalStatusBarManager.js.map +1 -1
  110. package/lib/module/views/Screens.js +2 -8
  111. package/lib/module/views/Screens.js.map +1 -1
  112. package/lib/module/views/Stack/Card.js +17 -58
  113. package/lib/module/views/Stack/Card.js.map +1 -1
  114. package/lib/module/views/Stack/CardContainer.js +3 -17
  115. package/lib/module/views/Stack/CardContainer.js.map +1 -1
  116. package/lib/module/views/Stack/CardSheet.js +2 -4
  117. package/lib/module/views/Stack/CardSheet.js.map +1 -1
  118. package/lib/module/views/Stack/CardStack.js +23 -60
  119. package/lib/module/views/Stack/CardStack.js.map +1 -1
  120. package/lib/module/views/Stack/StackView.js +34 -51
  121. package/lib/module/views/Stack/StackView.js.map +1 -1
  122. package/lib/typescript/src/TransitionConfigs/CardStyleInterpolators.d.ts +1 -0
  123. package/lib/typescript/src/TransitionConfigs/CardStyleInterpolators.d.ts.map +1 -0
  124. package/lib/typescript/src/TransitionConfigs/HeaderStyleInterpolators.d.ts +1 -0
  125. package/lib/typescript/src/TransitionConfigs/HeaderStyleInterpolators.d.ts.map +1 -0
  126. package/lib/typescript/src/TransitionConfigs/TransitionPresets.d.ts +1 -0
  127. package/lib/typescript/src/TransitionConfigs/TransitionPresets.d.ts.map +1 -0
  128. package/lib/typescript/src/TransitionConfigs/TransitionSpecs.d.ts +1 -0
  129. package/lib/typescript/src/TransitionConfigs/TransitionSpecs.d.ts.map +1 -0
  130. package/lib/typescript/src/index.d.ts +1 -0
  131. package/lib/typescript/src/index.d.ts.map +1 -0
  132. package/lib/typescript/src/navigators/createStackNavigator.d.ts +1 -0
  133. package/lib/typescript/src/navigators/createStackNavigator.d.ts.map +1 -0
  134. package/lib/typescript/src/types.d.ts +1 -0
  135. package/lib/typescript/src/types.d.ts.map +1 -0
  136. package/lib/typescript/src/utils/CardAnimationContext.d.ts +1 -0
  137. package/lib/typescript/src/utils/CardAnimationContext.d.ts.map +1 -0
  138. package/lib/typescript/src/utils/GestureHandlerRefContext.d.ts +1 -0
  139. package/lib/typescript/src/utils/GestureHandlerRefContext.d.ts.map +1 -0
  140. package/lib/typescript/src/utils/ModalPresentationContext.d.ts +1 -0
  141. package/lib/typescript/src/utils/ModalPresentationContext.d.ts.map +1 -0
  142. package/lib/typescript/src/utils/conditional.d.ts +1 -0
  143. package/lib/typescript/src/utils/conditional.d.ts.map +1 -0
  144. package/lib/typescript/src/utils/debounce.d.ts +1 -0
  145. package/lib/typescript/src/utils/debounce.d.ts.map +1 -0
  146. package/lib/typescript/src/utils/getDistanceForDirection.d.ts +1 -0
  147. package/lib/typescript/src/utils/getDistanceForDirection.d.ts.map +1 -0
  148. package/lib/typescript/src/utils/getInvertedMultiplier.d.ts +1 -0
  149. package/lib/typescript/src/utils/getInvertedMultiplier.d.ts.map +1 -0
  150. package/lib/typescript/src/utils/memoize.d.ts +1 -0
  151. package/lib/typescript/src/utils/memoize.d.ts.map +1 -0
  152. package/lib/typescript/src/utils/useCardAnimation.d.ts +1 -0
  153. package/lib/typescript/src/utils/useCardAnimation.d.ts.map +1 -0
  154. package/lib/typescript/src/utils/useGestureHandlerRef.d.ts +1 -0
  155. package/lib/typescript/src/utils/useGestureHandlerRef.d.ts.map +1 -0
  156. package/lib/typescript/src/utils/useKeyboardManager.d.ts +1 -0
  157. package/lib/typescript/src/utils/useKeyboardManager.d.ts.map +1 -0
  158. package/lib/typescript/src/views/GestureHandler.android.d.ts +1 -0
  159. package/lib/typescript/src/views/GestureHandler.android.d.ts.map +1 -0
  160. package/lib/typescript/src/views/GestureHandler.d.ts +1 -0
  161. package/lib/typescript/src/views/GestureHandler.d.ts.map +1 -0
  162. package/lib/typescript/src/views/GestureHandler.ios.d.ts +1 -0
  163. package/lib/typescript/src/views/GestureHandler.ios.d.ts.map +1 -0
  164. package/lib/typescript/src/views/GestureHandlerNative.d.ts +1 -0
  165. package/lib/typescript/src/views/GestureHandlerNative.d.ts.map +1 -0
  166. package/lib/typescript/src/views/Header/Header.d.ts +1 -0
  167. package/lib/typescript/src/views/Header/Header.d.ts.map +1 -0
  168. package/lib/typescript/src/views/Header/HeaderContainer.d.ts +1 -0
  169. package/lib/typescript/src/views/Header/HeaderContainer.d.ts.map +1 -0
  170. package/lib/typescript/src/views/Header/HeaderSegment.d.ts +1 -0
  171. package/lib/typescript/src/views/Header/HeaderSegment.d.ts.map +1 -0
  172. package/lib/typescript/src/views/ModalStatusBarManager.d.ts +1 -0
  173. package/lib/typescript/src/views/ModalStatusBarManager.d.ts.map +1 -0
  174. package/lib/typescript/src/views/Screens.d.ts +1 -0
  175. package/lib/typescript/src/views/Screens.d.ts.map +1 -0
  176. package/lib/typescript/src/views/Stack/Card.d.ts +1 -0
  177. package/lib/typescript/src/views/Stack/Card.d.ts.map +1 -0
  178. package/lib/typescript/src/views/Stack/CardContainer.d.ts +1 -0
  179. package/lib/typescript/src/views/Stack/CardContainer.d.ts.map +1 -0
  180. package/lib/typescript/src/views/Stack/CardSheet.d.ts +1 -0
  181. package/lib/typescript/src/views/Stack/CardSheet.d.ts.map +1 -0
  182. package/lib/typescript/src/views/Stack/CardStack.d.ts +1 -0
  183. package/lib/typescript/src/views/Stack/CardStack.d.ts.map +1 -0
  184. package/lib/typescript/src/views/Stack/StackView.d.ts +1 -0
  185. package/lib/typescript/src/views/Stack/StackView.d.ts.map +1 -0
  186. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"names":["getHeaderTitle","HeaderBackContext","HeaderHeightContext","HeaderShownContext","useTheme","React","StyleSheet","View","ModalPresentationContext","useKeyboardManager","Card","EPSILON","CardContainer","interpolationIndex","index","active","closing","gesture","focused","modal","getPreviousScene","getFocusedRoute","headerDarkContent","hasAbsoluteFloatHeader","headerHeight","onHeaderHeightChange","isParentHeaderShown","isNextScreenTransparent","detachCurrentScreen","layout","onCloseRoute","onOpenRoute","onGestureCancel","onGestureEnd","onGestureStart","onTransitionEnd","onTransitionStart","renderHeader","renderScene","safeAreaInsetBottom","safeAreaInsetLeft","safeAreaInsetRight","safeAreaInsetTop","scene","parentHeaderHeight","useContext","onPageChangeStart","onPageChangeCancel","onPageChangeConfirm","useCallback","options","navigation","descriptor","isFocused","keyboardHandlingEnabled","handleOpen","route","handleClose","handleGestureBegin","handleGestureCanceled","handleGestureEnd","handleTransition","insets","top","right","bottom","left","colors","pointerEvents","setPointerEvents","useState","useEffect","listener","progress","next","addListener","value","removeListener","presentation","animationEnabled","cardOverlay","cardOverlayEnabled","cardShadowEnabled","cardStyle","cardStyleInterpolator","gestureDirection","gestureEnabled","gestureResponseDistance","gestureVelocityImpact","headerMode","headerShown","transitionSpec","previousScene","backTitle","name","headerBack","useMemo","undefined","title","current","marginTop","backgroundColor","background","overflow","display","absoluteFill","styles","container","mode","scenes","onContentHeightChange","memo","create","flex","flexDirection"],"sources":["CardContainer.tsx"],"sourcesContent":["import {\n getHeaderTitle,\n HeaderBackContext,\n HeaderHeightContext,\n HeaderShownContext,\n} from '@react-navigation/elements';\nimport { Route, useTheme } from '@react-navigation/native';\nimport * as React from 'react';\nimport { Animated, StyleSheet, View } from 'react-native';\n\nimport type { Layout, Scene } from '../../types';\nimport ModalPresentationContext from '../../utils/ModalPresentationContext';\nimport useKeyboardManager from '../../utils/useKeyboardManager';\nimport type { Props as HeaderContainerProps } from '../Header/HeaderContainer';\nimport Card from './Card';\n\ntype Props = {\n interpolationIndex: number;\n index: number;\n active: boolean;\n focused: boolean;\n closing: boolean;\n modal: boolean;\n layout: Layout;\n gesture: Animated.Value;\n scene: Scene;\n headerDarkContent: boolean | undefined;\n safeAreaInsetTop: number;\n safeAreaInsetRight: number;\n safeAreaInsetBottom: number;\n safeAreaInsetLeft: number;\n getPreviousScene: (props: { route: Route<string> }) => Scene | undefined;\n getFocusedRoute: () => Route<string>;\n renderHeader: (props: HeaderContainerProps) => React.ReactNode;\n renderScene: (props: { route: Route<string> }) => React.ReactNode;\n onOpenRoute: (props: { route: Route<string> }) => void;\n onCloseRoute: (props: { route: Route<string> }) => void;\n onTransitionStart: (\n props: { route: Route<string> },\n closing: boolean\n ) => void;\n onTransitionEnd: (props: { route: Route<string> }, closing: boolean) => void;\n onGestureStart: (props: { route: Route<string> }) => void;\n onGestureEnd: (props: { route: Route<string> }) => void;\n onGestureCancel: (props: { route: Route<string> }) => void;\n hasAbsoluteFloatHeader: boolean;\n headerHeight: number;\n onHeaderHeightChange: (props: {\n route: Route<string>;\n height: number;\n }) => void;\n isParentHeaderShown: boolean;\n isNextScreenTransparent: boolean;\n detachCurrentScreen: boolean;\n};\n\nconst EPSILON = 0.1;\n\nfunction CardContainer({\n interpolationIndex,\n index,\n active,\n closing,\n gesture,\n focused,\n modal,\n getPreviousScene,\n getFocusedRoute,\n headerDarkContent,\n hasAbsoluteFloatHeader,\n headerHeight,\n onHeaderHeightChange,\n isParentHeaderShown,\n isNextScreenTransparent,\n detachCurrentScreen,\n layout,\n onCloseRoute,\n onOpenRoute,\n onGestureCancel,\n onGestureEnd,\n onGestureStart,\n onTransitionEnd,\n onTransitionStart,\n renderHeader,\n renderScene,\n safeAreaInsetBottom,\n safeAreaInsetLeft,\n safeAreaInsetRight,\n safeAreaInsetTop,\n scene,\n}: Props) {\n const parentHeaderHeight = React.useContext(HeaderHeightContext);\n\n const { onPageChangeStart, onPageChangeCancel, onPageChangeConfirm } =\n useKeyboardManager(\n React.useCallback(() => {\n const { options, navigation } = scene.descriptor;\n\n return (\n navigation.isFocused() && options.keyboardHandlingEnabled !== false\n );\n }, [scene.descriptor])\n );\n\n const handleOpen = () => {\n const { route } = scene.descriptor;\n\n onTransitionEnd({ route }, false);\n onOpenRoute({ route });\n };\n\n const handleClose = () => {\n const { route } = scene.descriptor;\n\n onTransitionEnd({ route }, true);\n onCloseRoute({ route });\n };\n\n const handleGestureBegin = () => {\n const { route } = scene.descriptor;\n\n onPageChangeStart();\n onGestureStart({ route });\n };\n\n const handleGestureCanceled = () => {\n const { route } = scene.descriptor;\n\n onPageChangeCancel();\n onGestureCancel({ route });\n };\n\n const handleGestureEnd = () => {\n const { route } = scene.descriptor;\n\n onGestureEnd({ route });\n };\n\n const handleTransition = ({\n closing,\n gesture,\n }: {\n closing: boolean;\n gesture: boolean;\n }) => {\n const { route } = scene.descriptor;\n\n if (!gesture) {\n onPageChangeConfirm?.(true);\n } else if (active && closing) {\n onPageChangeConfirm?.(false);\n } else {\n onPageChangeCancel?.();\n }\n\n onTransitionStart?.({ route }, closing);\n };\n\n const insets = {\n top: safeAreaInsetTop,\n right: safeAreaInsetRight,\n bottom: safeAreaInsetBottom,\n left: safeAreaInsetLeft,\n };\n\n const { colors } = useTheme();\n\n const [pointerEvents, setPointerEvents] = React.useState<'box-none' | 'none'>(\n 'box-none'\n );\n\n React.useEffect(() => {\n const listener = scene.progress.next?.addListener?.(\n ({ value }: { value: number }) => {\n setPointerEvents(value <= EPSILON ? 'box-none' : 'none');\n }\n );\n\n return () => {\n if (listener) {\n scene.progress.next?.removeListener?.(listener);\n }\n };\n }, [pointerEvents, scene.progress.next]);\n\n const {\n presentation,\n animationEnabled,\n cardOverlay,\n cardOverlayEnabled,\n cardShadowEnabled,\n cardStyle,\n cardStyleInterpolator,\n gestureDirection,\n gestureEnabled,\n gestureResponseDistance,\n gestureVelocityImpact,\n headerMode,\n headerShown,\n transitionSpec,\n } = scene.descriptor.options;\n\n const previousScene = getPreviousScene({ route: scene.descriptor.route });\n\n let backTitle: string | undefined;\n\n if (previousScene) {\n const { options, route } = previousScene.descriptor;\n\n backTitle = getHeaderTitle(options, route.name);\n }\n\n const headerBack = React.useMemo(\n () => (backTitle !== undefined ? { title: backTitle } : undefined),\n [backTitle]\n );\n\n return (\n <Card\n interpolationIndex={interpolationIndex}\n gestureDirection={gestureDirection}\n layout={layout}\n insets={insets}\n gesture={gesture}\n current={scene.progress.current}\n next={scene.progress.next}\n closing={closing}\n onOpen={handleOpen}\n onClose={handleClose}\n overlay={cardOverlay}\n overlayEnabled={cardOverlayEnabled}\n shadowEnabled={cardShadowEnabled}\n onTransition={handleTransition}\n onGestureBegin={handleGestureBegin}\n onGestureCanceled={handleGestureCanceled}\n onGestureEnd={handleGestureEnd}\n gestureEnabled={index === 0 ? false : gestureEnabled}\n gestureResponseDistance={gestureResponseDistance}\n gestureVelocityImpact={gestureVelocityImpact}\n transitionSpec={transitionSpec}\n styleInterpolator={cardStyleInterpolator}\n accessibilityElementsHidden={!focused}\n importantForAccessibility={focused ? 'auto' : 'no-hide-descendants'}\n pointerEvents={active ? 'box-none' : pointerEvents}\n pageOverflowEnabled={headerMode !== 'float' && presentation !== 'modal'}\n headerDarkContent={headerDarkContent}\n containerStyle={\n hasAbsoluteFloatHeader && headerMode !== 'screen'\n ? { marginTop: headerHeight }\n : null\n }\n contentStyle={[\n {\n backgroundColor:\n presentation === 'transparentModal'\n ? 'transparent'\n : colors.background,\n },\n cardStyle,\n ]}\n style={[\n {\n // This is necessary to avoid unfocused larger pages increasing scroll area\n // The issue can be seen on the web when a smaller screen is pushed over a larger one\n overflow: active ? undefined : 'hidden',\n display:\n // Hide unfocused screens when animation isn't enabled\n // This is also necessary for a11y on web\n animationEnabled === false &&\n isNextScreenTransparent === false &&\n detachCurrentScreen !== false &&\n !focused\n ? 'none'\n : 'flex',\n },\n StyleSheet.absoluteFill,\n ]}\n >\n <View style={styles.container}>\n <ModalPresentationContext.Provider value={modal}>\n <View style={styles.scene}>\n <HeaderBackContext.Provider value={headerBack}>\n <HeaderShownContext.Provider\n value={isParentHeaderShown || headerShown !== false}\n >\n <HeaderHeightContext.Provider\n value={headerShown ? headerHeight : parentHeaderHeight ?? 0}\n >\n {renderScene({ route: scene.descriptor.route })}\n </HeaderHeightContext.Provider>\n </HeaderShownContext.Provider>\n </HeaderBackContext.Provider>\n </View>\n {headerMode !== 'float'\n ? renderHeader({\n mode: 'screen',\n layout,\n scenes: [previousScene, scene],\n getPreviousScene,\n getFocusedRoute,\n onContentHeightChange: onHeaderHeightChange,\n })\n : null}\n </ModalPresentationContext.Provider>\n </View>\n </Card>\n );\n}\n\nexport default React.memo(CardContainer);\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n flexDirection: 'column-reverse',\n },\n scene: {\n flex: 1,\n },\n});\n"],"mappings":"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"}
1
+ {"version":3,"names":["getHeaderTitle","HeaderBackContext","HeaderHeightContext","HeaderShownContext","useTheme","React","StyleSheet","View","ModalPresentationContext","useKeyboardManager","Card","EPSILON","CardContainer","interpolationIndex","index","active","closing","gesture","focused","modal","getPreviousScene","getFocusedRoute","headerDarkContent","hasAbsoluteFloatHeader","headerHeight","onHeaderHeightChange","isParentHeaderShown","isNextScreenTransparent","detachCurrentScreen","layout","onCloseRoute","onOpenRoute","onGestureCancel","onGestureEnd","onGestureStart","onTransitionEnd","onTransitionStart","renderHeader","renderScene","safeAreaInsetBottom","safeAreaInsetLeft","safeAreaInsetRight","safeAreaInsetTop","scene","parentHeaderHeight","useContext","onPageChangeStart","onPageChangeCancel","onPageChangeConfirm","useCallback","options","navigation","descriptor","isFocused","keyboardHandlingEnabled","handleOpen","route","handleClose","handleGestureBegin","handleGestureCanceled","handleGestureEnd","handleTransition","insets","top","right","bottom","left","colors","pointerEvents","setPointerEvents","useState","useEffect","listener","progress","next","addListener","value","removeListener","presentation","animationEnabled","cardOverlay","cardOverlayEnabled","cardShadowEnabled","cardStyle","cardStyleInterpolator","gestureDirection","gestureEnabled","gestureResponseDistance","gestureVelocityImpact","headerMode","headerShown","transitionSpec","previousScene","backTitle","name","headerBack","useMemo","undefined","title","current","marginTop","backgroundColor","background","overflow","display","absoluteFill","styles","container","mode","scenes","onContentHeightChange","memo","create","flex","flexDirection"],"sourceRoot":"../../src","sources":["CardContainer.tsx"],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
-
3
2
  import * as React from 'react';
4
3
  import { StyleSheet, View } from 'react-native';
5
4
  // This component will render a page which overflows the screen
@@ -13,9 +12,9 @@ export default /*#__PURE__*/React.forwardRef(function CardSheet(_ref, ref) {
13
12
  style,
14
13
  ...rest
15
14
  } = _ref;
16
- const [fill, setFill] = React.useState(false); // To avoid triggering a rerender in Card during animation we had to move
15
+ const [fill, setFill] = React.useState(false);
16
+ // To avoid triggering a rerender in Card during animation we had to move
17
17
  // the state to CardSheet. The `setPointerEvents` is then hoisted back to the Card.
18
-
19
18
  const [pointerEvents, setPointerEvents] = React.useState('auto');
20
19
  React.useImperativeHandle(ref, () => {
21
20
  return {
@@ -27,7 +26,6 @@ export default /*#__PURE__*/React.forwardRef(function CardSheet(_ref, ref) {
27
26
  // Only run when DOM is available
28
27
  return;
29
28
  }
30
-
31
29
  const width = document.body.clientWidth;
32
30
  const height = document.body.clientHeight;
33
31
  setFill(width === layout.width && height === layout.height);
@@ -1 +1 @@
1
- {"version":3,"names":["React","StyleSheet","View","forwardRef","CardSheet","ref","enabled","layout","style","rest","fill","setFill","useState","pointerEvents","setPointerEvents","useImperativeHandle","useEffect","document","body","width","clientWidth","height","clientHeight","styles","page","card","create","minHeight","flex","overflow"],"sources":["CardSheet.tsx"],"sourcesContent":["import * as React from 'react';\nimport { StyleSheet, View, ViewProps } from 'react-native';\n\ntype Props = ViewProps & {\n enabled: boolean;\n layout: { width: number; height: number };\n children: React.ReactNode;\n};\n\nexport type CardSheetRef = {\n setPointerEvents: React.Dispatch<ViewProps['pointerEvents']>;\n};\n\n// This component will render a page which overflows the screen\n// if the container fills the body by comparing the size\n// This lets the document.body handle scrolling of the content\n// It's necessary for mobile browsers to be able to hide address bar on scroll\nexport default React.forwardRef<CardSheetRef, Props>(function CardSheet(\n { enabled, layout, style, ...rest },\n ref\n) {\n const [fill, setFill] = React.useState(false);\n // To avoid triggering a rerender in Card during animation we had to move\n // the state to CardSheet. The `setPointerEvents` is then hoisted back to the Card.\n const [pointerEvents, setPointerEvents] =\n React.useState<ViewProps['pointerEvents']>('auto');\n\n React.useImperativeHandle(ref, () => {\n return { setPointerEvents };\n });\n\n React.useEffect(() => {\n if (typeof document === 'undefined' || !document.body) {\n // Only run when DOM is available\n return;\n }\n\n const width = document.body.clientWidth;\n const height = document.body.clientHeight;\n\n setFill(width === layout.width && height === layout.height);\n }, [layout.height, layout.width]);\n\n return (\n <View\n {...rest}\n pointerEvents={pointerEvents}\n style={[enabled && fill ? styles.page : styles.card, style]}\n />\n );\n});\n\nconst styles = StyleSheet.create({\n page: {\n minHeight: '100%',\n },\n card: {\n flex: 1,\n overflow: 'hidden',\n },\n});\n"],"mappings":";;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,UAAT,EAAqBC,IAArB,QAA4C,cAA5C;AAYA;AACA;AACA;AACA;AACA,4BAAeF,KAAK,CAACG,UAAN,CAAsC,SAASC,SAAT,OAEnDC,GAFmD,EAGnD;EAAA,IAFA;IAAEC,OAAF;IAAWC,MAAX;IAAmBC,KAAnB;IAA0B,GAAGC;EAA7B,CAEA;EACA,MAAM,CAACC,IAAD,EAAOC,OAAP,IAAkBX,KAAK,CAACY,QAAN,CAAe,KAAf,CAAxB,CADA,CAEA;EACA;;EACA,MAAM,CAACC,aAAD,EAAgBC,gBAAhB,IACJd,KAAK,CAACY,QAAN,CAA2C,MAA3C,CADF;EAGAZ,KAAK,CAACe,mBAAN,CAA0BV,GAA1B,EAA+B,MAAM;IACnC,OAAO;MAAES;IAAF,CAAP;EACD,CAFD;EAIAd,KAAK,CAACgB,SAAN,CAAgB,MAAM;IACpB,IAAI,OAAOC,QAAP,KAAoB,WAApB,IAAmC,CAACA,QAAQ,CAACC,IAAjD,EAAuD;MACrD;MACA;IACD;;IAED,MAAMC,KAAK,GAAGF,QAAQ,CAACC,IAAT,CAAcE,WAA5B;IACA,MAAMC,MAAM,GAAGJ,QAAQ,CAACC,IAAT,CAAcI,YAA7B;IAEAX,OAAO,CAACQ,KAAK,KAAKZ,MAAM,CAACY,KAAjB,IAA0BE,MAAM,KAAKd,MAAM,CAACc,MAA7C,CAAP;EACD,CAVD,EAUG,CAACd,MAAM,CAACc,MAAR,EAAgBd,MAAM,CAACY,KAAvB,CAVH;EAYA,oBACE,oBAAC,IAAD,eACMV,IADN;IAEE,aAAa,EAAEI,aAFjB;IAGE,KAAK,EAAE,CAACP,OAAO,IAAII,IAAX,GAAkBa,MAAM,CAACC,IAAzB,GAAgCD,MAAM,CAACE,IAAxC,EAA8CjB,KAA9C;EAHT,GADF;AAOD,CAjCc,CAAf;AAmCA,MAAMe,MAAM,GAAGtB,UAAU,CAACyB,MAAX,CAAkB;EAC/BF,IAAI,EAAE;IACJG,SAAS,EAAE;EADP,CADyB;EAI/BF,IAAI,EAAE;IACJG,IAAI,EAAE,CADF;IAEJC,QAAQ,EAAE;EAFN;AAJyB,CAAlB,CAAf"}
1
+ {"version":3,"names":["React","StyleSheet","View","forwardRef","CardSheet","ref","enabled","layout","style","rest","fill","setFill","useState","pointerEvents","setPointerEvents","useImperativeHandle","useEffect","document","body","width","clientWidth","height","clientHeight","styles","page","card","create","minHeight","flex","overflow"],"sourceRoot":"../../src","sources":["CardSheet.tsx"],"mappings":";AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,UAAU,EAAEC,IAAI,QAAmB,cAAc;AAY1D;AACA;AACA;AACA;AACA,4BAAeF,KAAK,CAACG,UAAU,CAAsB,SAASC,SAAS,OAErEC,GAAG,EACH;EAAA,IAFA;IAAEC,OAAO;IAAEC,MAAM;IAAEC,KAAK;IAAE,GAAGC;EAAK,CAAC;EAGnC,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAGX,KAAK,CAACY,QAAQ,CAAC,KAAK,CAAC;EAC7C;EACA;EACA,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GACrCd,KAAK,CAACY,QAAQ,CAA6B,MAAM,CAAC;EAEpDZ,KAAK,CAACe,mBAAmB,CAACV,GAAG,EAAE,MAAM;IACnC,OAAO;MAAES;IAAiB,CAAC;EAC7B,CAAC,CAAC;EAEFd,KAAK,CAACgB,SAAS,CAAC,MAAM;IACpB,IAAI,OAAOC,QAAQ,KAAK,WAAW,IAAI,CAACA,QAAQ,CAACC,IAAI,EAAE;MACrD;MACA;IACF;IAEA,MAAMC,KAAK,GAAGF,QAAQ,CAACC,IAAI,CAACE,WAAW;IACvC,MAAMC,MAAM,GAAGJ,QAAQ,CAACC,IAAI,CAACI,YAAY;IAEzCX,OAAO,CAACQ,KAAK,KAAKZ,MAAM,CAACY,KAAK,IAAIE,MAAM,KAAKd,MAAM,CAACc,MAAM,CAAC;EAC7D,CAAC,EAAE,CAACd,MAAM,CAACc,MAAM,EAAEd,MAAM,CAACY,KAAK,CAAC,CAAC;EAEjC,oBACE,oBAAC,IAAI,eACCV,IAAI;IACR,aAAa,EAAEI,aAAc;IAC7B,KAAK,EAAE,CAACP,OAAO,IAAII,IAAI,GAAGa,MAAM,CAACC,IAAI,GAAGD,MAAM,CAACE,IAAI,EAAEjB,KAAK;EAAE,GAC5D;AAEN,CAAC,CAAC;AAEF,MAAMe,MAAM,GAAGtB,UAAU,CAACyB,MAAM,CAAC;EAC/BF,IAAI,EAAE;IACJG,SAAS,EAAE;EACb,CAAC;EACDF,IAAI,EAAE;IACJG,IAAI,EAAE,CAAC;IACPC,QAAQ,EAAE;EACZ;AACF,CAAC,CAAC"}
@@ -1,5 +1,6 @@
1
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
-
1
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
3
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
3
4
  import { Background, getDefaultHeaderHeight, SafeAreaProviderCompat } from '@react-navigation/elements';
4
5
  import Color from 'color';
5
6
  import * as React from 'react';
@@ -17,34 +18,27 @@ const STATE_ON_TOP = 2;
17
18
  const FALLBACK_DESCRIPTOR = Object.freeze({
18
19
  options: {}
19
20
  });
20
-
21
21
  const getInterpolationIndex = (scenes, index) => {
22
22
  const {
23
23
  cardStyleInterpolator
24
- } = scenes[index].descriptor.options; // Start from current card and count backwards the number of cards with same interpolation
24
+ } = scenes[index].descriptor.options;
25
25
 
26
+ // Start from current card and count backwards the number of cards with same interpolation
26
27
  let interpolationIndex = 0;
27
-
28
28
  for (let i = index - 1; i >= 0; i--) {
29
29
  var _scenes$i;
30
-
31
30
  const cardStyleInterpolatorCurrent = (_scenes$i = scenes[i]) === null || _scenes$i === void 0 ? void 0 : _scenes$i.descriptor.options.cardStyleInterpolator;
32
-
33
31
  if (cardStyleInterpolatorCurrent !== cardStyleInterpolator) {
34
32
  break;
35
33
  }
36
-
37
34
  interpolationIndex++;
38
35
  }
39
-
40
36
  return interpolationIndex;
41
37
  };
42
-
43
38
  const getIsModal = (scene, interpolationIndex, isParentModal) => {
44
39
  if (isParentModal) {
45
40
  return true;
46
41
  }
47
-
48
42
  const {
49
43
  cardStyleInterpolator
50
44
  } = scene.descriptor.options;
@@ -52,7 +46,6 @@ const getIsModal = (scene, interpolationIndex, isParentModal) => {
52
46
  const isModal = isModalPresentation && interpolationIndex !== 0;
53
47
  return isModal;
54
48
  };
55
-
56
49
  const getHeaderHeights = (scenes, insets, isParentHeaderShown, isParentModal, layout, previous) => {
57
50
  return scenes.reduce((acc, curr, index) => {
58
51
  const {
@@ -67,7 +60,6 @@ const getHeaderHeights = (scenes, insets, isParentHeaderShown, isParentModal, la
67
60
  return acc;
68
61
  }, {});
69
62
  };
70
-
71
63
  const getDistanceFromOptions = (layout, descriptor) => {
72
64
  const {
73
65
  presentation,
@@ -75,7 +67,6 @@ const getDistanceFromOptions = (layout, descriptor) => {
75
67
  } = (descriptor === null || descriptor === void 0 ? void 0 : descriptor.options) || {};
76
68
  return getDistanceForDirection(layout, gestureDirection);
77
69
  };
78
-
79
70
  const getProgressFromGesture = (gesture, layout, descriptor) => {
80
71
  const distance = getDistanceFromOptions({
81
72
  // Make sure that we have a non-zero distance, otherwise there will be incorrect progress
@@ -83,26 +74,22 @@ const getProgressFromGesture = (gesture, layout, descriptor) => {
83
74
  width: Math.max(1, layout.width),
84
75
  height: Math.max(1, layout.height)
85
76
  }, descriptor);
86
-
87
77
  if (distance > 0) {
88
78
  return gesture.interpolate({
89
79
  inputRange: [0, distance],
90
80
  outputRange: [1, 0]
91
81
  });
92
82
  }
93
-
94
83
  return gesture.interpolate({
95
84
  inputRange: [distance, 0],
96
85
  outputRange: [0, 1]
97
86
  });
98
87
  };
99
-
100
88
  export default class CardStack extends React.Component {
101
89
  static getDerivedStateFromProps(props, state) {
102
90
  if (props.routes === state.routes && props.descriptors === state.descriptors) {
103
91
  return null;
104
92
  }
105
-
106
93
  const gestures = props.routes.reduce((acc, curr) => {
107
94
  const descriptor = props.descriptors[curr.key];
108
95
  const {
@@ -112,8 +99,6 @@ export default class CardStack extends React.Component {
112
99
  return acc;
113
100
  }, {});
114
101
  const scenes = props.routes.map((route, index, self) => {
115
- var _descriptor$options$h;
116
-
117
102
  const previousRoute = self[index - 1];
118
103
  const nextRoute = self[index + 1];
119
104
  const oldScene = state.scenes[index];
@@ -122,13 +107,14 @@ export default class CardStack extends React.Component {
122
107
  const nextGesture = nextRoute ? gestures[nextRoute.key] : undefined;
123
108
  const descriptor = props.descriptors[route.key] || state.descriptors[route.key] || (oldScene ? oldScene.descriptor : FALLBACK_DESCRIPTOR);
124
109
  const nextDescriptor = props.descriptors[nextRoute === null || nextRoute === void 0 ? void 0 : nextRoute.key] || state.descriptors[nextRoute === null || nextRoute === void 0 ? void 0 : nextRoute.key];
125
- const previousDescriptor = props.descriptors[previousRoute === null || previousRoute === void 0 ? void 0 : previousRoute.key] || state.descriptors[previousRoute === null || previousRoute === void 0 ? void 0 : previousRoute.key]; // When a screen is not the last, it should use next screen's transition config
110
+ const previousDescriptor = props.descriptors[previousRoute === null || previousRoute === void 0 ? void 0 : previousRoute.key] || state.descriptors[previousRoute === null || previousRoute === void 0 ? void 0 : previousRoute.key];
111
+
112
+ // When a screen is not the last, it should use next screen's transition config
126
113
  // Many transitions also animate the previous screen, so using 2 different transitions doesn't look right
127
114
  // For example combining a slide and a modal transition would look wrong otherwise
128
115
  // With this approach, combining different transition styles in the same navigator mostly looks right
129
116
  // This will still be broken when 2 transitions have different idle state (e.g. modal presentation),
130
117
  // but majority of the transitions look alright
131
-
132
118
  const optionsForTransitionConfig = index !== self.length - 1 && nextDescriptor && nextDescriptor.options.presentation !== 'transparentModal' ? nextDescriptor.options : descriptor.options;
133
119
  let defaultTransitionPreset = optionsForTransitionConfig.presentation === 'modal' ? ModalTransition : optionsForTransitionConfig.presentation === 'transparentModal' ? ModalFadeTransition : DefaultTransition;
134
120
  const {
@@ -140,11 +126,13 @@ export default class CardStack extends React.Component {
140
126
  headerStyleInterpolator = defaultTransitionPreset.headerStyleInterpolator,
141
127
  cardOverlayEnabled = Platform.OS !== 'ios' && optionsForTransitionConfig.presentation !== 'transparentModal' || getIsModalPresentation(cardStyleInterpolator)
142
128
  } = optionsForTransitionConfig;
143
- const headerMode = (_descriptor$options$h = descriptor.options.headerMode) !== null && _descriptor$options$h !== void 0 ? _descriptor$options$h : !(optionsForTransitionConfig.presentation === 'modal' || optionsForTransitionConfig.presentation === 'transparentModal' || (nextDescriptor === null || nextDescriptor === void 0 ? void 0 : nextDescriptor.options.presentation) === 'modal' || (nextDescriptor === null || nextDescriptor === void 0 ? void 0 : nextDescriptor.options.presentation) === 'transparentModal' || getIsModalPresentation(cardStyleInterpolator)) && Platform.OS === 'ios' && descriptor.options.header === undefined ? 'float' : 'screen';
129
+ const headerMode = descriptor.options.headerMode ?? (!(optionsForTransitionConfig.presentation === 'modal' || optionsForTransitionConfig.presentation === 'transparentModal' || (nextDescriptor === null || nextDescriptor === void 0 ? void 0 : nextDescriptor.options.presentation) === 'modal' || (nextDescriptor === null || nextDescriptor === void 0 ? void 0 : nextDescriptor.options.presentation) === 'transparentModal' || getIsModalPresentation(cardStyleInterpolator)) && Platform.OS === 'ios' && descriptor.options.header === undefined ? 'float' : 'screen');
144
130
  const scene = {
145
131
  route,
146
- descriptor: { ...descriptor,
147
- options: { ...descriptor.options,
132
+ descriptor: {
133
+ ...descriptor,
134
+ options: {
135
+ ...descriptor.options,
148
136
  animationEnabled,
149
137
  cardOverlayEnabled,
150
138
  cardStyleInterpolator,
@@ -162,14 +150,12 @@ export default class CardStack extends React.Component {
162
150
  },
163
151
  __memo: [state.layout, descriptor, nextDescriptor, previousDescriptor, currentGesture, nextGesture, previousGesture]
164
152
  };
165
-
166
153
  if (oldScene && scene.__memo.every((it, i) => {
167
154
  // @ts-expect-error: we haven't added __memo to the annotation to prevent usage elsewhere
168
155
  return oldScene.__memo[i] === it;
169
156
  })) {
170
157
  return oldScene;
171
158
  }
172
-
173
159
  return scene;
174
160
  });
175
161
  return {
@@ -180,10 +166,8 @@ export default class CardStack extends React.Component {
180
166
  headerHeights: getHeaderHeights(scenes, props.insets, props.isParentHeaderShown, props.isParentModal, state.layout, state.headerHeights)
181
167
  };
182
168
  }
183
-
184
169
  constructor(_props) {
185
170
  super(_props);
186
-
187
171
  _defineProperty(this, "handleLayout", e => {
188
172
  const {
189
173
  height,
@@ -197,14 +181,12 @@ export default class CardStack extends React.Component {
197
181
  if (height === state.layout.height && width === state.layout.width) {
198
182
  return null;
199
183
  }
200
-
201
184
  return {
202
185
  layout,
203
186
  headerHeights: getHeaderHeights(state.scenes, props.insets, props.isParentHeaderShown, props.isParentModal, layout, state.headerHeights)
204
187
  };
205
188
  });
206
189
  });
207
-
208
190
  _defineProperty(this, "handleHeaderLayout", _ref => {
209
191
  let {
210
192
  route,
@@ -215,26 +197,23 @@ export default class CardStack extends React.Component {
215
197
  headerHeights
216
198
  } = _ref2;
217
199
  const previousHeight = headerHeights[route.key];
218
-
219
200
  if (previousHeight === height) {
220
201
  return null;
221
202
  }
222
-
223
203
  return {
224
- headerHeights: { ...headerHeights,
204
+ headerHeights: {
205
+ ...headerHeights,
225
206
  [route.key]: height
226
207
  }
227
208
  };
228
209
  });
229
210
  });
230
-
231
211
  _defineProperty(this, "getFocusedRoute", () => {
232
212
  const {
233
213
  state
234
214
  } = this.props;
235
215
  return state.routes[state.index];
236
216
  });
237
-
238
217
  _defineProperty(this, "getPreviousScene", _ref3 => {
239
218
  let {
240
219
  route
@@ -248,15 +227,12 @@ export default class CardStack extends React.Component {
248
227
  const previousRoute = getPreviousRoute({
249
228
  route
250
229
  });
251
-
252
230
  if (previousRoute) {
253
231
  const previousScene = scenes.find(scene => scene.descriptor.route.key === previousRoute.key);
254
232
  return previousScene;
255
233
  }
256
-
257
234
  return undefined;
258
235
  });
259
-
260
236
  this.state = {
261
237
  routes: [],
262
238
  scenes: [],
@@ -271,7 +247,6 @@ export default class CardStack extends React.Component {
271
247
  headerHeights: {}
272
248
  };
273
249
  }
274
-
275
250
  render() {
276
251
  const {
277
252
  insets,
@@ -300,23 +275,18 @@ export default class CardStack extends React.Component {
300
275
  const focusedRoute = state.routes[state.index];
301
276
  const focusedHeaderHeight = headerHeights[focusedRoute.key];
302
277
  const isFloatHeaderAbsolute = this.state.scenes.slice(-2).some(scene => {
303
- var _scene$descriptor$opt;
304
-
305
- const options = (_scene$descriptor$opt = scene.descriptor.options) !== null && _scene$descriptor$opt !== void 0 ? _scene$descriptor$opt : {};
278
+ const options = scene.descriptor.options ?? {};
306
279
  const {
307
280
  headerMode,
308
281
  headerTransparent,
309
282
  headerShown = true
310
283
  } = options;
311
-
312
284
  if (headerTransparent || headerShown === false || headerMode === 'screen') {
313
285
  return true;
314
286
  }
315
-
316
287
  return false;
317
288
  });
318
289
  let activeScreensLimit = 1;
319
-
320
290
  for (let i = scenes.length - 1; i >= 0; i--) {
321
291
  const {
322
292
  options
@@ -325,7 +295,6 @@ export default class CardStack extends React.Component {
325
295
  // By default, we don't want to detach the previous screen of the active one for modals
326
296
  detachPreviousScreen = options.presentation === 'transparentModal' ? false : getIsModalPresentation(options.cardStyleInterpolator) ? i !== scenes.map(scene => scene.descriptor.options.cardStyleInterpolator).lastIndexOf(forModalPresentationIOS) : true
327
297
  } = options;
328
-
329
298
  if (detachPreviousScreen === false) {
330
299
  activeScreensLimit++;
331
300
  } else {
@@ -337,7 +306,6 @@ export default class CardStack extends React.Component {
337
306
  }
338
307
  }
339
308
  }
340
-
341
309
  const floatingHeader = /*#__PURE__*/React.createElement(React.Fragment, {
342
310
  key: "header"
343
311
  }, renderHeader({
@@ -347,7 +315,8 @@ export default class CardStack extends React.Component {
347
315
  getPreviousScene: this.getPreviousScene,
348
316
  getFocusedRoute: this.getFocusedRoute,
349
317
  onContentHeightChange: this.handleHeaderLayout,
350
- style: [styles.floating, isFloatHeaderAbsolute && [// Without this, the header buttons won't be touchable on Android when headerTransparent: true
318
+ style: [styles.floating, isFloatHeaderAbsolute && [
319
+ // Without this, the header buttons won't be touchable on Android when headerTransparent: true
351
320
  {
352
321
  height: focusedHeaderHeight
353
322
  }, styles.absolute]]
@@ -358,16 +327,15 @@ export default class CardStack extends React.Component {
358
327
  onLayout: this.handleLayout
359
328
  }, routes.map((route, index, self) => {
360
329
  var _scenes, _scenes2;
361
-
362
330
  const focused = focusedRoute.key === route.key;
363
331
  const gesture = gestures[route.key];
364
- const scene = scenes[index]; // For the screens that shouldn't be active, the value is 0
332
+ const scene = scenes[index];
333
+
334
+ // For the screens that shouldn't be active, the value is 0
365
335
  // For those that should be active, but are not the top screen, the value is 1
366
336
  // For those on top of the stack and with interaction enabled, the value is 2
367
337
  // For the old implementation, it stays the same it was
368
-
369
338
  let isScreenActive = 1;
370
-
371
339
  if (index < self.length - activeScreensLimit - 1) {
372
340
  // screen should be inactive because it is too deep in the stack
373
341
  isScreenActive = STATE_INACTIVE;
@@ -376,14 +344,12 @@ export default class CardStack extends React.Component {
376
344
  const outputValue = index === self.length - 1 ? STATE_ON_TOP // the screen is on top after the transition
377
345
  : 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
378
346
  : STATE_INACTIVE; // the screen should be active only during the transition, it is at the edge of activeLimit
379
-
380
347
  isScreenActive = sceneForActivity ? sceneForActivity.progress.current.interpolate({
381
348
  inputRange: [0, 1 - EPSILON, 1],
382
349
  outputRange: [1, 1, outputValue],
383
350
  extrapolate: 'clamp'
384
351
  }) : STATE_TRANSITIONING_OR_BELOW_TOP;
385
352
  }
386
-
387
353
  const {
388
354
  headerShown = true,
389
355
  headerTransparent,
@@ -397,20 +363,18 @@ export default class CardStack extends React.Component {
397
363
  const safeAreaInsetLeft = insets.left;
398
364
  const headerHeight = headerShown !== false ? headerHeights[route.key] : 0;
399
365
  let headerDarkContent;
400
-
401
366
  if (headerShown) {
402
367
  if (typeof headerTintColor === 'string') {
403
368
  headerDarkContent = Color(headerTintColor).isDark();
404
369
  } else {
405
370
  const flattenedHeaderStyle = StyleSheet.flatten(headerStyle);
406
-
407
371
  if (flattenedHeaderStyle && 'backgroundColor' in flattenedHeaderStyle && typeof flattenedHeaderStyle.backgroundColor === 'string') {
408
372
  headerDarkContent = !Color(flattenedHeaderStyle.backgroundColor).isDark();
409
373
  }
410
374
  }
411
- } // Start from current card and count backwards the number of cards with same interpolation
412
-
375
+ }
413
376
 
377
+ // Start from current card and count backwards the number of cards with same interpolation
414
378
  const interpolationIndex = getInterpolationIndex(scenes, index);
415
379
  const isModal = getIsModal(scene, interpolationIndex, isParentModal);
416
380
  const isNextScreenTransparent = ((_scenes = scenes[index + 1]) === null || _scenes === void 0 ? void 0 : _scenes.descriptor.options.presentation) === 'transparentModal';
@@ -457,7 +421,6 @@ export default class CardStack extends React.Component {
457
421
  }));
458
422
  })), isFloatHeaderAbsolute ? floatingHeader : null);
459
423
  }
460
-
461
424
  }
462
425
  const styles = StyleSheet.create({
463
426
  container: {
@@ -1 +1 @@
1
- {"version":3,"names":["Background","getDefaultHeaderHeight","SafeAreaProviderCompat","Color","React","Animated","Platform","StyleSheet","forModalPresentationIOS","forNoAnimation","forNoAnimationCard","DefaultTransition","ModalFadeTransition","ModalTransition","getDistanceForDirection","MaybeScreen","MaybeScreenContainer","getIsModalPresentation","CardContainer","EPSILON","STATE_INACTIVE","STATE_TRANSITIONING_OR_BELOW_TOP","STATE_ON_TOP","FALLBACK_DESCRIPTOR","Object","freeze","options","getInterpolationIndex","scenes","index","cardStyleInterpolator","descriptor","interpolationIndex","i","cardStyleInterpolatorCurrent","getIsModal","scene","isParentModal","isModalPresentation","isModal","getHeaderHeights","insets","isParentHeaderShown","layout","previous","reduce","acc","curr","headerStatusBarHeight","top","headerStyle","style","flatten","height","route","key","getDistanceFromOptions","presentation","gestureDirection","getProgressFromGesture","gesture","distance","width","Math","max","interpolate","inputRange","outputRange","CardStack","Component","getDerivedStateFromProps","props","state","routes","descriptors","gestures","animationEnabled","Value","openingRouteKeys","includes","map","self","previousRoute","nextRoute","oldScene","currentGesture","previousGesture","undefined","nextGesture","nextDescriptor","previousDescriptor","optionsForTransitionConfig","length","defaultTransitionPreset","OS","gestureEnabled","transitionSpec","headerStyleInterpolator","cardOverlayEnabled","headerMode","header","progress","current","next","__memo","every","it","headerHeights","constructor","e","nativeEvent","setState","previousHeight","getPreviousRoute","previousScene","find","initialMetrics","frame","render","closingRouteKeys","onOpenRoute","onCloseRoute","renderHeader","renderScene","onTransitionStart","onTransitionEnd","onGestureStart","onGestureEnd","onGestureCancel","detachInactiveScreens","focusedRoute","focusedHeaderHeight","isFloatHeaderAbsolute","slice","some","headerTransparent","headerShown","activeScreensLimit","detachPreviousScreen","lastIndexOf","floatingHeader","mode","getPreviousScene","getFocusedRoute","onContentHeightChange","handleHeaderLayout","styles","floating","absolute","container","handleLayout","focused","isScreenActive","sceneForActivity","outputValue","extrapolate","headerTintColor","freezeOnBlur","safeAreaInsetTop","safeAreaInsetRight","right","safeAreaInsetBottom","bottom","safeAreaInsetLeft","left","headerHeight","headerDarkContent","isDark","flattenedHeaderStyle","backgroundColor","isNextScreenTransparent","detachCurrentScreen","absoluteFill","create","flex","position","zIndex"],"sources":["CardStack.tsx"],"sourcesContent":["import {\n Background,\n getDefaultHeaderHeight,\n SafeAreaProviderCompat,\n} from '@react-navigation/elements';\nimport type {\n ParamListBase,\n Route,\n StackNavigationState,\n} from '@react-navigation/native';\nimport Color from 'color';\nimport * as React from 'react';\nimport {\n Animated,\n LayoutChangeEvent,\n Platform,\n StyleSheet,\n} from 'react-native';\nimport type { EdgeInsets } from 'react-native-safe-area-context';\n\nimport {\n forModalPresentationIOS,\n forNoAnimation as forNoAnimationCard,\n} from '../../TransitionConfigs/CardStyleInterpolators';\nimport {\n DefaultTransition,\n ModalFadeTransition,\n ModalTransition,\n} from '../../TransitionConfigs/TransitionPresets';\nimport type {\n Layout,\n Scene,\n StackDescriptor,\n StackDescriptorMap,\n StackHeaderMode,\n StackNavigationOptions,\n} from '../../types';\nimport getDistanceForDirection from '../../utils/getDistanceForDirection';\nimport type { Props as HeaderContainerProps } from '../Header/HeaderContainer';\nimport { MaybeScreen, MaybeScreenContainer } from '../Screens';\nimport { getIsModalPresentation } from './Card';\nimport CardContainer from './CardContainer';\n\ntype GestureValues = {\n [key: string]: Animated.Value;\n};\n\ntype Props = {\n insets: EdgeInsets;\n state: StackNavigationState<ParamListBase>;\n descriptors: StackDescriptorMap;\n routes: Route<string>[];\n openingRouteKeys: string[];\n closingRouteKeys: string[];\n onOpenRoute: (props: { route: Route<string> }) => void;\n onCloseRoute: (props: { route: Route<string> }) => void;\n getPreviousRoute: (props: {\n route: Route<string>;\n }) => Route<string> | undefined;\n renderHeader: (props: HeaderContainerProps) => React.ReactNode;\n renderScene: (props: { route: Route<string> }) => React.ReactNode;\n isParentHeaderShown: boolean;\n isParentModal: boolean;\n onTransitionStart: (\n props: { route: Route<string> },\n closing: boolean\n ) => void;\n onTransitionEnd: (props: { route: Route<string> }, closing: boolean) => void;\n onGestureStart: (props: { route: Route<string> }) => void;\n onGestureEnd: (props: { route: Route<string> }) => void;\n onGestureCancel: (props: { route: Route<string> }) => void;\n detachInactiveScreens?: boolean;\n};\n\ntype State = {\n routes: Route<string>[];\n descriptors: StackDescriptorMap;\n scenes: Scene[];\n gestures: GestureValues;\n layout: Layout;\n headerHeights: Record<string, number>;\n};\n\nconst EPSILON = 1e-5;\n\nconst STATE_INACTIVE = 0;\nconst STATE_TRANSITIONING_OR_BELOW_TOP = 1;\nconst STATE_ON_TOP = 2;\n\nconst FALLBACK_DESCRIPTOR = Object.freeze({ options: {} });\n\nconst getInterpolationIndex = (scenes: Scene[], index: number) => {\n const { cardStyleInterpolator } = scenes[index].descriptor.options;\n\n // Start from current card and count backwards the number of cards with same interpolation\n let interpolationIndex = 0;\n\n for (let i = index - 1; i >= 0; i--) {\n const cardStyleInterpolatorCurrent =\n scenes[i]?.descriptor.options.cardStyleInterpolator;\n\n if (cardStyleInterpolatorCurrent !== cardStyleInterpolator) {\n break;\n }\n\n interpolationIndex++;\n }\n\n return interpolationIndex;\n};\n\nconst getIsModal = (\n scene: Scene,\n interpolationIndex: number,\n isParentModal: boolean\n) => {\n if (isParentModal) {\n return true;\n }\n\n const { cardStyleInterpolator } = scene.descriptor.options;\n const isModalPresentation = getIsModalPresentation(cardStyleInterpolator);\n const isModal = isModalPresentation && interpolationIndex !== 0;\n\n return isModal;\n};\n\nconst getHeaderHeights = (\n scenes: Scene[],\n insets: EdgeInsets,\n isParentHeaderShown: boolean,\n isParentModal: boolean,\n layout: Layout,\n previous: Record<string, number>\n) => {\n return scenes.reduce<Record<string, number>>((acc, curr, index) => {\n const {\n headerStatusBarHeight = isParentHeaderShown ? 0 : insets.top,\n headerStyle,\n } = curr.descriptor.options;\n\n const style = StyleSheet.flatten(headerStyle || {});\n\n const height =\n 'height' in style && typeof style.height === 'number'\n ? style.height\n : previous[curr.route.key];\n\n const interpolationIndex = getInterpolationIndex(scenes, index);\n const isModal = getIsModal(curr, interpolationIndex, isParentModal);\n\n acc[curr.route.key] =\n typeof height === 'number'\n ? height\n : getDefaultHeaderHeight(layout, isModal, headerStatusBarHeight);\n\n return acc;\n }, {});\n};\n\nconst getDistanceFromOptions = (\n layout: Layout,\n descriptor?: StackDescriptor\n) => {\n const {\n presentation,\n gestureDirection = presentation === 'modal'\n ? ModalTransition.gestureDirection\n : DefaultTransition.gestureDirection,\n } = (descriptor?.options || {}) as StackNavigationOptions;\n\n return getDistanceForDirection(layout, gestureDirection);\n};\n\nconst getProgressFromGesture = (\n gesture: Animated.Value,\n layout: Layout,\n descriptor?: StackDescriptor\n) => {\n const distance = getDistanceFromOptions(\n {\n // Make sure that we have a non-zero distance, otherwise there will be incorrect progress\n // This causes blank screen on web if it was previously inside container with display: none\n width: Math.max(1, layout.width),\n height: Math.max(1, layout.height),\n },\n descriptor\n );\n\n if (distance > 0) {\n return gesture.interpolate({\n inputRange: [0, distance],\n outputRange: [1, 0],\n });\n }\n\n return gesture.interpolate({\n inputRange: [distance, 0],\n outputRange: [0, 1],\n });\n};\n\nexport default class CardStack extends React.Component<Props, State> {\n static getDerivedStateFromProps(\n props: Props,\n state: State\n ): Partial<State> | null {\n if (\n props.routes === state.routes &&\n props.descriptors === state.descriptors\n ) {\n return null;\n }\n\n const gestures = props.routes.reduce<GestureValues>((acc, curr) => {\n const descriptor = props.descriptors[curr.key];\n const { animationEnabled } = descriptor?.options || {};\n\n acc[curr.key] =\n state.gestures[curr.key] ||\n new Animated.Value(\n props.openingRouteKeys.includes(curr.key) &&\n animationEnabled !== false\n ? getDistanceFromOptions(state.layout, descriptor)\n : 0\n );\n\n return acc;\n }, {});\n\n const scenes = props.routes.map((route, index, self) => {\n const previousRoute = self[index - 1];\n const nextRoute = self[index + 1];\n\n const oldScene = state.scenes[index];\n\n const currentGesture = gestures[route.key];\n const previousGesture = previousRoute\n ? gestures[previousRoute.key]\n : undefined;\n const nextGesture = nextRoute ? gestures[nextRoute.key] : undefined;\n\n const descriptor =\n props.descriptors[route.key] ||\n state.descriptors[route.key] ||\n (oldScene ? oldScene.descriptor : FALLBACK_DESCRIPTOR);\n\n const nextDescriptor =\n props.descriptors[nextRoute?.key] || state.descriptors[nextRoute?.key];\n\n const previousDescriptor =\n props.descriptors[previousRoute?.key] ||\n state.descriptors[previousRoute?.key];\n\n // When a screen is not the last, it should use next screen's transition config\n // Many transitions also animate the previous screen, so using 2 different transitions doesn't look right\n // For example combining a slide and a modal transition would look wrong otherwise\n // With this approach, combining different transition styles in the same navigator mostly looks right\n // This will still be broken when 2 transitions have different idle state (e.g. modal presentation),\n // but majority of the transitions look alright\n const optionsForTransitionConfig =\n index !== self.length - 1 &&\n nextDescriptor &&\n nextDescriptor.options.presentation !== 'transparentModal'\n ? nextDescriptor.options\n : descriptor.options;\n\n let defaultTransitionPreset =\n optionsForTransitionConfig.presentation === 'modal'\n ? ModalTransition\n : optionsForTransitionConfig.presentation === 'transparentModal'\n ? ModalFadeTransition\n : DefaultTransition;\n\n const {\n animationEnabled = Platform.OS !== 'web' &&\n Platform.OS !== 'windows' &&\n Platform.OS !== 'macos',\n gestureEnabled = Platform.OS === 'ios' && animationEnabled,\n gestureDirection = defaultTransitionPreset.gestureDirection,\n transitionSpec = defaultTransitionPreset.transitionSpec,\n cardStyleInterpolator = animationEnabled === false\n ? forNoAnimationCard\n : defaultTransitionPreset.cardStyleInterpolator,\n headerStyleInterpolator = defaultTransitionPreset.headerStyleInterpolator,\n cardOverlayEnabled = (Platform.OS !== 'ios' &&\n optionsForTransitionConfig.presentation !== 'transparentModal') ||\n getIsModalPresentation(cardStyleInterpolator),\n } = optionsForTransitionConfig;\n\n const headerMode: StackHeaderMode =\n descriptor.options.headerMode ??\n (!(\n optionsForTransitionConfig.presentation === 'modal' ||\n optionsForTransitionConfig.presentation === 'transparentModal' ||\n nextDescriptor?.options.presentation === 'modal' ||\n nextDescriptor?.options.presentation === 'transparentModal' ||\n getIsModalPresentation(cardStyleInterpolator)\n ) &&\n Platform.OS === 'ios' &&\n descriptor.options.header === undefined\n ? 'float'\n : 'screen');\n\n const scene = {\n route,\n descriptor: {\n ...descriptor,\n options: {\n ...descriptor.options,\n animationEnabled,\n cardOverlayEnabled,\n cardStyleInterpolator,\n gestureDirection,\n gestureEnabled,\n headerStyleInterpolator,\n transitionSpec,\n headerMode,\n },\n },\n progress: {\n current: getProgressFromGesture(\n currentGesture,\n state.layout,\n descriptor\n ),\n next:\n nextGesture &&\n nextDescriptor?.options.presentation !== 'transparentModal'\n ? getProgressFromGesture(\n nextGesture,\n state.layout,\n nextDescriptor\n )\n : undefined,\n previous: previousGesture\n ? getProgressFromGesture(\n previousGesture,\n state.layout,\n previousDescriptor\n )\n : undefined,\n },\n __memo: [\n state.layout,\n descriptor,\n nextDescriptor,\n previousDescriptor,\n currentGesture,\n nextGesture,\n previousGesture,\n ],\n };\n\n if (\n oldScene &&\n scene.__memo.every((it, i) => {\n // @ts-expect-error: we haven't added __memo to the annotation to prevent usage elsewhere\n return oldScene.__memo[i] === it;\n })\n ) {\n return oldScene;\n }\n\n return scene;\n });\n\n return {\n routes: props.routes,\n scenes,\n gestures,\n descriptors: props.descriptors,\n headerHeights: getHeaderHeights(\n scenes,\n props.insets,\n props.isParentHeaderShown,\n props.isParentModal,\n state.layout,\n state.headerHeights\n ),\n };\n }\n\n constructor(props: Props) {\n super(props);\n\n this.state = {\n routes: [],\n scenes: [],\n gestures: {},\n layout: SafeAreaProviderCompat.initialMetrics.frame,\n descriptors: this.props.descriptors,\n // Used when card's header is null and mode is float to make transition\n // between screens with headers and those without headers smooth.\n // This is not a great heuristic here. We don't know synchronously\n // on mount what the header height is so we have just used the most\n // common cases here.\n headerHeights: {},\n };\n }\n\n private handleLayout = (e: LayoutChangeEvent) => {\n const { height, width } = e.nativeEvent.layout;\n\n const layout = { width, height };\n\n this.setState((state, props) => {\n if (height === state.layout.height && width === state.layout.width) {\n return null;\n }\n\n return {\n layout,\n headerHeights: getHeaderHeights(\n state.scenes,\n props.insets,\n props.isParentHeaderShown,\n props.isParentModal,\n layout,\n state.headerHeights\n ),\n };\n });\n };\n\n private handleHeaderLayout = ({\n route,\n height,\n }: {\n route: Route<string>;\n height: number;\n }) => {\n this.setState(({ headerHeights }) => {\n const previousHeight = headerHeights[route.key];\n\n if (previousHeight === height) {\n return null;\n }\n\n return {\n headerHeights: {\n ...headerHeights,\n [route.key]: height,\n },\n };\n });\n };\n\n private getFocusedRoute = () => {\n const { state } = this.props;\n\n return state.routes[state.index];\n };\n\n private getPreviousScene = ({ route }: { route: Route<string> }) => {\n const { getPreviousRoute } = this.props;\n const { scenes } = this.state;\n\n const previousRoute = getPreviousRoute({ route });\n\n if (previousRoute) {\n const previousScene = scenes.find(\n (scene) => scene.descriptor.route.key === previousRoute.key\n );\n\n return previousScene;\n }\n\n return undefined;\n };\n\n render() {\n const {\n insets,\n state,\n routes,\n closingRouteKeys,\n onOpenRoute,\n onCloseRoute,\n renderHeader,\n renderScene,\n isParentHeaderShown,\n isParentModal,\n onTransitionStart,\n onTransitionEnd,\n onGestureStart,\n onGestureEnd,\n onGestureCancel,\n detachInactiveScreens = Platform.OS === 'web' ||\n Platform.OS === 'android' ||\n Platform.OS === 'ios',\n } = this.props;\n\n const { scenes, layout, gestures, headerHeights } = this.state;\n\n const focusedRoute = state.routes[state.index];\n const focusedHeaderHeight = headerHeights[focusedRoute.key];\n\n const isFloatHeaderAbsolute = this.state.scenes.slice(-2).some((scene) => {\n const options = scene.descriptor.options ?? {};\n const { headerMode, headerTransparent, headerShown = true } = options;\n\n if (\n headerTransparent ||\n headerShown === false ||\n headerMode === 'screen'\n ) {\n return true;\n }\n\n return false;\n });\n\n let activeScreensLimit = 1;\n\n for (let i = scenes.length - 1; i >= 0; i--) {\n const { options } = scenes[i].descriptor;\n const {\n // By default, we don't want to detach the previous screen of the active one for modals\n detachPreviousScreen = options.presentation === 'transparentModal'\n ? false\n : getIsModalPresentation(options.cardStyleInterpolator)\n ? i !==\n scenes\n .map((scene) => scene.descriptor.options.cardStyleInterpolator)\n .lastIndexOf(forModalPresentationIOS)\n : true,\n } = options;\n\n if (detachPreviousScreen === false) {\n activeScreensLimit++;\n } else {\n // Check at least last 2 screens before stopping\n // This will make sure that screen isn't detached when another screen is animating on top of the transparent one\n // For example, (Opaque -> Transparent -> Opaque)\n if (i <= scenes.length - 2) {\n break;\n }\n }\n }\n\n const floatingHeader = (\n <React.Fragment key=\"header\">\n {renderHeader({\n mode: 'float',\n layout,\n scenes,\n getPreviousScene: this.getPreviousScene,\n getFocusedRoute: this.getFocusedRoute,\n onContentHeightChange: this.handleHeaderLayout,\n style: [\n styles.floating,\n isFloatHeaderAbsolute && [\n // Without this, the header buttons won't be touchable on Android when headerTransparent: true\n { height: focusedHeaderHeight },\n styles.absolute,\n ],\n ],\n })}\n </React.Fragment>\n );\n\n return (\n <Background>\n {isFloatHeaderAbsolute ? null : floatingHeader}\n <MaybeScreenContainer\n enabled={detachInactiveScreens}\n style={styles.container}\n onLayout={this.handleLayout}\n >\n {routes.map((route, index, self) => {\n const focused = focusedRoute.key === route.key;\n const gesture = gestures[route.key];\n const scene = scenes[index];\n\n // For the screens that shouldn't be active, the value is 0\n // For those that should be active, but are not the top screen, the value is 1\n // For those on top of the stack and with interaction enabled, the value is 2\n // For the old implementation, it stays the same it was\n let isScreenActive: Animated.AnimatedInterpolation | 2 | 1 | 0 = 1;\n\n if (index < self.length - activeScreensLimit - 1) {\n // screen should be inactive because it is too deep in the stack\n isScreenActive = STATE_INACTIVE;\n } else {\n const sceneForActivity = scenes[self.length - 1];\n const outputValue =\n index === self.length - 1\n ? STATE_ON_TOP // the screen is on top after the transition\n : index >= self.length - activeScreensLimit\n ? STATE_TRANSITIONING_OR_BELOW_TOP // the screen should stay active after the transition, it is not on top but is in activeLimit\n : STATE_INACTIVE; // the screen should be active only during the transition, it is at the edge of activeLimit\n isScreenActive = sceneForActivity\n ? sceneForActivity.progress.current.interpolate({\n inputRange: [0, 1 - EPSILON, 1],\n outputRange: [1, 1, outputValue],\n extrapolate: 'clamp',\n })\n : STATE_TRANSITIONING_OR_BELOW_TOP;\n }\n\n const {\n headerShown = true,\n headerTransparent,\n headerStyle,\n headerTintColor,\n freezeOnBlur,\n } = scene.descriptor.options;\n\n const safeAreaInsetTop = insets.top;\n const safeAreaInsetRight = insets.right;\n const safeAreaInsetBottom = insets.bottom;\n const safeAreaInsetLeft = insets.left;\n\n const headerHeight =\n headerShown !== false ? headerHeights[route.key] : 0;\n\n let headerDarkContent: boolean | undefined;\n\n if (headerShown) {\n if (typeof headerTintColor === 'string') {\n headerDarkContent = Color(headerTintColor).isDark();\n } else {\n const flattenedHeaderStyle = StyleSheet.flatten(headerStyle);\n\n if (\n flattenedHeaderStyle &&\n 'backgroundColor' in flattenedHeaderStyle &&\n typeof flattenedHeaderStyle.backgroundColor === 'string'\n ) {\n headerDarkContent = !Color(\n flattenedHeaderStyle.backgroundColor\n ).isDark();\n }\n }\n }\n\n // Start from current card and count backwards the number of cards with same interpolation\n const interpolationIndex = getInterpolationIndex(scenes, index);\n const isModal = getIsModal(\n scene,\n interpolationIndex,\n isParentModal\n );\n\n const isNextScreenTransparent =\n scenes[index + 1]?.descriptor.options.presentation ===\n 'transparentModal';\n\n const detachCurrentScreen =\n scenes[index + 1]?.descriptor.options.detachPreviousScreen !==\n false;\n\n return (\n <MaybeScreen\n key={route.key}\n style={StyleSheet.absoluteFill}\n enabled={detachInactiveScreens}\n active={isScreenActive}\n freezeOnBlur={freezeOnBlur}\n pointerEvents=\"box-none\"\n >\n <CardContainer\n index={index}\n interpolationIndex={interpolationIndex}\n modal={isModal}\n active={index === self.length - 1}\n focused={focused}\n closing={closingRouteKeys.includes(route.key)}\n layout={layout}\n gesture={gesture}\n scene={scene}\n safeAreaInsetTop={safeAreaInsetTop}\n safeAreaInsetRight={safeAreaInsetRight}\n safeAreaInsetBottom={safeAreaInsetBottom}\n safeAreaInsetLeft={safeAreaInsetLeft}\n onGestureStart={onGestureStart}\n onGestureCancel={onGestureCancel}\n onGestureEnd={onGestureEnd}\n headerHeight={headerHeight}\n isParentHeaderShown={isParentHeaderShown}\n onHeaderHeightChange={this.handleHeaderLayout}\n getPreviousScene={this.getPreviousScene}\n getFocusedRoute={this.getFocusedRoute}\n headerDarkContent={headerDarkContent}\n hasAbsoluteFloatHeader={\n isFloatHeaderAbsolute && !headerTransparent\n }\n renderHeader={renderHeader}\n renderScene={renderScene}\n onOpenRoute={onOpenRoute}\n onCloseRoute={onCloseRoute}\n onTransitionStart={onTransitionStart}\n onTransitionEnd={onTransitionEnd}\n isNextScreenTransparent={isNextScreenTransparent}\n detachCurrentScreen={detachCurrentScreen}\n />\n </MaybeScreen>\n );\n })}\n </MaybeScreenContainer>\n {isFloatHeaderAbsolute ? floatingHeader : null}\n </Background>\n );\n }\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n },\n absolute: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n },\n floating: {\n zIndex: 1,\n },\n});\n"],"mappings":"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"}
1
+ {"version":3,"names":["Background","getDefaultHeaderHeight","SafeAreaProviderCompat","Color","React","Animated","Platform","StyleSheet","forModalPresentationIOS","forNoAnimation","forNoAnimationCard","DefaultTransition","ModalFadeTransition","ModalTransition","getDistanceForDirection","MaybeScreen","MaybeScreenContainer","getIsModalPresentation","CardContainer","EPSILON","STATE_INACTIVE","STATE_TRANSITIONING_OR_BELOW_TOP","STATE_ON_TOP","FALLBACK_DESCRIPTOR","Object","freeze","options","getInterpolationIndex","scenes","index","cardStyleInterpolator","descriptor","interpolationIndex","i","cardStyleInterpolatorCurrent","getIsModal","scene","isParentModal","isModalPresentation","isModal","getHeaderHeights","insets","isParentHeaderShown","layout","previous","reduce","acc","curr","headerStatusBarHeight","top","headerStyle","style","flatten","height","route","key","getDistanceFromOptions","presentation","gestureDirection","getProgressFromGesture","gesture","distance","width","Math","max","interpolate","inputRange","outputRange","CardStack","Component","getDerivedStateFromProps","props","state","routes","descriptors","gestures","animationEnabled","Value","openingRouteKeys","includes","map","self","previousRoute","nextRoute","oldScene","currentGesture","previousGesture","undefined","nextGesture","nextDescriptor","previousDescriptor","optionsForTransitionConfig","length","defaultTransitionPreset","OS","gestureEnabled","transitionSpec","headerStyleInterpolator","cardOverlayEnabled","headerMode","header","progress","current","next","__memo","every","it","headerHeights","constructor","e","nativeEvent","setState","previousHeight","getPreviousRoute","previousScene","find","initialMetrics","frame","render","closingRouteKeys","onOpenRoute","onCloseRoute","renderHeader","renderScene","onTransitionStart","onTransitionEnd","onGestureStart","onGestureEnd","onGestureCancel","detachInactiveScreens","focusedRoute","focusedHeaderHeight","isFloatHeaderAbsolute","slice","some","headerTransparent","headerShown","activeScreensLimit","detachPreviousScreen","lastIndexOf","floatingHeader","mode","getPreviousScene","getFocusedRoute","onContentHeightChange","handleHeaderLayout","styles","floating","absolute","container","handleLayout","focused","isScreenActive","sceneForActivity","outputValue","extrapolate","headerTintColor","freezeOnBlur","safeAreaInsetTop","safeAreaInsetRight","right","safeAreaInsetBottom","bottom","safeAreaInsetLeft","left","headerHeight","headerDarkContent","isDark","flattenedHeaderStyle","backgroundColor","isNextScreenTransparent","detachCurrentScreen","absoluteFill","create","flex","position","zIndex"],"sourceRoot":"../../src","sources":["CardStack.tsx"],"mappings":"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"}