diff --git a/types/react-navigation/index.d.ts b/types/react-navigation/index.d.ts index 5e3e1f749d..6e286c2217 100644 --- a/types/react-navigation/index.d.ts +++ b/types/react-navigation/index.d.ts @@ -19,6 +19,7 @@ // Jérémy Magrin // Luca Campana // Ullrich Schaefer +// Yosuke Seki // Jake // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.8 @@ -700,6 +701,28 @@ export interface TransitionConfig { containerStyle?: StyleProp; } +export type TransitionConfigurer = ( + transitionProps: NavigationTransitionProps, + prevTransitionProps: NavigationTransitionProps, + isModal: boolean +) => TransitionConfig; + +export interface StackViewTransitionConfigsType { + defaultTransitionConfig: TransitionConfigurer; + getTransitionConfig: ( + transitionConfigurer: TransitionConfigurer, + transitionProps: NavigationTransitionProps, + prevTransitionProps: NavigationTransitionProps, + isModal: boolean + ) => TransitionConfig; + SlideFromRightIOS: TransitionConfig; + ModalSlideFromBottomIOS: TransitionConfig; + FadeInFromBottomAndroid: TransitionConfig; + FadeOutToBottomAndroid: TransitionConfig; +} + +export const StackViewTransitionConfigs: StackViewTransitionConfigsType; + export type NavigationAnimationSetter = ( position: AnimatedValue, newState: NavigationState, diff --git a/types/react-navigation/react-navigation-tests.tsx b/types/react-navigation/react-navigation-tests.tsx index 78e71fb746..3cde3d892c 100644 --- a/types/react-navigation/react-navigation-tests.tsx +++ b/types/react-navigation/react-navigation-tests.tsx @@ -24,6 +24,7 @@ import { NavigationStackScreenOptions, NavigationTabScreenOptions, NavigationTransitionProps, + StackViewTransitionConfigs, createStackNavigator, StackNavigatorConfig, createSwitchNavigator, @@ -573,3 +574,10 @@ class MyScreen extends React.Component> return