this repo has no description
1/*
2 * Copyright (c) Meta Platforms, Inc. and affiliates.
3 *
4 * This source code is licensed under the MIT license found in the
5 * LICENSE file in the root directory of this source tree.
6 */
7
8
9#import <Foundation/Foundation.h>
10
11#import "RCTThirdPartyComponentsProvider.h"
12#import <React/RCTComponentViewProtocol.h>
13
14@implementation RCTThirdPartyComponentsProvider
15
16+ (NSDictionary<NSString *, Class<RCTComponentViewProtocol>> *)thirdPartyFabricComponents
17{
18 static NSDictionary<NSString *, Class<RCTComponentViewProtocol>> *thirdPartyComponents = nil;
19 static dispatch_once_t nativeComponentsToken;
20
21 dispatch_once(&nativeComponentsToken, ^{
22 thirdPartyComponents = @{
23 @"RNCSafeAreaProvider": NSClassFromString(@"RNCSafeAreaProviderComponentView"), // react-native-safe-area-context
24 @"RNCSafeAreaView": NSClassFromString(@"RNCSafeAreaViewComponentView"), // react-native-safe-area-context
25 @"RNSFullWindowOverlay": NSClassFromString(@"RNSFullWindowOverlay"), // react-native-screens
26 @"RNSModalScreen": NSClassFromString(@"RNSModalScreen"), // react-native-screens
27 @"RNSScreenContainer": NSClassFromString(@"RNSScreenContainerView"), // react-native-screens
28 @"RNSScreenContentWrapper": NSClassFromString(@"RNSScreenContentWrapper"), // react-native-screens
29 @"RNSScreenFooter": NSClassFromString(@"RNSScreenFooter"), // react-native-screens
30 @"RNSScreen": NSClassFromString(@"RNSScreenView"), // react-native-screens
31 @"RNSScreenNavigationContainer": NSClassFromString(@"RNSScreenNavigationContainerView"), // react-native-screens
32 @"RNSScreenStackHeaderConfig": NSClassFromString(@"RNSScreenStackHeaderConfig"), // react-native-screens
33 @"RNSScreenStackHeaderSubview": NSClassFromString(@"RNSScreenStackHeaderSubview"), // react-native-screens
34 @"RNSScreenStack": NSClassFromString(@"RNSScreenStackView"), // react-native-screens
35 @"RNSSearchBar": NSClassFromString(@"RNSSearchBar"), // react-native-screens
36 @"RNSStackScreen": NSClassFromString(@"RNSStackScreenComponentView"), // react-native-screens
37 @"RNSScreenStackHost": NSClassFromString(@"RNSScreenStackHostComponentView"), // react-native-screens
38 @"RNSBottomTabsScreen": NSClassFromString(@"RNSBottomTabsScreenComponentView"), // react-native-screens
39 @"RNSBottomTabs": NSClassFromString(@"RNSBottomTabsHostComponentView"), // react-native-screens
40 @"RNSSplitViewHost": NSClassFromString(@"RNSSplitViewHostComponentView"), // react-native-screens
41 @"RNSSplitViewScreen": NSClassFromString(@"RNSSplitViewScreenComponentView"), // react-native-screens
42 };
43 });
44
45 return thirdPartyComponents;
46}
47
48@end