From 10116740e1a8d53d64dfaedcdbd010bdae73bfac Mon Sep 17 00:00:00 2001 From: vineethkuttan Date: Tue, 17 Jun 2025 14:13:25 +0530 Subject: [PATCH 01/14] Before resolving conflict --- .../react-native-win32-tester/overrides.json | 2 +- .../react-native-win32-tester/package.json | 4 +- .../react-native-win32/.flowconfig | 2 +- .../react-native-win32/overrides.json | 40 ++-- .../react-native-win32/package.json | 26 +-- .../AccessibilityInfo.win32.js | 2 +- .../Components/Pressable/Pressable.win32.js | 17 +- .../Components/TextInput/TextInput.win32.js | 61 +++--- .../TextInput/TextInputState.win32.js | 2 +- .../TouchableNativeFeedback.win32.js | 4 +- .../View/ViewAccessibility.win32.js | 3 +- .../Components/View/ViewPropTypes.win32.js | 54 ++++- .../NativeComponent/BaseViewConfig.win32.js | 1 + .../Libraries/Network/RCTNetworking.win32.js | 2 +- .../Pressability/Pressability.win32.js | 2 +- .../src-win/Libraries/Text/Text.d.ts | 7 +- .../src-win/Libraries/Text/TextProps.win32.js | 5 +- .../Libraries/Types/CoreEventTypes.win32.js | 2 +- .../Libraries/Utilities/DeviceInfo.win32.js | 6 + .../Libraries/Utilities/Dimensions.win32.js | 2 +- .../Libraries/Utilities/PlatformTypes.js | 12 +- .../react-native-win32/src-win/index.win32.js | 7 + .../animated/NativeAnimatedHelper.win32.js | 4 +- .../automation-channel/package.json | 4 +- .../@react-native-windows/cli/package.json | 2 +- .../tester/overrides.json | 4 +- .../@react-native-windows/tester/package.json | 4 +- .../Switch/SwitchExample.windows.js | 2 + .../@react-native/monorepo/overrides.json | 4 +- packages/@react-native/monorepo/package.json | 9 +- .../tester/js/RNTesterAppShared.js | 2 +- .../tester/js/examples/Urls/UrlExample.js | 1 + packages/@react-native/tester/overrides.json | 20 +- packages/@react-native/tester/package.json | 11 +- .../babel-react-native-config/package.json | 6 +- .../@rnw-scripts/integrate-rn/package.json | 2 +- .../metro-dev-config/package.json | 4 +- packages/e2e-test-app-fabric/package.json | 6 +- packages/e2e-test-app/package.json | 6 +- packages/integration-test-app/package.json | 6 +- packages/playground/package.json | 6 +- packages/sample-app-fabric/package.json | 6 +- packages/sample-apps/package.json | 6 +- packages/sample-custom-component/package.json | 6 +- vnext/.flowconfig | 2 +- .../jsinspector-modern/NetworkIOAgent.cpp | 13 +- .../jsinspector-modern/NetworkIOAgent.h | 3 +- .../react/runtime/JSRuntimeFactory.h | 4 + .../ComponentDescriptorRegistry.cpp | 21 +- .../react/runtime/ReactInstance.cpp | 13 +- .../NativeReactNativeFeatureFlagsSpec.g.h | 130 ++++++------ vnext/codegen/rnwcoreJSI-generated.cpp | 24 +-- vnext/codegen/rnwcoreJSI.h | 36 ++-- vnext/overrides.json | 58 +++--- vnext/package.json | 22 +- .../AccessibilityInfo.windows.js | 2 +- .../Components/Pressable/Pressable.windows.js | 17 +- .../ScrollView/ScrollView.windows.js | 31 ++- .../Components/Switch/Switch.windows.js | 2 +- .../Components/TextInput/TextInput.windows.js | 61 +++--- .../TextInput/TextInputState.windows.js | 2 +- .../Touchable/TouchableBounce.windows.js | 3 +- .../Touchable/TouchableHighlight.windows.js | 2 +- .../TouchableNativeFeedback.windows.js | 4 +- .../Touchable/TouchableOpacity.windows.js | 3 +- .../View/ViewAccessibility.windows.js | 4 + .../Components/View/ViewPropTypes.windows.js | 54 ++++- .../NativeComponent/BaseViewConfig.windows.js | 1 + .../Network/RCTNetworking.windows.js | 2 +- .../components/DebugInstructions.windows.js | 21 +- .../components/ReloadInstructions.windows.js | 19 +- .../Pressability/Pressability.windows.js | 2 +- vnext/src-win/Libraries/Text/Text.d.ts | 7 +- .../Libraries/Text/TextProps.windows.js | 5 +- .../Libraries/Types/CoreEventTypes.windows.js | 2 +- .../Libraries/Utilities/PlatformTypes.js | 12 +- vnext/src-win/index.windows.js | 7 + yarn.lock | 196 +++++++----------- 78 files changed, 692 insertions(+), 477 deletions(-) diff --git a/packages/@office-iss/react-native-win32-tester/overrides.json b/packages/@office-iss/react-native-win32-tester/overrides.json index a4535e235eb..99120afca13 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-20250317-fc7385c1e", + "baseVersion": "0.80.0-nightly-20250331-398ac1f71", "overrides": [ { "type": "patch", diff --git a/packages/@office-iss/react-native-win32-tester/package.json b/packages/@office-iss/react-native-win32-tester/package.json index 3a9b9f41338..19e97f281ee 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.288", "react": "19.0.0", - "react-native": "0.80.0-nightly-20250317-fc7385c1e" + "react-native": "0.80.0-nightly-20250331-398ac1f71" }, "devDependencies": { "@office-iss/react-native-win32": "^0.0.0-canary.288", @@ -30,7 +30,7 @@ "@types/node": "^18.0.0", "eslint": "^8.19.0", "just-scripts": "^1.3.3", - "react-native": "0.80.0-nightly-20250317-fc7385c1e", + "react-native": "0.80.0-nightly-20250331-398ac1f71", "react-native-platform-override": "^1.9.55", "typescript": "5.0.4" }, diff --git a/packages/@office-iss/react-native-win32/.flowconfig b/packages/@office-iss/react-native-win32/.flowconfig index 4d602b1bee8..0dc2c9ed1af 100644 --- a/packages/@office-iss/react-native-win32/.flowconfig +++ b/packages/@office-iss/react-native-win32/.flowconfig @@ -168,4 +168,4 @@ untyped-import untyped-type-import [version] -^0.265.2 +^0.266.1 diff --git a/packages/@office-iss/react-native-win32/overrides.json b/packages/@office-iss/react-native-win32/overrides.json index 83496e56fc6..a213f2d90a6 100644 --- a/packages/@office-iss/react-native-win32/overrides.json +++ b/packages/@office-iss/react-native-win32/overrides.json @@ -7,19 +7,19 @@ "**/__snapshots__/**", "src-win/rntypes/**" ], - "baseVersion": "0.80.0-nightly-20250317-fc7385c1e", + "baseVersion": "0.80.0-nightly-20250331-398ac1f71", "overrides": [ { "type": "derived", "file": ".flowconfig", "baseFile": ".flowconfig", - "baseHash": "b8b53bf5315c0b91d0f69c3fe9274797a55b993f" + "baseHash": "5b774dab8f68093cccdd7609b16bde8546765414" }, { "type": "derived", "file": "src-win/index.win32.js", "baseFile": "packages/react-native/index.js", - "baseHash": "7a10369d15e8b09ef772d8f229cbfc712d074cbf" + "baseHash": "8de9394a317351d4d0e582de3f138e6374456823" }, { "type": "platform", @@ -41,7 +41,7 @@ "type": "derived", "file": "src-win/Libraries/Components/AccessibilityInfo/AccessibilityInfo.win32.js", "baseFile": "packages/react-native/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js", - "baseHash": "fa025a1dabfb8c73f72cab48393ef1720273690d" + "baseHash": "5a43c9cf537c5cb89e7f634e45be708f4b021493" }, { "type": "copy", @@ -85,7 +85,7 @@ "type": "patch", "file": "src-win/Libraries/Components/Pressable/Pressable.win32.js", "baseFile": "packages/react-native/Libraries/Components/Pressable/Pressable.js", - "baseHash": "d213d6885bf028350b8f4c79bdcb847289317d86", + "baseHash": "09575f26ef614b81330d27d6cb950580774e3c1f", "issue": 6240 }, { @@ -108,13 +108,13 @@ "type": "derived", "file": "src-win/Libraries/Components/TextInput/TextInput.win32.js", "baseFile": "packages/react-native/Libraries/Components/TextInput/TextInput.js", - "baseHash": "f762096a46203b6bae385806087b7b7cb5744f16" + "baseHash": "b4e722883e25dfa4864a1285b577c5adfc90ce9d" }, { "type": "patch", "file": "src-win/Libraries/Components/TextInput/TextInputState.win32.js", "baseFile": "packages/react-native/Libraries/Components/TextInput/TextInputState.js", - "baseHash": "5603046411826837d1f8003f2d6784221bdef674" + "baseHash": "400af173e846317c705487f51f3cb165e7378a4f" }, { "type": "platform", @@ -147,7 +147,7 @@ "type": "derived", "file": "src-win/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js", "baseFile": "packages/react-native/Libraries/Components/Touchable/TouchableNativeFeedback.js", - "baseHash": "c64be122b6011941423d60bc1aa03f5dab8fd7b1" + "baseHash": "2f2263f5e6c7a2bd827b065db20d1ba632561774" }, { "type": "platform", @@ -183,7 +183,7 @@ "type": "derived", "file": "src-win/Libraries/Components/View/ViewAccessibility.win32.js", "baseFile": "packages/react-native/Libraries/Components/View/ViewAccessibility.js", - "baseHash": "7b90ff2ca0ede95e456afd76aeb859f539ade3ff" + "baseHash": "c057d139f953c09d6f1021d5842840873e878db8" }, { "type": "derived", @@ -195,7 +195,7 @@ "type": "patch", "file": "src-win/Libraries/Components/View/ViewPropTypes.win32.js", "baseFile": "packages/react-native/Libraries/Components/View/ViewPropTypes.js", - "baseHash": "dbab30f1cad27a647149a61e1d63f7b81e6aed2e", + "baseHash": "714722715a4562ef22a7f630e45781e80506a6bd", "issue": 6240 }, { @@ -317,13 +317,13 @@ "type": "derived", "file": "src-win/Libraries/NativeComponent/BaseViewConfig.win32.js", "baseFile": "packages/react-native/Libraries/NativeComponent/BaseViewConfig.ios.js", - "baseHash": "1f6068ed8762edc516d9679832fee7f12a31858e" + "baseHash": "3ba8fe1a60d744e057e856bc43e2df28f4fd7f66" }, { "type": "copy", "file": "src-win/Libraries/Network/RCTNetworking.win32.js", "baseFile": "packages/react-native/Libraries/Network/RCTNetworking.ios.js", - "baseHash": "cdda150c411ef03de0f52d5dbbd3976d094d136b", + "baseHash": "4b96609d7e8d0596d2960aacfda35af73cec1085", "issue": 4318 }, { @@ -353,7 +353,7 @@ "type": "patch", "file": "src-win/Libraries/Pressability/Pressability.win32.js", "baseFile": "packages/react-native/Libraries/Pressability/Pressability.js", - "baseHash": "97027444d74f5a2f03a966753c23f86145f3fc0b", + "baseHash": "b52df7d819237b8acdd08f84631e3c257a9cb390", "issue": 6240 }, { @@ -400,7 +400,7 @@ "type": "derived", "file": "src-win/Libraries/Text/Text.d.ts", "baseFile": "packages/react-native/Libraries/Text/Text.d.ts", - "baseHash": "26bf1ec0ad4cae2049298d3ec95b387fa2fe854b" + "baseHash": "b5f44957bc61497fcb7203934bdbc6ca9725cf42" }, { "type": "derived", @@ -419,13 +419,13 @@ "type": "derived", "file": "src-win/Libraries/Text/TextProps.win32.js", "baseFile": "packages/react-native/Libraries/Text/TextProps.js", - "baseHash": "fadd5d092aa22ca59d2c33b0ac0191fe90f4f123" + "baseHash": "1646b5a9467049adeb7d9e070913ab327214b04d" }, { "type": "patch", "file": "src-win/Libraries/Types/CoreEventTypes.win32.js", "baseFile": "packages/react-native/Libraries/Types/CoreEventTypes.js", - "baseHash": "038c14d702490acd25dab824b1b10f5db42eece8", + "baseHash": "ed736df6081d2fbbf54a646b8373bf485449255a", "issue": 6240 }, { @@ -439,13 +439,13 @@ "type": "derived", "file": "src-win/Libraries/Utilities/DeviceInfo.win32.js", "baseFile": "packages/react-native/Libraries/Utilities/DeviceInfo.js", - "baseHash": "e40e5c968968ee7c3115df57e6c07f8383719ee2" + "baseHash": "ec1ee16a3a8a173434728d036fee565d542732ef" }, { "type": "derived", "file": "src-win/Libraries/Utilities/Dimensions.win32.js", "baseFile": "packages/react-native/Libraries/Utilities/Dimensions.js", - "baseHash": "1c9f7f698bba91e98afb5cc8ec3511a30343f3bd" + "baseHash": "07b59b2dd822c45eb9bccba8da0ce361eeb67bc1" }, { "type": "platform", @@ -471,7 +471,7 @@ "type": "patch", "file": "src-win/Libraries/Utilities/PlatformTypes.js", "baseFile": "packages/react-native/Libraries/Utilities/PlatformTypes.js", - "baseHash": "95e01d9774ac3afdcdacdc049e9c647dbec3055d", + "baseHash": "323895a47d9a31a5502843aae5aa833d225abb08", "issue": 14686 }, { @@ -484,7 +484,7 @@ "type": "patch", "file": "src-win/src/private/animated/NativeAnimatedHelper.win32.js", "baseFile": "packages/react-native/src/private/animated/NativeAnimatedHelper.js", - "baseHash": "c511868b72abd4e0e7d0b07e0453ea56687ffddb", + "baseHash": "f07ba42819770210251c4c38db4399b7c07d96e8", "issue": 11041 }, { diff --git a/packages/@office-iss/react-native-win32/package.json b/packages/@office-iss/react-native-win32/package.json index 9d3c17b40b6..28ba5179501 100644 --- a/packages/@office-iss/react-native-win32/package.json +++ b/packages/@office-iss/react-native-win32/package.json @@ -30,13 +30,13 @@ "@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-20250317-fc7385c1e", - "@react-native/codegen": "0.80.0-nightly-20250317-fc7385c1e", - "@react-native/community-cli-plugin": "0.80.0-nightly-20250317-fc7385c1e", - "@react-native/gradle-plugin": "0.80.0-nightly-20250317-fc7385c1e", - "@react-native/js-polyfills": "0.80.0-nightly-20250317-fc7385c1e", - "@react-native/normalize-colors": "0.80.0-nightly-20250317-fc7385c1e", - "@react-native/virtualized-lists": "0.80.0-nightly-20250317-fc7385c1e", + "@react-native/assets-registry": "0.80.0-nightly-20250331-398ac1f71", + "@react-native/codegen": "0.80.0-nightly-20250331-398ac1f71", + "@react-native/community-cli-plugin": "0.80.0-nightly-20250331-398ac1f71", + "@react-native/gradle-plugin": "0.80.0-nightly-20250331-398ac1f71", + "@react-native/js-polyfills": "0.80.0-nightly-20250331-398ac1f71", + "@react-native/normalize-colors": "0.80.0-nightly-20250331-398ac1f71", + "@react-native/virtualized-lists": "0.80.0-nightly-20250331-398ac1f71", "abort-controller": "^3.0.0", "anser": "^1.4.9", "ansi-regex": "^5.0.0", @@ -52,8 +52,8 @@ "invariant": "^2.2.4", "jest-environment-node": "^29.7.0", "memoize-one": "^5.0.0", - "metro-runtime": "^0.81.0", - "metro-source-map": "^0.81.0", + "metro-runtime": "^0.82.0", + "metro-source-map": "^0.82.0", "mkdirp": "^0.5.1", "nullthrows": "^1.1.1", "pretty-format": "^29.7.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-20250317-fc7385c1e", + "@react-native/metro-config": "0.80.0-nightly-20250331-398ac1f71", "@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.0.0", - "react-native": "0.80.0-nightly-20250317-fc7385c1e", + "react-native": "0.80.0-nightly-20250331-398ac1f71", "react-native-platform-override": "^1.9.55", "typescript": "5.0.4" }, "peerDependencies": { "@types/react": "^19.0.0", "react": "^19.0.0", - "react-native": "0.80.0-nightly-20250317-fc7385c1e" + "react-native": "0.80.0-nightly-20250331-398ac1f71" }, "beachball": { "defaultNpmTag": "canary", @@ -112,4 +112,4 @@ "engines": { "node": ">= 18" } -} \ No newline at end of file +} diff --git a/packages/@office-iss/react-native-win32/src-win/Libraries/Components/AccessibilityInfo/AccessibilityInfo.win32.js b/packages/@office-iss/react-native-win32/src-win/Libraries/Components/AccessibilityInfo/AccessibilityInfo.win32.js index ef7edcb7068..dbf81afa5b4 100644 --- a/packages/@office-iss/react-native-win32/src-win/Libraries/Components/AccessibilityInfo/AccessibilityInfo.win32.js +++ b/packages/@office-iss/react-native-win32/src-win/Libraries/Components/AccessibilityInfo/AccessibilityInfo.win32.js @@ -421,7 +421,7 @@ const AccessibilityInfo = { addEventListener>( eventName: K, // $FlowIssue[incompatible-type] - Flow bug with unions and generics (T128099423) - handler: (...$ElementType) => void, + handler: (...AccessibilityEventDefinitions[K]) => void, ): EventSubscription { const deviceEventName = EventNames.get(eventName); return deviceEventName == null diff --git a/packages/@office-iss/react-native-win32/src-win/Libraries/Components/Pressable/Pressable.win32.js b/packages/@office-iss/react-native-win32/src-win/Libraries/Components/Pressable/Pressable.win32.js index ed167543aa4..3334bad7a1f 100644 --- a/packages/@office-iss/react-native-win32/src-win/Libraries/Components/Pressable/Pressable.win32.js +++ b/packages/@office-iss/react-native-win32/src-win/Libraries/Components/Pressable/Pressable.win32.js @@ -32,7 +32,7 @@ import {useMemo, useRef, useState} from 'react'; import type {HandledKeyboardEvent} from '../../Components/View/ViewPropTypes'; import View from '../View/View'; -type ViewStyleProp = $ElementType, 'style'>; +type ViewStyleProp = React.ElementConfig['style']; export type PressableStateCallbackType = $ReadOnly<{ pressed: boolean, @@ -49,7 +49,7 @@ type PressableBaseProps = $ReadOnly<{ * Either children or a render prop that receives a boolean reflecting whether * the component is currently pressed. */ - children: React.Node | ((state: PressableStateCallbackType) => React.Node), + children?: React.Node | ((state: PressableStateCallbackType) => React.Node), /** * Duration to wait after hover in before calling `onHoverIn`. @@ -111,6 +111,10 @@ type PressableBaseProps = $ReadOnly<{ * Called when a touch is engaged before `onPress`. */ onPressIn?: ?(event: GestureResponderEvent) => mixed, + /** + * Called when the press location moves. + */ + onPressMove?: ?(event: GestureResponderEvent) => mixed, /** * Called when a touch is released before `onPress`. @@ -233,6 +237,7 @@ function Pressable( onLongPress, onPress, onPressIn, + onPressMove, onPressOut, // [Windows onBlur, @@ -319,7 +324,12 @@ function Pressable( onPressIn(event); } }, - onPressMove: android_rippleConfig?.onPressMove, + onPressMove(event: GestureResponderEvent): void { + android_rippleConfig?.onPressMove(event); + if (onPressMove != null) { + onPressMove(event); + } + }, onPressOut(event: GestureResponderEvent): void { if (android_rippleConfig != null) { android_rippleConfig.onPressOut(event); @@ -350,6 +360,7 @@ function Pressable( onLongPress, onPress, onPressIn, + onPressMove, onPressOut, // [Windows onBlur, diff --git a/packages/@office-iss/react-native-win32/src-win/Libraries/Components/TextInput/TextInput.win32.js b/packages/@office-iss/react-native-win32/src-win/Libraries/Components/TextInput/TextInput.win32.js index c664317274d..2ea7cb22e58 100644 --- a/packages/@office-iss/react-native-win32/src-win/Libraries/Components/TextInput/TextInput.win32.js +++ b/packages/@office-iss/react-native-win32/src-win/Libraries/Components/TextInput/TextInput.win32.js @@ -71,7 +71,7 @@ else if (Platform.OS === 'win32') { /** * @see TextInputProps.onChange */ -export type TextInputChangeEventData = $ReadOnly<{ +type TextInputChangeEventData = $ReadOnly<{ eventCount: number, target: number, text: string, @@ -93,10 +93,7 @@ export type TextInputEvent = NativeSyntheticEvent< }>, >; -/** - * @see TextInputProps.onContentSizeChange - */ -export type TextInputContentSizeChangeEventData = $ReadOnly<{ +type TextInputContentSizeChangeEventData = $ReadOnly<{ target: number, contentSize: $ReadOnly<{ width: number, @@ -104,6 +101,9 @@ export type TextInputContentSizeChangeEventData = $ReadOnly<{ }>, }>; +/** + * @see TextInputProps.onContentSizeChange + */ export type TextInputContentSizeChangeEvent = NativeSyntheticEvent; @@ -111,71 +111,78 @@ export type TargetEvent = $ReadOnly<{ target: number, }>; +type TextInputFocusEventData = TargetEvent; + /** - * @see TextInputProps.onFocus + * @see TextInputProps.onBlur */ -export type TextInputFocusEventData = TargetEvent; - export type TextInputBlurEvent = NativeSyntheticEvent; -export type TextInputFocusEvent = NativeSyntheticEvent; /** - * @see TextInputProps.onScroll + * @see TextInputProps.onFocus */ -export type TextInputScrollEventData = { +export type TextInputFocusEvent = NativeSyntheticEvent; + +type TextInputScrollEventData = { contentOffset: {x: number, y: number}, }; +/** + * @see TextInputProps.onScroll + */ +export type TextInputScrollEvent = + NativeSyntheticEvent; + type Selection = $ReadOnly<{ start: number, end: number, }>; -/** - * @see TextInputProps.onSelectionChange - */ -export type TextInputSelectionChangeEventData = $ReadOnly<{ +type TextInputSelectionChangeEventData = $ReadOnly<{ ...TargetEvent, selection: Selection, }>; +/** + * @see TextInputProps.onSelectionChange + */ export type TextInputSelectionChangeEvent = NativeSyntheticEvent; -/** - * @see TextInputProps.onKeyPress - */ -export type TextInputKeyPressEventData = $ReadOnly<{ +type TextInputKeyPressEventData = $ReadOnly<{ ...TargetEvent, key: string, target?: ?number, eventCount?: ?number, }>; +/** + * @see TextInputProps.onKeyPress + */ export type TextInputKeyPressEvent = NativeSyntheticEvent; -/** - * @see TextInputProps.onEndEditing - */ -export type TextInputEndEditingEventData = $ReadOnly<{ +type TextInputEndEditingEventData = $ReadOnly<{ ...TargetEvent, eventCount: number, text: string, }>; +/** + * @see TextInputProps.onEndEditing + */ export type TextInputEndEditingEvent = NativeSyntheticEvent; -/** - * @see TextInputProps.onSubmitEditing - */ -export type TextInputSubmitEditingEventData = $ReadOnly<{ +type TextInputSubmitEditingEventData = $ReadOnly<{ ...TargetEvent, eventCount: number, text: string, }>; +/** + * @see TextInputProps.onSubmitEditing + */ export type TextInputSubmitEditingEvent = NativeSyntheticEvent; diff --git a/packages/@office-iss/react-native-win32/src-win/Libraries/Components/TextInput/TextInputState.win32.js b/packages/@office-iss/react-native-win32/src-win/Libraries/Components/TextInput/TextInputState.win32.js index baa75a2d9fe..c586a38a1d4 100644 --- a/packages/@office-iss/react-native-win32/src-win/Libraries/Components/TextInput/TextInputState.win32.js +++ b/packages/@office-iss/react-native-win32/src-win/Libraries/Components/TextInput/TextInputState.win32.js @@ -39,7 +39,7 @@ function currentlyFocusedField(): ?number { ); } - return findNodeHandle(currentlyFocusedInputRef); + return findNodeHandle<$FlowFixMe>(currentlyFocusedInputRef); } function focusInput(textField: ?HostInstance): void { diff --git a/packages/@office-iss/react-native-win32/src-win/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js b/packages/@office-iss/react-native-win32/src-win/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js index d8c05898b87..de761af6da4 100644 --- a/packages/@office-iss/react-native-win32/src-win/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js +++ b/packages/@office-iss/react-native-win32/src-win/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js @@ -252,7 +252,7 @@ class TouchableNativeFeedback extends React.Component< _dispatchPressedStateChange(pressed: boolean): void { if (Platform.OS === 'android') { - const hostComponentRef = findHostInstance_DEPRECATED(this); + const hostComponentRef = findHostInstance_DEPRECATED<$FlowFixMe>(this); if (hostComponentRef == null) { console.warn( 'Touchable: Unable to find HostComponent instance. ' + @@ -267,7 +267,7 @@ class TouchableNativeFeedback extends React.Component< _dispatchHotspotUpdate(event: GestureResponderEvent): void { if (Platform.OS === 'android') { const {locationX, locationY} = event.nativeEvent; - const hostComponentRef = findHostInstance_DEPRECATED(this); + const hostComponentRef = findHostInstance_DEPRECATED<$FlowFixMe>(this); if (hostComponentRef == null) { console.warn( 'Touchable: Unable to find HostComponent instance. ' + diff --git a/packages/@office-iss/react-native-win32/src-win/Libraries/Components/View/ViewAccessibility.win32.js b/packages/@office-iss/react-native-win32/src-win/Libraries/Components/View/ViewAccessibility.win32.js index f2a1e7959c1..87f02128315 100644 --- a/packages/@office-iss/react-native-win32/src-win/Libraries/Components/View/ViewAccessibility.win32.js +++ b/packages/@office-iss/react-native-win32/src-win/Libraries/Components/View/ViewAccessibility.win32.js @@ -63,7 +63,8 @@ export type AccessibilityRole = | 'webview' | 'drawerlayout' | 'slidingdrawer' - | 'iconmenu'; + | 'iconmenu' + | string; // Role types for web export type Role = diff --git a/packages/@office-iss/react-native-win32/src-win/Libraries/Components/View/ViewPropTypes.win32.js b/packages/@office-iss/react-native-win32/src-win/Libraries/Components/View/ViewPropTypes.win32.js index 8669b265777..d2e1a8c2b55 100644 --- a/packages/@office-iss/react-native-win32/src-win/Libraries/Components/View/ViewPropTypes.win32.js +++ b/packages/@office-iss/react-native-win32/src-win/Libraries/Components/View/ViewPropTypes.win32.js @@ -15,18 +15,23 @@ import type {ViewStyleProp} from '../../StyleSheet/StyleSheet'; import type { BlurEvent, FocusEvent, + GestureResponderEvent, LayoutChangeEvent, LayoutRectangle, MouseEvent, PointerEvent, +<<<<<<< Upstream +======= GestureResponderEvent, KeyEvent, // [Windows] +>>>>>>> Override } from '../../Types/CoreEventTypes'; import type { AccessibilityActionEvent, AccessibilityProps, } from './ViewAccessibility'; -import type {Node} from 'react'; + +import React from 'react'; export type ViewLayout = LayoutRectangle; export type ViewLayoutEvent = LayoutChangeEvent; @@ -346,6 +351,51 @@ export type ViewPropsAndroid = $ReadOnly<{ onClick?: ?(event: GestureResponderEvent) => mixed, }>; +export type TVViewPropsIOS = $ReadOnly<{ + /** + * *(Apple TV only)* When set to true, this view will be focusable + * and navigable using the Apple TV remote. + * + * @platform ios + */ + isTVSelectable?: boolean, + + /** + * *(Apple TV only)* May be set to true to force the Apple TV focus engine to move focus to this view. + * + * @platform ios + */ + hasTVPreferredFocus?: boolean, + + /** + * *(Apple TV only)* May be used to change the appearance of the Apple TV parallax effect when this view goes in or out of focus. Defaults to 2.0. + * + * @platform ios + */ + tvParallaxShiftDistanceX?: number, + + /** + * *(Apple TV only)* May be used to change the appearance of the Apple TV parallax effect when this view goes in or out of focus. Defaults to 2.0. + * + * @platform ios + */ + tvParallaxShiftDistanceY?: number, + + /** + * *(Apple TV only)* May be used to change the appearance of the Apple TV parallax effect when this view goes in or out of focus. Defaults to 0.05. + * + * @platform ios + */ + tvParallaxTiltAngle?: number, + + /** + * *(Apple TV only)* May be used to change the appearance of the Apple TV parallax effect when this view goes in or out of focus. Defaults to 1.0. + * + * @platform ios + */ + tvParallaxMagnification?: number, +}>; + export type ViewPropsIOS = $ReadOnly<{ /** * Whether this `View` should be rendered as a bitmap before compositing. @@ -358,7 +408,7 @@ export type ViewPropsIOS = $ReadOnly<{ }>; type ViewBaseProps = $ReadOnly<{ - children?: Node, + children?: React.Node, style?: ?ViewStyleProp, /** diff --git a/packages/@office-iss/react-native-win32/src-win/Libraries/NativeComponent/BaseViewConfig.win32.js b/packages/@office-iss/react-native-win32/src-win/Libraries/NativeComponent/BaseViewConfig.win32.js index b56dd5dad76..26f0fe64a34 100644 --- a/packages/@office-iss/react-native-win32/src-win/Libraries/NativeComponent/BaseViewConfig.win32.js +++ b/packages/@office-iss/react-native-win32/src-win/Libraries/NativeComponent/BaseViewConfig.win32.js @@ -197,6 +197,7 @@ const validAttributesForNonEventProps = { accessibilityIgnoresInvertColors: true, accessibilityShowsLargeContentViewer: true, accessibilityLargeContentTitle: true, + experimental_accessibilityOrder: true, testID: true, backgroundColor: {process: require('../StyleSheet/processColor').default}, backfaceVisibility: true, diff --git a/packages/@office-iss/react-native-win32/src-win/Libraries/Network/RCTNetworking.win32.js b/packages/@office-iss/react-native-win32/src-win/Libraries/Network/RCTNetworking.win32.js index e5b2dd572ff..40035ff1f6a 100644 --- a/packages/@office-iss/react-native-win32/src-win/Libraries/Network/RCTNetworking.win32.js +++ b/packages/@office-iss/react-native-win32/src-win/Libraries/Network/RCTNetworking.win32.js @@ -20,7 +20,7 @@ import {type NativeResponseType} from './XMLHttpRequest'; const RCTNetworking = { addListener>( eventType: K, - listener: (...$ElementType) => mixed, + listener: (...RCTNetworkingEventDefinitions[K]) => mixed, context?: mixed, ): EventSubscription { // $FlowFixMe[incompatible-call] diff --git a/packages/@office-iss/react-native-win32/src-win/Libraries/Pressability/Pressability.win32.js b/packages/@office-iss/react-native-win32/src-win/Libraries/Pressability/Pressability.win32.js index 42fc1048bf5..84a522b540c 100644 --- a/packages/@office-iss/react-native-win32/src-win/Libraries/Pressability/Pressability.win32.js +++ b/packages/@office-iss/react-native-win32/src-win/Libraries/Pressability/Pressability.win32.js @@ -934,7 +934,7 @@ export default class Pressability { }; _isTouchWithinResponderRegion( - touch: $PropertyType, + touch: GestureResponderEvent['nativeEvent'], responderRegion: $ReadOnly<{ bottom: number, left: number, diff --git a/packages/@office-iss/react-native-win32/src-win/Libraries/Text/Text.d.ts b/packages/@office-iss/react-native-win32/src-win/Libraries/Text/Text.d.ts index a0692274787..274062abe7a 100644 --- a/packages/@office-iss/react-native-win32/src-win/Libraries/Text/Text.d.ts +++ b/packages/@office-iss/react-native-win32/src-win/Libraries/Text/Text.d.ts @@ -16,8 +16,7 @@ import {TextStyle, ViewStyle} from '../StyleSheet/StyleSheetTypes'; import { GestureResponderEvent, LayoutChangeEvent, - NativeSyntheticEvent, - TextLayoutEventData, + TextLayoutEvent, } from '../Types/CoreEventTypes'; import type { IKeyboardEvent, @@ -248,9 +247,7 @@ export interface TextProps /** * Invoked on Text layout */ - onTextLayout?: - | ((event: NativeSyntheticEvent) => void) - | undefined; + onTextLayout?: ((event: TextLayoutEvent) => void) | undefined; /** * This function is called on press. diff --git a/packages/@office-iss/react-native-win32/src-win/Libraries/Text/TextProps.win32.js b/packages/@office-iss/react-native-win32/src-win/Libraries/Text/TextProps.win32.js index 29a3c94d150..50e27214df2 100644 --- a/packages/@office-iss/react-native-win32/src-win/Libraries/Text/TextProps.win32.js +++ b/packages/@office-iss/react-native-win32/src-win/Libraries/Text/TextProps.win32.js @@ -24,7 +24,8 @@ import type { PointerEvent, TextLayoutEvent, } from '../Types/CoreEventTypes'; -import type {Node} from 'react'; + +import React from 'react'; export type PressRetentionOffset = $ReadOnly<{ top: number, @@ -182,7 +183,7 @@ type TextBaseProps = $ReadOnly<{ */ 'aria-labelledby'?: ?string, - children?: ?Node, + children?: ?React.Node, /** * When `numberOfLines` is set, this prop defines how text will be diff --git a/packages/@office-iss/react-native-win32/src-win/Libraries/Types/CoreEventTypes.win32.js b/packages/@office-iss/react-native-win32/src-win/Libraries/Types/CoreEventTypes.win32.js index b04b96255a1..c86e64898c5 100644 --- a/packages/@office-iss/react-native-win32/src-win/Libraries/Types/CoreEventTypes.win32.js +++ b/packages/@office-iss/react-native-win32/src-win/Libraries/Types/CoreEventTypes.win32.js @@ -76,7 +76,7 @@ export type LayoutChangeEvent = NativeSyntheticEvent< }>, >; -export type TextLayoutEventData = $ReadOnly<{ +type TextLayoutEventData = $ReadOnly<{ lines: Array, }>; diff --git a/packages/@office-iss/react-native-win32/src-win/Libraries/Utilities/DeviceInfo.win32.js b/packages/@office-iss/react-native-win32/src-win/Libraries/Utilities/DeviceInfo.win32.js index 08bda7d826e..d2c0ab7141e 100644 --- a/packages/@office-iss/react-native-win32/src-win/Libraries/Utilities/DeviceInfo.win32.js +++ b/packages/@office-iss/react-native-win32/src-win/Libraries/Utilities/DeviceInfo.win32.js @@ -10,7 +10,13 @@ * @flow */ +<<<<<<< Upstream +export type {DeviceInfoConstants} from './NativeDeviceInfo'; + +import NativeDeviceInfo from './NativeDeviceInfo'; +======= import type {Spec} from './NativeDeviceInfo'; +>>>>>>> Override const DeviceInfo: Spec = { getConstants: () => ({Dimensions: {}}), diff --git a/packages/@office-iss/react-native-win32/src-win/Libraries/Utilities/Dimensions.win32.js b/packages/@office-iss/react-native-win32/src-win/Libraries/Utilities/Dimensions.win32.js index a1634fe90cb..88aac51f3af 100644 --- a/packages/@office-iss/react-native-win32/src-win/Libraries/Utilities/Dimensions.win32.js +++ b/packages/@office-iss/react-native-win32/src-win/Libraries/Utilities/Dimensions.win32.js @@ -17,7 +17,7 @@ import NativeDeviceInfo, { } from './NativeDeviceInfo'; import invariant from 'invariant'; -export type {DisplayMetrics, DisplayMetricsAndroid}; +export type {DimensionsPayload, DisplayMetrics, DisplayMetricsAndroid}; /** @deprecated Use DisplayMetrics */ export type ScaledSize = DisplayMetrics; diff --git a/packages/@office-iss/react-native-win32/src-win/Libraries/Utilities/PlatformTypes.js b/packages/@office-iss/react-native-win32/src-win/Libraries/Utilities/PlatformTypes.js index 8e90404567c..2079396f0a2 100644 --- a/packages/@office-iss/react-native-win32/src-win/Libraries/Utilities/PlatformTypes.js +++ b/packages/@office-iss/react-native-win32/src-win/Libraries/Utilities/PlatformTypes.js @@ -17,11 +17,17 @@ export type PlatformOSType = | 'web' | 'native'; -export type PlatformSelectSpec = { - default?: T, - [PlatformOSType]: T, +type OptionalPlatformSelectSpec = { + [_key in PlatformOSType]?: T, }; +export type PlatformSelectSpec = + | { + ...OptionalPlatformSelectSpec, + default: T, + } + | OptionalPlatformSelectSpec; + type IOSPlatform = { __constants: null, OS: 'ios', diff --git a/packages/@office-iss/react-native-win32/src-win/index.win32.js b/packages/@office-iss/react-native-win32/src-win/index.win32.js index 383529471a2..43bb4780c57 100644 --- a/packages/@office-iss/react-native-win32/src-win/index.win32.js +++ b/packages/@office-iss/react-native-win32/src-win/index.win32.js @@ -292,7 +292,14 @@ module.exports = { get I18nManager(): I18nManager { return require('./Libraries/ReactNative/I18nManager').default; }, +<<<<<<< Upstream + /** + * @deprecated + */ + get InteractionManager() { +======= get InteractionManager(): InteractionManager { +>>>>>>> Override return require('./Libraries/Interaction/InteractionManager').default; }, get Keyboard(): Keyboard { diff --git a/packages/@office-iss/react-native-win32/src-win/src/private/animated/NativeAnimatedHelper.win32.js b/packages/@office-iss/react-native-win32/src-win/src/private/animated/NativeAnimatedHelper.win32.js index e950c294954..4b334c821aa 100644 --- a/packages/@office-iss/react-native-win32/src-win/src/private/animated/NativeAnimatedHelper.win32.js +++ b/packages/@office-iss/react-native-win32/src-win/src/private/animated/NativeAnimatedHelper.win32.js @@ -57,7 +57,9 @@ const eventListenerAnimationFinishedCallbacks: { let globalEventEmitterGetValueListener: ?EventSubscription = null; let globalEventEmitterAnimationFinishedListener: ?EventSubscription = null; -const shouldSignalBatch = ReactNativeFeatureFlags.animatedShouldSignalBatch(); +const shouldSignalBatch = + ReactNativeFeatureFlags.animatedShouldSignalBatch() || + ReactNativeFeatureFlags.cxxNativeAnimatedEnabled(); function createNativeOperations(): $NonMaybeType { const methodNames = [ diff --git a/packages/@react-native-windows/automation-channel/package.json b/packages/@react-native-windows/automation-channel/package.json index 35580141005..8ddac8f2b3e 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.0.0", - "react-native": "0.80.0-nightly-20250317-fc7385c1e", + "react-native": "0.80.0-nightly-20250331-398ac1f71", "react-native-windows": "^0.0.0-canary.964", "typescript": "5.0.4" }, @@ -44,4 +44,4 @@ "engines": { "node": ">= 18" } -} \ No newline at end of file +} diff --git a/packages/@react-native-windows/cli/package.json b/packages/@react-native-windows/cli/package.json index 419750b1a02..25488a471da 100644 --- a/packages/@react-native-windows/cli/package.json +++ b/packages/@react-native-windows/cli/package.json @@ -88,4 +88,4 @@ "engines": { "node": ">= 18" } -} \ No newline at end of file +} diff --git a/packages/@react-native-windows/tester/overrides.json b/packages/@react-native-windows/tester/overrides.json index 3294ad030f6..a7ce87fa064 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-20250317-fc7385c1e", + "baseVersion": "0.80.0-nightly-20250331-398ac1f71", "overrides": [ { "type": "derived", @@ -23,7 +23,7 @@ "type": "derived", "file": "src/js/examples-win/Switch/SwitchExample.windows.js", "baseFile": "packages/rn-tester/js/examples/Switch/SwitchExample.js", - "baseHash": "72db5711fe07e139f5d66c7246bf04f059782ebb" + "baseHash": "314dacf1e200ddc9dc414bd9be1a21ee77ae097a" }, { "type": "patch", diff --git a/packages/@react-native-windows/tester/package.json b/packages/@react-native-windows/tester/package.json index 76206656756..090815fc5f0 100644 --- a/packages/@react-native-windows/tester/package.json +++ b/packages/@react-native-windows/tester/package.json @@ -19,7 +19,7 @@ "peerDependencies": { "@react-native-picker/picker": "2.4.10", "react": "19.0.0", - "react-native": "0.80.0-nightly-20250317-fc7385c1e", + "react-native": "0.80.0-nightly-20250331-398ac1f71", "react-native-windows": "^0.0.0-canary.964", "react-native-xaml": "^0.0.78" }, @@ -32,7 +32,7 @@ "@types/node": "^18.0.0", "eslint": "^8.19.0", "just-scripts": "^1.3.3", - "react-native": "0.80.0-nightly-20250317-fc7385c1e", + "react-native": "0.80.0-nightly-20250331-398ac1f71", "react-native-platform-override": "^1.9.55", "react-native-windows": "^0.0.0-canary.964", "typescript": "5.0.4" diff --git a/packages/@react-native-windows/tester/src/js/examples-win/Switch/SwitchExample.windows.js b/packages/@react-native-windows/tester/src/js/examples-win/Switch/SwitchExample.windows.js index 951d85b5912..c090a305b30 100644 --- a/packages/@react-native-windows/tester/src/js/examples-win/Switch/SwitchExample.windows.js +++ b/packages/@react-native-windows/tester/src/js/examples-win/Switch/SwitchExample.windows.js @@ -397,6 +397,8 @@ exports.examples = [ ]; if (Platform.OS === 'ios') { + /* $FlowFixMe[incompatible-call] error found during natural inference roll- + * out. See https://fburl.com/workplace/tc9m3tcf */ exports.examples.push({ title: '[iOS Only] Custom background colors can be set', render(): React.MixedElement { diff --git a/packages/@react-native/monorepo/overrides.json b/packages/@react-native/monorepo/overrides.json index 7fbc4d3683c..d025b67c5b2 100644 --- a/packages/@react-native/monorepo/overrides.json +++ b/packages/@react-native/monorepo/overrides.json @@ -1,11 +1,11 @@ { - "baseVersion": "0.80.0-nightly-20250317-fc7385c1e", + "baseVersion": "0.80.0-nightly-20250331-398ac1f71", "overrides": [ { "type": "patch", "file": "package.json", "baseFile": "package.json", - "baseHash": "da7558bb52890862f9c6727ab5bb309fde106c1b" + "baseHash": "3af9ae1d88c9dbd4851c9a3398d55ff01490d8b9" } ] } \ No newline at end of file diff --git a/packages/@react-native/monorepo/package.json b/packages/@react-native/monorepo/package.json index db55114540c..de24d70491f 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-20250317-fc7385c1e", - "@react-native/metro-config": "0.80.0-nightly-20250317-fc7385c1e", + "@react-native/metro-babel-transformer": "0.80.0-nightly-20250331-398ac1f71", + "@react-native/metro-config": "0.80.0-nightly-20250331-398ac1f71", "@tsconfig/node18": "1.0.1", "@types/react": "^19.0.0", "@typescript-eslint/parser": "^7.1.1", @@ -72,17 +72,18 @@ "eslint-plugin-jsx-a11y": "^6.6.0", "eslint-plugin-lint": "^1.0.0", "eslint-plugin-react": "^7.30.1", - "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-react-hooks": "^5.2.0", "eslint-plugin-react-native": "^4.0.0", "eslint-plugin-redundant-undefined": "^0.4.0", "eslint-plugin-relay": "^1.8.3", "flow-api-translator": "0.25.1", - "flow-bin": "^0.265.2", + "flow-bin": "^0.266.1", "glob": "^7.1.1", "hermes-eslint": "0.24.0", "hermes-transform": "0.24.0", "inquirer": "^7.1.0", "jest": "^29.7.0", + "jest-config": "^29.7.0", "jest-diff": "^29.7.0", "jest-junit": "^10.0.0", "jest-snapshot": "^29.7.0", diff --git a/packages/@react-native/tester/js/RNTesterAppShared.js b/packages/@react-native/tester/js/RNTesterAppShared.js index ef69b0b2fc4..820f21d914e 100644 --- a/packages/@react-native/tester/js/RNTesterAppShared.js +++ b/packages/@react-native/tester/js/RNTesterAppShared.js @@ -10,6 +10,7 @@ import type {RNTesterModuleInfo, ScreenTypes} from './types/RNTesterTypes'; +import ReportFullyDrawnView from '../ReportFullyDrawnView/ReportFullyDrawnView'; import RNTesterModuleContainer from './components/RNTesterModuleContainer'; import RNTesterModuleList from './components/RNTesterModuleList'; import RNTesterNavBar, {navBarHeight} from './components/RNTesterNavbar'; @@ -26,7 +27,6 @@ import { getExamplesListWithRecentlyUsed, initialNavigationState, } from './utils/testerStateUtils'; -import ReportFullyDrawnView from '../ReportFullyDrawnView/ReportFullyDrawnView'; import * as React from 'react'; import { BackHandler, diff --git a/packages/@react-native/tester/js/examples/Urls/UrlExample.js b/packages/@react-native/tester/js/examples/Urls/UrlExample.js index ed7af41bce7..0e29aaeee72 100644 --- a/packages/@react-native/tester/js/examples/Urls/UrlExample.js +++ b/packages/@react-native/tester/js/examples/Urls/UrlExample.js @@ -33,6 +33,7 @@ function URLComponent(props: Props) { {`pathname: ${parsedUrl.pathname}`} {`port: ${parsedUrl.port}`} {`search: ${parsedUrl.search}`} + {`searchParams: ${parsedUrl.searchParams.toString()}`} ); } diff --git a/packages/@react-native/tester/overrides.json b/packages/@react-native/tester/overrides.json index 626a4c72ffd..93504916b24 100644 --- a/packages/@react-native/tester/overrides.json +++ b/packages/@react-native/tester/overrides.json @@ -1,5 +1,5 @@ { - "baseVersion": "0.80.0-nightly-20250317-fc7385c1e", + "baseVersion": "0.80.0-nightly-20250331-398ac1f71", "overrides": [ { "type": "copy", @@ -12,7 +12,7 @@ "type": "copy", "directory": "js/components", "baseDirectory": "packages/rn-tester/js/components", - "baseHash": "55955c658c2583b3dd9a1ebd954ec6c8fb27be03", + "baseHash": "e958931698aa6af1dca6aaa7a026fd93b02593f1", "issue": 4054 }, { @@ -26,7 +26,7 @@ "type": "copy", "directory": "js/examples/ActionSheetIOS", "baseDirectory": "packages/rn-tester/js/examples/ActionSheetIOS", - "baseHash": "e9cc92be5abe5635f8fcaf3a2556908c47f28b27", + "baseHash": "e278ed7aaecc90529ce5bc548f9d277bc9e16fc1", "issue": 4054 }, { @@ -47,7 +47,7 @@ "type": "copy", "directory": "js/examples/Animated", "baseDirectory": "packages/rn-tester/js/examples/Animated", - "baseHash": "a346fe8c7c912499bda920e4e875f20a104b3dea", + "baseHash": "b2a746d61292c1c0b7e5360fd62071f980c7d6ae", "issue": 4054 }, { @@ -152,7 +152,7 @@ "type": "copy", "directory": "js/examples/FlatList", "baseDirectory": "packages/rn-tester/js/examples/FlatList", - "baseHash": "338f6c89435bd3080c752d70281d36cb0b735fe4", + "baseHash": "6c42401f603681fc27a072bbbe9bc249f437082f", "issue": 4054 }, { @@ -389,7 +389,7 @@ "type": "copy", "directory": "js/examples/SectionList", "baseDirectory": "packages/rn-tester/js/examples/SectionList", - "baseHash": "0f5ad580a611d3a8885e9df69a94578d85c3f48e", + "baseHash": "c5c9b64b7678f873888676140afd0dff1890be4a", "issue": 4054 }, { @@ -431,7 +431,7 @@ "type": "copy", "directory": "js/examples/Switch", "baseDirectory": "packages/rn-tester/js/examples/Switch", - "baseHash": "2d01ed457e4a87b0c617e12c2972b5c88032cd8b", + "baseHash": "95e37e042fb493552002e6e3b01f759d825f4af6", "issue": 4054 }, { @@ -529,7 +529,7 @@ "type": "copy", "file": "js/examples/Urls/UrlExample.js", "baseFile": "packages/rn-tester/js/examples/Urls/UrlExample.js", - "baseHash": "2dc9c4108dc6983696bd0fcdf619d653f99545e6" + "baseHash": "5713b32ed9e7fd55f6dfd65c10228a8a77242031" }, { "type": "copy", @@ -577,7 +577,7 @@ "type": "copy", "file": "js/RNTesterAppShared.js", "baseFile": "packages/rn-tester/js/RNTesterAppShared.js", - "baseHash": "697f8ac4ce6f03a546df3ac60e8293bd862184d2", + "baseHash": "17c0337c12657736483e4aeb195bb8714b5c1ef6", "issue": 4054 }, { @@ -661,7 +661,7 @@ "type": "patch", "file": "package.json", "baseFile": "packages/rn-tester/package.json", - "baseHash": "e30b0f85845127e6de68e618be83e69bf210596f", + "baseHash": "2f7663ba7a6c61d57a3424eea96c3ab0d7c82b18", "issue": 13228 }, { diff --git a/packages/@react-native/tester/package.json b/packages/@react-native/tester/package.json index dc4dde03cc9..03d5c119656 100644 --- a/packages/@react-native/tester/package.json +++ b/packages/@react-native/tester/package.json @@ -43,8 +43,15 @@ "javaPackageName": "com.facebook.fbreact.specs" }, "ios": { - "componentProvider": { - "RNTMyNativeView": "RNTMyNativeViewComponentView" + "modules": { + "SampleTurboModule": { + "unstableRequiresMainQueueSetup": true + } + }, + "components": { + "RNTMyNativeView": { + "className": "RNTMyNativeViewComponentView" + } } } }, diff --git a/packages/@rnw-scripts/babel-react-native-config/package.json b/packages/@rnw-scripts/babel-react-native-config/package.json index 92cd81e0f76..e281a390bb5 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-20250317-fc7385c1e", + "@react-native/babel-preset": "0.80.0-nightly-20250331-398ac1f71", "babel-plugin-transform-flow-enums": "^0.0.2" }, "devDependencies": { "@babel/core": "^7.25.2", - "@react-native/babel-preset": "0.80.0-nightly-20250317-fc7385c1e", + "@react-native/babel-preset": "0.80.0-nightly-20250331-398ac1f71", "eslint": "^8.19.0", "prettier": "2.8.8" }, "engines": { "node": ">= 18" } -} \ No newline at end of file +} diff --git a/packages/@rnw-scripts/integrate-rn/package.json b/packages/@rnw-scripts/integrate-rn/package.json index 5a722b00b09..d914edfc041 100644 --- a/packages/@rnw-scripts/integrate-rn/package.json +++ b/packages/@rnw-scripts/integrate-rn/package.json @@ -61,4 +61,4 @@ "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 5f07d38d342..9d7732bb105 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-20250317-fc7385c1e", + "@react-native/metro-config": "0.80.0-nightly-20250331-398ac1f71", "@rnx-kit/metro-config": "^1.3.5", "@rnx-kit/metro-plugin-duplicates-checker": "^2.1.0", "@rnx-kit/metro-serializer": "^1.0.11", @@ -33,4 +33,4 @@ "engines": { "node": ">= 18" } -} \ No newline at end of file +} diff --git a/packages/e2e-test-app-fabric/package.json b/packages/e2e-test-app-fabric/package.json index e8707075488..3971148b74a 100644 --- a/packages/e2e-test-app-fabric/package.json +++ b/packages/e2e-test-app-fabric/package.json @@ -20,7 +20,7 @@ "@typescript-eslint/eslint-plugin": "^7.1.1", "@typescript-eslint/parser": "^7.1.1", "react": "^19.0.0", - "react-native": "0.80.0-nightly-20250317-fc7385c1e", + "react-native": "0.80.0-nightly-20250331-398ac1f71", "react-native-windows": "^0.0.0-canary.964" }, "devDependencies": { @@ -32,7 +32,7 @@ "@react-native-community/cli": "17.0.0", "@react-native-windows/automation": "^0.3.386", "@react-native-windows/automation-commands": "^0.1.407", - "@react-native/metro-config": "0.80.0-nightly-20250317-fc7385c1e", + "@react-native/metro-config": "0.80.0-nightly-20250331-398ac1f71", "@rnw-scripts/babel-node-config": "2.3.2", "@rnw-scripts/babel-react-native-config": "0.0.0", "@rnw-scripts/eslint-config": "1.2.36", @@ -55,4 +55,4 @@ "engines": { "node": ">= 18" } -} \ No newline at end of file +} diff --git a/packages/e2e-test-app/package.json b/packages/e2e-test-app/package.json index c19ad4f057b..508312ff187 100644 --- a/packages/e2e-test-app/package.json +++ b/packages/e2e-test-app/package.json @@ -20,7 +20,7 @@ "@typescript-eslint/eslint-plugin": "^7.1.1", "@typescript-eslint/parser": "^7.1.1", "react": "^19.0.0", - "react-native": "0.80.0-nightly-20250317-fc7385c1e", + "react-native": "0.80.0-nightly-20250331-398ac1f71", "react-native-windows": "^0.0.0-canary.964", "react-native-xaml": "^0.0.78" }, @@ -33,7 +33,7 @@ "@react-native-community/cli": "17.0.0", "@react-native-windows/automation": "^0.3.386", "@react-native-windows/automation-commands": "^0.1.407", - "@react-native/metro-config": "0.80.0-nightly-20250317-fc7385c1e", + "@react-native/metro-config": "0.80.0-nightly-20250331-398ac1f71", "@rnw-scripts/babel-node-config": "2.3.2", "@rnw-scripts/babel-react-native-config": "0.0.0", "@rnw-scripts/eslint-config": "1.2.36", @@ -55,4 +55,4 @@ "engines": { "node": ">= 18" } -} \ No newline at end of file +} diff --git a/packages/integration-test-app/package.json b/packages/integration-test-app/package.json index 53bdb8e554d..48245e3a55b 100644 --- a/packages/integration-test-app/package.json +++ b/packages/integration-test-app/package.json @@ -17,7 +17,7 @@ "@typescript-eslint/parser": "^7.1.1", "chai": "^4.2.0", "react": "^19.0.0", - "react-native": "0.80.0-nightly-20250317-fc7385c1e", + "react-native": "0.80.0-nightly-20250331-398ac1f71", "react-native-windows": "^0.0.0-canary.964" }, "devDependencies": { @@ -28,7 +28,7 @@ "@babel/traverse": "^7.11.5", "@babel/types": "^7.11.5", "@react-native-community/cli": "17.0.0", - "@react-native/metro-config": "0.80.0-nightly-20250317-fc7385c1e", + "@react-native/metro-config": "0.80.0-nightly-20250331-398ac1f71", "@rnw-scripts/babel-node-config": "2.3.2", "@rnw-scripts/eslint-config": "^1.2.36", "@rnw-scripts/just-task": "^2.3.53", @@ -51,4 +51,4 @@ "engines": { "node": ">= 18" } -} \ No newline at end of file +} diff --git a/packages/playground/package.json b/packages/playground/package.json index 6802a801510..e043b9fd011 100644 --- a/packages/playground/package.json +++ b/packages/playground/package.json @@ -15,14 +15,14 @@ "@typescript-eslint/eslint-plugin": "^7.1.1", "@typescript-eslint/parser": "^7.1.1", "react": "^19.0.0", - "react-native": "0.80.0-nightly-20250317-fc7385c1e", + "react-native": "0.80.0-nightly-20250331-398ac1f71", "react-native-windows": "^0.0.0-canary.964" }, "devDependencies": { "@babel/core": "^7.25.2", "@babel/runtime": "^7.20.0", "@react-native-community/cli": "17.0.0", - "@react-native/metro-config": "0.80.0-nightly-20250317-fc7385c1e", + "@react-native/metro-config": "0.80.0-nightly-20250331-398ac1f71", "@rnw-scripts/babel-react-native-config": "0.0.0", "@rnw-scripts/eslint-config": "1.2.36", "@rnw-scripts/just-task": "2.3.53", @@ -39,4 +39,4 @@ "engines": { "node": ">= 18" } -} \ No newline at end of file +} diff --git a/packages/sample-app-fabric/package.json b/packages/sample-app-fabric/package.json index 43787b2b7ff..cd5af7292ac 100644 --- a/packages/sample-app-fabric/package.json +++ b/packages/sample-app-fabric/package.json @@ -16,7 +16,7 @@ "@typescript-eslint/eslint-plugin": "^7.1.1", "@typescript-eslint/parser": "^7.1.1", "react": "^19.0.0", - "react-native": "0.80.0-nightly-20250317-fc7385c1e", + "react-native": "0.80.0-nightly-20250331-398ac1f71", "react-native-windows": "^0.0.0-canary.964" }, "devDependencies": { @@ -27,7 +27,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-20250317-fc7385c1e", + "@react-native/metro-config": "0.80.0-nightly-20250331-398ac1f71", "@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 +48,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 5b40bca19ba..14d1a50a5d1 100644 --- a/packages/sample-apps/package.json +++ b/packages/sample-apps/package.json @@ -16,7 +16,7 @@ "@typescript-eslint/eslint-plugin": "^7.1.1", "@typescript-eslint/parser": "^7.1.1", "react": "^19.0.0", - "react-native": "0.80.0-nightly-20250317-fc7385c1e", + "react-native": "0.80.0-nightly-20250331-398ac1f71", "react-native-windows": "^0.0.0-canary.964" }, "devDependencies": { @@ -26,7 +26,7 @@ "@react-native-community/cli": "17.0.0", "@react-native-windows/cli": "0.0.0-canary.265", "@react-native-windows/codegen": "0.0.0-canary.123", - "@react-native/metro-config": "0.80.0-nightly-20250317-fc7385c1e", + "@react-native/metro-config": "0.80.0-nightly-20250331-398ac1f71", "@rnw-scripts/babel-react-native-config": "0.0.0", "@rnw-scripts/eslint-config": "1.2.36", "@rnw-scripts/just-task": "2.3.53", @@ -50,4 +50,4 @@ "engines": { "node": ">= 18" } -} \ No newline at end of file +} diff --git a/packages/sample-custom-component/package.json b/packages/sample-custom-component/package.json index 2d300184aa0..c76dae8cf60 100644 --- a/packages/sample-custom-component/package.json +++ b/packages/sample-custom-component/package.json @@ -22,7 +22,7 @@ "dependencies": { "@types/react": "^19.0.0", "react": "^19.0.0", - "react-native": "0.80.0-nightly-20250317-fc7385c1e", + "react-native": "0.80.0-nightly-20250331-398ac1f71", "react-native-windows": "^0.0.0-canary.964" }, "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-20250317-fc7385c1e", + "@react-native/metro-config": "0.80.0-nightly-20250331-398ac1f71", "@rnw-scripts/babel-node-config": "2.3.2", "@rnw-scripts/babel-react-native-config": "0.0.0", "@rnw-scripts/eslint-config": "1.2.36", @@ -53,4 +53,4 @@ "engines": { "node": ">=18" } -} \ No newline at end of file +} diff --git a/vnext/.flowconfig b/vnext/.flowconfig index bb17f27754c..669d8a42a88 100644 --- a/vnext/.flowconfig +++ b/vnext/.flowconfig @@ -162,4 +162,4 @@ untyped-import untyped-type-import [version] -^0.265.2 +^0.266.1 diff --git a/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.cpp b/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.cpp index beccdecaa6c..744a44d7aee 100644 --- a/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.cpp +++ b/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.cpp @@ -272,19 +272,28 @@ bool NetworkIOAgent::handleRequest( } if (InspectorFlags::getInstance().getNetworkInspectionEnabled()) { + auto& networkReporter = NetworkReporter::getInstance(); + // @cdp Network.enable support is experimental. if (req.method == "Network.enable") { - NetworkReporter::getInstance().enableDebugging(); + networkReporter.setFrontendChannel(frontendChannel_); + networkReporter.enableDebugging(); frontendChannel_(cdp::jsonResult(req.id)); return true; } // @cdp Network.disable support is experimental. if (req.method == "Network.disable") { - NetworkReporter::getInstance().disableDebugging(); + networkReporter.disableDebugging(); frontendChannel_(cdp::jsonResult(req.id)); return true; } + + // @cdp Network.getResponseBody support is experimental. + if (req.method == "Network.getResponseBody") { + // TODO(T218468200) + return false; + } } return false; diff --git a/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.h b/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.h index e36ee1c4474..bfda911715e 100644 --- a/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.h +++ b/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.h @@ -7,11 +7,12 @@ #pragma once -#include "CdpJson.h" #include "InspectorInterfaces.h" #include "ScopedExecutor.h" #include +#include + #include #include #include diff --git a/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/jsitooling/react/runtime/JSRuntimeFactory.h b/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/jsitooling/react/runtime/JSRuntimeFactory.h index da4441ab336..4f87670497c 100644 --- a/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/jsitooling/react/runtime/JSRuntimeFactory.h +++ b/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/jsitooling/react/runtime/JSRuntimeFactory.h @@ -7,6 +7,8 @@ #pragma once +#ifdef __cplusplus + #include #include #include @@ -85,3 +87,5 @@ class JSIRuntimeHolder : public JSRuntime { }; } // namespace facebook::react + +#endif // __cplusplus diff --git a/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp b/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp index 567468f95cd..5ad1f72c0fc 100644 --- a/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +++ b/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp @@ -10,6 +10,7 @@ #include "componentNameByReactViewName.h" #include +#include #include #include #include @@ -83,6 +84,23 @@ const ComponentDescriptor& ComponentDescriptorRegistry::at( } if (it == _registryByName.end()) { +<<<<<<< Upstream + if (ReactNativeFeatureFlags::useFabricInterop()) { + auto componentDescriptor = std::make_shared< + const UnstableLegacyViewManagerAutomaticComponentDescriptor>( + parameters_, unifiedComponentName); + registerComponentDescriptor(componentDescriptor); + return *_registryByName.find(unifiedComponentName)->second; + } else { + if (_fallbackComponentDescriptor == nullptr) { + throw std::invalid_argument( + ("Unable to find componentDescriptor for " + unifiedComponentName) + .c_str()); + } else { + return *_fallbackComponentDescriptor.get(); + } + } +======= // [Windows ##14204 if (_fallbackComponentDescriptor == nullptr) { throw std::invalid_argument( @@ -92,6 +110,7 @@ const ComponentDescriptor& ComponentDescriptorRegistry::at( return *_fallbackComponentDescriptor.get(); } // Windows] +>>>>>>> Override } return *it->second; @@ -136,4 +155,4 @@ ComponentDescriptorRegistry::getFallbackComponentDescriptor() const { return _fallbackComponentDescriptor; } -} // namespace facebook::react \ No newline at end of file +} // namespace facebook::react diff --git a/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/ReactInstance.cpp b/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/ReactInstance.cpp index fae0521341a..6404c0f0fd5 100644 --- a/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/ReactInstance.cpp +++ b/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/ReactInstance.cpp @@ -214,7 +214,8 @@ std::string simpleBasename(const std::string& path) { void ReactInstance::loadScript( std::unique_ptr script, const std::string& sourceURL, - std::function&& completion) { + std::function&& beforeLoad, + std::function&& afterLoad) { auto buffer = std::make_shared(std::move(script)); std::string scriptName = simpleBasename(sourceURL); @@ -225,7 +226,11 @@ void ReactInstance::loadScript( weakBufferedRuntimeExecuter = std::weak_ptr( bufferedRuntimeExecutor_), - completion](jsi::Runtime& runtime) { + beforeLoad, + afterLoad](jsi::Runtime& runtime) { + if (beforeLoad) { + beforeLoad(runtime); + } TraceSection s("ReactInstance::loadScript"); bool hasLogger(ReactMarker::logTaggedMarkerBridgelessImpl); if (hasLogger) { @@ -254,8 +259,8 @@ void ReactInstance::loadScript( weakBufferedRuntimeExecuter.lock()) { strongBufferedRuntimeExecuter->flush(); } - if (completion) { - completion(runtime); + if (afterLoad) { + afterLoad(runtime); } }); } diff --git a/vnext/codegen/NativeReactNativeFeatureFlagsSpec.g.h b/vnext/codegen/NativeReactNativeFeatureFlagsSpec.g.h index dd43b8b1c01..363987bd4fe 100644 --- a/vnext/codegen/NativeReactNativeFeatureFlagsSpec.g.h +++ b/vnext/codegen/NativeReactNativeFeatureFlagsSpec.g.h @@ -20,35 +20,35 @@ struct ReactNativeFeatureFlagsSpec : winrt::Microsoft::ReactNative::TurboModuleS SyncMethod{0, L"commonTestFlag"}, SyncMethod{1, L"commonTestFlagWithoutNativeImplementation"}, SyncMethod{2, L"animatedShouldSignalBatch"}, - SyncMethod{3, L"disableMountItemReorderingAndroid"}, - SyncMethod{4, L"enableAccumulatedUpdatesInRawPropsAndroid"}, - SyncMethod{5, L"enableBridgelessArchitecture"}, - SyncMethod{6, L"enableCppPropsIteratorSetter"}, - SyncMethod{7, L"enableEagerRootViewAttachment"}, - SyncMethod{8, L"enableFabricLogs"}, - SyncMethod{9, L"enableFabricRenderer"}, - SyncMethod{10, L"enableIOSViewClipToPaddingBox"}, - SyncMethod{11, L"enableImagePrefetchingAndroid"}, - SyncMethod{12, L"enableJSRuntimeGCOnMemoryPressureOnIOS"}, - SyncMethod{13, L"enableLayoutAnimationsOnAndroid"}, - SyncMethod{14, L"enableLayoutAnimationsOnIOS"}, - SyncMethod{15, L"enableLongTaskAPI"}, - SyncMethod{16, L"enableNativeCSSParsing"}, - SyncMethod{17, L"enableNewBackgroundAndBorderDrawables"}, - SyncMethod{18, L"enablePropsUpdateReconciliationAndroid"}, - SyncMethod{19, L"enableReportEventPaintTime"}, - SyncMethod{20, L"enableSynchronousStateUpdates"}, - SyncMethod{21, L"enableUIConsistency"}, - SyncMethod{22, L"enableViewCulling"}, - SyncMethod{23, L"enableViewRecycling"}, - SyncMethod{24, L"enableViewRecyclingForText"}, - SyncMethod{25, L"enableViewRecyclingForView"}, - SyncMethod{26, L"fixDifferentiatorEmittingUpdatesWithWrongParentTag"}, - SyncMethod{27, L"fixMappingOfEventPrioritiesBetweenFabricAndReact"}, - SyncMethod{28, L"fixMountingCoordinatorReportedPendingTransactionsOnAndroid"}, - SyncMethod{29, L"fuseboxEnabledRelease"}, - SyncMethod{30, L"fuseboxNetworkInspectionEnabled"}, - SyncMethod{31, L"lazyAnimationCallbacks"}, + SyncMethod{3, L"cxxNativeAnimatedEnabled"}, + SyncMethod{4, L"disableMountItemReorderingAndroid"}, + SyncMethod{5, L"enableAccumulatedUpdatesInRawPropsAndroid"}, + SyncMethod{6, L"enableBridgelessArchitecture"}, + SyncMethod{7, L"enableCppPropsIteratorSetter"}, + SyncMethod{8, L"enableEagerRootViewAttachment"}, + SyncMethod{9, L"enableFabricLogs"}, + SyncMethod{10, L"enableFabricRenderer"}, + SyncMethod{11, L"enableIOSViewClipToPaddingBox"}, + SyncMethod{12, L"enableImagePrefetchingAndroid"}, + SyncMethod{13, L"enableJSRuntimeGCOnMemoryPressureOnIOS"}, + SyncMethod{14, L"enableLayoutAnimationsOnAndroid"}, + SyncMethod{15, L"enableLayoutAnimationsOnIOS"}, + SyncMethod{16, L"enableLongTaskAPI"}, + SyncMethod{17, L"enableMainQueueModulesOnIOS"}, + SyncMethod{18, L"enableNativeCSSParsing"}, + SyncMethod{19, L"enableNewBackgroundAndBorderDrawables"}, + SyncMethod{20, L"enablePropsUpdateReconciliationAndroid"}, + SyncMethod{21, L"enableReportEventPaintTime"}, + SyncMethod{22, L"enableSynchronousStateUpdates"}, + SyncMethod{23, L"enableUIConsistency"}, + SyncMethod{24, L"enableViewCulling"}, + SyncMethod{25, L"enableViewRecycling"}, + SyncMethod{26, L"enableViewRecyclingForText"}, + SyncMethod{27, L"enableViewRecyclingForView"}, + SyncMethod{28, L"fixMappingOfEventPrioritiesBetweenFabricAndReact"}, + SyncMethod{29, L"fixMountingCoordinatorReportedPendingTransactionsOnAndroid"}, + SyncMethod{30, L"fuseboxEnabledRelease"}, + SyncMethod{31, L"fuseboxNetworkInspectionEnabled"}, SyncMethod{32, L"removeTurboModuleManagerDelegateMutex"}, SyncMethod{33, L"throwExceptionInsteadOfDeadlockOnTurboModuleSetupDuringSyncRenderIOS"}, SyncMethod{34, L"traceTurboModulePromiseRejectionsOnAndroid"}, @@ -83,149 +83,149 @@ struct ReactNativeFeatureFlagsSpec : winrt::Microsoft::ReactNative::TurboModuleS " REACT_SYNC_METHOD(animatedShouldSignalBatch) static bool animatedShouldSignalBatch() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( 3, + "cxxNativeAnimatedEnabled", + " REACT_SYNC_METHOD(cxxNativeAnimatedEnabled) bool cxxNativeAnimatedEnabled() noexcept { /* implementation */ }\n" + " REACT_SYNC_METHOD(cxxNativeAnimatedEnabled) static bool cxxNativeAnimatedEnabled() noexcept { /* implementation */ }\n"); + REACT_SHOW_METHOD_SPEC_ERRORS( + 4, "disableMountItemReorderingAndroid", " REACT_SYNC_METHOD(disableMountItemReorderingAndroid) bool disableMountItemReorderingAndroid() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(disableMountItemReorderingAndroid) static bool disableMountItemReorderingAndroid() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 4, + 5, "enableAccumulatedUpdatesInRawPropsAndroid", " REACT_SYNC_METHOD(enableAccumulatedUpdatesInRawPropsAndroid) bool enableAccumulatedUpdatesInRawPropsAndroid() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(enableAccumulatedUpdatesInRawPropsAndroid) static bool enableAccumulatedUpdatesInRawPropsAndroid() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 5, + 6, "enableBridgelessArchitecture", " REACT_SYNC_METHOD(enableBridgelessArchitecture) bool enableBridgelessArchitecture() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(enableBridgelessArchitecture) static bool enableBridgelessArchitecture() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 6, + 7, "enableCppPropsIteratorSetter", " REACT_SYNC_METHOD(enableCppPropsIteratorSetter) bool enableCppPropsIteratorSetter() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(enableCppPropsIteratorSetter) static bool enableCppPropsIteratorSetter() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 7, + 8, "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( - 8, + 9, "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( - 9, + 10, "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( - 10, + 11, "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( - 11, + 12, "enableImagePrefetchingAndroid", " REACT_SYNC_METHOD(enableImagePrefetchingAndroid) bool enableImagePrefetchingAndroid() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(enableImagePrefetchingAndroid) static bool enableImagePrefetchingAndroid() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 12, + 13, "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( - 13, + 14, "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( - 14, + 15, "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( - 15, + 16, "enableLongTaskAPI", " REACT_SYNC_METHOD(enableLongTaskAPI) bool enableLongTaskAPI() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(enableLongTaskAPI) static bool enableLongTaskAPI() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 16, + 17, + "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( + 18, "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( - 17, + 19, "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( - 18, + 20, "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( - 19, + 21, "enableReportEventPaintTime", " REACT_SYNC_METHOD(enableReportEventPaintTime) bool enableReportEventPaintTime() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(enableReportEventPaintTime) static bool enableReportEventPaintTime() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 20, + 22, "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( - 21, + 23, "enableUIConsistency", " REACT_SYNC_METHOD(enableUIConsistency) bool enableUIConsistency() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(enableUIConsistency) static bool enableUIConsistency() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 22, + 24, "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( - 23, + 25, "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( - 24, + 26, "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( - 25, + 27, "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( - 26, - "fixDifferentiatorEmittingUpdatesWithWrongParentTag", - " REACT_SYNC_METHOD(fixDifferentiatorEmittingUpdatesWithWrongParentTag) bool fixDifferentiatorEmittingUpdatesWithWrongParentTag() noexcept { /* implementation */ }\n" - " REACT_SYNC_METHOD(fixDifferentiatorEmittingUpdatesWithWrongParentTag) static bool fixDifferentiatorEmittingUpdatesWithWrongParentTag() noexcept { /* implementation */ }\n"); - REACT_SHOW_METHOD_SPEC_ERRORS( - 27, + 28, "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( - 28, + 29, "fixMountingCoordinatorReportedPendingTransactionsOnAndroid", " REACT_SYNC_METHOD(fixMountingCoordinatorReportedPendingTransactionsOnAndroid) bool fixMountingCoordinatorReportedPendingTransactionsOnAndroid() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(fixMountingCoordinatorReportedPendingTransactionsOnAndroid) static bool fixMountingCoordinatorReportedPendingTransactionsOnAndroid() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 29, + 30, "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( - 30, + 31, "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( - 31, - "lazyAnimationCallbacks", - " REACT_SYNC_METHOD(lazyAnimationCallbacks) bool lazyAnimationCallbacks() noexcept { /* implementation */ }\n" - " REACT_SYNC_METHOD(lazyAnimationCallbacks) static bool lazyAnimationCallbacks() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( 32, "removeTurboModuleManagerDelegateMutex", diff --git a/vnext/codegen/rnwcoreJSI-generated.cpp b/vnext/codegen/rnwcoreJSI-generated.cpp index a00b4a1bb74..1982057dd34 100644 --- a/vnext/codegen/rnwcoreJSI-generated.cpp +++ b/vnext/codegen/rnwcoreJSI-generated.cpp @@ -26,6 +26,11 @@ static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_animate rt ); } +static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_cxxNativeAnimatedEnabled(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->cxxNativeAnimatedEnabled( + rt + ); +} static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_disableMountItemReorderingAndroid(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { return static_cast(&turboModule)->disableMountItemReorderingAndroid( rt @@ -91,6 +96,11 @@ static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableL rt ); } +static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableMainQueueModulesOnIOS(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->enableMainQueueModulesOnIOS( + rt + ); +} static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableNativeCSSParsing(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { return static_cast(&turboModule)->enableNativeCSSParsing( rt @@ -141,11 +151,6 @@ static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableV rt ); } -static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_fixDifferentiatorEmittingUpdatesWithWrongParentTag(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { - return static_cast(&turboModule)->fixDifferentiatorEmittingUpdatesWithWrongParentTag( - rt - ); -} static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_fixMappingOfEventPrioritiesBetweenFabricAndReact(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { return static_cast(&turboModule)->fixMappingOfEventPrioritiesBetweenFabricAndReact( rt @@ -166,11 +171,6 @@ static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_fusebox rt ); } -static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_lazyAnimationCallbacks(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { - return static_cast(&turboModule)->lazyAnimationCallbacks( - rt - ); -} static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_removeTurboModuleManagerDelegateMutex(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { return static_cast(&turboModule)->removeTurboModuleManagerDelegateMutex( rt @@ -232,6 +232,7 @@ NativeReactNativeFeatureFlagsCxxSpecJSI::NativeReactNativeFeatureFlagsCxxSpecJSI methodMap_["commonTestFlag"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_commonTestFlag}; methodMap_["commonTestFlagWithoutNativeImplementation"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_commonTestFlagWithoutNativeImplementation}; methodMap_["animatedShouldSignalBatch"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_animatedShouldSignalBatch}; + methodMap_["cxxNativeAnimatedEnabled"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_cxxNativeAnimatedEnabled}; methodMap_["disableMountItemReorderingAndroid"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_disableMountItemReorderingAndroid}; methodMap_["enableAccumulatedUpdatesInRawPropsAndroid"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableAccumulatedUpdatesInRawPropsAndroid}; methodMap_["enableBridgelessArchitecture"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableBridgelessArchitecture}; @@ -245,6 +246,7 @@ NativeReactNativeFeatureFlagsCxxSpecJSI::NativeReactNativeFeatureFlagsCxxSpecJSI methodMap_["enableLayoutAnimationsOnAndroid"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableLayoutAnimationsOnAndroid}; methodMap_["enableLayoutAnimationsOnIOS"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableLayoutAnimationsOnIOS}; methodMap_["enableLongTaskAPI"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableLongTaskAPI}; + methodMap_["enableMainQueueModulesOnIOS"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableMainQueueModulesOnIOS}; methodMap_["enableNativeCSSParsing"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableNativeCSSParsing}; methodMap_["enableNewBackgroundAndBorderDrawables"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableNewBackgroundAndBorderDrawables}; methodMap_["enablePropsUpdateReconciliationAndroid"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enablePropsUpdateReconciliationAndroid}; @@ -255,12 +257,10 @@ NativeReactNativeFeatureFlagsCxxSpecJSI::NativeReactNativeFeatureFlagsCxxSpecJSI methodMap_["enableViewRecycling"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableViewRecycling}; methodMap_["enableViewRecyclingForText"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableViewRecyclingForText}; methodMap_["enableViewRecyclingForView"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableViewRecyclingForView}; - methodMap_["fixDifferentiatorEmittingUpdatesWithWrongParentTag"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_fixDifferentiatorEmittingUpdatesWithWrongParentTag}; methodMap_["fixMappingOfEventPrioritiesBetweenFabricAndReact"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_fixMappingOfEventPrioritiesBetweenFabricAndReact}; methodMap_["fixMountingCoordinatorReportedPendingTransactionsOnAndroid"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_fixMountingCoordinatorReportedPendingTransactionsOnAndroid}; methodMap_["fuseboxEnabledRelease"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_fuseboxEnabledRelease}; methodMap_["fuseboxNetworkInspectionEnabled"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_fuseboxNetworkInspectionEnabled}; - methodMap_["lazyAnimationCallbacks"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_lazyAnimationCallbacks}; methodMap_["removeTurboModuleManagerDelegateMutex"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_removeTurboModuleManagerDelegateMutex}; methodMap_["throwExceptionInsteadOfDeadlockOnTurboModuleSetupDuringSyncRenderIOS"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_throwExceptionInsteadOfDeadlockOnTurboModuleSetupDuringSyncRenderIOS}; methodMap_["traceTurboModulePromiseRejectionsOnAndroid"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_traceTurboModulePromiseRejectionsOnAndroid}; diff --git a/vnext/codegen/rnwcoreJSI.h b/vnext/codegen/rnwcoreJSI.h index be9d85a1794..086b035e91d 100644 --- a/vnext/codegen/rnwcoreJSI.h +++ b/vnext/codegen/rnwcoreJSI.h @@ -23,6 +23,7 @@ namespace facebook::react { virtual bool commonTestFlag(jsi::Runtime &rt) = 0; virtual bool commonTestFlagWithoutNativeImplementation(jsi::Runtime &rt) = 0; virtual bool animatedShouldSignalBatch(jsi::Runtime &rt) = 0; + virtual bool cxxNativeAnimatedEnabled(jsi::Runtime &rt) = 0; virtual bool disableMountItemReorderingAndroid(jsi::Runtime &rt) = 0; virtual bool enableAccumulatedUpdatesInRawPropsAndroid(jsi::Runtime &rt) = 0; virtual bool enableBridgelessArchitecture(jsi::Runtime &rt) = 0; @@ -36,6 +37,7 @@ namespace facebook::react { virtual bool enableLayoutAnimationsOnAndroid(jsi::Runtime &rt) = 0; virtual bool enableLayoutAnimationsOnIOS(jsi::Runtime &rt) = 0; virtual bool enableLongTaskAPI(jsi::Runtime &rt) = 0; + virtual bool enableMainQueueModulesOnIOS(jsi::Runtime &rt) = 0; virtual bool enableNativeCSSParsing(jsi::Runtime &rt) = 0; virtual bool enableNewBackgroundAndBorderDrawables(jsi::Runtime &rt) = 0; virtual bool enablePropsUpdateReconciliationAndroid(jsi::Runtime &rt) = 0; @@ -46,12 +48,10 @@ namespace facebook::react { virtual bool enableViewRecycling(jsi::Runtime &rt) = 0; virtual bool enableViewRecyclingForText(jsi::Runtime &rt) = 0; virtual bool enableViewRecyclingForView(jsi::Runtime &rt) = 0; - virtual bool fixDifferentiatorEmittingUpdatesWithWrongParentTag(jsi::Runtime &rt) = 0; virtual bool fixMappingOfEventPrioritiesBetweenFabricAndReact(jsi::Runtime &rt) = 0; virtual bool fixMountingCoordinatorReportedPendingTransactionsOnAndroid(jsi::Runtime &rt) = 0; virtual bool fuseboxEnabledRelease(jsi::Runtime &rt) = 0; virtual bool fuseboxNetworkInspectionEnabled(jsi::Runtime &rt) = 0; - virtual bool lazyAnimationCallbacks(jsi::Runtime &rt) = 0; virtual bool removeTurboModuleManagerDelegateMutex(jsi::Runtime &rt) = 0; virtual bool throwExceptionInsteadOfDeadlockOnTurboModuleSetupDuringSyncRenderIOS(jsi::Runtime &rt) = 0; virtual bool traceTurboModulePromiseRejectionsOnAndroid(jsi::Runtime &rt) = 0; @@ -117,6 +117,14 @@ class JSI_EXPORT NativeReactNativeFeatureFlagsCxxSpec : public TurboModule { return bridging::callFromJs( rt, &T::animatedShouldSignalBatch, jsInvoker_, instance_); } + bool cxxNativeAnimatedEnabled(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::cxxNativeAnimatedEnabled) == 1, + "Expected cxxNativeAnimatedEnabled(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::cxxNativeAnimatedEnabled, jsInvoker_, instance_); + } bool disableMountItemReorderingAndroid(jsi::Runtime &rt) override { static_assert( bridging::getParameterCount(&T::disableMountItemReorderingAndroid) == 1, @@ -221,6 +229,14 @@ class JSI_EXPORT NativeReactNativeFeatureFlagsCxxSpec : public TurboModule { return bridging::callFromJs( rt, &T::enableLongTaskAPI, jsInvoker_, instance_); } + bool enableMainQueueModulesOnIOS(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::enableMainQueueModulesOnIOS) == 1, + "Expected enableMainQueueModulesOnIOS(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::enableMainQueueModulesOnIOS, jsInvoker_, instance_); + } bool enableNativeCSSParsing(jsi::Runtime &rt) override { static_assert( bridging::getParameterCount(&T::enableNativeCSSParsing) == 1, @@ -301,14 +317,6 @@ class JSI_EXPORT NativeReactNativeFeatureFlagsCxxSpec : public TurboModule { return bridging::callFromJs( rt, &T::enableViewRecyclingForView, jsInvoker_, instance_); } - bool fixDifferentiatorEmittingUpdatesWithWrongParentTag(jsi::Runtime &rt) override { - static_assert( - bridging::getParameterCount(&T::fixDifferentiatorEmittingUpdatesWithWrongParentTag) == 1, - "Expected fixDifferentiatorEmittingUpdatesWithWrongParentTag(...) to have 1 parameters"); - - return bridging::callFromJs( - rt, &T::fixDifferentiatorEmittingUpdatesWithWrongParentTag, jsInvoker_, instance_); - } bool fixMappingOfEventPrioritiesBetweenFabricAndReact(jsi::Runtime &rt) override { static_assert( bridging::getParameterCount(&T::fixMappingOfEventPrioritiesBetweenFabricAndReact) == 1, @@ -341,14 +349,6 @@ class JSI_EXPORT NativeReactNativeFeatureFlagsCxxSpec : public TurboModule { return bridging::callFromJs( rt, &T::fuseboxNetworkInspectionEnabled, jsInvoker_, instance_); } - bool lazyAnimationCallbacks(jsi::Runtime &rt) override { - static_assert( - bridging::getParameterCount(&T::lazyAnimationCallbacks) == 1, - "Expected lazyAnimationCallbacks(...) to have 1 parameters"); - - return bridging::callFromJs( - rt, &T::lazyAnimationCallbacks, jsInvoker_, instance_); - } bool removeTurboModuleManagerDelegateMutex(jsi::Runtime &rt) override { static_assert( bridging::getParameterCount(&T::removeTurboModuleManagerDelegateMutex) == 1, diff --git a/vnext/overrides.json b/vnext/overrides.json index 7644472fd40..a42fdd36906 100644 --- a/vnext/overrides.json +++ b/vnext/overrides.json @@ -8,13 +8,13 @@ "**/__snapshots__/**", "src-win/rntypes/**" ], - "baseVersion": "0.80.0-nightly-20250317-fc7385c1e", + "baseVersion": "0.80.0-nightly-20250331-398ac1f71", "overrides": [ { "type": "derived", "file": ".flowconfig", "baseFile": ".flowconfig", - "baseHash": "b8b53bf5315c0b91d0f69c3fe9274797a55b993f" + "baseHash": "5b774dab8f68093cccdd7609b16bde8546765414" }, { "type": "derived", @@ -72,14 +72,14 @@ "type": "patch", "file": "ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.cpp", "baseFile": "packages/react-native/ReactCommon/jsinspector-modern/NetworkIOAgent.cpp", - "baseHash": "a93ab8657c51bd7691b80ad7f909ad232c36dad5", + "baseHash": "b4b85a46a927506035658c8cd7ef51109ca8c940", "issue": 13587 }, { "type": "patch", "file": "ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.h", "baseFile": "packages/react-native/ReactCommon/jsinspector-modern/NetworkIOAgent.h", - "baseHash": "08efa2256dc40edb4e4f348b85e4c53ca8eb2681", + "baseHash": "d41aff777c114fdfb883418d66d25638d346f5a2", "issue": 13587 }, { @@ -100,7 +100,7 @@ "type": "patch", "file": "ReactCommon/TEMP_UntilReactCommonUpdate/jsitooling/react/runtime/JSRuntimeFactory.h", "baseFile": "packages/react-native/ReactCommon/jsitooling/react/runtime/JSRuntimeFactory.h", - "baseHash": "36207ddf41b8d0b5b34866b1eda7c8f1fa1b079c", + "baseHash": "3e9e300ac2c01ed2b3bfa7e5afe7b5961d3e9080", "issue": 13172 }, { @@ -135,7 +135,7 @@ "type": "patch", "file": "ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp", "baseFile": "packages/react-native/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp", - "baseHash": "b15afcf4971fd2c9c9a9859ffcb2113bec28fc35", + "baseHash": "a48cdffb7feb85e78244f6ef4f440ee11e260d4d", "issue": 14204 }, { @@ -182,7 +182,7 @@ "type": "patch", "file": "ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/ReactInstance.cpp", "baseFile": "packages/react-native/ReactCommon/react/runtime/ReactInstance.cpp", - "baseHash": "55c16545281db580d9767455089926aae00c65cb", + "baseHash": "d9767072276759fde75aa7be5a4acec405d892d3", "issue": 13172 }, { @@ -196,7 +196,7 @@ "type": "derived", "file": "src-win/index.windows.js", "baseFile": "packages/react-native/index.js", - "baseHash": "7a10369d15e8b09ef772d8f229cbfc712d074cbf" + "baseHash": "8de9394a317351d4d0e582de3f138e6374456823" }, { "type": "platform", @@ -270,7 +270,7 @@ "type": "patch", "file": "src-win/Libraries/Components/AccessibilityInfo/AccessibilityInfo.windows.js", "baseFile": "packages/react-native/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js", - "baseHash": "fa025a1dabfb8c73f72cab48393ef1720273690d", + "baseHash": "5a43c9cf537c5cb89e7f634e45be708f4b021493", "issue": 4578 }, { @@ -334,7 +334,7 @@ "type": "patch", "file": "src-win/Libraries/Components/Pressable/Pressable.windows.js", "baseFile": "packages/react-native/Libraries/Components/Pressable/Pressable.js", - "baseHash": "d213d6885bf028350b8f4c79bdcb847289317d86" + "baseHash": "09575f26ef614b81330d27d6cb950580774e3c1f" }, { "type": "patch", @@ -346,7 +346,7 @@ "type": "derived", "file": "src-win/Libraries/Components/ScrollView/ScrollView.windows.js", "baseFile": "packages/react-native/Libraries/Components/ScrollView/ScrollView.js", - "baseHash": "5f2038d8537c2933d1726e2b153262b5a23725d5" + "baseHash": "bf79fb88386f69cf8a82d6cb037fd5abd3ddfb9f" }, { "type": "derived", @@ -358,19 +358,19 @@ "type": "derived", "file": "src-win/Libraries/Components/Switch/Switch.windows.js", "baseFile": "packages/react-native/Libraries/Components/Switch/Switch.js", - "baseHash": "02b0faa4197ade07f7ece43f189455517800a865" + "baseHash": "b795ee6b2241f8bd8a6cbeda095b508242a317be" }, { "type": "patch", "file": "src-win/Libraries/Components/TextInput/TextInput.windows.js", "baseFile": "packages/react-native/Libraries/Components/TextInput/TextInput.js", - "baseHash": "f762096a46203b6bae385806087b7b7cb5744f16" + "baseHash": "b4e722883e25dfa4864a1285b577c5adfc90ce9d" }, { "type": "patch", "file": "src-win/Libraries/Components/TextInput/TextInputState.windows.js", "baseFile": "packages/react-native/Libraries/Components/TextInput/TextInputState.js", - "baseHash": "5603046411826837d1f8003f2d6784221bdef674" + "baseHash": "400af173e846317c705487f51f3cb165e7378a4f" }, { "type": "derived", @@ -388,25 +388,25 @@ "type": "derived", "file": "src-win/Libraries/Components/Touchable/TouchableBounce.windows.js", "baseFile": "packages/react-native/Libraries/Components/Touchable/TouchableBounce.js", - "baseHash": "79b4de5feafe41bb596c868d2be017f7bd471a97" + "baseHash": "04d02ee781a8e3d4d8e5857179a24de162484b40" }, { "type": "patch", "file": "src-win/Libraries/Components/Touchable/TouchableHighlight.windows.js", "baseFile": "packages/react-native/Libraries/Components/Touchable/TouchableHighlight.js", - "baseHash": "6d6a16d69f586bd22ba67f9214d9454225c2b133" + "baseHash": "358fd6cbbdad8165d791fd59f80bc4a128ce893a" }, { "type": "derived", "file": "src-win/Libraries/Components/Touchable/TouchableNativeFeedback.windows.js", "baseFile": "packages/react-native/Libraries/Components/Touchable/TouchableNativeFeedback.js", - "baseHash": "c64be122b6011941423d60bc1aa03f5dab8fd7b1" + "baseHash": "2f2263f5e6c7a2bd827b065db20d1ba632561774" }, { "type": "patch", "file": "src-win/Libraries/Components/Touchable/TouchableOpacity.windows.js", "baseFile": "packages/react-native/Libraries/Components/Touchable/TouchableOpacity.js", - "baseHash": "c99cf01321b53cdf3d2b066a759e27f5950b85d9" + "baseHash": "030f2242b07242ee6108e2261da41c0a444c2187" }, { "type": "patch", @@ -437,7 +437,7 @@ "type": "patch", "file": "src-win/Libraries/Components/View/ViewAccessibility.windows.js", "baseFile": "packages/react-native/Libraries/Components/View/ViewAccessibility.js", - "baseHash": "7b90ff2ca0ede95e456afd76aeb859f539ade3ff" + "baseHash": "c057d139f953c09d6f1021d5842840873e878db8" }, { "type": "derived", @@ -449,7 +449,7 @@ "type": "patch", "file": "src-win/Libraries/Components/View/ViewPropTypes.windows.js", "baseFile": "packages/react-native/Libraries/Components/View/ViewPropTypes.js", - "baseHash": "dbab30f1cad27a647149a61e1d63f7b81e6aed2e" + "baseHash": "714722715a4562ef22a7f630e45781e80506a6bd" }, { "type": "patch", @@ -522,7 +522,7 @@ "type": "derived", "file": "src-win/Libraries/NativeComponent/BaseViewConfig.windows.js", "baseFile": "packages/react-native/Libraries/NativeComponent/BaseViewConfig.ios.js", - "baseHash": "1f6068ed8762edc516d9679832fee7f12a31858e" + "baseHash": "3ba8fe1a60d744e057e856bc43e2df28f4fd7f66" }, { "type": "derived", @@ -534,19 +534,19 @@ "type": "copy", "file": "src-win/Libraries/Network/RCTNetworking.windows.js", "baseFile": "packages/react-native/Libraries/Network/RCTNetworking.ios.js", - "baseHash": "cdda150c411ef03de0f52d5dbbd3976d094d136b" + "baseHash": "4b96609d7e8d0596d2960aacfda35af73cec1085" }, { "type": "patch", "file": "src-win/Libraries/NewAppScreen/components/DebugInstructions.windows.js", "baseFile": "packages/react-native/Libraries/NewAppScreen/components/DebugInstructions.js", - "baseHash": "710cf9dcde140ade949018c960fed3b1be2030c0" + "baseHash": "658e651aa987e69ba40480798a9f2a1a92504fc4" }, { "type": "patch", "file": "src-win/Libraries/NewAppScreen/components/ReloadInstructions.windows.js", "baseFile": "packages/react-native/Libraries/NewAppScreen/components/ReloadInstructions.js", - "baseHash": "6421466afe8bcbc37920be7f9bc7bf6cc29bf40e" + "baseHash": "a49250e3f03641fd0ba08b3b2bea503bd27259f2" }, { "type": "platform", @@ -563,7 +563,7 @@ "type": "patch", "file": "src-win/Libraries/Pressability/Pressability.windows.js", "baseFile": "packages/react-native/Libraries/Pressability/Pressability.js", - "baseHash": "97027444d74f5a2f03a966753c23f86145f3fc0b", + "baseHash": "b52df7d819237b8acdd08f84631e3c257a9cb390", "issue": 4379 }, { @@ -580,7 +580,7 @@ "type": "derived", "file": "src-win/Libraries/Text/Text.d.ts", "baseFile": "packages/react-native/Libraries/Text/Text.d.ts", - "baseHash": "26bf1ec0ad4cae2049298d3ec95b387fa2fe854b" + "baseHash": "b5f44957bc61497fcb7203934bdbc6ca9725cf42" }, { "type": "derived", @@ -592,13 +592,13 @@ "type": "derived", "file": "src-win/Libraries/Text/TextProps.windows.js", "baseFile": "packages/react-native/Libraries/Text/TextProps.js", - "baseHash": "fadd5d092aa22ca59d2c33b0ac0191fe90f4f123" + "baseHash": "1646b5a9467049adeb7d9e070913ab327214b04d" }, { "type": "patch", "file": "src-win/Libraries/Types/CoreEventTypes.windows.js", "baseFile": "packages/react-native/Libraries/Types/CoreEventTypes.js", - "baseHash": "038c14d702490acd25dab824b1b10f5db42eece8" + "baseHash": "ed736df6081d2fbbf54a646b8373bf485449255a" }, { "type": "copy", @@ -623,7 +623,7 @@ "type": "derived", "file": "src-win/Libraries/Utilities/PlatformTypes.js", "baseFile": "packages/react-native/Libraries/Utilities/PlatformTypes.js", - "baseHash": "95e01d9774ac3afdcdacdc049e9c647dbec3055d", + "baseHash": "323895a47d9a31a5502843aae5aa833d225abb08", "issue": 14686 }, { diff --git a/vnext/package.json b/vnext/package.json index f5016c3fbb1..2ed0a5ee75d 100644 --- a/vnext/package.json +++ b/vnext/package.json @@ -28,13 +28,13 @@ "@react-native-community/cli-platform-ios": "17.0.0", "@react-native-windows/cli": "0.0.0-canary.265", "@react-native/assets": "1.0.0", - "@react-native/assets-registry": "0.80.0-nightly-20250317-fc7385c1e", - "@react-native/codegen": "0.80.0-nightly-20250317-fc7385c1e", - "@react-native/community-cli-plugin": "0.80.0-nightly-20250317-fc7385c1e", - "@react-native/gradle-plugin": "0.80.0-nightly-20250317-fc7385c1e", - "@react-native/js-polyfills": "0.80.0-nightly-20250317-fc7385c1e", - "@react-native/normalize-colors": "0.80.0-nightly-20250317-fc7385c1e", - "@react-native/virtualized-lists": "0.80.0-nightly-20250317-fc7385c1e", + "@react-native/assets-registry": "0.80.0-nightly-20250331-398ac1f71", + "@react-native/codegen": "0.80.0-nightly-20250331-398ac1f71", + "@react-native/community-cli-plugin": "0.80.0-nightly-20250331-398ac1f71", + "@react-native/gradle-plugin": "0.80.0-nightly-20250331-398ac1f71", + "@react-native/js-polyfills": "0.80.0-nightly-20250331-398ac1f71", + "@react-native/normalize-colors": "0.80.0-nightly-20250331-398ac1f71", + "@react-native/virtualized-lists": "0.80.0-nightly-20250331-398ac1f71", "abort-controller": "^3.0.0", "anser": "^1.4.9", "ansi-regex": "^5.0.0", @@ -68,7 +68,7 @@ }, "devDependencies": { "@react-native-windows/codegen": "0.0.0-canary.123", - "@react-native/metro-config": "0.80.0-nightly-20250317-fc7385c1e", + "@react-native/metro-config": "0.80.0-nightly-20250331-398ac1f71", "@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,7 +83,7 @@ "just-scripts": "^1.3.3", "prettier": "2.8.8", "react": "19.0.0", - "react-native": "0.80.0-nightly-20250317-fc7385c1e", + "react-native": "0.80.0-nightly-20250331-398ac1f71", "react-native-platform-override": "^1.9.55", "react-refresh": "^0.14.0", "typescript": "5.0.4" @@ -91,7 +91,7 @@ "peerDependencies": { "@types/react": "^19.0.0", "react": "^19.0.0", - "react-native": "0.80.0-nightly-20250317-fc7385c1e" + "react-native": "0.80.0-nightly-20250331-398ac1f71" }, "beachball": { "defaultNpmTag": "canary", @@ -150,4 +150,4 @@ "engines": { "node": ">= 18" } -} \ No newline at end of file +} diff --git a/vnext/src-win/Libraries/Components/AccessibilityInfo/AccessibilityInfo.windows.js b/vnext/src-win/Libraries/Components/AccessibilityInfo/AccessibilityInfo.windows.js index 8f28145a449..1eef24e33a2 100644 --- a/vnext/src-win/Libraries/Components/AccessibilityInfo/AccessibilityInfo.windows.js +++ b/vnext/src-win/Libraries/Components/AccessibilityInfo/AccessibilityInfo.windows.js @@ -408,7 +408,7 @@ const AccessibilityInfo = { addEventListener>( eventName: K, // $FlowIssue[incompatible-type] - Flow bug with unions and generics (T128099423) - handler: (...$ElementType) => void, + handler: (...AccessibilityEventDefinitions[K]) => void, ): EventSubscription { const deviceEventName = EventNames.get(eventName); return deviceEventName == null diff --git a/vnext/src-win/Libraries/Components/Pressable/Pressable.windows.js b/vnext/src-win/Libraries/Components/Pressable/Pressable.windows.js index bc7d7264ff1..1dbe5fd5534 100644 --- a/vnext/src-win/Libraries/Components/Pressable/Pressable.windows.js +++ b/vnext/src-win/Libraries/Components/Pressable/Pressable.windows.js @@ -31,7 +31,7 @@ import * as React from 'react'; import {useMemo, useRef, useState} from 'react'; import type {HandledKeyboardEvent} from '../../Components/View/ViewPropTypes'; -type ViewStyleProp = $ElementType, 'style'>; +type ViewStyleProp = React.ElementConfig['style']; export type PressableStateCallbackType = $ReadOnly<{ pressed: boolean, @@ -48,7 +48,7 @@ type PressableBaseProps = $ReadOnly<{ * Either children or a render prop that receives a boolean reflecting whether * the component is currently pressed. */ - children: React.Node | ((state: PressableStateCallbackType) => React.Node), + children?: React.Node | ((state: PressableStateCallbackType) => React.Node), /** * Duration to wait after hover in before calling `onHoverIn`. @@ -110,6 +110,10 @@ type PressableBaseProps = $ReadOnly<{ * Called when a touch is engaged before `onPress`. */ onPressIn?: ?(event: GestureResponderEvent) => mixed, + /** + * Called when the press location moves. + */ + onPressMove?: ?(event: GestureResponderEvent) => mixed, /** * Called when a touch is released before `onPress`. @@ -233,6 +237,7 @@ function Pressable( onLongPress, onPress, onPressIn, + onPressMove, onPressOut, // [Windows onBlur, @@ -321,7 +326,12 @@ function Pressable( onPressIn(event); } }, - onPressMove: android_rippleConfig?.onPressMove, + onPressMove(event: GestureResponderEvent): void { + android_rippleConfig?.onPressMove(event); + if (onPressMove != null) { + onPressMove(event); + } + }, onPressOut(event: GestureResponderEvent): void { if (android_rippleConfig != null) { android_rippleConfig.onPressOut(event); @@ -352,6 +362,7 @@ function Pressable( onLongPress, onPress, onPressIn, + onPressMove, onPressOut, // [Windows onBlur, diff --git a/vnext/src-win/Libraries/Components/ScrollView/ScrollView.windows.js b/vnext/src-win/Libraries/Components/ScrollView/ScrollView.windows.js index d324e2d1ac0..19732cea2ac 100644 --- a/vnext/src-win/Libraries/Components/ScrollView/ScrollView.windows.js +++ b/vnext/src-win/Libraries/Components/ScrollView/ScrollView.windows.js @@ -134,19 +134,16 @@ export interface ScrollViewScrollToOptions { // Public methods for ScrollView export interface ScrollViewImperativeMethods { - +getScrollResponder: $PropertyType; - +getScrollableNode: $PropertyType; - +getInnerViewNode: $PropertyType; - +getInnerViewRef: $PropertyType; - +getNativeScrollRef: $PropertyType; - +scrollTo: $PropertyType; - +scrollToEnd: $PropertyType; - +flashScrollIndicators: $PropertyType; - +scrollResponderZoomTo: $PropertyType; - +scrollResponderScrollNativeHandleToKeyboard: $PropertyType< - ScrollView, - 'scrollResponderScrollNativeHandleToKeyboard', - >; + +getScrollResponder: ScrollView['getScrollResponder']; + +getScrollableNode: ScrollView['getScrollableNode']; + +getInnerViewNode: ScrollView['getInnerViewNode']; + +getInnerViewRef: ScrollView['getInnerViewRef']; + +getNativeScrollRef: ScrollView['getNativeScrollRef']; + +scrollTo: ScrollView['scrollTo']; + +scrollToEnd: ScrollView['scrollToEnd']; + +flashScrollIndicators: ScrollView['flashScrollIndicators']; + +scrollResponderZoomTo: ScrollView['scrollResponderZoomTo']; + +scrollResponderScrollNativeHandleToKeyboard: ScrollView['scrollResponderScrollNativeHandleToKeyboard']; } export type DecelerationRateType = 'fast' | 'normal' | number; @@ -303,7 +300,7 @@ export type ScrollViewPropsIOS = $ReadOnly<{ /** * This property specifies how the safe area insets are used to modify the * content area of the scroll view. The default value of this property is - * "never". Available on iOS 11 and later. + * "never". * @platform ios */ contentInsetAdjustmentBehavior?: ?( @@ -829,11 +826,11 @@ class ScrollView extends React.Component { }; getScrollableNode: () => ?number = () => { - return findNodeHandle(this.getNativeScrollRef()); + return findNodeHandle<$FlowFixMe>(this.getNativeScrollRef()); }; getInnerViewNode: () => ?number = () => { - return findNodeHandle(this._innerView.nativeInstance); + return findNodeHandle<$FlowFixMe>(this._innerView.nativeInstance); }; getInnerViewRef: () => InnerViewInstance | null = () => { @@ -941,7 +938,7 @@ class ScrollView extends React.Component { if (typeof nodeHandle === 'number') { UIManager.measureLayout( nodeHandle, - nullthrows(findNodeHandle(this)), + nullthrows(findNodeHandle<$FlowFixMe>(this)), // $FlowFixMe[method-unbinding] added when improving typing for this parameters this._textInputFocusError, this._inputMeasureAndScrollToKeyboard, diff --git a/vnext/src-win/Libraries/Components/Switch/Switch.windows.js b/vnext/src-win/Libraries/Components/Switch/Switch.windows.js index b972e3a5c5a..5a0870d75e5 100644 --- a/vnext/src-win/Libraries/Components/Switch/Switch.windows.js +++ b/vnext/src-win/Libraries/Components/Switch/Switch.windows.js @@ -46,7 +46,7 @@ export type SwitchPropsIOS = { tintColor?: ?ColorValue, }; -export type SwitchChangeEventData = $ReadOnly<{ +type SwitchChangeEventData = $ReadOnly<{ target: number, value: boolean, }>; diff --git a/vnext/src-win/Libraries/Components/TextInput/TextInput.windows.js b/vnext/src-win/Libraries/Components/TextInput/TextInput.windows.js index 78cc5a2aba2..ff7df35fec7 100644 --- a/vnext/src-win/Libraries/Components/TextInput/TextInput.windows.js +++ b/vnext/src-win/Libraries/Components/TextInput/TextInput.windows.js @@ -72,7 +72,7 @@ else if (Platform.OS === 'windows') { /** * @see TextInputProps.onChange */ -export type TextInputChangeEventData = $ReadOnly<{ +type TextInputChangeEventData = $ReadOnly<{ eventCount: number, target: number, text: string, @@ -94,10 +94,7 @@ export type TextInputEvent = NativeSyntheticEvent< }>, >; -/** - * @see TextInputProps.onContentSizeChange - */ -export type TextInputContentSizeChangeEventData = $ReadOnly<{ +type TextInputContentSizeChangeEventData = $ReadOnly<{ target: number, contentSize: $ReadOnly<{ width: number, @@ -105,6 +102,9 @@ export type TextInputContentSizeChangeEventData = $ReadOnly<{ }>, }>; +/** + * @see TextInputProps.onContentSizeChange + */ export type TextInputContentSizeChangeEvent = NativeSyntheticEvent; @@ -112,71 +112,78 @@ export type TargetEvent = $ReadOnly<{ target: number, }>; +type TextInputFocusEventData = TargetEvent; + /** - * @see TextInputProps.onFocus + * @see TextInputProps.onBlur */ -export type TextInputFocusEventData = TargetEvent; - export type TextInputBlurEvent = NativeSyntheticEvent; -export type TextInputFocusEvent = NativeSyntheticEvent; /** - * @see TextInputProps.onScroll + * @see TextInputProps.onFocus */ -export type TextInputScrollEventData = { +export type TextInputFocusEvent = NativeSyntheticEvent; + +type TextInputScrollEventData = { contentOffset: {x: number, y: number}, }; +/** + * @see TextInputProps.onScroll + */ +export type TextInputScrollEvent = + NativeSyntheticEvent; + type Selection = $ReadOnly<{ start: number, end: number, }>; -/** - * @see TextInputProps.onSelectionChange - */ -export type TextInputSelectionChangeEventData = $ReadOnly<{ +type TextInputSelectionChangeEventData = $ReadOnly<{ ...TargetEvent, selection: Selection, }>; +/** + * @see TextInputProps.onSelectionChange + */ export type TextInputSelectionChangeEvent = NativeSyntheticEvent; -/** - * @see TextInputProps.onKeyPress - */ -export type TextInputKeyPressEventData = $ReadOnly<{ +type TextInputKeyPressEventData = $ReadOnly<{ ...TargetEvent, key: string, target?: ?number, eventCount?: ?number, }>; +/** + * @see TextInputProps.onKeyPress + */ export type TextInputKeyPressEvent = NativeSyntheticEvent; -/** - * @see TextInputProps.onEndEditing - */ -export type TextInputEndEditingEventData = $ReadOnly<{ +type TextInputEndEditingEventData = $ReadOnly<{ ...TargetEvent, eventCount: number, text: string, }>; +/** + * @see TextInputProps.onEndEditing + */ export type TextInputEndEditingEvent = NativeSyntheticEvent; -/** - * @see TextInputProps.onSubmitEditing - */ -export type TextInputSubmitEditingEventData = $ReadOnly<{ +type TextInputSubmitEditingEventData = $ReadOnly<{ ...TargetEvent, eventCount: number, text: string, }>; +/** + * @see TextInputProps.onSubmitEditing + */ export type TextInputSubmitEditingEvent = NativeSyntheticEvent; diff --git a/vnext/src-win/Libraries/Components/TextInput/TextInputState.windows.js b/vnext/src-win/Libraries/Components/TextInput/TextInputState.windows.js index 7a3fe1edd30..d5ef4edc9eb 100644 --- a/vnext/src-win/Libraries/Components/TextInput/TextInputState.windows.js +++ b/vnext/src-win/Libraries/Components/TextInput/TextInputState.windows.js @@ -39,7 +39,7 @@ function currentlyFocusedField(): ?number { ); } - return findNodeHandle(currentlyFocusedInputRef); + return findNodeHandle<$FlowFixMe>(currentlyFocusedInputRef); } function focusInput(textField: ?HostInstance): void { diff --git a/vnext/src-win/Libraries/Components/Touchable/TouchableBounce.windows.js b/vnext/src-win/Libraries/Components/Touchable/TouchableBounce.windows.js index cc18db5267e..f2d54b38516 100644 --- a/vnext/src-win/Libraries/Components/Touchable/TouchableBounce.windows.js +++ b/vnext/src-win/Libraries/Components/Touchable/TouchableBounce.windows.js @@ -180,7 +180,8 @@ class TouchableBounce extends React.Component { importantForAccessibility={ this.props['aria-hidden'] === true ? 'no-hide-descendants' - : this.props.importantForAccessibility + : // $FlowFixMe[incompatible-type] - AnimatedProps types were made more strict and need refining at this call site + this.props.importantForAccessibility } accessibilityViewIsModal={ this.props['aria-modal'] ?? this.props.accessibilityViewIsModal diff --git a/vnext/src-win/Libraries/Components/Touchable/TouchableHighlight.windows.js b/vnext/src-win/Libraries/Components/Touchable/TouchableHighlight.windows.js index 098b9130bcb..6fa632a1c6c 100644 --- a/vnext/src-win/Libraries/Components/Touchable/TouchableHighlight.windows.js +++ b/vnext/src-win/Libraries/Components/Touchable/TouchableHighlight.windows.js @@ -67,7 +67,7 @@ type TouchableHighlightBaseProps = $ReadOnly<{ hostRef: React.RefSetter>, }>; -type TouchableHighlightProps = $ReadOnly<{ +export type TouchableHighlightProps = $ReadOnly<{ ...TouchableWithoutFeedbackProps, ...AndroidProps, ...IOSProps, diff --git a/vnext/src-win/Libraries/Components/Touchable/TouchableNativeFeedback.windows.js b/vnext/src-win/Libraries/Components/Touchable/TouchableNativeFeedback.windows.js index 9d20d098d0e..25dc5674ca4 100644 --- a/vnext/src-win/Libraries/Components/Touchable/TouchableNativeFeedback.windows.js +++ b/vnext/src-win/Libraries/Components/Touchable/TouchableNativeFeedback.windows.js @@ -253,7 +253,7 @@ class TouchableNativeFeedback extends React.Component< _dispatchPressedStateChange(pressed: boolean): void { if (Platform.OS === 'android') { - const hostComponentRef = findHostInstance_DEPRECATED(this); + const hostComponentRef = findHostInstance_DEPRECATED<$FlowFixMe>(this); if (hostComponentRef == null) { console.warn( 'Touchable: Unable to find HostComponent instance. ' + @@ -268,7 +268,7 @@ class TouchableNativeFeedback extends React.Component< _dispatchHotspotUpdate(event: GestureResponderEvent): void { if (Platform.OS === 'android') { const {locationX, locationY} = event.nativeEvent; - const hostComponentRef = findHostInstance_DEPRECATED(this); + const hostComponentRef = findHostInstance_DEPRECATED<$FlowFixMe>(this); if (hostComponentRef == null) { console.warn( 'Touchable: Unable to find HostComponent instance. ' + diff --git a/vnext/src-win/Libraries/Components/Touchable/TouchableOpacity.windows.js b/vnext/src-win/Libraries/Components/Touchable/TouchableOpacity.windows.js index 3eeaac00ace..c60ec225231 100644 --- a/vnext/src-win/Libraries/Components/Touchable/TouchableOpacity.windows.js +++ b/vnext/src-win/Libraries/Components/Touchable/TouchableOpacity.windows.js @@ -322,7 +322,8 @@ class TouchableOpacity extends React.Component { importantForAccessibility={ this.props['aria-hidden'] === true ? 'no-hide-descendants' - : this.props.importantForAccessibility + : // $FlowFixMe[incompatible-type] - AnimatedProps types were made more strict and need refining at this call site + this.props.importantForAccessibility } accessibilityViewIsModal={ this.props['aria-modal'] ?? this.props.accessibilityViewIsModal diff --git a/vnext/src-win/Libraries/Components/View/ViewAccessibility.windows.js b/vnext/src-win/Libraries/Components/View/ViewAccessibility.windows.js index 53d7d1f0c91..89f15651cb0 100644 --- a/vnext/src-win/Libraries/Components/View/ViewAccessibility.windows.js +++ b/vnext/src-win/Libraries/Components/View/ViewAccessibility.windows.js @@ -93,7 +93,11 @@ export type AccessibilityRole = | 'drawerlayout' | 'slidingdrawer' | 'iconmenu' +<<<<<<< Upstream + | string; +======= | 'listitem'; // RNW-only +>>>>>>> Override // Role types for web export type Role = diff --git a/vnext/src-win/Libraries/Components/View/ViewPropTypes.windows.js b/vnext/src-win/Libraries/Components/View/ViewPropTypes.windows.js index d2bebbcbd37..c25b0d54892 100644 --- a/vnext/src-win/Libraries/Components/View/ViewPropTypes.windows.js +++ b/vnext/src-win/Libraries/Components/View/ViewPropTypes.windows.js @@ -15,18 +15,23 @@ import type {ViewStyleProp} from '../../StyleSheet/StyleSheet'; import type { BlurEvent, FocusEvent, + GestureResponderEvent, LayoutChangeEvent, LayoutRectangle, MouseEvent, PointerEvent, +<<<<<<< Upstream +======= GestureResponderEvent, KeyEvent, // [Windows] +>>>>>>> Override } from '../../Types/CoreEventTypes'; import type { AccessibilityActionEvent, AccessibilityProps, } from './ViewAccessibility'; -import type {Node} from 'react'; + +import React from 'react'; export type ViewLayout = LayoutRectangle; export type ViewLayoutEvent = LayoutChangeEvent; @@ -346,6 +351,51 @@ export type ViewPropsAndroid = $ReadOnly<{ onClick?: ?(event: GestureResponderEvent) => mixed, }>; +export type TVViewPropsIOS = $ReadOnly<{ + /** + * *(Apple TV only)* When set to true, this view will be focusable + * and navigable using the Apple TV remote. + * + * @platform ios + */ + isTVSelectable?: boolean, + + /** + * *(Apple TV only)* May be set to true to force the Apple TV focus engine to move focus to this view. + * + * @platform ios + */ + hasTVPreferredFocus?: boolean, + + /** + * *(Apple TV only)* May be used to change the appearance of the Apple TV parallax effect when this view goes in or out of focus. Defaults to 2.0. + * + * @platform ios + */ + tvParallaxShiftDistanceX?: number, + + /** + * *(Apple TV only)* May be used to change the appearance of the Apple TV parallax effect when this view goes in or out of focus. Defaults to 2.0. + * + * @platform ios + */ + tvParallaxShiftDistanceY?: number, + + /** + * *(Apple TV only)* May be used to change the appearance of the Apple TV parallax effect when this view goes in or out of focus. Defaults to 0.05. + * + * @platform ios + */ + tvParallaxTiltAngle?: number, + + /** + * *(Apple TV only)* May be used to change the appearance of the Apple TV parallax effect when this view goes in or out of focus. Defaults to 1.0. + * + * @platform ios + */ + tvParallaxMagnification?: number, +}>; + export type ViewPropsIOS = $ReadOnly<{ /** * Whether this `View` should be rendered as a bitmap before compositing. @@ -422,7 +472,7 @@ type ViewPropsWindows = $ReadOnly<{| // Windows] type ViewBaseProps = $ReadOnly<{ - children?: Node, + children?: React.Node, style?: ?ViewStyleProp, /** diff --git a/vnext/src-win/Libraries/NativeComponent/BaseViewConfig.windows.js b/vnext/src-win/Libraries/NativeComponent/BaseViewConfig.windows.js index 5f067050994..6f6e08784ed 100644 --- a/vnext/src-win/Libraries/NativeComponent/BaseViewConfig.windows.js +++ b/vnext/src-win/Libraries/NativeComponent/BaseViewConfig.windows.js @@ -217,6 +217,7 @@ const validAttributesForNonEventProps = { accessibilityIgnoresInvertColors: true, accessibilityShowsLargeContentViewer: true, accessibilityLargeContentTitle: true, + experimental_accessibilityOrder: true, testID: true, backgroundColor: {process: require('../StyleSheet/processColor').default}, backfaceVisibility: true, diff --git a/vnext/src-win/Libraries/Network/RCTNetworking.windows.js b/vnext/src-win/Libraries/Network/RCTNetworking.windows.js index e5b2dd572ff..40035ff1f6a 100644 --- a/vnext/src-win/Libraries/Network/RCTNetworking.windows.js +++ b/vnext/src-win/Libraries/Network/RCTNetworking.windows.js @@ -20,7 +20,7 @@ import {type NativeResponseType} from './XMLHttpRequest'; const RCTNetworking = { addListener>( eventType: K, - listener: (...$ElementType) => mixed, + listener: (...RCTNetworkingEventDefinitions[K]) => mixed, context?: mixed, ): EventSubscription { // $FlowFixMe[incompatible-call] diff --git a/vnext/src-win/Libraries/NewAppScreen/components/DebugInstructions.windows.js b/vnext/src-win/Libraries/NewAppScreen/components/DebugInstructions.windows.js index bac4cec6f94..4dc14611eaf 100644 --- a/vnext/src-win/Libraries/NewAppScreen/components/DebugInstructions.windows.js +++ b/vnext/src-win/Libraries/NewAppScreen/components/DebugInstructions.windows.js @@ -8,8 +8,6 @@ * @format */ -import type {Node} from 'react'; - import StyleSheet from '../../StyleSheet/StyleSheet'; import Text from '../../Text/Text'; import React from 'react'; @@ -20,11 +18,30 @@ const styles = StyleSheet.create({ }, }); +<<<<<<< Upstream +const DebugInstructions: () => React.Node = Platform.select({ + ios: () => ( + + Press Cmd + D in the simulator or{' '} + Shake your device to open the Dev + Menu. + + ), + default: () => ( + + Press Cmd or Ctrl + M or{' '} + Shake your device to open the Dev + Menu. + + ), +}); +======= const DebugInstructions = (): Node => ( Press Ctrl+Shift+D to open the Dev Menu. ); +>>>>>>> Override 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 index 395967aa25e..4dcdc404367 100644 --- a/vnext/src-win/Libraries/NewAppScreen/components/ReloadInstructions.windows.js +++ b/vnext/src-win/Libraries/NewAppScreen/components/ReloadInstructions.windows.js @@ -8,8 +8,6 @@ * @format */ -import type {Node} from 'react'; - import StyleSheet from '../../StyleSheet/StyleSheet'; import Text from '../../Text/Text'; import React from 'react'; @@ -20,6 +18,22 @@ const styles = StyleSheet.create({ }, }); +<<<<<<< Upstream +const ReloadInstructions: () => React.Node = Platform.select({ + ios: () => ( + + Press Cmd + R in the simulator to + reload your app's code. + + ), + default: () => ( + + Double tap R on your keyboard to + reload your app's code. + + ), +}); +======= const ReloadInstructions = (): Node => ( Press Ctrl+Shift+D and select{' '} @@ -27,5 +41,6 @@ const ReloadInstructions = (): Node => ( code. ); +>>>>>>> Override export default ReloadInstructions; diff --git a/vnext/src-win/Libraries/Pressability/Pressability.windows.js b/vnext/src-win/Libraries/Pressability/Pressability.windows.js index 50ee0a55852..a02155060f3 100644 --- a/vnext/src-win/Libraries/Pressability/Pressability.windows.js +++ b/vnext/src-win/Libraries/Pressability/Pressability.windows.js @@ -935,7 +935,7 @@ export default class Pressability { }; _isTouchWithinResponderRegion( - touch: $PropertyType, + touch: GestureResponderEvent['nativeEvent'], responderRegion: $ReadOnly<{ bottom: number, left: number, diff --git a/vnext/src-win/Libraries/Text/Text.d.ts b/vnext/src-win/Libraries/Text/Text.d.ts index 06dc0586715..309f12b2832 100644 --- a/vnext/src-win/Libraries/Text/Text.d.ts +++ b/vnext/src-win/Libraries/Text/Text.d.ts @@ -16,8 +16,7 @@ import {TextStyle, ViewStyle} from '../StyleSheet/StyleSheetTypes'; import { GestureResponderEvent, LayoutChangeEvent, - NativeSyntheticEvent, - TextLayoutEventData, + TextLayoutEvent, } from '../Types/CoreEventTypes'; export interface TextPropsIOS { @@ -173,9 +172,7 @@ export interface TextProps /** * Invoked on Text layout */ - onTextLayout?: - | ((event: NativeSyntheticEvent) => void) - | undefined; + onTextLayout?: ((event: TextLayoutEvent) => void) | undefined; /** * This function is called on press. diff --git a/vnext/src-win/Libraries/Text/TextProps.windows.js b/vnext/src-win/Libraries/Text/TextProps.windows.js index fb3c7fd493e..f3e496aa563 100644 --- a/vnext/src-win/Libraries/Text/TextProps.windows.js +++ b/vnext/src-win/Libraries/Text/TextProps.windows.js @@ -24,7 +24,8 @@ import type { PointerEvent, TextLayoutEvent, } from '../Types/CoreEventTypes'; -import type {Node} from 'react'; + +import React from 'react'; export type PressRetentionOffset = $ReadOnly<{ top: number, @@ -179,7 +180,7 @@ type TextBaseProps = $ReadOnly<{ */ 'aria-labelledby'?: ?string, - children?: ?Node, + children?: ?React.Node, /** * When `numberOfLines` is set, this prop defines how text will be diff --git a/vnext/src-win/Libraries/Types/CoreEventTypes.windows.js b/vnext/src-win/Libraries/Types/CoreEventTypes.windows.js index f0e3a76639c..8c743f8a873 100644 --- a/vnext/src-win/Libraries/Types/CoreEventTypes.windows.js +++ b/vnext/src-win/Libraries/Types/CoreEventTypes.windows.js @@ -76,7 +76,7 @@ export type LayoutChangeEvent = NativeSyntheticEvent< }>, >; -export type TextLayoutEventData = $ReadOnly<{ +type TextLayoutEventData = $ReadOnly<{ lines: Array, }>; diff --git a/vnext/src-win/Libraries/Utilities/PlatformTypes.js b/vnext/src-win/Libraries/Utilities/PlatformTypes.js index 03792fb8618..0212b7873fb 100644 --- a/vnext/src-win/Libraries/Utilities/PlatformTypes.js +++ b/vnext/src-win/Libraries/Utilities/PlatformTypes.js @@ -16,11 +16,17 @@ export type PlatformOSType = | 'web' | 'native'; -export type PlatformSelectSpec = { - default?: T, - [PlatformOSType]: T, +type OptionalPlatformSelectSpec = { + [_key in PlatformOSType]?: T, }; +export type PlatformSelectSpec = + | { + ...OptionalPlatformSelectSpec, + default: T, + } + | OptionalPlatformSelectSpec; + type IOSPlatform = { __constants: null, OS: 'ios', diff --git a/vnext/src-win/index.windows.js b/vnext/src-win/index.windows.js index 15bc5fac189..1d06eba4b29 100644 --- a/vnext/src-win/index.windows.js +++ b/vnext/src-win/index.windows.js @@ -286,7 +286,14 @@ module.exports = { get I18nManager(): I18nManager { return require('./Libraries/ReactNative/I18nManager').default; }, +<<<<<<< Upstream + /** + * @deprecated + */ + get InteractionManager() { +======= get InteractionManager(): InteractionManager { +>>>>>>> Override return require('./Libraries/Interaction/InteractionManager').default; }, get Keyboard(): Keyboard { diff --git a/yarn.lock b/yarn.lock index 83cf5351836..18d8aece280 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2133,28 +2133,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-20250317-fc7385c1e": - version "0.80.0-nightly-20250317-fc7385c1e" - resolved "https://registry.yarnpkg.com/@react-native/assets-registry/-/assets-registry-0.80.0-nightly-20250317-fc7385c1e.tgz#b02eb0d9f725aa9298ba79eaa65fb7c9c876478a" - integrity sha512-xdJJptt/Gq/ptr3pwFrwnJbwP+kGyI0iAkCfA5lQ0IgSeK90ezRWxFd1VRMjRBThLaKPYEb9zK8HIG7WRJ0lUw== +"@react-native/assets-registry@0.80.0-nightly-20250331-398ac1f71": + version "0.80.0-nightly-20250331-398ac1f71" + resolved "https://registry.yarnpkg.com/@react-native/assets-registry/-/assets-registry-0.80.0-nightly-20250331-398ac1f71.tgz#138411b815c7527e2b0b66a39f6fce2989ba5511" + integrity sha512-Sirfr4YIx8NPbfoKBriF3f2hZ7+qAw2zblNjuPJx/9E3BMW++8GDpkFs3AmW9wwhKq6pXaU9CQvRXft1NV6gFg== "@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-20250317-fc7385c1e": - version "0.80.0-nightly-20250317-fc7385c1e" - resolved "https://registry.yarnpkg.com/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.80.0-nightly-20250317-fc7385c1e.tgz#9b850531cd98f61b81695e565f5e9cf0925b713c" - integrity sha512-f+MgbLl+CReAnD8XlAqp/8Uxv5EateuvidhEgouOjt6N8e/JAFt7dCd8uDhrKOM0xuuzYCvhOxZtnDvMhU2Now== +"@react-native/babel-plugin-codegen@0.80.0-nightly-20250331-398ac1f71": + version "0.80.0-nightly-20250331-398ac1f71" + resolved "https://registry.yarnpkg.com/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.80.0-nightly-20250331-398ac1f71.tgz#b2f20b58163280899ebdf143421b8a6f7b05d144" + integrity sha512-TrBxOQSCY9Y2t9qE3x2OkOeG6387yIaa2+1EID5/5THgkiwX/R7GF+pS852Ls7nqI3FnouENvmaOosXO0l5gog== dependencies: "@babel/traverse" "^7.25.3" - "@react-native/codegen" "0.80.0-nightly-20250317-fc7385c1e" + "@react-native/codegen" "0.80.0-nightly-20250331-398ac1f71" -"@react-native/babel-preset@0.80.0-nightly-20250317-fc7385c1e": - version "0.80.0-nightly-20250317-fc7385c1e" - resolved "https://registry.yarnpkg.com/@react-native/babel-preset/-/babel-preset-0.80.0-nightly-20250317-fc7385c1e.tgz#078fb221a1a74c04e4dc03b45e0f432e4dbd2e00" - integrity sha512-JcDp9L9vVBhegZq6FLFG9WmQGyi43+1EWBFXkAJTGuGzx93zEORhEVjdye/CgwTX4hVKd09o2NeQ289wFekBSQ== +"@react-native/babel-preset@0.80.0-nightly-20250331-398ac1f71": + version "0.80.0-nightly-20250331-398ac1f71" + resolved "https://registry.yarnpkg.com/@react-native/babel-preset/-/babel-preset-0.80.0-nightly-20250331-398ac1f71.tgz#b399058ed9586f14d535956a2b8410708f68870a" + integrity sha512-HL6VMCDxlLo0biMAPWMIJ0iqJ2U8pYD7EbESCUO2tyI6vpmZXQAYvN8oMq9P8q2K2lg8Bv3QeoUXihGRoCObLg== dependencies: "@babel/core" "^7.25.2" "@babel/plugin-proposal-export-default-from" "^7.24.7" @@ -2197,15 +2197,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-20250317-fc7385c1e" + "@react-native/babel-plugin-codegen" "0.80.0-nightly-20250331-398ac1f71" babel-plugin-syntax-hermes-parser "0.25.1" babel-plugin-transform-flow-enums "^0.0.2" react-refresh "^0.14.0" -"@react-native/codegen@0.80.0-nightly-20250317-fc7385c1e": - version "0.80.0-nightly-20250317-fc7385c1e" - resolved "https://registry.yarnpkg.com/@react-native/codegen/-/codegen-0.80.0-nightly-20250317-fc7385c1e.tgz#21907ee35992d142294fac55a82e7503ad8dd672" - integrity sha512-78b17vFGQDCDxVwpLvjuyNnTqZOMRa3ZiqVWrprpPDls+SNeUcJ5xhKHmHDvaImRpfq5KqDeAQjUl9FM5U/KIA== +"@react-native/codegen@0.80.0-nightly-20250331-398ac1f71": + version "0.80.0-nightly-20250331-398ac1f71" + resolved "https://registry.yarnpkg.com/@react-native/codegen/-/codegen-0.80.0-nightly-20250331-398ac1f71.tgz#5cf4637053ceab9b87a53605c01562119a13578b" + integrity sha512-/0oYnDZqxnwwFziyyG9+XbmQqwCvGiqsaLLUl5zx74rmMildiPCdMXqDwtjEmoXTw5goxst2IFYsVopECYFFYA== dependencies: glob "^7.1.1" hermes-parser "0.25.1" @@ -2213,12 +2213,12 @@ nullthrows "^1.1.1" yargs "^17.6.2" -"@react-native/community-cli-plugin@0.80.0-nightly-20250317-fc7385c1e": - version "0.80.0-nightly-20250317-fc7385c1e" - resolved "https://registry.yarnpkg.com/@react-native/community-cli-plugin/-/community-cli-plugin-0.80.0-nightly-20250317-fc7385c1e.tgz#2f4f3b3b1981fee3b83cc618606a2991d2b663e5" - integrity sha512-CKCrev9kmpQ6KHq4mQBfTfV7I+fl8doOI3jRND0OSl9REQBnXpcyGXpqi8ZE56QftAJhRTOnUX1BZCeBUpnEtQ== +"@react-native/community-cli-plugin@0.80.0-nightly-20250331-398ac1f71": + version "0.80.0-nightly-20250331-398ac1f71" + resolved "https://registry.yarnpkg.com/@react-native/community-cli-plugin/-/community-cli-plugin-0.80.0-nightly-20250331-398ac1f71.tgz#f383f1d4ff27693c6574f055a46dd67d622eab74" + integrity sha512-m5L+K0q5fgIqYj0xDoE+/eo2hh1dpWxhL6htNU0mT1AgNw+9BUqDtP6nkKrwqTz8WHDotKrfmgezPDxuKbyHdg== dependencies: - "@react-native/dev-middleware" "0.80.0-nightly-20250317-fc7385c1e" + "@react-native/dev-middleware" "0.80.0-nightly-20250331-398ac1f71" chalk "^4.0.0" debug "^4.4.0" invariant "^2.2.4" @@ -2227,18 +2227,18 @@ metro-core "^0.82.0" semver "^7.1.3" -"@react-native/debugger-frontend@0.80.0-nightly-20250317-fc7385c1e": - version "0.80.0-nightly-20250317-fc7385c1e" - resolved "https://registry.yarnpkg.com/@react-native/debugger-frontend/-/debugger-frontend-0.80.0-nightly-20250317-fc7385c1e.tgz#132bd6c9d523e5fad7dbde008c6cdb55dda39389" - integrity sha512-eoCXz9DJTpd3AM8tgUP9MsUOFQmKqPLhRSJL4fnhtDGMimSGLO+KldSIvKQwel9I2SpbGWOpcEsordiyYPtaUw== +"@react-native/debugger-frontend@0.80.0-nightly-20250331-398ac1f71": + version "0.80.0-nightly-20250331-398ac1f71" + resolved "https://registry.yarnpkg.com/@react-native/debugger-frontend/-/debugger-frontend-0.80.0-nightly-20250331-398ac1f71.tgz#4c65bfd36bd8d016975f2bdeac88bfa35c6921bc" + integrity sha512-USy4R2pc6LQBFySJQ02asfgBEXiykPuYJP3mCq5IzMx8u1nI005lOHNNtmV5/hkyNNLhvfsC4/rnAWWQukPNlQ== -"@react-native/dev-middleware@0.80.0-nightly-20250317-fc7385c1e": - version "0.80.0-nightly-20250317-fc7385c1e" - resolved "https://registry.yarnpkg.com/@react-native/dev-middleware/-/dev-middleware-0.80.0-nightly-20250317-fc7385c1e.tgz#93e277a25012a96c8afba29e19e4ae8fa841101e" - integrity sha512-68PgpUlaebdGaTO7jM4VHXmSTgqE3SX9R/LKNgsZyPYqC38UgNT1EI2l6d2oRh1r57Muc7Y55zErk470XVaRXw== +"@react-native/dev-middleware@0.80.0-nightly-20250331-398ac1f71": + version "0.80.0-nightly-20250331-398ac1f71" + resolved "https://registry.yarnpkg.com/@react-native/dev-middleware/-/dev-middleware-0.80.0-nightly-20250331-398ac1f71.tgz#e555cbc8f972de51e554ab55f1da2b6d6cac58ac" + integrity sha512-iRdQiDfek/qHfsi8dVUHsFXmSMguDRzERZeQ4YIQxNfln12ad+rwtWJR4vrjzAjRSoEBwNyzat+Y4sXlF6pmUw== dependencies: "@isaacs/ttlcache" "^1.4.1" - "@react-native/debugger-frontend" "0.80.0-nightly-20250317-fc7385c1e" + "@react-native/debugger-frontend" "0.80.0-nightly-20250331-398ac1f71" chrome-launcher "^0.15.2" chromium-edge-launcher "^0.2.0" connect "^3.6.5" @@ -2272,40 +2272,40 @@ 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-20250317-fc7385c1e": - version "0.80.0-nightly-20250317-fc7385c1e" - resolved "https://registry.yarnpkg.com/@react-native/gradle-plugin/-/gradle-plugin-0.80.0-nightly-20250317-fc7385c1e.tgz#c9460e245374a2f6f68db6e93895bc74e4e63517" - integrity sha512-FfUMIsuySTIKECPPSixWo/xIn2YSkR7VjIscRes2BOpd2OCqEuSkVtAwQ4giVqkssuV1Eh3Z0cJOhEcidKxCXw== +"@react-native/gradle-plugin@0.80.0-nightly-20250331-398ac1f71": + version "0.80.0-nightly-20250331-398ac1f71" + resolved "https://registry.yarnpkg.com/@react-native/gradle-plugin/-/gradle-plugin-0.80.0-nightly-20250331-398ac1f71.tgz#36de728f3a349c343645c8d0ae38191b4bd49ddb" + integrity sha512-XjvwBWQN98YsxcvyCnFn2jhEC1mvh5U+PnE/oyRhHnS9kCZh4sRribK+3WPGKz9GDAIVPiR5zFZYLq+Cqan3QA== -"@react-native/js-polyfills@0.80.0-nightly-20250317-fc7385c1e": - version "0.80.0-nightly-20250317-fc7385c1e" - resolved "https://registry.yarnpkg.com/@react-native/js-polyfills/-/js-polyfills-0.80.0-nightly-20250317-fc7385c1e.tgz#6e08f926c19e8e3a47a81bb89f8e02d253bcae51" - integrity sha512-hku4R9HxtBscv68ge0szC9dCOT3uonbz9qyIkEuWIr1kRZg53fK+ibgC7KrFfvhJdRsqqxIRaveQ/4LCntZ88Q== +"@react-native/js-polyfills@0.80.0-nightly-20250331-398ac1f71": + version "0.80.0-nightly-20250331-398ac1f71" + resolved "https://registry.yarnpkg.com/@react-native/js-polyfills/-/js-polyfills-0.80.0-nightly-20250331-398ac1f71.tgz#e2f9f7db4ff066dd74e3cec598237486b2e11f44" + integrity sha512-R/T3pp4POWb9iqitD9Ixoub+fDSm8iR86NpSnJByP0gJRd5aW+KcLvUErdkYnvLGrUGpgKNoB7Dy5SWPuoXipA== -"@react-native/metro-babel-transformer@0.80.0-nightly-20250317-fc7385c1e": - version "0.80.0-nightly-20250317-fc7385c1e" - resolved "https://registry.yarnpkg.com/@react-native/metro-babel-transformer/-/metro-babel-transformer-0.80.0-nightly-20250317-fc7385c1e.tgz#e01d877f40182c5d82c4e60d6247c232afb7b183" - integrity sha512-My/mmJEQWVaxo35D01rbJeDs8TwOuNw90IHhAxBprOMPZKb65a/RBk+6DmSN+n3Z15C1kS4eLZ1lfabMPte/RQ== +"@react-native/metro-babel-transformer@0.80.0-nightly-20250331-398ac1f71": + version "0.80.0-nightly-20250331-398ac1f71" + resolved "https://registry.yarnpkg.com/@react-native/metro-babel-transformer/-/metro-babel-transformer-0.80.0-nightly-20250331-398ac1f71.tgz#69329a06a1c3510956ded489d6bb98014d8e4bc1" + integrity sha512-BXeDHY8SpwFTrc9bP308RDe9x5xgZN9zmeW4t5jpJFUHj4M8FT4TApdyleU4M2fPIsmoz6Hr3haNoDhLO2++QQ== dependencies: "@babel/core" "^7.25.2" - "@react-native/babel-preset" "0.80.0-nightly-20250317-fc7385c1e" + "@react-native/babel-preset" "0.80.0-nightly-20250331-398ac1f71" hermes-parser "0.25.1" nullthrows "^1.1.1" -"@react-native/metro-config@0.80.0-nightly-20250317-fc7385c1e": - version "0.80.0-nightly-20250317-fc7385c1e" - resolved "https://registry.yarnpkg.com/@react-native/metro-config/-/metro-config-0.80.0-nightly-20250317-fc7385c1e.tgz#da0f71924a569709a0ca20b183db868ef19d73c3" - integrity sha512-XKcW+Rp+02vy6P5CI+877mlB877/oBf4HZPY/zjJx5arDxR0NzaQSPWXfB9MIMYbIv+3RoH4/nEZ6UeSZ7qAUg== +"@react-native/metro-config@0.80.0-nightly-20250331-398ac1f71": + version "0.80.0-nightly-20250331-398ac1f71" + resolved "https://registry.yarnpkg.com/@react-native/metro-config/-/metro-config-0.80.0-nightly-20250331-398ac1f71.tgz#e6aa72f99ba5d9cc4b67a5c220e04e5456cf7302" + integrity sha512-7qEngvmdaYhKnMr5FwQu1/h6IrLFOGTyAR0iR0+t5oOFiDZCgWJHrDhnuyaIeUZvVQoFLLfmhxcdlPzPFZOvUQ== dependencies: - "@react-native/js-polyfills" "0.80.0-nightly-20250317-fc7385c1e" - "@react-native/metro-babel-transformer" "0.80.0-nightly-20250317-fc7385c1e" + "@react-native/js-polyfills" "0.80.0-nightly-20250331-398ac1f71" + "@react-native/metro-babel-transformer" "0.80.0-nightly-20250331-398ac1f71" metro-config "^0.82.0" metro-runtime "^0.82.0" -"@react-native/normalize-colors@0.80.0-nightly-20250317-fc7385c1e": - version "0.80.0-nightly-20250317-fc7385c1e" - resolved "https://registry.yarnpkg.com/@react-native/normalize-colors/-/normalize-colors-0.80.0-nightly-20250317-fc7385c1e.tgz#9192423f143ba416287e895b91a0e6dc2b178f9c" - integrity sha512-8mqZH9FG0wmBzEIH8OFTKcxXpUm4k7r5HStTxqAztxTjpTfRvJTLKxB9DcPukGAsdRkMSBAPKgxjWV+zREEVYA== +"@react-native/normalize-colors@0.80.0-nightly-20250331-398ac1f71": + version "0.80.0-nightly-20250331-398ac1f71" + resolved "https://registry.yarnpkg.com/@react-native/normalize-colors/-/normalize-colors-0.80.0-nightly-20250331-398ac1f71.tgz#0aa700dbe1cdded5326534dc178d2e762353112e" + integrity sha512-uIpd2+5ZM9fUzXIoERyXceByMVx4IJyJRenvCi2TgDLlUDnniedfwJ2pcrUFH54YMLQpr12dufnfUjs/S393Sg== "@react-native/popup-menu-android@0.80.0-nightly-20250317-fc7385c1e": version "0.80.0-nightly-20250317-fc7385c1e" @@ -2314,10 +2314,10 @@ dependencies: nullthrows "^1.1.1" -"@react-native/virtualized-lists@0.80.0-nightly-20250317-fc7385c1e": - version "0.80.0-nightly-20250317-fc7385c1e" - resolved "https://registry.yarnpkg.com/@react-native/virtualized-lists/-/virtualized-lists-0.80.0-nightly-20250317-fc7385c1e.tgz#470866c04f98375e450445217e70815c4e77710d" - integrity sha512-w+lelo+0h3bjlfdNfOD+sEb5VpvaJc/oz0/IdtIWNa0iAeOKWxBdwyJuPTjg+ZAJtp7MQD+SXZaHF7Mov7vvag== +"@react-native/virtualized-lists@0.80.0-nightly-20250331-398ac1f71": + version "0.80.0-nightly-20250331-398ac1f71" + resolved "https://registry.yarnpkg.com/@react-native/virtualized-lists/-/virtualized-lists-0.80.0-nightly-20250331-398ac1f71.tgz#611e4ef2716f711af228d89c1ac509b6442f62a9" + integrity sha512-+qYQ+Y3GMrTsNIsct9qMnlDq6IqSGVZkr/zkM1xgaO4H3Kz0ZgOyREC7ogYhNxcGOA6E9Z86Hk57WoW7tV+//Q== dependencies: invariant "^2.2.4" nullthrows "^1.1.1" @@ -5671,6 +5671,11 @@ eslint-plugin-react-hooks@^4.6.0: resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz#c829eb06c0e6f484b3fbb85a97e57784f328c596" integrity sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ== +eslint-plugin-react-hooks@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.2.0.tgz#1be0080901e6ac31ce7971beed3d3ec0a423d9e3" + integrity sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg== + eslint-plugin-react-native-globals@^0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/eslint-plugin-react-native-globals/-/eslint-plugin-react-native-globals-0.1.2.tgz#ee1348bc2ceb912303ce6bdbd22e2f045ea86ea2" @@ -6231,10 +6236,10 @@ flow-bin@^0.261.2: resolved "https://registry.yarnpkg.com/flow-bin/-/flow-bin-0.261.2.tgz#8558c965950f8e38872ea21f66bf04932da2380b" integrity sha512-lTYA05K4obAjyrrX4in3sLZyAECSFCDwQiGpZHJLm8ldCk+qcW11Wcxq/CdvyQAOPR7Kpb5BPRSaj4hwEXIAUw== -flow-bin@^0.265.2: - version "0.265.3" - resolved "https://registry.yarnpkg.com/flow-bin/-/flow-bin-0.265.3.tgz#cbaad2115f4622e34920981dc79949824c27f421" - integrity sha512-08PjO2kjuQxy8MxYJNCzmgRpAe1uqTf7kQ+U32QTavRzTD/7IJASYKFEEvCkVNHlhSy8CTJsN+AQdHsXVqChIw== +flow-bin@^0.266.1: + version "0.266.1" + resolved "https://registry.yarnpkg.com/flow-bin/-/flow-bin-0.266.1.tgz#8939be6fbd681c4ef8dc4873b22f4b79be76cb0a" + integrity sha512-c1lg1E8SDcuPSkrOeH0JTcNKMZOzXvqX2DuuXJ0amZec15uyuIi8QlGTO3OzYssMT/kwFdo5vviJqSUI/BNFbw== flow-enums-runtime@^0.0.6: version "0.0.6" @@ -8827,30 +8832,6 @@ metro-runtime@0.82.4, metro-runtime@^0.82.0: "@babel/runtime" "^7.25.0" flow-enums-runtime "^0.0.6" -metro-runtime@^0.81.0: - version "0.81.2" - resolved "https://registry.yarnpkg.com/metro-runtime/-/metro-runtime-0.81.2.tgz#143cd2712d297ba9366e74283e230044fc2465ad" - integrity sha512-xk3rU6yKaa2b8B/Hk/ZhPtNzW4H07h/yq9iKBCof0F68CaN+qncdVOOIz2NGqEH7V3wAqDv4xoOfbgtbFO5rxA== - dependencies: - "@babel/runtime" "^7.25.0" - flow-enums-runtime "^0.0.6" - -metro-source-map@0.81.2, metro-source-map@^0.81.0: - version "0.81.2" - resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.81.2.tgz#d47950419351bd684820c7ca8b53ee2b69772605" - integrity sha512-/mJYbZIGswFbfxt0ouaBYw22YvqQiaCB+ql8reeA37bNjd4lHvozND7/w8NO2x7FjTfsmPBh50Iqi/mTuZFiZA== - 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.81.2" - nullthrows "^1.1.1" - ob1 "0.81.2" - source-map "^0.5.6" - vlq "^1.0.0" - 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" @@ -8867,18 +8848,6 @@ metro-source-map@0.82.4, metro-source-map@^0.82.0: source-map "^0.5.6" vlq "^1.0.0" -metro-symbolicate@0.81.2: - version "0.81.2" - resolved "https://registry.yarnpkg.com/metro-symbolicate/-/metro-symbolicate-0.81.2.tgz#af30923ba92f26d1c4dfd3a2eab5bff62f8cf214" - integrity sha512-jEZoh3XldJazigetID+4Sy41OszGdixEOvB8zI0v2k7sXgHh+Rw8J/R7UuYCxQp+f89MqCjeGLLN7qNHuvRSCQ== - dependencies: - flow-enums-runtime "^0.0.6" - invariant "^2.2.4" - metro-source-map "0.81.2" - nullthrows "^1.1.1" - 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" @@ -9373,13 +9342,6 @@ 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.81.2: - version "0.81.2" - resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.81.2.tgz#1c144d5ed63a0d1778bec32bf8a56c93397911ed" - integrity sha512-K0hJXOlU4j7c4chNLaDDzVyg5yjYjbmDSQbVMXdAcTtqZndwYHfmBIO06riFMgpg2KOevxeB1pIwzqJuES2SuA== - dependencies: - flow-enums-runtime "^0.0.6" - ob1@0.82.4: version "0.82.4" resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.82.4.tgz#60f04f61b8ab96e1f818eb856b35c97bbef44726" @@ -10176,19 +10138,19 @@ react-native-xaml@^0.0.78: dependencies: "@types/react" "*" -react-native@0.80.0-nightly-20250317-fc7385c1e: - version "0.80.0-nightly-20250317-fc7385c1e" - resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.80.0-nightly-20250317-fc7385c1e.tgz#8df65db4db298334ed4ebacbce51fb69e312849f" - integrity sha512-Vgwuf27mnlPhsn8NvsjooyV3yA9HumLjk+AswRRtebysLS5Cu0MJmhvCYhSm045aAWl3asdRwX2Q5E/baSI+ng== +react-native@0.80.0-nightly-20250331-398ac1f71: + version "0.80.0-nightly-20250331-398ac1f71" + resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.80.0-nightly-20250331-398ac1f71.tgz#0c8e416a04683a4071e09457d29ebeeeae2bd7c8" + integrity sha512-AT19Uy2eRFGwXlJ61moQ9MEf/1Diio5WZ1uxwchY3ChMsUpQ1deHdP9R+pVmA5gy1s3ubvcD+47bnqCjm4Wqvw== dependencies: "@jest/create-cache-key-function" "^29.7.0" - "@react-native/assets-registry" "0.80.0-nightly-20250317-fc7385c1e" - "@react-native/codegen" "0.80.0-nightly-20250317-fc7385c1e" - "@react-native/community-cli-plugin" "0.80.0-nightly-20250317-fc7385c1e" - "@react-native/gradle-plugin" "0.80.0-nightly-20250317-fc7385c1e" - "@react-native/js-polyfills" "0.80.0-nightly-20250317-fc7385c1e" - "@react-native/normalize-colors" "0.80.0-nightly-20250317-fc7385c1e" - "@react-native/virtualized-lists" "0.80.0-nightly-20250317-fc7385c1e" + "@react-native/assets-registry" "0.80.0-nightly-20250331-398ac1f71" + "@react-native/codegen" "0.80.0-nightly-20250331-398ac1f71" + "@react-native/community-cli-plugin" "0.80.0-nightly-20250331-398ac1f71" + "@react-native/gradle-plugin" "0.80.0-nightly-20250331-398ac1f71" + "@react-native/js-polyfills" "0.80.0-nightly-20250331-398ac1f71" + "@react-native/normalize-colors" "0.80.0-nightly-20250331-398ac1f71" + "@react-native/virtualized-lists" "0.80.0-nightly-20250331-398ac1f71" abort-controller "^3.0.0" anser "^1.4.9" ansi-regex "^5.0.0" From ceeaddc0d19161e4fa0e01139a721b758d0269ce Mon Sep 17 00:00:00 2001 From: vineethkuttan Date: Tue, 17 Jun 2025 14:21:42 +0530 Subject: [PATCH 02/14] Conflicts Resolved --- .../Components/View/ViewPropTypes.win32.js | 3 --- .../Libraries/Utilities/DeviceInfo.win32.js | 6 ------ .../react-native-win32/src-win/index.win32.js | 7 ------- .../ComponentDescriptorRegistry.cpp | 18 ------------------ .../View/ViewAccessibility.windows.js | 5 +---- .../Components/View/ViewPropTypes.windows.js | 3 --- .../components/DebugInstructions.windows.js | 19 ------------------- .../components/ReloadInstructions.windows.js | 17 ----------------- vnext/src-win/index.windows.js | 7 ------- 9 files changed, 1 insertion(+), 84 deletions(-) diff --git a/packages/@office-iss/react-native-win32/src-win/Libraries/Components/View/ViewPropTypes.win32.js b/packages/@office-iss/react-native-win32/src-win/Libraries/Components/View/ViewPropTypes.win32.js index d2e1a8c2b55..106b45f2f47 100644 --- a/packages/@office-iss/react-native-win32/src-win/Libraries/Components/View/ViewPropTypes.win32.js +++ b/packages/@office-iss/react-native-win32/src-win/Libraries/Components/View/ViewPropTypes.win32.js @@ -20,11 +20,8 @@ import type { LayoutRectangle, MouseEvent, PointerEvent, -<<<<<<< Upstream -======= GestureResponderEvent, KeyEvent, // [Windows] ->>>>>>> Override } from '../../Types/CoreEventTypes'; import type { AccessibilityActionEvent, diff --git a/packages/@office-iss/react-native-win32/src-win/Libraries/Utilities/DeviceInfo.win32.js b/packages/@office-iss/react-native-win32/src-win/Libraries/Utilities/DeviceInfo.win32.js index d2c0ab7141e..08bda7d826e 100644 --- a/packages/@office-iss/react-native-win32/src-win/Libraries/Utilities/DeviceInfo.win32.js +++ b/packages/@office-iss/react-native-win32/src-win/Libraries/Utilities/DeviceInfo.win32.js @@ -10,13 +10,7 @@ * @flow */ -<<<<<<< Upstream -export type {DeviceInfoConstants} from './NativeDeviceInfo'; - -import NativeDeviceInfo from './NativeDeviceInfo'; -======= import type {Spec} from './NativeDeviceInfo'; ->>>>>>> Override const DeviceInfo: Spec = { getConstants: () => ({Dimensions: {}}), diff --git a/packages/@office-iss/react-native-win32/src-win/index.win32.js b/packages/@office-iss/react-native-win32/src-win/index.win32.js index 43bb4780c57..383529471a2 100644 --- a/packages/@office-iss/react-native-win32/src-win/index.win32.js +++ b/packages/@office-iss/react-native-win32/src-win/index.win32.js @@ -292,14 +292,7 @@ module.exports = { get I18nManager(): I18nManager { return require('./Libraries/ReactNative/I18nManager').default; }, -<<<<<<< Upstream - /** - * @deprecated - */ - get InteractionManager() { -======= get InteractionManager(): InteractionManager { ->>>>>>> Override return require('./Libraries/Interaction/InteractionManager').default; }, get Keyboard(): Keyboard { diff --git a/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp b/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp index 5ad1f72c0fc..464844e2d6b 100644 --- a/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +++ b/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp @@ -84,23 +84,6 @@ const ComponentDescriptor& ComponentDescriptorRegistry::at( } if (it == _registryByName.end()) { -<<<<<<< Upstream - if (ReactNativeFeatureFlags::useFabricInterop()) { - auto componentDescriptor = std::make_shared< - const UnstableLegacyViewManagerAutomaticComponentDescriptor>( - parameters_, unifiedComponentName); - registerComponentDescriptor(componentDescriptor); - return *_registryByName.find(unifiedComponentName)->second; - } else { - if (_fallbackComponentDescriptor == nullptr) { - throw std::invalid_argument( - ("Unable to find componentDescriptor for " + unifiedComponentName) - .c_str()); - } else { - return *_fallbackComponentDescriptor.get(); - } - } -======= // [Windows ##14204 if (_fallbackComponentDescriptor == nullptr) { throw std::invalid_argument( @@ -110,7 +93,6 @@ const ComponentDescriptor& ComponentDescriptorRegistry::at( return *_fallbackComponentDescriptor.get(); } // Windows] ->>>>>>> Override } return *it->second; diff --git a/vnext/src-win/Libraries/Components/View/ViewAccessibility.windows.js b/vnext/src-win/Libraries/Components/View/ViewAccessibility.windows.js index 89f15651cb0..60ddebc1998 100644 --- a/vnext/src-win/Libraries/Components/View/ViewAccessibility.windows.js +++ b/vnext/src-win/Libraries/Components/View/ViewAccessibility.windows.js @@ -93,11 +93,8 @@ export type AccessibilityRole = | 'drawerlayout' | 'slidingdrawer' | 'iconmenu' -<<<<<<< Upstream + | 'listitem' // RNW-only | string; -======= - | 'listitem'; // RNW-only ->>>>>>> Override // Role types for web export type Role = diff --git a/vnext/src-win/Libraries/Components/View/ViewPropTypes.windows.js b/vnext/src-win/Libraries/Components/View/ViewPropTypes.windows.js index c25b0d54892..ec338cb5581 100644 --- a/vnext/src-win/Libraries/Components/View/ViewPropTypes.windows.js +++ b/vnext/src-win/Libraries/Components/View/ViewPropTypes.windows.js @@ -20,11 +20,8 @@ import type { LayoutRectangle, MouseEvent, PointerEvent, -<<<<<<< Upstream -======= GestureResponderEvent, KeyEvent, // [Windows] ->>>>>>> Override } from '../../Types/CoreEventTypes'; import type { AccessibilityActionEvent, diff --git a/vnext/src-win/Libraries/NewAppScreen/components/DebugInstructions.windows.js b/vnext/src-win/Libraries/NewAppScreen/components/DebugInstructions.windows.js index 4dc14611eaf..985f0d4c9fb 100644 --- a/vnext/src-win/Libraries/NewAppScreen/components/DebugInstructions.windows.js +++ b/vnext/src-win/Libraries/NewAppScreen/components/DebugInstructions.windows.js @@ -18,30 +18,11 @@ const styles = StyleSheet.create({ }, }); -<<<<<<< Upstream -const DebugInstructions: () => React.Node = Platform.select({ - ios: () => ( - - Press Cmd + D in the simulator or{' '} - Shake your device to open the Dev - Menu. - - ), - default: () => ( - - Press Cmd or Ctrl + M or{' '} - Shake your device to open the Dev - Menu. - - ), -}); -======= const DebugInstructions = (): Node => ( Press Ctrl+Shift+D to open the Dev Menu. ); ->>>>>>> Override 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 index 4dcdc404367..c7a42783bcb 100644 --- a/vnext/src-win/Libraries/NewAppScreen/components/ReloadInstructions.windows.js +++ b/vnext/src-win/Libraries/NewAppScreen/components/ReloadInstructions.windows.js @@ -18,22 +18,6 @@ const styles = StyleSheet.create({ }, }); -<<<<<<< Upstream -const ReloadInstructions: () => React.Node = Platform.select({ - ios: () => ( - - Press Cmd + R in the simulator to - reload your app's code. - - ), - default: () => ( - - Double tap R on your keyboard to - reload your app's code. - - ), -}); -======= const ReloadInstructions = (): Node => ( Press Ctrl+Shift+D and select{' '} @@ -41,6 +25,5 @@ const ReloadInstructions = (): Node => ( code. ); ->>>>>>> Override export default ReloadInstructions; diff --git a/vnext/src-win/index.windows.js b/vnext/src-win/index.windows.js index 1d06eba4b29..15bc5fac189 100644 --- a/vnext/src-win/index.windows.js +++ b/vnext/src-win/index.windows.js @@ -286,14 +286,7 @@ module.exports = { get I18nManager(): I18nManager { return require('./Libraries/ReactNative/I18nManager').default; }, -<<<<<<< Upstream - /** - * @deprecated - */ - get InteractionManager() { -======= get InteractionManager(): InteractionManager { ->>>>>>> Override return require('./Libraries/Interaction/InteractionManager').default; }, get Keyboard(): Keyboard { From 885aa5b51f1b4493a4bed16fce846270adb44d70 Mon Sep 17 00:00:00 2001 From: vineethkuttan Date: Tue, 17 Jun 2025 17:33:27 +0530 Subject: [PATCH 03/14] Fixes for playground --- vnext/Shared/Shared.vcxitems | 3 ++- vnext/Shared/Shared.vcxitems.filters | 2 +- .../src-win/Libraries/Components/View/ViewPropTypes.windows.js | 1 - 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/vnext/Shared/Shared.vcxitems b/vnext/Shared/Shared.vcxitems index eac731ab7c8..5ea2305dddc 100644 --- a/vnext/Shared/Shared.vcxitems +++ b/vnext/Shared/Shared.vcxitems @@ -533,7 +533,7 @@ - + @@ -613,6 +613,7 @@ + diff --git a/vnext/Shared/Shared.vcxitems.filters b/vnext/Shared/Shared.vcxitems.filters index a36a5684a90..8a8fb167d88 100644 --- a/vnext/Shared/Shared.vcxitems.filters +++ b/vnext/Shared/Shared.vcxitems.filters @@ -319,7 +319,7 @@ - + diff --git a/vnext/src-win/Libraries/Components/View/ViewPropTypes.windows.js b/vnext/src-win/Libraries/Components/View/ViewPropTypes.windows.js index ec338cb5581..b5fc28d6c25 100644 --- a/vnext/src-win/Libraries/Components/View/ViewPropTypes.windows.js +++ b/vnext/src-win/Libraries/Components/View/ViewPropTypes.windows.js @@ -15,7 +15,6 @@ import type {ViewStyleProp} from '../../StyleSheet/StyleSheet'; import type { BlurEvent, FocusEvent, - GestureResponderEvent, LayoutChangeEvent, LayoutRectangle, MouseEvent, From a43653e776c9597336877a43c35e86b076a19a9b Mon Sep 17 00:00:00 2001 From: vineethkuttan Date: Tue, 17 Jun 2025 17:48:10 +0530 Subject: [PATCH 04/14] Change Files --- ...-native-win32-2cbabe5b-4d93-4426-aef0-94be3e764e4a.json | 7 +++++++ ...ation-channel-421526eb-38cf-449a-a5fc-f3e86842e8ea.json | 7 +++++++ ...e-windows-cli-6d2011ce-023c-45dd-9318-c4bafdb54465.json | 7 +++++++ ...-integrate-rn-cf775550-a706-40d4-89b1-a9f134c22353.json | 7 +++++++ ...ative-windows-565cd3d6-1f5f-42d4-b29d-87ca211d7bf3.json | 7 +++++++ 5 files changed, 35 insertions(+) create mode 100644 change/@office-iss-react-native-win32-2cbabe5b-4d93-4426-aef0-94be3e764e4a.json create mode 100644 change/@react-native-windows-automation-channel-421526eb-38cf-449a-a5fc-f3e86842e8ea.json create mode 100644 change/@react-native-windows-cli-6d2011ce-023c-45dd-9318-c4bafdb54465.json create mode 100644 change/@rnw-scripts-integrate-rn-cf775550-a706-40d4-89b1-a9f134c22353.json create mode 100644 change/react-native-windows-565cd3d6-1f5f-42d4-b29d-87ca211d7bf3.json diff --git a/change/@office-iss-react-native-win32-2cbabe5b-4d93-4426-aef0-94be3e764e4a.json b/change/@office-iss-react-native-win32-2cbabe5b-4d93-4426-aef0-94be3e764e4a.json new file mode 100644 index 00000000000..b1df71e8cf7 --- /dev/null +++ b/change/@office-iss-react-native-win32-2cbabe5b-4d93-4426-aef0-94be3e764e4a.json @@ -0,0 +1,7 @@ +{ + "type": "prerelease", + "comment": "Integrate RN Nightly Build 0.80.0-nightly-20250331-398ac1f71", + "packageName": "@office-iss/react-native-win32", + "email": "kvineeth@microsoft.com", + "dependentChangeType": "patch" +} \ No newline at end of file diff --git a/change/@react-native-windows-automation-channel-421526eb-38cf-449a-a5fc-f3e86842e8ea.json b/change/@react-native-windows-automation-channel-421526eb-38cf-449a-a5fc-f3e86842e8ea.json new file mode 100644 index 00000000000..1417814fbdd --- /dev/null +++ b/change/@react-native-windows-automation-channel-421526eb-38cf-449a-a5fc-f3e86842e8ea.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "Integrate RN Nightly Build 0.80.0-nightly-20250331-398ac1f71", + "packageName": "@react-native-windows/automation-channel", + "email": "kvineeth@microsoft.com", + "dependentChangeType": "patch" +} \ No newline at end of file diff --git a/change/@react-native-windows-cli-6d2011ce-023c-45dd-9318-c4bafdb54465.json b/change/@react-native-windows-cli-6d2011ce-023c-45dd-9318-c4bafdb54465.json new file mode 100644 index 00000000000..ead6df3628e --- /dev/null +++ b/change/@react-native-windows-cli-6d2011ce-023c-45dd-9318-c4bafdb54465.json @@ -0,0 +1,7 @@ +{ + "type": "prerelease", + "comment": "Integrate RN Nightly Build 0.80.0-nightly-20250331-398ac1f71", + "packageName": "@react-native-windows/cli", + "email": "kvineeth@microsoft.com", + "dependentChangeType": "patch" +} \ No newline at end of file diff --git a/change/@rnw-scripts-integrate-rn-cf775550-a706-40d4-89b1-a9f134c22353.json b/change/@rnw-scripts-integrate-rn-cf775550-a706-40d4-89b1-a9f134c22353.json new file mode 100644 index 00000000000..11e88ac8c88 --- /dev/null +++ b/change/@rnw-scripts-integrate-rn-cf775550-a706-40d4-89b1-a9f134c22353.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "Integrate RN Nightly Build 0.80.0-nightly-20250331-398ac1f71", + "packageName": "@rnw-scripts/integrate-rn", + "email": "kvineeth@microsoft.com", + "dependentChangeType": "patch" +} \ No newline at end of file diff --git a/change/react-native-windows-565cd3d6-1f5f-42d4-b29d-87ca211d7bf3.json b/change/react-native-windows-565cd3d6-1f5f-42d4-b29d-87ca211d7bf3.json new file mode 100644 index 00000000000..a22e9aaf22a --- /dev/null +++ b/change/react-native-windows-565cd3d6-1f5f-42d4-b29d-87ca211d7bf3.json @@ -0,0 +1,7 @@ +{ + "type": "prerelease", + "comment": "Integrate RN Nightly Build 0.80.0-nightly-20250331-398ac1f71", + "packageName": "react-native-windows", + "email": "kvineeth@microsoft.com", + "dependentChangeType": "patch" +} \ No newline at end of file From fde5a409dce29e03f91ff208f14b30e1a68df382 Mon Sep 17 00:00:00 2001 From: vineethkuttan Date: Wed, 18 Jun 2025 13:00:38 +0530 Subject: [PATCH 05/14] Override DynamicEventPayload.cpp --- .../renderer/core/DynamicEventPayload.cpp | 40 +++++++++++++++++++ vnext/overrides.json | 7 ++++ 2 files changed, 47 insertions(+) create mode 100644 vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/DynamicEventPayload.cpp diff --git a/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/DynamicEventPayload.cpp b/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/DynamicEventPayload.cpp new file mode 100644 index 00000000000..12249a37303 --- /dev/null +++ b/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/DynamicEventPayload.cpp @@ -0,0 +1,40 @@ +/* + * 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. + */ + +#include "DynamicEventPayload.h" + +#include + +namespace facebook::react { + +DynamicEventPayload::DynamicEventPayload(folly::dynamic &&payload) : payload_(std::move(payload)) {} + +jsi::Value DynamicEventPayload::asJSIValue(jsi::Runtime &runtime) const { + return jsi::valueFromDynamic(runtime, payload_); +} + +EventPayloadType DynamicEventPayload::getType() const { + return EventPayloadType::ValueFactory; +} + +std::optional DynamicEventPayload::extractValue(const std::vector &path) const { + auto dynamic = payload_; + for (auto &key : path) { + auto type = dynamic.type(); + if ((type == folly::dynamic::Type::OBJECT || type == folly::dynamic::Type::ARRAY) && !dynamic.empty()) { + dynamic = folly::dynamic(dynamic[key]); + } + } + if (dynamic.type() == folly::dynamic::Type::DOUBLE) { + return dynamic.asDouble(); + } else if (dynamic.type() == folly::dynamic::Type::INT64) { + return static_cast(dynamic.asInt()); + } + return std::nullopt; +} + +} // namespace facebook::react diff --git a/vnext/overrides.json b/vnext/overrides.json index a42fdd36906..8fdbf7c20c9 100644 --- a/vnext/overrides.json +++ b/vnext/overrides.json @@ -171,6 +171,13 @@ "baseHash": "a9687af594ded016b7f79f9fb7cd2d0ba649e56e", "issue": 14673 }, + { + "type": "patch", + "file": "ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/DynamicEventPayload.cpp", + "baseFile": "packages/react-native/ReactCommon/react/renderer/core/DynamicEventPayload.cpp", + "baseHash": "e81ef42366798ee48a137ba6de65b4885487f964", + "issue": 14797 + }, { "type": "patch", "file": "ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/mounting/internal/sliceChildShadowNodeViewPairs.cpp", From 06c9b1fcdff295e4dad08497685854135de3fe6a Mon Sep 17 00:00:00 2001 From: vineethkuttan Date: Wed, 18 Jun 2025 13:05:30 +0530 Subject: [PATCH 06/14] lint fixes --- .../src-win/Libraries/Components/View/ViewPropTypes.win32.js | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/@office-iss/react-native-win32/src-win/Libraries/Components/View/ViewPropTypes.win32.js b/packages/@office-iss/react-native-win32/src-win/Libraries/Components/View/ViewPropTypes.win32.js index 106b45f2f47..cbc15a619f4 100644 --- a/packages/@office-iss/react-native-win32/src-win/Libraries/Components/View/ViewPropTypes.win32.js +++ b/packages/@office-iss/react-native-win32/src-win/Libraries/Components/View/ViewPropTypes.win32.js @@ -20,7 +20,6 @@ import type { LayoutRectangle, MouseEvent, PointerEvent, - GestureResponderEvent, KeyEvent, // [Windows] } from '../../Types/CoreEventTypes'; import type { From 80ab9fd0747abe0b65741c4b58980a1834093359 Mon Sep 17 00:00:00 2001 From: vineethkuttan Date: Wed, 18 Jun 2025 13:34:18 +0530 Subject: [PATCH 07/14] Lint fixes --- .../NewAppScreen/components/DebugInstructions.windows.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/vnext/src-win/Libraries/NewAppScreen/components/DebugInstructions.windows.js b/vnext/src-win/Libraries/NewAppScreen/components/DebugInstructions.windows.js index 985f0d4c9fb..bac4cec6f94 100644 --- a/vnext/src-win/Libraries/NewAppScreen/components/DebugInstructions.windows.js +++ b/vnext/src-win/Libraries/NewAppScreen/components/DebugInstructions.windows.js @@ -8,6 +8,8 @@ * @format */ +import type {Node} from 'react'; + import StyleSheet from '../../StyleSheet/StyleSheet'; import Text from '../../Text/Text'; import React from 'react'; From df39f93a7d3652b80945e97308addb8a5eba2efe Mon Sep 17 00:00:00 2001 From: vineethkuttan Date: Wed, 18 Jun 2025 13:52:56 +0530 Subject: [PATCH 08/14] Override fix --- vnext/overrides.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/vnext/overrides.json b/vnext/overrides.json index 8fdbf7c20c9..12b98236490 100644 --- a/vnext/overrides.json +++ b/vnext/overrides.json @@ -150,6 +150,13 @@ "baseFile": "packages/react-native/ReactCommon/react/renderer/components/view/accessibilityPropsConversions.h", "baseHash": "4b2822199233e660f36c01df18fbbff7799968cc" }, + { + "type": "derived", + "file": "ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/DynamicEventPayload.cpp", + "baseFile": "packages/react-native/ReactCommon/react/renderer/core/DynamicEventPayload.cpp", + "baseHash": "4fa9c00291790a3b7eca1d38aeb5c28bc081143c", + "issue": 14797 + }, { "type": "patch", "file": "ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/css/CSSHexColor.h", @@ -171,13 +178,6 @@ "baseHash": "a9687af594ded016b7f79f9fb7cd2d0ba649e56e", "issue": 14673 }, - { - "type": "patch", - "file": "ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/DynamicEventPayload.cpp", - "baseFile": "packages/react-native/ReactCommon/react/renderer/core/DynamicEventPayload.cpp", - "baseHash": "e81ef42366798ee48a137ba6de65b4885487f964", - "issue": 14797 - }, { "type": "patch", "file": "ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/mounting/internal/sliceChildShadowNodeViewPairs.cpp", From c62aceeb302fbed81a7c43913c0c5a0806b3ec1a Mon Sep 17 00:00:00 2001 From: vineethkuttan Date: Wed, 18 Jun 2025 15:39:18 +0530 Subject: [PATCH 09/14] Updating snapshot --- .../__snapshots__/snapshotPages.test.js.snap | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) 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 956fba84c1b..305681c7e5a 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 @@ -85364,6 +85364,19 @@ exports[`snapshotAllPages URL 1`] = ` > search: ?query=testQuery&key=value + + searchParams: query=testQuery&key=value + `; @@ -85492,6 +85505,19 @@ exports[`snapshotAllPages URL 2`] = ` > search: + + searchParams: + `; @@ -85620,6 +85646,19 @@ exports[`snapshotAllPages URL 3`] = ` > search: ?query=testQuery&key=value + + searchParams: query=testQuery&key=value + `; @@ -85748,6 +85787,19 @@ exports[`snapshotAllPages URL 4`] = ` > search: + + searchParams: + `; From fe120b4b3f73fddf60e5c4f80745d843e6768b60 Mon Sep 17 00:00:00 2001 From: vineethkuttan Date: Wed, 18 Jun 2025 15:52:57 +0530 Subject: [PATCH 10/14] Lint fix --- .../NewAppScreen/components/ReloadInstructions.windows.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/vnext/src-win/Libraries/NewAppScreen/components/ReloadInstructions.windows.js b/vnext/src-win/Libraries/NewAppScreen/components/ReloadInstructions.windows.js index c7a42783bcb..395967aa25e 100644 --- a/vnext/src-win/Libraries/NewAppScreen/components/ReloadInstructions.windows.js +++ b/vnext/src-win/Libraries/NewAppScreen/components/ReloadInstructions.windows.js @@ -8,6 +8,8 @@ * @format */ +import type {Node} from 'react'; + import StyleSheet from '../../StyleSheet/StyleSheet'; import Text from '../../Text/Text'; import React from 'react'; From 027e54a62e339a65f8b694ab747b28d07e171817 Mon Sep 17 00:00:00 2001 From: vineethkuttan Date: Wed, 18 Jun 2025 18:17:15 +0530 Subject: [PATCH 11/14] Override tester files --- .../tester/js/components/RNTPressableRow.js | 2 +- .../js/examples/ActionSheetIOS/ActionSheetIOSExample.js | 4 ++-- .../js/examples/Animated/TransformStylesExample.js | 1 + .../js/examples/Animated/utils/ToggleNativeDriver.js | 7 ++----- .../FlatList/FlatList-BaseOnViewableItemsChanged.js | 2 +- .../SectionList-BaseOnViewableItemsChanged.js | 2 +- .../js/examples/SectionList/SectionList-scrollable.js | 4 +++- .../js/examples/SectionList/SectionListBaseExample.js | 9 ++++----- .../tester/js/examples/Switch/SwitchExample.js | 2 ++ 9 files changed, 17 insertions(+), 16 deletions(-) diff --git a/packages/@react-native/tester/js/components/RNTPressableRow.js b/packages/@react-native/tester/js/components/RNTPressableRow.js index 7892eabf81c..9d6f2863757 100644 --- a/packages/@react-native/tester/js/components/RNTPressableRow.js +++ b/packages/@react-native/tester/js/components/RNTPressableRow.js @@ -13,7 +13,7 @@ import {RNTesterThemeContext} from './RNTesterTheme'; import * as React from 'react'; import {Pressable, StyleSheet, Text, View} from 'react-native'; -type ViewStyleProp = $ElementType, 'style'>; +type ViewStyleProp = React.ElementConfig['style']; type Props = { accessibilityLabel?: ?string, testID?: ?string, diff --git a/packages/@react-native/tester/js/examples/ActionSheetIOS/ActionSheetIOSExample.js b/packages/@react-native/tester/js/examples/ActionSheetIOS/ActionSheetIOSExample.js index 7bca51309d5..29e19c9aacc 100644 --- a/packages/@react-native/tester/js/examples/ActionSheetIOS/ActionSheetIOSExample.js +++ b/packages/@react-native/tester/js/examples/ActionSheetIOS/ActionSheetIOSExample.js @@ -241,7 +241,7 @@ class ActionSheetAnchorExample extends React.Component< cancelButtonIndex: CANCEL_INDEX, destructiveButtonIndex: DESTRUCTIVE_INDEX, anchor: this.anchorRef.current - ? findNodeHandle(this.anchorRef.current) + ? findNodeHandle<$FlowFixMe>(this.anchorRef.current) : undefined, }, buttonIndex => { @@ -471,7 +471,7 @@ class ShareScreenshotAnchorExample extends React.Component< url: uri, excludedActivityTypes: ['com.apple.UIKit.activity.PostToTwitter'], anchor: this.anchorRef.current - ? findNodeHandle(this.anchorRef.current) + ? findNodeHandle<$FlowFixMe>(this.anchorRef.current) : undefined, }, error => Alert.alert('Error', error?.message), diff --git a/packages/@react-native/tester/js/examples/Animated/TransformStylesExample.js b/packages/@react-native/tester/js/examples/Animated/TransformStylesExample.js index 964fde91855..33bafe4c391 100644 --- a/packages/@react-native/tester/js/examples/Animated/TransformStylesExample.js +++ b/packages/@react-native/tester/js/examples/Animated/TransformStylesExample.js @@ -70,6 +70,7 @@ function AnimatedView({ Apply Selected Transforms diff --git a/packages/@react-native/tester/js/examples/Animated/utils/ToggleNativeDriver.js b/packages/@react-native/tester/js/examples/Animated/utils/ToggleNativeDriver.js index e3d482cb45b..29e7068ad06 100644 --- a/packages/@react-native/tester/js/examples/Animated/utils/ToggleNativeDriver.js +++ b/packages/@react-native/tester/js/examples/Animated/utils/ToggleNativeDriver.js @@ -12,14 +12,11 @@ import {RNTesterThemeContext} from '../../../components/RNTesterTheme'; import * as React from 'react'; import {StyleSheet, Switch, Text, View} from 'react-native'; -type ViewStyleProp = $ElementType, 'style'>; +type ViewStyleProp = React.ElementConfig['style']; type Props = { value: boolean, - onValueChange: $ElementType< - React.ElementConfig, - 'onValueChange', - >, + onValueChange: React.ElementConfig['onValueChange'], style?: ?ViewStyleProp, }; diff --git a/packages/@react-native/tester/js/examples/FlatList/FlatList-BaseOnViewableItemsChanged.js b/packages/@react-native/tester/js/examples/FlatList/FlatList-BaseOnViewableItemsChanged.js index 5e50bfa5ffb..af5110eea2d 100644 --- a/packages/@react-native/tester/js/examples/FlatList/FlatList-BaseOnViewableItemsChanged.js +++ b/packages/@react-native/tester/js/examples/FlatList/FlatList-BaseOnViewableItemsChanged.js @@ -17,7 +17,7 @@ import * as React from 'react'; import {FlatList, StyleSheet, View} from 'react-native'; type FlatListProps = React.ElementProps; -type ViewabilityConfig = $PropertyType; +type ViewabilityConfig = FlatListProps['viewabilityConfig']; const BASE_VIEWABILITY_CONFIG = { minimumViewTime: 1000, diff --git a/packages/@react-native/tester/js/examples/SectionList/SectionList-BaseOnViewableItemsChanged.js b/packages/@react-native/tester/js/examples/SectionList/SectionList-BaseOnViewableItemsChanged.js index 82675e04b68..748cf11529c 100644 --- a/packages/@react-native/tester/js/examples/SectionList/SectionList-BaseOnViewableItemsChanged.js +++ b/packages/@react-native/tester/js/examples/SectionList/SectionList-BaseOnViewableItemsChanged.js @@ -15,7 +15,7 @@ import * as React from 'react'; import {SectionList, StyleSheet, View} from 'react-native'; type SectionListProps = React.ElementProps; -type ViewabilityConfig = $PropertyType; +type ViewabilityConfig = SectionListProps['viewabilityConfig']; const BASE_VIEWABILITY_CONFIG = { minimumViewTime: 1000, 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 87492a5e109..41568986ecc 100644 --- a/packages/@react-native/tester/js/examples/SectionList/SectionList-scrollable.js +++ b/packages/@react-native/tester/js/examples/SectionList/SectionList-scrollable.js @@ -143,8 +143,9 @@ const renderItemComponent = const onScrollToIndexFailed = (info: { index: number, - c: number, + highestMeasuredFrameIndex: number, averageItemLength: number, + ... }) => { console.warn('onScrollToIndexFailed. See comment in callback', info); /** @@ -317,6 +318,7 @@ export function SectionList_scrollable(Props: {...}): React.MixedElement { ) } onEndReachedThreshold={0} + // $FlowFixMe[incompatible-type] - incompatible redenerItem type sections={filteredSectionData} style={styles.list} viewabilityConfig={VIEWABILITY_CONFIG} diff --git a/packages/@react-native/tester/js/examples/SectionList/SectionListBaseExample.js b/packages/@react-native/tester/js/examples/SectionList/SectionListBaseExample.js index 148ad8cbb1e..de078de0061 100644 --- a/packages/@react-native/tester/js/examples/SectionList/SectionListBaseExample.js +++ b/packages/@react-native/tester/js/examples/SectionList/SectionListBaseExample.js @@ -8,8 +8,6 @@ * @format */ -import type {SectionBase} from 'react-native/Libraries/Lists/SectionList'; - import * as React from 'react'; import { Button, @@ -67,7 +65,8 @@ const Item = ({item, section, separators}) => { }; type Props = $ReadOnly<{ - exampleProps: Partial>, + // $FlowIgnore[unclear-type] + exampleProps: Partial>>, onTest?: ?() => void, testLabel?: ?string, testOutput?: ?string, @@ -75,7 +74,8 @@ type Props = $ReadOnly<{ }>; const SectionListBaseExample: component( - ref: React.RefSetter>>, + // $FlowIgnore[unclear-type] + ref: React.RefSetter>, ...props: Props ) = React.forwardRef((props: Props, ref): React.Node => { return ( @@ -99,7 +99,6 @@ const SectionListBaseExample: component( ref={ref} testID="section_list" accessibilityRole="list" - // $FlowFixMe[incompatible-type] sections={DATA} keyExtractor={(item, index) => item + index} style={styles.list} diff --git a/packages/@react-native/tester/js/examples/Switch/SwitchExample.js b/packages/@react-native/tester/js/examples/Switch/SwitchExample.js index 4f3676bacd8..0b2ad2fd546 100644 --- a/packages/@react-native/tester/js/examples/Switch/SwitchExample.js +++ b/packages/@react-native/tester/js/examples/Switch/SwitchExample.js @@ -321,6 +321,8 @@ exports.examples = [ ]; if (Platform.OS === 'ios') { + /* $FlowFixMe[incompatible-call] error found during natural inference roll- + * out. See https://fburl.com/workplace/tc9m3tcf */ exports.examples.push({ title: '[iOS Only] Custom background colors can be set', render(): React.MixedElement { From 386871df3e1fbe483462890cc4eece488e4030e1 Mon Sep 17 00:00:00 2001 From: vineethkuttan Date: Wed, 18 Jun 2025 23:05:07 +0530 Subject: [PATCH 12/14] Review Changes --- .../react/renderer/core/DynamicEventPayload.cpp | 2 ++ .../NewAppScreen/components/DebugInstructions.windows.js | 4 +--- .../NewAppScreen/components/ReloadInstructions.windows.js | 4 +--- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/DynamicEventPayload.cpp b/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/DynamicEventPayload.cpp index 12249a37303..15bd60a3cf8 100644 --- a/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/DynamicEventPayload.cpp +++ b/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/DynamicEventPayload.cpp @@ -32,7 +32,9 @@ std::optional DynamicEventPayload::extractValue(const std::vector(dynamic.asInt()); + // Windows] } return std::nullopt; } diff --git a/vnext/src-win/Libraries/NewAppScreen/components/DebugInstructions.windows.js b/vnext/src-win/Libraries/NewAppScreen/components/DebugInstructions.windows.js index bac4cec6f94..163e1dac320 100644 --- a/vnext/src-win/Libraries/NewAppScreen/components/DebugInstructions.windows.js +++ b/vnext/src-win/Libraries/NewAppScreen/components/DebugInstructions.windows.js @@ -8,8 +8,6 @@ * @format */ -import type {Node} from 'react'; - import StyleSheet from '../../StyleSheet/StyleSheet'; import Text from '../../Text/Text'; import React from 'react'; @@ -20,7 +18,7 @@ const styles = StyleSheet.create({ }, }); -const DebugInstructions = (): Node => ( +const DebugInstructions = (): React.Node => ( Press Ctrl+Shift+D to open the Dev Menu. diff --git a/vnext/src-win/Libraries/NewAppScreen/components/ReloadInstructions.windows.js b/vnext/src-win/Libraries/NewAppScreen/components/ReloadInstructions.windows.js index 395967aa25e..05fe344278c 100644 --- a/vnext/src-win/Libraries/NewAppScreen/components/ReloadInstructions.windows.js +++ b/vnext/src-win/Libraries/NewAppScreen/components/ReloadInstructions.windows.js @@ -8,8 +8,6 @@ * @format */ -import type {Node} from 'react'; - import StyleSheet from '../../StyleSheet/StyleSheet'; import Text from '../../Text/Text'; import React from 'react'; @@ -20,7 +18,7 @@ const styles = StyleSheet.create({ }, }); -const ReloadInstructions = (): Node => ( +const ReloadInstructions = (): React.Node => ( Press Ctrl+Shift+D and select{' '} Reload javascript to reload your app's From ac271832b2e41041c52100ea763dd59c9def0513 Mon Sep 17 00:00:00 2001 From: vineethkuttan Date: Thu, 19 Jun 2025 22:30:51 +0530 Subject: [PATCH 13/14] Added Deprecated comment --- packages/@office-iss/react-native-win32/src-win/index.win32.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/@office-iss/react-native-win32/src-win/index.win32.js b/packages/@office-iss/react-native-win32/src-win/index.win32.js index 383529471a2..1f4b93b094b 100644 --- a/packages/@office-iss/react-native-win32/src-win/index.win32.js +++ b/packages/@office-iss/react-native-win32/src-win/index.win32.js @@ -292,6 +292,9 @@ module.exports = { get I18nManager(): I18nManager { return require('./Libraries/ReactNative/I18nManager').default; }, + /** + * @deprecated + */ get InteractionManager(): InteractionManager { return require('./Libraries/Interaction/InteractionManager').default; }, From ebd642941a2d1795aa72c16f4df4ea12607e8560 Mon Sep 17 00:00:00 2001 From: vineethkuttan Date: Thu, 19 Jun 2025 23:24:36 +0530 Subject: [PATCH 14/14] Removed DeviceInfo.Win32 --- .../react-native-win32/.flowconfig | 1 - .../react-native-win32/overrides.json | 6 ------ .../Libraries/Utilities/DeviceInfo.win32.js | 19 ------------------- 3 files changed, 26 deletions(-) delete mode 100644 packages/@office-iss/react-native-win32/src-win/Libraries/Utilities/DeviceInfo.win32.js diff --git a/packages/@office-iss/react-native-win32/.flowconfig b/packages/@office-iss/react-native-win32/.flowconfig index 0dc2c9ed1af..c40fc9555b7 100644 --- a/packages/@office-iss/react-native-win32/.flowconfig +++ b/packages/@office-iss/react-native-win32/.flowconfig @@ -31,7 +31,6 @@ /Libraries/StyleSheet/PlatformColorValueTypes.js /Libraries/Text/TextProps.js /Libraries/Types/CoreEventTypes.js -/Libraries/Utilities/DeviceInfo.js /Libraries/Utilities/Dimensions.js /Libraries/Utilities/Platform.flow.js /Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js diff --git a/packages/@office-iss/react-native-win32/overrides.json b/packages/@office-iss/react-native-win32/overrides.json index a213f2d90a6..faf03fbefcd 100644 --- a/packages/@office-iss/react-native-win32/overrides.json +++ b/packages/@office-iss/react-native-win32/overrides.json @@ -435,12 +435,6 @@ "baseHash": "dfaab027e0fe3a2d7b6dccd92c1de2a558a5d36c", "issue": 4629 }, - { - "type": "derived", - "file": "src-win/Libraries/Utilities/DeviceInfo.win32.js", - "baseFile": "packages/react-native/Libraries/Utilities/DeviceInfo.js", - "baseHash": "ec1ee16a3a8a173434728d036fee565d542732ef" - }, { "type": "derived", "file": "src-win/Libraries/Utilities/Dimensions.win32.js", diff --git a/packages/@office-iss/react-native-win32/src-win/Libraries/Utilities/DeviceInfo.win32.js b/packages/@office-iss/react-native-win32/src-win/Libraries/Utilities/DeviceInfo.win32.js deleted file mode 100644 index 08bda7d826e..00000000000 --- a/packages/@office-iss/react-native-win32/src-win/Libraries/Utilities/DeviceInfo.win32.js +++ /dev/null @@ -1,19 +0,0 @@ -/** - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Device info doesn't can't be a global set of data for win32 - * (probably not for android either). - * - * Since the API as designed by facebook can't work, we stub out all we can - * @format - * @flow - */ - -import type {Spec} from './NativeDeviceInfo'; - -const DeviceInfo: Spec = { - getConstants: () => ({Dimensions: {}}), -}; - -export default DeviceInfo;