@react-navigation/stack
Version:
Stack navigator component for iOS and Android with animated transitions and gestures
156 lines (143 loc) • 5.71 kB
JavaScript
"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