From 8d3a17d57eb530cab9dd40395f54196bd1f0b4ce Mon Sep 17 00:00:00 2001 From: Alex Hunt Date: Tue, 2 Jun 2026 14:01:41 -0700 Subject: [PATCH] Remove deprecated Instance type aliases (Flow) Summary: Remove the deprecated `PublicScrollViewInstance` and `PublicModalInstance` type aliases, replacing all remaining usages with the canonical `ScrollViewElement` and `ModalElement` types. NOTE: Existing equivalent types are **left alone** in the manual `.d.ts` sources (current TS API), as this is covered by the existing breaking migration notes for ref types under the Strict API. **Changes** - Delete `PublicScrollViewInstance` alias (ScrollView.js) - Delete `PublicModalInstance` alias (Modal.js) - Update `IntersectionObserverExplicitRootScroll.js` rn-tester example Changelog: [Internal] Differential Revision: D107268481 --- .../Libraries/Components/ScrollView/ScrollView.js | 3 --- packages/react-native/Libraries/Modal/Modal.js | 3 --- .../IntersectionObserverExplicitRootScroll.js | 7 +++---- 3 files changed, 3 insertions(+), 10 deletions(-) diff --git a/packages/react-native/Libraries/Components/ScrollView/ScrollView.js b/packages/react-native/Libraries/Components/ScrollView/ScrollView.js index fea4d853ceb3..bef2b6fafbf2 100644 --- a/packages/react-native/Libraries/Components/ScrollView/ScrollView.js +++ b/packages/react-native/Libraries/Components/ScrollView/ScrollView.js @@ -171,9 +171,6 @@ export interface ScrollViewInstance extends HostInstance, ScrollViewImperativeMethods {} -/** @deprecated Use ScrollViewInstance instead */ -export type PublicScrollViewInstance = ScrollViewInstance; - type InnerViewInstance = React.ElementRef; export type ScrollViewPropsIOS = Readonly<{ diff --git a/packages/react-native/Libraries/Modal/Modal.js b/packages/react-native/Libraries/Modal/Modal.js index c689e10fb43c..96a2bef7d0df 100644 --- a/packages/react-native/Libraries/Modal/Modal.js +++ b/packages/react-native/Libraries/Modal/Modal.js @@ -38,9 +38,6 @@ type ModalEventDefinitions = { export type ModalInstance = HostInstance; -/** @deprecated Use ModalInstance instead */ -export type PublicModalInstance = ModalInstance; - const ModalEventEmitter = Platform.OS === 'ios' && NativeModalManager != null ? new NativeEventEmitter( diff --git a/packages/rn-tester/js/examples/IntersectionObserver/IntersectionObserverExplicitRootScroll.js b/packages/rn-tester/js/examples/IntersectionObserver/IntersectionObserverExplicitRootScroll.js index bf8834465010..a00afde69c74 100644 --- a/packages/rn-tester/js/examples/IntersectionObserver/IntersectionObserverExplicitRootScroll.js +++ b/packages/rn-tester/js/examples/IntersectionObserver/IntersectionObserverExplicitRootScroll.js @@ -8,8 +8,7 @@ * @flow strict-local */ -import type {HostInstance} from 'react-native'; -import type {PublicScrollViewInstance} from 'react-native/Libraries/Components/ScrollView/ScrollView'; +import type {HostInstance, ScrollViewInstance} from 'react-native'; import type {ViewStyleProp} from 'react-native/Libraries/StyleSheet/StyleSheet'; import type IntersectionObserverType from 'react-native/src/private/webapis/intersectionobserver/IntersectionObserver'; @@ -42,8 +41,8 @@ component IntersectionObserverExplicitRootScrollExample() { const [observationRoot, setObservationRoot] = useState(null); const [showMargin, setShowMargin] = useState(true); - const roofRef: React.RefSetter = useCallback( - (rootNode: ?PublicScrollViewInstance) => { + const roofRef: React.RefSetter = useCallback( + (rootNode: ?ScrollViewInstance) => { if (rootNode != null) { setObservationRoot(rootNode); }