* Copyright (c) 2025 Huawei Technologies Co., Ltd.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
if (global.window === undefined) {
* Some RN framework uses RNOH 72 as a dependency and users of that framework don't install RNOH directly.
* RN upstream code integration approach changed in RNOH 77, and RNOH must be installed directly.
*
* That RN framework SHOULD NOT use RNOH as a dependency (RNOH should be peerDependency). React Native expects
* Out of Tree platforms to be directly installed in application projects. There's no guarantee that preserving
* this behavior will be possible in future RN versions.
*
* If RN doesn't recognize RNOH as an OOT platform, serializer::getModulesRunBeforeMainModule won't be used.
* Part of the RN OOT recognition logic depends on dependencies listed in application's package.json
* (https://github.com/react-native-community/cli/blob/main/packages/cli-config/src/findDependencies.ts).
*/
require('./Libraries/Core/InitializeCore');
}
module.exports = {
get AccessibilityInfo() {
return require('./Libraries/Components/AccessibilityInfo/AccessibilityInfo')
.default;
},
get ActionSheetIOS() {
return require('./Libraries/ActionSheetIOS/ActionSheetIOS').default;
},
get ActivityIndicator() {
return require('./Libraries/Components/ActivityIndicator/ActivityIndicator')
.default;
},
get Alert() {
return require('./Libraries/Alert/Alert').default;
},
get Animated() {
return require('./Libraries/Animated/Animated').default;
},
get Appearance() {
return require('./Libraries/Utilities/Appearance');
},
get AppRegistry() {
return require('./Libraries/ReactNative/AppRegistry').AppRegistry;
},
get AppState() {
return require('./Libraries/AppState/AppState').default;
},
get BackHandler() {
return require('./Libraries/Utilities/BackHandler').default;
},
get Button() {
return require('./Libraries/Components/Button').default;
},
get DevSettings() {
return require('./Libraries/Utilities/DevSettings').default;
},
get Dimensions() {
return require('./Libraries/Utilities/Dimensions').default;
},
get DeviceEventEmitter() {
return require('./Libraries/EventEmitter/RCTDeviceEventEmitter').default;
},
get DrawerLayoutAndroid() {
return require('./Libraries/Components/DrawerAndroid/DrawerLayoutAndroid')
.default;
},
get Easing() {
return require('./Libraries/Animated/Easing').default;
},
get findNodeHandle() {
return require('./Libraries/ReactNative/RendererProxy').findNodeHandle;
},
get FlatList() {
return require('./Libraries/Lists/FlatList').default;
},
get Image() {
return require('./Libraries/Image/Image').default;
},
get ImageBackground() {
return require('./Libraries/Image/ImageBackground').default;
},
get InputAccessoryView() {
return require('./Libraries/Components/TextInput/InputAccessoryView')
.default;
},
get I18nManager() {
return require('./Libraries/ReactNative/I18nManager').default;
},
get LayoutAnimation() {
return require('./Libraries/LayoutAnimation/LayoutAnimation').default;
},
get Linking() {
return require('./Libraries/Linking/Linking').default;
},
get LogBox() {
return require('./Libraries/LogBox/LogBox').default;
},
get Modal() {
return require('./Libraries/Modal/Modal').default;
},
get Keyboard() {
return require('./Libraries/Components/Keyboard/Keyboard').default;
},
get KeyboardAvoidingView() {
return require('./Libraries/Components/Keyboard/KeyboardAvoidingView')
.default;
},
get NativeEventEmitter() {
return require('./Libraries/EventEmitter/NativeEventEmitter').default;
},
get NativeModules() {
return require('./Libraries/BatchedBridge/NativeModules').default;
},
get PixelRatio() {
return require('./Libraries/Utilities/PixelRatio').default;
},
get Platform() {
return require('./Libraries/Utilities/Platform').default;
},
get PlatformColor() {
return require('./Libraries/StyleSheet/PlatformColorValueTypes')
.PlatformColor;
},
get Pressable() {
return require('./Libraries/Components/Pressable/Pressable').default;
},
get RefreshControl() {
return require('./Libraries/Components/RefreshControl/RefreshControl')
.default;
},
get requireNativeComponent() {
return require('./Libraries/ReactNative/requireNativeComponent').default;
},
get RootTagContext() {
return require('./Libraries/ReactNative/RootTag').RootTagContext;
},
get ReactNativeVersion() {
return require('./Libraries/Core/ReactNativeVersion').default;
},
get SafeAreaView() {
return require('./Libraries/Components/SafeAreaView/SafeAreaView').default;
},
get Settings() {
return require('./Libraries/Settings/Settings').default;
},
get Share() {
return require('./Libraries/Share/Share').default;
},
get ScrollView() {
return require('./Libraries/Components/ScrollView/ScrollView').default;
},
get StatusBar() {
return require('./Libraries/Components/StatusBar/StatusBar').default;
},
get StyleSheet() {
return require('./Libraries/StyleSheet/StyleSheet').default;
},
get Switch() {
return require('./Libraries/Components/Switch/Switch').default;
},
get Systrace() {
return require('./Libraries/Performance/Systrace');
},
get Text() {
return require('./Libraries/Text/Text').default;
},
get TextInput() {
return require('./Libraries/Components/TextInput/TextInput').default;
},
get ToastAndroid() {
return require('./Libraries/Components/ToastAndroid/ToastAndroid.android')
.default;
},
get Touchable() {
return require('./Libraries/Components/Touchable/Touchable').default;
},
get TouchableHighlight() {
return require('./Libraries/Components/Touchable/TouchableHighlight')
.default;
},
get TouchableNativeFeedback() {
return require('./Libraries/Components/Touchable/TouchableNativeFeedback')
.default;
},
get TouchableOpacity() {
return require('./Libraries/Components/Touchable/TouchableOpacity').default;
},
get TouchableWithoutFeedback() {
return require('./Libraries/Components/Touchable/TouchableWithoutFeedback')
.default;
},
get TurboModuleRegistry() {
return require('./Libraries/TurboModule/TurboModuleRegistry');
},
get UIManager() {
return require('./Libraries/ReactNative/UIManager').default;
},
get unstable_batchedUpdates() {
return require('./Libraries/ReactNative/RendererProxy')
.unstable_batchedUpdates;
},
get useAnimatedValue() {
return require('./Libraries/Animated/useAnimatedValue').default;
},
get useColorScheme() {
return require('./Libraries/Utilities/useColorScheme').default;
},
get useWindowDimensions() {
return require('./Libraries/Utilities/useWindowDimensions').default;
},
get View() {
return require('./Libraries/Components/View/View').default;
},
get InteractionManager() {
return require('./Libraries/Interaction/InteractionManager').default;
},
get PanResponder() {
return require('./Libraries/Interaction/PanResponder').default;
},
get processColor() {
return require('./Libraries/StyleSheet/processColor').default;
},
get SectionList() {
return require('./Libraries/Lists/SectionList').default;
},
get Vibration() {
return require('./Libraries/Vibration/Vibration').default;
},
get VirtualizedList() {
return require('./Libraries/Lists/VirtualizedList').default;
},
get registerViewConfig() {
return require('./Libraries/Renderer/shims/ReactNativeViewConfigRegistry')
.register;
},
get ReactNativeViewAttributes() {
return require('./Libraries/Components/View/ReactNativeViewAttributes');
},
get dispatchCommand() {
return require('./Libraries/Renderer/shims/ReactNative').default
.dispatchCommand;
},
get RegisterPageName() {
return require('./Libraries/RegisterPageName/RegisterPageName').default;
},
};