From d410f78eecb4abbdad39560b5a7af687f9c7fd7b Mon Sep 17 00:00:00 2001 From: Mathieu Acthernoene Date: Tue, 30 Jun 2026 17:36:46 +0200 Subject: [PATCH 1/3] Remove Modal animated prop # Conflicts: # packages/react-native/Libraries/Modal/Modal.js --- .../react-native/Libraries/Modal/Modal.d.ts | 4 ---- packages/react-native/Libraries/Modal/Modal.js | 5 ----- .../Libraries/Modal/__tests__/Modal-itest.js | 18 ------------------ .../react/views/modal/ReactModalHostManager.kt | 3 --- .../RCTModalHostViewNativeComponent.js | 5 ----- 5 files changed, 35 deletions(-) diff --git a/packages/react-native/Libraries/Modal/Modal.d.ts b/packages/react-native/Libraries/Modal/Modal.d.ts index 88af235fe13b..db4e023be707 100644 --- a/packages/react-native/Libraries/Modal/Modal.d.ts +++ b/packages/react-native/Libraries/Modal/Modal.d.ts @@ -13,10 +13,6 @@ import {NativeSyntheticEvent} from '../Types/CoreEventTypes'; import {ColorValue} from '../StyleSheet/StyleSheet'; export interface ModalBaseProps { - /** - * @deprecated Use animationType instead - */ - animated?: boolean | undefined; /** * The `animationType` prop controls how the modal animates. * diff --git a/packages/react-native/Libraries/Modal/Modal.js b/packages/react-native/Libraries/Modal/Modal.js index 0565e0b116fb..e9201f02ff3f 100644 --- a/packages/react-native/Libraries/Modal/Modal.js +++ b/packages/react-native/Libraries/Modal/Modal.js @@ -59,11 +59,6 @@ type OrientationChangeEvent = Readonly<{ /** @build-types emit-as-interface Uniwind compatibility */ export type ModalBaseProps = { - /** - * @deprecated Use `animationType` instead. - */ - animated?: boolean, - /** * Controls how the modal animates. `'slide'` slides in from the bottom, * `'fade'` fades into view, `'none'` appears without animation. diff --git a/packages/react-native/Libraries/Modal/__tests__/Modal-itest.js b/packages/react-native/Libraries/Modal/__tests__/Modal-itest.js index a36c27501848..ce4ea810932f 100644 --- a/packages/react-native/Libraries/Modal/__tests__/Modal-itest.js +++ b/packages/react-native/Libraries/Modal/__tests__/Modal-itest.js @@ -301,24 +301,6 @@ describe('', () => { ); }); }); - - describe('animated', () => { - [true, false].forEach(animated => { - // The 'animated' prop is deprecated and ignored when the Modal is rendered - // Users should use the 'animationType' prop instead. - it(`[DEPRECATED] renders a Modal with animated="${animated ? 'true' : 'false'}"`, () => { - Fantom.runTask(() => { - root.render(); - }); - - expect(root.getRenderedOutput({props: ['animated']}).toJSX()).toEqual( - - - , - ); - }); - }); - }); // ... more props }); describe('ref', () => { diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.kt index 08271631cdfc..c251acd4d628 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.kt @@ -72,9 +72,6 @@ internal class ReactModalHostManager : @ReactProp(name = "presentationStyle") override fun setPresentationStyle(view: ReactModalHostView, value: String?): Unit = Unit - @ReactProp(name = "animated") - override fun setAnimated(view: ReactModalHostView, value: Boolean): Unit = Unit - @ReactProp(name = "supportedOrientations") override fun setSupportedOrientations(view: ReactModalHostView, value: ReadableArray?): Unit = Unit diff --git a/packages/react-native/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js b/packages/react-native/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js index eaf91f167efd..d683103236a8 100644 --- a/packages/react-native/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js +++ b/packages/react-native/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js @@ -107,11 +107,6 @@ type RCTModalHostViewNativeProps = Readonly<{ */ visible?: WithDefault, - /** - * Deprecated. Use the `animationType` prop instead. - */ - animated?: WithDefault, - /** * Controls whether the modal can be dismissed by swiping down on iOS. * This requires you to implement the `onRequestClose` prop to handle the dismissal. From 528a571379a37a289885d3ddd97995d16475b729 Mon Sep 17 00:00:00 2001 From: Mathieu Acthernoene Date: Tue, 30 Jun 2026 17:56:18 +0200 Subject: [PATCH 2/3] Build types --- packages/react-native/ReactNativeApi.d.ts | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/packages/react-native/ReactNativeApi.d.ts b/packages/react-native/ReactNativeApi.d.ts index 699c2fff455a..bfebffaa6fcf 100644 --- a/packages/react-native/ReactNativeApi.d.ts +++ b/packages/react-native/ReactNativeApi.d.ts @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<<42200de8ca10d30541e23b67547d9a13>> + * @generated SignedSource<<20bbe8284af4b8863a39651a46b7a53a>> * * This file was generated by scripts/js-api/build-types/index.js. */ @@ -3098,7 +3098,6 @@ declare type Message = { } declare type Modal = typeof Modal declare interface ModalBaseProps { - animated?: boolean animationType?: "fade" | "none" | "slide" backdropColor?: ColorValue modalRef?: React.Ref @@ -6038,10 +6037,10 @@ export { MeasureInWindowOnSuccessCallback, // a285f598 MeasureLayoutOnSuccessCallback, // 3592502a MeasureOnSuccessCallback, // 82824e59 - Modal, // c8c01498 - ModalBaseProps, // 71945951 + Modal, // 43f50013 + ModalBaseProps, // ac3931ad ModalInstance, // d466ce77 - ModalProps, // 9f060027 + ModalProps, // 35252d68 ModalPropsAndroid, // 515fb173 ModalPropsIOS, // 0e13cfcc ModeChangeEvent, // f64bf69d From 99816562555ad365994fa83b272a19fa29836e33 Mon Sep 17 00:00:00 2001 From: Mathieu Acthernoene Date: Tue, 30 Jun 2026 18:19:07 +0200 Subject: [PATCH 3/3] update cxx snapshots --- scripts/cxx-api/api-snapshots/ReactAndroidDebugCxx.api | 1 - scripts/cxx-api/api-snapshots/ReactAndroidNewarchCxx.api | 1 - scripts/cxx-api/api-snapshots/ReactAndroidReleaseCxx.api | 1 - scripts/cxx-api/api-snapshots/ReactAppleDebugCxx.api | 1 - scripts/cxx-api/api-snapshots/ReactAppleNewarchCxx.api | 1 - scripts/cxx-api/api-snapshots/ReactAppleReleaseCxx.api | 1 - 6 files changed, 6 deletions(-) diff --git a/scripts/cxx-api/api-snapshots/ReactAndroidDebugCxx.api b/scripts/cxx-api/api-snapshots/ReactAndroidDebugCxx.api index 5a33e7d7d9da..429dedfc5d24 100644 --- a/scripts/cxx-api/api-snapshots/ReactAndroidDebugCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactAndroidDebugCxx.api @@ -3350,7 +3350,6 @@ class facebook::react::ModalHostViewProps : public facebook::react::HostPlatform public ModalHostViewProps() = default; public ModalHostViewProps(const facebook::react::PropsParserContext& context, const facebook::react::ModalHostViewProps& sourceProps, const facebook::react::RawProps& rawProps); public bool allowSwipeDismissal; - public bool animated; public bool hardwareAccelerated; public bool navigationBarTranslucent; public bool statusBarTranslucent; diff --git a/scripts/cxx-api/api-snapshots/ReactAndroidNewarchCxx.api b/scripts/cxx-api/api-snapshots/ReactAndroidNewarchCxx.api index a10464aed19c..35d4903d0cec 100644 --- a/scripts/cxx-api/api-snapshots/ReactAndroidNewarchCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactAndroidNewarchCxx.api @@ -3252,7 +3252,6 @@ class facebook::react::ModalHostViewProps : public facebook::react::HostPlatform public ModalHostViewProps() = default; public ModalHostViewProps(const facebook::react::PropsParserContext& context, const facebook::react::ModalHostViewProps& sourceProps, const facebook::react::RawProps& rawProps); public bool allowSwipeDismissal; - public bool animated; public bool hardwareAccelerated; public bool navigationBarTranslucent; public bool statusBarTranslucent; diff --git a/scripts/cxx-api/api-snapshots/ReactAndroidReleaseCxx.api b/scripts/cxx-api/api-snapshots/ReactAndroidReleaseCxx.api index b357d56bfc81..8cf9ec3d407d 100644 --- a/scripts/cxx-api/api-snapshots/ReactAndroidReleaseCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactAndroidReleaseCxx.api @@ -3347,7 +3347,6 @@ class facebook::react::ModalHostViewProps : public facebook::react::HostPlatform public ModalHostViewProps() = default; public ModalHostViewProps(const facebook::react::PropsParserContext& context, const facebook::react::ModalHostViewProps& sourceProps, const facebook::react::RawProps& rawProps); public bool allowSwipeDismissal; - public bool animated; public bool hardwareAccelerated; public bool navigationBarTranslucent; public bool statusBarTranslucent; diff --git a/scripts/cxx-api/api-snapshots/ReactAppleDebugCxx.api b/scripts/cxx-api/api-snapshots/ReactAppleDebugCxx.api index 4dd76e3aa931..2505b89426a5 100644 --- a/scripts/cxx-api/api-snapshots/ReactAppleDebugCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactAppleDebugCxx.api @@ -5572,7 +5572,6 @@ class facebook::react::ModalHostViewProps : public facebook::react::HostPlatform public ModalHostViewProps() = default; public ModalHostViewProps(const facebook::react::PropsParserContext& context, const facebook::react::ModalHostViewProps& sourceProps, const facebook::react::RawProps& rawProps); public bool allowSwipeDismissal; - public bool animated; public bool hardwareAccelerated; public bool navigationBarTranslucent; public bool statusBarTranslucent; diff --git a/scripts/cxx-api/api-snapshots/ReactAppleNewarchCxx.api b/scripts/cxx-api/api-snapshots/ReactAppleNewarchCxx.api index 16e2dc5a0c80..e86099d6f8a9 100644 --- a/scripts/cxx-api/api-snapshots/ReactAppleNewarchCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactAppleNewarchCxx.api @@ -5496,7 +5496,6 @@ class facebook::react::ModalHostViewProps : public facebook::react::HostPlatform public ModalHostViewProps() = default; public ModalHostViewProps(const facebook::react::PropsParserContext& context, const facebook::react::ModalHostViewProps& sourceProps, const facebook::react::RawProps& rawProps); public bool allowSwipeDismissal; - public bool animated; public bool hardwareAccelerated; public bool navigationBarTranslucent; public bool statusBarTranslucent; diff --git a/scripts/cxx-api/api-snapshots/ReactAppleReleaseCxx.api b/scripts/cxx-api/api-snapshots/ReactAppleReleaseCxx.api index 48d9cc57fdb4..97e1c11230c6 100644 --- a/scripts/cxx-api/api-snapshots/ReactAppleReleaseCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactAppleReleaseCxx.api @@ -5569,7 +5569,6 @@ class facebook::react::ModalHostViewProps : public facebook::react::HostPlatform public ModalHostViewProps() = default; public ModalHostViewProps(const facebook::react::PropsParserContext& context, const facebook::react::ModalHostViewProps& sourceProps, const facebook::react::RawProps& rawProps); public bool allowSwipeDismissal; - public bool animated; public bool hardwareAccelerated; public bool navigationBarTranslucent; public bool statusBarTranslucent;