UNPKG

@react-navigation/stack

Version:

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

156 lines (143 loc) 5.71 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SlideFromRightIOS = exports.SlideFromLeftIOS = exports.ScaleFromCenterAndroid = exports.RevealFromBottomAndroid = exports.ModalTransition = exports.ModalSlideFromBottomIOS = exports.ModalPresentationIOS = exports.ModalFadeTransition = exports.FadeFromRightAndroid = exports.FadeFromBottomAndroid = exports.DefaultTransition = exports.BottomSheetAndroid = void 0; var _reactNative = require("react-native"); var _CardStyleInterpolators = require("./CardStyleInterpolators.js"); var _HeaderStyleInterpolators = require("./HeaderStyleInterpolators.js"); var _TransitionSpecs = require("./TransitionSpecs.js"); const ANDROID_VERSION_PIE = 28; const ANDROID_VERSION_10 = 29; const ANDROID_VERSION_14 = 34; /** * Standard iOS navigation transition. */ const SlideFromRightIOS = exports.SlideFromRightIOS = { gestureDirection: 'horizontal', transitionSpec: { open: _TransitionSpecs.TransitionIOSSpec, close: _TransitionSpecs.TransitionIOSSpec }, cardStyleInterpolator: _CardStyleInterpolators.forHorizontalIOS, headerStyleInterpolator: _HeaderStyleInterpolators.forFade }; /** * Standard iOS navigation transition for modals. */ const ModalSlideFromBottomIOS = exports.ModalSlideFromBottomIOS = { gestureDirection: 'vertical', transitionSpec: { open: _TransitionSpecs.TransitionIOSSpec, close: _TransitionSpecs.TransitionIOSSpec }, cardStyleInterpolator: _CardStyleInterpolators.forVerticalIOS, headerStyleInterpolator: _HeaderStyleInterpolators.forFade }; /** * Standard iOS modal presentation style (introduced in iOS 13). */ const ModalPresentationIOS = exports.ModalPresentationIOS = { gestureDirection: 'vertical', transitionSpec: { open: _TransitionSpecs.TransitionIOSSpec, close: _TransitionSpecs.TransitionIOSSpec }, cardStyleInterpolator: _CardStyleInterpolators.forModalPresentationIOS, headerStyleInterpolator: _HeaderStyleInterpolators.forFade }; /** * Standard Android navigation transition when opening or closing an Activity on Android < 9 (Oreo). */ const FadeFromBottomAndroid = exports.FadeFromBottomAndroid = { gestureDirection: 'vertical', transitionSpec: { open: _TransitionSpecs.FadeInFromBottomAndroidSpec, close: _TransitionSpecs.FadeOutToBottomAndroidSpec }, cardStyleInterpolator: _CardStyleInterpolators.forFadeFromBottomAndroid, headerStyleInterpolator: _HeaderStyleInterpolators.forFade }; /** * Standard Android navigation transition when opening or closing an Activity on Android 9 (Pie). */ const RevealFromBottomAndroid = exports.RevealFromBottomAndroid = { gestureDirection: 'vertical', transitionSpec: { open: _TransitionSpecs.RevealFromBottomAndroidSpec, close: _TransitionSpecs.RevealFromBottomAndroidSpec }, cardStyleInterpolator: _CardStyleInterpolators.forRevealFromBottomAndroid, headerStyleInterpolator: _HeaderStyleInterpolators.forFade }; /** * Standard Android navigation transition when opening or closing an Activity on Android 10 (Q). */ const ScaleFromCenterAndroid = exports.ScaleFromCenterAndroid = { gestureDirection: 'horizontal', transitionSpec: { open: _TransitionSpecs.ScaleFromCenterAndroidSpec, close: _TransitionSpecs.ScaleFromCenterAndroidSpec }, cardStyleInterpolator: _CardStyleInterpolators.forScaleFromCenterAndroid, headerStyleInterpolator: _HeaderStyleInterpolators.forFade }; /** * Standard Android navigation transition when opening or closing an Activity on Android 14. */ const FadeFromRightAndroid = exports.FadeFromRightAndroid = { gestureDirection: 'horizontal', transitionSpec: { open: _TransitionSpecs.FadeInFromBottomAndroidSpec, close: _TransitionSpecs.FadeOutToBottomAndroidSpec }, cardStyleInterpolator: _CardStyleInterpolators.forFadeFromRightAndroid, headerStyleInterpolator: _HeaderStyleInterpolators.forFade }; /** * Standard bottom sheet slide transition for Android 10. */ const BottomSheetAndroid = exports.BottomSheetAndroid = { gestureDirection: 'vertical', transitionSpec: { open: _TransitionSpecs.BottomSheetSlideInSpec, close: _TransitionSpecs.BottomSheetSlideOutSpec }, cardStyleInterpolator: _CardStyleInterpolators.forBottomSheetAndroid, headerStyleInterpolator: _HeaderStyleInterpolators.forFade }; /** * Fade transition for transparent modals. */ const ModalFadeTransition = exports.ModalFadeTransition = { gestureDirection: 'vertical', transitionSpec: { open: _TransitionSpecs.BottomSheetSlideInSpec, close: _TransitionSpecs.BottomSheetSlideOutSpec }, cardStyleInterpolator: _CardStyleInterpolators.forFadeFromCenter, headerStyleInterpolator: _HeaderStyleInterpolators.forFade }; /** * Default navigation transition for the current platform. */ const DefaultTransition = exports.DefaultTransition = _reactNative.Platform.select({ ios: SlideFromRightIOS, android: Number(_reactNative.Platform.Version) >= ANDROID_VERSION_14 ? FadeFromRightAndroid : Number(_reactNative.Platform.Version) >= ANDROID_VERSION_10 ? ScaleFromCenterAndroid : Number(_reactNative.Platform.Version) >= ANDROID_VERSION_PIE ? RevealFromBottomAndroid : FadeFromBottomAndroid, default: ScaleFromCenterAndroid }); /** * Default modal transition for the current platform. */ const ModalTransition = exports.ModalTransition = _reactNative.Platform.select({ ios: ModalPresentationIOS, default: BottomSheetAndroid }); /** * Slide from left transition. */ const SlideFromLeftIOS = exports.SlideFromLeftIOS = { ...SlideFromRightIOS, cardStyleInterpolator: _CardStyleInterpolators.forHorizontalIOSInverted }; //# sourceMappingURL=TransitionPresets.js.map