diff --git a/packages/react-native/React/React-RCTFabric.podspec b/packages/react-native/React/React-RCTFabric.podspec index 7cfb18a8dd1d53..bbba1c576666dd 100644 --- a/packages/react-native/React/React-RCTFabric.podspec +++ b/packages/react-native/React/React-RCTFabric.podspec @@ -77,6 +77,7 @@ Pod::Spec.new do |s| add_dependency(s, "React-Fabric", :additional_framework_paths => [ "react/renderer/textlayoutmanager/platform/ios", "react/renderer/components/textinput/platform/ios", + "react/renderer/components/modal/platform/ios", "react/renderer/components/view/platform/cxx", "react/renderer/imagemanager/platform/ios", ]) diff --git a/packages/react-native/ReactCommon/React-Fabric.podspec b/packages/react-native/ReactCommon/React-Fabric.podspec index d7af3b162a30cb..db09499d757ef9 100644 --- a/packages/react-native/ReactCommon/React-Fabric.podspec +++ b/packages/react-native/ReactCommon/React-Fabric.podspec @@ -101,6 +101,7 @@ Pod::Spec.new do |s| header_search_path = header_search_path + [ "\"$(PODS_TARGET_SRCROOT)/react/renderer/textlayoutmanager/platform/ios\"", "\"$(PODS_TARGET_SRCROOT)/react/renderer/components/textinput/platform/ios\"", + "\"$(PODS_TARGET_SRCROOT)/react/renderer/components/modal/platform/ios\"", "\"$(PODS_TARGET_SRCROOT)/react/renderer/components/view/platform/cxx\"", ] end diff --git a/packages/react-native/ReactCommon/React-FabricImage.podspec b/packages/react-native/ReactCommon/React-FabricImage.podspec index 4380d05d6dd614..50a4a194a66e67 100644 --- a/packages/react-native/ReactCommon/React-FabricImage.podspec +++ b/packages/react-native/ReactCommon/React-FabricImage.podspec @@ -38,6 +38,7 @@ if ENV['USE_FRAMEWORKS'] "\"$(PODS_TARGET_SRCROOT)\"", "\"$(PODS_TARGET_SRCROOT)/react/renderer/textlayoutmanager/platform/ios\"", "\"$(PODS_TARGET_SRCROOT)/react/renderer/components/textinput/platform/ios\"", + "\"$(PODS_TARGET_SRCROOT)/react/renderer/components/modal/platform/ios\"", # "\"$(PODS_CONFIGURATION_BUILD_DIR)/ReactCodegen/ReactCodegen.framework/Headers\"", ] end diff --git a/packages/react-native/ReactCommon/react/renderer/components/modal/ModalHostViewState.h b/packages/react-native/ReactCommon/react/renderer/components/modal/ModalHostViewState.h index 9acf257343b76b..da91fea59b6143 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/modal/ModalHostViewState.h +++ b/packages/react-native/ReactCommon/react/renderer/components/modal/ModalHostViewState.h @@ -30,7 +30,11 @@ class ModalHostViewState final { using Shared = std::shared_ptr; #if defined(__APPLE__) && TARGET_OS_IOS - ModalHostViewState() : screenSize(RCTModalHostViewScreenSize()) { + static Size getScreenSize() { + auto screenSize = RCTModalHostViewScreenSize(); + return {screenSize.width, screenSize.height}; + } + ModalHostViewState() : screenSize(getScreenSize()) { #else ModalHostViewState(){ #endif diff --git a/packages/react-native/ReactCommon/react/renderer/components/modal/ModalHostViewUtils.h b/packages/react-native/ReactCommon/react/renderer/components/modal/platform/ios/react/renderer/components/modal/ModalHostViewUtils.h similarity index 54% rename from packages/react-native/ReactCommon/react/renderer/components/modal/ModalHostViewUtils.h rename to packages/react-native/ReactCommon/react/renderer/components/modal/platform/ios/react/renderer/components/modal/ModalHostViewUtils.h index fc038ad33de5fd..fb243edea1032c 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/modal/ModalHostViewUtils.h +++ b/packages/react-native/ReactCommon/react/renderer/components/modal/platform/ios/react/renderer/components/modal/ModalHostViewUtils.h @@ -7,10 +7,17 @@ #pragma once -#include +#ifdef __cplusplus +extern "C" { +#endif -namespace facebook::react { +typedef struct { + CGFloat width; + CGFloat height; +} RCTSize; -Size RCTModalHostViewScreenSize(void); +RCTSize RCTModalHostViewScreenSize(void); -} // namespace facebook::react +#ifdef __cplusplus +} +#endif diff --git a/packages/react-native/ReactCommon/react/renderer/components/modal/ModalHostViewUtils.mm b/packages/react-native/ReactCommon/react/renderer/components/modal/platform/ios/react/renderer/components/modal/ModalHostViewUtils.mm similarity index 86% rename from packages/react-native/ReactCommon/react/renderer/components/modal/ModalHostViewUtils.mm rename to packages/react-native/ReactCommon/react/renderer/components/modal/platform/ios/react/renderer/components/modal/ModalHostViewUtils.mm index d2c3560dca8fd0..7c65bd4cf1ae58 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/modal/ModalHostViewUtils.mm +++ b/packages/react-native/ReactCommon/react/renderer/components/modal/platform/ios/react/renderer/components/modal/ModalHostViewUtils.mm @@ -9,11 +9,12 @@ #import #import -namespace facebook::react { +extern "C" { -Size RCTModalHostViewScreenSize(void) +RCTSize RCTModalHostViewScreenSize(void) { CGSize screenSize = RCTScreenSize(); + return {screenSize.width, screenSize.height}; }