@react-navigation/stack 6.3.8 → 6.3.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.
- package/lib/commonjs/TransitionConfigs/CardStyleInterpolators.js +12 -22
- package/lib/commonjs/TransitionConfigs/CardStyleInterpolators.js.map +1 -1
- package/lib/commonjs/TransitionConfigs/HeaderStyleInterpolators.js +11 -16
- package/lib/commonjs/TransitionConfigs/HeaderStyleInterpolators.js.map +1 -1
- package/lib/commonjs/TransitionConfigs/TransitionPresets.js +10 -19
- package/lib/commonjs/TransitionConfigs/TransitionPresets.js.map +1 -1
- package/lib/commonjs/TransitionConfigs/TransitionSpecs.js +6 -8
- package/lib/commonjs/TransitionConfigs/TransitionSpecs.js.map +1 -1
- package/lib/commonjs/index.js +0 -18
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/navigators/createStackNavigator.js +9 -17
- package/lib/commonjs/navigators/createStackNavigator.js.map +1 -1
- package/lib/commonjs/types.js.map +1 -1
- package/lib/commonjs/utils/CardAnimationContext.js +0 -5
- package/lib/commonjs/utils/CardAnimationContext.js.map +1 -1
- package/lib/commonjs/utils/GestureHandlerRefContext.js +0 -5
- package/lib/commonjs/utils/GestureHandlerRefContext.js.map +1 -1
- package/lib/commonjs/utils/ModalPresentationContext.js +0 -4
- package/lib/commonjs/utils/ModalPresentationContext.js.map +1 -1
- package/lib/commonjs/utils/conditional.js +1 -3
- package/lib/commonjs/utils/conditional.js.map +1 -1
- package/lib/commonjs/utils/debounce.js +0 -2
- package/lib/commonjs/utils/debounce.js.map +1 -1
- package/lib/commonjs/utils/getDistanceForDirection.js +0 -5
- package/lib/commonjs/utils/getDistanceForDirection.js.map +1 -1
- package/lib/commonjs/utils/getInvertedMultiplier.js +0 -5
- package/lib/commonjs/utils/getInvertedMultiplier.js.map +1 -1
- package/lib/commonjs/utils/memoize.js +0 -6
- package/lib/commonjs/utils/memoize.js.map +1 -1
- package/lib/commonjs/utils/useCardAnimation.js +0 -8
- package/lib/commonjs/utils/useCardAnimation.js.map +1 -1
- package/lib/commonjs/utils/useGestureHandlerRef.js +0 -8
- package/lib/commonjs/utils/useGestureHandlerRef.js.map +1 -1
- package/lib/commonjs/utils/useKeyboardManager.js +14 -20
- package/lib/commonjs/utils/useKeyboardManager.js.map +1 -1
- package/lib/commonjs/views/GestureHandler.android.js +0 -2
- package/lib/commonjs/views/GestureHandler.android.js.map +1 -1
- package/lib/commonjs/views/GestureHandler.ios.js +0 -2
- package/lib/commonjs/views/GestureHandler.ios.js.map +1 -1
- package/lib/commonjs/views/GestureHandler.js +0 -6
- package/lib/commonjs/views/GestureHandler.js.map +1 -1
- package/lib/commonjs/views/GestureHandlerNative.js +0 -8
- package/lib/commonjs/views/GestureHandlerNative.js.map +1 -1
- package/lib/commonjs/views/Header/Header.js +7 -18
- package/lib/commonjs/views/Header/Header.js.map +1 -1
- package/lib/commonjs/views/Header/HeaderContainer.js +10 -23
- package/lib/commonjs/views/Header/HeaderContainer.js.map +1 -1
- package/lib/commonjs/views/Header/HeaderSegment.js +6 -20
- package/lib/commonjs/views/Header/HeaderSegment.js.map +1 -1
- package/lib/commonjs/views/ModalStatusBarManager.js +1 -11
- package/lib/commonjs/views/ModalStatusBarManager.js.map +1 -1
- package/lib/commonjs/views/Screens.js +2 -16
- package/lib/commonjs/views/Screens.js.map +1 -1
- package/lib/commonjs/views/Stack/Card.js +17 -80
- package/lib/commonjs/views/Stack/Card.js.map +1 -1
- package/lib/commonjs/views/Stack/CardContainer.js +3 -30
- package/lib/commonjs/views/Stack/CardContainer.js.map +1 -1
- package/lib/commonjs/views/Stack/CardSheet.js +2 -11
- package/lib/commonjs/views/Stack/CardSheet.js.map +1 -1
- package/lib/commonjs/views/Stack/CardStack.js +23 -78
- package/lib/commonjs/views/Stack/CardStack.js.map +1 -1
- package/lib/commonjs/views/Stack/StackView.js +33 -65
- package/lib/commonjs/views/Stack/StackView.js.map +1 -1
- package/lib/module/TransitionConfigs/CardStyleInterpolators.js +12 -10
- package/lib/module/TransitionConfigs/CardStyleInterpolators.js.map +1 -1
- package/lib/module/TransitionConfigs/HeaderStyleInterpolators.js +11 -9
- package/lib/module/TransitionConfigs/HeaderStyleInterpolators.js.map +1 -1
- package/lib/module/TransitionConfigs/TransitionPresets.js +10 -10
- package/lib/module/TransitionConfigs/TransitionPresets.js.map +1 -1
- package/lib/module/TransitionConfigs/TransitionSpecs.js +6 -7
- package/lib/module/TransitionConfigs/TransitionSpecs.js.map +1 -1
- package/lib/module/index.js +5 -4
- package/lib/module/index.js.map +1 -1
- package/lib/module/navigators/createStackNavigator.js +9 -9
- package/lib/module/navigators/createStackNavigator.js.map +1 -1
- package/lib/module/types.js.map +1 -1
- package/lib/module/utils/CardAnimationContext.js.map +1 -1
- package/lib/module/utils/GestureHandlerRefContext.js.map +1 -1
- package/lib/module/utils/ModalPresentationContext.js.map +1 -1
- package/lib/module/utils/conditional.js +1 -1
- package/lib/module/utils/conditional.js.map +1 -1
- package/lib/module/utils/debounce.js +0 -1
- package/lib/module/utils/debounce.js.map +1 -1
- package/lib/module/utils/getDistanceForDirection.js +0 -2
- package/lib/module/utils/getDistanceForDirection.js.map +1 -1
- package/lib/module/utils/getInvertedMultiplier.js +0 -3
- package/lib/module/utils/getInvertedMultiplier.js.map +1 -1
- package/lib/module/utils/memoize.js +0 -5
- package/lib/module/utils/memoize.js.map +1 -1
- package/lib/module/utils/useCardAnimation.js +0 -2
- package/lib/module/utils/useCardAnimation.js.map +1 -1
- package/lib/module/utils/useGestureHandlerRef.js +0 -2
- package/lib/module/utils/useGestureHandlerRef.js.map +1 -1
- package/lib/module/utils/useKeyboardManager.js +14 -13
- package/lib/module/utils/useKeyboardManager.js.map +1 -1
- package/lib/module/views/GestureHandler.android.js.map +1 -1
- package/lib/module/views/GestureHandler.ios.js.map +1 -1
- package/lib/module/views/GestureHandler.js +0 -2
- package/lib/module/views/GestureHandler.js.map +1 -1
- package/lib/module/views/GestureHandlerNative.js +0 -1
- package/lib/module/views/GestureHandlerNative.js.map +1 -1
- package/lib/module/views/Header/Header.js +7 -6
- package/lib/module/views/Header/Header.js.map +1 -1
- package/lib/module/views/Header/HeaderContainer.js +10 -12
- package/lib/module/views/Header/HeaderContainer.js.map +1 -1
- package/lib/module/views/Header/HeaderSegment.js +6 -10
- package/lib/module/views/Header/HeaderSegment.js.map +1 -1
- package/lib/module/views/ModalStatusBarManager.js +1 -3
- package/lib/module/views/ModalStatusBarManager.js.map +1 -1
- package/lib/module/views/Screens.js +2 -8
- package/lib/module/views/Screens.js.map +1 -1
- package/lib/module/views/Stack/Card.js +17 -58
- package/lib/module/views/Stack/Card.js.map +1 -1
- package/lib/module/views/Stack/CardContainer.js +3 -17
- package/lib/module/views/Stack/CardContainer.js.map +1 -1
- package/lib/module/views/Stack/CardSheet.js +2 -4
- package/lib/module/views/Stack/CardSheet.js.map +1 -1
- package/lib/module/views/Stack/CardStack.js +23 -60
- package/lib/module/views/Stack/CardStack.js.map +1 -1
- package/lib/module/views/Stack/StackView.js +34 -51
- package/lib/module/views/Stack/StackView.js.map +1 -1
- package/lib/typescript/src/TransitionConfigs/CardStyleInterpolators.d.ts +1 -0
- package/lib/typescript/src/TransitionConfigs/CardStyleInterpolators.d.ts.map +1 -0
- package/lib/typescript/src/TransitionConfigs/HeaderStyleInterpolators.d.ts +1 -0
- package/lib/typescript/src/TransitionConfigs/HeaderStyleInterpolators.d.ts.map +1 -0
- package/lib/typescript/src/TransitionConfigs/TransitionPresets.d.ts +1 -0
- package/lib/typescript/src/TransitionConfigs/TransitionPresets.d.ts.map +1 -0
- package/lib/typescript/src/TransitionConfigs/TransitionSpecs.d.ts +1 -0
- package/lib/typescript/src/TransitionConfigs/TransitionSpecs.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +1 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/lib/typescript/src/navigators/createStackNavigator.d.ts +1 -0
- package/lib/typescript/src/navigators/createStackNavigator.d.ts.map +1 -0
- package/lib/typescript/src/types.d.ts +1 -0
- package/lib/typescript/src/types.d.ts.map +1 -0
- package/lib/typescript/src/utils/CardAnimationContext.d.ts +1 -0
- package/lib/typescript/src/utils/CardAnimationContext.d.ts.map +1 -0
- package/lib/typescript/src/utils/GestureHandlerRefContext.d.ts +1 -0
- package/lib/typescript/src/utils/GestureHandlerRefContext.d.ts.map +1 -0
- package/lib/typescript/src/utils/ModalPresentationContext.d.ts +1 -0
- package/lib/typescript/src/utils/ModalPresentationContext.d.ts.map +1 -0
- package/lib/typescript/src/utils/conditional.d.ts +1 -0
- package/lib/typescript/src/utils/conditional.d.ts.map +1 -0
- package/lib/typescript/src/utils/debounce.d.ts +1 -0
- package/lib/typescript/src/utils/debounce.d.ts.map +1 -0
- package/lib/typescript/src/utils/getDistanceForDirection.d.ts +1 -0
- package/lib/typescript/src/utils/getDistanceForDirection.d.ts.map +1 -0
- package/lib/typescript/src/utils/getInvertedMultiplier.d.ts +1 -0
- package/lib/typescript/src/utils/getInvertedMultiplier.d.ts.map +1 -0
- package/lib/typescript/src/utils/memoize.d.ts +1 -0
- package/lib/typescript/src/utils/memoize.d.ts.map +1 -0
- package/lib/typescript/src/utils/useCardAnimation.d.ts +1 -0
- package/lib/typescript/src/utils/useCardAnimation.d.ts.map +1 -0
- package/lib/typescript/src/utils/useGestureHandlerRef.d.ts +1 -0
- package/lib/typescript/src/utils/useGestureHandlerRef.d.ts.map +1 -0
- package/lib/typescript/src/utils/useKeyboardManager.d.ts +1 -0
- package/lib/typescript/src/utils/useKeyboardManager.d.ts.map +1 -0
- package/lib/typescript/src/views/GestureHandler.android.d.ts +1 -0
- package/lib/typescript/src/views/GestureHandler.android.d.ts.map +1 -0
- package/lib/typescript/src/views/GestureHandler.d.ts +1 -0
- package/lib/typescript/src/views/GestureHandler.d.ts.map +1 -0
- package/lib/typescript/src/views/GestureHandler.ios.d.ts +1 -0
- package/lib/typescript/src/views/GestureHandler.ios.d.ts.map +1 -0
- package/lib/typescript/src/views/GestureHandlerNative.d.ts +1 -0
- package/lib/typescript/src/views/GestureHandlerNative.d.ts.map +1 -0
- package/lib/typescript/src/views/Header/Header.d.ts +1 -0
- package/lib/typescript/src/views/Header/Header.d.ts.map +1 -0
- package/lib/typescript/src/views/Header/HeaderContainer.d.ts +1 -0
- package/lib/typescript/src/views/Header/HeaderContainer.d.ts.map +1 -0
- package/lib/typescript/src/views/Header/HeaderSegment.d.ts +1 -0
- package/lib/typescript/src/views/Header/HeaderSegment.d.ts.map +1 -0
- package/lib/typescript/src/views/ModalStatusBarManager.d.ts +1 -0
- package/lib/typescript/src/views/ModalStatusBarManager.d.ts.map +1 -0
- package/lib/typescript/src/views/Screens.d.ts +1 -0
- package/lib/typescript/src/views/Screens.d.ts.map +1 -0
- package/lib/typescript/src/views/Stack/Card.d.ts +1 -0
- package/lib/typescript/src/views/Stack/Card.d.ts.map +1 -0
- package/lib/typescript/src/views/Stack/CardContainer.d.ts +1 -0
- package/lib/typescript/src/views/Stack/CardContainer.d.ts.map +1 -0
- package/lib/typescript/src/views/Stack/CardSheet.d.ts +1 -0
- package/lib/typescript/src/views/Stack/CardSheet.d.ts.map +1 -0
- package/lib/typescript/src/views/Stack/CardStack.d.ts +1 -0
- package/lib/typescript/src/views/Stack/CardStack.d.ts.map +1 -0
- package/lib/typescript/src/views/Stack/StackView.d.ts +1 -0
- package/lib/typescript/src/views/Stack/StackView.d.ts.map +1 -0
- 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":"AAAA,SACEA,cADF,EAEEC,iBAFF,EAGEC,mBAHF,EAIEC,kBAJF,QAKO,4BALP;AAMA,SAAgBC,QAAhB,QAAgC,0BAAhC;AACA,OAAO,KAAKC,KAAZ,MAAuB,OAAvB;AACA,SAAmBC,UAAnB,EAA+BC,IAA/B,QAA2C,cAA3C;AAGA,OAAOC,wBAAP,MAAqC,sCAArC;AACA,OAAOC,kBAAP,MAA+B,gCAA/B;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AA0CA,MAAMC,OAAO,GAAG,GAAhB;;AAEA,SAASC,aAAT,OAgCU;EAAA,IAhCa;IACrBC,kBADqB;IAErBC,KAFqB;IAGrBC,MAHqB;IAIrBC,OAJqB;IAKrBC,OALqB;IAMrBC,OANqB;IAOrBC,KAPqB;IAQrBC,gBARqB;IASrBC,eATqB;IAUrBC,iBAVqB;IAWrBC,sBAXqB;IAYrBC,YAZqB;IAarBC,oBAbqB;IAcrBC,mBAdqB;IAerBC,uBAfqB;IAgBrBC,mBAhBqB;IAiBrBC,MAjBqB;IAkBrBC,YAlBqB;IAmBrBC,WAnBqB;IAoBrBC,eApBqB;IAqBrBC,YArBqB;IAsBrBC,cAtBqB;IAuBrBC,eAvBqB;IAwBrBC,iBAxBqB;IAyBrBC,YAzBqB;IA0BrBC,WA1BqB;IA2BrBC,mBA3BqB;IA4BrBC,iBA5BqB;IA6BrBC,kBA7BqB;IA8BrBC,gBA9BqB;IA+BrBC;EA/BqB,CAgCb;EACR,MAAMC,kBAAkB,GAAGvC,KAAK,CAACwC,UAAN,CAAiB3C,mBAAjB,CAA3B;EAEA,MAAM;IAAE4C,iBAAF;IAAqBC,kBAArB;IAAyCC;EAAzC,IACJvC,kBAAkB,CAChBJ,KAAK,CAAC4C,WAAN,CAAkB,MAAM;IACtB,MAAM;MAAEC,OAAF;MAAWC;IAAX,IAA0BR,KAAK,CAACS,UAAtC;IAEA,OACED,UAAU,CAACE,SAAX,MAA0BH,OAAO,CAACI,uBAAR,KAAoC,KADhE;EAGD,CAND,EAMG,CAACX,KAAK,CAACS,UAAP,CANH,CADgB,CADpB;;EAWA,MAAMG,UAAU,GAAG,MAAM;IACvB,MAAM;MAAEC;IAAF,IAAYb,KAAK,CAACS,UAAxB;IAEAjB,eAAe,CAAC;MAAEqB;IAAF,CAAD,EAAY,KAAZ,CAAf;IACAzB,WAAW,CAAC;MAAEyB;IAAF,CAAD,CAAX;EACD,CALD;;EAOA,MAAMC,WAAW,GAAG,MAAM;IACxB,MAAM;MAAED;IAAF,IAAYb,KAAK,CAACS,UAAxB;IAEAjB,eAAe,CAAC;MAAEqB;IAAF,CAAD,EAAY,IAAZ,CAAf;IACA1B,YAAY,CAAC;MAAE0B;IAAF,CAAD,CAAZ;EACD,CALD;;EAOA,MAAME,kBAAkB,GAAG,MAAM;IAC/B,MAAM;MAAEF;IAAF,IAAYb,KAAK,CAACS,UAAxB;IAEAN,iBAAiB;IACjBZ,cAAc,CAAC;MAAEsB;IAAF,CAAD,CAAd;EACD,CALD;;EAOA,MAAMG,qBAAqB,GAAG,MAAM;IAClC,MAAM;MAAEH;IAAF,IAAYb,KAAK,CAACS,UAAxB;IAEAL,kBAAkB;IAClBf,eAAe,CAAC;MAAEwB;IAAF,CAAD,CAAf;EACD,CALD;;EAOA,MAAMI,gBAAgB,GAAG,MAAM;IAC7B,MAAM;MAAEJ;IAAF,IAAYb,KAAK,CAACS,UAAxB;IAEAnB,YAAY,CAAC;MAAEuB;IAAF,CAAD,CAAZ;EACD,CAJD;;EAMA,MAAMK,gBAAgB,GAAG,SAMnB;IAAA,IANoB;MACxB7C,OADwB;MAExBC;IAFwB,CAMpB;IACJ,MAAM;MAAEuC;IAAF,IAAYb,KAAK,CAACS,UAAxB;;IAEA,IAAI,CAACnC,OAAL,EAAc;MACZ+B,mBAAmB,SAAnB,IAAAA,mBAAmB,WAAnB,YAAAA,mBAAmB,CAAG,IAAH,CAAnB;IACD,CAFD,MAEO,IAAIjC,MAAM,IAAIC,OAAd,EAAuB;MAC5BgC,mBAAmB,SAAnB,IAAAA,mBAAmB,WAAnB,YAAAA,mBAAmB,CAAG,KAAH,CAAnB;IACD,CAFM,MAEA;MACLD,kBAAkB,SAAlB,IAAAA,kBAAkB,WAAlB,YAAAA,kBAAkB;IACnB;;IAEDX,iBAAiB,SAAjB,IAAAA,iBAAiB,WAAjB,YAAAA,iBAAiB,CAAG;MAAEoB;IAAF,CAAH,EAAcxC,OAAd,CAAjB;EACD,CAlBD;;EAoBA,MAAM8C,MAAM,GAAG;IACbC,GAAG,EAAErB,gBADQ;IAEbsB,KAAK,EAAEvB,kBAFM;IAGbwB,MAAM,EAAE1B,mBAHK;IAIb2B,IAAI,EAAE1B;EAJO,CAAf;EAOA,MAAM;IAAE2B;EAAF,IAAa/D,QAAQ,EAA3B;EAEA,MAAM,CAACgE,aAAD,EAAgBC,gBAAhB,IAAoChE,KAAK,CAACiE,QAAN,CACxC,UADwC,CAA1C;EAIAjE,KAAK,CAACkE,SAAN,CAAgB,MAAM;IAAA;;IACpB,MAAMC,QAAQ,2BAAG7B,KAAK,CAAC8B,QAAN,CAAeC,IAAlB,kFAAG,qBAAqBC,WAAxB,0DAAG,iDACf,SAAkC;MAAA,IAAjC;QAAEC;MAAF,CAAiC;MAChCP,gBAAgB,CAACO,KAAK,IAAIjE,OAAT,GAAmB,UAAnB,GAAgC,MAAjC,CAAhB;IACD,CAHc,CAAjB;IAMA,OAAO,MAAM;MACX,IAAI6D,QAAJ,EAAc;QAAA;;QACZ,yBAAA7B,KAAK,CAAC8B,QAAN,CAAeC,IAAf,yGAAqBG,cAArB,4GAAsCL,QAAtC;MACD;IACF,CAJD;EAKD,CAZD,EAYG,CAACJ,aAAD,EAAgBzB,KAAK,CAAC8B,QAAN,CAAeC,IAA/B,CAZH;EAcA,MAAM;IACJI,YADI;IAEJC,gBAFI;IAGJC,WAHI;IAIJC,kBAJI;IAKJC,iBALI;IAMJC,SANI;IAOJC,qBAPI;IAQJC,gBARI;IASJC,cATI;IAUJC,uBAVI;IAWJC,qBAXI;IAYJC,UAZI;IAaJC,WAbI;IAcJC;EAdI,IAeFhD,KAAK,CAACS,UAAN,CAAiBF,OAfrB;EAiBA,MAAM0C,aAAa,GAAGxE,gBAAgB,CAAC;IAAEoC,KAAK,EAAEb,KAAK,CAACS,UAAN,CAAiBI;EAA1B,CAAD,CAAtC;EAEA,IAAIqC,SAAJ;;EAEA,IAAID,aAAJ,EAAmB;IACjB,MAAM;MAAE1C,OAAF;MAAWM;IAAX,IAAqBoC,aAAa,CAACxC,UAAzC;IAEAyC,SAAS,GAAG7F,cAAc,CAACkD,OAAD,EAAUM,KAAK,CAACsC,IAAhB,CAA1B;EACD;;EAED,MAAMC,UAAU,GAAG1F,KAAK,CAAC2F,OAAN,CACjB,MAAOH,SAAS,KAAKI,SAAd,GAA0B;IAAEC,KAAK,EAAEL;EAAT,CAA1B,GAAiDI,SADvC,EAEjB,CAACJ,SAAD,CAFiB,CAAnB;EAKA,oBACE,oBAAC,IAAD;IACE,kBAAkB,EAAEhF,kBADtB;IAEE,gBAAgB,EAAEwE,gBAFpB;IAGE,MAAM,EAAExD,MAHV;IAIE,MAAM,EAAEiC,MAJV;IAKE,OAAO,EAAE7C,OALX;IAME,OAAO,EAAE0B,KAAK,CAAC8B,QAAN,CAAe0B,OAN1B;IAOE,IAAI,EAAExD,KAAK,CAAC8B,QAAN,CAAeC,IAPvB;IAQE,OAAO,EAAE1D,OARX;IASE,MAAM,EAAEuC,UATV;IAUE,OAAO,EAAEE,WAVX;IAWE,OAAO,EAAEuB,WAXX;IAYE,cAAc,EAAEC,kBAZlB;IAaE,aAAa,EAAEC,iBAbjB;IAcE,YAAY,EAAErB,gBAdhB;IAeE,cAAc,EAAEH,kBAflB;IAgBE,iBAAiB,EAAEC,qBAhBrB;IAiBE,YAAY,EAAEC,gBAjBhB;IAkBE,cAAc,EAAE9C,KAAK,KAAK,CAAV,GAAc,KAAd,GAAsBwE,cAlBxC;IAmBE,uBAAuB,EAAEC,uBAnB3B;IAoBE,qBAAqB,EAAEC,qBApBzB;IAqBE,cAAc,EAAEG,cArBlB;IAsBE,iBAAiB,EAAEP,qBAtBrB;IAuBE,2BAA2B,EAAE,CAAClE,OAvBhC;IAwBE,yBAAyB,EAAEA,OAAO,GAAG,MAAH,GAAY,qBAxBhD;IAyBE,aAAa,EAAEH,MAAM,GAAG,UAAH,GAAgBqD,aAzBvC;IA0BE,mBAAmB,EAAEqB,UAAU,KAAK,OAAf,IAA0BX,YAAY,KAAK,OA1BlE;IA2BE,iBAAiB,EAAExD,iBA3BrB;IA4BE,cAAc,EACZC,sBAAsB,IAAIkE,UAAU,KAAK,QAAzC,GACI;MAAEW,SAAS,EAAE5E;IAAb,CADJ,GAEI,IA/BR;IAiCE,YAAY,EAAE,CACZ;MACE6E,eAAe,EACbvB,YAAY,KAAK,kBAAjB,GACI,aADJ,GAEIX,MAAM,CAACmC;IAJf,CADY,EAOZnB,SAPY,CAjChB;IA0CE,KAAK,EAAE,CACL;MACE;MACA;MACAoB,QAAQ,EAAExF,MAAM,GAAGkF,SAAH,GAAe,QAHjC;MAIEO,OAAO,EACL;MACA;MACAzB,gBAAgB,KAAK,KAArB,IACApD,uBAAuB,KAAK,KAD5B,IAEAC,mBAAmB,KAAK,KAFxB,IAGA,CAACV,OAHD,GAII,MAJJ,GAKI;IAZR,CADK,EAeLZ,UAAU,CAACmG,YAfN;EA1CT,gBA4DE,oBAAC,IAAD;IAAM,KAAK,EAAEC,MAAM,CAACC;EAApB,gBACE,oBAAC,wBAAD,CAA0B,QAA1B;IAAmC,KAAK,EAAExF;EAA1C,gBACE,oBAAC,IAAD;IAAM,KAAK,EAAEuF,MAAM,CAAC/D;EAApB,gBACE,oBAAC,iBAAD,CAAmB,QAAnB;IAA4B,KAAK,EAAEoD;EAAnC,gBACE,oBAAC,kBAAD,CAAoB,QAApB;IACE,KAAK,EAAErE,mBAAmB,IAAIgE,WAAW,KAAK;EADhD,gBAGE,oBAAC,mBAAD,CAAqB,QAArB;IACE,KAAK,EAAEA,WAAW,GAAGlE,YAAH,GAAkBoB,kBAAlB,aAAkBA,kBAAlB,cAAkBA,kBAAlB,GAAwC;EAD5D,GAGGN,WAAW,CAAC;IAAEkB,KAAK,EAAEb,KAAK,CAACS,UAAN,CAAiBI;EAA1B,CAAD,CAHd,CAHF,CADF,CADF,CADF,EAcGiC,UAAU,KAAK,OAAf,GACGpD,YAAY,CAAC;IACXuE,IAAI,EAAE,QADK;IAEX/E,MAFW;IAGXgF,MAAM,EAAE,CAACjB,aAAD,EAAgBjD,KAAhB,CAHG;IAIXvB,gBAJW;IAKXC,eALW;IAMXyF,qBAAqB,EAAErF;EANZ,CAAD,CADf,GASG,IAvBN,CADF,CA5DF,CADF;AA0FD;;AAED,4BAAepB,KAAK,CAAC0G,IAAN,CAAWnG,aAAX,CAAf;AAEA,MAAM8F,MAAM,GAAGpG,UAAU,CAAC0G,MAAX,CAAkB;EAC/BL,SAAS,EAAE;IACTM,IAAI,EAAE,CADG;IAETC,aAAa,EAAE;EAFN,CADoB;EAK/BvE,KAAK,EAAE;IACLsE,IAAI,EAAE;EADD;AALwB,CAAlB,CAAf"}
|
|
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);
|
|
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"],"
|
|
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;
|
|
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];
|
|
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 =
|
|
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: {
|
|
147
|
-
|
|
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: {
|
|
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
|
-
|
|
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 && [
|
|
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];
|
|
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
|
-
}
|
|
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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"}
|