UNPKG

@react-navigation/stack

Version:

Stack navigator component for iOS and Android with animated transitions and gestures

100 lines (92 loc) 2.99 kB
import { forHorizontalIOS, forVerticalIOS, forScaleFromCenterAndroid, forRevealFromBottomAndroid, forFadeFromBottomAndroid, forModalPresentationIOS } from './CardStyleInterpolators'; import { forFade } from './HeaderStyleInterpolators'; import { TransitionIOSSpec, ScaleFromCenterAndroidSpec, RevealFromBottomAndroidSpec, FadeOutToBottomAndroidSpec, FadeInFromBottomAndroidSpec } from './TransitionSpecs'; import { Platform } from 'react-native'; const ANDROID_VERSION_PIE = 28; /** * Standard iOS navigation transition. */ export const SlideFromRightIOS = { gestureDirection: 'horizontal', transitionSpec: { open: TransitionIOSSpec, close: TransitionIOSSpec }, cardStyleInterpolator: forHorizontalIOS, headerStyleInterpolator: forFade }; /** * Standard iOS navigation transition for modals. */ export const ModalSlideFromBottomIOS = { gestureDirection: 'vertical', transitionSpec: { open: TransitionIOSSpec, close: TransitionIOSSpec }, cardStyleInterpolator: forVerticalIOS, headerStyleInterpolator: forFade }; /** * Standard iOS modal presentation style (introduced in iOS 13). */ export const ModalPresentationIOS = { gestureDirection: 'vertical', transitionSpec: { open: TransitionIOSSpec, close: TransitionIOSSpec }, cardStyleInterpolator: forModalPresentationIOS, headerStyleInterpolator: forFade }; /** * Standard Android navigation transition when opening or closing an Activity on Android < 9 (Oreo). */ export const FadeFromBottomAndroid = { gestureDirection: 'vertical', transitionSpec: { open: FadeInFromBottomAndroidSpec, close: FadeOutToBottomAndroidSpec }, cardStyleInterpolator: forFadeFromBottomAndroid, headerStyleInterpolator: forFade }; /** * Standard Android navigation transition when opening or closing an Activity on Android 9 (Pie). */ export const RevealFromBottomAndroid = { gestureDirection: 'vertical', transitionSpec: { open: RevealFromBottomAndroidSpec, close: RevealFromBottomAndroidSpec }, cardStyleInterpolator: forRevealFromBottomAndroid, headerStyleInterpolator: forFade }; /** * Standard Android navigation transition when opening or closing an Activity on Android 10 (Q). */ export const ScaleFromCenterAndroid = { gestureDirection: 'horizontal', transitionSpec: { open: ScaleFromCenterAndroidSpec, close: ScaleFromCenterAndroidSpec }, cardStyleInterpolator: forScaleFromCenterAndroid, headerStyleInterpolator: forFade }; /** * Default navigation transition for the current platform. */ export const DefaultTransition = Platform.select({ ios: SlideFromRightIOS, default: Platform.OS === 'android' && Platform.Version >= ANDROID_VERSION_PIE ? RevealFromBottomAndroid : FadeFromBottomAndroid }); /** * Default modal transition for the current platform. */ export const ModalTransition = Platform.select({ ios: ModalSlideFromBottomIOS, default: DefaultTransition }); //# sourceMappingURL=TransitionPresets.js.map