/* 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; }, };