/* eslint global-require: 0 */
module.exports = {
// Themes
get useTheme() {
return require('@react-navigation/core').useTheme;
},
get ThemeContext() {
return require('@react-navigation/core').ThemeContext;
},
get ThemeColors() {
return require('@react-navigation/core').ThemeColors;
},
get Themed() {
return require('@react-navigation/native').Themed;
},
// Native
get createAppContainer() {
return require('@react-navigation/native').createAppContainer;
},
get createNavigationContainer() {
console.warn(
'`createNavigationContainer()` has been deprecated, please use `createAppContainer()` instead. You can also import createAppContainer directly from @react-navigation/native'
);
return require('@react-navigation/native').createAppContainer;
},
get createKeyboardAwareNavigator() {
return require('@react-navigation/native').createKeyboardAwareNavigator;
},
get createNavigationAwareScrollable() {
return require('@react-navigation/native').createNavigationAwareScrollable;
},
get ScrollView() {
return require('@react-navigation/native').ScrollView;
},
get FlatList() {
return require('@react-navigation/native').FlatList;
},
get SectionList() {
return require('@react-navigation/native').SectionList;
},
get ResourceSavingSceneView() {
return require('@react-navigation/native').ResourceSavingSceneView;
},
get SafeAreaView() {
return require('@react-navigation/native').SafeAreaView;
},
get withOrientation() {
return require('@react-navigation/native').withOrientation;
},
// Core
get createNavigator() {
return require('@react-navigation/core').createNavigator;
},
get StateUtils() {
return require('@react-navigation/core').StateUtils;
},
get getNavigation() {
return require('@react-navigation/core').getNavigation;
},
get NavigationContext() {
return require('@react-navigation/core').NavigationContext;
},
get NavigationProvider() {
return require('@react-navigation/core').NavigationProvider;
},
get NavigationConsumer() {
return require('@react-navigation/core').NavigationConsumer;
},
get NavigationActions() {
return require('@react-navigation/core').NavigationActions;
},
get StackActions() {
return require('@react-navigation/core').StackActions;
},
get StackRouter() {
return require('@react-navigation/core').StackRouter;
},
get TabRouter() {
return require('@react-navigation/core').TabRouter;
},
get SwitchRouter() {
return require('@react-navigation/core').SwitchRouter;
},
get SwitchActions() {
return require('@react-navigation/core').SwitchActions;
},
get createConfigGetter() {
return require('@react-navigation/core').StackAcreateConfigGetterctions;
},
get getScreenForRouteName() {
return require('@react-navigation/core').getScreenForRouteName;
},
get validateRouteConfigMap() {
return require('@react-navigation/core').validateRouteConfigMap;
},
get getActiveChildNavigationOptions() {
return require('@react-navigation/core').getActiveChildNavigationOptions;
},
get pathUtils() {
return require('@react-navigation/core').pathUtils;
},
get SceneView() {
return require('@react-navigation/core').SceneView;
},
get SwitchView() {
return require('@react-navigation/core').SwitchView;
},
get NavigationEvents() {
return require('@react-navigation/core').NavigationEvents;
},
get withNavigation() {
return require('@react-navigation/core').withNavigation;
},
get withNavigationFocus() {
return require('@react-navigation/core').withNavigationFocus;
},
// Navigators
get createStackNavigator() {
return require('react-navigation-stack').createStackNavigator;
},
get createSwitchNavigator() {
return require('@react-navigation/core').createSwitchNavigator;
},
get createBottomTabNavigator() {
return require('react-navigation-tabs').createBottomTabNavigator;
},
get createMaterialTopTabNavigator() {
return require('react-navigation-tabs').createMaterialTopTabNavigator;
},
get createDrawerNavigator() {
return require('react-navigation-drawer').createDrawerNavigator;
},
// Gesture contexts
get StackGestureContext() {
return require('react-navigation-stack').StackGestureContext;
},
get DrawerGestureContext() {
return require('react-navigation-drawer').DrawerGestureContext;
},
// Routers and Actions
get DrawerRouter() {
return require('react-navigation-drawer').DrawerRouter;
},
get DrawerActions() {
return require('react-navigation-drawer').DrawerActions;
},
// Views
get Transitioner() {
console.warn(
'Importing the stack Transitioner directly from react-navigation is now deprecated. Instead, import { Transitioner } from "react-navigation-stack";'
);
return require('react-navigation-stack').Transitioner;
},
get StackView() {
return require('react-navigation-stack').StackView;
},
get StackViewCard() {
return require('react-navigation-stack').StackViewCard;
},
get StackViewTransitionConfigs() {
return require('react-navigation-stack').StackViewTransitionConfigs;
},
// Header
get Header() {
return require('react-navigation-stack').Header;
},
get HeaderTitle() {
return require('react-navigation-stack').HeaderTitle;
},
get HeaderBackButton() {
return require('react-navigation-stack').HeaderBackButton;
},
get HeaderStyleInterpolator() {
return require('react-navigation-stack').HeaderStyleInterpolator;
},
// DrawerView
get DrawerView() {
return require('react-navigation-drawer').DrawerView;
},
get DrawerItems() {
return require('react-navigation-drawer').DrawerNavigatorItems;
},
get DrawerSidebar() {
return require('react-navigation-drawer').DrawerSidebar;
},
// Tabs
get BottomTabBar() {
return require('react-navigation-tabs').BottomTabBar;
},
get MaterialTopTabBar() {
return require('react-navigation-tabs').MaterialTopTabBar;
},
};