/* * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ #import #import #import #import @class RCTBridge; @class RCTShadowView; @class UIView; @class RCTEventDispatcherProtocol; NS_ASSUME_NONNULL_BEGIN @interface RCTComponentData : NSObject @property (nonatomic, readonly) Class managerClass; @property (nonatomic, copy, readonly) NSString *name; @property (nonatomic, weak, readonly) RCTViewManager *manager; /* * When running React Native with the bridge, view managers are retained by the * bridge. When running in bridgeless mode, allocate and retain view managers * in this class. */ @property (nonatomic, strong, readonly) RCTViewManager *bridgelessViewManager; - (instancetype)initWithManagerClass:(Class)managerClass bridge:(RCTBridge *)bridge eventDispatcher:(id)eventDispatcher NS_DESIGNATED_INITIALIZER; - (UIView *)createViewWithTag:(nullable NSNumber *)tag rootTag:(nullable NSNumber *)rootTag; - (RCTShadowView *)createShadowViewWithTag:(NSNumber *)tag; - (void)setProps:(NSDictionary *)props forView:(id)view; - (void)setProps:(NSDictionary *)props forShadowView:(RCTShadowView *)shadowView; @property (nonatomic, copy, nullable) void (^eventInterceptor) (NSString *eventName, NSDictionary *event, NSNumber *reactTag); - (NSDictionary *)viewConfig; @end NS_ASSUME_NONNULL_END