From 841a2c96fa7b37e62a1404617f7a2be6a27a86ae Mon Sep 17 00:00:00 2001
From: Anupriya Verma <54227869+anupriya13@users.noreply.github.com>
Date: Tue, 22 Jul 2025 15:15:01 +0530
Subject: [PATCH 1/9] Integrate RN Nightly Build
0.80.0-nightly-20250506-3ac16dd6a (#14941)
* Integrate RN Nightly Build 0.80.0-nightly-20250506-3ac16dd6a
* Change files
* fix build errors
* fix build errors
* override ParagraphState.h and TextInputState.h
* test
* Update React.Cpp.props
* Revert "override ParagraphState.h and TextInputState.h"
This reverts commit ea32785a34b2b5510c70685d6e8332ab5c469e2b.
* Update React.Cpp.props
* override textlayoutmanager
* override LowPriorityExecutor
* fix linting issues
* fix linting issues
* Update index.windows.js
* Update index.windows.js
* Update index.windows.js
* test
* lint
* Update .flowconfig
* Update .flowconfig
* update flow version
* Update .flowconfig
* fix
* fix
* Add new file added to tester
* override RNTesterListFbInternal
* fix override
* Update RNTesterListFbInternal.js
* override NewAppScreen
* Update RNTesterList.windows.js
* fix ci errors
* yarn
* Update package.json
* fix newappscreen
* Update package.json
* remove deleted files reference
* Update RNTesterList.win32.js
* remove MutationObserver ref
* fix
* fix textlayoutmanager
* lint fix
* update snapshots
* fix overrides
---
...-98074e3b-7f24-4400-a7e4-daca6e150710.json | 7 +
...-f520c795-6a39-4d20-a6a9-487784b06176.json | 7 +
...-0b31b288-b7cb-48e2-945e-3d032942ea6c.json | 7 +
.../react-native-win32-tester/overrides.json | 4 +-
.../react-native-win32-tester/package.json | 4 +-
.../Theming/ThemingModuleAPI.tsx | 91 ++--
.../src/js/utils/RNTesterList.win32.js | 21 -
.../react-native-win32/.flowconfig | 9 +-
.../react-native-win32/overrides.json | 12 +-
.../react-native-win32/package.json | 30 +-
.../automation-channel/package.json | 2 +-
.../tester/overrides.json | 34 +-
.../@react-native-windows/tester/package.json | 7 +-
.../Keyboard/KeyboardFocusExample.windows.tsx | 37 +-
.../NewAppScreen/NewAppScreenExample.js | 31 ++
.../FlatList/BaseFlatListExample.windows.js | 2 +-
.../FlatList/FlatList-basic.windows.js | 2 +-
.../FlatList/FlatList-multiColumn.windows.js | 2 +-
.../FlatList/FlatList-nested.windows.js | 2 +-
.../FlatList-stickyHeaders.windows.js | 2 +-
.../js/examples/Image/ImageExample.windows.js | 4 +-
.../Modal/ModalPresentation.windows.js | 2 +-
.../SampleTurboModuleExample.windows.js | 3 +-
.../src/js/utils/RNTesterList.windows.js | 27 +-
.../src/js/utils/RNTesterListFbInternal.js | 16 +
.../@react-native/monorepo/overrides.json | 4 +-
packages/@react-native/monorepo/package.json | 6 +-
.../js/MyNativeViewNativeComponent.js | 30 +-
.../NativeCxxModuleExample.js | 13 +-
.../NativeScreenshotManager.js | 7 +-
.../ReportFullyDrawnViewNativeComponent.js | 4 +-
.../tester/js/components/RNTOption.js | 2 +-
.../tester/js/components/RNTesterButton.js | 2 +-
.../tester/js/components/RNTesterText.js | 2 +-
.../tester/js/components/RNTesterTheme.js | 3 +-
.../Accessibility/AccessibilityExample.js | 3 +-
.../AnimatedGratuitousApp/AnExChained.js | 6 +-
.../examples/Appearance/AppearanceExample.js | 2 +-
.../ManyPointersPropertiesExample.js | 2 +-
.../RNTesterPlatformTestEventRecorder.js | 2 +-
.../RNTesterPlatformTestResultView.js | 7 +-
.../PointerEventAccessibility.js | 2 +-
...PointerEventAttributesHoverablePointers.js | 6 +-
.../PointerEventAttributesNoHoverPointers.js | 6 +-
.../PointerEventCaptureMouse.js | 2 +-
.../PointerEventClickTouch.js | 2 +-
...erEventClickTouchHierarchyPointerEvents.js | 2 +-
...rEventLayoutChangeShouldFirePointerOver.js | 2 +-
.../PointerEventPointerCancelTouch.js | 2 +-
.../PointerEventPointerMove.js | 2 +-
.../PointerEventPointerMoveEventOrder.js | 2 +-
...terEventPointerMoveOnChordedMouseButton.js | 2 +-
.../PointerEventPointerOverOut.js | 3 +-
.../PointerEventPrimaryTouchPointer.js | 2 +-
.../PointerEventSupport.js | 3 +-
.../W3CPointerEventsEventfulView.js | 3 +-
.../examples/FlatList/BaseFlatListExample.js | 2 +-
.../js/examples/FlatList/FlatList-basic.js | 3 +-
.../examples/FlatList/FlatList-multiColumn.js | 2 +-
.../js/examples/FlatList/FlatList-nested.js | 2 +-
.../FlatList/FlatList-stickyHeaders.js | 2 +-
.../tester/js/examples/Image/ImageExample.js | 4 +-
.../IntersectionObserverBenchmark.js | 130 -----
.../IntersectionObserverIndex.js | 27 -
.../IntersectionObserverMDNExample.js | 181 -------
.../IntersectionObserverRootThreshold.js | 224 --------
.../js/examples/Keyboard/KeyboardExample.js | 2 +-
.../js/examples/Modal/ModalPresentation.js | 2 +-
.../MutationObserverExample.js | 205 -------
.../MutationObserver/MutationObserverIndex.js | 28 -
.../VCOverlayExample.js | 68 ---
.../VCTrackerExample.js | 130 -----
.../VisualCompletionExample.js | 188 -------
.../NewAppScreen/NewAppScreenExample.js | 77 ---
.../Performance/PerformanceApiExample.js | 276 ----------
.../Performance/components/ItemList.js | 2 +-
.../ReRenderWithNonPureChildExample.js | 2 +-
.../ReRenderWithObjectPropExample.js | 2 +-
.../PermissionsAndroid/PermissionsExample.js | 2 +-
.../PlatformColor/PlatformColorExample.js | 9 +-
.../SectionList/SectionList-scrollable.js | 2 +-
.../examples/Snapshot/SnapshotViewIOS.ios.js | 3 +-
.../SwipeableCardExample.js | 2 +-
.../TextInput/TextInputExample.ios.js | 2 +-
.../TextInput/TextInputSharedExamples.js | 2 +-
.../NativeCxxModuleExampleExample.js | 3 +-
.../TurboModule/SampleLegacyModuleExample.js | 2 +-
.../TurboModule/SampleTurboModuleExample.js | 3 +-
.../tester/js/utils/RNTesterList.android.js | 19 -
.../tester/js/utils/RNTesterList.ios.js | 19 -
packages/@react-native/tester/overrides.json | 73 +--
packages/@react-native/tester/package.json | 2 +-
.../babel-react-native-config/package.json | 6 +-
.../metro-dev-config/package.json | 2 +-
packages/e2e-test-app-fabric/package.json | 6 +-
.../__snapshots__/HomeUIADump.test.ts.snap | 93 +---
.../__snapshots__/snapshotPages.test.js.snap | 498 ------------------
packages/e2e-test-app/package.json | 6 +-
packages/integration-test-app/package.json | 6 +-
packages/playground/package.json | 6 +-
packages/sample-app-fabric/App.tsx | 103 +---
packages/sample-app-fabric/package.json | 11 +-
packages/sample-apps/package.json | 6 +-
packages/sample-custom-component/package.json | 6 +-
vnext/.flowconfig | 13 +-
.../WindowsTextLayoutManager.cpp | 77 +--
vnext/PropertySheets/React.Cpp.props | 6 +-
.../IntegrationTests/ImageCachePolicyTest.js | 2 +-
.../IntegrationTests/LayoutEventsTest.js | 5 +-
vnext/codegen/NativeAnimatedModuleSpec.g.h | 2 +
.../codegen/NativeAnimatedTurboModuleSpec.g.h | 2 +
vnext/codegen/NativePerformanceSpec.g.h | 14 +
.../NativeReactNativeFeatureFlagsSpec.g.h | 164 +++---
vnext/codegen/rnwcoreJSI-generated.cpp | 42 +-
vnext/codegen/rnwcoreJSI.h | 162 +++++-
vnext/overrides.json | 34 +-
vnext/package.json | 33 +-
.../components/DebugInstructions.windows.js | 29 -
.../components/ReloadInstructions.windows.js | 30 --
yarn.lock | 409 +++++++-------
120 files changed, 915 insertions(+), 3061 deletions(-)
create mode 100644 change/@office-iss-react-native-win32-98074e3b-7f24-4400-a7e4-daca6e150710.json
create mode 100644 change/@react-native-windows-automation-channel-f520c795-6a39-4d20-a6a9-487784b06176.json
create mode 100644 change/react-native-windows-0b31b288-b7cb-48e2-945e-3d032942ea6c.json
create mode 100644 packages/@react-native-windows/tester/src/js/examples-win/NewAppScreen/NewAppScreenExample.js
create mode 100644 packages/@react-native-windows/tester/src/js/utils/RNTesterListFbInternal.js
delete mode 100644 packages/@react-native/tester/js/examples/IntersectionObserver/IntersectionObserverBenchmark.js
delete mode 100644 packages/@react-native/tester/js/examples/IntersectionObserver/IntersectionObserverIndex.js
delete mode 100644 packages/@react-native/tester/js/examples/IntersectionObserver/IntersectionObserverMDNExample.js
delete mode 100644 packages/@react-native/tester/js/examples/IntersectionObserver/IntersectionObserverRootThreshold.js
delete mode 100644 packages/@react-native/tester/js/examples/MutationObserver/MutationObserverExample.js
delete mode 100644 packages/@react-native/tester/js/examples/MutationObserver/MutationObserverIndex.js
delete mode 100644 packages/@react-native/tester/js/examples/MutationObserver/VisualCompletionExample/VCOverlayExample.js
delete mode 100644 packages/@react-native/tester/js/examples/MutationObserver/VisualCompletionExample/VCTrackerExample.js
delete mode 100644 packages/@react-native/tester/js/examples/MutationObserver/VisualCompletionExample/VisualCompletionExample.js
delete mode 100644 packages/@react-native/tester/js/examples/NewAppScreen/NewAppScreenExample.js
delete mode 100644 packages/@react-native/tester/js/examples/Performance/PerformanceApiExample.js
delete mode 100644 vnext/src-win/Libraries/NewAppScreen/components/DebugInstructions.windows.js
delete mode 100644 vnext/src-win/Libraries/NewAppScreen/components/ReloadInstructions.windows.js
diff --git a/change/@office-iss-react-native-win32-98074e3b-7f24-4400-a7e4-daca6e150710.json b/change/@office-iss-react-native-win32-98074e3b-7f24-4400-a7e4-daca6e150710.json
new file mode 100644
index 00000000000..fda744bf2df
--- /dev/null
+++ b/change/@office-iss-react-native-win32-98074e3b-7f24-4400-a7e4-daca6e150710.json
@@ -0,0 +1,7 @@
+{
+ "type": "prerelease",
+ "comment": "Integrate RN Nightly Build 0.80.0-nightly-20250506-3ac16dd6a",
+ "packageName": "@office-iss/react-native-win32",
+ "email": "54227869+anupriya13@users.noreply.github.com",
+ "dependentChangeType": "patch"
+}
diff --git a/change/@react-native-windows-automation-channel-f520c795-6a39-4d20-a6a9-487784b06176.json b/change/@react-native-windows-automation-channel-f520c795-6a39-4d20-a6a9-487784b06176.json
new file mode 100644
index 00000000000..9e3409798ca
--- /dev/null
+++ b/change/@react-native-windows-automation-channel-f520c795-6a39-4d20-a6a9-487784b06176.json
@@ -0,0 +1,7 @@
+{
+ "type": "patch",
+ "comment": "Integrate RN Nightly Build 0.80.0-nightly-20250506-3ac16dd6a",
+ "packageName": "@react-native-windows/automation-channel",
+ "email": "54227869+anupriya13@users.noreply.github.com",
+ "dependentChangeType": "patch"
+}
diff --git a/change/react-native-windows-0b31b288-b7cb-48e2-945e-3d032942ea6c.json b/change/react-native-windows-0b31b288-b7cb-48e2-945e-3d032942ea6c.json
new file mode 100644
index 00000000000..8a5b57af97e
--- /dev/null
+++ b/change/react-native-windows-0b31b288-b7cb-48e2-945e-3d032942ea6c.json
@@ -0,0 +1,7 @@
+{
+ "type": "prerelease",
+ "comment": "Integrate RN Nightly Build 0.80.0-nightly-20250506-3ac16dd6a",
+ "packageName": "react-native-windows",
+ "email": "54227869+anupriya13@users.noreply.github.com",
+ "dependentChangeType": "patch"
+}
diff --git a/packages/@office-iss/react-native-win32-tester/overrides.json b/packages/@office-iss/react-native-win32-tester/overrides.json
index cf75b6eba58..c88646b2f7e 100644
--- a/packages/@office-iss/react-native-win32-tester/overrides.json
+++ b/packages/@office-iss/react-native-win32-tester/overrides.json
@@ -5,7 +5,7 @@
"excludePatterns": [
"src/js/examples-win32/**"
],
- "baseVersion": "0.80.0-nightly-20250428-9efcdc091",
+ "baseVersion": "0.80.0-nightly-20250506-3ac16dd6a",
"overrides": [
{
"type": "patch",
@@ -42,7 +42,7 @@
"type": "derived",
"file": "src/js/utils/RNTesterList.win32.js",
"baseFile": "packages/rn-tester/js/utils/RNTesterList.android.js",
- "baseHash": "3b5c8bcdee69293ddce0d515300504979e36f87a"
+ "baseHash": "aded9dd37f3ac325aa1cc095f6d217114c45a8b9"
}
]
}
\ No newline at end of file
diff --git a/packages/@office-iss/react-native-win32-tester/package.json b/packages/@office-iss/react-native-win32-tester/package.json
index b36dfd1f522..90b48a9716c 100644
--- a/packages/@office-iss/react-native-win32-tester/package.json
+++ b/packages/@office-iss/react-native-win32-tester/package.json
@@ -19,7 +19,7 @@
"peerDependencies": {
"@office-iss/react-native-win32": "^0.0.0-canary.293",
"react": "19.1.0",
- "react-native": "0.80.0-nightly-20250428-9efcdc091"
+ "react-native": "0.80.0-nightly-20250506-3ac16dd6a"
},
"devDependencies": {
"@office-iss/react-native-win32": "^0.0.0-canary.293",
@@ -30,7 +30,7 @@
"@types/node": "^18.0.0",
"eslint": "^8.19.0",
"just-scripts": "^1.3.3",
- "react-native": "0.80.0-nightly-20250428-9efcdc091",
+ "react-native": "0.80.0-nightly-20250506-3ac16dd6a",
"react-native-platform-override": "^1.9.56",
"typescript": "5.0.4"
},
diff --git a/packages/@office-iss/react-native-win32-tester/src/js/examples-win32/Theming/ThemingModuleAPI.tsx b/packages/@office-iss/react-native-win32-tester/src/js/examples-win32/Theming/ThemingModuleAPI.tsx
index 19f9429bfe3..8759605c8bb 100644
--- a/packages/@office-iss/react-native-win32-tester/src/js/examples-win32/Theming/ThemingModuleAPI.tsx
+++ b/packages/@office-iss/react-native-win32-tester/src/js/examples-win32/Theming/ThemingModuleAPI.tsx
@@ -24,13 +24,13 @@ const styles = StyleSheet.create({
const Theming = NativeModules.Theming;
-const ifModuleAvailable = (wrappedComponent: React.JSX.Element) => {
+const ifModuleAvailable = (wrappedComponent: React.ReactElement): React.ReactElement => {
return Theming ? wrappedComponent : Theming Native Module not available;
};
-const RenderThemeFunction = () => {
+const RenderThemeFunction = (): React.ReactElement => {
const [, setText] = React.useState('');
- const onChangeText = React.useCallback(t => setText(t), [setText]);
+ const onChangeText = React.useCallback((t: string) => setText(t), [setText]);
return (
Arguments:
@@ -39,52 +39,65 @@ const RenderThemeFunction = () => {
);
};
-const ThemingMethods: React.FunctionComponent<{}> = () => {
+const withBox = (
+ key: string,
+ component: React.ReactElement | React.ReactElement[]
+): React.ReactElement => (
+
+ {key}
+ <>{component}>
+
+);
+
+const ThemingMethods: React.FunctionComponent = () => {
return (
- {Object.keys(Theming).map((val: string) => {
- return typeof Theming[val] === 'function' ? withBox(val, RenderThemeFunction()) : undefined;
- })}
+ <>
+ {Object.keys(Theming).map((val: string) =>
+ typeof Theming[val] === 'function' ? withBox(val, ) : null
+ )}
+ >
);
};
-const renderNestedObject = (obj: Record) => {
+const renderNestedObject = (obj: Record): React.ReactElement => {
return (
- {Object.keys(obj).map((val: string) => {
- return {val + ': ' + JSON.stringify(obj[val])};
- })}
+ {Object.keys(obj).map((val: string) => (
+ {val + ': ' + JSON.stringify(obj[val])}
+ ))}
);
};
-const renderObject = (obj: Record) => {
+const renderObject = (obj: Record): React.ReactElement => {
const firstKey = Object.keys(obj)[0];
const formattedOutput = JSON.stringify(obj)
.replace(/],/g, '],\n\n')
.replace(/:/g, ': ')
.replace(/,/g, ', ');
- return obj[firstKey] instanceof Array ? {formattedOutput} : renderNestedObject(obj);
-};
-const renderThemeObject = (key: string): React.ReactElement => withBox(key, renderObject(Theming[key]));
+ return obj[firstKey] instanceof Array ? (
+ {formattedOutput}
+ ) : (
+ renderNestedObject(obj)
+ );
+};
-const withBox = (key: string, component: React.ReactNode) => (
-
- {key}
- {component}
-
-);
+const renderThemeObject = (key: string): React.ReactElement =>
+ withBox(key, renderObject(Theming[key]));
-const ThemingConstants: React.FunctionComponent<{}> = () => {
+const ThemingConstants: React.FunctionComponent = () => {
return (
- {Object.keys(Theming).map((val: string) => {
- return typeof Theming[val] === 'object' ? renderThemeObject(val) : undefined;
- })}
+ <>
+ {Object.keys(Theming).map((val: string) =>
+ typeof Theming[val] === 'object' ? renderThemeObject(val) : null
+ )}
+ >
);
};
@@ -92,15 +105,19 @@ const ThemingConstants: React.FunctionComponent<{}> = () => {
export const title = 'Theming Module APIs';
export const displayName = 'Theming Module APIs';
export const description = 'Tests shape of Theming Native Module';
-export const examples = [
- {
- title: 'Theming Module Constants',
- description: 'All constants',
- render: () => ifModuleAvailable(),
- },
- {
- title: 'Theming Module Methods',
- description: 'Method invoker',
- render: () => ifModuleAvailable(),
- },
- ];
+export const examples: {
+ title: string;
+ description: string;
+ render: () => React.ReactElement;
+}[] = [
+ {
+ title: 'Theming Module Constants',
+ description: 'All constants',
+ render: (): React.ReactElement => ifModuleAvailable(),
+ },
+ {
+ title: 'Theming Module Methods',
+ description: 'Method invoker',
+ render: (): React.ReactElement => ifModuleAvailable(),
+ },
+];
diff --git a/packages/@office-iss/react-native-win32-tester/src/js/utils/RNTesterList.win32.js b/packages/@office-iss/react-native-win32-tester/src/js/utils/RNTesterList.win32.js
index 126239bd050..b53c427e7dc 100644
--- a/packages/@office-iss/react-native-win32-tester/src/js/utils/RNTesterList.win32.js
+++ b/packages/@office-iss/react-native-win32-tester/src/js/utils/RNTesterList.win32.js
@@ -233,14 +233,6 @@ const APIs: Array = ([
.default,
},
// Only show the link for the example if the API is available.
- // $FlowExpectedError[cannot-resolve-name]
- typeof IntersectionObserver === 'function'
- ? {
- key: 'IntersectionObserver',
- category: 'UI',
- module: require('../examples/IntersectionObserver/IntersectionObserverIndex'),
- }
- : null,
{
key: 'InvalidPropsExample',
module: require('../examples/InvalidProps/InvalidPropsExample'),
@@ -265,14 +257,6 @@ const APIs: Array = ([
category: 'UI',
module: require('../examples/Layout/LayoutExample'),
},
- // $FlowExpectedError[cannot-resolve-name]
- typeof MutationObserver === 'function'
- ? {
- key: 'MutationObserver',
- category: 'UI',
- module: require('../examples/MutationObserver/MutationObserverIndex'),
- }
- : null,
{
key: 'NativeAnimationsExample',
category: 'UI',
@@ -380,11 +364,6 @@ const APIs: Array = ([
category: 'Basic',
module: require('../examples/TurboModule/TurboCxxModuleExample'),
},
- {
- key: 'PerformanceApiExample',
- category: 'Basic',
- module: require('../examples/Performance/PerformanceApiExample'),
- },
]: Array).filter(Boolean);
if (ReactNativeFeatureFlags.shouldEmitW3CPointerEvents()) {
diff --git a/packages/@office-iss/react-native-win32/.flowconfig b/packages/@office-iss/react-native-win32/.flowconfig
index 4b336c425b0..d7e5a6eb497 100644
--- a/packages/@office-iss/react-native-win32/.flowconfig
+++ b/packages/@office-iss/react-native-win32/.flowconfig
@@ -5,6 +5,9 @@
.*/*[.]macos.js
.*/*[.]windesktop.js
+; Ignore fb_internal modules
+/packages/react-native/src/fb_internal/.*
+
; These modules have base components and win32 versions.
; Ideally we'd delete the base versions of files that had .win32 overrides as part of the
; initRNLibraries build step
@@ -39,6 +42,10 @@
/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js
/Libraries/LogBox/UI/LogBoxStyle.js
+/IntegrationTests/ImageCachePolicyTest.js
+/IntegrationTests/LayoutEventsTest.js
+/IntegrationTests/IntegrationTestsApp.js
+
; Ignore react-native files in node_modules since they are copied into project root
.*/node_modules/react-native/.*
@@ -167,4 +174,4 @@ untyped-import
untyped-type-import
[version]
-^0.268.0
+^0.269.1
diff --git a/packages/@office-iss/react-native-win32/overrides.json b/packages/@office-iss/react-native-win32/overrides.json
index cd38f41e4a7..794ea150210 100644
--- a/packages/@office-iss/react-native-win32/overrides.json
+++ b/packages/@office-iss/react-native-win32/overrides.json
@@ -7,13 +7,13 @@
"**/__snapshots__/**",
"src-win/rntypes/**"
],
- "baseVersion": "0.80.0-nightly-20250428-9efcdc091",
+ "baseVersion": "0.80.0-nightly-20250506-3ac16dd6a",
"overrides": [
{
"type": "derived",
"file": ".flowconfig",
"baseFile": ".flowconfig",
- "baseHash": "d274ca7bb384b334c5b2ee0827726e7a3d6c98c9"
+ "baseHash": "70ed729d5f52c241530e8459cc40263d4e9fa9c0"
},
{
"type": "derived",
@@ -114,7 +114,7 @@
"type": "derived",
"file": "src-win/Libraries/Components/TextInput/TextInput.win32.js",
"baseFile": "packages/react-native/Libraries/Components/TextInput/TextInput.js",
- "baseHash": "4b3128471dd0d362e9828df8937f708d53694e12"
+ "baseHash": "9965c0079652083ab549bc2799eb9528b56a1b2d"
},
{
"type": "patch",
@@ -183,13 +183,13 @@
"type": "derived",
"file": "src-win/Libraries/Components/View/ViewAccessibility.d.ts",
"baseFile": "packages/react-native/Libraries/Components/View/ViewAccessibility.d.ts",
- "baseHash": "d97e29f01e57cc2b0de209a03f8584b984cfe190"
+ "baseHash": "1e4e3a89397960e8f08b86be62496473829c0ac3"
},
{
"type": "derived",
"file": "src-win/Libraries/Components/View/ViewAccessibility.win32.js",
"baseFile": "packages/react-native/Libraries/Components/View/ViewAccessibility.js",
- "baseHash": "c30dab3926869e84edafebd485e78637d69ccd61"
+ "baseHash": "04981261b2ed61b31bfbb396478bb6b103d99253"
},
{
"type": "derived",
@@ -329,7 +329,7 @@
"type": "derived",
"file": "src-win/Libraries/NativeComponent/BaseViewConfig.win32.js",
"baseFile": "packages/react-native/Libraries/NativeComponent/BaseViewConfig.ios.js",
- "baseHash": "3ba8fe1a60d744e057e856bc43e2df28f4fd7f66"
+ "baseHash": "b520e2bdb2be31bdb6ad7e3769dbe69168870c8c"
},
{
"type": "copy",
diff --git a/packages/@office-iss/react-native-win32/package.json b/packages/@office-iss/react-native-win32/package.json
index f4d18dbe766..b949a5af51a 100644
--- a/packages/@office-iss/react-native-win32/package.json
+++ b/packages/@office-iss/react-native-win32/package.json
@@ -30,19 +30,19 @@
"@react-native-community/cli-platform-android": "17.0.0",
"@react-native-community/cli-platform-ios": "17.0.0",
"@react-native/assets": "1.0.0",
- "@react-native/assets-registry": "0.80.0-nightly-20250428-9efcdc091",
- "@react-native/codegen": "0.80.0-nightly-20250428-9efcdc091",
- "@react-native/community-cli-plugin": "0.80.0-nightly-20250428-9efcdc091",
- "@react-native/gradle-plugin": "0.80.0-nightly-20250428-9efcdc091",
- "@react-native/js-polyfills": "0.80.0-nightly-20250428-9efcdc091",
- "@react-native/normalize-colors": "0.80.0-nightly-20250428-9efcdc091",
- "@react-native/virtualized-lists": "0.80.0-nightly-20250428-9efcdc091",
+ "@react-native/assets-registry": "0.80.0-nightly-20250506-3ac16dd6a",
+ "@react-native/codegen": "0.80.0-nightly-20250506-3ac16dd6a",
+ "@react-native/community-cli-plugin": "0.80.0-nightly-20250506-3ac16dd6a",
+ "@react-native/gradle-plugin": "0.80.0-nightly-20250506-3ac16dd6a",
+ "@react-native/js-polyfills": "0.80.0-nightly-20250506-3ac16dd6a",
+ "@react-native/normalize-colors": "0.80.0-nightly-20250506-3ac16dd6a",
+ "@react-native/virtualized-lists": "0.80.0-nightly-20250506-3ac16dd6a",
"abort-controller": "^3.0.0",
"anser": "^1.4.9",
"ansi-regex": "^5.0.0",
"art": "^0.10.0",
"babel-jest": "^29.7.0",
- "babel-plugin-syntax-hermes-parser": "0.25.1",
+ "babel-plugin-syntax-hermes-parser": "0.28.1",
"base64-js": "^1.5.1",
"chalk": "^4.0.0",
"commander": "^12.0.0",
@@ -52,8 +52,8 @@
"invariant": "^2.2.4",
"jest-environment-node": "^29.7.0",
"memoize-one": "^5.0.0",
- "metro-runtime": "^0.82.0",
- "metro-source-map": "^0.82.0",
+ "metro-runtime": "^0.82.2",
+ "metro-source-map": "^0.82.2",
"mkdirp": "^0.5.1",
"nullthrows": "^1.1.1",
"pretty-format": "^29.7.0",
@@ -62,7 +62,7 @@
"react-devtools-core": "^6.1.1",
"react-refresh": "^0.14.0",
"regenerator-runtime": "^0.13.2",
- "scheduler": "0.25.0",
+ "scheduler": "0.26.0",
"semver": "^7.1.3",
"stacktrace-parser": "^0.1.10",
"whatwg-fetch": "^3.0.0",
@@ -72,7 +72,7 @@
"devDependencies": {
"@babel/core": "^7.25.2",
"@babel/eslint-parser": "^7.25.1",
- "@react-native/metro-config": "0.80.0-nightly-20250428-9efcdc091",
+ "@react-native/metro-config": "0.80.0-nightly-20250506-3ac16dd6a",
"@rnw-scripts/babel-react-native-config": "0.0.0",
"@rnw-scripts/eslint-config": "1.2.36",
"@rnw-scripts/jest-out-of-tree-snapshot-resolver": "^1.1.40",
@@ -88,14 +88,14 @@
"just-scripts": "^1.3.3",
"prettier": "2.8.8",
"react": "19.1.0",
- "react-native": "0.80.0-nightly-20250428-9efcdc091",
+ "react-native": "0.80.0-nightly-20250506-3ac16dd6a",
"react-native-platform-override": "^1.9.56",
"typescript": "5.0.4"
},
"peerDependencies": {
- "@types/react": "^19.0.0",
+ "@types/react": "^19.1.0",
"react": "^19.1.0",
- "react-native": "0.80.0-nightly-20250428-9efcdc091"
+ "react-native": "0.80.0-nightly-20250506-3ac16dd6a"
},
"beachball": {
"defaultNpmTag": "canary",
diff --git a/packages/@react-native-windows/automation-channel/package.json b/packages/@react-native-windows/automation-channel/package.json
index f3615d7f595..a27f5b2d966 100644
--- a/packages/@react-native-windows/automation-channel/package.json
+++ b/packages/@react-native-windows/automation-channel/package.json
@@ -32,7 +32,7 @@
"just-scripts": "^1.3.2",
"prettier": "2.8.8",
"react": "19.1.0",
- "react-native": "0.80.0-nightly-20250428-9efcdc091",
+ "react-native": "0.80.0-nightly-20250506-3ac16dd6a",
"react-native-windows": "^0.0.0-canary.976",
"typescript": "5.0.4"
},
diff --git a/packages/@react-native-windows/tester/overrides.json b/packages/@react-native-windows/tester/overrides.json
index ce5e1ff905d..da76b4f588e 100644
--- a/packages/@react-native-windows/tester/overrides.json
+++ b/packages/@react-native-windows/tester/overrides.json
@@ -5,7 +5,7 @@
"excludePatterns": [
"src/js/examples-win/**"
],
- "baseVersion": "0.80.0-nightly-20250428-9efcdc091",
+ "baseVersion": "0.80.0-nightly-20250506-3ac16dd6a",
"overrides": [
{
"type": "copy",
@@ -26,6 +26,13 @@
"baseFile": "packages/rn-tester/js/examples/Button/ButtonExample.js",
"baseHash": "e03b21d229ecb631c12e4ac04ddf73fbe6059da7"
},
+ {
+ "type": "derived",
+ "file": "src/js/examples-win/NewAppScreen/NewAppScreenExample.js",
+ "baseFile": "packages/rn-tester/js/examples/NewAppScreen/NewAppScreenExample.js",
+ "baseHash": "884fc18a2119d52cb7629358c07bb26c764abf4f",
+ "issue": 0
+ },
{
"type": "derived",
"file": "src/js/examples-win/Switch/SwitchExample.windows.js",
@@ -43,35 +50,35 @@
"type": "patch",
"file": "src/js/examples/FlatList/BaseFlatListExample.windows.js",
"baseFile": "packages/rn-tester/js/examples/FlatList/BaseFlatListExample.js",
- "baseHash": "1f762573bd6dd3a1a1c8b7767eeb6ce923785eba",
+ "baseHash": "44b784dbde64d0ca1616f0e31a07f232939d8dd7",
"issue": 12869
},
{
"type": "patch",
"file": "src/js/examples/FlatList/FlatList-basic.windows.js",
"baseFile": "packages/rn-tester/js/examples/FlatList/FlatList-basic.js",
- "baseHash": "ac75910f0e9c21569b27934385279f2ac34b02bf",
+ "baseHash": "a10d3f1b947f00cd11f33644e374d04bf5417a04",
"issue": 12869
},
{
"type": "copy",
"file": "src/js/examples/FlatList/FlatList-multiColumn.windows.js",
"baseFile": "packages/rn-tester/js/examples/FlatList/FlatList-multiColumn.js",
- "baseHash": "913bcd6ecd22d5e0f4cae177c89756b8396096fd",
+ "baseHash": "51da04f9ee49f1a5fd857db17361443636d73bca",
"issue": 12869
},
{
"type": "patch",
"file": "src/js/examples/FlatList/FlatList-nested.windows.js",
"baseFile": "packages/rn-tester/js/examples/FlatList/FlatList-nested.js",
- "baseHash": "e77c19ae4ead3fefaa949524dfcae28e439a022c",
+ "baseHash": "c5f4c76741ff490c10c4c18db45bacfecd1b8a12",
"issue": 12869
},
{
"type": "patch",
"file": "src/js/examples/FlatList/FlatList-stickyHeaders.windows.js",
"baseFile": "packages/rn-tester/js/examples/FlatList/FlatList-stickyHeaders.js",
- "baseHash": "5cc295fd2a56b93b0c12916b333fe5862173f338"
+ "baseHash": "cfa86dc07ee3a2f17e589939a4fef982ff2c1b72"
},
{
"type": "platform",
@@ -85,7 +92,7 @@
"type": "patch",
"file": "src/js/examples/Image/ImageExample.windows.js",
"baseFile": "packages/rn-tester/js/examples/Image/ImageExample.js",
- "baseHash": "9fa7c2a5569d388509819fc8c4a08b50dd3937d1",
+ "baseHash": "20dec87a4f2c4c098adf9e3becc0969fb2b3036c",
"issue": 12869
},
{
@@ -98,7 +105,7 @@
"type": "patch",
"file": "src/js/examples/Modal/ModalPresentation.windows.js",
"baseFile": "packages/rn-tester/js/examples/Modal/ModalPresentation.js",
- "baseHash": "85f44b8ecf18784f6a0088df636b2b9742546b09"
+ "baseHash": "93c88f75903188f1b5671a288fbf6eb333ea8acb"
},
{
"type": "patch",
@@ -136,7 +143,7 @@
"type": "patch",
"file": "src/js/examples/TurboModule/SampleTurboModuleExample.windows.js",
"baseFile": "packages/rn-tester/js/examples/TurboModule/SampleTurboModuleExample.js",
- "baseHash": "5cfdbaaa81a57c5611955cce6f484eca7ad7a355"
+ "baseHash": "a005538f6ea294fb44d0f6265c1bc75bd893ab56"
},
{
"type": "patch",
@@ -155,7 +162,14 @@
"type": "derived",
"file": "src/js/utils/RNTesterList.windows.js",
"baseFile": "packages/rn-tester/js/utils/RNTesterList.android.js",
- "baseHash": "3b5c8bcdee69293ddce0d515300504979e36f87a"
+ "baseHash": "aded9dd37f3ac325aa1cc095f6d217114c45a8b9"
+ },
+ {
+ "type": "derived",
+ "file": "src/js/utils/RNTesterListFbInternal.js",
+ "baseFile": "packages/rn-tester/js/utils/RNTesterListFbInternal.js",
+ "baseHash": "fe9f56b0fbc6677a817f9fdaf020185b9c8ffb58",
+ "issue": 0
}
]
}
\ No newline at end of file
diff --git a/packages/@react-native-windows/tester/package.json b/packages/@react-native-windows/tester/package.json
index 04061099cb5..3e5220b54d8 100644
--- a/packages/@react-native-windows/tester/package.json
+++ b/packages/@react-native-windows/tester/package.json
@@ -19,12 +19,13 @@
"peerDependencies": {
"@react-native-picker/picker": "2.11.0",
"react": "19.1.0",
- "react-native": "0.80.0-nightly-20250428-9efcdc091",
+ "react-native": "0.80.0-nightly-20250506-3ac16dd6a",
"react-native-windows": "^0.0.0-canary.976",
"react-native-xaml": "^0.0.80"
},
"devDependencies": {
"@react-native/tester": "0.80.0-main",
+ "@react-native/new-app-screen": "0.80.0-nightly-20250506-3ac16dd6a",
"@rnw-scripts/babel-react-native-config": "0.0.0",
"@rnw-scripts/eslint-config": "1.2.36",
"@rnw-scripts/just-task": "2.3.54",
@@ -32,7 +33,7 @@
"@types/node": "^18.0.0",
"eslint": "^8.19.0",
"just-scripts": "^1.3.3",
- "react-native": "0.80.0-nightly-20250428-9efcdc091",
+ "react-native": "0.80.0-nightly-20250506-3ac16dd6a",
"react-native-platform-override": "^1.9.56",
"react-native-windows": "^0.0.0-canary.976",
"typescript": "5.0.4"
@@ -40,4 +41,4 @@
"engines": {
"node": ">= 18"
}
-}
+}
\ No newline at end of file
diff --git a/packages/@react-native-windows/tester/src/js/examples-win/Keyboard/KeyboardFocusExample.windows.tsx b/packages/@react-native-windows/tester/src/js/examples-win/Keyboard/KeyboardFocusExample.windows.tsx
index ccfb3448da0..63d1baa7be1 100644
--- a/packages/@react-native-windows/tester/src/js/examples-win/Keyboard/KeyboardFocusExample.windows.tsx
+++ b/packages/@react-native-windows/tester/src/js/examples-win/Keyboard/KeyboardFocusExample.windows.tsx
@@ -60,11 +60,9 @@ interface IKeyboardFocusComponentState {
const pickerRef = React.createRef>();
const viewWindowsRef = React.createRef();
const textInputRef = React.createRef();
-const textInputRef2 = React.createRef();
-const touchableHighlightRef =
- React.createRef>();
-const touchableOpacityRef =
- React.createRef>();
+const textInputRef2 = React.createRef();
+const touchableHighlightRef = React.createRef();
+const touchableOpacityRef = React.createRef();
const touchableWithoutFeedbackRef = React.createRef();
class KeyboardFocusExample extends React.Component<
@@ -182,35 +180,32 @@ class KeyboardFocusExample extends React.Component<
};
private readonly _selectionChanged = (selected: string) => {
+ this.setState({selected}); // Update selected state
+
switch (selected) {
case 'View':
- viewWindowsRef.current && viewWindowsRef.current.focus();
+ viewWindowsRef.current?.focus();
break;
case 'Picker':
// pickerRef.current && pickerRef.current.focus();
break;
case 'TextInput':
- textInputRef.current && textInputRef.current.focus();
- if (textInputRef.current) {
- textInputRef.current.focus();
- setTimeout(() => {
- textInputRef2.current && textInputRef2.current.blur();
- }, 10000);
- }
+ textInputRef.current?.focus();
+ setTimeout(() => {
+ textInputRef2.current?.blur();
+ }, 10000);
break;
case 'TextInput2':
- if (textInputRef2.current) {
- textInputRef2.current.focus();
- setTimeout(() => {
- textInputRef2.current && textInputRef2.current.blur();
- }, 10000);
- }
+ textInputRef2.current?.focus();
+ setTimeout(() => {
+ textInputRef2.current?.blur();
+ }, 10000);
break;
case 'TouchableHighlight':
- touchableHighlightRef.current && touchableHighlightRef.current.focus();
+ (touchableHighlightRef.current as any)?.focus?.();
break;
case 'TouchableOpacity':
- touchableOpacityRef.current && touchableOpacityRef.current.focus();
+ (touchableOpacityRef.current as any)?.focus?.();
break;
case 'TouchableWithoutFeedback':
// TouchableWithoutFeedback doesn't have a focus method, since it doesn't have NativeMethodsMixin applied
diff --git a/packages/@react-native-windows/tester/src/js/examples-win/NewAppScreen/NewAppScreenExample.js b/packages/@react-native-windows/tester/src/js/examples-win/NewAppScreen/NewAppScreenExample.js
new file mode 100644
index 00000000000..3a45d74fdbe
--- /dev/null
+++ b/packages/@react-native-windows/tester/src/js/examples-win/NewAppScreen/NewAppScreenExample.js
@@ -0,0 +1,31 @@
+/**
+ * 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.
+ *
+ * @format
+ * @flow
+ */
+
+// Windows
+'use strict';
+
+const {NewAppScreen} = require('@react-native/new-app-screen');
+const React = require('react');
+const {ScrollView} = require('react-native');
+
+exports.title = 'New App Screen';
+exports.description = 'Displays the content of the new app screen';
+exports.examples = [
+ {
+ title: 'New App Screen',
+ render(): React.MixedElement {
+ return (
+
+
+
+ );
+ },
+ },
+];
diff --git a/packages/@react-native-windows/tester/src/js/examples/FlatList/BaseFlatListExample.windows.js b/packages/@react-native-windows/tester/src/js/examples/FlatList/BaseFlatListExample.windows.js
index 8721de395b9..d5548c7e503 100644
--- a/packages/@react-native-windows/tester/src/js/examples/FlatList/BaseFlatListExample.windows.js
+++ b/packages/@react-native-windows/tester/src/js/examples/FlatList/BaseFlatListExample.windows.js
@@ -8,7 +8,7 @@
* @format
*/
-import type {ListRenderItemInfo} from 'react-native/Libraries/Lists/VirtualizedList';
+import type {ListRenderItemInfo} from 'react-native';
import * as React from 'react';
import {
diff --git a/packages/@react-native-windows/tester/src/js/examples/FlatList/FlatList-basic.windows.js b/packages/@react-native-windows/tester/src/js/examples/FlatList/FlatList-basic.windows.js
index 6eca8176693..68499ad54f0 100644
--- a/packages/@react-native-windows/tester/src/js/examples/FlatList/FlatList-basic.windows.js
+++ b/packages/@react-native-windows/tester/src/js/examples/FlatList/FlatList-basic.windows.js
@@ -12,9 +12,9 @@
import type {Item} from '../../components/ListExampleShared';
import type {RNTesterModuleExample} from '../../types/RNTesterTypes';
+import type {ListRenderItemInfo} from 'react-native';
import type {AnimatedComponentType} from 'react-native/Libraries/Animated/createAnimatedComponent';
import typeof FlatListType from 'react-native/Libraries/Lists/FlatList';
-import type {ListRenderItemInfo} from 'react-native/Libraries/Lists/VirtualizedList';
import {
FooterComponent,
diff --git a/packages/@react-native-windows/tester/src/js/examples/FlatList/FlatList-multiColumn.windows.js b/packages/@react-native-windows/tester/src/js/examples/FlatList/FlatList-multiColumn.windows.js
index 53ec5939241..45cdacbb035 100644
--- a/packages/@react-native-windows/tester/src/js/examples/FlatList/FlatList-multiColumn.windows.js
+++ b/packages/@react-native-windows/tester/src/js/examples/FlatList/FlatList-multiColumn.windows.js
@@ -12,7 +12,7 @@
import type {Item} from '../../components/ListExampleShared';
import type {RNTesterModuleExample} from '../../types/RNTesterTypes';
-import type {ListRenderItemInfo} from 'react-native/Libraries/Lists/VirtualizedList';
+import type {ListRenderItemInfo} from 'react-native';
import {
FooterComponent,
diff --git a/packages/@react-native-windows/tester/src/js/examples/FlatList/FlatList-nested.windows.js b/packages/@react-native-windows/tester/src/js/examples/FlatList/FlatList-nested.windows.js
index d30231da9c0..66b06ea0721 100644
--- a/packages/@react-native-windows/tester/src/js/examples/FlatList/FlatList-nested.windows.js
+++ b/packages/@react-native-windows/tester/src/js/examples/FlatList/FlatList-nested.windows.js
@@ -11,8 +11,8 @@
'use strict';
import type {RNTesterModuleExample} from '../../types/RNTesterTypes';
+import type {ListRenderItemInfo} from 'react-native';
import type {ViewToken} from 'react-native/Libraries/Lists/ViewabilityHelper';
-import type {ListRenderItemInfo} from 'react-native/Libraries/Lists/VirtualizedList';
import RNTesterPage from '../../components/RNTesterPage';
import RNTesterText from '../../components/RNTesterText';
diff --git a/packages/@react-native-windows/tester/src/js/examples/FlatList/FlatList-stickyHeaders.windows.js b/packages/@react-native-windows/tester/src/js/examples/FlatList/FlatList-stickyHeaders.windows.js
index 68132e39a5c..1f5dea3c947 100644
--- a/packages/@react-native-windows/tester/src/js/examples/FlatList/FlatList-stickyHeaders.windows.js
+++ b/packages/@react-native-windows/tester/src/js/examples/FlatList/FlatList-stickyHeaders.windows.js
@@ -9,7 +9,7 @@
*/
import type {RNTesterModuleExample} from '../../types/RNTesterTypes';
-import type {ListRenderItemInfo} from 'react-native/Libraries/Lists/VirtualizedList';
+import type {ListRenderItemInfo} from 'react-native';
import * as React from 'react';
import {FlatList, StyleSheet, Text, View} from 'react-native';
diff --git a/packages/@react-native-windows/tester/src/js/examples/Image/ImageExample.windows.js b/packages/@react-native-windows/tester/src/js/examples/Image/ImageExample.windows.js
index 6a481c7d6f1..d282ae8b94c 100644
--- a/packages/@react-native-windows/tester/src/js/examples/Image/ImageExample.windows.js
+++ b/packages/@react-native-windows/tester/src/js/examples/Image/ImageExample.windows.js
@@ -11,15 +11,13 @@
'use strict';
import type {RNTesterModuleExample} from '../../types/RNTesterTypes';
-import type {ImageProps} from 'react-native/Libraries/Image/ImageProps';
-import type {LayoutChangeEvent} from 'react-native/Libraries/Types/CoreEventTypes';
+import type {ImageProps, LayoutChangeEvent} from 'react-native';
import RNTesterButton from '../../components/RNTesterButton';
import RNTesterText from '../../components/RNTesterText';
import ImageCapInsetsExample from './ImageCapInsetsExample';
import React from 'react';
import {Image, ImageBackground, StyleSheet, Text, View} from 'react-native';
-import * as ReactNativeFeatureFlags from 'react-native/src/private/featureflags/ReactNativeFeatureFlags';
const IMAGE1 =
'https://www.facebook.com/assets/fb_lite_messaging/E2EE-settings@3x.png';
diff --git a/packages/@react-native-windows/tester/src/js/examples/Modal/ModalPresentation.windows.js b/packages/@react-native-windows/tester/src/js/examples/Modal/ModalPresentation.windows.js
index 947224c7040..f5569c20f53 100644
--- a/packages/@react-native-windows/tester/src/js/examples/Modal/ModalPresentation.windows.js
+++ b/packages/@react-native-windows/tester/src/js/examples/Modal/ModalPresentation.windows.js
@@ -11,7 +11,7 @@
/* eslint-disable no-alert */
import type {RNTesterModuleExample} from '../../types/RNTesterTypes';
-import type {ModalProps} from 'react-native/Libraries/Modal/Modal';
+import type {ModalProps} from 'react-native';
import RNTesterButton from '../../components/RNTesterButton';
import RNTesterText from '../../components/RNTesterText';
diff --git a/packages/@react-native-windows/tester/src/js/examples/TurboModule/SampleTurboModuleExample.windows.js b/packages/@react-native-windows/tester/src/js/examples/TurboModule/SampleTurboModuleExample.windows.js
index e3b0f4cfe0e..b27e83cebbf 100644
--- a/packages/@react-native-windows/tester/src/js/examples/TurboModule/SampleTurboModuleExample.windows.js
+++ b/packages/@react-native-windows/tester/src/js/examples/TurboModule/SampleTurboModuleExample.windows.js
@@ -8,8 +8,7 @@
* @flow strict-local
*/
-import type {RootTag} from 'react-native/Libraries/ReactNative/RootTag';
-import type {EventSubscription} from 'react-native/Libraries/vendor/emitter/EventEmitter';
+import type {EventSubscription, RootTag} from 'react-native';
import RNTesterText from '../../components/RNTesterText';
import styles from './TurboModuleExampleCommon';
diff --git a/packages/@react-native-windows/tester/src/js/utils/RNTesterList.windows.js b/packages/@react-native-windows/tester/src/js/utils/RNTesterList.windows.js
index e98f91f278f..4182b33d2ad 100644
--- a/packages/@react-native-windows/tester/src/js/utils/RNTesterList.windows.js
+++ b/packages/@react-native-windows/tester/src/js/utils/RNTesterList.windows.js
@@ -9,6 +9,7 @@
import type {RNTesterModule, RNTesterModuleInfo} from '../types/RNTesterTypes';
+import * as RNTesterListFbInternal from './RNTesterListFbInternal';
import ReactNativeFeatureFlags from 'react-native/Libraries/ReactNative/ReactNativeFeatureFlags';
const Components: Array = [
@@ -86,7 +87,7 @@ const Components: Array = [
},
{
key: 'NewAppScreenExample',
- module: require('../examples/NewAppScreen/NewAppScreenExample'),
+ module: require('../examples-win/NewAppScreen/NewAppScreenExample'),
},
{
key: 'PressableExample',
@@ -216,6 +217,7 @@ const Components: Array = [
module: require('../examples/OSSLibraryExample/OSSLibraryExample'),
},
*/
+ ...RNTesterListFbInternal.Components,
];
const APIs: Array = ([
@@ -301,15 +303,6 @@ const APIs: Array = ([
.default,
},
// Only show the link for the example if the API is available.
- // $FlowExpectedError[cannot-resolve-name]
- typeof IntersectionObserver === 'function'
- ? {
- key: 'IntersectionObserver',
- category: 'UI',
- module: require('../examples/IntersectionObserver/IntersectionObserverIndex'),
- }
- : null,
-
// E2E Tests failing when this test is enabled
// {
// key: 'InvalidPropsExample',
@@ -344,14 +337,6 @@ const APIs: Array = ([
category: 'UI',
module: require('../examples/Layout/LayoutExample'),
},
- // $FlowExpectedError[cannot-resolve-name]
- typeof MutationObserver === 'function'
- ? {
- key: 'MutationObserver',
- category: 'UI',
- module: require('../examples/MutationObserver/MutationObserverIndex'),
- }
- : null,
{
key: 'MouseExample',
category: 'Basic',
@@ -471,11 +456,7 @@ const APIs: Array = ([
category: 'Basic',
module: require('../examples/TurboModule/TurboCxxModuleExample'),
},
- {
- key: 'PerformanceApiExample',
- category: 'Basic',
- module: require('../examples/Performance/PerformanceApiExample'),
- },
+ ...RNTesterListFbInternal.APIs,
]: Array).filter(Boolean);
if (ReactNativeFeatureFlags.shouldEmitW3CPointerEvents()) {
diff --git a/packages/@react-native-windows/tester/src/js/utils/RNTesterListFbInternal.js b/packages/@react-native-windows/tester/src/js/utils/RNTesterListFbInternal.js
new file mode 100644
index 00000000000..fc1e79f5fb5
--- /dev/null
+++ b/packages/@react-native-windows/tester/src/js/utils/RNTesterListFbInternal.js
@@ -0,0 +1,16 @@
+/**
+ * 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.
+ *
+ * @flow strict-local
+ * @format
+ * @oncall react_native
+ */
+
+// Windows
+import type {RNTesterModuleInfo} from '../types/RNTesterTypes';
+
+export const Components: Array = [];
+export const APIs: Array = [];
diff --git a/packages/@react-native/monorepo/overrides.json b/packages/@react-native/monorepo/overrides.json
index 936315fa59b..2663e907053 100644
--- a/packages/@react-native/monorepo/overrides.json
+++ b/packages/@react-native/monorepo/overrides.json
@@ -1,11 +1,11 @@
{
- "baseVersion": "0.80.0-nightly-20250428-9efcdc091",
+ "baseVersion": "0.80.0-nightly-20250506-3ac16dd6a",
"overrides": [
{
"type": "patch",
"file": "package.json",
"baseFile": "package.json",
- "baseHash": "1555093b05c146103ef4e9add6fe2c2c104ff225"
+ "baseHash": "4fad7b8d451333c0ccee6561c12a320d0556810f"
}
]
}
\ No newline at end of file
diff --git a/packages/@react-native/monorepo/package.json b/packages/@react-native/monorepo/package.json
index b78b2cc9bb1..e7dbdae196b 100644
--- a/packages/@react-native/monorepo/package.json
+++ b/packages/@react-native/monorepo/package.json
@@ -48,8 +48,8 @@
"@babel/preset-flow": "^7.24.7",
"@definitelytyped/dtslint": "^0.0.127",
"@jest/create-cache-key-function": "^29.7.0",
- "@react-native/metro-babel-transformer": "0.80.0-nightly-20250428-9efcdc091",
- "@react-native/metro-config": "0.80.0-nightly-20250428-9efcdc091",
+ "@react-native/metro-babel-transformer": "0.80.0-nightly-20250506-3ac16dd6a",
+ "@react-native/metro-config": "0.80.0-nightly-20250506-3ac16dd6a",
"@tsconfig/node18": "1.0.1",
"@types/react": "^19.0.0",
"@typescript-eslint/parser": "^7.1.1",
@@ -77,7 +77,7 @@
"eslint-plugin-redundant-undefined": "^0.4.0",
"eslint-plugin-relay": "^1.8.3",
"flow-api-translator": "0.28.1",
- "flow-bin": "^0.268.0",
+ "flow-bin": "^0.269.1",
"glob": "^7.1.1",
"hermes-eslint": "0.28.1",
"hermes-transform": "0.28.1",
diff --git a/packages/@react-native/tester/NativeComponentExample/js/MyNativeViewNativeComponent.js b/packages/@react-native/tester/NativeComponentExample/js/MyNativeViewNativeComponent.js
index e7a63bf4531..ea136a67b8d 100644
--- a/packages/@react-native/tester/NativeComponentExample/js/MyNativeViewNativeComponent.js
+++ b/packages/@react-native/tester/NativeComponentExample/js/MyNativeViewNativeComponent.js
@@ -8,28 +8,20 @@
* @format
*/
-import type {HostComponent} from 'react-native';
-import type {ViewProps} from 'react-native/Libraries/Components/View/ViewPropTypes';
-import type {
- BubblingEventHandler,
- Double,
- Float,
- Int32,
-} from 'react-native/Libraries/Types/CodegenTypes';
+import type {CodegenTypes, HostComponent, ViewProps} from 'react-native';
import * as React from 'react';
-import codegenNativeCommands from 'react-native/Libraries/Utilities/codegenNativeCommands';
-import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';
+import {codegenNativeCommands, codegenNativeComponent} from 'react-native';
type Event = $ReadOnly<{
- values: $ReadOnlyArray,
+ values: $ReadOnlyArray,
boolValues: $ReadOnlyArray,
- floats: $ReadOnlyArray,
- doubles: $ReadOnlyArray,
+ floats: $ReadOnlyArray,
+ doubles: $ReadOnlyArray,
yesNos: $ReadOnlyArray<'yep' | 'nope'>,
strings: $ReadOnlyArray,
- latLons: $ReadOnlyArray<{lat: Double, lon: Double}>,
- multiArrays: $ReadOnlyArray<$ReadOnlyArray>,
+ latLons: $ReadOnlyArray<{lat: CodegenTypes.Double, lon: CodegenTypes.Double}>,
+ multiArrays: $ReadOnlyArray<$ReadOnlyArray>,
}>;
type LegacyStyleEvent = $ReadOnly<{
@@ -38,12 +30,12 @@ type LegacyStyleEvent = $ReadOnly<{
type NativeProps = $ReadOnly<{
...ViewProps,
- opacity?: Float,
- values: $ReadOnlyArray,
+ opacity?: CodegenTypes.Float,
+ values: $ReadOnlyArray,
// Events
- onIntArrayChanged?: ?BubblingEventHandler,
- onLegacyStyleEvent?: ?BubblingEventHandler<
+ onIntArrayChanged?: ?CodegenTypes.BubblingEventHandler,
+ onLegacyStyleEvent?: ?CodegenTypes.BubblingEventHandler<
LegacyStyleEvent,
'alternativeLegacyName',
>,
diff --git a/packages/@react-native/tester/NativeCxxModuleExample/NativeCxxModuleExample.js b/packages/@react-native/tester/NativeCxxModuleExample/NativeCxxModuleExample.js
index ed9bfa0f781..f29bf8bc780 100644
--- a/packages/@react-native/tester/NativeCxxModuleExample/NativeCxxModuleExample.js
+++ b/packages/@react-native/tester/NativeCxxModuleExample/NativeCxxModuleExample.js
@@ -8,8 +8,7 @@
* @format
*/
-import type {TurboModule} from 'react-native/Libraries/TurboModule/RCTExport';
-import type {EventEmitter} from 'react-native/Libraries/Types/CodegenTypes';
+import type {CodegenTypes, TurboModule} from 'react-native';
import {TurboModuleRegistry} from 'react-native';
@@ -77,11 +76,11 @@ export type CustomDeviceEvent = {
};
export interface Spec extends TurboModule {
- +onPress: EventEmitter;
- +onClick: EventEmitter;
- +onChange: EventEmitter;
- +onSubmit: EventEmitter;
- +onEvent: EventEmitter;
+ +onPress: CodegenTypes.EventEmitter;
+ +onClick: CodegenTypes.EventEmitter;
+ +onChange: CodegenTypes.EventEmitter;
+ +onSubmit: CodegenTypes.EventEmitter;
+ +onEvent: CodegenTypes.EventEmitter;
+getArray: (arg: Array) => Array;
+getBool: (arg: boolean) => boolean;
+getConstants: () => ConstantsStruct;
diff --git a/packages/@react-native/tester/NativeModuleExample/NativeScreenshotManager.js b/packages/@react-native/tester/NativeModuleExample/NativeScreenshotManager.js
index 9065b866d20..a04cca85a83 100644
--- a/packages/@react-native/tester/NativeModuleExample/NativeScreenshotManager.js
+++ b/packages/@react-native/tester/NativeModuleExample/NativeScreenshotManager.js
@@ -8,12 +8,11 @@
* @format
*/
-import type {TurboModule} from 'react-native/Libraries/TurboModule/RCTExport';
-import type {UnsafeObject} from 'react-native/Libraries/Types/CodegenTypes';
+import type {CodegenTypes, TurboModule} from 'react-native';
-import * as TurboModuleRegistry from 'react-native/Libraries/TurboModule/TurboModuleRegistry';
+import {TurboModuleRegistry} from 'react-native';
-export type ScreenshotManagerOptions = UnsafeObject;
+export type ScreenshotManagerOptions = CodegenTypes.UnsafeObject;
export interface Spec extends TurboModule {
+getConstants: () => {};
diff --git a/packages/@react-native/tester/ReportFullyDrawnView/ReportFullyDrawnViewNativeComponent.js b/packages/@react-native/tester/ReportFullyDrawnView/ReportFullyDrawnViewNativeComponent.js
index 232e9c07643..fe778e11158 100644
--- a/packages/@react-native/tester/ReportFullyDrawnView/ReportFullyDrawnViewNativeComponent.js
+++ b/packages/@react-native/tester/ReportFullyDrawnView/ReportFullyDrawnViewNativeComponent.js
@@ -9,9 +9,9 @@
*/
import type {HostComponent} from 'react-native';
-import type {ViewProps} from 'react-native/Libraries/Components/View/ViewPropTypes';
+import type {ViewProps} from 'react-native';
-import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';
+import {codegenNativeComponent} from 'react-native';
type NativeProps = $ReadOnly<{
...ViewProps,
diff --git a/packages/@react-native/tester/js/components/RNTOption.js b/packages/@react-native/tester/js/components/RNTOption.js
index b8026947d01..3f0c3535600 100644
--- a/packages/@react-native/tester/js/components/RNTOption.js
+++ b/packages/@react-native/tester/js/components/RNTOption.js
@@ -10,8 +10,8 @@
'use strict';
+import type {GestureResponderEvent} from 'react-native';
import type {ViewStyleProp} from 'react-native/Libraries/StyleSheet/StyleSheet';
-import type {GestureResponderEvent} from 'react-native/Libraries/Types/CoreEventTypes';
import {RNTesterThemeContext} from './RNTesterTheme';
import * as React from 'react';
diff --git a/packages/@react-native/tester/js/components/RNTesterButton.js b/packages/@react-native/tester/js/components/RNTesterButton.js
index f63d76133b4..2ae13b5a8ff 100644
--- a/packages/@react-native/tester/js/components/RNTesterButton.js
+++ b/packages/@react-native/tester/js/components/RNTesterButton.js
@@ -10,7 +10,7 @@
'use strict';
-import type {GestureResponderEvent} from 'react-native/Libraries/Types/CoreEventTypes';
+import type {GestureResponderEvent} from 'react-native';
import React from 'react';
import {Pressable, StyleSheet, Text} from 'react-native';
diff --git a/packages/@react-native/tester/js/components/RNTesterText.js b/packages/@react-native/tester/js/components/RNTesterText.js
index 82cc99f5427..51bd4f4ea05 100644
--- a/packages/@react-native/tester/js/components/RNTesterText.js
+++ b/packages/@react-native/tester/js/components/RNTesterText.js
@@ -8,7 +8,7 @@
* @format
*/
-import type {TextProps} from 'react-native/Libraries/Text/TextProps';
+import type {TextProps} from 'react-native';
import {RNTesterThemeContext} from './RNTesterTheme';
import React, {useContext, useMemo} from 'react';
diff --git a/packages/@react-native/tester/js/components/RNTesterTheme.js b/packages/@react-native/tester/js/components/RNTesterTheme.js
index 9c2a77ca894..8cc4cf6f0a7 100644
--- a/packages/@react-native/tester/js/components/RNTesterTheme.js
+++ b/packages/@react-native/tester/js/components/RNTesterTheme.js
@@ -8,8 +8,7 @@
* @format
*/
-import type {ImageSource} from 'react-native/Libraries/Image/ImageSource';
-import type {ColorValue} from 'react-native/Libraries/StyleSheet/StyleSheet';
+import type {ColorValue, ImageSource} from 'react-native';
import * as React from 'react';
import {Appearance} from 'react-native';
diff --git a/packages/@react-native/tester/js/examples/Accessibility/AccessibilityExample.js b/packages/@react-native/tester/js/examples/Accessibility/AccessibilityExample.js
index 6c251bff161..d7c4b9e89de 100644
--- a/packages/@react-native/tester/js/examples/Accessibility/AccessibilityExample.js
+++ b/packages/@react-native/tester/js/examples/Accessibility/AccessibilityExample.js
@@ -10,8 +10,7 @@
'use strict';
-import type {GestureResponderEvent} from 'react-native/Libraries/Types/CoreEventTypes';
-import type {EventSubscription} from 'react-native/Libraries/vendor/emitter/EventEmitter';
+import type {EventSubscription, GestureResponderEvent} from 'react-native';
import RNTesterBlock from '../../components/RNTesterBlock';
import RNTesterText from '../../components/RNTesterText';
diff --git a/packages/@react-native/tester/js/examples/AnimatedGratuitousApp/AnExChained.js b/packages/@react-native/tester/js/examples/AnimatedGratuitousApp/AnExChained.js
index a0555bb872a..e49026d3d34 100644
--- a/packages/@react-native/tester/js/examples/AnimatedGratuitousApp/AnExChained.js
+++ b/packages/@react-native/tester/js/examples/AnimatedGratuitousApp/AnExChained.js
@@ -10,8 +10,10 @@
'use strict';
-import type {PanResponderGestureState} from 'react-native/Libraries/Interaction/PanResponder';
-import type {GestureResponderEvent} from 'react-native/Libraries/Types/CoreEventTypes';
+import type {
+ GestureResponderEvent,
+ PanResponderGestureState,
+} from 'react-native';
import React from 'react';
import {Animated, PanResponder, StyleSheet, View} from 'react-native';
diff --git a/packages/@react-native/tester/js/examples/Appearance/AppearanceExample.js b/packages/@react-native/tester/js/examples/Appearance/AppearanceExample.js
index 3b5f269ff43..daff14cee3a 100644
--- a/packages/@react-native/tester/js/examples/Appearance/AppearanceExample.js
+++ b/packages/@react-native/tester/js/examples/Appearance/AppearanceExample.js
@@ -8,7 +8,7 @@
* @flow
*/
-import type {ColorSchemeName} from 'react-native/Libraries/Utilities/NativeAppearance';
+import type {ColorSchemeName} from 'react-native';
import RNTesterText from '../../components/RNTesterText';
import {RNTesterThemeContext, themes} from '../../components/RNTesterTheme';
diff --git a/packages/@react-native/tester/js/examples/Experimental/Compatibility/ManyPointersPropertiesExample.js b/packages/@react-native/tester/js/examples/Experimental/Compatibility/ManyPointersPropertiesExample.js
index 469410c890f..c11dc11cdc4 100644
--- a/packages/@react-native/tester/js/examples/Experimental/Compatibility/ManyPointersPropertiesExample.js
+++ b/packages/@react-native/tester/js/examples/Experimental/Compatibility/ManyPointersPropertiesExample.js
@@ -9,7 +9,7 @@
*/
import type {RNTesterModuleExample} from '../../../types/RNTesterTypes';
-import type {PointerEvent} from 'react-native/Libraries/Types/CoreEventTypes';
+import type {PointerEvent} from 'react-native';
import * as React from 'react';
import {StyleSheet, Text, View} from 'react-native';
diff --git a/packages/@react-native/tester/js/examples/Experimental/PlatformTest/RNTesterPlatformTestEventRecorder.js b/packages/@react-native/tester/js/examples/Experimental/PlatformTest/RNTesterPlatformTestEventRecorder.js
index 1dcedbd4d23..3cc360bafac 100644
--- a/packages/@react-native/tester/js/examples/Experimental/PlatformTest/RNTesterPlatformTestEventRecorder.js
+++ b/packages/@react-native/tester/js/examples/Experimental/PlatformTest/RNTesterPlatformTestEventRecorder.js
@@ -8,7 +8,7 @@
* @flow
*/
-import type {ViewProps} from 'react-native/Libraries/Components/View/ViewPropTypes';
+import type {ViewProps} from 'react-native';
import {useMemo} from 'react';
diff --git a/packages/@react-native/tester/js/examples/Experimental/PlatformTest/RNTesterPlatformTestResultView.js b/packages/@react-native/tester/js/examples/Experimental/PlatformTest/RNTesterPlatformTestResultView.js
index 1b220c50258..4458a2c63a5 100644
--- a/packages/@react-native/tester/js/examples/Experimental/PlatformTest/RNTesterPlatformTestResultView.js
+++ b/packages/@react-native/tester/js/examples/Experimental/PlatformTest/RNTesterPlatformTestResultView.js
@@ -12,11 +12,8 @@ import type {
PlatformTestResult,
PlatformTestResultStatus,
} from './RNTesterPlatformTestTypes';
-import type {ListRenderItemInfo} from 'react-native/Libraries/Lists/VirtualizedList';
-import type {
- TextStyle,
- ViewStyleProp,
-} from 'react-native/Libraries/StyleSheet/StyleSheet';
+import type {ListRenderItemInfo, TextStyle} from 'react-native';
+import type {ViewStyleProp} from 'react-native/Libraries/StyleSheet/StyleSheet';
import RNTesterPlatformTestMinimizedResultView from './RNTesterPlatformTestMinimizedResultView';
import RNTesterPlatformTestResultsText from './RNTesterPlatformTestResultsText';
diff --git a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventAccessibility.js b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventAccessibility.js
index 9335ce8cfe0..b407a5a9122 100644
--- a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventAccessibility.js
+++ b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventAccessibility.js
@@ -9,7 +9,7 @@
*/
import type {EventOccurrence} from './PointerEventSupport';
-import type {PointerEvent} from 'react-native/Libraries/Types/CoreEventTypes';
+import type {PointerEvent} from 'react-native';
import {EventTracker} from './PointerEventSupport';
import * as React from 'react';
diff --git a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventAttributesHoverablePointers.js b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventAttributesHoverablePointers.js
index 9a1d8d0513c..23de1e43909 100644
--- a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventAttributesHoverablePointers.js
+++ b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventAttributesHoverablePointers.js
@@ -9,11 +9,7 @@
*/
import type {PlatformTestComponentBaseProps} from '../PlatformTest/RNTesterPlatformTestTypes';
-import type {HostInstance} from 'react-native';
-import type {
- LayoutRectangle,
- PointerEvent,
-} from 'react-native/Libraries/Types/CoreEventTypes';
+import type {HostInstance, LayoutRectangle, PointerEvent} from 'react-native';
import RNTesterPlatformTest from '../PlatformTest/RNTesterPlatformTest';
import {check_PointerEvent, useTestEventHandler} from './PointerEventSupport';
diff --git a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventAttributesNoHoverPointers.js b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventAttributesNoHoverPointers.js
index e55a27b8430..58efb42a041 100644
--- a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventAttributesNoHoverPointers.js
+++ b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventAttributesNoHoverPointers.js
@@ -9,11 +9,7 @@
*/
import type {PlatformTestComponentBaseProps} from '../PlatformTest/RNTesterPlatformTestTypes';
-import type {HostInstance} from 'react-native';
-import type {
- LayoutRectangle,
- PointerEvent,
-} from 'react-native/Libraries/Types/CoreEventTypes';
+import type {HostInstance, LayoutRectangle, PointerEvent} from 'react-native';
import RNTesterPlatformTest from '../PlatformTest/RNTesterPlatformTest';
import {check_PointerEvent, useTestEventHandler} from './PointerEventSupport';
diff --git a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventCaptureMouse.js b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventCaptureMouse.js
index d5db79dc457..920f2884263 100644
--- a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventCaptureMouse.js
+++ b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventCaptureMouse.js
@@ -10,7 +10,7 @@
import type {PlatformTestComponentBaseProps} from '../PlatformTest/RNTesterPlatformTestTypes';
import type {ElementRef} from 'react';
-import type {PointerEvent} from 'react-native/Libraries/Types/CoreEventTypes';
+import type {PointerEvent} from 'react-native';
import RNTesterPlatformTest from '../PlatformTest/RNTesterPlatformTest';
import * as React from 'react';
diff --git a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventClickTouch.js b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventClickTouch.js
index 627d913990e..de7765ce7d7 100644
--- a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventClickTouch.js
+++ b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventClickTouch.js
@@ -10,7 +10,7 @@
import type {PlatformTestComponentBaseProps} from '../PlatformTest/RNTesterPlatformTestTypes';
import type {PlatformTestContext} from '../PlatformTest/RNTesterPlatformTestTypes';
-import type {PointerEvent} from 'react-native/Libraries/Types/CoreEventTypes';
+import type {PointerEvent} from 'react-native';
import RNTesterPlatformTest from '../PlatformTest/RNTesterPlatformTest';
import {check_PointerEvent} from './PointerEventSupport';
diff --git a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventClickTouchHierarchyPointerEvents.js b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventClickTouchHierarchyPointerEvents.js
index 7db11831df7..b1433c8fcea 100644
--- a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventClickTouchHierarchyPointerEvents.js
+++ b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventClickTouchHierarchyPointerEvents.js
@@ -10,7 +10,7 @@
import type {PlatformTestComponentBaseProps} from '../PlatformTest/RNTesterPlatformTestTypes';
import type {EventOccurrence, EventTrackerProps} from './PointerEventSupport';
-import type {ViewProps} from 'react-native/Libraries/Components/View/ViewPropTypes';
+import type {ViewProps} from 'react-native';
import RNTesterPlatformTest from '../PlatformTest/RNTesterPlatformTest';
import {EventTracker, mkEvent} from './PointerEventSupport';
diff --git a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventLayoutChangeShouldFirePointerOver.js b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventLayoutChangeShouldFirePointerOver.js
index 27c9567e93e..398cc3dcf44 100644
--- a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventLayoutChangeShouldFirePointerOver.js
+++ b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventLayoutChangeShouldFirePointerOver.js
@@ -9,7 +9,7 @@
*/
import type {PlatformTestComponentBaseProps} from '../PlatformTest/RNTesterPlatformTestTypes';
-import type {PointerEvent} from 'react-native/Libraries/Types/CoreEventTypes';
+import type {PointerEvent} from 'react-native';
import RNTesterPlatformTest from '../PlatformTest/RNTesterPlatformTest';
import * as React from 'react';
diff --git a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventPointerCancelTouch.js b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventPointerCancelTouch.js
index 36cca7e7ce6..8262ab702d2 100644
--- a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventPointerCancelTouch.js
+++ b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventPointerCancelTouch.js
@@ -9,7 +9,7 @@
*/
import type {PlatformTestComponentBaseProps} from '../PlatformTest/RNTesterPlatformTestTypes';
-import type {PointerEvent} from 'react-native/Libraries/Types/CoreEventTypes';
+import type {PointerEvent} from 'react-native';
import RNTesterPlatformTest from '../PlatformTest/RNTesterPlatformTest';
import {check_PointerEvent} from './PointerEventSupport';
diff --git a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventPointerMove.js b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventPointerMove.js
index 49fbc258439..fad08cd6954 100644
--- a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventPointerMove.js
+++ b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventPointerMove.js
@@ -11,7 +11,7 @@
// adapted from https://github.com/web-platform-tests/wpt/blob/master/pointerevents/pointerevent_pointermove.html
import type {PlatformTestComponentBaseProps} from '../PlatformTest/RNTesterPlatformTestTypes';
-import type {PointerEvent} from 'react-native/Libraries/Types/CoreEventTypes';
+import type {PointerEvent} from 'react-native';
import RNTesterPlatformTest from '../PlatformTest/RNTesterPlatformTest';
import {useTestEventHandler} from './PointerEventSupport';
diff --git a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventPointerMoveEventOrder.js b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventPointerMoveEventOrder.js
index d5267dfea7b..232d145beee 100644
--- a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventPointerMoveEventOrder.js
+++ b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventPointerMoveEventOrder.js
@@ -9,7 +9,7 @@
*/
import type {PlatformTestComponentBaseProps} from '../PlatformTest/RNTesterPlatformTestTypes';
-import type {PointerEvent} from 'react-native/Libraries/Types/CoreEventTypes';
+import type {PointerEvent} from 'react-native';
import RNTesterPlatformTest from '../PlatformTest/RNTesterPlatformTest';
import RNTesterPlatformTestEventRecorder from '../PlatformTest/RNTesterPlatformTestEventRecorder';
diff --git a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventPointerMoveOnChordedMouseButton.js b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventPointerMoveOnChordedMouseButton.js
index 7956a7d16fb..bba7ccc9748 100644
--- a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventPointerMoveOnChordedMouseButton.js
+++ b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventPointerMoveOnChordedMouseButton.js
@@ -9,7 +9,7 @@
*/
import type {PlatformTestComponentBaseProps} from '../PlatformTest/RNTesterPlatformTestTypes';
-import type {PointerEvent} from 'react-native/Libraries/Types/CoreEventTypes';
+import type {PointerEvent} from 'react-native';
import RNTesterPlatformTest from '../PlatformTest/RNTesterPlatformTest';
import * as React from 'react';
diff --git a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventPointerOverOut.js b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventPointerOverOut.js
index 9a77b8fd117..ce5de978815 100644
--- a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventPointerOverOut.js
+++ b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventPointerOverOut.js
@@ -9,8 +9,7 @@
*/
import type {PlatformTestComponentBaseProps} from '../PlatformTest/RNTesterPlatformTestTypes';
-import type {HostInstance} from 'react-native';
-import type {PointerEvent} from 'react-native/Libraries/Types/CoreEventTypes';
+import type {HostInstance, PointerEvent} from 'react-native';
import RNTesterPlatformTest from '../PlatformTest/RNTesterPlatformTest';
import * as React from 'react';
diff --git a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventPrimaryTouchPointer.js b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventPrimaryTouchPointer.js
index 24dff3c6baa..a9be730348d 100644
--- a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventPrimaryTouchPointer.js
+++ b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventPrimaryTouchPointer.js
@@ -9,7 +9,7 @@
*/
import type {PlatformTestComponentBaseProps} from '../PlatformTest/RNTesterPlatformTestTypes';
-import type {PointerEvent} from 'react-native/Libraries/Types/CoreEventTypes';
+import type {PointerEvent} from 'react-native';
import RNTesterPlatformTest from '../PlatformTest/RNTesterPlatformTest';
import {useTestEventHandler} from './PointerEventSupport';
diff --git a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventSupport.js b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventSupport.js
index d65b88ba21c..260c65ea342 100644
--- a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventSupport.js
+++ b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventSupport.js
@@ -9,8 +9,7 @@
*/
import type {PlatformTestHarness} from '../PlatformTest/RNTesterPlatformTestTypes';
-import type {ViewProps} from 'react-native/Libraries/Components/View/ViewPropTypes';
-import type {PointerEvent} from 'react-native/Libraries/Types/CoreEventTypes';
+import type {PointerEvent, ViewProps} from 'react-native';
import * as React from 'react';
import {useMemo} from 'react';
diff --git a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventsEventfulView.js b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventsEventfulView.js
index 4f8ede7591f..27e75cedc01 100644
--- a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventsEventfulView.js
+++ b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventsEventfulView.js
@@ -8,8 +8,7 @@
* @flow
*/
-import type {ViewProps} from 'react-native/Libraries/Components/View/ViewPropTypes';
-import type {PointerEvent} from 'react-native/Libraries/Types/CoreEventTypes';
+import type {PointerEvent, ViewProps} from 'react-native';
import * as React from 'react';
import {StyleSheet, Text, View} from 'react-native';
diff --git a/packages/@react-native/tester/js/examples/FlatList/BaseFlatListExample.js b/packages/@react-native/tester/js/examples/FlatList/BaseFlatListExample.js
index 0e75103d36a..a325b8a1f82 100644
--- a/packages/@react-native/tester/js/examples/FlatList/BaseFlatListExample.js
+++ b/packages/@react-native/tester/js/examples/FlatList/BaseFlatListExample.js
@@ -8,7 +8,7 @@
* @format
*/
-import type {ListRenderItemInfo} from 'react-native/Libraries/Lists/VirtualizedList';
+import type {ListRenderItemInfo} from 'react-native';
import * as React from 'react';
import {
diff --git a/packages/@react-native/tester/js/examples/FlatList/FlatList-basic.js b/packages/@react-native/tester/js/examples/FlatList/FlatList-basic.js
index 37ec319a7f9..2b23cb29e4a 100644
--- a/packages/@react-native/tester/js/examples/FlatList/FlatList-basic.js
+++ b/packages/@react-native/tester/js/examples/FlatList/FlatList-basic.js
@@ -12,8 +12,7 @@
import type {Item} from '../../components/ListExampleShared';
import type {RNTesterModuleExample} from '../../types/RNTesterTypes';
-import type FlatList from 'react-native/Libraries/Lists/FlatList';
-import type {ListRenderItemInfo} from 'react-native/Libraries/Lists/VirtualizedList';
+import type {FlatList, ListRenderItemInfo} from 'react-native';
import {
FooterComponent,
diff --git a/packages/@react-native/tester/js/examples/FlatList/FlatList-multiColumn.js b/packages/@react-native/tester/js/examples/FlatList/FlatList-multiColumn.js
index 53ec5939241..45cdacbb035 100644
--- a/packages/@react-native/tester/js/examples/FlatList/FlatList-multiColumn.js
+++ b/packages/@react-native/tester/js/examples/FlatList/FlatList-multiColumn.js
@@ -12,7 +12,7 @@
import type {Item} from '../../components/ListExampleShared';
import type {RNTesterModuleExample} from '../../types/RNTesterTypes';
-import type {ListRenderItemInfo} from 'react-native/Libraries/Lists/VirtualizedList';
+import type {ListRenderItemInfo} from 'react-native';
import {
FooterComponent,
diff --git a/packages/@react-native/tester/js/examples/FlatList/FlatList-nested.js b/packages/@react-native/tester/js/examples/FlatList/FlatList-nested.js
index 4386b4b7202..9d2c018366c 100644
--- a/packages/@react-native/tester/js/examples/FlatList/FlatList-nested.js
+++ b/packages/@react-native/tester/js/examples/FlatList/FlatList-nested.js
@@ -11,8 +11,8 @@
'use strict';
import type {RNTesterModuleExample} from '../../types/RNTesterTypes';
+import type {ListRenderItemInfo} from 'react-native';
import type {ViewToken} from 'react-native/Libraries/Lists/ViewabilityHelper';
-import type {ListRenderItemInfo} from 'react-native/Libraries/Lists/VirtualizedList';
import RNTesterPage from '../../components/RNTesterPage';
import RNTesterText from '../../components/RNTesterText';
diff --git a/packages/@react-native/tester/js/examples/FlatList/FlatList-stickyHeaders.js b/packages/@react-native/tester/js/examples/FlatList/FlatList-stickyHeaders.js
index b6bace9f658..0165e382a62 100644
--- a/packages/@react-native/tester/js/examples/FlatList/FlatList-stickyHeaders.js
+++ b/packages/@react-native/tester/js/examples/FlatList/FlatList-stickyHeaders.js
@@ -9,7 +9,7 @@
*/
import type {RNTesterModuleExample} from '../../types/RNTesterTypes';
-import type {ListRenderItemInfo} from 'react-native/Libraries/Lists/VirtualizedList';
+import type {ListRenderItemInfo} from 'react-native';
import * as React from 'react';
import {FlatList, StyleSheet, Text, View} from 'react-native';
diff --git a/packages/@react-native/tester/js/examples/Image/ImageExample.js b/packages/@react-native/tester/js/examples/Image/ImageExample.js
index 57d687a6b02..4a4b01294be 100644
--- a/packages/@react-native/tester/js/examples/Image/ImageExample.js
+++ b/packages/@react-native/tester/js/examples/Image/ImageExample.js
@@ -11,15 +11,13 @@
'use strict';
import type {RNTesterModuleExample} from '../../types/RNTesterTypes';
-import type {ImageProps} from 'react-native/Libraries/Image/ImageProps';
-import type {LayoutChangeEvent} from 'react-native/Libraries/Types/CoreEventTypes';
+import type {ImageProps, LayoutChangeEvent} from 'react-native';
import RNTesterButton from '../../components/RNTesterButton';
import RNTesterText from '../../components/RNTesterText';
import ImageCapInsetsExample from './ImageCapInsetsExample';
import React from 'react';
import {Image, ImageBackground, StyleSheet, Text, View} from 'react-native';
-import * as ReactNativeFeatureFlags from 'react-native/src/private/featureflags/ReactNativeFeatureFlags';
const IMAGE1 =
'https://www.facebook.com/assets/fb_lite_messaging/E2EE-settings@3x.png';
diff --git a/packages/@react-native/tester/js/examples/IntersectionObserver/IntersectionObserverBenchmark.js b/packages/@react-native/tester/js/examples/IntersectionObserver/IntersectionObserverBenchmark.js
deleted file mode 100644
index 3ab6a87d84d..00000000000
--- a/packages/@react-native/tester/js/examples/IntersectionObserver/IntersectionObserverBenchmark.js
+++ /dev/null
@@ -1,130 +0,0 @@
-/**
- * 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.
- *
- * @format
- * @flow strict-local
- */
-
-import type IntersectionObserverType from 'react-native/src/private/webapis/intersectionobserver/IntersectionObserver';
-
-import {RNTesterThemeContext} from '../../components/RNTesterTheme';
-import * as React from 'react';
-import {
- type ElementRef,
- useContext,
- useLayoutEffect,
- useRef,
- useState,
-} from 'react';
-import {Button, ScrollView, StyleSheet, Text, View} from 'react-native';
-
-declare var IntersectionObserver: Class;
-
-export const name = 'IntersectionObserver Benchmark';
-export const title = name;
-export const description =
- 'Example of using IntersectionObserver to observe a large amount of UI elements';
-
-export function render(): React.Node {
- return ;
-}
-
-const ROWS = 100;
-const COLUMNS = 5;
-
-function IntersectionObserverBenchark(): React.Node {
- const [isObserving, setObserving] = useState(false);
-
- return (
- <>
-
-
-
- {Array(ROWS)
- .fill(null)
- .map((_, row) => (
-
- {Array(COLUMNS)
- .fill(null)
- .map((_2, column) => (
-
- ))}
-
- ))}
-
- >
- );
-}
-
-function Item({index, observe}: {index: number, observe: boolean}): React.Node {
- const theme = useContext(RNTesterThemeContext);
- const ref = useRef>();
-
- useLayoutEffect(() => {
- const element = ref.current;
-
- if (!observe || !element) {
- return;
- }
-
- const observer = new IntersectionObserver(
- entries => {
- // You can inspect the actual entries here.
- // We don't log them by default to avoid the logs themselves to degrade
- // performance.
- },
- {
- threshold: [0, 1],
- },
- );
-
- // $FlowExpectedError
- observer.observe(element);
-
- return () => {
- observer.disconnect();
- };
- }, [observe]);
-
- return (
-
-
- {index + 1}
-
-
- );
-}
-
-const styles = StyleSheet.create({
- buttonContainer: {
- padding: 10,
- },
- row: {
- flexDirection: 'row',
- },
- item: {
- flex: 1,
- padding: 12,
- margin: 5,
- },
- itemText: {
- fontSize: 22,
- textAlign: 'center',
- },
-});
diff --git a/packages/@react-native/tester/js/examples/IntersectionObserver/IntersectionObserverIndex.js b/packages/@react-native/tester/js/examples/IntersectionObserver/IntersectionObserverIndex.js
deleted file mode 100644
index 9311a5801b1..00000000000
--- a/packages/@react-native/tester/js/examples/IntersectionObserver/IntersectionObserverIndex.js
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * 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.
- *
- * @flow strict-local
- * @format
- */
-
-import * as IntersectionObserverBenchmark from './IntersectionObserverBenchmark';
-import * as IntersectionObserverMDNExample from './IntersectionObserverMDNExample';
-import * as IntersectionObserverRootThreshold from './IntersectionObserverRootThreshold';
-
-export const framework = 'React';
-export const title = 'IntersectionObserver';
-export const category = 'UI';
-export const documentationURL =
- 'https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API';
-export const description =
- 'API to detect paint times for elements and changes in their intersections with other elements.';
-export const showIndividualExamples = true;
-export const examples = [
- IntersectionObserverMDNExample,
- IntersectionObserverBenchmark,
- IntersectionObserverRootThreshold,
-];
diff --git a/packages/@react-native/tester/js/examples/IntersectionObserver/IntersectionObserverMDNExample.js b/packages/@react-native/tester/js/examples/IntersectionObserver/IntersectionObserverMDNExample.js
deleted file mode 100644
index f7d92cc544b..00000000000
--- a/packages/@react-native/tester/js/examples/IntersectionObserver/IntersectionObserverMDNExample.js
+++ /dev/null
@@ -1,181 +0,0 @@
-/**
- * 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.
- *
- * @format
- * @flow strict-local
- */
-
-import type IntersectionObserverType from 'react-native/src/private/webapis/intersectionobserver/IntersectionObserver';
-
-import {RNTesterThemeContext} from '../../components/RNTesterTheme';
-import * as React from 'react';
-import {
- type ElementRef,
- useContext,
- useLayoutEffect,
- useRef,
- useState,
-} from 'react';
-import {Button, ScrollView, StyleSheet, Text, View} from 'react-native';
-
-declare var IntersectionObserver: Class;
-
-export const name = 'IntersectionObserver MDN Example';
-export const title = name;
-export const description =
- 'Copy of the example in MDN about IntersectionObserver with different thresholds.';
-
-export function render(): React.Node {
- return ;
-}
-
-/**
- * Similar to the example in MDN: https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API
- */
-function IntersectionObserverMDNExample(): React.Node {
- const theme = useContext(RNTesterThemeContext);
- const [showMargin, setShowMargin] = useState(true);
-
- return (
-
-
- );
-}
-
-function ListItem(props: {
- position: number,
- thresholds: Array,
- initialValue?: number,
-}): React.Node {
- const itemRef = useRef>(null);
- const intersectionRatioRef = useRef(0);
- const [intersectionRatio, setIntersectionRatio] = useState(
- props.initialValue ?? 0,
- );
-
- useLayoutEffect(() => {
- const itemNode = itemRef.current;
- if (itemNode == null) {
- return;
- }
-
- const intersectionObserver = new IntersectionObserver(
- entries => {
- entries.forEach(entry => {
- if (
- intersectionRatioRef.current === 0 &&
- entry.intersectionRatio > 0
- ) {
- console.log(
- `Card #${props.position} switched to intersecting (according to thresholds)`,
- );
- } else if (
- intersectionRatioRef.current !== 0 &&
- entry.intersectionRatio === 0
- ) {
- console.log(
- `Card #${props.position} switched to NOT intersecting (according to thresholds)`,
- );
- }
- intersectionRatioRef.current = entry.intersectionRatio;
- setIntersectionRatio(entry.intersectionRatio);
- });
- },
- {threshold: props.thresholds},
- );
-
- // $FlowFixMe[incompatible-call]
- intersectionObserver.observe(itemNode);
-
- return () => {
- intersectionObserver.disconnect();
- };
- }, [props.position, props.thresholds]);
-
- return (
-
-
-
-
-
-
- );
-}
-
-function IntersectionRatioIndicator(props: {
- value: number,
- style: {top?: number, bottom?: number, left?: number, right?: number},
-}): React.Node {
- return (
-
- {`${Math.floor(props.value * 100)}%`}
-
- );
-}
-
-function buildThresholdList(numSteps: number): Array {
- const thresholds = [];
-
- for (let i = 1.0; i <= numSteps; i++) {
- const ratio = i / numSteps;
- thresholds.push(ratio);
- }
-
- thresholds.push(0);
- return thresholds;
-}
-
-const styles = StyleSheet.create({
- scrollDownText: {
- textAlign: 'center',
- fontSize: 20,
- marginTop: 20,
- },
- margin: {
- marginBottom: 700,
- },
- item: {
- backgroundColor: 'rgb(245, 170, 140)',
- borderColor: 'rgb(201, 126, 17)',
- borderWidth: 2,
- height: 500,
- margin: 6,
- },
- intersectionRatioIndicator: {
- position: 'absolute',
- padding: 5,
- backgroundColor: 'white',
- opacity: 0.7,
- borderWidth: 1,
- borderColor: 'black',
- },
-});
diff --git a/packages/@react-native/tester/js/examples/IntersectionObserver/IntersectionObserverRootThreshold.js b/packages/@react-native/tester/js/examples/IntersectionObserver/IntersectionObserverRootThreshold.js
deleted file mode 100644
index 3b0cd19d7f8..00000000000
--- a/packages/@react-native/tester/js/examples/IntersectionObserver/IntersectionObserverRootThreshold.js
+++ /dev/null
@@ -1,224 +0,0 @@
-/**
- * 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.
- *
- * @format
- * @flow strict-local
- */
-
-import type {ViewStyleProp} from 'react-native/Libraries/StyleSheet/StyleSheet';
-import type IntersectionObserverType from 'react-native/src/private/webapis/intersectionobserver/IntersectionObserver';
-
-import {RNTesterThemeContext} from '../../components/RNTesterTheme';
-import * as React from 'react';
-import {
- type ElementRef,
- useContext,
- useLayoutEffect,
- useRef,
- useState,
-} from 'react';
-import {Button, ScrollView, StyleSheet, Text, View} from 'react-native';
-
-declare const IntersectionObserver: Class;
-
-export const name = 'IntersectionObserver Root Threshold';
-export const title = name;
-export const description =
- 'Examples of setting threshold and rnRootThreshold. Views will change background color if they meet their threshold.';
-
-export function render(): React.Node {
- return ;
-}
-
-/**
- * Similar to the example in MDN: https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API
- */
-function IntersectionObserverRootThreshold(): React.Node {
- const theme = useContext(RNTesterThemeContext);
- const [showMargin, setShowMargin] = useState(true);
-
- return (
-
-
- );
-}
-
-function ListItem(props: {
- position: number,
- rootThreshold: number,
- threshold: number,
- initialValue?: number,
- description: string,
- style?: ?ViewStyleProp,
-}): React.Node {
- const itemRef = useRef>(null);
- const [intersectionRatio, setIntersectionRatio] = useState(
- props.initialValue ?? 0,
- );
- const [intersectionRootRatio, setIntersectionRootRatio] = useState(
- props.initialValue ?? 0,
- );
-
- useLayoutEffect(() => {
- const itemNode = itemRef.current;
- if (itemNode == null) {
- return;
- }
-
- const intersectionObserver = new IntersectionObserver(
- entries => {
- entries.forEach(entry => {
- setIntersectionRatio(entry.intersectionRatio);
- // $FlowFixMe[prop-missing] - React Native specific entry property
- setIntersectionRootRatio(entry.rnRootIntersectionRatio);
- });
- },
- {threshold: props.threshold, rnRootThreshold: props.rootThreshold},
- );
-
- // $FlowFixMe[incompatible-call]
- intersectionObserver.observe(itemNode);
-
- return () => {
- intersectionObserver.disconnect();
- };
- }, [props.position, props.threshold, props.rootThreshold]);
-
- return (
- = props.threshold ? styles.intersecting : null,
- intersectionRootRatio >= props.rootThreshold
- ? styles.rootIntersecting
- : null,
- props.style,
- ]}
- ref={itemRef}>
- {props.description}
- rnRootThreshold: {props.rootThreshold}
- threshold: {props.threshold}
-
-
-
-
-
-
- );
-}
-
-function IntersectionRatioIndicator(props: {
- intersectionRatio: number,
- intersectionRootRatio: number,
- style: {top?: number, bottom?: number, left?: number, right?: number},
-}): React.Node {
- return (
-
-
- target ratio: {`${Math.floor(props.intersectionRatio * 100)}%`}
-
-
- root ratio: {`${Math.floor(props.intersectionRootRatio * 100)}%`}
-
-
- );
-}
-
-const styles = StyleSheet.create({
- scrollDownText: {
- textAlign: 'center',
- fontSize: 20,
- marginTop: 20,
- },
- intersecting: {
- backgroundColor: 'rgb(226, 237, 166)',
- },
- rootIntersecting: {
- backgroundColor: 'rgb(237, 90, 45)',
- },
- margin: {
- marginBottom: 700,
- },
- item: {
- backgroundColor: 'rgb(186, 186, 186)',
- borderColor: 'rgb(201, 126, 17)',
- borderWidth: 2,
- height: 500,
- margin: 6,
- alignItems: 'center',
- justifyContent: 'center',
- },
- intersectionRatioIndicator: {
- position: 'absolute',
- padding: 5,
- backgroundColor: 'white',
- opacity: 0.7,
- borderWidth: 1,
- borderColor: 'black',
- },
- description: {
- margin: 20,
- fontSize: 16,
- },
-});
diff --git a/packages/@react-native/tester/js/examples/Keyboard/KeyboardExample.js b/packages/@react-native/tester/js/examples/Keyboard/KeyboardExample.js
index 90ffe164ed6..0ec09885b6e 100644
--- a/packages/@react-native/tester/js/examples/Keyboard/KeyboardExample.js
+++ b/packages/@react-native/tester/js/examples/Keyboard/KeyboardExample.js
@@ -14,7 +14,7 @@ import type {
RNTesterModule,
RNTesterModuleExample,
} from '../../types/RNTesterTypes';
-import type {KeyboardEvent} from 'react-native/Libraries/Components/Keyboard/Keyboard';
+import type {KeyboardEvent} from 'react-native';
import RNTesterText from '../../components/RNTesterText';
import * as React from 'react';
diff --git a/packages/@react-native/tester/js/examples/Modal/ModalPresentation.js b/packages/@react-native/tester/js/examples/Modal/ModalPresentation.js
index 63093f86fdc..38f697a684a 100644
--- a/packages/@react-native/tester/js/examples/Modal/ModalPresentation.js
+++ b/packages/@react-native/tester/js/examples/Modal/ModalPresentation.js
@@ -11,7 +11,7 @@
/* eslint-disable no-alert */
import type {RNTesterModuleExample} from '../../types/RNTesterTypes';
-import type {ModalProps} from 'react-native/Libraries/Modal/Modal';
+import type {ModalProps} from 'react-native';
import RNTesterButton from '../../components/RNTesterButton';
import RNTesterText from '../../components/RNTesterText';
diff --git a/packages/@react-native/tester/js/examples/MutationObserver/MutationObserverExample.js b/packages/@react-native/tester/js/examples/MutationObserver/MutationObserverExample.js
deleted file mode 100644
index 0a22a03ccfb..00000000000
--- a/packages/@react-native/tester/js/examples/MutationObserver/MutationObserverExample.js
+++ /dev/null
@@ -1,205 +0,0 @@
-/**
- * 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.
- *
- * @format
- * @flow strict-local
- */
-
-import type ReadOnlyNode from 'react-native/src/private/webapis/dom/nodes/ReadOnlyNode';
-import type NodeList from 'react-native/src/private/webapis/dom/oldstylecollections/NodeList';
-
-import {RNTesterThemeContext} from '../../components/RNTesterTheme';
-import * as React from 'react';
-import {type ElementRef, useContext, useEffect, useRef, useState} from 'react';
-import {Pressable, ScrollView, StyleSheet, Text, View} from 'react-native';
-import ReadOnlyElement from 'react-native/src/private/webapis/dom/nodes/ReadOnlyElement';
-import MutationObserver from 'react-native/src/private/webapis/mutationobserver/MutationObserver';
-
-export const name = 'MutationObserver Example';
-export const title = name;
-export const description =
- '- Tap on elements to append a child.\n- Long tap on elements to remove them.';
-
-export function render(): React.Node {
- return ;
-}
-
-const nextIdByPrefix: Map = new Map();
-function generateId(prefix: string): string {
- let nextId = nextIdByPrefix.get(prefix);
- if (nextId == null) {
- nextId = 1;
- }
- nextIdByPrefix.set(prefix, nextId + 1);
- return prefix + nextId;
-}
-
-const rootId = generateId('example-item-');
-
-function useTemporaryValue(duration: number = 2000): [?T, (?T) => void] {
- const [value, setValue] = useState(null);
-
- useEffect(() => {
- const timeoutId = setTimeout(() => {
- setValue(null);
- }, duration);
- return () => clearTimeout(timeoutId);
- // we need to set the timer every time the value changes
- }, [duration, value]);
-
- return [value, setValue];
-}
-
-function MutationObserverExample(): React.Node {
- const parentViewRef = useRef>(null);
- const [showExample, setShowExample] = useState(true);
- const theme = useContext(RNTesterThemeContext);
- const [message, setMessage] = useTemporaryValue();
-
- useEffect(() => {
- const parentNode = parentViewRef.current;
- if (!parentNode) {
- return;
- }
-
- const mutationObserver = new MutationObserver(records => {
- const messages = [];
- records.forEach(record => {
- if (record.addedNodes.length > 0) {
- console.log(
- 'MutationObserverExample: added nodes',
- nodeListToString(record.addedNodes),
- );
- messages.push(`Added nodes: ${nodeListToString(record.addedNodes)}`);
- }
- if (record.removedNodes.length > 0) {
- console.log(
- 'MutationObserverExample: removed nodes',
- nodeListToString(record.removedNodes),
- );
- messages.push(
- `Removed nodes: ${nodeListToString(record.removedNodes)}`,
- );
- }
- });
- setMessage(messages.join(',\n'));
- });
-
- // $FlowExpectedError[incompatible-call]
- mutationObserver.observe(parentNode, {
- subtree: true,
- childList: true,
- });
-
- return () => {
- console.log('MutationObserverExample: disconnecting mutation observer');
- mutationObserver.disconnect();
- nextIdByPrefix.clear();
- };
- }, [setMessage]);
-
- const exampleId = showExample ? rootId : '';
-
- return (
- <>
-
-
- {showExample ? (
- setShowExample(false)}
- />
- ) : null}
-
-
-
- {message}
-
- >
- );
-}
-
-function ExampleItem(props: {
- id: string,
- label: string,
- onRemove?: () => void,
-}): React.Node {
- const theme = useContext(RNTesterThemeContext);
- const [children, setChildren] = useState<
- $ReadOnlyArray<[string, React.Node]>,
- >([]);
-
- return (
-
- {
- props.onRemove?.();
- }}
- onPress={() => {
- const id = generateId(props.label + '-');
- setChildren(prevChildren => [
- ...prevChildren,
- [
- id,
- {
- setChildren(prevChildren2 =>
- prevChildren2.filter(pair => pair[0] !== id),
- );
- }}
- />,
- ],
- ]);
- }}>
- {props.label != null ? (
-
- {props.label}
-
- ) : null}
- {children.map(([id, child]) => child)}
-
-
- );
-}
-
-function nodeListToString(nodeList: NodeList): string {
- return [...nodeList]
- .map(
- node => (node instanceof ReadOnlyElement && node.id) || '',
- )
- .join(', ');
-}
-
-const styles = StyleSheet.create({
- parent: {
- flex: 1,
- backgroundColor: 'white',
- },
- item: {
- backgroundColor: 'rgba(0, 0, 0, 0.5)',
- flex: 1,
- gap: 16,
- minHeight: 50,
- padding: 40,
- },
- label: {
- position: 'absolute',
- top: 0,
- right: 0,
- fontSize: 10,
- },
- message: {
- padding: 10,
- },
-});
diff --git a/packages/@react-native/tester/js/examples/MutationObserver/MutationObserverIndex.js b/packages/@react-native/tester/js/examples/MutationObserver/MutationObserverIndex.js
deleted file mode 100644
index 4b619548fa3..00000000000
--- a/packages/@react-native/tester/js/examples/MutationObserver/MutationObserverIndex.js
+++ /dev/null
@@ -1,28 +0,0 @@
-/**
- * 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.
- *
- * @flow strict-local
- * @format
- */
-
-import type {RNTesterModuleExample} from '../../types/RNTesterTypes';
-
-import * as MutationObserverExample from './MutationObserverExample';
-import * as VisualCompletionExample from './VisualCompletionExample/VisualCompletionExample';
-
-export const framework = 'React';
-export const title = 'MutationObserver';
-export const category = 'UI';
-export const documentationURL =
- 'https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver';
-export const description = 'API to detect mutations in React Native nodes.';
-export const showIndividualExamples = true;
-export const examples: Array = [MutationObserverExample];
-
-// $FlowExpectedError[cannot-resolve-name]
-if (typeof IntersectionObserver !== 'undefined') {
- examples.push(VisualCompletionExample);
-}
diff --git a/packages/@react-native/tester/js/examples/MutationObserver/VisualCompletionExample/VCOverlayExample.js b/packages/@react-native/tester/js/examples/MutationObserver/VisualCompletionExample/VCOverlayExample.js
deleted file mode 100644
index 17e9c47147f..00000000000
--- a/packages/@react-native/tester/js/examples/MutationObserver/VisualCompletionExample/VCOverlayExample.js
+++ /dev/null
@@ -1,68 +0,0 @@
-/**
- * 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.
- *
- * @flow strict-local
- * @format
- */
-
-import type VCTracker, {VisualElement} from './VCTrackerExample';
-
-import * as React from 'react';
-import {useEffect, useState} from 'react';
-import {Dimensions, StyleSheet, View} from 'react-native';
-
-const OVERLAY_SCALE = 0.25;
-
-export default function VCOverlayExample(props: {
- vcTracker: VCTracker,
-}): React.Node {
- const [visualElements, setVisualElements] = useState<
- $ReadOnlyArray,
- >([]);
-
- useEffect(() => {
- setVisualElements(props.vcTracker.getVisualElements());
- props.vcTracker.onUpdateVisualElements(elements => {
- setVisualElements(elements);
- });
- }, [props.vcTracker]);
-
- return (
-
- {visualElements.map((visualElement, index) => (
-
- ))}
-
- );
-}
-
-const styles = StyleSheet.create({
- overlay: {
- position: 'absolute',
- bottom: 60,
- right: 10,
- width: OVERLAY_SCALE * Dimensions.get('window').width,
- height: OVERLAY_SCALE * Dimensions.get('window').height,
- backgroundColor: 'gray',
- opacity: 0.9,
- },
- overlayElement: {
- position: 'absolute',
- borderWidth: 1,
- borderColor: 'black',
- },
-});
diff --git a/packages/@react-native/tester/js/examples/MutationObserver/VisualCompletionExample/VCTrackerExample.js b/packages/@react-native/tester/js/examples/MutationObserver/VisualCompletionExample/VCTrackerExample.js
deleted file mode 100644
index 85171fe7a33..00000000000
--- a/packages/@react-native/tester/js/examples/MutationObserver/VisualCompletionExample/VCTrackerExample.js
+++ /dev/null
@@ -1,130 +0,0 @@
-/**
- * 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.
- *
- * @flow strict-local
- * @format
- */
-
-import type ReadOnlyNode from 'react-native/src/private/webapis/dom/nodes/ReadOnlyNode';
-import type DOMRectReadOnly from 'react-native/src/private/webapis/geometry/DOMRectReadOnly';
-
-import ReactNativeElement from 'react-native/src/private/webapis/dom/nodes/ReactNativeElement';
-import IntersectionObserver from 'react-native/src/private/webapis/intersectionobserver/IntersectionObserver';
-import MutationObserver from 'react-native/src/private/webapis/mutationobserver/MutationObserver';
-
-export type VisualElement = {
- time: number,
- rect: DOMRectReadOnly,
-};
-
-function debug(...args: $ReadOnlyArray): void {
- console.debug('VCTrackerExample', args);
-}
-
-export default class VCTracker {
- _navigationStartTime: number;
- _intersectionObserver: IntersectionObserver;
- _mutationObserver: MutationObserver;
- _registeredCallback: ($ReadOnlyArray) => void;
- _visualElements: Map = new Map();
- _pendingMutations: WeakSet = new WeakSet();
-
- constructor(navigationStartTime: number) {
- this._navigationStartTime = navigationStartTime;
-
- // This should be guaranteed to run before painting RootView in native.
- this._intersectionObserver = new IntersectionObserver(
- (entries, observer) => {
- // This will be executed after mount/paint.
- for (const entry of entries) {
- if (this._pendingMutations.has(entry.target)) {
- this._registerVisualElement(entry.target, {
- time: entry.time,
- rect: entry.boundingClientRect,
- });
- this._pendingMutations.delete(entry.target);
- this._intersectionObserver.unobserve(entry.target);
- }
- }
- },
- );
-
- this._mutationObserver = new MutationObserver((entries, observer) => {
- // This will be executed after layout effects, and before mount/paint.
- for (const entry of entries) {
- if (entry.addedNodes) {
- for (const addedNode of entry.addedNodes) {
- // To measure paint time for added nodes
- this._pendingMutations.add(addedNode);
- if (addedNode instanceof ReactNativeElement) {
- this._intersectionObserver.observe(addedNode);
- }
- }
- for (const removedNode of entry.removedNodes) {
- // To measure paint time for added nodes
- this._pendingMutations.delete(removedNode);
- if (removedNode instanceof ReactNativeElement) {
- this._unregisterVisualElement(removedNode);
- }
- }
- }
- }
- });
- }
-
- _registerVisualElement(
- target: ReadOnlyNode,
- visualElement: VisualElement,
- ): void {
- debug(
- 'registerVisualElement',
- (target instanceof ReactNativeElement && target.id) ||
- '',
- '. Painted in',
- (visualElement.time - this._navigationStartTime).toFixed(2),
- 'ms (at ',
- visualElement.time,
- '), rect:',
- visualElement.rect.toJSON(),
- );
-
- this._visualElements.set(target, visualElement);
- this._registeredCallback?.([...this._visualElements.values()]);
- }
-
- _unregisterVisualElement(target: ReadOnlyNode): void {
- this._visualElements.delete(target);
- this._registeredCallback?.([...this._visualElements.values()]);
- }
-
- onUpdateVisualElements(
- callback: ($ReadOnlyArray) => void,
- ): void {
- this._registeredCallback = callback;
- }
-
- addMutationRoot(rootNode: ReactNativeElement): void {
- debug('addMutationRoot', rootNode.id);
- // To observe new nodes added.
- this._mutationObserver.observe(rootNode, {
- subtree: true,
- childList: true,
- });
- this._pendingMutations.add(rootNode);
-
- // To measure initial paint.
- this._intersectionObserver.observe(rootNode);
- }
-
- getVisualElements(): $ReadOnlyArray {
- return [...this._visualElements.values()];
- }
-
- disconnect(): void {
- this._mutationObserver.disconnect();
- this._intersectionObserver.disconnect();
- }
-}
diff --git a/packages/@react-native/tester/js/examples/MutationObserver/VisualCompletionExample/VisualCompletionExample.js b/packages/@react-native/tester/js/examples/MutationObserver/VisualCompletionExample/VisualCompletionExample.js
deleted file mode 100644
index 5a7303070f6..00000000000
--- a/packages/@react-native/tester/js/examples/MutationObserver/VisualCompletionExample/VisualCompletionExample.js
+++ /dev/null
@@ -1,188 +0,0 @@
-/**
- * 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.
- *
- * @flow strict-local
- * @format
- */
-
-import {RNTesterThemeContext} from '../../../components/RNTesterTheme';
-import VCOverlay from './VCOverlayExample';
-import VCTracker from './VCTrackerExample';
-import nullthrows from 'nullthrows';
-import * as React from 'react';
-import {useContext, useEffect} from 'react';
-import {
- ActivityIndicator,
- ScrollView,
- StyleSheet,
- Text,
- View,
-} from 'react-native';
-import ReactNativeElement from 'react-native/src/private/webapis/dom/nodes/ReactNativeElement';
-
-export const name = 'Visual Completion Example';
-export const title = name;
-export const description =
- 'Example of use of MutationObserver and IntersectionObserver together to track rendering performance.';
-
-export function render(): React.Node {
- // We should use the time of the touch up event that lead to this navigation,
- // but we don't have that set up.
- const navigationStartTime = performance.now();
- const vcTracker = new VCTracker(navigationStartTime);
- return ;
-}
-
-/**
- * We are going to track the visual completion of this component, which uses
- * suspense and renders a complex tree in multiple steps.
- */
-function VisualCompletionExample(props: {vcTracker: VCTracker}): React.Node {
- useEffect(() => {
- return () => props.vcTracker.disconnect();
- }, [props.vcTracker]);
-
- return (
- <>
-
-
- >
- );
-}
-
-function VisualCompletionExampleScreen(props: {
- vcTracker: VCTracker,
-}): React.Node {
- const theme = useContext(RNTesterThemeContext);
-
- return (
- {
- if (node != null) {
- // $FlowExpectedError[incompatible-type]
- const element: ReactNativeElement = node;
- props.vcTracker.addMutationRoot(element);
- }
- }}>
-
-
-
-
-
- }>
-
-
-
- }>
-
-
- Heading
-
-
-
- }>
-
-
-
-
-
- {LONG_TEXT}
-
-
-
-
-
-
-
-
- );
-}
-
-function ForceSuspense(props: {
- queryID: string,
- delay: number,
- children: React.Node,
-}): React.Node {
- useForceSuspense(props.queryID, props.delay);
- return props.children;
-}
-
-let lastQueryID = 0;
-function generateQueryID() {
- lastQueryID++;
- return 'query-id-' + lastQueryID;
-}
-
-const styles = StyleSheet.create({
- root: {
- flex: 1,
- },
- header: {
- padding: 10,
- backgroundColor: 'gray',
- },
- title: {
- textAlign: 'center',
- fontSize: 20,
- },
- body: {
- flex: 1,
- padding: 10,
- },
- heading: {
- fontSize: 16,
- },
- bodyContent: {
- width: 100,
- height: 100,
- backgroundColor: 'blue',
- margin: 50,
- },
- footer: {
- padding: 10,
- backgroundColor: 'gray',
- },
-});
-
-const store: Map, resolved: boolean}> =
- new Map();
-
-function useForceSuspense(queryID: string, delay: number): void {
- let entry = store.get(queryID);
- if (!entry) {
- entry = {
- resolved: false,
- promise: new Promise(resolve => {
- setTimeout(() => {
- nullthrows(entry).resolved = true;
- resolve();
- }, delay);
- }),
- };
- store.set(queryID, entry);
- }
-
- if (!entry.resolved) {
- throw entry.promise;
- }
-}
-
-const LONG_TEXT =
- 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas facilisis feugiat ipsum, non placerat nulla. Vestibulum tincidunt eu dui ut bibendum. Cras risus ex, rhoncus auctor velit ut, lobortis convallis turpis. Donec rutrum imperdiet ante, vitae accumsan velit convallis non. Suspendisse feugiat egestas lectus. In eget fringilla ligula, at vehicula orci. Cras laoreet hendrerit urna, sed tincidunt dolor consectetur dapibus.\n'.repeat(
- 10,
- );
diff --git a/packages/@react-native/tester/js/examples/NewAppScreen/NewAppScreenExample.js b/packages/@react-native/tester/js/examples/NewAppScreen/NewAppScreenExample.js
deleted file mode 100644
index b53e4a30420..00000000000
--- a/packages/@react-native/tester/js/examples/NewAppScreen/NewAppScreenExample.js
+++ /dev/null
@@ -1,77 +0,0 @@
-/**
- * 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.
- *
- * @format
- * @flow
- */
-
-'use strict';
-
-const React = require('react');
-const {View} = require('react-native');
-const {
- Colors,
- DebugInstructions,
- Header,
- LearnMoreLinks,
- ReloadInstructions,
-} = require('react-native/Libraries/NewAppScreen');
-
-exports.title = 'New App Screen';
-exports.description = 'Displays the content of the new app screen';
-exports.examples = [
- {
- title: 'New App Screen Header',
- description: 'Displays a welcome to building a React Native app',
- render(): React.MixedElement {
- return (
-
-
-
- );
- },
- },
- {
- title: 'Learn More Links',
- description:
- 'Learn more about the tools and techniques for building React Native apps.',
- render(): React.MixedElement {
- return ;
- },
- },
- {
- title: 'New App Screen Colors',
- description: 'Consistent colors to use throughout the new app screen.',
- render(): React.MixedElement {
- return (
-
- {Object.keys(Colors).map(key => (
-
- ))}
-
- );
- },
- },
- {
- title: 'Debug Instructions',
- description:
- 'Platform-specific instructions on how to start debugging a React Native app.',
- render(): React.MixedElement {
- return ;
- },
- },
- {
- title: 'Reload Instructions',
- description:
- 'Platform-specific instructions on how to reload a React Native app.',
- render(): React.MixedElement {
- return ;
- },
- },
-];
diff --git a/packages/@react-native/tester/js/examples/Performance/PerformanceApiExample.js b/packages/@react-native/tester/js/examples/Performance/PerformanceApiExample.js
deleted file mode 100644
index 9e9576ef3e6..00000000000
--- a/packages/@react-native/tester/js/examples/Performance/PerformanceApiExample.js
+++ /dev/null
@@ -1,276 +0,0 @@
-/**
- * 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.
- *
- * @format
- * @flow strict-local
- * @oncall react_native
- */
-
-import type {RNTesterModuleExample} from '../../types/RNTesterTypes';
-import type MemoryInfo from 'react-native/src/private/webapis/performance/MemoryInfo';
-import type ReactNativeStartupTiming from 'react-native/src/private/webapis/performance/ReactNativeStartupTiming';
-
-import RNTesterText from '../../components/RNTesterText';
-import * as React from 'react';
-import {useEffect} from 'react';
-import {Button, StyleSheet, View} from 'react-native';
-import Performance from 'react-native/src/private/webapis/performance/Performance';
-import {
- type PerformanceEntry,
- type PerformanceEventTiming,
- PerformanceObserver,
-} from 'react-native/src/private/webapis/performance/PerformanceObserver';
-
-const {useState, useCallback} = React;
-const performance = new Performance();
-
-function MemoryExample(): React.Node {
- // Memory API testing
- const [memoryInfo, setMemoryInfo] = useState(null);
- const onGetMemoryInfo = useCallback(() => {
- // performance.memory is not included in bom.js yet.
- // Once we release the change in flow this can be removed.
- setMemoryInfo(performance.memory);
- }, []);
- return (
-
-
-
-
- {`jsHeapSizeLimit: ${String(memoryInfo?.jsHeapSizeLimit)} bytes`}
-
-
- {`totalJSHeapSize: ${String(memoryInfo?.totalJSHeapSize)} bytes`}
-
-
- {`usedJSHeapSize: ${String(memoryInfo?.usedJSHeapSize)} bytes`}
-
-
-
- );
-}
-
-function StartupTimingExample(): React.Node {
- // React Startup Timing API testing
- const [startUpTiming, setStartUpTiming] =
- useState(null);
- const onGetStartupTiming = useCallback(() => {
- // performance.reactNativeStartupTiming is not included in bom.js yet.
- // Once we release the change in flow this can be removed.
- setStartUpTiming(performance.rnStartupTiming);
- }, []);
- return (
-
-
-
- {`startTime: ${String(startUpTiming?.startTime)} ms`}
- {`initializeRuntimeStart: ${String(
- startUpTiming?.initializeRuntimeStart,
- )} ms`}
-
- {`executeJavaScriptBundleEntryPointStart: ${String(
- startUpTiming?.executeJavaScriptBundleEntryPointStart,
- )} ms`}
-
- {`executeJavaScriptBundleEntryPointEnd: ${String(
- startUpTiming?.executeJavaScriptBundleEntryPointEnd,
- )} ms`}
- {`initializeRuntimeEnd: ${String(
- startUpTiming?.initializeRuntimeEnd,
- )} ms`}
- {`endTime: ${String(startUpTiming?.endTime)} ms`}
-
-
- );
-}
-
-function PerformanceObserverUserTimingExample(): React.Node {
- const [entries, setEntries] = useState<$ReadOnlyArray>([]);
-
- useEffect(() => {
- const observer = new PerformanceObserver(list => {
- const newEntries = list
- .getEntries()
- .filter(entry => entry.name.startsWith('rntester-'));
- if (newEntries.length > 0) {
- setEntries(newEntries);
- }
- });
-
- observer.observe({entryTypes: ['mark', 'measure']});
-
- return () => observer.disconnect();
- }, []);
-
- const onPress = useCallback(() => {
- performance.mark('rntester-mark1');
- performance.mark('rntester-mark2');
- performance.measure(
- 'rntester-measure1',
- 'rntester-mark1',
- 'rntester-mark2',
- );
- }, []);
-
- return (
-
-
-
- {entries.map((entry, index) =>
- entry.entryType === 'mark' ? (
-
- Mark {entry.name}: {entry.startTime.toFixed(2)}
-
- ) : (
-
- Measure {entry.name}: {entry.startTime.toFixed(2)} -{' '}
- {(entry.startTime + entry.duration).toFixed(2)} (
- {entry.duration.toFixed(2)}ms)
-
- ),
- )}
-
-
- );
-}
-
-function PerformanceObserverEventTimingExample(): React.Node {
- const [count, setCount] = useState(0);
-
- const [entries, setEntries] = useState<
- $ReadOnlyArray,
- >([]);
-
- useEffect(() => {
- const observer = new PerformanceObserver(list => {
- const newEntries: $ReadOnlyArray =
- // $FlowExpectedError[incompatible-type] This is guaranteed because we're only observing `event` entry types.
- list.getEntries();
- setEntries(newEntries);
- });
-
- observer.observe({type: 'event'});
-
- return () => observer.disconnect();
- }, []);
-
- const onPress = useCallback(() => {
- busyWait(500);
- // Force a state update to show how/if we're reporting paint times as well.
- setCount(currentCount => currentCount + 1);
- }, []);
-
- return (
-
-
-
- {entries.map((entry, index) => (
-
- Event: {entry.name}
- {'\n'}
- Start: {entry.startTime.toFixed(2)}
- {'\n'}
- End: {(entry.startTime + entry.duration).toFixed(2)}
- {'\n'}
- Duration: {entry.duration.toFixed(2)}ms{'\n'}
- Processing start: {entry.processingStart.toFixed(2)} (delay:{' '}
- {(entry.processingStart - entry.startTime).toFixed(2)}ms){'\n'}
- Processing end: {entry.processingEnd.toFixed(2)} (duration:{' '}
- {(entry.processingEnd - entry.processingStart).toFixed(2)}ms){'\n'}
-
- ))}
-
-
- );
-}
-
-function PerformanceObserverLongtaskExample(): React.Node {
- const [entries, setEntries] = useState<$ReadOnlyArray>([]);
-
- useEffect(() => {
- const observer = new PerformanceObserver(list => {
- setEntries(list.getEntries());
- });
-
- observer.observe({entryTypes: ['longtask']});
-
- return () => observer.disconnect();
- }, []);
-
- const onPress = useCallback(() => {
- // Wait 1s to force a long task
- busyWait(1000);
- }, []);
-
- return (
-
-
-
- {entries.map((entry, index) => (
-
- Long task {entry.name}: {entry.startTime} -{' '}
- {entry.startTime + entry.duration} ({entry.duration}ms)
-
- ))}
-
-
- );
-}
-
-function busyWait(ms: number): void {
- const end = performance.now() + ms;
- while (performance.now() < end) {}
-}
-
-const styles = StyleSheet.create({
- container: {
- padding: 10,
- },
-});
-
-export const title = 'Performance API Examples';
-export const category = 'Basic';
-export const description = 'Shows the performance API provided in React Native';
-export const examples: Array = ([
- {
- title: 'performance.memory',
- render: (): React.Node => {
- return ;
- },
- },
- {
- title: 'performance.reactNativeStartupTiming',
- render: (): React.Node => {
- return ;
- },
- },
- {
- title: 'PerformanceObserver (marks and measures)',
- render: (): React.Node => {
- return ;
- },
- },
- {
- title: 'PerformanceObserver (events)',
- render: (): React.Node => {
- return ;
- },
- },
- PerformanceObserver.supportedEntryTypes.includes('longtask')
- ? {
- title: 'PerformanceObserver (long tasks)',
- render: (): React.Node => {
- return ;
- },
- }
- : null,
-]: Array).filter(Boolean);
diff --git a/packages/@react-native/tester/js/examples/Performance/components/ItemList.js b/packages/@react-native/tester/js/examples/Performance/components/ItemList.js
index 600311b2897..33c6ca24735 100644
--- a/packages/@react-native/tester/js/examples/Performance/components/ItemList.js
+++ b/packages/@react-native/tester/js/examples/Performance/components/ItemList.js
@@ -12,7 +12,7 @@
'use strict';
import type {ItemDataType} from './itemData';
-import type {ScrollEvent} from 'react-native/Libraries/Types/CoreEventTypes';
+import type {ScrollEvent} from 'react-native';
import * as React from 'react';
import {FlatList, ScrollView, StyleSheet, Text, View} from 'react-native';
diff --git a/packages/@react-native/tester/js/examples/Performance/performanceComparisonExamples/ReRenderWithNonPureChildExample.js b/packages/@react-native/tester/js/examples/Performance/performanceComparisonExamples/ReRenderWithNonPureChildExample.js
index c481466ec98..58b81f9e0aa 100644
--- a/packages/@react-native/tester/js/examples/Performance/performanceComparisonExamples/ReRenderWithNonPureChildExample.js
+++ b/packages/@react-native/tester/js/examples/Performance/performanceComparisonExamples/ReRenderWithNonPureChildExample.js
@@ -11,7 +11,7 @@
'use strict';
-import type {ScrollEvent} from 'react-native/Libraries/Types/CoreEventTypes';
+import type {ScrollEvent} from 'react-native';
import {LIST_100_ITEMS} from '../components/itemData';
import ItemList from '../components/ItemList';
diff --git a/packages/@react-native/tester/js/examples/Performance/performanceComparisonExamples/ReRenderWithObjectPropExample.js b/packages/@react-native/tester/js/examples/Performance/performanceComparisonExamples/ReRenderWithObjectPropExample.js
index 9da14b10054..fd11f96d320 100644
--- a/packages/@react-native/tester/js/examples/Performance/performanceComparisonExamples/ReRenderWithObjectPropExample.js
+++ b/packages/@react-native/tester/js/examples/Performance/performanceComparisonExamples/ReRenderWithObjectPropExample.js
@@ -11,7 +11,7 @@
'use strict';
-import type {ScrollEvent} from 'react-native/Libraries/Types/CoreEventTypes';
+import type {ScrollEvent} from 'react-native';
import {LIST_100_ITEMS} from '../components/itemData';
import ItemList from '../components/ItemList';
diff --git a/packages/@react-native/tester/js/examples/PermissionsAndroid/PermissionsExample.js b/packages/@react-native/tester/js/examples/PermissionsAndroid/PermissionsExample.js
index 8147950328c..c8fd8fb92d5 100644
--- a/packages/@react-native/tester/js/examples/PermissionsAndroid/PermissionsExample.js
+++ b/packages/@react-native/tester/js/examples/PermissionsAndroid/PermissionsExample.js
@@ -10,7 +10,7 @@
'use strict';
-import type {Permission} from 'react-native/Libraries/PermissionsAndroid/PermissionsAndroid';
+import type {Permission} from 'react-native';
import RNTesterButton from '../../components/RNTesterButton';
import RNTesterText from '../../components/RNTesterText';
diff --git a/packages/@react-native/tester/js/examples/PlatformColor/PlatformColorExample.js b/packages/@react-native/tester/js/examples/PlatformColor/PlatformColorExample.js
index 82a3970d727..5210c6d78cf 100644
--- a/packages/@react-native/tester/js/examples/PlatformColor/PlatformColorExample.js
+++ b/packages/@react-native/tester/js/examples/PlatformColor/PlatformColorExample.js
@@ -10,8 +10,13 @@
import RNTesterText from '../../components/RNTesterText';
import React from 'react';
-import {DynamicColorIOS, PlatformColor, StyleSheet, View} from 'react-native';
-import Platform from 'react-native/Libraries/Utilities/Platform';
+import {
+ DynamicColorIOS,
+ Platform,
+ PlatformColor,
+ StyleSheet,
+ View,
+} from 'react-native';
function PlatformColorsExample() {
function createTable() {
diff --git a/packages/@react-native/tester/js/examples/SectionList/SectionList-scrollable.js b/packages/@react-native/tester/js/examples/SectionList/SectionList-scrollable.js
index 41568986ecc..6a1bd9806fd 100644
--- a/packages/@react-native/tester/js/examples/SectionList/SectionList-scrollable.js
+++ b/packages/@react-native/tester/js/examples/SectionList/SectionList-scrollable.js
@@ -11,7 +11,7 @@
'use strict';
import type {Item} from '../../components/ListExampleShared';
-import type {SectionBase} from 'react-native/Libraries/Lists/SectionList';
+import type {SectionBase} from 'react-native';
import {
FooterComponent,
diff --git a/packages/@react-native/tester/js/examples/Snapshot/SnapshotViewIOS.ios.js b/packages/@react-native/tester/js/examples/Snapshot/SnapshotViewIOS.ios.js
index 22f43a5f171..ee8ed605ae9 100644
--- a/packages/@react-native/tester/js/examples/Snapshot/SnapshotViewIOS.ios.js
+++ b/packages/@react-native/tester/js/examples/Snapshot/SnapshotViewIOS.ios.js
@@ -10,8 +10,7 @@
'use strict';
-import type {ViewProps} from 'react-native/Libraries/Components/View/ViewPropTypes';
-import type {NativeSyntheticEvent} from 'react-native/Libraries/Types/CoreEventTypes';
+import type {NativeSyntheticEvent, ViewProps} from 'react-native';
const React = require('react');
const {NativeModules, StyleSheet, UIManager, View} = require('react-native');
diff --git a/packages/@react-native/tester/js/examples/SwipeableCardExample/SwipeableCardExample.js b/packages/@react-native/tester/js/examples/SwipeableCardExample/SwipeableCardExample.js
index 01839aeff94..ffc872314b2 100644
--- a/packages/@react-native/tester/js/examples/SwipeableCardExample/SwipeableCardExample.js
+++ b/packages/@react-native/tester/js/examples/SwipeableCardExample/SwipeableCardExample.js
@@ -8,7 +8,7 @@
* @format
*/
-import type {ListRenderItemInfo} from 'react-native/Libraries/Lists/VirtualizedList';
+import type {ListRenderItemInfo} from 'react-native';
import * as React from 'react';
import {
diff --git a/packages/@react-native/tester/js/examples/TextInput/TextInputExample.ios.js b/packages/@react-native/tester/js/examples/TextInput/TextInputExample.ios.js
index c2004ddcb87..28eaa39d487 100644
--- a/packages/@react-native/tester/js/examples/TextInput/TextInputExample.ios.js
+++ b/packages/@react-native/tester/js/examples/TextInput/TextInputExample.ios.js
@@ -14,7 +14,7 @@ import type {
RNTesterModule,
RNTesterModuleExample,
} from '../../types/RNTesterTypes';
-import type {KeyboardTypeOptions} from 'react-native/Libraries/Components/TextInput/TextInput';
+import type {KeyboardTypeOptions} from 'react-native';
import RNTesterText from '../../components/RNTesterText';
import ExampleTextInput from './ExampleTextInput';
diff --git a/packages/@react-native/tester/js/examples/TextInput/TextInputSharedExamples.js b/packages/@react-native/tester/js/examples/TextInput/TextInputSharedExamples.js
index b9e333cae7a..f3e62a45532 100644
--- a/packages/@react-native/tester/js/examples/TextInput/TextInputSharedExamples.js
+++ b/packages/@react-native/tester/js/examples/TextInput/TextInputSharedExamples.js
@@ -11,7 +11,7 @@
'use strict';
import type {RNTesterModuleExample} from '../../types/RNTesterTypes';
-import type {TextStyle} from 'react-native/Libraries/StyleSheet/StyleSheet';
+import type {TextStyle} from 'react-native';
import RNTesterButton from '../../components/RNTesterButton';
import RNTesterText from '../../components/RNTesterText';
diff --git a/packages/@react-native/tester/js/examples/TurboModule/NativeCxxModuleExampleExample.js b/packages/@react-native/tester/js/examples/TurboModule/NativeCxxModuleExampleExample.js
index 8b203ce4054..baefaf1f681 100644
--- a/packages/@react-native/tester/js/examples/TurboModule/NativeCxxModuleExampleExample.js
+++ b/packages/@react-native/tester/js/examples/TurboModule/NativeCxxModuleExampleExample.js
@@ -8,8 +8,7 @@
* @flow strict-local
*/
-import type {RootTag} from 'react-native/Libraries/ReactNative/RootTag';
-import type {EventSubscription} from 'react-native/Libraries/vendor/emitter/EventEmitter';
+import type {EventSubscription, RootTag} from 'react-native';
import NativeCxxModuleExample, {
EnumInt,
diff --git a/packages/@react-native/tester/js/examples/TurboModule/SampleLegacyModuleExample.js b/packages/@react-native/tester/js/examples/TurboModule/SampleLegacyModuleExample.js
index 503d93c6fa2..0944d1acf10 100644
--- a/packages/@react-native/tester/js/examples/TurboModule/SampleLegacyModuleExample.js
+++ b/packages/@react-native/tester/js/examples/TurboModule/SampleLegacyModuleExample.js
@@ -8,7 +8,7 @@
* @flow strict-local
*/
-import type {RootTag} from 'react-native/Libraries/ReactNative/RootTag';
+import type {RootTag} from 'react-native';
import RNTesterText from '../../components/RNTesterText';
import styles from './TurboModuleExampleCommon';
diff --git a/packages/@react-native/tester/js/examples/TurboModule/SampleTurboModuleExample.js b/packages/@react-native/tester/js/examples/TurboModule/SampleTurboModuleExample.js
index 2519c72e66e..dbefd3055f2 100644
--- a/packages/@react-native/tester/js/examples/TurboModule/SampleTurboModuleExample.js
+++ b/packages/@react-native/tester/js/examples/TurboModule/SampleTurboModuleExample.js
@@ -8,8 +8,7 @@
* @flow strict-local
*/
-import type {RootTag} from 'react-native/Libraries/ReactNative/RootTag';
-import type {EventSubscription} from 'react-native/Libraries/vendor/emitter/EventEmitter';
+import type {EventSubscription, RootTag} from 'react-native';
import RNTesterText from '../../components/RNTesterText';
import styles from './TurboModuleExampleCommon';
diff --git a/packages/@react-native/tester/js/utils/RNTesterList.android.js b/packages/@react-native/tester/js/utils/RNTesterList.android.js
index 458e802ca34..f7ae5633436 100644
--- a/packages/@react-native/tester/js/utils/RNTesterList.android.js
+++ b/packages/@react-native/tester/js/utils/RNTesterList.android.js
@@ -227,13 +227,6 @@ const APIs: Array = ([
},
// Only show the link for the example if the API is available.
// $FlowExpectedError[cannot-resolve-name]
- typeof IntersectionObserver === 'function'
- ? {
- key: 'IntersectionObserver',
- category: 'UI',
- module: require('../examples/IntersectionObserver/IntersectionObserverIndex'),
- }
- : null,
{
key: 'InvalidPropsExample',
module: require('../examples/InvalidProps/InvalidPropsExample'),
@@ -264,13 +257,6 @@ const APIs: Array = ([
module: require('../examples/Layout/LayoutExample'),
},
// $FlowExpectedError[cannot-resolve-name]
- typeof MutationObserver === 'function'
- ? {
- key: 'MutationObserver',
- category: 'UI',
- module: require('../examples/MutationObserver/MutationObserverIndex'),
- }
- : null,
{
key: 'NativeAnimationsExample',
category: 'UI',
@@ -380,11 +366,6 @@ const APIs: Array = ([
category: 'Basic',
module: require('../examples/TurboModule/TurboCxxModuleExample'),
},
- {
- key: 'PerformanceApiExample',
- category: 'Basic',
- module: require('../examples/Performance/PerformanceApiExample'),
- },
]: Array).filter(Boolean);
if (ReactNativeFeatureFlags.shouldEmitW3CPointerEvents()) {
diff --git a/packages/@react-native/tester/js/utils/RNTesterList.ios.js b/packages/@react-native/tester/js/utils/RNTesterList.ios.js
index 005efcf9122..fe53df411c8 100644
--- a/packages/@react-native/tester/js/utils/RNTesterList.ios.js
+++ b/packages/@react-native/tester/js/utils/RNTesterList.ios.js
@@ -231,13 +231,6 @@ const APIs: Array = ([
},
// Only show the link for the example if the API is available.
// $FlowExpectedError[cannot-resolve-name]
- typeof IntersectionObserver === 'function'
- ? {
- key: 'IntersectionObserver',
- category: 'UI',
- module: require('../examples/IntersectionObserver/IntersectionObserverIndex'),
- }
- : null,
{
key: 'InvalidPropsExample',
module: require('../examples/InvalidProps/InvalidPropsExample'),
@@ -259,13 +252,6 @@ const APIs: Array = ([
module: require('../examples/Linking/LinkingExample'),
},
// $FlowExpectedError[cannot-resolve-name]
- typeof MutationObserver === 'function'
- ? {
- key: 'MutationObserver',
- category: 'UI',
- module: require('../examples/MutationObserver/MutationObserverIndex'),
- }
- : null,
{
key: 'NativeAnimationsExample',
module: require('../examples/NativeAnimation/NativeAnimationsExample'),
@@ -356,11 +342,6 @@ const APIs: Array = ([
key: 'XHRExample',
module: require('../examples/XHR/XHRExample'),
},
- {
- key: 'PerformanceApiExample',
- category: 'Basic',
- module: require('../examples/Performance/PerformanceApiExample'),
- },
]: Array).filter(Boolean);
if (ReactNativeFeatureFlags.shouldEmitW3CPointerEvents()) {
diff --git a/packages/@react-native/tester/overrides.json b/packages/@react-native/tester/overrides.json
index aa1480d368d..db3531af99d 100644
--- a/packages/@react-native/tester/overrides.json
+++ b/packages/@react-native/tester/overrides.json
@@ -1,5 +1,5 @@
{
- "baseVersion": "0.80.0-nightly-20250428-9efcdc091",
+ "baseVersion": "0.80.0-nightly-20250506-3ac16dd6a",
"overrides": [
{
"type": "copy",
@@ -12,14 +12,14 @@
"type": "copy",
"directory": "js/components",
"baseDirectory": "packages/rn-tester/js/components",
- "baseHash": "a3c1d060354c35c7f881a160af3a5fe12e44a248",
+ "baseHash": "733be94f82fc7a7dbf24fc09afa79597c26b2a53",
"issue": 4054
},
{
"type": "copy",
"directory": "js/examples/Accessibility",
"baseDirectory": "packages/rn-tester/js/examples/Accessibility",
- "baseHash": "87660899e92c56eb75445a679c9b380683f524a3",
+ "baseHash": "9ad5bec8942351ffd651632a7629581722f035cb",
"issue": 4054
},
{
@@ -54,14 +54,14 @@
"type": "copy",
"directory": "js/examples/AnimatedGratuitousApp",
"baseDirectory": "packages/rn-tester/js/examples/AnimatedGratuitousApp",
- "baseHash": "ac4e5fc05ccc16a740867ea59a0a60c8f98acef1",
+ "baseHash": "27c1dbb8fe73acc6c4397789f7b6b01e6288fac3",
"issue": 4054
},
{
"type": "copy",
"directory": "js/examples/Appearance",
"baseDirectory": "packages/rn-tester/js/examples/Appearance",
- "baseHash": "1618e86a25df2f8104467c9ef48ccbae9f61b320",
+ "baseHash": "bdb5d6a9c497a3a1098b6e5c0c19f4e5d0aa650c",
"issue": 4054
},
{
@@ -145,7 +145,7 @@
"type": "copy",
"directory": "js/examples/Experimental",
"baseDirectory": "packages/rn-tester/js/examples/Experimental",
- "baseHash": "34462179028828cfa80634d326cdff7415df26e2",
+ "baseHash": "c78c895640567ade579aa800a41a008334ab603c",
"issue": 4054
},
{
@@ -159,14 +159,14 @@
"type": "copy",
"directory": "js/examples/FlatList",
"baseDirectory": "packages/rn-tester/js/examples/FlatList",
- "baseHash": "6c42401f603681fc27a072bbbe9bc249f437082f",
+ "baseHash": "873f394a0b0f159b0d89f461814aeef68d0891ac",
"issue": 4054
},
{
"type": "copy",
"directory": "js/examples/Image",
"baseDirectory": "packages/rn-tester/js/examples/Image",
- "baseHash": "9df3036794e251a8fadc4c153f6a17d076ff5bf0",
+ "baseHash": "9f9b71f8490ecac737d4eff9b6b5092aed2ab281",
"issue": 4054
},
{
@@ -176,13 +176,6 @@
"baseHash": "3786b55aa9476b0460b6f8f7ba4ca281945bc399",
"issue": 4054
},
- {
- "type": "copy",
- "directory": "js/examples/IntersectionObserver",
- "baseDirectory": "packages/rn-tester/js/examples/IntersectionObserver",
- "baseHash": "6474162bb9c7e116ffd4f062a549a7d79cc395f8",
- "issue": 4054
- },
{
"type": "copy",
"directory": "js/examples/InvalidProps",
@@ -201,7 +194,7 @@
"type": "copy",
"directory": "js/examples/Keyboard",
"baseDirectory": "packages/rn-tester/js/examples/Keyboard",
- "baseHash": "cc35bc198910a09009757649e6b592d5615204f6",
+ "baseHash": "c97b0047f8799cdeb0429d4557786b654552944c",
"issue": 4054
},
{
@@ -243,14 +236,7 @@
"type": "copy",
"directory": "js/examples/Modal",
"baseDirectory": "packages/rn-tester/js/examples/Modal",
- "baseHash": "6f7b3e5f779970df44071279b741476f194e38d4",
- "issue": 4054
- },
- {
- "type": "copy",
- "directory": "js/examples/MutationObserver",
- "baseDirectory": "packages/rn-tester/js/examples/MutationObserver",
- "baseHash": "7a5beec3f7ec8418eea64f8e155d475d2ae0f62f",
+ "baseHash": "3f9ebfeb7e1389eefe51b0ed22465a36484fcd0e",
"issue": 4054
},
{
@@ -260,13 +246,6 @@
"baseHash": "511912caab1a4ca976b70e23d31508dd3c060cd9",
"issue": 4054
},
- {
- "type": "copy",
- "directory": "js/examples/NewAppScreen",
- "baseDirectory": "packages/rn-tester/js/examples/NewAppScreen",
- "baseHash": "fc8f3f970afd6b2ab2a37de4c6d60f92cc15577e",
- "issue": 4054
- },
{
"type": "copy",
"directory": "js/examples/NewArchitecture",
@@ -299,13 +278,13 @@
"type": "copy",
"directory": "js/examples/Performance",
"baseDirectory": "packages/rn-tester/js/examples/Performance",
- "baseHash": "92bfefb1a48b340fb9728044cd7647464e357997"
+ "baseHash": "02493cc3b5da3e7360380e76f3bf8a38e749c1d5"
},
{
"type": "copy",
"directory": "js/examples/PermissionsAndroid",
"baseDirectory": "packages/rn-tester/js/examples/PermissionsAndroid",
- "baseHash": "26cf38c650e6a5a123e66f16f0eaa2abcddb2c99",
+ "baseHash": "85f13dace4f486b5fc6bd476052bdd16f501c5e6",
"issue": 4054
},
{
@@ -319,7 +298,7 @@
"type": "copy",
"directory": "js/examples/PlatformColor",
"baseDirectory": "packages/rn-tester/js/examples/PlatformColor",
- "baseHash": "a6f88855fa09e7cfab6ece823b6e41a9c8c97ab0",
+ "baseHash": "9b3ccfdda59115536f062cae09f58a6955f9aecc",
"issue": 4054
},
{
@@ -396,7 +375,7 @@
"type": "copy",
"directory": "js/examples/SectionList",
"baseDirectory": "packages/rn-tester/js/examples/SectionList",
- "baseHash": "c5c9b64b7678f873888676140afd0dff1890be4a",
+ "baseHash": "c8bbef6b49ebcd74a152f4d5880fff3884185afa",
"issue": 4054
},
{
@@ -417,7 +396,7 @@
"type": "copy",
"directory": "js/examples/Snapshot",
"baseDirectory": "packages/rn-tester/js/examples/Snapshot",
- "baseHash": "ff7219b5d29b096329d0f440219c3cdf3d4bb6de",
+ "baseHash": "f98f7b2b775c517c0c4e3365453628e36babcd90",
"issue": 4054
},
{
@@ -431,7 +410,7 @@
"type": "copy",
"directory": "js/examples/SwipeableCardExample",
"baseDirectory": "packages/rn-tester/js/examples/SwipeableCardExample",
- "baseHash": "0d5b9bb8e9196c9655d149f11ed5128f6c92b59d",
+ "baseHash": "3d29f97ce8ece71848ee1849d9357c9d5431484b",
"issue": 4054
},
{
@@ -466,7 +445,7 @@
"type": "copy",
"file": "js/examples/TextInput/TextInputExample.ios.js",
"baseFile": "packages/rn-tester/js/examples/TextInput/TextInputExample.ios.js",
- "baseHash": "174f5038a7e38cee2f35393c47396a0581cb9f66",
+ "baseHash": "08c15ffc55a4e51c40d874739e5115e110e6112c",
"issue": 14292
},
{
@@ -487,7 +466,7 @@
"type": "patch",
"file": "js/examples/TextInput/TextInputSharedExamples.js",
"baseFile": "packages/rn-tester/js/examples/TextInput/TextInputSharedExamples.js",
- "baseHash": "4bd0a0fa18caececea50d0fbbe0044a56c5efc54",
+ "baseHash": "d99f7475f11f58e4f17cc0ce374a600841970497",
"issue": 14291
},
{
@@ -529,7 +508,7 @@
"type": "copy",
"directory": "js/examples/TurboModule",
"baseDirectory": "packages/rn-tester/js/examples/TurboModule",
- "baseHash": "7678edc69844558af53080cfdd7426bf2caad6da",
+ "baseHash": "6b267098024fd237b4fafba827871decbf6e2f86",
"issue": 4054
},
{
@@ -598,14 +577,14 @@
"type": "patch",
"file": "js/utils/RNTesterList.android.js",
"baseFile": "packages/rn-tester/js/utils/RNTesterList.android.js",
- "baseHash": "3b5c8bcdee69293ddce0d515300504979e36f87a",
+ "baseHash": "aded9dd37f3ac325aa1cc095f6d217114c45a8b9",
"issue": 13228
},
{
"type": "patch",
"file": "js/utils/RNTesterList.ios.js",
"baseFile": "packages/rn-tester/js/utils/RNTesterList.ios.js",
- "baseHash": "6f316997cd9e03c2266da9ae525241fc41213148",
+ "baseHash": "1f5aafb1dd9a476bd9df3a4e2b61af1b4c529b02",
"issue": 13228
},
{
@@ -647,28 +626,28 @@
"type": "copy",
"file": "NativeComponentExample/js/MyNativeViewNativeComponent.js",
"baseFile": "packages/rn-tester/NativeComponentExample/js/MyNativeViewNativeComponent.js",
- "baseHash": "7b762cd4e4bd11dae3de515e2aeb0e7b1b660dd7",
+ "baseHash": "0c70f1762cdfcaaa1bacbbc1546923e1963522cc",
"issue": 4054
},
{
"type": "copy",
"file": "NativeCxxModuleExample/NativeCxxModuleExample.js",
"baseFile": "packages/rn-tester/NativeCxxModuleExample/NativeCxxModuleExample.js",
- "baseHash": "48855163ebb3d9a07f341aa59da9a1fff3c0f87f",
+ "baseHash": "58880f07cabb09d297027d55ac3e3dacd4e9bd7d",
"issue": 4054
},
{
"type": "copy",
"file": "NativeModuleExample/NativeScreenshotManager.js",
"baseFile": "packages/rn-tester/NativeModuleExample/NativeScreenshotManager.js",
- "baseHash": "a4c34cbf3e97fb65dab6b7db48943fef15229b19",
+ "baseHash": "8eeff755fab7fa507c7663e3681963579f19d900",
"issue": 4054
},
{
"type": "patch",
"file": "package.json",
"baseFile": "packages/rn-tester/package.json",
- "baseHash": "72cf324cfe7a5497db80a8dd316349226228f879",
+ "baseHash": "3af616982c931030604434c83e8d3503414c0fb8",
"issue": 13228
},
{
@@ -681,7 +660,7 @@
"type": "copy",
"file": "ReportFullyDrawnView/ReportFullyDrawnViewNativeComponent.js",
"baseFile": "packages/rn-tester/ReportFullyDrawnView/ReportFullyDrawnViewNativeComponent.js",
- "baseHash": "6bf9a8a646111c9613a511281686d8cec6c964ca"
+ "baseHash": "8b8f62b9569d815fa20720d22b9a259ad7fba00c"
}
]
}
\ No newline at end of file
diff --git a/packages/@react-native/tester/package.json b/packages/@react-native/tester/package.json
index 1ce91124ff3..b3308ef8341 100644
--- a/packages/@react-native/tester/package.json
+++ b/packages/@react-native/tester/package.json
@@ -26,7 +26,7 @@
"e2e-test-ios": "./scripts/maestro-test-ios.sh"
},
"dependencies": {
- "@react-native/popup-menu-android": "0.80.0-nightly-20250428-9efcdc091",
+ "@react-native/popup-menu-android": "0.80.0-nightly-20250506-3ac16dd6a",
"flow-enums-runtime": "^0.0.6",
"invariant": "^2.2.4",
"nullthrows": "^1.1.1"
diff --git a/packages/@rnw-scripts/babel-react-native-config/package.json b/packages/@rnw-scripts/babel-react-native-config/package.json
index 53ad1ae286e..c436381337d 100644
--- a/packages/@rnw-scripts/babel-react-native-config/package.json
+++ b/packages/@rnw-scripts/babel-react-native-config/package.json
@@ -11,16 +11,16 @@
},
"dependencies": {
"@babel/core": "^7.25.2",
- "@react-native/babel-preset": "0.80.0-nightly-20250428-9efcdc091",
+ "@react-native/babel-preset": "0.80.0-nightly-20250506-3ac16dd6a",
"babel-plugin-transform-flow-enums": "^0.0.2"
},
"devDependencies": {
"@babel/core": "^7.25.2",
- "@react-native/babel-preset": "0.80.0-nightly-20250428-9efcdc091",
+ "@react-native/babel-preset": "0.80.0-nightly-20250506-3ac16dd6a",
"eslint": "^8.19.0",
"prettier": "2.8.8"
},
"engines": {
"node": ">= 18"
}
-}
\ No newline at end of file
+}
diff --git a/packages/@rnw-scripts/metro-dev-config/package.json b/packages/@rnw-scripts/metro-dev-config/package.json
index c31a84c1aab..09e96b9050c 100644
--- a/packages/@rnw-scripts/metro-dev-config/package.json
+++ b/packages/@rnw-scripts/metro-dev-config/package.json
@@ -17,7 +17,7 @@
"lint:fix": "rnw-scripts lint:fix"
},
"dependencies": {
- "@react-native/metro-config": "0.80.0-nightly-20250428-9efcdc091",
+ "@react-native/metro-config": "0.80.0-nightly-20250506-3ac16dd6a",
"@rnx-kit/metro-config": "^1.3.5",
"@rnx-kit/metro-plugin-duplicates-checker": "^2.1.0",
"@rnx-kit/metro-serializer": "^1.0.11",
diff --git a/packages/e2e-test-app-fabric/package.json b/packages/e2e-test-app-fabric/package.json
index a6aa3ef330f..10e902ef73d 100644
--- a/packages/e2e-test-app-fabric/package.json
+++ b/packages/e2e-test-app-fabric/package.json
@@ -16,11 +16,11 @@
"dependencies": {
"@react-native-windows/automation-channel": "^0.12.316",
"@react-native-windows/tester": "0.0.1",
- "@types/react": "^19.0.0",
+ "@types/react": "^19.1.0",
"@typescript-eslint/eslint-plugin": "^7.1.1",
"@typescript-eslint/parser": "^7.1.1",
"react": "^19.1.0",
- "react-native": "0.80.0-nightly-20250428-9efcdc091",
+ "react-native": "0.80.0-nightly-20250506-3ac16dd6a",
"react-native-windows": "^0.0.0-canary.976"
},
"devDependencies": {
@@ -30,9 +30,9 @@
"@babel/preset-typescript": "^7.8.3",
"@babel/runtime": "^7.20.0",
"@react-native-community/cli": "17.0.0",
- "@react-native/metro-config": "0.80.0-nightly-20250428-9efcdc091",
"@react-native-windows/automation": "^0.3.398",
"@react-native-windows/automation-commands": "^0.1.419",
+ "@react-native/metro-config": "0.80.0-nightly-20250506-3ac16dd6a",
"@rnw-scripts/babel-node-config": "2.3.2",
"@rnw-scripts/babel-react-native-config": "0.0.0",
"@rnw-scripts/eslint-config": "1.2.36",
diff --git a/packages/e2e-test-app-fabric/test/__snapshots__/HomeUIADump.test.ts.snap b/packages/e2e-test-app-fabric/test/__snapshots__/HomeUIADump.test.ts.snap
index 8666537f9f2..e768f28a56e 100644
--- a/packages/e2e-test-app-fabric/test/__snapshots__/HomeUIADump.test.ts.snap
+++ b/packages/e2e-test-app-fabric/test/__snapshots__/HomeUIADump.test.ts.snap
@@ -4209,87 +4209,6 @@ exports[`Home UIA Tree Dump PanResponder Sample 1`] = `
}
`;
-exports[`Home UIA Tree Dump Performance API Examples 1`] = `
-{
- "Automation Tree": {
- "AutomationId": "Performance API Examples",
- "ControlType": 50026,
- "IsKeyboardFocusable": true,
- "LocalizedControlType": "group",
- "Name": "Performance API Examples Shows the performance API provided in React Native",
- "__Children": [
- {
- "AutomationId": "",
- "ControlType": 50020,
- "LocalizedControlType": "text",
- "Name": "Performance API Examples",
- "TextRangePattern.GetText": "Performance API Examples",
- },
- {
- "AutomationId": "",
- "ControlType": 50020,
- "LocalizedControlType": "text",
- "Name": "Shows the performance API provided in React Native",
- "TextRangePattern.GetText": "Shows the performance API provided in React Native",
- },
- ],
- },
- "Component Tree": {
- "Type": "Microsoft.ReactNative.Composition.ViewComponentView",
- "_Props": {
- "AccessibilityLabel": "Performance API Examples Shows the performance API provided in React Native",
- "TestId": "Performance API Examples",
- },
- "__Children": [
- {
- "Type": "Microsoft.ReactNative.Composition.ParagraphComponentView",
- "_Props": {},
- },
- {
- "Type": "Microsoft.ReactNative.Composition.ParagraphComponentView",
- "_Props": {},
- },
- ],
- },
- "Visual Tree": {
- "Brush": {
- "Brush Type": "ColorBrush",
- "Color": "rgba(255, 255, 255, 255)",
- },
- "Comment": "Performance API Examples",
- "Offset": "0, 0, 0",
- "Size": "966, 78",
- "Visual Type": "SpriteVisual",
- "__Children": [
- {
- "Offset": "16, 16, 0",
- "Size": "211, 25",
- "Visual Type": "SpriteVisual",
- "__Children": [
- {
- "Offset": "0, 0, 0",
- "Size": "211, 25",
- "Visual Type": "SpriteVisual",
- },
- ],
- },
- {
- "Offset": "16, 45, 0",
- "Size": "934, 17",
- "Visual Type": "SpriteVisual",
- "__Children": [
- {
- "Offset": "0, 0, 0",
- "Size": "934, 17",
- "Visual Type": "SpriteVisual",
- },
- ],
- },
- ],
- },
-}
-`;
-
exports[`Home UIA Tree Dump Performance Comparison Examples 1`] = `
{
"Automation Tree": {
@@ -4825,7 +4744,7 @@ exports[`Home UIA Tree Dump RTLExample 1`] = `
},
"Comment": "RTLExample",
"Offset": "0, 0, 0",
- "Size": "966, 77",
+ "Size": "966, 78",
"Visual Type": "SpriteVisual",
"__Children": [
{
@@ -5340,7 +5259,7 @@ exports[`Home UIA Tree Dump Share 1`] = `
},
"Comment": "Share",
"Offset": "0, 0, 0",
- "Size": "966, 78",
+ "Size": "966, 77",
"Visual Type": "SpriteVisual",
"__Children": [
{
@@ -6317,12 +6236,12 @@ exports[`Home UIA Tree Dump URL 1`] = `
"__Children": [
{
"Offset": "16, 16, 0",
- "Size": "32, 24",
+ "Size": "32, 25",
"Visual Type": "SpriteVisual",
"__Children": [
{
"Offset": "0, 0, 0",
- "Size": "32, 24",
+ "Size": "32, 25",
"Visual Type": "SpriteVisual",
},
],
@@ -6479,12 +6398,12 @@ exports[`Home UIA Tree Dump WebSocket 1`] = `
"__Children": [
{
"Offset": "16, 16, 0",
- "Size": "89, 25",
+ "Size": "89, 24",
"Visual Type": "SpriteVisual",
"__Children": [
{
"Offset": "0, 0, 0",
- "Size": "89, 25",
+ "Size": "89, 24",
"Visual Type": "SpriteVisual",
},
],
diff --git a/packages/e2e-test-app-fabric/test/__snapshots__/snapshotPages.test.js.snap b/packages/e2e-test-app-fabric/test/__snapshots__/snapshotPages.test.js.snap
index 1a11b39ded3..149bfc0d00c 100644
--- a/packages/e2e-test-app-fabric/test/__snapshots__/snapshotPages.test.js.snap
+++ b/packages/e2e-test-app-fabric/test/__snapshots__/snapshotPages.test.js.snap
@@ -34182,504 +34182,6 @@ exports[`snapshotAllPages PanResponder Sample 1`] = `
`;
-exports[`snapshotAllPages Performance API Examples 1`] = `
-
-
-
-
-
- Click to update memory info
-
-
-
-
-
-
- jsHeapSizeLimit: undefined bytes
-
-
- totalJSHeapSize: undefined bytes
-
-
- usedJSHeapSize: undefined bytes
-
-
-
-`;
-
-exports[`snapshotAllPages Performance API Examples 2`] = `
-
-
-
-
-
- Click to update React startup timing
-
-
-
-
-
-
- startTime: undefined ms
-
-
- initializeRuntimeStart: undefined ms
-
-
- executeJavaScriptBundleEntryPointStart: undefined ms
-
-
- executeJavaScriptBundleEntryPointEnd: undefined ms
-
-
- initializeRuntimeEnd: undefined ms
-
-
- endTime: undefined ms
-
-
-
-`;
-
-exports[`snapshotAllPages Performance API Examples 3`] = `
-
-
-
-
-
- Click to log some marks and measures
-
-
-
-
-
-
-`;
-
-exports[`snapshotAllPages Performance API Examples 4`] = `
-
-
-
-
-
- Click to force a slow event (clicked 0 times)
-
-
-
-
-
-
-`;
-
exports[`snapshotAllPages Performance Comparison Examples 1`] = `
;
-
-function Section({children, title}: SectionProps): React.JSX.Element {
- const isDarkMode = useColorScheme() === 'dark';
- return (
-
-
- {title}
-
-
- {children}
-
-
- );
-}
+import {SafeAreaView, StatusBar, useColorScheme} from 'react-native';
+import {NewAppScreen} from '@react-native/new-app-screen';
function App(): React.JSX.Element {
const isDarkMode = useColorScheme() === 'dark';
- const backgroundStyle = {
- backgroundColor: isDarkMode ? Colors.darker : Colors.lighter,
- };
-
return (
-
+
-
-
-
-
- Edit App.tsx to change this
- screen and then come back to see your edits.
-
-
-
-
- Read the docs to discover what to do next:
-
-
-
-
+
);
}
-const styles = StyleSheet.create({
- sectionContainer: {
- marginTop: 32,
- paddingHorizontal: 24,
- },
- sectionTitle: {
- fontSize: 24,
- fontWeight: '600',
- },
- sectionDescription: {
- marginTop: 8,
- fontSize: 18,
- fontWeight: '400',
- },
- highlight: {
- fontWeight: '700',
- },
-});
-
export default App;
diff --git a/packages/sample-app-fabric/package.json b/packages/sample-app-fabric/package.json
index 600ebbe6ce7..8e52cd7cce2 100644
--- a/packages/sample-app-fabric/package.json
+++ b/packages/sample-app-fabric/package.json
@@ -12,12 +12,13 @@
"bundle": "rnw-scripts prepareBundle && npx @react-native-community/cli bundle --platform windows --entry-file App.tsx --bundle-output windows/SampleAppFabric/Bundle/app.windows.bundle --assets-dest windows/SampleAppFabric/Bundle"
},
"dependencies": {
- "@types/react": "^19.0.0",
+ "@types/react": "^19.1.0",
"@typescript-eslint/eslint-plugin": "^7.1.1",
"@typescript-eslint/parser": "^7.1.1",
"react": "^19.1.0",
- "react-native": "0.80.0-nightly-20250428-9efcdc091",
- "react-native-windows": "^0.0.0-canary.976"
+ "react-native": "0.80.0-nightly-20250506-3ac16dd6a",
+ "react-native-windows": "^0.0.0-canary.976",
+ "@react-native/new-app-screen": "0.80.0-nightly-20250506-3ac16dd6a"
},
"devDependencies": {
"@babel/core": "^7.25.2",
@@ -27,7 +28,7 @@
"@babel/runtime": "^7.20.0",
"@jest/globals": "^29.7.0",
"@react-native-community/cli": "17.0.0",
- "@react-native/metro-config": "0.80.0-nightly-20250428-9efcdc091",
+ "@react-native/metro-config": "0.80.0-nightly-20250506-3ac16dd6a",
"@rnw-scripts/babel-node-config": "2.3.2",
"@rnw-scripts/babel-react-native-config": "0.0.0",
"@rnw-scripts/eslint-config": "1.2.36",
@@ -48,4 +49,4 @@
"engines": {
"node": ">=18"
}
-}
+}
\ No newline at end of file
diff --git a/packages/sample-apps/package.json b/packages/sample-apps/package.json
index a6f2f9b865d..5a15af296c4 100644
--- a/packages/sample-apps/package.json
+++ b/packages/sample-apps/package.json
@@ -12,11 +12,11 @@
"windows": "npx @react-native-community/cli run-windows"
},
"dependencies": {
- "@types/react": "^19.0.0",
+ "@types/react": "^19.1.0",
"@typescript-eslint/eslint-plugin": "^7.1.1",
"@typescript-eslint/parser": "^7.1.1",
"react": "^19.1.0",
- "react-native": "0.80.0-nightly-20250428-9efcdc091",
+ "react-native": "0.80.0-nightly-20250506-3ac16dd6a",
"react-native-windows": "^0.0.0-canary.976"
},
"devDependencies": {
@@ -26,7 +26,7 @@
"@react-native-community/cli": "17.0.0",
"@react-native-windows/cli": "0.0.0-canary.269",
"@react-native-windows/codegen": "0.0.0-canary.124",
- "@react-native/metro-config": "0.80.0-nightly-20250428-9efcdc091",
+ "@react-native/metro-config": "0.80.0-nightly-20250506-3ac16dd6a",
"@rnw-scripts/babel-react-native-config": "0.0.0",
"@rnw-scripts/eslint-config": "1.2.36",
"@rnw-scripts/just-task": "2.3.54",
diff --git a/packages/sample-custom-component/package.json b/packages/sample-custom-component/package.json
index 54bfc4b32e8..1889683d2e4 100644
--- a/packages/sample-custom-component/package.json
+++ b/packages/sample-custom-component/package.json
@@ -20,9 +20,9 @@
}
},
"dependencies": {
- "@types/react": "^19.0.0",
+ "@types/react": "^19.1.0",
"react": "^19.1.0",
- "react-native": "0.80.0-nightly-20250428-9efcdc091",
+ "react-native": "0.80.0-nightly-20250506-3ac16dd6a",
"react-native-windows": "^0.0.0-canary.976"
},
"devDependencies": {
@@ -32,7 +32,7 @@
"@babel/preset-typescript": "^7.8.3",
"@babel/runtime": "^7.20.0",
"@react-native-community/cli": "17.0.0",
- "@react-native/metro-config": "0.80.0-nightly-20250428-9efcdc091",
+ "@react-native/metro-config": "0.80.0-nightly-20250506-3ac16dd6a",
"@rnw-scripts/babel-node-config": "2.3.2",
"@rnw-scripts/babel-react-native-config": "0.0.0",
"@rnw-scripts/eslint-config": "1.2.36",
diff --git a/vnext/.flowconfig b/vnext/.flowconfig
index c4bd5c783a5..a0ace835e0e 100644
--- a/vnext/.flowconfig
+++ b/vnext/.flowconfig
@@ -4,6 +4,9 @@
.*/*[.]ios.js
.*/*[.]macos.js
+; Ignore fb_internal modules
+/packages/react-native/src/fb_internal/.*
+
; These modules have base components and Windows versions.
; Ideally we'd delete the base versions of files that had .windows overrides as part of the
; initRNLibraries build step
@@ -27,8 +30,6 @@
/Libraries/Image/Image.js
/Libraries/Image/resolveAssetSource.js
/Libraries/Network/RCTNetworking.js
-/Libraries/NewAppScreen/components/DebugInstructions.js
-/Libraries/NewAppScreen/components/ReloadInstructions.js
/Libraries/Pressability/Pressability.js
/Libraries/Text/TextProps.js
/Libraries/Types/CoreEventTypes.js
@@ -38,6 +39,12 @@
/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js
/Libraries/Utilities/Platform.flow.js
+/IntegrationTests/ImageCachePolicyTest.js
+/IntegrationTests/LayoutEventsTest.js
+/IntegrationTests/IntegrationTestsApp.js
+/ReactCopies/IntegrationTests/ImageCachePolicyTest.js
+/ReactCopies/IntegrationTests/LayoutEventsTest.js
+/ReactCopies/IntegrationTests/IntegrationTestsApp.js
; Ignore react-native files in node_modules since they are copied into project root
.*/node_modules/react-native/.*
@@ -162,4 +169,4 @@ untyped-import
untyped-type-import
[version]
-^0.268.0
+^0.269.1
diff --git a/vnext/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/WindowsTextLayoutManager.cpp b/vnext/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/WindowsTextLayoutManager.cpp
index 488c30c881c..8d2e5a47493 100644
--- a/vnext/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/WindowsTextLayoutManager.cpp
+++ b/vnext/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/WindowsTextLayoutManager.cpp
@@ -67,9 +67,7 @@ class AttachmentInlineObject : public winrt::implements spTextLayout;
- TextMeasurement::Attachments attachments;
- WindowsTextLayoutManager::GetTextLayout(attributedStringBox, paragraphAttributes, size, spTextLayout, attachments);
-
- if (spTextLayout) {
- std::vector lineMetrics;
- uint32_t actualLineCount;
- spTextLayout->GetLineMetrics(nullptr, 0, &actualLineCount);
- lineMetrics.resize(static_cast(actualLineCount));
- winrt::check_hresult(spTextLayout->GetLineMetrics(lineMetrics.data(), actualLineCount, &actualLineCount));
- uint32_t startRange = 0;
- const auto count = (paragraphAttributes.maximumNumberOfLines > 0)
- ? std::min(static_cast(paragraphAttributes.maximumNumberOfLines), actualLineCount)
- : actualLineCount;
- for (uint32_t i = 0; i < count; ++i) {
- UINT32 actualHitTestCount = 0;
- spTextLayout->HitTestTextRange(
- startRange,
- lineMetrics[i].length,
- 0, // x
- 0, // y
- NULL,
- 0, // metrics count
- &actualHitTestCount);
-
- // Allocate enough room to return all hit-test metrics.
- std::vector hitTestMetrics(actualHitTestCount);
- spTextLayout->HitTestTextRange(
- startRange,
- lineMetrics[i].length,
- 0, // x
- 0, // y
- &hitTestMetrics[0],
- static_cast(hitTestMetrics.size()),
- &actualHitTestCount);
-
- float width = 0;
- for (auto tm : hitTestMetrics) {
- width += tm.width;
- }
-
- std::string str;
- const auto &attributedString = attributedStringBox.getValue();
- for (const auto &fragment : attributedString.getFragments()) {
- str = str +
- winrt::to_string(Microsoft::ReactNative::TransformableText::TransformText(
- winrt::hstring{Microsoft::Common::Unicode::Utf8ToUtf16(fragment.string)},
- ConvertTextTransform(fragment.textAttributes.textTransform)));
- }
-
- lineMeasurements.emplace_back(LineMeasurement(
- str.substr(startRange, lineMetrics[i].length),
- {{hitTestMetrics[0].left, hitTestMetrics[0].top}, // origin
- {width, lineMetrics[i].height}},
- 0.0f, // TODO descender
- 0.0f, // TODO: capHeight
- 0.0f, // TODO ascender
- 0.0f // TODO: xHeight
- ));
-
- startRange += lineMetrics[i].length;
- }
- }
-
- return lineMeasurements;
-}
-
winrt::hstring WindowsTextLayoutManager::GetTransformedText(const AttributedStringBox &attributedStringBox) {
winrt::hstring result{};
const auto &attributedString = attributedStringBox.getValue();
diff --git a/vnext/PropertySheets/React.Cpp.props b/vnext/PropertySheets/React.Cpp.props
index 3afb695da5b..b0a653c2d4f 100644
--- a/vnext/PropertySheets/React.Cpp.props
+++ b/vnext/PropertySheets/React.Cpp.props
@@ -160,8 +160,10 @@
$(ReactNativeDir)\ReactCommon\react\renderer\graphics\platform\cxx;
$(ReactNativeDir)\ReactCommon\react\renderer\components\view\platform\cxx;
$(ReactNativeDir)\ReactCommon\react\renderer\imagemanager\platform\cxx;
- $(ReactNativeDir)\ReactCommon\react\renderer\components\text\platform\android;
- $(ReactNativeDir)\ReactCommon\react\renderer\components\text\platform\android\react\renderer\components\text;
+ $(ReactNativeDir)\ReactCommon\react\renderer\components\text\platform\cxx;
+ $(ReactNativeDir)\ReactCommon\react\renderer\components\text\platform\cxx\react\renderer\components\text;
+ $(ReactNativeDir)\ReactCommon\react\renderer\textlayoutmanager\platform\cxx;
+ $(ReactNativeDir)\ReactCommon\react\utils\platform\cxx;
%(AdditionalIncludeDirectories);
diff --git a/vnext/ReactCopies/IntegrationTests/ImageCachePolicyTest.js b/vnext/ReactCopies/IntegrationTests/ImageCachePolicyTest.js
index 6c9d3789b2c..d188e55b2b6 100644
--- a/vnext/ReactCopies/IntegrationTests/ImageCachePolicyTest.js
+++ b/vnext/ReactCopies/IntegrationTests/ImageCachePolicyTest.js
@@ -10,7 +10,7 @@
'use strict';
-import type {ImageURISource} from 'react-native/Libraries/Image/ImageSource';
+import type {ImageURISource} from 'react-native';
import * as React from 'react';
import {useEffect, useState} from 'react';
diff --git a/vnext/ReactCopies/IntegrationTests/LayoutEventsTest.js b/vnext/ReactCopies/IntegrationTests/LayoutEventsTest.js
index dc27d3ec95e..141a20d2970 100644
--- a/vnext/ReactCopies/IntegrationTests/LayoutEventsTest.js
+++ b/vnext/ReactCopies/IntegrationTests/LayoutEventsTest.js
@@ -10,11 +10,8 @@
'use strict';
+import type {LayoutChangeEvent, LayoutRectangle} from 'react-native';
import type {ViewStyleProp} from 'react-native/Libraries/StyleSheet/StyleSheet';
-import type {
- LayoutChangeEvent,
- LayoutRectangle,
-} from 'react-native/Libraries/Types/CoreEventTypes';
const React = require('react');
const ReactNative = require('react-native');
diff --git a/vnext/codegen/NativeAnimatedModuleSpec.g.h b/vnext/codegen/NativeAnimatedModuleSpec.g.h
index b0da7340293..ce1eea2a5ca 100644
--- a/vnext/codegen/NativeAnimatedModuleSpec.g.h
+++ b/vnext/codegen/NativeAnimatedModuleSpec.g.h
@@ -17,6 +17,7 @@ namespace Microsoft::ReactNativeSpecs {
struct AnimatedModuleSpec_EndResult {
bool finished;
std::optional value;
+ std::optional offset;
};
struct AnimatedModuleSpec_EventMapping {
@@ -29,6 +30,7 @@ inline winrt::Microsoft::ReactNative::FieldMap GetStructInfo(AnimatedModuleSpec_
winrt::Microsoft::ReactNative::FieldMap fieldMap {
{L"finished", &AnimatedModuleSpec_EndResult::finished},
{L"value", &AnimatedModuleSpec_EndResult::value},
+ {L"offset", &AnimatedModuleSpec_EndResult::offset},
};
return fieldMap;
}
diff --git a/vnext/codegen/NativeAnimatedTurboModuleSpec.g.h b/vnext/codegen/NativeAnimatedTurboModuleSpec.g.h
index a9061d93a47..7bf019e7ab6 100644
--- a/vnext/codegen/NativeAnimatedTurboModuleSpec.g.h
+++ b/vnext/codegen/NativeAnimatedTurboModuleSpec.g.h
@@ -17,6 +17,7 @@ namespace Microsoft::ReactNativeSpecs {
struct AnimatedTurboModuleSpec_EndResult {
bool finished;
std::optional value;
+ std::optional offset;
};
struct AnimatedTurboModuleSpec_EventMapping {
@@ -29,6 +30,7 @@ inline winrt::Microsoft::ReactNative::FieldMap GetStructInfo(AnimatedTurboModule
winrt::Microsoft::ReactNative::FieldMap fieldMap {
{L"finished", &AnimatedTurboModuleSpec_EndResult::finished},
{L"value", &AnimatedTurboModuleSpec_EndResult::value},
+ {L"offset", &AnimatedTurboModuleSpec_EndResult::offset},
};
return fieldMap;
}
diff --git a/vnext/codegen/NativePerformanceSpec.g.h b/vnext/codegen/NativePerformanceSpec.g.h
index 1456b89720b..399f6e0f0d9 100644
--- a/vnext/codegen/NativePerformanceSpec.g.h
+++ b/vnext/codegen/NativePerformanceSpec.g.h
@@ -33,6 +33,13 @@ struct PerformanceSpec_RawPerformanceEntry {
std::optional processingStart;
std::optional processingEnd;
std::optional interactionId;
+ std::optional fetchStart;
+ std::optional requestStart;
+ std::optional connectStart;
+ std::optional connectEnd;
+ std::optional responseStart;
+ std::optional responseEnd;
+ std::optional responseStatus;
};
struct PerformanceSpec_ReactNativeStartupTiming {
@@ -66,6 +73,13 @@ inline winrt::Microsoft::ReactNative::FieldMap GetStructInfo(PerformanceSpec_Raw
{L"processingStart", &PerformanceSpec_RawPerformanceEntry::processingStart},
{L"processingEnd", &PerformanceSpec_RawPerformanceEntry::processingEnd},
{L"interactionId", &PerformanceSpec_RawPerformanceEntry::interactionId},
+ {L"fetchStart", &PerformanceSpec_RawPerformanceEntry::fetchStart},
+ {L"requestStart", &PerformanceSpec_RawPerformanceEntry::requestStart},
+ {L"connectStart", &PerformanceSpec_RawPerformanceEntry::connectStart},
+ {L"connectEnd", &PerformanceSpec_RawPerformanceEntry::connectEnd},
+ {L"responseStart", &PerformanceSpec_RawPerformanceEntry::responseStart},
+ {L"responseEnd", &PerformanceSpec_RawPerformanceEntry::responseEnd},
+ {L"responseStatus", &PerformanceSpec_RawPerformanceEntry::responseStatus},
};
return fieldMap;
}
diff --git a/vnext/codegen/NativeReactNativeFeatureFlagsSpec.g.h b/vnext/codegen/NativeReactNativeFeatureFlagsSpec.g.h
index c2e0da0e540..c327cbd02ae 100644
--- a/vnext/codegen/NativeReactNativeFeatureFlagsSpec.g.h
+++ b/vnext/codegen/NativeReactNativeFeatureFlagsSpec.g.h
@@ -28,38 +28,43 @@ struct ReactNativeFeatureFlagsSpec : winrt::Microsoft::ReactNative::TurboModuleS
SyncMethod{8, L"enableBridgelessArchitecture"},
SyncMethod{9, L"enableCppPropsIteratorSetter"},
SyncMethod{10, L"enableCustomFocusSearchOnClippedElementsAndroid"},
- SyncMethod{11, L"enableEagerRootViewAttachment"},
- SyncMethod{12, L"enableFabricLogs"},
- SyncMethod{13, L"enableFabricRenderer"},
- SyncMethod{14, L"enableFixForParentTagDuringReparenting"},
- SyncMethod{15, L"enableFontScaleChangesUpdatingLayout"},
- SyncMethod{16, L"enableIOSViewClipToPaddingBox"},
- SyncMethod{17, L"enableJSRuntimeGCOnMemoryPressureOnIOS"},
- SyncMethod{18, L"enableLayoutAnimationsOnAndroid"},
- SyncMethod{19, L"enableLayoutAnimationsOnIOS"},
- SyncMethod{20, L"enableMainQueueModulesOnIOS"},
- SyncMethod{21, L"enableNativeCSSParsing"},
- SyncMethod{22, L"enableNewBackgroundAndBorderDrawables"},
- SyncMethod{23, L"enablePropsUpdateReconciliationAndroid"},
- SyncMethod{24, L"enableSynchronousStateUpdates"},
- SyncMethod{25, L"enableViewCulling"},
- SyncMethod{26, L"enableViewRecycling"},
- SyncMethod{27, L"enableViewRecyclingForText"},
- SyncMethod{28, L"enableViewRecyclingForView"},
- SyncMethod{29, L"fixMappingOfEventPrioritiesBetweenFabricAndReact"},
- SyncMethod{30, L"fuseboxEnabledRelease"},
- SyncMethod{31, L"fuseboxNetworkInspectionEnabled"},
- SyncMethod{32, L"traceTurboModulePromiseRejectionsOnAndroid"},
- SyncMethod{33, L"updateRuntimeShadowNodeReferencesOnCommit"},
- SyncMethod{34, L"useAlwaysAvailableJSErrorHandling"},
- SyncMethod{35, L"useEditTextStockAndroidFocusBehavior"},
- SyncMethod{36, L"useFabricInterop"},
- SyncMethod{37, L"useNativeViewConfigsInBridgelessMode"},
- SyncMethod{38, L"useOptimizedEventBatchingOnAndroid"},
- SyncMethod{39, L"useRawPropsJsiValue"},
- SyncMethod{40, L"useShadowNodeStateOnClone"},
- SyncMethod{41, L"useTurboModuleInterop"},
- SyncMethod{42, L"useTurboModules"},
+ SyncMethod{11, L"enableDestroyShadowTreeRevisionAsync"},
+ SyncMethod{12, L"enableDoubleMeasurementFixAndroid"},
+ SyncMethod{13, L"enableEagerRootViewAttachment"},
+ SyncMethod{14, L"enableFabricLogs"},
+ SyncMethod{15, L"enableFabricRenderer"},
+ SyncMethod{16, L"enableFixForParentTagDuringReparenting"},
+ SyncMethod{17, L"enableFontScaleChangesUpdatingLayout"},
+ SyncMethod{18, L"enableIOSViewClipToPaddingBox"},
+ SyncMethod{19, L"enableJSRuntimeGCOnMemoryPressureOnIOS"},
+ SyncMethod{20, L"enableLayoutAnimationsOnAndroid"},
+ SyncMethod{21, L"enableLayoutAnimationsOnIOS"},
+ SyncMethod{22, L"enableMainQueueModulesOnIOS"},
+ SyncMethod{23, L"enableNativeCSSParsing"},
+ SyncMethod{24, L"enableNetworkEventReporting"},
+ SyncMethod{25, L"enableNewBackgroundAndBorderDrawables"},
+ SyncMethod{26, L"enablePreparedTextLayout"},
+ SyncMethod{27, L"enablePropsUpdateReconciliationAndroid"},
+ SyncMethod{28, L"enableResourceTimingAPI"},
+ SyncMethod{29, L"enableSynchronousStateUpdates"},
+ SyncMethod{30, L"enableViewCulling"},
+ SyncMethod{31, L"enableViewRecycling"},
+ SyncMethod{32, L"enableViewRecyclingForText"},
+ SyncMethod{33, L"enableViewRecyclingForView"},
+ SyncMethod{34, L"fixMappingOfEventPrioritiesBetweenFabricAndReact"},
+ SyncMethod{35, L"fuseboxEnabledRelease"},
+ SyncMethod{36, L"fuseboxNetworkInspectionEnabled"},
+ SyncMethod{37, L"incorporateMaxLinesDuringAndroidLayout"},
+ SyncMethod{38, L"traceTurboModulePromiseRejectionsOnAndroid"},
+ SyncMethod{39, L"updateRuntimeShadowNodeReferencesOnCommit"},
+ SyncMethod{40, L"useAlwaysAvailableJSErrorHandling"},
+ SyncMethod{41, L"useFabricInterop"},
+ SyncMethod{42, L"useNativeViewConfigsInBridgelessMode"},
+ SyncMethod{43, L"useOptimizedEventBatchingOnAndroid"},
+ SyncMethod{44, L"useRawPropsJsiValue"},
+ SyncMethod{45, L"useShadowNodeStateOnClone"},
+ SyncMethod{46, L"useTurboModuleInterop"},
+ SyncMethod{47, L"useTurboModules"},
};
template
@@ -123,161 +128,186 @@ struct ReactNativeFeatureFlagsSpec : winrt::Microsoft::ReactNative::TurboModuleS
" REACT_SYNC_METHOD(enableCustomFocusSearchOnClippedElementsAndroid) static bool enableCustomFocusSearchOnClippedElementsAndroid() noexcept { /* implementation */ }\n");
REACT_SHOW_METHOD_SPEC_ERRORS(
11,
+ "enableDestroyShadowTreeRevisionAsync",
+ " REACT_SYNC_METHOD(enableDestroyShadowTreeRevisionAsync) bool enableDestroyShadowTreeRevisionAsync() noexcept { /* implementation */ }\n"
+ " REACT_SYNC_METHOD(enableDestroyShadowTreeRevisionAsync) static bool enableDestroyShadowTreeRevisionAsync() noexcept { /* implementation */ }\n");
+ REACT_SHOW_METHOD_SPEC_ERRORS(
+ 12,
+ "enableDoubleMeasurementFixAndroid",
+ " REACT_SYNC_METHOD(enableDoubleMeasurementFixAndroid) bool enableDoubleMeasurementFixAndroid() noexcept { /* implementation */ }\n"
+ " REACT_SYNC_METHOD(enableDoubleMeasurementFixAndroid) static bool enableDoubleMeasurementFixAndroid() noexcept { /* implementation */ }\n");
+ REACT_SHOW_METHOD_SPEC_ERRORS(
+ 13,
"enableEagerRootViewAttachment",
" REACT_SYNC_METHOD(enableEagerRootViewAttachment) bool enableEagerRootViewAttachment() noexcept { /* implementation */ }\n"
" REACT_SYNC_METHOD(enableEagerRootViewAttachment) static bool enableEagerRootViewAttachment() noexcept { /* implementation */ }\n");
REACT_SHOW_METHOD_SPEC_ERRORS(
- 12,
+ 14,
"enableFabricLogs",
" REACT_SYNC_METHOD(enableFabricLogs) bool enableFabricLogs() noexcept { /* implementation */ }\n"
" REACT_SYNC_METHOD(enableFabricLogs) static bool enableFabricLogs() noexcept { /* implementation */ }\n");
REACT_SHOW_METHOD_SPEC_ERRORS(
- 13,
+ 15,
"enableFabricRenderer",
" REACT_SYNC_METHOD(enableFabricRenderer) bool enableFabricRenderer() noexcept { /* implementation */ }\n"
" REACT_SYNC_METHOD(enableFabricRenderer) static bool enableFabricRenderer() noexcept { /* implementation */ }\n");
REACT_SHOW_METHOD_SPEC_ERRORS(
- 14,
+ 16,
"enableFixForParentTagDuringReparenting",
" REACT_SYNC_METHOD(enableFixForParentTagDuringReparenting) bool enableFixForParentTagDuringReparenting() noexcept { /* implementation */ }\n"
" REACT_SYNC_METHOD(enableFixForParentTagDuringReparenting) static bool enableFixForParentTagDuringReparenting() noexcept { /* implementation */ }\n");
REACT_SHOW_METHOD_SPEC_ERRORS(
- 15,
+ 17,
"enableFontScaleChangesUpdatingLayout",
" REACT_SYNC_METHOD(enableFontScaleChangesUpdatingLayout) bool enableFontScaleChangesUpdatingLayout() noexcept { /* implementation */ }\n"
" REACT_SYNC_METHOD(enableFontScaleChangesUpdatingLayout) static bool enableFontScaleChangesUpdatingLayout() noexcept { /* implementation */ }\n");
REACT_SHOW_METHOD_SPEC_ERRORS(
- 16,
+ 18,
"enableIOSViewClipToPaddingBox",
" REACT_SYNC_METHOD(enableIOSViewClipToPaddingBox) bool enableIOSViewClipToPaddingBox() noexcept { /* implementation */ }\n"
" REACT_SYNC_METHOD(enableIOSViewClipToPaddingBox) static bool enableIOSViewClipToPaddingBox() noexcept { /* implementation */ }\n");
REACT_SHOW_METHOD_SPEC_ERRORS(
- 17,
+ 19,
"enableJSRuntimeGCOnMemoryPressureOnIOS",
" REACT_SYNC_METHOD(enableJSRuntimeGCOnMemoryPressureOnIOS) bool enableJSRuntimeGCOnMemoryPressureOnIOS() noexcept { /* implementation */ }\n"
" REACT_SYNC_METHOD(enableJSRuntimeGCOnMemoryPressureOnIOS) static bool enableJSRuntimeGCOnMemoryPressureOnIOS() noexcept { /* implementation */ }\n");
REACT_SHOW_METHOD_SPEC_ERRORS(
- 18,
+ 20,
"enableLayoutAnimationsOnAndroid",
" REACT_SYNC_METHOD(enableLayoutAnimationsOnAndroid) bool enableLayoutAnimationsOnAndroid() noexcept { /* implementation */ }\n"
" REACT_SYNC_METHOD(enableLayoutAnimationsOnAndroid) static bool enableLayoutAnimationsOnAndroid() noexcept { /* implementation */ }\n");
REACT_SHOW_METHOD_SPEC_ERRORS(
- 19,
+ 21,
"enableLayoutAnimationsOnIOS",
" REACT_SYNC_METHOD(enableLayoutAnimationsOnIOS) bool enableLayoutAnimationsOnIOS() noexcept { /* implementation */ }\n"
" REACT_SYNC_METHOD(enableLayoutAnimationsOnIOS) static bool enableLayoutAnimationsOnIOS() noexcept { /* implementation */ }\n");
REACT_SHOW_METHOD_SPEC_ERRORS(
- 20,
+ 22,
"enableMainQueueModulesOnIOS",
" REACT_SYNC_METHOD(enableMainQueueModulesOnIOS) bool enableMainQueueModulesOnIOS() noexcept { /* implementation */ }\n"
" REACT_SYNC_METHOD(enableMainQueueModulesOnIOS) static bool enableMainQueueModulesOnIOS() noexcept { /* implementation */ }\n");
REACT_SHOW_METHOD_SPEC_ERRORS(
- 21,
+ 23,
"enableNativeCSSParsing",
" REACT_SYNC_METHOD(enableNativeCSSParsing) bool enableNativeCSSParsing() noexcept { /* implementation */ }\n"
" REACT_SYNC_METHOD(enableNativeCSSParsing) static bool enableNativeCSSParsing() noexcept { /* implementation */ }\n");
REACT_SHOW_METHOD_SPEC_ERRORS(
- 22,
+ 24,
+ "enableNetworkEventReporting",
+ " REACT_SYNC_METHOD(enableNetworkEventReporting) bool enableNetworkEventReporting() noexcept { /* implementation */ }\n"
+ " REACT_SYNC_METHOD(enableNetworkEventReporting) static bool enableNetworkEventReporting() noexcept { /* implementation */ }\n");
+ REACT_SHOW_METHOD_SPEC_ERRORS(
+ 25,
"enableNewBackgroundAndBorderDrawables",
" REACT_SYNC_METHOD(enableNewBackgroundAndBorderDrawables) bool enableNewBackgroundAndBorderDrawables() noexcept { /* implementation */ }\n"
" REACT_SYNC_METHOD(enableNewBackgroundAndBorderDrawables) static bool enableNewBackgroundAndBorderDrawables() noexcept { /* implementation */ }\n");
REACT_SHOW_METHOD_SPEC_ERRORS(
- 23,
+ 26,
+ "enablePreparedTextLayout",
+ " REACT_SYNC_METHOD(enablePreparedTextLayout) bool enablePreparedTextLayout() noexcept { /* implementation */ }\n"
+ " REACT_SYNC_METHOD(enablePreparedTextLayout) static bool enablePreparedTextLayout() noexcept { /* implementation */ }\n");
+ REACT_SHOW_METHOD_SPEC_ERRORS(
+ 27,
"enablePropsUpdateReconciliationAndroid",
" REACT_SYNC_METHOD(enablePropsUpdateReconciliationAndroid) bool enablePropsUpdateReconciliationAndroid() noexcept { /* implementation */ }\n"
" REACT_SYNC_METHOD(enablePropsUpdateReconciliationAndroid) static bool enablePropsUpdateReconciliationAndroid() noexcept { /* implementation */ }\n");
REACT_SHOW_METHOD_SPEC_ERRORS(
- 24,
+ 28,
+ "enableResourceTimingAPI",
+ " REACT_SYNC_METHOD(enableResourceTimingAPI) bool enableResourceTimingAPI() noexcept { /* implementation */ }\n"
+ " REACT_SYNC_METHOD(enableResourceTimingAPI) static bool enableResourceTimingAPI() noexcept { /* implementation */ }\n");
+ REACT_SHOW_METHOD_SPEC_ERRORS(
+ 29,
"enableSynchronousStateUpdates",
" REACT_SYNC_METHOD(enableSynchronousStateUpdates) bool enableSynchronousStateUpdates() noexcept { /* implementation */ }\n"
" REACT_SYNC_METHOD(enableSynchronousStateUpdates) static bool enableSynchronousStateUpdates() noexcept { /* implementation */ }\n");
REACT_SHOW_METHOD_SPEC_ERRORS(
- 25,
+ 30,
"enableViewCulling",
" REACT_SYNC_METHOD(enableViewCulling) bool enableViewCulling() noexcept { /* implementation */ }\n"
" REACT_SYNC_METHOD(enableViewCulling) static bool enableViewCulling() noexcept { /* implementation */ }\n");
REACT_SHOW_METHOD_SPEC_ERRORS(
- 26,
+ 31,
"enableViewRecycling",
" REACT_SYNC_METHOD(enableViewRecycling) bool enableViewRecycling() noexcept { /* implementation */ }\n"
" REACT_SYNC_METHOD(enableViewRecycling) static bool enableViewRecycling() noexcept { /* implementation */ }\n");
REACT_SHOW_METHOD_SPEC_ERRORS(
- 27,
+ 32,
"enableViewRecyclingForText",
" REACT_SYNC_METHOD(enableViewRecyclingForText) bool enableViewRecyclingForText() noexcept { /* implementation */ }\n"
" REACT_SYNC_METHOD(enableViewRecyclingForText) static bool enableViewRecyclingForText() noexcept { /* implementation */ }\n");
REACT_SHOW_METHOD_SPEC_ERRORS(
- 28,
+ 33,
"enableViewRecyclingForView",
" REACT_SYNC_METHOD(enableViewRecyclingForView) bool enableViewRecyclingForView() noexcept { /* implementation */ }\n"
" REACT_SYNC_METHOD(enableViewRecyclingForView) static bool enableViewRecyclingForView() noexcept { /* implementation */ }\n");
REACT_SHOW_METHOD_SPEC_ERRORS(
- 29,
+ 34,
"fixMappingOfEventPrioritiesBetweenFabricAndReact",
" REACT_SYNC_METHOD(fixMappingOfEventPrioritiesBetweenFabricAndReact) bool fixMappingOfEventPrioritiesBetweenFabricAndReact() noexcept { /* implementation */ }\n"
" REACT_SYNC_METHOD(fixMappingOfEventPrioritiesBetweenFabricAndReact) static bool fixMappingOfEventPrioritiesBetweenFabricAndReact() noexcept { /* implementation */ }\n");
REACT_SHOW_METHOD_SPEC_ERRORS(
- 30,
+ 35,
"fuseboxEnabledRelease",
" REACT_SYNC_METHOD(fuseboxEnabledRelease) bool fuseboxEnabledRelease() noexcept { /* implementation */ }\n"
" REACT_SYNC_METHOD(fuseboxEnabledRelease) static bool fuseboxEnabledRelease() noexcept { /* implementation */ }\n");
REACT_SHOW_METHOD_SPEC_ERRORS(
- 31,
+ 36,
"fuseboxNetworkInspectionEnabled",
" REACT_SYNC_METHOD(fuseboxNetworkInspectionEnabled) bool fuseboxNetworkInspectionEnabled() noexcept { /* implementation */ }\n"
" REACT_SYNC_METHOD(fuseboxNetworkInspectionEnabled) static bool fuseboxNetworkInspectionEnabled() noexcept { /* implementation */ }\n");
REACT_SHOW_METHOD_SPEC_ERRORS(
- 32,
+ 37,
+ "incorporateMaxLinesDuringAndroidLayout",
+ " REACT_SYNC_METHOD(incorporateMaxLinesDuringAndroidLayout) bool incorporateMaxLinesDuringAndroidLayout() noexcept { /* implementation */ }\n"
+ " REACT_SYNC_METHOD(incorporateMaxLinesDuringAndroidLayout) static bool incorporateMaxLinesDuringAndroidLayout() noexcept { /* implementation */ }\n");
+ REACT_SHOW_METHOD_SPEC_ERRORS(
+ 38,
"traceTurboModulePromiseRejectionsOnAndroid",
" REACT_SYNC_METHOD(traceTurboModulePromiseRejectionsOnAndroid) bool traceTurboModulePromiseRejectionsOnAndroid() noexcept { /* implementation */ }\n"
" REACT_SYNC_METHOD(traceTurboModulePromiseRejectionsOnAndroid) static bool traceTurboModulePromiseRejectionsOnAndroid() noexcept { /* implementation */ }\n");
REACT_SHOW_METHOD_SPEC_ERRORS(
- 33,
+ 39,
"updateRuntimeShadowNodeReferencesOnCommit",
" REACT_SYNC_METHOD(updateRuntimeShadowNodeReferencesOnCommit) bool updateRuntimeShadowNodeReferencesOnCommit() noexcept { /* implementation */ }\n"
" REACT_SYNC_METHOD(updateRuntimeShadowNodeReferencesOnCommit) static bool updateRuntimeShadowNodeReferencesOnCommit() noexcept { /* implementation */ }\n");
REACT_SHOW_METHOD_SPEC_ERRORS(
- 34,
+ 40,
"useAlwaysAvailableJSErrorHandling",
" REACT_SYNC_METHOD(useAlwaysAvailableJSErrorHandling) bool useAlwaysAvailableJSErrorHandling() noexcept { /* implementation */ }\n"
" REACT_SYNC_METHOD(useAlwaysAvailableJSErrorHandling) static bool useAlwaysAvailableJSErrorHandling() noexcept { /* implementation */ }\n");
REACT_SHOW_METHOD_SPEC_ERRORS(
- 35,
- "useEditTextStockAndroidFocusBehavior",
- " REACT_SYNC_METHOD(useEditTextStockAndroidFocusBehavior) bool useEditTextStockAndroidFocusBehavior() noexcept { /* implementation */ }\n"
- " REACT_SYNC_METHOD(useEditTextStockAndroidFocusBehavior) static bool useEditTextStockAndroidFocusBehavior() noexcept { /* implementation */ }\n");
- REACT_SHOW_METHOD_SPEC_ERRORS(
- 36,
+ 41,
"useFabricInterop",
" REACT_SYNC_METHOD(useFabricInterop) bool useFabricInterop() noexcept { /* implementation */ }\n"
" REACT_SYNC_METHOD(useFabricInterop) static bool useFabricInterop() noexcept { /* implementation */ }\n");
REACT_SHOW_METHOD_SPEC_ERRORS(
- 37,
+ 42,
"useNativeViewConfigsInBridgelessMode",
" REACT_SYNC_METHOD(useNativeViewConfigsInBridgelessMode) bool useNativeViewConfigsInBridgelessMode() noexcept { /* implementation */ }\n"
" REACT_SYNC_METHOD(useNativeViewConfigsInBridgelessMode) static bool useNativeViewConfigsInBridgelessMode() noexcept { /* implementation */ }\n");
REACT_SHOW_METHOD_SPEC_ERRORS(
- 38,
+ 43,
"useOptimizedEventBatchingOnAndroid",
" REACT_SYNC_METHOD(useOptimizedEventBatchingOnAndroid) bool useOptimizedEventBatchingOnAndroid() noexcept { /* implementation */ }\n"
" REACT_SYNC_METHOD(useOptimizedEventBatchingOnAndroid) static bool useOptimizedEventBatchingOnAndroid() noexcept { /* implementation */ }\n");
REACT_SHOW_METHOD_SPEC_ERRORS(
- 39,
+ 44,
"useRawPropsJsiValue",
" REACT_SYNC_METHOD(useRawPropsJsiValue) bool useRawPropsJsiValue() noexcept { /* implementation */ }\n"
" REACT_SYNC_METHOD(useRawPropsJsiValue) static bool useRawPropsJsiValue() noexcept { /* implementation */ }\n");
REACT_SHOW_METHOD_SPEC_ERRORS(
- 40,
+ 45,
"useShadowNodeStateOnClone",
" REACT_SYNC_METHOD(useShadowNodeStateOnClone) bool useShadowNodeStateOnClone() noexcept { /* implementation */ }\n"
" REACT_SYNC_METHOD(useShadowNodeStateOnClone) static bool useShadowNodeStateOnClone() noexcept { /* implementation */ }\n");
REACT_SHOW_METHOD_SPEC_ERRORS(
- 41,
+ 46,
"useTurboModuleInterop",
" REACT_SYNC_METHOD(useTurboModuleInterop) bool useTurboModuleInterop() noexcept { /* implementation */ }\n"
" REACT_SYNC_METHOD(useTurboModuleInterop) static bool useTurboModuleInterop() noexcept { /* implementation */ }\n");
REACT_SHOW_METHOD_SPEC_ERRORS(
- 42,
+ 47,
"useTurboModules",
" REACT_SYNC_METHOD(useTurboModules) bool useTurboModules() noexcept { /* implementation */ }\n"
" REACT_SYNC_METHOD(useTurboModules) static bool useTurboModules() noexcept { /* implementation */ }\n");
diff --git a/vnext/codegen/rnwcoreJSI-generated.cpp b/vnext/codegen/rnwcoreJSI-generated.cpp
index c48eed19537..c96283e3376 100644
--- a/vnext/codegen/rnwcoreJSI-generated.cpp
+++ b/vnext/codegen/rnwcoreJSI-generated.cpp
@@ -66,6 +66,16 @@ static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableC
rt
);
}
+static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableDestroyShadowTreeRevisionAsync(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
+ return static_cast(&turboModule)->enableDestroyShadowTreeRevisionAsync(
+ rt
+ );
+}
+static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableDoubleMeasurementFixAndroid(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
+ return static_cast(&turboModule)->enableDoubleMeasurementFixAndroid(
+ rt
+ );
+}
static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableEagerRootViewAttachment(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
return static_cast(&turboModule)->enableEagerRootViewAttachment(
rt
@@ -121,16 +131,31 @@ static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableN
rt
);
}
+static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableNetworkEventReporting(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
+ return static_cast(&turboModule)->enableNetworkEventReporting(
+ rt
+ );
+}
static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableNewBackgroundAndBorderDrawables(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
return static_cast(&turboModule)->enableNewBackgroundAndBorderDrawables(
rt
);
}
+static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enablePreparedTextLayout(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
+ return static_cast(&turboModule)->enablePreparedTextLayout(
+ rt
+ );
+}
static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enablePropsUpdateReconciliationAndroid(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
return static_cast(&turboModule)->enablePropsUpdateReconciliationAndroid(
rt
);
}
+static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableResourceTimingAPI(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
+ return static_cast(&turboModule)->enableResourceTimingAPI(
+ rt
+ );
+}
static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableSynchronousStateUpdates(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
return static_cast(&turboModule)->enableSynchronousStateUpdates(
rt
@@ -171,6 +196,11 @@ static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_fusebox
rt
);
}
+static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_incorporateMaxLinesDuringAndroidLayout(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
+ return static_cast(&turboModule)->incorporateMaxLinesDuringAndroidLayout(
+ rt
+ );
+}
static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_traceTurboModulePromiseRejectionsOnAndroid(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
return static_cast(&turboModule)->traceTurboModulePromiseRejectionsOnAndroid(
rt
@@ -186,11 +216,6 @@ static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_useAlwa
rt
);
}
-static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_useEditTextStockAndroidFocusBehavior(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
- return static_cast(&turboModule)->useEditTextStockAndroidFocusBehavior(
- rt
- );
-}
static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_useFabricInterop(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
return static_cast(&turboModule)->useFabricInterop(
rt
@@ -240,6 +265,8 @@ NativeReactNativeFeatureFlagsCxxSpecJSI::NativeReactNativeFeatureFlagsCxxSpecJSI
methodMap_["enableBridgelessArchitecture"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableBridgelessArchitecture};
methodMap_["enableCppPropsIteratorSetter"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableCppPropsIteratorSetter};
methodMap_["enableCustomFocusSearchOnClippedElementsAndroid"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableCustomFocusSearchOnClippedElementsAndroid};
+ methodMap_["enableDestroyShadowTreeRevisionAsync"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableDestroyShadowTreeRevisionAsync};
+ methodMap_["enableDoubleMeasurementFixAndroid"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableDoubleMeasurementFixAndroid};
methodMap_["enableEagerRootViewAttachment"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableEagerRootViewAttachment};
methodMap_["enableFabricLogs"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableFabricLogs};
methodMap_["enableFabricRenderer"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableFabricRenderer};
@@ -251,8 +278,11 @@ NativeReactNativeFeatureFlagsCxxSpecJSI::NativeReactNativeFeatureFlagsCxxSpecJSI
methodMap_["enableLayoutAnimationsOnIOS"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableLayoutAnimationsOnIOS};
methodMap_["enableMainQueueModulesOnIOS"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableMainQueueModulesOnIOS};
methodMap_["enableNativeCSSParsing"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableNativeCSSParsing};
+ methodMap_["enableNetworkEventReporting"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableNetworkEventReporting};
methodMap_["enableNewBackgroundAndBorderDrawables"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableNewBackgroundAndBorderDrawables};
+ methodMap_["enablePreparedTextLayout"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enablePreparedTextLayout};
methodMap_["enablePropsUpdateReconciliationAndroid"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enablePropsUpdateReconciliationAndroid};
+ methodMap_["enableResourceTimingAPI"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableResourceTimingAPI};
methodMap_["enableSynchronousStateUpdates"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableSynchronousStateUpdates};
methodMap_["enableViewCulling"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableViewCulling};
methodMap_["enableViewRecycling"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableViewRecycling};
@@ -261,10 +291,10 @@ NativeReactNativeFeatureFlagsCxxSpecJSI::NativeReactNativeFeatureFlagsCxxSpecJSI
methodMap_["fixMappingOfEventPrioritiesBetweenFabricAndReact"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_fixMappingOfEventPrioritiesBetweenFabricAndReact};
methodMap_["fuseboxEnabledRelease"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_fuseboxEnabledRelease};
methodMap_["fuseboxNetworkInspectionEnabled"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_fuseboxNetworkInspectionEnabled};
+ methodMap_["incorporateMaxLinesDuringAndroidLayout"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_incorporateMaxLinesDuringAndroidLayout};
methodMap_["traceTurboModulePromiseRejectionsOnAndroid"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_traceTurboModulePromiseRejectionsOnAndroid};
methodMap_["updateRuntimeShadowNodeReferencesOnCommit"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_updateRuntimeShadowNodeReferencesOnCommit};
methodMap_["useAlwaysAvailableJSErrorHandling"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_useAlwaysAvailableJSErrorHandling};
- methodMap_["useEditTextStockAndroidFocusBehavior"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_useEditTextStockAndroidFocusBehavior};
methodMap_["useFabricInterop"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_useFabricInterop};
methodMap_["useNativeViewConfigsInBridgelessMode"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_useNativeViewConfigsInBridgelessMode};
methodMap_["useOptimizedEventBatchingOnAndroid"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_useOptimizedEventBatchingOnAndroid};
diff --git a/vnext/codegen/rnwcoreJSI.h b/vnext/codegen/rnwcoreJSI.h
index 3852b68f734..3e34c1ab816 100644
--- a/vnext/codegen/rnwcoreJSI.h
+++ b/vnext/codegen/rnwcoreJSI.h
@@ -31,6 +31,8 @@ namespace facebook::react {
virtual bool enableBridgelessArchitecture(jsi::Runtime &rt) = 0;
virtual bool enableCppPropsIteratorSetter(jsi::Runtime &rt) = 0;
virtual bool enableCustomFocusSearchOnClippedElementsAndroid(jsi::Runtime &rt) = 0;
+ virtual bool enableDestroyShadowTreeRevisionAsync(jsi::Runtime &rt) = 0;
+ virtual bool enableDoubleMeasurementFixAndroid(jsi::Runtime &rt) = 0;
virtual bool enableEagerRootViewAttachment(jsi::Runtime &rt) = 0;
virtual bool enableFabricLogs(jsi::Runtime &rt) = 0;
virtual bool enableFabricRenderer(jsi::Runtime &rt) = 0;
@@ -42,8 +44,11 @@ namespace facebook::react {
virtual bool enableLayoutAnimationsOnIOS(jsi::Runtime &rt) = 0;
virtual bool enableMainQueueModulesOnIOS(jsi::Runtime &rt) = 0;
virtual bool enableNativeCSSParsing(jsi::Runtime &rt) = 0;
+ virtual bool enableNetworkEventReporting(jsi::Runtime &rt) = 0;
virtual bool enableNewBackgroundAndBorderDrawables(jsi::Runtime &rt) = 0;
+ virtual bool enablePreparedTextLayout(jsi::Runtime &rt) = 0;
virtual bool enablePropsUpdateReconciliationAndroid(jsi::Runtime &rt) = 0;
+ virtual bool enableResourceTimingAPI(jsi::Runtime &rt) = 0;
virtual bool enableSynchronousStateUpdates(jsi::Runtime &rt) = 0;
virtual bool enableViewCulling(jsi::Runtime &rt) = 0;
virtual bool enableViewRecycling(jsi::Runtime &rt) = 0;
@@ -52,10 +57,10 @@ namespace facebook::react {
virtual bool fixMappingOfEventPrioritiesBetweenFabricAndReact(jsi::Runtime &rt) = 0;
virtual bool fuseboxEnabledRelease(jsi::Runtime &rt) = 0;
virtual bool fuseboxNetworkInspectionEnabled(jsi::Runtime &rt) = 0;
+ virtual bool incorporateMaxLinesDuringAndroidLayout(jsi::Runtime &rt) = 0;
virtual bool traceTurboModulePromiseRejectionsOnAndroid(jsi::Runtime &rt) = 0;
virtual bool updateRuntimeShadowNodeReferencesOnCommit(jsi::Runtime &rt) = 0;
virtual bool useAlwaysAvailableJSErrorHandling(jsi::Runtime &rt) = 0;
- virtual bool useEditTextStockAndroidFocusBehavior(jsi::Runtime &rt) = 0;
virtual bool useFabricInterop(jsi::Runtime &rt) = 0;
virtual bool useNativeViewConfigsInBridgelessMode(jsi::Runtime &rt) = 0;
virtual bool useOptimizedEventBatchingOnAndroid(jsi::Runtime &rt) = 0;
@@ -181,6 +186,22 @@ class JSI_EXPORT NativeReactNativeFeatureFlagsCxxSpec : public TurboModule {
return bridging::callFromJs(
rt, &T::enableCustomFocusSearchOnClippedElementsAndroid, jsInvoker_, instance_);
}
+ bool enableDestroyShadowTreeRevisionAsync(jsi::Runtime &rt) override {
+ static_assert(
+ bridging::getParameterCount(&T::enableDestroyShadowTreeRevisionAsync) == 1,
+ "Expected enableDestroyShadowTreeRevisionAsync(...) to have 1 parameters");
+
+ return bridging::callFromJs(
+ rt, &T::enableDestroyShadowTreeRevisionAsync, jsInvoker_, instance_);
+ }
+ bool enableDoubleMeasurementFixAndroid(jsi::Runtime &rt) override {
+ static_assert(
+ bridging::getParameterCount(&T::enableDoubleMeasurementFixAndroid) == 1,
+ "Expected enableDoubleMeasurementFixAndroid(...) to have 1 parameters");
+
+ return bridging::callFromJs(
+ rt, &T::enableDoubleMeasurementFixAndroid, jsInvoker_, instance_);
+ }
bool enableEagerRootViewAttachment(jsi::Runtime &rt) override {
static_assert(
bridging::getParameterCount(&T::enableEagerRootViewAttachment) == 1,
@@ -269,6 +290,14 @@ class JSI_EXPORT NativeReactNativeFeatureFlagsCxxSpec : public TurboModule {
return bridging::callFromJs(
rt, &T::enableNativeCSSParsing, jsInvoker_, instance_);
}
+ bool enableNetworkEventReporting(jsi::Runtime &rt) override {
+ static_assert(
+ bridging::getParameterCount(&T::enableNetworkEventReporting) == 1,
+ "Expected enableNetworkEventReporting(...) to have 1 parameters");
+
+ return bridging::callFromJs(
+ rt, &T::enableNetworkEventReporting, jsInvoker_, instance_);
+ }
bool enableNewBackgroundAndBorderDrawables(jsi::Runtime &rt) override {
static_assert(
bridging::getParameterCount(&T::enableNewBackgroundAndBorderDrawables) == 1,
@@ -277,6 +306,14 @@ class JSI_EXPORT NativeReactNativeFeatureFlagsCxxSpec : public TurboModule {
return bridging::callFromJs(
rt, &T::enableNewBackgroundAndBorderDrawables, jsInvoker_, instance_);
}
+ bool enablePreparedTextLayout(jsi::Runtime &rt) override {
+ static_assert(
+ bridging::getParameterCount(&T::enablePreparedTextLayout) == 1,
+ "Expected enablePreparedTextLayout(...) to have 1 parameters");
+
+ return bridging::callFromJs(
+ rt, &T::enablePreparedTextLayout, jsInvoker_, instance_);
+ }
bool enablePropsUpdateReconciliationAndroid(jsi::Runtime &rt) override {
static_assert(
bridging::getParameterCount(&T::enablePropsUpdateReconciliationAndroid) == 1,
@@ -285,6 +322,14 @@ class JSI_EXPORT NativeReactNativeFeatureFlagsCxxSpec : public TurboModule {
return bridging::callFromJs(
rt, &T::enablePropsUpdateReconciliationAndroid, jsInvoker_, instance_);
}
+ bool enableResourceTimingAPI(jsi::Runtime &rt) override {
+ static_assert(
+ bridging::getParameterCount(&T::enableResourceTimingAPI) == 1,
+ "Expected enableResourceTimingAPI(...) to have 1 parameters");
+
+ return bridging::callFromJs(
+ rt, &T::enableResourceTimingAPI, jsInvoker_, instance_);
+ }
bool enableSynchronousStateUpdates(jsi::Runtime &rt) override {
static_assert(
bridging::getParameterCount(&T::enableSynchronousStateUpdates) == 1,
@@ -349,6 +394,14 @@ class JSI_EXPORT NativeReactNativeFeatureFlagsCxxSpec : public TurboModule {
return bridging::callFromJs(
rt, &T::fuseboxNetworkInspectionEnabled, jsInvoker_, instance_);
}
+ bool incorporateMaxLinesDuringAndroidLayout(jsi::Runtime &rt) override {
+ static_assert(
+ bridging::getParameterCount(&T::incorporateMaxLinesDuringAndroidLayout) == 1,
+ "Expected incorporateMaxLinesDuringAndroidLayout(...) to have 1 parameters");
+
+ return bridging::callFromJs(
+ rt, &T::incorporateMaxLinesDuringAndroidLayout, jsInvoker_, instance_);
+ }
bool traceTurboModulePromiseRejectionsOnAndroid(jsi::Runtime &rt) override {
static_assert(
bridging::getParameterCount(&T::traceTurboModulePromiseRejectionsOnAndroid) == 1,
@@ -373,14 +426,6 @@ class JSI_EXPORT NativeReactNativeFeatureFlagsCxxSpec : public TurboModule {
return bridging::callFromJs(
rt, &T::useAlwaysAvailableJSErrorHandling, jsInvoker_, instance_);
}
- bool useEditTextStockAndroidFocusBehavior(jsi::Runtime &rt) override {
- static_assert(
- bridging::getParameterCount(&T::useEditTextStockAndroidFocusBehavior) == 1,
- "Expected useEditTextStockAndroidFocusBehavior(...) to have 1 parameters");
-
- return bridging::callFromJs(
- rt, &T::useEditTextStockAndroidFocusBehavior, jsInvoker_, instance_);
- }
bool useFabricInterop(jsi::Runtime &rt) override {
static_assert(
bridging::getParameterCount(&T::useFabricInterop) == 1,
@@ -987,12 +1032,13 @@ class JSI_EXPORT NativeAlertManagerCxxSpec : public TurboModule {
#pragma mark - NativeAnimatedModuleEndResult
-template
+template
struct NativeAnimatedModuleEndResult {
P0 finished;
P1 value;
+ P2 offset;
bool operator==(const NativeAnimatedModuleEndResult &other) const {
- return finished == other.finished && value == other.value;
+ return finished == other.finished && value == other.value && offset == other.offset;
}
};
@@ -1006,7 +1052,8 @@ struct NativeAnimatedModuleEndResultBridging {
const std::shared_ptr &jsInvoker) {
T result{
bridging::fromJs(rt, value.getProperty(rt, "finished"), jsInvoker),
- bridging::fromJs(rt, value.getProperty(rt, "value"), jsInvoker)};
+ bridging::fromJs(rt, value.getProperty(rt, "value"), jsInvoker),
+ bridging::fromJs(rt, value.getProperty(rt, "offset"), jsInvoker)};
return result;
}
@@ -1018,6 +1065,10 @@ struct NativeAnimatedModuleEndResultBridging {
static double valueToJs(jsi::Runtime &rt, decltype(types.value) value) {
return bridging::toJs(rt, value);
}
+
+ static double offsetToJs(jsi::Runtime &rt, decltype(types.offset) value) {
+ return bridging::toJs(rt, value);
+ }
#endif
static jsi::Object toJs(
@@ -1029,6 +1080,9 @@ struct NativeAnimatedModuleEndResultBridging {
if (value.value) {
result.setProperty(rt, "value", bridging::toJs(rt, value.value.value(), jsInvoker));
}
+ if (value.offset) {
+ result.setProperty(rt, "offset", bridging::toJs(rt, value.offset.value(), jsInvoker));
+ }
return result;
}
};
@@ -1345,12 +1399,13 @@ class JSI_EXPORT NativeAnimatedModuleCxxSpec : public TurboModule {
#pragma mark - NativeAnimatedTurboModuleEndResult
-template
+template
struct NativeAnimatedTurboModuleEndResult {
P0 finished;
P1 value;
+ P2 offset;
bool operator==(const NativeAnimatedTurboModuleEndResult &other) const {
- return finished == other.finished && value == other.value;
+ return finished == other.finished && value == other.value && offset == other.offset;
}
};
@@ -1364,7 +1419,8 @@ struct NativeAnimatedTurboModuleEndResultBridging {
const std::shared_ptr &jsInvoker) {
T result{
bridging::fromJs(rt, value.getProperty(rt, "finished"), jsInvoker),
- bridging::fromJs(rt, value.getProperty(rt, "value"), jsInvoker)};
+ bridging::fromJs(rt, value.getProperty(rt, "value"), jsInvoker),
+ bridging::fromJs(rt, value.getProperty(rt, "offset"), jsInvoker)};
return result;
}
@@ -1376,6 +1432,10 @@ struct NativeAnimatedTurboModuleEndResultBridging {
static double valueToJs(jsi::Runtime &rt, decltype(types.value) value) {
return bridging::toJs(rt, value);
}
+
+ static double offsetToJs(jsi::Runtime &rt, decltype(types.offset) value) {
+ return bridging::toJs(rt, value);
+ }
#endif
static jsi::Object toJs(
@@ -1387,6 +1447,9 @@ struct NativeAnimatedTurboModuleEndResultBridging {
if (value.value) {
result.setProperty(rt, "value", bridging::toJs(rt, value.value.value(), jsInvoker));
}
+ if (value.offset) {
+ result.setProperty(rt, "offset", bridging::toJs(rt, value.offset.value(), jsInvoker));
+ }
return result;
}
};
@@ -8660,7 +8723,7 @@ struct NativePerformancePerformanceObserverInitBridging {
#pragma mark - NativePerformanceRawPerformanceEntry
-template
+template
struct NativePerformanceRawPerformanceEntry {
P0 name;
P1 entryType;
@@ -8669,8 +8732,15 @@ struct NativePerformanceRawPerformanceEntry {
P4 processingStart;
P5 processingEnd;
P6 interactionId;
+ P7 fetchStart;
+ P8 requestStart;
+ P9 connectStart;
+ P10 connectEnd;
+ P11 responseStart;
+ P12 responseEnd;
+ P13 responseStatus;
bool operator==(const NativePerformanceRawPerformanceEntry &other) const {
- return name == other.name && entryType == other.entryType && startTime == other.startTime && duration == other.duration && processingStart == other.processingStart && processingEnd == other.processingEnd && interactionId == other.interactionId;
+ return name == other.name && entryType == other.entryType && startTime == other.startTime && duration == other.duration && processingStart == other.processingStart && processingEnd == other.processingEnd && interactionId == other.interactionId && fetchStart == other.fetchStart && requestStart == other.requestStart && connectStart == other.connectStart && connectEnd == other.connectEnd && responseStart == other.responseStart && responseEnd == other.responseEnd && responseStatus == other.responseStatus;
}
};
@@ -8689,7 +8759,14 @@ struct NativePerformanceRawPerformanceEntryBridging {
bridging::fromJs(rt, value.getProperty(rt, "duration"), jsInvoker),
bridging::fromJs(rt, value.getProperty(rt, "processingStart"), jsInvoker),
bridging::fromJs(rt, value.getProperty(rt, "processingEnd"), jsInvoker),
- bridging::fromJs(rt, value.getProperty(rt, "interactionId"), jsInvoker)};
+ bridging::fromJs(rt, value.getProperty(rt, "interactionId"), jsInvoker),
+ bridging::fromJs(rt, value.getProperty(rt, "fetchStart"), jsInvoker),
+ bridging::fromJs(rt, value.getProperty(rt, "requestStart"), jsInvoker),
+ bridging::fromJs(rt, value.getProperty(rt, "connectStart"), jsInvoker),
+ bridging::fromJs(rt, value.getProperty(rt, "connectEnd"), jsInvoker),
+ bridging::fromJs(rt, value.getProperty(rt, "responseStart"), jsInvoker),
+ bridging::fromJs(rt, value.getProperty(rt, "responseEnd"), jsInvoker),
+ bridging::fromJs(rt, value.getProperty(rt, "responseStatus"), jsInvoker)};
return result;
}
@@ -8721,6 +8798,34 @@ struct NativePerformanceRawPerformanceEntryBridging {
static double interactionIdToJs(jsi::Runtime &rt, decltype(types.interactionId) value) {
return bridging::toJs(rt, value);
}
+
+ static double fetchStartToJs(jsi::Runtime &rt, decltype(types.fetchStart) value) {
+ return bridging::toJs(rt, value);
+ }
+
+ static double requestStartToJs(jsi::Runtime &rt, decltype(types.requestStart) value) {
+ return bridging::toJs(rt, value);
+ }
+
+ static double connectStartToJs(jsi::Runtime &rt, decltype(types.connectStart) value) {
+ return bridging::toJs(rt, value);
+ }
+
+ static double connectEndToJs(jsi::Runtime &rt, decltype(types.connectEnd) value) {
+ return bridging::toJs(rt, value);
+ }
+
+ static double responseStartToJs(jsi::Runtime &rt, decltype(types.responseStart) value) {
+ return bridging::toJs(rt, value);
+ }
+
+ static double responseEndToJs(jsi::Runtime &rt, decltype(types.responseEnd) value) {
+ return bridging::toJs(rt, value);
+ }
+
+ static double responseStatusToJs(jsi::Runtime &rt, decltype(types.responseStatus) value) {
+ return bridging::toJs(rt, value);
+ }
#endif
static jsi::Object toJs(
@@ -8741,6 +8846,27 @@ struct NativePerformanceRawPerformanceEntryBridging {
if (value.interactionId) {
result.setProperty(rt, "interactionId", bridging::toJs(rt, value.interactionId.value(), jsInvoker));
}
+ if (value.fetchStart) {
+ result.setProperty(rt, "fetchStart", bridging::toJs(rt, value.fetchStart.value(), jsInvoker));
+ }
+ if (value.requestStart) {
+ result.setProperty(rt, "requestStart", bridging::toJs(rt, value.requestStart.value(), jsInvoker));
+ }
+ if (value.connectStart) {
+ result.setProperty(rt, "connectStart", bridging::toJs(rt, value.connectStart.value(), jsInvoker));
+ }
+ if (value.connectEnd) {
+ result.setProperty(rt, "connectEnd", bridging::toJs(rt, value.connectEnd.value(), jsInvoker));
+ }
+ if (value.responseStart) {
+ result.setProperty(rt, "responseStart", bridging::toJs(rt, value.responseStart.value(), jsInvoker));
+ }
+ if (value.responseEnd) {
+ result.setProperty(rt, "responseEnd", bridging::toJs(rt, value.responseEnd.value(), jsInvoker));
+ }
+ if (value.responseStatus) {
+ result.setProperty(rt, "responseStatus", bridging::toJs(rt, value.responseStatus.value(), jsInvoker));
+ }
return result;
}
};
diff --git a/vnext/overrides.json b/vnext/overrides.json
index 93c3528a5f7..aa98107cb5c 100644
--- a/vnext/overrides.json
+++ b/vnext/overrides.json
@@ -8,13 +8,13 @@
"**/__snapshots__/**",
"src-win/rntypes/**"
],
- "baseVersion": "0.80.0-nightly-20250428-9efcdc091",
+ "baseVersion": "0.80.0-nightly-20250506-3ac16dd6a",
"overrides": [
{
"type": "derived",
"file": ".flowconfig",
"baseFile": ".flowconfig",
- "baseHash": "d274ca7bb384b334c5b2ee0827726e7a3d6c98c9"
+ "baseHash": "70ed729d5f52c241530e8459cc40263d4e9fa9c0"
},
{
"type": "derived",
@@ -26,7 +26,7 @@
"type": "derived",
"file": "Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp",
"baseFile": "packages/react-native/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.cpp",
- "baseHash": "ea5dfca71e7440a2f9e90b1270123a91ce0ee04a"
+ "baseHash": "88a0780d1f5ca006ffabc083265537ddb526e634"
},
{
"type": "derived",
@@ -156,7 +156,7 @@
"type": "patch",
"file": "ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp",
"baseFile": "packages/react-native/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp",
- "baseHash": "a48cdffb7feb85e78244f6ef4f440ee11e260d4d",
+ "baseHash": "5157ead9e3526366c1900af19615ba3818975b66",
"issue": 14204
},
{
@@ -169,7 +169,7 @@
"type": "patch",
"file": "ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityProps.cpp",
"baseFile": "packages/react-native/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp",
- "baseHash": "0b7955fc456e4daebd0f1b01a386f93ff1c2a645",
+ "baseHash": "1557ac3e57c91a7114fb0f6b35d05dcc341d9da6",
"issue": 14845
},
{
@@ -224,7 +224,7 @@
"type": "copy",
"directory": "ReactCopies/IntegrationTests",
"baseDirectory": "packages/rn-tester/IntegrationTests",
- "baseHash": "328bc7a8fb9eb99b7826c26cc1ace9e2207aeeb1",
+ "baseHash": "a3caedc8e2a223bf80e04801434a32934c3d60d0",
"issue": 4054
},
{
@@ -389,7 +389,7 @@
"type": "derived",
"file": "src-win/Libraries/Components/ScrollView/ScrollView.windows.js",
"baseFile": "packages/react-native/Libraries/Components/ScrollView/ScrollView.js",
- "baseHash": "e289b699d15870fd88d2fe3313db7a104e4db180"
+ "baseHash": "03d9b10d210dc747751318d9a38bc4ab1837040c"
},
{
"type": "derived",
@@ -413,7 +413,7 @@
"type": "patch",
"file": "src-win/Libraries/Components/TextInput/TextInput.windows.js",
"baseFile": "packages/react-native/Libraries/Components/TextInput/TextInput.js",
- "baseHash": "4b3128471dd0d362e9828df8937f708d53694e12"
+ "baseHash": "9965c0079652083ab549bc2799eb9528b56a1b2d"
},
{
"type": "patch",
@@ -480,13 +480,13 @@
"type": "derived",
"file": "src-win/Libraries/Components/View/ViewAccessibility.d.ts",
"baseFile": "packages/react-native/Libraries/Components/View/ViewAccessibility.d.ts",
- "baseHash": "d97e29f01e57cc2b0de209a03f8584b984cfe190"
+ "baseHash": "1e4e3a89397960e8f08b86be62496473829c0ac3"
},
{
"type": "patch",
"file": "src-win/Libraries/Components/View/ViewAccessibility.windows.js",
"baseFile": "packages/react-native/Libraries/Components/View/ViewAccessibility.js",
- "baseHash": "c30dab3926869e84edafebd485e78637d69ccd61"
+ "baseHash": "04981261b2ed61b31bfbb396478bb6b103d99253"
},
{
"type": "derived",
@@ -571,7 +571,7 @@
"type": "derived",
"file": "src-win/Libraries/NativeComponent/BaseViewConfig.windows.js",
"baseFile": "packages/react-native/Libraries/NativeComponent/BaseViewConfig.ios.js",
- "baseHash": "3ba8fe1a60d744e057e856bc43e2df28f4fd7f66"
+ "baseHash": "b520e2bdb2be31bdb6ad7e3769dbe69168870c8c"
},
{
"type": "derived",
@@ -585,18 +585,6 @@
"baseFile": "packages/react-native/Libraries/Network/RCTNetworking.ios.js",
"baseHash": "4b96609d7e8d0596d2960aacfda35af73cec1085"
},
- {
- "type": "patch",
- "file": "src-win/Libraries/NewAppScreen/components/DebugInstructions.windows.js",
- "baseFile": "packages/react-native/Libraries/NewAppScreen/components/DebugInstructions.js",
- "baseHash": "b11b6f41d6bf218274fef43f01e1d8785cb57451"
- },
- {
- "type": "patch",
- "file": "src-win/Libraries/NewAppScreen/components/ReloadInstructions.windows.js",
- "baseFile": "packages/react-native/Libraries/NewAppScreen/components/ReloadInstructions.js",
- "baseHash": "c013edfa5357640c1c956b23af870619805ab634"
- },
{
"type": "platform",
"file": "src-win/Libraries/platform-types.d.ts"
diff --git a/vnext/package.json b/vnext/package.json
index 65e376d136b..f804e923f37 100644
--- a/vnext/package.json
+++ b/vnext/package.json
@@ -28,18 +28,19 @@
"@react-native-community/cli-platform-ios": "17.0.0",
"@react-native-windows/cli": "0.0.0-canary.269",
"@react-native/assets": "1.0.0",
- "@react-native/assets-registry": "0.80.0-nightly-20250428-9efcdc091",
- "@react-native/codegen": "0.80.0-nightly-20250428-9efcdc091",
- "@react-native/community-cli-plugin": "0.80.0-nightly-20250428-9efcdc091",
- "@react-native/gradle-plugin": "0.80.0-nightly-20250428-9efcdc091",
- "@react-native/js-polyfills": "0.80.0-nightly-20250428-9efcdc091",
- "@react-native/normalize-colors": "0.80.0-nightly-20250428-9efcdc091",
- "@react-native/virtualized-lists": "0.80.0-nightly-20250428-9efcdc091",
+ "@react-native/assets-registry": "0.80.0-nightly-20250506-3ac16dd6a",
+ "@react-native/codegen": "0.80.0-nightly-20250506-3ac16dd6a",
+ "@react-native/community-cli-plugin": "0.80.0-nightly-20250506-3ac16dd6a",
+ "@react-native/gradle-plugin": "0.80.0-nightly-20250506-3ac16dd6a",
+ "@react-native/js-polyfills": "0.80.0-nightly-20250506-3ac16dd6a",
+ "@react-native/normalize-colors": "0.80.0-nightly-20250506-3ac16dd6a",
+ "@react-native/virtualized-lists": "0.80.0-nightly-20250506-3ac16dd6a",
+ "@react-native/new-app-screen": "0.80.0-nightly-20250506-3ac16dd6a",
"abort-controller": "^3.0.0",
"anser": "^1.4.9",
"ansi-regex": "^5.0.0",
"babel-jest": "^29.7.0",
- "babel-plugin-syntax-hermes-parser": "0.25.1",
+ "babel-plugin-syntax-hermes-parser": "0.28.1",
"base64-js": "^1.5.1",
"chalk": "^4.0.0",
"commander": "^12.0.0",
@@ -49,8 +50,8 @@
"invariant": "^2.2.4",
"jest-environment-node": "^29.7.0",
"memoize-one": "^5.0.0",
- "metro-runtime": "^0.82.0",
- "metro-source-map": "^0.82.0",
+ "metro-runtime": "^0.82.2",
+ "metro-source-map": "^0.82.2",
"mkdirp": "^0.5.1",
"nullthrows": "^1.1.1",
"pretty-format": "^29.7.0",
@@ -58,7 +59,7 @@
"react-devtools-core": "^6.1.1",
"react-refresh": "^0.14.0",
"regenerator-runtime": "^0.13.2",
- "scheduler": "0.25.0",
+ "scheduler": "0.26.0",
"semver": "^7.1.3",
"source-map-support": "^0.5.19",
"stacktrace-parser": "^0.1.10",
@@ -68,7 +69,7 @@
},
"devDependencies": {
"@react-native-windows/codegen": "0.0.0-canary.124",
- "@react-native/metro-config": "0.80.0-nightly-20250428-9efcdc091",
+ "@react-native/metro-config": "0.80.0-nightly-20250506-3ac16dd6a",
"@rnw-scripts/babel-react-native-config": "0.0.0",
"@rnw-scripts/eslint-config": "1.2.36",
"@rnw-scripts/jest-out-of-tree-snapshot-resolver": "^1.1.40",
@@ -83,15 +84,15 @@
"just-scripts": "^1.3.3",
"prettier": "2.8.8",
"react": "19.1.0",
- "react-native": "0.80.0-nightly-20250428-9efcdc091",
+ "react-native": "0.80.0-nightly-20250506-3ac16dd6a",
"react-native-platform-override": "^1.9.56",
"react-refresh": "^0.14.0",
"typescript": "5.0.4"
},
"peerDependencies": {
- "@types/react": "^19.0.0",
+ "@types/react": "^19.1.0",
"react": "^19.1.0",
- "react-native": "0.80.0-nightly-20250428-9efcdc091"
+ "react-native": "0.80.0-nightly-20250506-3ac16dd6a"
},
"beachball": {
"defaultNpmTag": "canary",
@@ -150,4 +151,4 @@
"engines": {
"node": ">= 18"
}
-}
+}
\ No newline at end of file
diff --git a/vnext/src-win/Libraries/NewAppScreen/components/DebugInstructions.windows.js b/vnext/src-win/Libraries/NewAppScreen/components/DebugInstructions.windows.js
deleted file mode 100644
index 1e4f077b050..00000000000
--- a/vnext/src-win/Libraries/NewAppScreen/components/DebugInstructions.windows.js
+++ /dev/null
@@ -1,29 +0,0 @@
-/**
- * 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.
- *
- * @flow strict-local
- * @format
- */
-
-import StyleSheet from '../../StyleSheet/StyleSheet';
-import Text from '../../Text/Text';
-import Platform from '../../Utilities/Platform';
-import * as React from 'react';
-
-const styles = StyleSheet.create({
- highlight: {
- fontWeight: '700',
- },
-});
-
-const DebugInstructions = (): React.Node => (
-
- Press Ctrl+Shift+D to open the Dev
- Menu.
-
-);
-
-export default DebugInstructions;
diff --git a/vnext/src-win/Libraries/NewAppScreen/components/ReloadInstructions.windows.js b/vnext/src-win/Libraries/NewAppScreen/components/ReloadInstructions.windows.js
deleted file mode 100644
index c939dc48267..00000000000
--- a/vnext/src-win/Libraries/NewAppScreen/components/ReloadInstructions.windows.js
+++ /dev/null
@@ -1,30 +0,0 @@
-/**
- * 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.
- *
- * @flow strict-local
- * @format
- */
-
-import StyleSheet from '../../StyleSheet/StyleSheet';
-import Text from '../../Text/Text';
-import Platform from '../../Utilities/Platform';
-import * as React from 'react';
-
-const styles = StyleSheet.create({
- highlight: {
- fontWeight: '700',
- },
-});
-
-const ReloadInstructions = (): React.Node => (
-
- Press Ctrl+Shift+D and select{' '}
- Reload javascript to reload your app's
- code.
-
-);
-
-export default ReloadInstructions;
diff --git a/yarn.lock b/yarn.lock
index e62e020880d..4b0bc95ff10 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2145,28 +2145,28 @@
resolved "https://registry.yarnpkg.com/@react-native-picker/picker/-/picker-2.11.0.tgz#4587fbce6a382adedad74311e96ee10bb2b2d63a"
integrity sha512-QuZU6gbxmOID5zZgd/H90NgBnbJ3VV6qVzp6c7/dDrmWdX8S0X5YFYgDcQFjE3dRen9wB9FWnj2VVdPU64adSg==
-"@react-native/assets-registry@0.80.0-nightly-20250428-9efcdc091":
- version "0.80.0-nightly-20250428-9efcdc091"
- resolved "https://registry.yarnpkg.com/@react-native/assets-registry/-/assets-registry-0.80.0-nightly-20250428-9efcdc091.tgz#30e725640cb2c2744542ed7d805dba7214203c0b"
- integrity sha512-r1ehtWh0kdiGpITFT1v+/qemsTluyAD/GfARxz7H1ychlpMD4SaQ46QkRHcqQOeNfJnbSY3JLCniyNz2JbF1+g==
+"@react-native/assets-registry@0.80.0-nightly-20250506-3ac16dd6a":
+ version "0.80.0-nightly-20250506-3ac16dd6a"
+ resolved "https://registry.yarnpkg.com/@react-native/assets-registry/-/assets-registry-0.80.0-nightly-20250506-3ac16dd6a.tgz#96a106e32436f6af1274742b693d13cb53b20ecf"
+ integrity sha512-/Wc3owDcMQh/Oipst/WaWYVNItTyH63esR/PCITyxLvNs6C5lEp9eEs1Cd32VDDFumvy9X2udwSD+oDqToAlnQ==
"@react-native/assets@1.0.0":
version "1.0.0"
resolved "https://registry.yarnpkg.com/@react-native/assets/-/assets-1.0.0.tgz#c6f9bf63d274bafc8e970628de24986b30a55c8e"
integrity sha512-KrwSpS1tKI70wuKl68DwJZYEvXktDHdZMG0k2AXD/rJVSlB23/X2CB2cutVR0HwNMJIal9HOUOBB2rVfa6UGtQ==
-"@react-native/babel-plugin-codegen@0.80.0-nightly-20250428-9efcdc091":
- version "0.80.0-nightly-20250428-9efcdc091"
- resolved "https://registry.yarnpkg.com/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.80.0-nightly-20250428-9efcdc091.tgz#2f99d9617622aaaca1ec17d4210aa12c759d30d4"
- integrity sha512-iIkSYORMYd/S9OfTHcSkl/4G2IZzsLpaBi2NHSrWuULutqmtO9GKD0yAQhBJj0cKTbPpjjHAeabDN2K8f4+FnQ==
+"@react-native/babel-plugin-codegen@0.80.0-nightly-20250506-3ac16dd6a":
+ version "0.80.0-nightly-20250506-3ac16dd6a"
+ resolved "https://registry.yarnpkg.com/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.80.0-nightly-20250506-3ac16dd6a.tgz#877aad438cbc6fd519837f8815e88698367c78dd"
+ integrity sha512-hO6xN/aw8++XNCASAyOFdn5nlQQiTnyH97IXx5vA7szX1JAIyPOS+H2huv/LSDdbDM0RymymwcFf+2Gq5fzNSQ==
dependencies:
"@babel/traverse" "^7.25.3"
- "@react-native/codegen" "0.80.0-nightly-20250428-9efcdc091"
+ "@react-native/codegen" "0.80.0-nightly-20250506-3ac16dd6a"
-"@react-native/babel-preset@0.80.0-nightly-20250428-9efcdc091":
- version "0.80.0-nightly-20250428-9efcdc091"
- resolved "https://registry.yarnpkg.com/@react-native/babel-preset/-/babel-preset-0.80.0-nightly-20250428-9efcdc091.tgz#ee5b61976c719f10d5e546e7c75b7f605138e912"
- integrity sha512-LU1JtPnEc5vLzEqG8rZJG41yOz2EHi/v+9RDEmW41akgN7mIMHtN7DfHf8ky0rq+CBpVgLFz2L9ZHVioL8zwdw==
+"@react-native/babel-preset@0.80.0-nightly-20250506-3ac16dd6a":
+ version "0.80.0-nightly-20250506-3ac16dd6a"
+ resolved "https://registry.yarnpkg.com/@react-native/babel-preset/-/babel-preset-0.80.0-nightly-20250506-3ac16dd6a.tgz#cd9c78ba2c7a108396d16232d0452e2aa7cd3aec"
+ integrity sha512-A2Z3HROkkFdCzjJY5AWUTqixzvtQjEsrKCyWnQIQuE63U2juqYBp+CUt8oVCMnsn2tPxWx+RBKen6YNb3jLgqw==
dependencies:
"@babel/core" "^7.25.2"
"@babel/plugin-proposal-export-default-from" "^7.24.7"
@@ -2209,15 +2209,15 @@
"@babel/plugin-transform-typescript" "^7.25.2"
"@babel/plugin-transform-unicode-regex" "^7.24.7"
"@babel/template" "^7.25.0"
- "@react-native/babel-plugin-codegen" "0.80.0-nightly-20250428-9efcdc091"
+ "@react-native/babel-plugin-codegen" "0.80.0-nightly-20250506-3ac16dd6a"
babel-plugin-syntax-hermes-parser "0.28.1"
babel-plugin-transform-flow-enums "^0.0.2"
react-refresh "^0.14.0"
-"@react-native/codegen@0.80.0-nightly-20250428-9efcdc091":
- version "0.80.0-nightly-20250428-9efcdc091"
- resolved "https://registry.yarnpkg.com/@react-native/codegen/-/codegen-0.80.0-nightly-20250428-9efcdc091.tgz#d39f1311a33369974ce72b310244567b5be86f7b"
- integrity sha512-JtG2i6A7/PkAATr1EqvUoWadOTX8J8egdYeZJfCkjSiD6tDMnnI13cui6Ir2wIHk9UizeQfQ8o5AXzm9EKKieQ==
+"@react-native/codegen@0.80.0-nightly-20250506-3ac16dd6a":
+ version "0.80.0-nightly-20250506-3ac16dd6a"
+ resolved "https://registry.yarnpkg.com/@react-native/codegen/-/codegen-0.80.0-nightly-20250506-3ac16dd6a.tgz#770b9f32d979a2faf7626c0b6062c7c63ebd05ae"
+ integrity sha512-E113BVFEWQJMKOq4ofnDfjSisi61iqyf+D0yY8bAQPcpRWcUNFac7FQ8t9r/P0hp2sJ69/0/AbPZySE+2Z56gg==
dependencies:
glob "^7.1.1"
hermes-parser "0.28.1"
@@ -2225,32 +2225,32 @@
nullthrows "^1.1.1"
yargs "^17.6.2"
-"@react-native/community-cli-plugin@0.80.0-nightly-20250428-9efcdc091":
- version "0.80.0-nightly-20250428-9efcdc091"
- resolved "https://registry.yarnpkg.com/@react-native/community-cli-plugin/-/community-cli-plugin-0.80.0-nightly-20250428-9efcdc091.tgz#f29dac6969917bc8555973b0a2fc536ea5826943"
- integrity sha512-vsjZvttksG7FtEssj4FWpbov+XqCC9CfTDOO4aUK3QtKq49OqBNsSBRtUFo/Xb5gp+KZO1BtQMiZ0dp4rk/2nw==
+"@react-native/community-cli-plugin@0.80.0-nightly-20250506-3ac16dd6a":
+ version "0.80.0-nightly-20250506-3ac16dd6a"
+ resolved "https://registry.yarnpkg.com/@react-native/community-cli-plugin/-/community-cli-plugin-0.80.0-nightly-20250506-3ac16dd6a.tgz#ef17fe4dbde79c387dafffd59e9fb6d5fdbaf969"
+ integrity sha512-ONFXGhZyDgcmxXx3roQc+8ErkRFap2MOIoFM6Pk9bMp+TMyElI53oDCB5aQHnZjA5Kgmpnzh3T31KmrWLhINig==
dependencies:
- "@react-native/dev-middleware" "0.80.0-nightly-20250428-9efcdc091"
+ "@react-native/dev-middleware" "0.80.0-nightly-20250506-3ac16dd6a"
chalk "^4.0.0"
debug "^4.4.0"
invariant "^2.2.4"
- metro "^0.82.0"
- metro-config "^0.82.0"
- metro-core "^0.82.0"
+ metro "^0.82.2"
+ metro-config "^0.82.2"
+ metro-core "^0.82.2"
semver "^7.1.3"
-"@react-native/debugger-frontend@0.80.0-nightly-20250428-9efcdc091":
- version "0.80.0-nightly-20250428-9efcdc091"
- resolved "https://registry.yarnpkg.com/@react-native/debugger-frontend/-/debugger-frontend-0.80.0-nightly-20250428-9efcdc091.tgz#0a10422053431523204c166af6c6dbfbce092e5a"
- integrity sha512-9QLos//Zk40QCGrYP7ANJVvBivxUWOQtB+SLHY+TjYE75Fh+TnvVE7REmAQz/8zHbJDujaedWCV7/wD7HlcvQw==
+"@react-native/debugger-frontend@0.80.0-nightly-20250506-3ac16dd6a":
+ version "0.80.0-nightly-20250506-3ac16dd6a"
+ resolved "https://registry.yarnpkg.com/@react-native/debugger-frontend/-/debugger-frontend-0.80.0-nightly-20250506-3ac16dd6a.tgz#6b5db29e9551e7e49e1d4b30b87d9a57e66c545f"
+ integrity sha512-tdBu1i4Ng2MsZ5Kc7XcGv0/5dRSrmb5l3IhYUBG5ofz4SRHUfCzTRmrXOptPyX3bmWGEuPFU8nYPAeIVI3Lr8w==
-"@react-native/dev-middleware@0.80.0-nightly-20250428-9efcdc091":
- version "0.80.0-nightly-20250428-9efcdc091"
- resolved "https://registry.yarnpkg.com/@react-native/dev-middleware/-/dev-middleware-0.80.0-nightly-20250428-9efcdc091.tgz#5f5b3251bc4a4ed3e1ad704fcb4434ee631d4275"
- integrity sha512-FmP568BPJIR69I/8iWGsuhYVSL67T2KxANHx97Nyvy8Ul5oGNPuCGaCoSu3ZpjAuGs4uaGHPekLotLMx3A6unA==
+"@react-native/dev-middleware@0.80.0-nightly-20250506-3ac16dd6a":
+ version "0.80.0-nightly-20250506-3ac16dd6a"
+ resolved "https://registry.yarnpkg.com/@react-native/dev-middleware/-/dev-middleware-0.80.0-nightly-20250506-3ac16dd6a.tgz#3dd400db8780baa86cb70909bbfba533cb433d0e"
+ integrity sha512-AR3C6c252ToCzExcwHQKqcKAODl6yFVrCFAerT6kZZY1NBRmSKhbJpM1USxqIw3wEHQAquBtYIT0sRx1sYHmMg==
dependencies:
"@isaacs/ttlcache" "^1.4.1"
- "@react-native/debugger-frontend" "0.80.0-nightly-20250428-9efcdc091"
+ "@react-native/debugger-frontend" "0.80.0-nightly-20250506-3ac16dd6a"
chrome-launcher "^0.15.2"
chromium-edge-launcher "^0.2.0"
connect "^3.6.5"
@@ -2284,52 +2284,57 @@
resolved "https://registry.yarnpkg.com/@react-native/eslint-plugin/-/eslint-plugin-0.79.0-nightly-20250123-d1028885e.tgz#7983608a83b724ab2f31d2e84e67fb5f9a7ad3b1"
integrity sha512-vYrjxRh3wvL9MmmmsO52keyONK8O7CqayB1gvgSf/EeptcnnCpd0YdJ06NU54aB3zh6p+k4vkxHliNFqpBTFBg==
-"@react-native/gradle-plugin@0.80.0-nightly-20250428-9efcdc091":
- version "0.80.0-nightly-20250428-9efcdc091"
- resolved "https://registry.yarnpkg.com/@react-native/gradle-plugin/-/gradle-plugin-0.80.0-nightly-20250428-9efcdc091.tgz#929f3cb82181f0ea37e542ed3e5d05d788c7833c"
- integrity sha512-XWLirqs3UZzaFGJXGPQ7GmZCylwf+nGx3Pfo5B5vx5B5KEXQM3EXc0vwnnQJGOhDo4/FG2TA85OZ/eLBzn3eHw==
+"@react-native/gradle-plugin@0.80.0-nightly-20250506-3ac16dd6a":
+ version "0.80.0-nightly-20250506-3ac16dd6a"
+ resolved "https://registry.yarnpkg.com/@react-native/gradle-plugin/-/gradle-plugin-0.80.0-nightly-20250506-3ac16dd6a.tgz#610b42225c1d12b2d90a4b1dd183636cfc5ddd93"
+ integrity sha512-VPZBym29PDLlTpFm+jirKuRcaRFFpTOZPCLgtkNRVVF93kAXc40doFUapH80c4+CHnCFYouGi74hZDVxpoj/DA==
-"@react-native/js-polyfills@0.80.0-nightly-20250428-9efcdc091":
- version "0.80.0-nightly-20250428-9efcdc091"
- resolved "https://registry.yarnpkg.com/@react-native/js-polyfills/-/js-polyfills-0.80.0-nightly-20250428-9efcdc091.tgz#96140bdf6aedc63b46f10f193a5afac64ac7d432"
- integrity sha512-4rFLOY4bXLKkg1nwcHEST3ay1AINxJ47ZjO7npjuianY7vDlCvFGisnvjTG77N6jE6uEy86eL+Hm9ewDdehIBQ==
+"@react-native/js-polyfills@0.80.0-nightly-20250506-3ac16dd6a":
+ version "0.80.0-nightly-20250506-3ac16dd6a"
+ resolved "https://registry.yarnpkg.com/@react-native/js-polyfills/-/js-polyfills-0.80.0-nightly-20250506-3ac16dd6a.tgz#f2c36c596e817f66ad6ff0084f5e0261876252f5"
+ integrity sha512-NGyURPiR5p5vZ8waweCrHNumRS4oKX+vJ+3WXZDlx4F5mfXq6QUcQW4djUjOqUVYxpdfCMw23fKCEeNQIPbu8Q==
-"@react-native/metro-babel-transformer@0.80.0-nightly-20250428-9efcdc091":
- version "0.80.0-nightly-20250428-9efcdc091"
- resolved "https://registry.yarnpkg.com/@react-native/metro-babel-transformer/-/metro-babel-transformer-0.80.0-nightly-20250428-9efcdc091.tgz#1809b80ef231f2696083cbcc8368a05e525cd828"
- integrity sha512-eJBF0aAPON5u11V5FO2NHsadaYTtRU7xpwwDJoZBsoWDC3JJVKzyT9tJuzf7AmwFtNsOTcehyC+IOhGy4wuUUQ==
+"@react-native/metro-babel-transformer@0.80.0-nightly-20250506-3ac16dd6a":
+ version "0.80.0-nightly-20250506-3ac16dd6a"
+ resolved "https://registry.yarnpkg.com/@react-native/metro-babel-transformer/-/metro-babel-transformer-0.80.0-nightly-20250506-3ac16dd6a.tgz#b15eceae51b4e381d7ef81dec90374eeaae8e682"
+ integrity sha512-GdDeiCs5+ZjRQK5x21u5PtTk+sAq39XiXGqI2dPPFgstGsJulI6uy3jQpaV52c9sIn4IKoZyshHnnZpLk35SzQ==
dependencies:
"@babel/core" "^7.25.2"
- "@react-native/babel-preset" "0.80.0-nightly-20250428-9efcdc091"
+ "@react-native/babel-preset" "0.80.0-nightly-20250506-3ac16dd6a"
hermes-parser "0.28.1"
nullthrows "^1.1.1"
-"@react-native/metro-config@0.80.0-nightly-20250428-9efcdc091":
- version "0.80.0-nightly-20250428-9efcdc091"
- resolved "https://registry.yarnpkg.com/@react-native/metro-config/-/metro-config-0.80.0-nightly-20250428-9efcdc091.tgz#1def0ae94886387111524e05fb8b9fb2e8b282f8"
- integrity sha512-4hne4kJU/bKNqH1VXROXViU+c+dZK7VkvHIrdqT4U3lYQcG2xx7zic/S53t1PuIB/sD0LdAm4MmMKJgh8W1Xbg==
+"@react-native/metro-config@0.80.0-nightly-20250506-3ac16dd6a":
+ version "0.80.0-nightly-20250506-3ac16dd6a"
+ resolved "https://registry.yarnpkg.com/@react-native/metro-config/-/metro-config-0.80.0-nightly-20250506-3ac16dd6a.tgz#8e26f0272a297ee9a9a122ecb0daa32679d67f5d"
+ integrity sha512-n96JOREUO6tBIoD4uAkjj9oucR8mQ/022bUxWRF0D0Ny0cW3x94hw0CJdSU/NUDLvGWon+IIqFUFMviFFvrZ+Q==
dependencies:
- "@react-native/js-polyfills" "0.80.0-nightly-20250428-9efcdc091"
- "@react-native/metro-babel-transformer" "0.80.0-nightly-20250428-9efcdc091"
- metro-config "^0.82.0"
- metro-runtime "^0.82.0"
+ "@react-native/js-polyfills" "0.80.0-nightly-20250506-3ac16dd6a"
+ "@react-native/metro-babel-transformer" "0.80.0-nightly-20250506-3ac16dd6a"
+ metro-config "^0.82.2"
+ metro-runtime "^0.82.2"
-"@react-native/normalize-colors@0.80.0-nightly-20250428-9efcdc091":
- version "0.80.0-nightly-20250428-9efcdc091"
- resolved "https://registry.yarnpkg.com/@react-native/normalize-colors/-/normalize-colors-0.80.0-nightly-20250428-9efcdc091.tgz#cd3c35ba0d09c48d85317b6d88af7af627d11c0e"
- integrity sha512-B9hs79cA/T0GENU5mAjimEXVbwENV3V0rRGFk8nJXMmbH5tB2SPTiLNsFj4vzvzGLSEHa+yvJHHrzEKBMmqDdg==
+"@react-native/new-app-screen@0.80.0-nightly-20250506-3ac16dd6a":
+ version "0.80.0-nightly-20250506-3ac16dd6a"
+ resolved "https://registry.yarnpkg.com/@react-native/new-app-screen/-/new-app-screen-0.80.0-nightly-20250506-3ac16dd6a.tgz#5989e8a1ae678e142a758f76757e48cfcb83f71e"
+ integrity sha512-ffGTYj3xM4kq+qsGth6JKV13pOpKnDKvKwaaxgObczQryfqgB+ELEPUo69GVgPjKjNIm0vFYQ4Z5RwlyKQLFwQ==
-"@react-native/popup-menu-android@0.80.0-nightly-20250428-9efcdc091":
- version "0.80.0-nightly-20250428-9efcdc091"
- resolved "https://registry.yarnpkg.com/@react-native/popup-menu-android/-/popup-menu-android-0.80.0-nightly-20250428-9efcdc091.tgz#b97733260f0566a501f98a11209722ef1e75c2f8"
- integrity sha512-ZnQyIs1hSauBAEfJsnQkZPGs0DIxrrz0XQ2BrrUjEUuOEw13cgqKwzM/wMYn4zhDS53QB9UQVtoRZ8jlBpOIBQ==
+"@react-native/normalize-colors@0.80.0-nightly-20250506-3ac16dd6a":
+ version "0.80.0-nightly-20250506-3ac16dd6a"
+ resolved "https://registry.yarnpkg.com/@react-native/normalize-colors/-/normalize-colors-0.80.0-nightly-20250506-3ac16dd6a.tgz#b230017ab7a900c3a3254d6ddee05152b2ed2a5d"
+ integrity sha512-YrTqzVFexk04ksSni3bRk6cqp83JS9XJwWc1K9esnRM/IEfh4Glc3A0IZVNA1PC93oImPdIeC06OKdZLeg0OGQ==
+
+"@react-native/popup-menu-android@0.80.0-nightly-20250506-3ac16dd6a":
+ version "0.80.0-nightly-20250506-3ac16dd6a"
+ resolved "https://registry.yarnpkg.com/@react-native/popup-menu-android/-/popup-menu-android-0.80.0-nightly-20250506-3ac16dd6a.tgz#7366dd0aef5e45b5ba6dedec9b08a2d85904a501"
+ integrity sha512-47SIxem0f6cbQocMZei6hSpX6OGNt34kpCw2S1TodvG9CxF1s6l+dpsG3znCTUhvCAbz/lxEoOnQeCU7qny6HA==
dependencies:
nullthrows "^1.1.1"
-"@react-native/virtualized-lists@0.80.0-nightly-20250428-9efcdc091":
- version "0.80.0-nightly-20250428-9efcdc091"
- resolved "https://registry.yarnpkg.com/@react-native/virtualized-lists/-/virtualized-lists-0.80.0-nightly-20250428-9efcdc091.tgz#b4a690befe4aaebf3ed22604f48d76cf91ea1fb6"
- integrity sha512-mNWZWlwRNe9Y2T8DaBf1LDsNMzjnBoXmt99YdAgxAdT0Cks1M/egPpos6N4N7vbtqoWh9SVOZGlohY8i4Oktng==
+"@react-native/virtualized-lists@0.80.0-nightly-20250506-3ac16dd6a":
+ version "0.80.0-nightly-20250506-3ac16dd6a"
+ resolved "https://registry.yarnpkg.com/@react-native/virtualized-lists/-/virtualized-lists-0.80.0-nightly-20250506-3ac16dd6a.tgz#d95c69a582365e6ab8210e26a959745c9467add1"
+ integrity sha512-wctCyAYEV/uPyGhnrncB5C2f51UvS5fhta/YdbEEhaMtkxxRMq/lSYeI5pC/F9iiMfuwlTXX47bZE9/PlOTBdA==
dependencies:
invariant "^2.2.4"
nullthrows "^1.1.1"
@@ -2879,6 +2884,13 @@
dependencies:
csstype "^3.0.2"
+"@types/react@^19.1.0":
+ version "19.1.8"
+ resolved "https://registry.yarnpkg.com/@types/react/-/react-19.1.8.tgz#ff8395f2afb764597265ced15f8dddb0720ae1c3"
+ integrity sha512-AwAfQ2Wa5bCx9WP8nZL2uMZWod7J7/JSplxbTmBQ5ms6QpqNYm672H0Vu9ZVKVngQ+ii4R/byguVEUZQyeg44g==
+ dependencies:
+ csstype "^3.0.2"
+
"@types/readline-sync@^1.4.4":
version "1.4.8"
resolved "https://registry.yarnpkg.com/@types/readline-sync/-/readline-sync-1.4.8.tgz#dc9767a93fc83825d90331f2549a2e90fc3255f0"
@@ -3985,13 +3997,6 @@ babel-plugin-replace-ts-export-assignment@^0.0.2:
resolved "https://registry.yarnpkg.com/babel-plugin-replace-ts-export-assignment/-/babel-plugin-replace-ts-export-assignment-0.0.2.tgz#927a30ba303fcf271108980a8d4f80a693e1d53f"
integrity sha512-BiTEG2Ro+O1spuheL5nB289y37FFmz0ISE6GjpNCG2JuA/WNcuEHSYw01+vN8quGf208sID3FnZFDwVyqX18YQ==
-babel-plugin-syntax-hermes-parser@0.25.1:
- version "0.25.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-syntax-hermes-parser/-/babel-plugin-syntax-hermes-parser-0.25.1.tgz#58b539df973427fcfbb5176a3aec7e5dee793cb0"
- integrity sha512-IVNpGzboFLfXZUAwkLFcI/bnqVbwky0jP3eBno4HKtqvQJAHBLdgxiG6lQ4to0+Q/YCN3PO0od5NZwIKyY4REQ==
- dependencies:
- hermes-parser "0.25.1"
-
babel-plugin-syntax-hermes-parser@0.28.1:
version "0.28.1"
resolved "https://registry.yarnpkg.com/babel-plugin-syntax-hermes-parser/-/babel-plugin-syntax-hermes-parser-0.28.1.tgz#9e80a774ddb8038307a62316486669c668fb3568"
@@ -6274,10 +6279,10 @@ flow-bin@^0.267.0:
resolved "https://registry.yarnpkg.com/flow-bin/-/flow-bin-0.267.0.tgz#a191375df35c768f1afaebfd0e25b06c8ab82a04"
integrity sha512-NsBcxdAqQauzgOaDf960M+eEnjcFS6FeMs93dEpkvQflwMlP4SRMdKQR8p5WzJJh07CXq9iQnxn+JjLN6kaLUw==
-flow-bin@^0.268.0:
- version "0.268.0"
- resolved "https://registry.yarnpkg.com/flow-bin/-/flow-bin-0.268.0.tgz#89cb4de4ea65af30c9ad25e74068c840e40415e7"
- integrity sha512-ccENQl1ToGeDUjxinJ+0Z65o1ELg/F+1wylMZ7RBMhO1TvxyByVOLPoDji44JpIzGOPuw9dzYcBSEpFoWyoD7w==
+flow-bin@^0.269.1:
+ version "0.269.1"
+ resolved "https://registry.yarnpkg.com/flow-bin/-/flow-bin-0.269.1.tgz#35396a95b769171e56d493b3a0cca9ade9944011"
+ integrity sha512-k5Ja91KVNVtGxyGuEm21lqf2TeVWXriiwlVHU95k8ArJwEZQ+KVza9ZSvJYgwMnpp7/Q9nuSdWJ9MJdEbvl2QQ==
flow-enums-runtime@^0.0.6:
version "0.0.6"
@@ -6877,16 +6882,16 @@ hermes-estree@0.23.1:
resolved "https://registry.yarnpkg.com/hermes-estree/-/hermes-estree-0.23.1.tgz#d0bac369a030188120ee7024926aabe5a9f84fdb"
integrity sha512-eT5MU3f5aVhTqsfIReZ6n41X5sYn4IdQL0nvz6yO+MMlPxw49aSARHLg/MSehQftyjnrE8X6bYregzSumqc6cg==
-hermes-estree@0.25.1:
- version "0.25.1"
- resolved "https://registry.yarnpkg.com/hermes-estree/-/hermes-estree-0.25.1.tgz#6aeec17d1983b4eabf69721f3aa3eb705b17f480"
- integrity sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==
-
hermes-estree@0.28.1:
version "0.28.1"
resolved "https://registry.yarnpkg.com/hermes-estree/-/hermes-estree-0.28.1.tgz#631e6db146b06e62fc1c630939acf4a3c77d1b24"
integrity sha512-w3nxl/RGM7LBae0v8LH2o36+8VqwOZGv9rX1wyoWT6YaKZLqpJZ0YQ5P0LVr3tuRpf7vCx0iIG4i/VmBJejxTQ==
+hermes-estree@0.29.1:
+ version "0.29.1"
+ resolved "https://registry.yarnpkg.com/hermes-estree/-/hermes-estree-0.29.1.tgz#043c7db076e0e8ef8c5f6ed23828d1ba463ebcc5"
+ integrity sha512-jl+x31n4/w+wEqm0I2r4CMimukLbLQEYpisys5oCre611CI5fc9TxhqkBBCJ1edDG4Kza0f7CgNz8xVMLZQOmQ==
+
hermes-parser@0.21.1:
version "0.21.1"
resolved "https://registry.yarnpkg.com/hermes-parser/-/hermes-parser-0.21.1.tgz#b2ab42b6ee1bed8c659ed61a03d3f61a63183ada"
@@ -6901,13 +6906,6 @@ hermes-parser@0.23.1:
dependencies:
hermes-estree "0.23.1"
-hermes-parser@0.25.1:
- version "0.25.1"
- resolved "https://registry.yarnpkg.com/hermes-parser/-/hermes-parser-0.25.1.tgz#5be0e487b2090886c62bd8a11724cd766d5f54d1"
- integrity sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==
- dependencies:
- hermes-estree "0.25.1"
-
hermes-parser@0.28.1:
version "0.28.1"
resolved "https://registry.yarnpkg.com/hermes-parser/-/hermes-parser-0.28.1.tgz#17b9e6377f334b6870a1f6da2e123fdcd0b605ac"
@@ -6915,6 +6913,13 @@ hermes-parser@0.28.1:
dependencies:
hermes-estree "0.28.1"
+hermes-parser@0.29.1:
+ version "0.29.1"
+ resolved "https://registry.yarnpkg.com/hermes-parser/-/hermes-parser-0.29.1.tgz#436b24bcd7bb1e71f92a04c396ccc0716c288d56"
+ integrity sha512-xBHWmUtRC5e/UL0tI7Ivt2riA/YBq9+SiYFU7C1oBa/j2jYGlIF9043oak1F47ihuDIxQ5nbsKueYJDRY02UgA==
+ dependencies:
+ hermes-estree "0.29.1"
+
hermes-transform@0.28.1:
version "0.28.1"
resolved "https://registry.yarnpkg.com/hermes-transform/-/hermes-transform-0.28.1.tgz#0324f38032cfaeeaa6bfb975b0474d9ae9023eaa"
@@ -8748,60 +8753,60 @@ metro-babel-register@^0.82.0:
escape-string-regexp "^1.0.5"
flow-enums-runtime "^0.0.6"
-metro-babel-transformer@0.82.4:
- version "0.82.4"
- resolved "https://registry.yarnpkg.com/metro-babel-transformer/-/metro-babel-transformer-0.82.4.tgz#1ac029add8f75d0048c54efc266c0a78791f52b2"
- integrity sha512-4juJahGRb1gmNbQq48lNinB6WFNfb6m0BQqi/RQibEltNiqTCxew/dBspI2EWA4xVCd3mQWGfw0TML4KurQZnQ==
+metro-babel-transformer@0.82.5:
+ version "0.82.5"
+ resolved "https://registry.yarnpkg.com/metro-babel-transformer/-/metro-babel-transformer-0.82.5.tgz#a65ed29265d8257109ab8c37884e6e3a2edee86d"
+ integrity sha512-W/scFDnwJXSccJYnOFdGiYr9srhbHPdxX9TvvACOFsIXdLilh3XuxQl/wXW6jEJfgIb0jTvoTlwwrqvuwymr6Q==
dependencies:
"@babel/core" "^7.25.2"
flow-enums-runtime "^0.0.6"
- hermes-parser "0.28.1"
+ hermes-parser "0.29.1"
nullthrows "^1.1.1"
-metro-cache-key@0.82.4:
- version "0.82.4"
- resolved "https://registry.yarnpkg.com/metro-cache-key/-/metro-cache-key-0.82.4.tgz#21f850008fa2570a51e3958574ea5a791574752e"
- integrity sha512-2JCTqcpF+f2OghOpe/+x+JywfzDkrHdAqinPFWmK2ezNAU/qX0jBFaTETogPibFivxZJil37w9Yp6syX8rFUng==
+metro-cache-key@0.82.5:
+ version "0.82.5"
+ resolved "https://registry.yarnpkg.com/metro-cache-key/-/metro-cache-key-0.82.5.tgz#290a0054b28a708266fb91c8028cf94be04f99c9"
+ integrity sha512-qpVmPbDJuRLrT4kcGlUouyqLGssJnbTllVtvIgXfR7ZuzMKf0mGS+8WzcqzNK8+kCyakombQWR0uDd8qhWGJcA==
dependencies:
flow-enums-runtime "^0.0.6"
-metro-cache@0.82.4:
- version "0.82.4"
- resolved "https://registry.yarnpkg.com/metro-cache/-/metro-cache-0.82.4.tgz#f44557f8b33f5d7b7ba4ccba2880c111e9884329"
- integrity sha512-vX0ylSMGtORKiZ4G8uP6fgfPdDiCWvLZUGZ5zIblSGylOX6JYhvExl0Zg4UA9pix/SSQu5Pnp9vdODMFsNIxhw==
+metro-cache@0.82.5:
+ version "0.82.5"
+ resolved "https://registry.yarnpkg.com/metro-cache/-/metro-cache-0.82.5.tgz#4c8fe58cd5fa30b87db0b2b6a650a771ec6fe162"
+ integrity sha512-AwHV9607xZpedu1NQcjUkua8v7HfOTKfftl6Vc9OGr/jbpiJX6Gpy8E/V9jo/U9UuVYX2PqSUcVNZmu+LTm71Q==
dependencies:
exponential-backoff "^3.1.1"
flow-enums-runtime "^0.0.6"
https-proxy-agent "^7.0.5"
- metro-core "0.82.4"
+ metro-core "0.82.5"
-metro-config@0.82.4, metro-config@^0.82.0:
- version "0.82.4"
- resolved "https://registry.yarnpkg.com/metro-config/-/metro-config-0.82.4.tgz#d42fa8b6a4d53493c34d217bbc6c13ee4817355c"
- integrity sha512-Ki3Wumr3hKHGDS7RrHsygmmRNc/PCJrvkLn0+BWWxmbOmOcMMJDSmSI+WRlT8jd5VPZFxIi4wg+sAt5yBXAK0g==
+metro-config@0.82.5, metro-config@^0.82.2:
+ version "0.82.5"
+ resolved "https://registry.yarnpkg.com/metro-config/-/metro-config-0.82.5.tgz#07366f32c3fe6203d630af7df4781900816c7c85"
+ integrity sha512-/r83VqE55l0WsBf8IhNmc/3z71y2zIPe5kRSuqA5tY/SL/ULzlHUJEMd1szztd0G45JozLwjvrhAzhDPJ/Qo/g==
dependencies:
connect "^3.6.5"
cosmiconfig "^5.0.5"
flow-enums-runtime "^0.0.6"
jest-validate "^29.7.0"
- metro "0.82.4"
- metro-cache "0.82.4"
- metro-core "0.82.4"
- metro-runtime "0.82.4"
+ metro "0.82.5"
+ metro-cache "0.82.5"
+ metro-core "0.82.5"
+ metro-runtime "0.82.5"
-metro-core@0.82.4, metro-core@^0.82.0:
- version "0.82.4"
- resolved "https://registry.yarnpkg.com/metro-core/-/metro-core-0.82.4.tgz#f7f498929ac066dafe704c3598a990eeb2acdc8c"
- integrity sha512-Xo4ozbxPg2vfgJGCgXZ8sVhC2M0lhTqD+tsKO2q9aelq/dCjnnSb26xZKcQO80CQOQUL7e3QWB7pLFGPjZm31A==
+metro-core@0.82.5, metro-core@^0.82.2:
+ version "0.82.5"
+ resolved "https://registry.yarnpkg.com/metro-core/-/metro-core-0.82.5.tgz#fda1b2f7365e3a09055dd72ba1681f8fc1f6f492"
+ integrity sha512-OJL18VbSw2RgtBm1f2P3J5kb892LCVJqMvslXxuxjAPex8OH7Eb8RBfgEo7VZSjgb/LOf4jhC4UFk5l5tAOHHA==
dependencies:
flow-enums-runtime "^0.0.6"
lodash.throttle "^4.1.1"
- metro-resolver "0.82.4"
+ metro-resolver "0.82.5"
-metro-file-map@0.82.4:
- version "0.82.4"
- resolved "https://registry.yarnpkg.com/metro-file-map/-/metro-file-map-0.82.4.tgz#186d737088433dd290c5974d9d96d7e62d36e4f9"
- integrity sha512-eO7HD1O3aeNsbEe6NBZvx1lLJUrxgyATjnDmb7bm4eyF6yWOQot9XVtxTDLNifECuvsZ4jzRiTInrbmIHkTdGA==
+metro-file-map@0.82.5:
+ version "0.82.5"
+ resolved "https://registry.yarnpkg.com/metro-file-map/-/metro-file-map-0.82.5.tgz#3e47410a9ce8f6c913480970226a17371c2d2974"
+ integrity sha512-vpMDxkGIB+MTN8Af5hvSAanc6zXQipsAUO+XUx3PCQieKUfLwdoa8qaZ1WAQYRpaU+CJ8vhBcxtzzo3d9IsCIQ==
dependencies:
debug "^4.4.0"
fb-watchman "^2.0.0"
@@ -8820,58 +8825,70 @@ metro-memory-fs@^0.82.0:
dependencies:
flow-enums-runtime "^0.0.6"
-metro-minify-terser@0.82.4:
- version "0.82.4"
- resolved "https://registry.yarnpkg.com/metro-minify-terser/-/metro-minify-terser-0.82.4.tgz#3750c14e7a25eba591f6c75eed995f6751030618"
- integrity sha512-W79Mi6BUwWVaM8Mc5XepcqkG+TSsCyyo//dmTsgYfJcsmReQorRFodil3bbJInETvjzdnS1mCsUo9pllNjT1Hg==
+metro-minify-terser@0.82.5:
+ version "0.82.5"
+ resolved "https://registry.yarnpkg.com/metro-minify-terser/-/metro-minify-terser-0.82.5.tgz#5dc77d53b6ef4079bd9c752ae046d557df4ae584"
+ integrity sha512-v6Nx7A4We6PqPu/ta1oGTqJ4Usz0P7c+3XNeBxW9kp8zayS3lHUKR0sY0wsCHInxZlNAEICx791x+uXytFUuwg==
dependencies:
flow-enums-runtime "^0.0.6"
terser "^5.15.0"
-metro-resolver@0.82.4:
- version "0.82.4"
- resolved "https://registry.yarnpkg.com/metro-resolver/-/metro-resolver-0.82.4.tgz#936a2300fa577183a1e0e6f7cc405e52f9276f0e"
- integrity sha512-uWoHzOBGQTPT5PjippB8rRT3iI9CTgFA9tRiLMzrseA5o7YAlgvfTdY9vFk2qyk3lW3aQfFKWkmqENryPRpu+Q==
+metro-resolver@0.82.5:
+ version "0.82.5"
+ resolved "https://registry.yarnpkg.com/metro-resolver/-/metro-resolver-0.82.5.tgz#cb810038d488a47334df444312b23f0090eca5c3"
+ integrity sha512-kFowLnWACt3bEsuVsaRNgwplT8U7kETnaFHaZePlARz4Fg8tZtmRDUmjaD68CGAwc0rwdwNCkWizLYpnyVcs2g==
dependencies:
flow-enums-runtime "^0.0.6"
-metro-runtime@0.82.4, metro-runtime@^0.82.0:
- version "0.82.4"
- resolved "https://registry.yarnpkg.com/metro-runtime/-/metro-runtime-0.82.4.tgz#70e0b871683fdb594f2a7c03403b6350deca086b"
- integrity sha512-vVyFO7H+eLXRV2E7YAUYA7aMGBECGagqxmFvC2hmErS7oq90BbPVENfAHbUWq1vWH+MRiivoRxdxlN8gBoF/dw==
+metro-runtime@0.82.5, metro-runtime@^0.82.2:
+ version "0.82.5"
+ resolved "https://registry.yarnpkg.com/metro-runtime/-/metro-runtime-0.82.5.tgz#97840760e4cee49f08948dd918dbeba08dd0d0ec"
+ integrity sha512-rQZDoCUf7k4Broyw3Ixxlq5ieIPiR1ULONdpcYpbJQ6yQ5GGEyYjtkztGD+OhHlw81LCR2SUAoPvtTus2WDK5g==
dependencies:
"@babel/runtime" "^7.25.0"
flow-enums-runtime "^0.0.6"
-metro-source-map@0.82.4, metro-source-map@^0.82.0:
- version "0.82.4"
- resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.82.4.tgz#ddd9bdf3a5864ee8f0b296ed11e46bdc2de321ac"
- integrity sha512-9jzDQJ0FPas1FuQFtwmBHsez2BfhFNufMowbOMeG3ZaFvzeziE8A0aJwILDS3U+V5039ssCQFiQeqDgENWvquA==
+metro-source-map@0.82.5, metro-source-map@^0.82.2:
+ version "0.82.5"
+ resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.82.5.tgz#85e2e9672bff6d6cefb3b65b96fcc69f929c69c6"
+ integrity sha512-wH+awTOQJVkbhn2SKyaw+0cd+RVSCZ3sHVgyqJFQXIee/yLs3dZqKjjeKKhhVeudgjXo7aE/vSu/zVfcQEcUfw==
dependencies:
"@babel/traverse" "^7.25.3"
"@babel/traverse--for-generate-function-map" "npm:@babel/traverse@^7.25.3"
"@babel/types" "^7.25.2"
flow-enums-runtime "^0.0.6"
invariant "^2.2.4"
- metro-symbolicate "0.82.4"
+ metro-symbolicate "0.82.5"
nullthrows "^1.1.1"
- ob1 "0.82.4"
+ ob1 "0.82.5"
source-map "^0.5.6"
vlq "^1.0.0"
-metro-symbolicate@0.82.4:
- version "0.82.4"
- resolved "https://registry.yarnpkg.com/metro-symbolicate/-/metro-symbolicate-0.82.4.tgz#76603b0ec2ad8fe5f174aa76485cc46228547a91"
- integrity sha512-LwEwAtdsx7z8rYjxjpLWxuFa2U0J6TS6ljlQM4WAATKa4uzV8unmnRuN2iNBWTmRqgNR77mzmI2vhwD4QSCo+w==
+metro-symbolicate@0.82.5:
+ version "0.82.5"
+ resolved "https://registry.yarnpkg.com/metro-symbolicate/-/metro-symbolicate-0.82.5.tgz#b53255cad11f1e6795f319ca4b41857bfe295d65"
+ integrity sha512-1u+07gzrvYDJ/oNXuOG1EXSvXZka/0JSW1q2EYBWerVKMOhvv9JzDGyzmuV7hHbF2Hg3T3S2uiM36sLz1qKsiw==
dependencies:
flow-enums-runtime "^0.0.6"
invariant "^2.2.4"
- metro-source-map "0.82.4"
+ metro-source-map "0.82.5"
nullthrows "^1.1.1"
source-map "^0.5.6"
vlq "^1.0.0"
-metro-transform-plugins@0.82.4, metro-transform-plugins@^0.82.0:
+metro-transform-plugins@0.82.5:
+ version "0.82.5"
+ resolved "https://registry.yarnpkg.com/metro-transform-plugins/-/metro-transform-plugins-0.82.5.tgz#678da4d0f9085b2a3fc0b4350062f19cc625c5fc"
+ integrity sha512-57Bqf3rgq9nPqLrT2d9kf/2WVieTFqsQ6qWHpEng5naIUtc/Iiw9+0bfLLWSAw0GH40iJ4yMjFcFJDtNSYynMA==
+ dependencies:
+ "@babel/core" "^7.25.2"
+ "@babel/generator" "^7.25.0"
+ "@babel/template" "^7.25.0"
+ "@babel/traverse" "^7.25.3"
+ flow-enums-runtime "^0.0.6"
+ nullthrows "^1.1.1"
+
+metro-transform-plugins@^0.82.0:
version "0.82.4"
resolved "https://registry.yarnpkg.com/metro-transform-plugins/-/metro-transform-plugins-0.82.4.tgz#9d3bb855126e0a63ac2ccf012ed2bc7829209e8c"
integrity sha512-NoWQRPHupVpnDgYguiEcm7YwDhnqW02iWWQjO2O8NsNP09rEMSq99nPjARWfukN7+KDh6YjLvTIN20mj3dk9kw==
@@ -8883,29 +8900,29 @@ metro-transform-plugins@0.82.4, metro-transform-plugins@^0.82.0:
flow-enums-runtime "^0.0.6"
nullthrows "^1.1.1"
-metro-transform-worker@0.82.4:
- version "0.82.4"
- resolved "https://registry.yarnpkg.com/metro-transform-worker/-/metro-transform-worker-0.82.4.tgz#cf7db4ef89301ab6658f7a0988fd030e28f86b28"
- integrity sha512-kPI7Ad/tdAnI9PY4T+2H0cdgGeSWWdiPRKuytI806UcN4VhFL6OmYa19/4abYVYF+Cd2jo57CDuwbaxRfmXDhw==
+metro-transform-worker@0.82.5:
+ version "0.82.5"
+ resolved "https://registry.yarnpkg.com/metro-transform-worker/-/metro-transform-worker-0.82.5.tgz#aabdccf17aaa584ec0fd97b5283e806958fb3418"
+ integrity sha512-mx0grhAX7xe+XUQH6qoHHlWedI8fhSpDGsfga7CpkO9Lk9W+aPitNtJWNGrW8PfjKEWbT9Uz9O50dkI8bJqigw==
dependencies:
"@babel/core" "^7.25.2"
"@babel/generator" "^7.25.0"
"@babel/parser" "^7.25.3"
"@babel/types" "^7.25.2"
flow-enums-runtime "^0.0.6"
- metro "0.82.4"
- metro-babel-transformer "0.82.4"
- metro-cache "0.82.4"
- metro-cache-key "0.82.4"
- metro-minify-terser "0.82.4"
- metro-source-map "0.82.4"
- metro-transform-plugins "0.82.4"
+ metro "0.82.5"
+ metro-babel-transformer "0.82.5"
+ metro-cache "0.82.5"
+ metro-cache-key "0.82.5"
+ metro-minify-terser "0.82.5"
+ metro-source-map "0.82.5"
+ metro-transform-plugins "0.82.5"
nullthrows "^1.1.1"
-metro@0.82.4, metro@^0.82.0:
- version "0.82.4"
- resolved "https://registry.yarnpkg.com/metro/-/metro-0.82.4.tgz#e4fb4552f1387610b0b2873ed07d4cd59754d636"
- integrity sha512-/gFmw3ux9CPG5WUmygY35hpyno28zi/7OUn6+OFfbweA8l0B+PPqXXLr0/T6cf5nclCcH0d22o+02fICaShVxw==
+metro@0.82.5, metro@^0.82.2:
+ version "0.82.5"
+ resolved "https://registry.yarnpkg.com/metro/-/metro-0.82.5.tgz#a27fbc08dd283a14ae58496288c10adaae65f461"
+ integrity sha512-8oAXxL7do8QckID/WZEKaIFuQJFUTLzfVcC48ghkHhNK2RGuQq8Xvf4AVd+TUA0SZtX0q8TGNXZ/eba1ckeGCg==
dependencies:
"@babel/code-frame" "^7.24.7"
"@babel/core" "^7.25.2"
@@ -8922,24 +8939,24 @@ metro@0.82.4, metro@^0.82.0:
error-stack-parser "^2.0.6"
flow-enums-runtime "^0.0.6"
graceful-fs "^4.2.4"
- hermes-parser "0.28.1"
+ hermes-parser "0.29.1"
image-size "^1.0.2"
invariant "^2.2.4"
jest-worker "^29.7.0"
jsc-safe-url "^0.2.2"
lodash.throttle "^4.1.1"
- metro-babel-transformer "0.82.4"
- metro-cache "0.82.4"
- metro-cache-key "0.82.4"
- metro-config "0.82.4"
- metro-core "0.82.4"
- metro-file-map "0.82.4"
- metro-resolver "0.82.4"
- metro-runtime "0.82.4"
- metro-source-map "0.82.4"
- metro-symbolicate "0.82.4"
- metro-transform-plugins "0.82.4"
- metro-transform-worker "0.82.4"
+ metro-babel-transformer "0.82.5"
+ metro-cache "0.82.5"
+ metro-cache-key "0.82.5"
+ metro-config "0.82.5"
+ metro-core "0.82.5"
+ metro-file-map "0.82.5"
+ metro-resolver "0.82.5"
+ metro-runtime "0.82.5"
+ metro-source-map "0.82.5"
+ metro-symbolicate "0.82.5"
+ metro-transform-plugins "0.82.5"
+ metro-transform-worker "0.82.5"
mime-types "^2.1.27"
nullthrows "^1.1.1"
serialize-error "^2.1.0"
@@ -9367,10 +9384,10 @@ oauth-sign@~0.9.0:
resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455"
integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==
-ob1@0.82.4:
- version "0.82.4"
- resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.82.4.tgz#60f04f61b8ab96e1f818eb856b35c97bbef44726"
- integrity sha512-n9S8e4l5TvkrequEAMDidl4yXesruWTNTzVkeaHSGywoTOIwTzZzKw7Z670H3eaXDZui5MJXjWGNzYowVZIxCA==
+ob1@0.82.5:
+ version "0.82.5"
+ resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.82.5.tgz#a2860e39385f4602bc2666c46f331b7531b94a8b"
+ integrity sha512-QyQQ6e66f+Ut/qUVjEce0E/wux5nAGLXYZDn1jr15JWstHsCH3l6VVrg8NKDptW9NEiBXKOJeGF/ydxeSDF3IQ==
dependencies:
flow-enums-runtime "^0.0.6"
@@ -10168,19 +10185,19 @@ react-native-xaml@^0.0.80:
dependencies:
"@types/react" "^19.0.0"
-react-native@0.80.0-nightly-20250428-9efcdc091:
- version "0.80.0-nightly-20250428-9efcdc091"
- resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.80.0-nightly-20250428-9efcdc091.tgz#f8865a751764c4a5bc44c5aa9888245d75574130"
- integrity sha512-/9ku5UgwO+hODVDEZjLLaTtgCl6txgZDHQOX8u6F/aFdhkOJ0vGDfSh4x9WlzcqPFRzxv0+O+xzp7vtG5mew3w==
+react-native@0.80.0-nightly-20250506-3ac16dd6a:
+ version "0.80.0-nightly-20250506-3ac16dd6a"
+ resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.80.0-nightly-20250506-3ac16dd6a.tgz#f700a9b5eb7013353f686bca9c7b598bf1c70da4"
+ integrity sha512-xjFxuEzoor3vNBCu3WhUOEnJhJjwUlsCkvRYjcFYWxGkzAaJfl0l75epYImN++eigXs+S8BMN3r155N7xy6vTw==
dependencies:
"@jest/create-cache-key-function" "^29.7.0"
- "@react-native/assets-registry" "0.80.0-nightly-20250428-9efcdc091"
- "@react-native/codegen" "0.80.0-nightly-20250428-9efcdc091"
- "@react-native/community-cli-plugin" "0.80.0-nightly-20250428-9efcdc091"
- "@react-native/gradle-plugin" "0.80.0-nightly-20250428-9efcdc091"
- "@react-native/js-polyfills" "0.80.0-nightly-20250428-9efcdc091"
- "@react-native/normalize-colors" "0.80.0-nightly-20250428-9efcdc091"
- "@react-native/virtualized-lists" "0.80.0-nightly-20250428-9efcdc091"
+ "@react-native/assets-registry" "0.80.0-nightly-20250506-3ac16dd6a"
+ "@react-native/codegen" "0.80.0-nightly-20250506-3ac16dd6a"
+ "@react-native/community-cli-plugin" "0.80.0-nightly-20250506-3ac16dd6a"
+ "@react-native/gradle-plugin" "0.80.0-nightly-20250506-3ac16dd6a"
+ "@react-native/js-polyfills" "0.80.0-nightly-20250506-3ac16dd6a"
+ "@react-native/normalize-colors" "0.80.0-nightly-20250506-3ac16dd6a"
+ "@react-native/virtualized-lists" "0.80.0-nightly-20250506-3ac16dd6a"
abort-controller "^3.0.0"
anser "^1.4.9"
ansi-regex "^5.0.0"
@@ -10194,8 +10211,8 @@ react-native@0.80.0-nightly-20250428-9efcdc091:
invariant "^2.2.4"
jest-environment-node "^29.7.0"
memoize-one "^5.0.0"
- metro-runtime "^0.82.0"
- metro-source-map "^0.82.0"
+ metro-runtime "^0.82.2"
+ metro-source-map "^0.82.2"
nullthrows "^1.1.1"
pretty-format "^29.7.0"
promise "^8.3.0"
@@ -10700,16 +10717,16 @@ sax@>=0.6.0:
resolved "https://registry.yarnpkg.com/sax/-/sax-1.4.1.tgz#44cc8988377f126304d3b3fc1010c733b929ef0f"
integrity sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==
-scheduler@0.25.0, scheduler@^0.25.0:
- version "0.25.0"
- resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.25.0.tgz#336cd9768e8cceebf52d3c80e3dcf5de23e7e015"
- integrity sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==
-
scheduler@0.26.0, scheduler@^0.26.0:
version "0.26.0"
resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.26.0.tgz#4ce8a8c2a2095f13ea11bf9a445be50c555d6337"
integrity sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==
+scheduler@^0.25.0:
+ version "0.25.0"
+ resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.25.0.tgz#336cd9768e8cceebf52d3c80e3dcf5de23e7e015"
+ integrity sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==
+
screenshot-desktop@^1.12.2:
version "1.15.1"
resolved "https://registry.yarnpkg.com/screenshot-desktop/-/screenshot-desktop-1.15.1.tgz#3fa91d25557daf5022d9add82acc8a2b20f0bc2e"
From 6775bb021aab9ccb07802c4239a15ba107877c3e Mon Sep 17 00:00:00 2001
From: Anupriya Verma <54227869+anupriya13@users.noreply.github.com>
Date: Wed, 23 Jul 2025 08:49:50 +0530
Subject: [PATCH 2/9] fix rntesterlist
---
.../src/js/utils/RNTesterList.win32.js | 3 +++
.../@react-native/tester/js/utils/RNTesterList.android.js | 6 +++---
packages/@react-native/tester/js/utils/RNTesterList.ios.js | 6 +++---
3 files changed, 9 insertions(+), 6 deletions(-)
diff --git a/packages/@office-iss/react-native-win32-tester/src/js/utils/RNTesterList.win32.js b/packages/@office-iss/react-native-win32-tester/src/js/utils/RNTesterList.win32.js
index b53c427e7dc..76ed50c15b0 100644
--- a/packages/@office-iss/react-native-win32-tester/src/js/utils/RNTesterList.win32.js
+++ b/packages/@office-iss/react-native-win32-tester/src/js/utils/RNTesterList.win32.js
@@ -12,6 +12,7 @@
import type {RNTesterModule, RNTesterModuleInfo} from '../types/RNTesterTypes';
+import * as RNTesterListFbInternal from './RNTesterListFbInternal';
import ReactNativeFeatureFlags from 'react-native/Libraries/ReactNative/ReactNativeFeatureFlags';
const Components: Array = [
@@ -159,6 +160,7 @@ const Components: Array = [
module: require('../examples/OSSLibraryExample/OSSLibraryExample'),
},
*/
+ ...RNTesterListFbInternal.Components,
];
const APIs: Array = ([
@@ -364,6 +366,7 @@ const APIs: Array = ([
category: 'Basic',
module: require('../examples/TurboModule/TurboCxxModuleExample'),
},
+ ...RNTesterListFbInternal.APIs,
]: Array).filter(Boolean);
if (ReactNativeFeatureFlags.shouldEmitW3CPointerEvents()) {
diff --git a/packages/@react-native/tester/js/utils/RNTesterList.android.js b/packages/@react-native/tester/js/utils/RNTesterList.android.js
index f7ae5633436..833546281c1 100644
--- a/packages/@react-native/tester/js/utils/RNTesterList.android.js
+++ b/packages/@react-native/tester/js/utils/RNTesterList.android.js
@@ -12,6 +12,7 @@
import type {RNTesterModule, RNTesterModuleInfo} from '../types/RNTesterTypes';
+import * as RNTesterListFbInternal from './RNTesterListFbInternal';
import ReactNativeFeatureFlags from 'react-native/Libraries/ReactNative/ReactNativeFeatureFlags';
const Components: Array = [
@@ -151,6 +152,7 @@ const Components: Array = [
module: require('../examples/OSSLibraryExample/OSSLibraryExample'),
},
*/
+ ...RNTesterListFbInternal.Components,
];
const APIs: Array = ([
@@ -225,8 +227,6 @@ const APIs: Array = ([
module: require('../examples/DisplayContents/DisplayContentsExample')
.default,
},
- // Only show the link for the example if the API is available.
- // $FlowExpectedError[cannot-resolve-name]
{
key: 'InvalidPropsExample',
module: require('../examples/InvalidProps/InvalidPropsExample'),
@@ -256,7 +256,6 @@ const APIs: Array = ([
category: 'UI',
module: require('../examples/Layout/LayoutExample'),
},
- // $FlowExpectedError[cannot-resolve-name]
{
key: 'NativeAnimationsExample',
category: 'UI',
@@ -366,6 +365,7 @@ const APIs: Array = ([
category: 'Basic',
module: require('../examples/TurboModule/TurboCxxModuleExample'),
},
+ ...RNTesterListFbInternal.APIs,
]: Array).filter(Boolean);
if (ReactNativeFeatureFlags.shouldEmitW3CPointerEvents()) {
diff --git a/packages/@react-native/tester/js/utils/RNTesterList.ios.js b/packages/@react-native/tester/js/utils/RNTesterList.ios.js
index fe53df411c8..f3e23baac4f 100644
--- a/packages/@react-native/tester/js/utils/RNTesterList.ios.js
+++ b/packages/@react-native/tester/js/utils/RNTesterList.ios.js
@@ -12,6 +12,7 @@
import type {RNTesterModule, RNTesterModuleInfo} from '../types/RNTesterTypes';
+import * as RNTesterListFbInternal from './RNTesterListFbInternal';
import ReactNativeFeatureFlags from 'react-native/Libraries/ReactNative/ReactNativeFeatureFlags';
const Components: Array = [
@@ -156,6 +157,7 @@ const Components: Array = [
module: require('../examples/OSSLibraryExample/OSSLibraryExample'),
},
*/
+ ...RNTesterListFbInternal.Components,
];
const APIs: Array = ([
@@ -229,8 +231,6 @@ const APIs: Array = ([
module: require('../examples/DisplayContents/DisplayContentsExample')
.default,
},
- // Only show the link for the example if the API is available.
- // $FlowExpectedError[cannot-resolve-name]
{
key: 'InvalidPropsExample',
module: require('../examples/InvalidProps/InvalidPropsExample'),
@@ -251,7 +251,6 @@ const APIs: Array = ([
key: 'LinkingExample',
module: require('../examples/Linking/LinkingExample'),
},
- // $FlowExpectedError[cannot-resolve-name]
{
key: 'NativeAnimationsExample',
module: require('../examples/NativeAnimation/NativeAnimationsExample'),
@@ -342,6 +341,7 @@ const APIs: Array = ([
key: 'XHRExample',
module: require('../examples/XHR/XHRExample'),
},
+ ...RNTesterListFbInternal.APIs,
]: Array).filter(Boolean);
if (ReactNativeFeatureFlags.shouldEmitW3CPointerEvents()) {
From ed36ab324dadabee3597dac8c5a1ba3f0308a9f4 Mon Sep 17 00:00:00 2001
From: Anupriya Verma <54227869+anupriya13@users.noreply.github.com>
Date: Wed, 23 Jul 2025 09:46:51 +0530
Subject: [PATCH 3/9] override rntesterlistfb
---
.../react-native-win32-tester/overrides.json | 7 +++++++
.../src/js/utils/RNTesterListFbInternal.js | 16 ++++++++++++++++
2 files changed, 23 insertions(+)
create mode 100644 packages/@office-iss/react-native-win32-tester/src/js/utils/RNTesterListFbInternal.js
diff --git a/packages/@office-iss/react-native-win32-tester/overrides.json b/packages/@office-iss/react-native-win32-tester/overrides.json
index c88646b2f7e..c744ef381bf 100644
--- a/packages/@office-iss/react-native-win32-tester/overrides.json
+++ b/packages/@office-iss/react-native-win32-tester/overrides.json
@@ -43,6 +43,13 @@
"file": "src/js/utils/RNTesterList.win32.js",
"baseFile": "packages/rn-tester/js/utils/RNTesterList.android.js",
"baseHash": "aded9dd37f3ac325aa1cc095f6d217114c45a8b9"
+ },
+ {
+ "type": "derived",
+ "file": "src/js/utils/RNTesterListFbInternal.js",
+ "baseFile": "packages/rn-tester/js/utils/RNTesterListFbInternal.js",
+ "baseHash": "fe9f56b0fbc6677a817f9fdaf020185b9c8ffb58",
+ "issue": 0
}
]
}
\ No newline at end of file
diff --git a/packages/@office-iss/react-native-win32-tester/src/js/utils/RNTesterListFbInternal.js b/packages/@office-iss/react-native-win32-tester/src/js/utils/RNTesterListFbInternal.js
new file mode 100644
index 00000000000..fc1e79f5fb5
--- /dev/null
+++ b/packages/@office-iss/react-native-win32-tester/src/js/utils/RNTesterListFbInternal.js
@@ -0,0 +1,16 @@
+/**
+ * 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.
+ *
+ * @flow strict-local
+ * @format
+ * @oncall react_native
+ */
+
+// Windows
+import type {RNTesterModuleInfo} from '../types/RNTesterTypes';
+
+export const Components: Array = [];
+export const APIs: Array = [];
From 2fcd5a4d2873ed10335136ca4a4ac9b6f262efd2 Mon Sep 17 00:00:00 2001
From: Anupriya Verma <54227869+anupriya13@users.noreply.github.com>
Date: Thu, 24 Jul 2025 09:24:46 +0530
Subject: [PATCH 4/9] Revert "override rntesterlistfb"
This reverts commit ed36ab324dadabee3597dac8c5a1ba3f0308a9f4.
---
.../react-native-win32-tester/overrides.json | 7 -------
.../src/js/utils/RNTesterListFbInternal.js | 16 ----------------
2 files changed, 23 deletions(-)
delete mode 100644 packages/@office-iss/react-native-win32-tester/src/js/utils/RNTesterListFbInternal.js
diff --git a/packages/@office-iss/react-native-win32-tester/overrides.json b/packages/@office-iss/react-native-win32-tester/overrides.json
index c744ef381bf..c88646b2f7e 100644
--- a/packages/@office-iss/react-native-win32-tester/overrides.json
+++ b/packages/@office-iss/react-native-win32-tester/overrides.json
@@ -43,13 +43,6 @@
"file": "src/js/utils/RNTesterList.win32.js",
"baseFile": "packages/rn-tester/js/utils/RNTesterList.android.js",
"baseHash": "aded9dd37f3ac325aa1cc095f6d217114c45a8b9"
- },
- {
- "type": "derived",
- "file": "src/js/utils/RNTesterListFbInternal.js",
- "baseFile": "packages/rn-tester/js/utils/RNTesterListFbInternal.js",
- "baseHash": "fe9f56b0fbc6677a817f9fdaf020185b9c8ffb58",
- "issue": 0
}
]
}
\ No newline at end of file
diff --git a/packages/@office-iss/react-native-win32-tester/src/js/utils/RNTesterListFbInternal.js b/packages/@office-iss/react-native-win32-tester/src/js/utils/RNTesterListFbInternal.js
deleted file mode 100644
index fc1e79f5fb5..00000000000
--- a/packages/@office-iss/react-native-win32-tester/src/js/utils/RNTesterListFbInternal.js
+++ /dev/null
@@ -1,16 +0,0 @@
-/**
- * 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.
- *
- * @flow strict-local
- * @format
- * @oncall react_native
- */
-
-// Windows
-import type {RNTesterModuleInfo} from '../types/RNTesterTypes';
-
-export const Components: Array = [];
-export const APIs: Array = [];
From 2560f6e7d01742e7183bf4b65b720f17cfd5b54a Mon Sep 17 00:00:00 2001
From: Anupriya Verma <54227869+anupriya13@users.noreply.github.com>
Date: Fri, 25 Jul 2025 09:02:00 +0530
Subject: [PATCH 5/9] override rntesterlistfb correctly
---
packages/@react-native-windows/tester/overrides.json | 7 -------
.../tester}/js/utils/RNTesterListFbInternal.js | 1 -
packages/@react-native/tester/overrides.json | 7 +++++++
3 files changed, 7 insertions(+), 8 deletions(-)
rename packages/{@react-native-windows/tester/src => @react-native/tester}/js/utils/RNTesterListFbInternal.js (97%)
diff --git a/packages/@react-native-windows/tester/overrides.json b/packages/@react-native-windows/tester/overrides.json
index da76b4f588e..392848a5be4 100644
--- a/packages/@react-native-windows/tester/overrides.json
+++ b/packages/@react-native-windows/tester/overrides.json
@@ -163,13 +163,6 @@
"file": "src/js/utils/RNTesterList.windows.js",
"baseFile": "packages/rn-tester/js/utils/RNTesterList.android.js",
"baseHash": "aded9dd37f3ac325aa1cc095f6d217114c45a8b9"
- },
- {
- "type": "derived",
- "file": "src/js/utils/RNTesterListFbInternal.js",
- "baseFile": "packages/rn-tester/js/utils/RNTesterListFbInternal.js",
- "baseHash": "fe9f56b0fbc6677a817f9fdaf020185b9c8ffb58",
- "issue": 0
}
]
}
\ No newline at end of file
diff --git a/packages/@react-native-windows/tester/src/js/utils/RNTesterListFbInternal.js b/packages/@react-native/tester/js/utils/RNTesterListFbInternal.js
similarity index 97%
rename from packages/@react-native-windows/tester/src/js/utils/RNTesterListFbInternal.js
rename to packages/@react-native/tester/js/utils/RNTesterListFbInternal.js
index fc1e79f5fb5..8e359256c02 100644
--- a/packages/@react-native-windows/tester/src/js/utils/RNTesterListFbInternal.js
+++ b/packages/@react-native/tester/js/utils/RNTesterListFbInternal.js
@@ -9,7 +9,6 @@
* @oncall react_native
*/
-// Windows
import type {RNTesterModuleInfo} from '../types/RNTesterTypes';
export const Components: Array = [];
diff --git a/packages/@react-native/tester/overrides.json b/packages/@react-native/tester/overrides.json
index db3531af99d..f21b5471da1 100644
--- a/packages/@react-native/tester/overrides.json
+++ b/packages/@react-native/tester/overrides.json
@@ -594,6 +594,13 @@
"baseHash": "8059d3cfd7ce42a8283ff6bbfd5c6a133e30b7a2",
"issue": 4054
},
+ {
+ "type": "copy",
+ "file": "js/utils/RNTesterListFbInternal.js",
+ "baseFile": "packages/rn-tester/js/utils/RNTesterListFbInternal.js",
+ "baseHash": "fe9f56b0fbc6677a817f9fdaf020185b9c8ffb58",
+ "issue": 0
+ },
{
"type": "copy",
"file": "js/utils/RNTesterNavigationReducer.js",
From c983ef53cdcaa1c02b0249ede28cedc89951135b Mon Sep 17 00:00:00 2001
From: Anupriya Verma <54227869+anupriya13@users.noreply.github.com>
Date: Fri, 25 Jul 2025 09:06:31 +0530
Subject: [PATCH 6/9] fix newappscreentester override
---
.../tester/overrides.json | 7 ----
.../NewAppScreen/NewAppScreenExample.js | 1 -
packages/@react-native/tester/overrides.json | 7 ++++
yarn.lock | 37 +------------------
4 files changed, 8 insertions(+), 44 deletions(-)
rename packages/{@react-native-windows/tester/src/js/examples-win => @react-native/tester/js/examples}/NewAppScreen/NewAppScreenExample.js (98%)
diff --git a/packages/@react-native-windows/tester/overrides.json b/packages/@react-native-windows/tester/overrides.json
index 392848a5be4..a7ccc92ac6d 100644
--- a/packages/@react-native-windows/tester/overrides.json
+++ b/packages/@react-native-windows/tester/overrides.json
@@ -26,13 +26,6 @@
"baseFile": "packages/rn-tester/js/examples/Button/ButtonExample.js",
"baseHash": "e03b21d229ecb631c12e4ac04ddf73fbe6059da7"
},
- {
- "type": "derived",
- "file": "src/js/examples-win/NewAppScreen/NewAppScreenExample.js",
- "baseFile": "packages/rn-tester/js/examples/NewAppScreen/NewAppScreenExample.js",
- "baseHash": "884fc18a2119d52cb7629358c07bb26c764abf4f",
- "issue": 0
- },
{
"type": "derived",
"file": "src/js/examples-win/Switch/SwitchExample.windows.js",
diff --git a/packages/@react-native-windows/tester/src/js/examples-win/NewAppScreen/NewAppScreenExample.js b/packages/@react-native/tester/js/examples/NewAppScreen/NewAppScreenExample.js
similarity index 98%
rename from packages/@react-native-windows/tester/src/js/examples-win/NewAppScreen/NewAppScreenExample.js
rename to packages/@react-native/tester/js/examples/NewAppScreen/NewAppScreenExample.js
index 3a45d74fdbe..e8a85a7bf19 100644
--- a/packages/@react-native-windows/tester/src/js/examples-win/NewAppScreen/NewAppScreenExample.js
+++ b/packages/@react-native/tester/js/examples/NewAppScreen/NewAppScreenExample.js
@@ -8,7 +8,6 @@
* @flow
*/
-// Windows
'use strict';
const {NewAppScreen} = require('@react-native/new-app-screen');
diff --git a/packages/@react-native/tester/overrides.json b/packages/@react-native/tester/overrides.json
index f21b5471da1..28a0fbfb75e 100644
--- a/packages/@react-native/tester/overrides.json
+++ b/packages/@react-native/tester/overrides.json
@@ -246,6 +246,13 @@
"baseHash": "511912caab1a4ca976b70e23d31508dd3c060cd9",
"issue": 4054
},
+ {
+ "type": "copy",
+ "file": "js/examples/NewAppScreen/NewAppScreenExample.js",
+ "baseFile": "packages/rn-tester/js/examples/NewAppScreen/NewAppScreenExample.js",
+ "baseHash": "884fc18a2119d52cb7629358c07bb26c764abf4f",
+ "issue": 0
+ },
{
"type": "copy",
"directory": "js/examples/NewArchitecture",
diff --git a/yarn.lock b/yarn.lock
index 1e7288d25ae..61e5b716fa3 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -8864,34 +8864,6 @@ metro-source-map@0.82.5, metro-source-map@^0.82.2:
source-map "^0.5.6"
vlq "^1.0.0"
-metro-source-map@0.82.5, metro-source-map@^0.82.0:
- version "0.82.5"
- resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.82.5.tgz#85e2e9672bff6d6cefb3b65b96fcc69f929c69c6"
- integrity sha512-wH+awTOQJVkbhn2SKyaw+0cd+RVSCZ3sHVgyqJFQXIee/yLs3dZqKjjeKKhhVeudgjXo7aE/vSu/zVfcQEcUfw==
- dependencies:
- "@babel/traverse" "^7.25.3"
- "@babel/traverse--for-generate-function-map" "npm:@babel/traverse@^7.25.3"
- "@babel/types" "^7.25.2"
- flow-enums-runtime "^0.0.6"
- invariant "^2.2.4"
- metro-symbolicate "0.82.5"
- nullthrows "^1.1.1"
- ob1 "0.82.5"
- source-map "^0.5.6"
- vlq "^1.0.0"
-
-metro-symbolicate@0.82.5:
- version "0.82.5"
- resolved "https://registry.yarnpkg.com/metro-symbolicate/-/metro-symbolicate-0.82.5.tgz#b53255cad11f1e6795f319ca4b41857bfe295d65"
- integrity sha512-1u+07gzrvYDJ/oNXuOG1EXSvXZka/0JSW1q2EYBWerVKMOhvv9JzDGyzmuV7hHbF2Hg3T3S2uiM36sLz1qKsiw==
- dependencies:
- flow-enums-runtime "^0.0.6"
- invariant "^2.2.4"
- metro-source-map "0.82.5"
- nullthrows "^1.1.1"
- source-map "^0.5.6"
- vlq "^1.0.0"
-
metro-symbolicate@0.82.5:
version "0.82.5"
resolved "https://registry.yarnpkg.com/metro-symbolicate/-/metro-symbolicate-0.82.5.tgz#b53255cad11f1e6795f319ca4b41857bfe295d65"
@@ -8904,7 +8876,7 @@ metro-symbolicate@0.82.5:
source-map "^0.5.6"
vlq "^1.0.0"
-metro-transform-plugins@0.82.5:
+metro-transform-plugins@0.82.5, metro-transform-plugins@^0.82.0:
version "0.82.5"
resolved "https://registry.yarnpkg.com/metro-transform-plugins/-/metro-transform-plugins-0.82.5.tgz#678da4d0f9085b2a3fc0b4350062f19cc625c5fc"
integrity sha512-57Bqf3rgq9nPqLrT2d9kf/2WVieTFqsQ6qWHpEng5naIUtc/Iiw9+0bfLLWSAw0GH40iJ4yMjFcFJDtNSYynMA==
@@ -9407,13 +9379,6 @@ ob1@0.82.5:
dependencies:
flow-enums-runtime "^0.0.6"
-ob1@0.82.5:
- version "0.82.5"
- resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.82.5.tgz#a2860e39385f4602bc2666c46f331b7531b94a8b"
- integrity sha512-QyQQ6e66f+Ut/qUVjEce0E/wux5nAGLXYZDn1jr15JWstHsCH3l6VVrg8NKDptW9NEiBXKOJeGF/ydxeSDF3IQ==
- dependencies:
- flow-enums-runtime "^0.0.6"
-
object-assign@^4.1.0, object-assign@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
From b1aa318cd50921dded6fb90209dd5c98e43f01d3 Mon Sep 17 00:00:00 2001
From: Anupriya Verma <54227869+anupriya13@users.noreply.github.com>
Date: Fri, 25 Jul 2025 09:11:35 +0530
Subject: [PATCH 7/9] Update overrides.json
---
packages/@react-native/tester/overrides.json | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/packages/@react-native/tester/overrides.json b/packages/@react-native/tester/overrides.json
index 28a0fbfb75e..dca1ed52898 100644
--- a/packages/@react-native/tester/overrides.json
+++ b/packages/@react-native/tester/overrides.json
@@ -248,8 +248,8 @@
},
{
"type": "copy",
- "file": "js/examples/NewAppScreen/NewAppScreenExample.js",
- "baseFile": "packages/rn-tester/js/examples/NewAppScreen/NewAppScreenExample.js",
+ "directory": "js/examples/NewAppScreen",
+ "baseDirectory": "packages/rn-tester/js/examples/NewAppScreen",
"baseHash": "884fc18a2119d52cb7629358c07bb26c764abf4f",
"issue": 0
},
From cfcae28b5d106115dd750fc2be665c146f1e447d Mon Sep 17 00:00:00 2001
From: Anupriya Verma <54227869+anupriya13@users.noreply.github.com>
Date: Fri, 25 Jul 2025 10:42:56 +0530
Subject: [PATCH 8/9] fix issues
---
.../tester/src/js/utils/RNTesterList.windows.js | 2 +-
packages/@react-native/tester/overrides.json | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/packages/@react-native-windows/tester/src/js/utils/RNTesterList.windows.js b/packages/@react-native-windows/tester/src/js/utils/RNTesterList.windows.js
index 4182b33d2ad..18b1c2a14b4 100644
--- a/packages/@react-native-windows/tester/src/js/utils/RNTesterList.windows.js
+++ b/packages/@react-native-windows/tester/src/js/utils/RNTesterList.windows.js
@@ -87,7 +87,7 @@ const Components: Array = [
},
{
key: 'NewAppScreenExample',
- module: require('../examples-win/NewAppScreen/NewAppScreenExample'),
+ module: require('../examples/NewAppScreen/NewAppScreenExample'),
},
{
key: 'PressableExample',
diff --git a/packages/@react-native/tester/overrides.json b/packages/@react-native/tester/overrides.json
index dca1ed52898..59bd40acc7e 100644
--- a/packages/@react-native/tester/overrides.json
+++ b/packages/@react-native/tester/overrides.json
@@ -250,7 +250,7 @@
"type": "copy",
"directory": "js/examples/NewAppScreen",
"baseDirectory": "packages/rn-tester/js/examples/NewAppScreen",
- "baseHash": "884fc18a2119d52cb7629358c07bb26c764abf4f",
+ "baseHash": "8f10b84d4ebfeab9bd76d2fd9ef06af1bb78bfa7",
"issue": 0
},
{
From 88298d2a86c45c8b28f321c5690c6d465bbade30 Mon Sep 17 00:00:00 2001
From: Anupriya Verma <54227869+anupriya13@users.noreply.github.com>
Date: Fri, 25 Jul 2025 11:05:26 +0530
Subject: [PATCH 9/9] Update package.json
---
packages/sample-app-fabric/package.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/sample-app-fabric/package.json b/packages/sample-app-fabric/package.json
index 1592522fbe5..d5015ea957c 100644
--- a/packages/sample-app-fabric/package.json
+++ b/packages/sample-app-fabric/package.json
@@ -18,7 +18,7 @@
"react": "^19.1.0",
"react-native": "0.80.0-nightly-20250506-3ac16dd6a",
"react-native-windows": "^0.0.0-canary.977",
- "@react-native/new-app-screen": "0.80.0-nightly-20250506-3ac16dd6a
+ "@react-native/new-app-screen": "0.80.0-nightly-20250506-3ac16dd6a"
},
"devDependencies": {
"@babel/core": "^7.25.2",