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 #import <ABI49_0_0React/ABI49_0_0RCTConvert.h> 9 #import <ABI49_0_0React/ABI49_0_0RCTInvalidating.h> 10 #import <ABI49_0_0React/ABI49_0_0RCTViewManager.h> 11 12 @interface ABI49_0_0RCTConvert (ABI49_0_0RCTModalHostView) 13 14 + (UIModalPresentationStyle)UIModalPresentationStyle:(id)json; 15 16 @end 17 18 typedef void (^ABI49_0_0RCTModalViewInteractionBlock)( 19 UIViewController *ABI49_0_0ReactViewController, 20 UIViewController *viewController, 21 BOOL animated, 22 dispatch_block_t completionBlock); 23 24 @interface ABI49_0_0RCTModalHostViewManager : ABI49_0_0RCTViewManager <ABI49_0_0RCTInvalidating> 25 26 /** 27 * `presentationBlock` and `dismissalBlock` allow you to control how a Modal interacts with your case, 28 * e.g. in case you have a native navigator that has its own way to display a modal. 29 * If these are not specified, it falls back to the UIViewController standard way of presenting. 30 */ 31 @property (nonatomic, strong) ABI49_0_0RCTModalViewInteractionBlock presentationBlock; 32 @property (nonatomic, strong) ABI49_0_0RCTModalViewInteractionBlock dismissalBlock; 33 34 @end 35