diff --git a/flow/react-navigation.js b/flow/react-navigation.js index 98b5c3a..ec7eae5 100644 --- a/flow/react-navigation.js +++ b/flow/react-navigation.js @@ -293,7 +293,7 @@ declare module 'react-navigation' { declare export type NavigationComponent = | NavigationScreenComponent - | NavigationContainer<*, *, *>; + | NavigationNavigator<*, *, *>; declare interface withOptionalNavigationOptions { navigationOptions?: NavigationScreenConfig; @@ -317,7 +317,7 @@ declare module 'react-navigation' { State: NavigationState, Options: {}, Props: {} - > = React$ComponentType<{ + > = React$StatelessFunctionalComponent<{ ...Props, ...NavigationNavigatorProps, }> & @@ -396,7 +396,7 @@ declare module 'react-navigation' { initialRouteName?: string, initialRouteParams?: NavigationParams, paths?: NavigationPathsConfig, - navigationOptions?: NavigationScreenConfig<*>, + defaultNavigationOptions?: NavigationScreenConfig<*>, initialRouteKey?: string, |}; @@ -431,7 +431,7 @@ declare module 'react-navigation' { initialRouteName?: string, initialRouteParams?: NavigationParams, paths?: NavigationPathsConfig, - navigationOptions?: NavigationScreenConfig<*>, + defaultNavigationOptions?: NavigationScreenConfig<*>, order?: Array, backBehavior?: 'none' | 'initialRoute', // defaults to `'none'` resetOnBlur?: boolean, // defaults to `true` @@ -445,7 +445,7 @@ declare module 'react-navigation' { initialRouteName?: string, initialRouteParams?: NavigationParams, paths?: NavigationPathsConfig, - navigationOptions?: NavigationScreenConfig<*>, + defaultNavigationOptions?: NavigationScreenConfig<*>, // todo: type these as the real route names rather than 'string' order?: Array, // Does the back button cause the router to switch to the initial tab @@ -761,6 +761,9 @@ declare module 'react-navigation' { * Now we type the actual exported module */ + declare export function createAppContainer( + Component: NavigationNavigator + ): NavigationContainer; declare export function createNavigationContainer( Component: NavigationNavigator ): NavigationContainer; @@ -892,11 +895,11 @@ declare module 'react-navigation' { declare export function StackNavigator( routeConfigMap: NavigationRouteConfigMap, stackConfig?: StackNavigatorConfig - ): NavigationContainer<*, *, *>; + ): NavigationNavigator<*, *, *>; declare export function createStackNavigator( routeConfigMap: NavigationRouteConfigMap, stackConfig?: StackNavigatorConfig - ): NavigationContainer<*, *, *>; + ): NavigationNavigator<*, *, *>; declare type _TabViewConfig = {| tabBarComponent?: React$ElementType, @@ -920,31 +923,31 @@ declare module 'react-navigation' { declare export function TabNavigator( routeConfigs: NavigationRouteConfigMap, config?: _TabNavigatorConfig - ): NavigationContainer<*, *, *>; + ): NavigationNavigator<*, *, *>; declare export function createTabNavigator( routeConfigs: NavigationRouteConfigMap, config?: _TabNavigatorConfig - ): NavigationContainer<*, *, *>; + ): NavigationNavigator<*, *, *>; /* TODO: fix the config for each of these tab navigator types */ declare export function createBottomTabNavigator( routeConfigs: NavigationRouteConfigMap, config?: _TabNavigatorConfig - ): NavigationContainer<*, *, *>; + ): NavigationNavigator<*, *, *>; declare export function createMaterialTopTabNavigator( routeConfigs: NavigationRouteConfigMap, config?: _TabNavigatorConfig - ): NavigationContainer<*, *, *>; + ): NavigationNavigator<*, *, *>; declare type _SwitchNavigatorConfig = {| ...NavigationSwitchRouterConfig, |}; declare export function SwitchNavigator( routeConfigs: NavigationRouteConfigMap, config?: _SwitchNavigatorConfig - ): NavigationContainer<*, *, *>; + ): NavigationNavigator<*, *, *>; declare export function createSwitchNavigator( routeConfigs: NavigationRouteConfigMap, config?: _SwitchNavigatorConfig - ): NavigationContainer<*, *, *>; + ): NavigationNavigator<*, *, *>; declare type _DrawerViewConfig = {| drawerLockMode?: 'unlocked' | 'locked-closed' | 'locked-open', @@ -965,11 +968,11 @@ declare module 'react-navigation' { declare export function DrawerNavigator( routeConfigs: NavigationRouteConfigMap, config?: _DrawerNavigatorConfig - ): NavigationContainer<*, *, *>; + ): NavigationNavigator<*, *, *>; declare export function createDrawerNavigator( routeConfigs: NavigationRouteConfigMap, config?: _DrawerNavigatorConfig - ): NavigationContainer<*, *, *>; + ): NavigationNavigator<*, *, *>; declare export function StackRouter( routeConfigs: NavigationRouteConfigMap,