diff --git a/.ado/templates/prep-and-pack-nuget.yml b/.ado/templates/prep-and-pack-nuget.yml index ddf38181084..a87dc045921 100644 --- a/.ado/templates/prep-and-pack-nuget.yml +++ b/.ado/templates/prep-and-pack-nuget.yml @@ -73,6 +73,9 @@ steps: artifact: ${{ parameters.artifactName2 }}.${{ slice.platform }}.${{ slice.configuration }} path: ${{parameters.nugetroot}}/${{ parameters.artifactName2 }}/${{ slice.platform }}/${{ slice.configuration }} + - pwsh: yarn build + displayName: Run yarn build + - task: PowerShell@2 displayName: Copy MSRN Resources to NuGet layout inputs: diff --git a/change/@office-iss-react-native-win32-0e5cf904-4169-459b-943b-0a60018a7c9f.json b/change/@office-iss-react-native-win32-0e5cf904-4169-459b-943b-0a60018a7c9f.json new file mode 100644 index 00000000000..58bff8fdd34 --- /dev/null +++ b/change/@office-iss-react-native-win32-0e5cf904-4169-459b-943b-0a60018a7c9f.json @@ -0,0 +1,7 @@ +{ + "type": "prerelease", + "comment": "Integrate 0.82.0-nightly-20250806-5936f29d6", + "packageName": "@office-iss/react-native-win32", + "email": "66076509+vineethkuttan@users.noreply.github.com", + "dependentChangeType": "patch" +} diff --git a/change/@react-native-windows-automation-channel-fcf4ccad-8d40-4cfc-b1b1-c333ffd2b1e0.json b/change/@react-native-windows-automation-channel-fcf4ccad-8d40-4cfc-b1b1-c333ffd2b1e0.json new file mode 100644 index 00000000000..d24f5eba7f5 --- /dev/null +++ b/change/@react-native-windows-automation-channel-fcf4ccad-8d40-4cfc-b1b1-c333ffd2b1e0.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "Integrate 0.82.0-nightly-20250806-5936f29d6", + "packageName": "@react-native-windows/automation-channel", + "email": "66076509+vineethkuttan@users.noreply.github.com", + "dependentChangeType": "patch" +} diff --git a/change/@rnw-scripts-integrate-rn-d63121ba-1711-4662-b5af-6723827e0ce4.json b/change/@rnw-scripts-integrate-rn-d63121ba-1711-4662-b5af-6723827e0ce4.json new file mode 100644 index 00000000000..dd1a5400fad --- /dev/null +++ b/change/@rnw-scripts-integrate-rn-d63121ba-1711-4662-b5af-6723827e0ce4.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "Integrate 0.82.0-nightly-20250806-5936f29d6", + "packageName": "@rnw-scripts/integrate-rn", + "email": "66076509+vineethkuttan@users.noreply.github.com", + "dependentChangeType": "patch" +} diff --git a/change/react-native-windows-ad2d213d-310c-4629-ac26-40b4f3758a32.json b/change/react-native-windows-ad2d213d-310c-4629-ac26-40b4f3758a32.json new file mode 100644 index 00000000000..e27b1f2b59e --- /dev/null +++ b/change/react-native-windows-ad2d213d-310c-4629-ac26-40b4f3758a32.json @@ -0,0 +1,7 @@ +{ + "type": "prerelease", + "comment": "Integrate 0.82.0-nightly-20250806-5936f29d6", + "packageName": "react-native-windows", + "email": "66076509+vineethkuttan@users.noreply.github.com", + "dependentChangeType": "patch" +} diff --git a/packages/@office-iss/react-native-win32-tester/overrides.json b/packages/@office-iss/react-native-win32-tester/overrides.json index a644b8f2f4d..c989749ef5c 100644 --- a/packages/@office-iss/react-native-win32-tester/overrides.json +++ b/packages/@office-iss/react-native-win32-tester/overrides.json @@ -5,13 +5,13 @@ "excludePatterns": [ "src/js/examples-win32/**" ], - "baseVersion": "0.81.0-nightly-20250709-6892dde36", + "baseVersion": "0.82.0-nightly-20250806-5936f29d6", "overrides": [ { "type": "patch", "file": "src/js/components/ListExampleShared.win32.js", "baseFile": "packages/rn-tester/js/components/ListExampleShared.js", - "baseHash": "885ca16a7587f79d6404679ee1b1309d3844afe9" + "baseHash": "5eddedbaff0a785757713beb25750aac98e40fcb" }, { "type": "patch", @@ -42,7 +42,7 @@ "type": "derived", "file": "src/js/utils/RNTesterList.win32.js", "baseFile": "packages/rn-tester/js/utils/RNTesterList.android.js", - "baseHash": "c89e65c8063b338c86ec9db173b05b96c589f69e" + "baseHash": "8cd219abae140e98f9578432954fc9ef62421308" } ] } \ No newline at end of file diff --git a/packages/@office-iss/react-native-win32-tester/package.json b/packages/@office-iss/react-native-win32-tester/package.json index cac3cab5aae..f79151bec2c 100644 --- a/packages/@office-iss/react-native-win32-tester/package.json +++ b/packages/@office-iss/react-native-win32-tester/package.json @@ -11,7 +11,7 @@ "validate-overrides": "react-native-platform-override validate" }, "dependencies": { - "@react-native/tester": "0.80.0-main", + "@react-native/tester": "0.82.0-main", "@typescript-eslint/eslint-plugin": "^7.1.1", "@typescript-eslint/parser": "^7.1.1", "flow-enums-runtime": "^0.0.6" @@ -19,7 +19,7 @@ "peerDependencies": { "@office-iss/react-native-win32": "^0.0.0-canary.298", "react": "19.1.0", - "react-native": "0.81.0-nightly-20250709-6892dde36" + "react-native": "0.82.0-nightly-20250806-5936f29d6" }, "devDependencies": { "@office-iss/react-native-win32": "^0.0.0-canary.298", @@ -30,7 +30,7 @@ "@types/node": "^22.14.0", "eslint": "^8.19.0", "just-scripts": "^1.3.3", - "react-native": "0.81.0-nightly-20250709-6892dde36", + "react-native": "0.82.0-nightly-20250806-5936f29d6", "react-native-platform-override": "^1.9.59", "typescript": "5.0.4" }, diff --git a/packages/@office-iss/react-native-win32-tester/src/js/components/ListExampleShared.win32.js b/packages/@office-iss/react-native-win32-tester/src/js/components/ListExampleShared.win32.js index bc4c81c3e0f..efc5ef91680 100644 --- a/packages/@office-iss/react-native-win32-tester/src/js/components/ListExampleShared.win32.js +++ b/packages/@office-iss/react-native-win32-tester/src/js/components/ListExampleShared.win32.js @@ -171,7 +171,7 @@ const LoadingComponent: React.ComponentType<{}> = memo(() => ( )); -class ItemSeparatorComponent extends React.PureComponent<$FlowFixMeProps> { +class ItemSeparatorComponent extends React.PureComponent<$FlowFixMe> { render(): React.Node { const style = this.props.highlighted ? [ @@ -183,7 +183,7 @@ class ItemSeparatorComponent extends React.PureComponent<$FlowFixMeProps> { } } -class Spindicator extends React.PureComponent<$FlowFixMeProps> { +class Spindicator extends React.PureComponent<$FlowFixMe> { render(): React.Node { return ( = [ /*{ @@ -154,12 +153,6 @@ const Components: Array = [ category: 'Basic', module: require('../examples/Performance/PerformanceComparisonExample'), }, - /* - { - key: 'OSSLibraryExample', - module: require('../examples/OSSLibraryExample/OSSLibraryExample'), - }, - */ ...RNTesterListFbInternal.Components, ]; @@ -374,14 +367,6 @@ const APIs: Array = ([ ...RNTesterListFbInternal.APIs, ]: Array).filter(Boolean); -if (ReactNativeFeatureFlags.shouldEmitW3CPointerEvents()) { - APIs.push({ - key: 'W3C PointerEvents', - category: 'Experimental', - module: require('../examples/Experimental/W3CPointerEventsExample').default, - }); -} - const Playgrounds: Array = [ { key: 'PlaygroundExample', diff --git a/packages/@office-iss/react-native-win32/.flowconfig b/packages/@office-iss/react-native-win32/.flowconfig index 29f567c3166..2deccd131ee 100644 --- a/packages/@office-iss/react-native-win32/.flowconfig +++ b/packages/@office-iss/react-native-win32/.flowconfig @@ -149,11 +149,7 @@ module.system.haste.module_ref_prefix=m# react.runtime=automatic -suppress_type=$FlowIssue suppress_type=$FlowFixMe -suppress_type=$FlowFixMeProps -suppress_type=$FlowFixMeState -suppress_type=$FlowFixMeEmpty ban_spread_key_props=true @@ -180,4 +176,4 @@ untyped-import untyped-type-import [version] -^0.274.2 +^0.278.0 diff --git a/packages/@office-iss/react-native-win32/overrides.json b/packages/@office-iss/react-native-win32/overrides.json index 2cbc30d4ff9..0e1a5cb69b8 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.81.0-nightly-20250709-6892dde36", + "baseVersion": "0.82.0-nightly-20250806-5936f29d6", "overrides": [ { "type": "derived", "file": ".flowconfig", "baseFile": ".flowconfig", - "baseHash": "a5a50b87e779ba343919454cb5f7c1e77c2db982" + "baseHash": "373bd1b0dfbd85e02605d9526e7b08b41a67435f" }, { "type": "derived", "file": "src-win/index.win32.js", "baseFile": "packages/react-native/index.js", - "baseHash": "c5d0dfd40d0fb7c197790b1f23f4f8b9ca835047" + "baseHash": "e4e8dc864521ce28adf8cfa2fb29059484206a05" }, { "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": "5a43c9cf537c5cb89e7f634e45be708f4b021493" + "baseHash": "692b825d9db6a6da9c3ae9595e4dfb5c202b879d" }, { "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": "5909b509ee835f2b6eb0dbd3e223180efe602f98", + "baseHash": "08a6e1c0dd895af70ea1c8448a3be028d9cd2587", "issue": 6240 }, { @@ -114,7 +114,7 @@ "type": "derived", "file": "src-win/Libraries/Components/TextInput/TextInput.win32.js", "baseFile": "packages/react-native/Libraries/Components/TextInput/TextInput.js", - "baseHash": "b6289ef53abc941f6f0aed50f80d3852b6682215" + "baseHash": "d6f92b47afedf2e31f4066e50c2900477c4d6c31" }, { "type": "patch", @@ -153,7 +153,7 @@ "type": "derived", "file": "src-win/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js", "baseFile": "packages/react-native/Libraries/Components/Touchable/TouchableNativeFeedback.js", - "baseHash": "5608d67cf2684b855fb32403fea01b8c22c66f3b" + "baseHash": "2ded2efb727d7544aa8a0b249dd3f2502bb57129" }, { "type": "platform", @@ -177,7 +177,7 @@ "type": "patch", "file": "src-win/Libraries/Components/View/View.win32.js", "baseFile": "packages/react-native/Libraries/Components/View/View.js", - "baseHash": "83a4fc8e982845619abb121bb860ad63366260c7" + "baseHash": "60eab5df574b43200494005fc3f00d11576d515b" }, { "type": "derived", @@ -365,7 +365,7 @@ "type": "patch", "file": "src-win/Libraries/Pressability/Pressability.win32.js", "baseFile": "packages/react-native/Libraries/Pressability/Pressability.js", - "baseHash": "54f2a508c9378c1d9240ff27a460a8815e2b8ebd", + "baseHash": "a4205b3bea276e65da3ce0aeb6753bc8e7c5ead0", "issue": 6240 }, { @@ -491,13 +491,13 @@ "type": "copy", "file": "src-win/Libraries/Utilities/useMergeRefs.js", "baseFile": "packages/react-native/Libraries/Utilities/useMergeRefs.js", - "baseHash": "4ba42e1b43ef55a1a9e3095336979fa712f4dc8d" + "baseHash": "4ab145e150c82f4f82547122896e02f45103d1a1" }, { "type": "patch", "file": "src-win/src/private/animated/NativeAnimatedHelper.win32.js", "baseFile": "packages/react-native/src/private/animated/NativeAnimatedHelper.js", - "baseHash": "8ed20ecc1b2a1967539fee0d53a47f25432746f4", + "baseHash": "ecb4418a11a56257962be8ca273d3dbfb7d9862c", "issue": 11041 }, { diff --git a/packages/@office-iss/react-native-win32/package.json b/packages/@office-iss/react-native-win32/package.json index 2f5a44fea52..d54851f2974 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.81.0-nightly-20250709-6892dde36", - "@react-native/codegen": "0.81.0-nightly-20250709-6892dde36", - "@react-native/community-cli-plugin": "0.81.0-nightly-20250709-6892dde36", - "@react-native/gradle-plugin": "0.81.0-nightly-20250709-6892dde36", - "@react-native/js-polyfills": "0.81.0-nightly-20250709-6892dde36", - "@react-native/normalize-colors": "0.81.0-nightly-20250709-6892dde36", - "@react-native/virtualized-lists": "0.81.0-nightly-20250709-6892dde36", + "@react-native/assets-registry": "0.82.0-nightly-20250806-5936f29d6", + "@react-native/codegen": "0.82.0-nightly-20250806-5936f29d6", + "@react-native/community-cli-plugin": "0.82.0-nightly-20250806-5936f29d6", + "@react-native/gradle-plugin": "0.82.0-nightly-20250806-5936f29d6", + "@react-native/js-polyfills": "0.82.0-nightly-20250806-5936f29d6", + "@react-native/normalize-colors": "0.82.0-nightly-20250806-5936f29d6", + "@react-native/virtualized-lists": "0.82.0-nightly-20250806-5936f29d6", "abort-controller": "^3.0.0", "anser": "^1.4.9", "ansi-regex": "^5.0.0", @@ -72,7 +72,7 @@ "devDependencies": { "@babel/core": "^7.25.2", "@babel/eslint-parser": "^7.25.1", - "@react-native/metro-config": "0.81.0-nightly-20250709-6892dde36", + "@react-native/metro-config": "0.82.0-nightly-20250806-5936f29d6", "@rnw-scripts/babel-react-native-config": "0.0.0", "@rnw-scripts/eslint-config": "1.2.37", "@rnw-scripts/jest-out-of-tree-snapshot-resolver": "^1.1.41", @@ -83,19 +83,19 @@ "@types/prop-types": "15.7.1", "@types/react": "^19.0.0", "eslint": "^8.19.0", - "flow-bin": "^0.272.0", + "flow-bin": "^0.278.0", "jscodeshift": "^0.14.0", "just-scripts": "^1.3.3", "prettier": "2.8.8", "react": "19.1.0", - "react-native": "0.81.0-nightly-20250709-6892dde36", + "react-native": "0.82.0-nightly-20250806-5936f29d6", "react-native-platform-override": "^1.9.59", "typescript": "5.0.4" }, "peerDependencies": { "@types/react": "^19.1.0", "react": "^19.1.0", - "react-native": "0.81.0-nightly-20250709-6892dde36" + "react-native": "0.82.0-nightly-20250806-5936f29d6" }, "beachball": { "defaultNpmTag": "canary", 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 dbf81afa5b4..e33ec4d36af 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 @@ -420,7 +420,7 @@ const AccessibilityInfo = { */ addEventListener>( eventName: K, - // $FlowIssue[incompatible-type] - Flow bug with unions and generics (T128099423) + // $FlowFixMe[incompatible-type] - Flow bug with unions and generics (T128099423) handler: (...AccessibilityEventDefinitions[K]) => void, ): EventSubscription { const deviceEventName = EventNames.get(eventName); 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 bee84749615..ad481e38d9f 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 @@ -122,6 +122,12 @@ type PressableBaseProps = $ReadOnly<{ */ onPressOut?: ?(event: GestureResponderEvent) => mixed, + /** + * Whether to prevent any other native components from becoming responder + * while this pressable is responder. + */ + blockNativeResponder?: ?boolean, + /** * Called after the element loses focus. */ @@ -231,6 +237,7 @@ function Pressable({ 'aria-multiselectable': ariaMultiselectable, // Win32 'aria-required': ariaRequired, // Win32 'aria-selected': ariaSelected, + blockNativeResponder, cancelable, children, delayHoverIn, @@ -348,6 +355,7 @@ function Pressable({ onPressOut(event); } }, + blockNativeResponder, // [Windows onKeyDown, onKeyUp, @@ -356,6 +364,7 @@ function Pressable({ [ android_disableSound, android_rippleConfig, + blockNativeResponder, cancelable, delayHoverIn, delayHoverOut, 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 972f6b7b6b4..40b908c786f 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 @@ -1051,7 +1051,8 @@ const TextInput: component( } autoComplete={ Platform.OS === 'android' - ? // $FlowFixMe + ? // $FlowFixMe[invalid-computed-prop] + // $FlowFixMe[prop-missing] autoCompleteWebToAutoCompleteAndroidMap[autoComplete] ?? autoComplete : undefined 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 395cd18d6fb..12768b498b1 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 @@ -17,8 +17,8 @@ import type { MouseEvent, } from '../Types/CoreEventTypes'; +import * as ReactNativeFeatureFlags from '../../src/private/featureflags/ReactNativeFeatureFlags'; import SoundManager from '../Components/Sound/SoundManager'; -import ReactNativeFeatureFlags from '../ReactNative/ReactNativeFeatureFlags'; import UIManager from '../ReactNative/UIManager'; import {type RectOrSize, normalizeRect} from '../StyleSheet/Rect'; import {type PointerEvent} from '../Types/CoreEventTypes'; diff --git a/packages/@office-iss/react-native-win32/src-win/Libraries/Utilities/useMergeRefs.js b/packages/@office-iss/react-native-win32/src-win/Libraries/Utilities/useMergeRefs.js index 3c7439a6036..5e6f2957878 100644 --- a/packages/@office-iss/react-native-win32/src-win/Libraries/Utilities/useMergeRefs.js +++ b/packages/@office-iss/react-native-win32/src-win/Libraries/Utilities/useMergeRefs.js @@ -31,7 +31,7 @@ export default function useMergeRefs( return undefined; } else { if (typeof ref === 'function') { - // $FlowIssue[incompatible-type] - Flow does not understand ref cleanup. + // $FlowFixMe[incompatible-type] - Flow does not understand ref cleanup. const cleanup: void | (() => void) = ref(current); return typeof cleanup === 'function' ? cleanup 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 c2fa64e43ee..b6bc8817a56 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 @@ -106,6 +106,7 @@ import typeof useWindowDimensions from './Libraries/Utilities/useWindowDimension import typeof Vibration from './Libraries/Vibration/Vibration'; import typeof DevMenu from './src/private/devsupport/devmenu/DevMenu'; import typeof registerCallableModule from './Libraries/Core/registerCallableModule'; +import typeof ReactNativeVersion from './Libraries/Core/ReactNativeVersion'; // Windows]] const warnOnce = require('./Libraries/Utilities/warnOnce').default; @@ -173,14 +174,14 @@ module.exports = { /** * @deprecated SafeAreaView has been deprecated and will be removed in a future release. * Please use 'react-native-safe-area-context' instead. - * See https://github.com/th3rdwave/react-native-safe-area-context + * See https://github.com/AppAndFlow/react-native-safe-area-context */ get SafeAreaView(): SafeAreaView { warnOnce( 'safe-area-view-deprecated', 'SafeAreaView has been deprecated and will be removed in a future release. ' + "Please use 'react-native-safe-area-context' instead. " + - 'See https://github.com/th3rdwave/react-native-safe-area-context', + 'See https://github.com/AppAndFlow/react-native-safe-area-context', ); return require('./Libraries/Components/SafeAreaView/SafeAreaView').default; }, @@ -377,6 +378,9 @@ module.exports = { ) => HostComponent { return require('./Libraries/ReactNative/requireNativeComponent').default; }, + get ReactNativeVersion(): ReactNativeVersion { + return require('./Libraries/Core/ReactNativeVersion').default; + }, get RootTagContext(): RootTagContext { return require('./Libraries/ReactNative/RootTag').RootTagContext; }, 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 ba3a213b948..0b03dd4ab38 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 @@ -58,7 +58,6 @@ let globalEventEmitterGetValueListener: ?EventSubscription = null; let globalEventEmitterAnimationFinishedListener: ?EventSubscription = null; const shouldSignalBatch: boolean = - ReactNativeFeatureFlags.animatedShouldSignalBatch() || ReactNativeFeatureFlags.cxxNativeAnimatedEnabled(); function createNativeOperations(): $NonMaybeType { @@ -141,6 +140,8 @@ const NativeOperations = createNativeOperations(); const API = { getValue: (isSingleOpBatching ? (tag, saveValueCallback) => { + /* $FlowFixMe[constant-condition] Error discovered during Constant + * Condition roll out. See https://fburl.com/workplace/1v97vimq. */ if (saveValueCallback) { eventListenerGetValueCallbacks[tag] = saveValueCallback; } @@ -268,6 +269,8 @@ const API = { startAnimatingNode: (isSingleOpBatching ? (animationId, nodeTag, config, endCallback) => { + /* $FlowFixMe[constant-condition] Error discovered during Constant + * Condition roll out. See https://fburl.com/workplace/1v97vimq. */ if (endCallback) { eventListenerAnimationFinishedCallbacks[animationId] = endCallback; } @@ -353,6 +356,8 @@ function ensureGlobalEventEmitterListeners() { params => { const {tag} = params; const callback = eventListenerGetValueCallbacks[tag]; + /* $FlowFixMe[constant-condition] Error discovered during Constant + * Condition roll out. See https://fburl.com/workplace/1v97vimq. */ if (!callback) { return; } @@ -369,6 +374,8 @@ function ensureGlobalEventEmitterListeners() { for (const animation of animations) { const {animationId} = animation; const callback = eventListenerAnimationFinishedCallbacks[animationId]; + /* $FlowFixMe[constant-condition] Error discovered during Constant + * Condition roll out. See https://fburl.com/workplace/1v97vimq. */ if (callback) { callback(animation); delete eventListenerAnimationFinishedCallbacks[animationId]; diff --git a/packages/@react-native-windows/automation-channel/package.json b/packages/@react-native-windows/automation-channel/package.json index a3070aff45f..87da23be7ef 100644 --- a/packages/@react-native-windows/automation-channel/package.json +++ b/packages/@react-native-windows/automation-channel/package.json @@ -32,7 +32,7 @@ "just-scripts": "^1.3.2", "prettier": "2.8.8", "react": "19.1.0", - "react-native": "0.81.0-nightly-20250709-6892dde36", + "react-native": "0.82.0-nightly-20250806-5936f29d6", "react-native-windows": "^0.0.0-canary.999", "typescript": "5.0.4" }, diff --git a/packages/@react-native-windows/tester/overrides.json b/packages/@react-native-windows/tester/overrides.json index 2deee1792ac..75603657784 100644 --- a/packages/@react-native-windows/tester/overrides.json +++ b/packages/@react-native-windows/tester/overrides.json @@ -5,13 +5,13 @@ "excludePatterns": [ "src/js/examples-win/**" ], - "baseVersion": "0.81.0-nightly-20250709-6892dde36", + "baseVersion": "0.82.0-nightly-20250806-5936f29d6", "overrides": [ { "type": "copy", "file": "js/examples/ContentURLAndroid/ContentURLAndroid.js", "baseFile": "packages/rn-tester/js/examples/ContentURLAndroid/ContentURLAndroid.js", - "baseHash": "5219751d36d3f2581e075d835424aa2f20c9809f", + "baseHash": "f85a06b7cdb2820871b524a0946f23738aa4eabe", "issue": 14844 }, { @@ -24,13 +24,13 @@ "type": "derived", "file": "src/js/examples-win/Button/ButtonExample.windows.js", "baseFile": "packages/rn-tester/js/examples/Button/ButtonExample.js", - "baseHash": "c44c83e48760fddc1129751debbf3a3ba1ec3fac" + "baseHash": "e50ed3ad268f9a4d34cbb720650c53fad379e0fe" }, { "type": "derived", "file": "src/js/examples-win/Switch/SwitchExample.windows.js", "baseFile": "packages/rn-tester/js/examples/Switch/SwitchExample.js", - "baseHash": "a5314bc9384402a96a8bb5190e5513a785925f90" + "baseHash": "cf59144fe876a5dc4acf703849a95e64fd9416f1" }, { "type": "patch", @@ -104,20 +104,20 @@ "type": "patch", "file": "src/js/examples/Pressable/PressableExample.windows.js", "baseFile": "packages/rn-tester/js/examples/Pressable/PressableExample.js", - "baseHash": "c6dd35fb59d439ee655844b2baa16f1711b70619", + "baseHash": "004cbe16f75b572bd4f4d8f19eab81bc31f710e1", "issue": 6240 }, { "type": "derived", "file": "src/js/examples/Text/TextExample.windows.js", "baseFile": "packages/rn-tester/js/examples/Text/TextExample.android.js", - "baseHash": "55b0983ac2f69f38284e5014d77533eb0e2e9ff6" + "baseHash": "87ac08c76abcb9f2f8d3df8990ed6e02d5d4efd9" }, { "type": "patch", "file": "src/js/examples/Text/TextSharedExamples.windows.js", "baseFile": "packages/rn-tester/js/examples/Text/TextSharedExamples.js", - "baseHash": "af0e1fb5bf6deebad7fc0de41242a27652bafdac", + "baseHash": "2f043ce1ae7f2f82c0a913247da51777dd53979b", "issue": 15125 }, { @@ -131,7 +131,7 @@ "type": "derived", "file": "src/js/examples/Touchable/TouchableExample.windows.js", "baseFile": "packages/rn-tester/js/examples/Touchable/TouchableExample.js", - "baseHash": "453404f69c1754b4a434bc128c745fbca0492433" + "baseHash": "03b4d8b4c97e998cf488bfc889dcdc047378c306" }, { "type": "patch", @@ -156,7 +156,7 @@ "type": "derived", "file": "src/js/utils/RNTesterList.windows.js", "baseFile": "packages/rn-tester/js/utils/RNTesterList.android.js", - "baseHash": "c89e65c8063b338c86ec9db173b05b96c589f69e" + "baseHash": "8cd219abae140e98f9578432954fc9ef62421308" } ] } \ No newline at end of file diff --git a/packages/@react-native-windows/tester/package.json b/packages/@react-native-windows/tester/package.json index c8030706eeb..7452d6b942d 100644 --- a/packages/@react-native-windows/tester/package.json +++ b/packages/@react-native-windows/tester/package.json @@ -19,13 +19,13 @@ "peerDependencies": { "@react-native-picker/picker": "2.11.0", "react": "19.1.0", - "react-native": "0.81.0-nightly-20250709-6892dde36", + "react-native": "0.82.0-nightly-20250806-5936f29d6", "react-native-windows": "^0.0.0-canary.999", "react-native-xaml": "^0.0.80" }, "devDependencies": { - "@react-native/tester": "0.80.0-main", - "@react-native/new-app-screen": "0.81.0-nightly-20250709-6892dde36", + "@react-native/tester": "0.82.0-main", + "@react-native/new-app-screen": "0.82.0-nightly-20250806-5936f29d6", "@rnw-scripts/babel-react-native-config": "0.0.0", "@rnw-scripts/eslint-config": "1.2.37", "@rnw-scripts/just-task": "2.3.56", @@ -33,7 +33,7 @@ "@types/node": "^22.14.0", "eslint": "^8.19.0", "just-scripts": "^1.3.3", - "react-native": "0.81.0-nightly-20250709-6892dde36", + "react-native": "0.82.0-nightly-20250806-5936f29d6", "react-native-platform-override": "^1.9.59", "react-native-windows": "^0.0.0-canary.999", "typescript": "5.0.4" diff --git a/packages/@react-native-windows/tester/src/js/examples-win/Button/ButtonExample.windows.js b/packages/@react-native-windows/tester/src/js/examples-win/Button/ButtonExample.windows.js index 069de0e10db..7df0f59288c 100644 --- a/packages/@react-native-windows/tester/src/js/examples-win/Button/ButtonExample.windows.js +++ b/packages/@react-native-windows/tester/src/js/examples-win/Button/ButtonExample.windows.js @@ -10,6 +10,8 @@ 'use strict'; +import type {RNTesterModuleExample} from '../../types/RNTesterTypes'; + const {RNTesterThemeContext} = require('../../components/RNTesterTheme'); const React = require('react'); const {Alert, Button, StyleSheet, View} = require('react-native'); @@ -274,7 +276,7 @@ exports.examples = [ ); }, }, -]; +] as Array; const styles = StyleSheet.create({ container: { 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 9a8009c75c0..0e8c8812a82 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 @@ -10,6 +10,8 @@ 'use strict'; +import type {RNTesterModuleExample} from '../../types/RNTesterTypes'; + import RNTesterText from '../../components/RNTesterText'; import React from 'react'; import {Platform, Switch, View} from 'react-native'; @@ -123,7 +125,7 @@ class DisabledSwitchExample extends React.Component< } } -class ColorSwitchExample extends React.Component<{...}, $FlowFixMeState> { +class ColorSwitchExample extends React.Component<{...}, $FlowFixMe> { state: any | {colorFalseSwitchIsOn: boolean, colorTrueSwitchIsOn: boolean} = { colorTrueSwitchIsOn: true, colorFalseSwitchIsOn: false, @@ -158,7 +160,7 @@ class ColorSwitchExample extends React.Component<{...}, $FlowFixMeState> { } } -class EventSwitchExample extends React.Component<{...}, $FlowFixMeState> { +class EventSwitchExample extends React.Component<{...}, $FlowFixMe> { state: any | {eventSwitchIsOn: boolean, eventSwitchRegressionIsOn: boolean} = { eventSwitchIsOn: false, @@ -211,7 +213,7 @@ class EventSwitchExample extends React.Component<{...}, $FlowFixMeState> { } } -class IOSBackgroundColEx extends React.Component<{...}, $FlowFixMeState> { +class IOSBackgroundColEx extends React.Component<{...}, $FlowFixMe> { state: any | {iosBackgroundColor: string} = { iosBackgroundColor: '#ffa500', }; @@ -233,7 +235,7 @@ class IOSBackgroundColEx extends React.Component<{...}, $FlowFixMeState> { } } -class OnChangeExample extends React.Component<{...}, $FlowFixMeState> { +class OnChangeExample extends React.Component<{...}, $FlowFixMe> { render(): React.Node { return ( @@ -250,7 +252,7 @@ class OnChangeExample extends React.Component<{...}, $FlowFixMeState> { class ContainerBackgroundColorStyleExample extends React.Component< {...}, - $FlowFixMeState, + $FlowFixMe, > { render(): React.Node { return ( @@ -394,11 +396,9 @@ exports.examples = [ return ; }, }, -]; +] as Array; 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-windows/tester/src/js/examples/Pressable/PressableExample.windows.js b/packages/@react-native-windows/tester/src/js/examples/Pressable/PressableExample.windows.js index 2ac094c01fe..5c68dd1481c 100644 --- a/packages/@react-native-windows/tester/src/js/examples/Pressable/PressableExample.windows.js +++ b/packages/@react-native-windows/tester/src/js/examples/Pressable/PressableExample.windows.js @@ -10,6 +10,7 @@ import type {RNTesterModule} from '../../types/RNTesterTypes'; +import * as PressableExampleFbInternal from './PressableExampleFbInternal'; import * as React from 'react'; import { Alert, @@ -23,7 +24,6 @@ import { View, Switch, } from 'react-native'; -import ReactNativeFeatureFlags from 'react-native/Libraries/ReactNative/ReactNativeFeatureFlags'; const {useEffect, useRef, useState} = React; @@ -752,6 +752,7 @@ const examples = [ return ; }, }, + ...PressableExampleFbInternal.examples, { title: 'Focusability in Pressable', description: @@ -1109,15 +1110,6 @@ const examples = [ // Windows] ]; -if (ReactNativeFeatureFlags.shouldPressibilityUseW3CPointerEventsForHover()) { - examples.push({ - title: 'Change style based on Hover', - render(): React.Node { - return ; - }, - }); -} - module.exports = ({ title: 'Pressable', documentationURL: 'https://reactnative.dev/docs/pressable', diff --git a/packages/@react-native-windows/tester/src/js/examples/Text/TextExample.windows.js b/packages/@react-native-windows/tester/src/js/examples/Text/TextExample.windows.js index ccc71639e8b..ddb28ae8c18 100644 --- a/packages/@react-native-windows/tester/src/js/examples/Text/TextExample.windows.js +++ b/packages/@react-native-windows/tester/src/js/examples/Text/TextExample.windows.js @@ -39,7 +39,7 @@ class Entity extends React.Component<{children: React.Node}> { ); } } -class AttributeToggler extends React.Component<{...}, $FlowFixMeState> { +class AttributeToggler extends React.Component<{...}, $FlowFixMe> { state: {fontSize: number, fontWeight: 'bold' | 'normal'} = { fontWeight: 'bold', fontSize: 15, @@ -1921,6 +1921,20 @@ const examples = [ ); }, }, + { + title: 'Disabled', + name: 'disabled', + render: function (): React.Node { + return ( + + + This text has its corresponding text view in the disabled state for + testing purposes. + + + ); + }, + }, ...TextSharedExamples, { title: 'Customized Accessibility', diff --git a/packages/@react-native-windows/tester/src/js/examples/Text/TextSharedExamples.windows.js b/packages/@react-native-windows/tester/src/js/examples/Text/TextSharedExamples.windows.js index fbc10d31a07..f4e1224f370 100644 --- a/packages/@react-native-windows/tester/src/js/examples/Text/TextSharedExamples.windows.js +++ b/packages/@react-native-windows/tester/src/js/examples/Text/TextSharedExamples.windows.js @@ -110,12 +110,110 @@ function NumberOfLinesTextLayoutExample(): React.Node { ); } +function RtlInlineViewExample({ + label, + testID, + children, +}: { + label: string, + testID: string, + children: React.Node, +}): React.Node { + return ( + + + {label} + + {children} + + ); +} + +function RtlAndInlineViewsExample(): React.Node { + return ( + + + + مَٰنِ ٱلرَّحِيمِ + + + + + + + Hello + {' '} + World! + + + + + + + مَٰنِ ٱلرَّحِيمِ + + + + + + مَٰنِ ٱلرَّحِيمِ + + + + + + + مَٰنِ ٱلرَّحِيمِ + Hello + + + + + + + Hello + + مَٰنِ ٱلرَّحِيمِ + + + + + ); +} + const examples = [ { title: 'Empty Text', name: 'emptyText', render: EmptyTextExample, }, + { + title: 'TextInlineViewsExample', + name: 'inlineViews', + description: + 'Shows how inline views are rendered when text is subject to alignment.', + expect: 'The red box should align correctly with the rest of the text.', + render: TextInlineViewsExample, + }, + { + title: 'RTL and Inline Views', + name: 'rtlInlineViews', + description: 'RTL Script and Layout Direction, Combined with Inline Views', + scrollable: true, + render: RtlAndInlineViewsExample, + }, { title: 'numberOfLines with onTextLayout', name: 'numberOfLinesLayout', diff --git a/packages/@react-native-windows/tester/src/js/examples/Touchable/TouchableExample.windows.js b/packages/@react-native-windows/tester/src/js/examples/Touchable/TouchableExample.windows.js index 057e7b208cd..07a63f46f40 100644 --- a/packages/@react-native-windows/tester/src/js/examples/Touchable/TouchableExample.windows.js +++ b/packages/@react-native-windows/tester/src/js/examples/Touchable/TouchableExample.windows.js @@ -28,7 +28,7 @@ import { const forceTouchAvailable = (Platform.OS === 'ios' && Platform.constants.forceTouchAvailable) || false; -class TouchableHighlightBox extends React.Component<{...}, $FlowFixMeState> { +class TouchableHighlightBox extends React.Component<{...}, $FlowFixMe> { state: any | {timesPressed: number} = { timesPressed: 0, }; @@ -79,10 +79,7 @@ class TouchableHighlightBox extends React.Component<{...}, $FlowFixMeState> { } } -class TouchableWithoutFeedbackBox extends React.Component< - {...}, - $FlowFixMeState, -> { +class TouchableWithoutFeedbackBox extends React.Component<{...}, $FlowFixMe> { state: any | {timesPressed: number} = { timesPressed: 0, }; @@ -122,7 +119,7 @@ class TouchableWithoutFeedbackBox extends React.Component< } } -class TextOnPressBox extends React.Component<{...}, $FlowFixMeState> { +class TextOnPressBox extends React.Component<{...}, $FlowFixMe> { state: any | {timesPressed: number} = { timesPressed: 0, }; @@ -157,7 +154,7 @@ class TextOnPressBox extends React.Component<{...}, $FlowFixMeState> { } } -class TouchableFeedbackEvents extends React.Component<{...}, $FlowFixMeState> { +class TouchableFeedbackEvents extends React.Component<{...}, $FlowFixMe> { state: any | {eventLog: Array} = { eventLog: [], }; @@ -199,7 +196,7 @@ class TouchableFeedbackEvents extends React.Component<{...}, $FlowFixMeState> { }; } -class TouchableDelayEvents extends React.Component<{...}, $FlowFixMeState> { +class TouchableDelayEvents extends React.Component<{...}, $FlowFixMe> { state: any | {eventLog: Array} = { eventLog: [], }; @@ -240,7 +237,7 @@ class TouchableDelayEvents extends React.Component<{...}, $FlowFixMeState> { }; } -class ForceTouchExample extends React.Component<{...}, $FlowFixMeState> { +class ForceTouchExample extends React.Component<{...}, $FlowFixMe> { state: any | {force: number} = { force: 0, }; @@ -274,7 +271,7 @@ class ForceTouchExample extends React.Component<{...}, $FlowFixMeState> { } } -class TouchableHitSlop extends React.Component<{...}, $FlowFixMeState> { +class TouchableHitSlop extends React.Component<{...}, $FlowFixMe> { state: any | {timesPressed: number} = { timesPressed: 0, }; diff --git a/packages/@react-native-windows/tester/src/js/utils/RNTesterList.windows.js b/packages/@react-native-windows/tester/src/js/utils/RNTesterList.windows.js index 4fb02a1a99b..eeb4def892a 100644 --- a/packages/@react-native-windows/tester/src/js/utils/RNTesterList.windows.js +++ b/packages/@react-native-windows/tester/src/js/utils/RNTesterList.windows.js @@ -13,7 +13,6 @@ import type {RNTesterModule, RNTesterModuleInfo} from '../types/RNTesterTypes'; import * as RNTesterListFbInternal from './RNTesterListFbInternal'; -import ReactNativeFeatureFlags from 'react-native/Libraries/ReactNative/ReactNativeFeatureFlags'; const Components: Array = [ /*{ @@ -214,12 +213,6 @@ const Components: Array = [ category: 'Basic', module: require('../examples/Performance/PerformanceComparisonExample'), }, - /* - { - key: 'OSSLibraryExample', - module: require('../examples/OSSLibraryExample/OSSLibraryExample'), - }, - */ ...RNTesterListFbInternal.Components, ]; @@ -467,14 +460,6 @@ const APIs: Array = ([ ...RNTesterListFbInternal.APIs, ]: Array).filter(Boolean); -if (ReactNativeFeatureFlags.shouldEmitW3CPointerEvents()) { - APIs.push({ - key: 'W3C PointerEvents', - category: 'Experimental', - module: require('../examples/Experimental/W3CPointerEventsExample').default, - }); -} - const Playgrounds: Array = [ { key: 'PlaygroundExample', diff --git a/packages/@react-native/monorepo/overrides.json b/packages/@react-native/monorepo/overrides.json index cae52fcbf07..bbaf3c65c97 100644 --- a/packages/@react-native/monorepo/overrides.json +++ b/packages/@react-native/monorepo/overrides.json @@ -1,11 +1,11 @@ { - "baseVersion": "0.81.0-nightly-20250709-6892dde36", + "baseVersion": "0.82.0-nightly-20250806-5936f29d6", "overrides": [ { "type": "patch", "file": "package.json", "baseFile": "package.json", - "baseHash": "47d95d17d32c83bc795c3f50fa1ce7a393271b75" + "baseHash": "f5ca24e4c03e6f03864b98f1a65ed8f0ab433102" } ] } \ No newline at end of file diff --git a/packages/@react-native/monorepo/package.json b/packages/@react-native/monorepo/package.json index d20c7e8cabc..6f2d5034b77 100644 --- a/packages/@react-native/monorepo/package.json +++ b/packages/@react-native/monorepo/package.json @@ -23,8 +23,8 @@ "set-version": "node ./scripts/releases/set-version", "test-android": "./gradlew :packages:react-native:ReactAndroid:test", "test-ci": "jest --maxWorkers=2 --ci --reporters=\"default\" --reporters=\"jest-junit\"", - "test-e2e-local-clean": "node ./scripts/release-testing/test-e2e-local-clean.js", - "test-e2e-local": "node ./scripts/release-testing/test-e2e-local.js", + "test-release-local-clean": "node ./scripts/release-testing/test-release-local-clean.js", + "test-release-local": "node ./scripts/release-testing/test-release-local.js", "test-ios": "./scripts/objc-test.sh test", "test-typescript": "tsc -p packages/react-native/types/tsconfig.json", "test-generated-typescript": "tsc -p packages/react-native/types_generated/tsconfig.test.json", @@ -47,14 +47,15 @@ "@babel/preset-env": "^7.25.3", "@babel/preset-flow": "^7.24.7", "@jest/create-cache-key-function": "^29.7.0", - "@react-native/metro-babel-transformer": "0.81.0-nightly-20250709-6892dde36", - "@react-native/metro-config": "0.81.0-nightly-20250709-6892dde36", - "@tsconfig/node18": "1.0.1", - "@types/react": "^19.0.0", - "@typescript-eslint/parser": "^7.1.1", + "@microsoft/api-extractor": "^7.52.2", + "@react-native/metro-babel-transformer": "0.82.0-nightly-20250806-5936f29d6", + "@react-native/metro-config": "0.82.0-nightly-20250806-5936f29d6", + "@tsconfig/node22": "22.0.2", + "@types/react": "^19.1.0", + "@typescript-eslint/parser": "^8.36.0", "ansi-styles": "^4.2.1", "babel-plugin-minify-dead-code-elimination": "^0.5.2", - "babel-plugin-syntax-hermes-parser": "0.29.1", + "babel-plugin-syntax-hermes-parser": "0.30.0", "babel-plugin-transform-define": "^2.1.4", "babel-plugin-transform-flow-enums": "^0.0.2", "clang-format": "^1.8.0", @@ -72,11 +73,12 @@ "eslint-plugin-react-native": "^4.0.0", "eslint-plugin-redundant-undefined": "^0.4.0", "eslint-plugin-relay": "^1.8.3", - "flow-api-translator": "0.29.1", - "flow-bin": "^0.274.2", + "flow-api-translator": "0.30.0", + "flow-bin": "^0.278.0", "glob": "^7.1.1", - "hermes-eslint": "0.29.1", - "hermes-transform": "0.29.1", + "hermes-eslint": "0.30.0", + "hermes-transform": "0.30.0", + "ini": "^5.0.0", "inquirer": "^7.1.0", "jest": "^29.7.0", "jest-config": "^29.7.0", @@ -85,16 +87,18 @@ "jest-snapshot": "^29.7.0", "markdownlint-cli2": "^0.17.2", "markdownlint-rule-relative-links": "^3.0.0", - "metro-babel-register": "^0.82.4", + "memfs": "^4.7.7", + "metro-babel-register": "^0.83.1", + "metro-transform-plugins": "^0.83.1", "metro-memory-fs": "^0.82.4", - "metro-transform-plugins": "^0.82.4", + "metro-transform-plugins": "^0.83.1", "micromatch": "^4.0.4", "node-fetch": "^2.2.0", "nullthrows": "^1.1.1", - "prettier": "2.8.8", - "prettier-plugin-hermes-parser": "0.29.1", - "react": "19.1.0", - "react-test-renderer": "19.1.0", + "prettier": "3.6.2", + "prettier-plugin-hermes-parser": "0.31.1", + "react": "19.1.1", + "react-test-renderer": "19.1.1", "rimraf": "^3.0.2", "shelljs": "^0.8.5", "signedsource": "^1.0.0", @@ -106,6 +110,8 @@ }, "resolutions": { "eslint-plugin-react-hooks": "6.1.0-canary-12bc60f5-20250613", - "react-is": "19.1.0" + "react-is": "19.1.1", + "on-headers": "1.1.0", + "compression": "1.8.1" } } diff --git a/packages/@react-native/tester/js/components/ListExampleShared.js b/packages/@react-native/tester/js/components/ListExampleShared.js index 42bc8694e66..e1dad999b27 100644 --- a/packages/@react-native/tester/js/components/ListExampleShared.js +++ b/packages/@react-native/tester/js/components/ListExampleShared.js @@ -169,7 +169,7 @@ const LoadingComponent: React.ComponentType<{}> = memo(() => ( )); -class ItemSeparatorComponent extends React.PureComponent<$FlowFixMeProps> { +class ItemSeparatorComponent extends React.PureComponent<$FlowFixMe> { render(): React.Node { const style = this.props.highlighted ? [ @@ -181,7 +181,7 @@ class ItemSeparatorComponent extends React.PureComponent<$FlowFixMeProps> { } } -class Spindicator extends React.PureComponent<$FlowFixMeProps> { +class Spindicator extends React.PureComponent<$FlowFixMe> { render(): React.Node { return ( ; }, }, -]; +] as Array; diff --git a/packages/@react-native/tester/js/examples/Accessibility/AccessibilityExample.js b/packages/@react-native/tester/js/examples/Accessibility/AccessibilityExample.js index 32955d3d9ef..696de6e68d3 100644 --- a/packages/@react-native/tester/js/examples/Accessibility/AccessibilityExample.js +++ b/packages/@react-native/tester/js/examples/Accessibility/AccessibilityExample.js @@ -10,6 +10,7 @@ 'use strict'; +import type {RNTesterModuleExample} from '../../types/RNTesterTypes'; import type {EventSubscription, GestureResponderEvent} from 'react-native'; import RNTesterBlock from '../../components/RNTesterBlock'; @@ -2250,4 +2251,4 @@ exports.examples = [ return ; }, }, -]; +] as Array; diff --git a/packages/@react-native/tester/js/examples/Accessibility/AccessibilityIOSExample.js b/packages/@react-native/tester/js/examples/Accessibility/AccessibilityIOSExample.js index 9271ad55471..0c96afb4afb 100644 --- a/packages/@react-native/tester/js/examples/Accessibility/AccessibilityIOSExample.js +++ b/packages/@react-native/tester/js/examples/Accessibility/AccessibilityIOSExample.js @@ -10,6 +10,8 @@ 'use strict'; +import type {RNTesterModuleExample} from '../../types/RNTesterTypes'; + const {RNTesterThemeContext} = require('../../components/RNTesterTheme'); const React = require('react'); const {Alert, Text, View} = require('react-native'); @@ -83,4 +85,4 @@ exports.examples = [ return ; }, }, -]; +] as Array; diff --git a/packages/@react-native/tester/js/examples/ActionSheetIOS/ActionSheetIOSExample.js b/packages/@react-native/tester/js/examples/ActionSheetIOS/ActionSheetIOSExample.js index 8052c83066f..cef545069fd 100644 --- a/packages/@react-native/tester/js/examples/ActionSheetIOS/ActionSheetIOSExample.js +++ b/packages/@react-native/tester/js/examples/ActionSheetIOS/ActionSheetIOSExample.js @@ -10,6 +10,7 @@ 'use strict'; +import type {RNTesterModuleExample} from '../../types/RNTesterTypes'; import type {HostInstance} from 'react-native'; import {RNTesterThemeContext} from '../../components/RNTesterTheme'; @@ -71,10 +72,7 @@ class ActionSheetExample extends React.Component { }; } -class ActionSheetTintExample extends React.Component< - $FlowFixMeProps, - $FlowFixMeState, -> { +class ActionSheetTintExample extends React.Component<$FlowFixMe, $FlowFixMe> { state: any | {clicked: string} = { clicked: 'none', }; @@ -114,8 +112,8 @@ class ActionSheetTintExample extends React.Component< } class ActionSheetCancelButtonTintExample extends React.Component< - $FlowFixMeProps, - $FlowFixMeState, + $FlowFixMe, + $FlowFixMe, > { state: any | {clicked: string} = { clicked: 'none', @@ -157,8 +155,8 @@ class ActionSheetCancelButtonTintExample extends React.Component< } class ActionSheetDisabledButtonTintExample extends React.Component< - $FlowFixMeProps, - $FlowFixMeState, + $FlowFixMe, + $FlowFixMe, > { state: any | {clicked: string} = { clicked: 'none', @@ -200,10 +198,7 @@ class ActionSheetDisabledButtonTintExample extends React.Component< }; } -class ActionSheetAnchorExample extends React.Component< - $FlowFixMeProps, - $FlowFixMeState, -> { +class ActionSheetAnchorExample extends React.Component<$FlowFixMe, $FlowFixMe> { state: any | {clicked: string} = { clicked: 'none', }; @@ -325,10 +320,7 @@ class ActionSheetDismissExample extends React.Component<{...}> { }; } -class ShareActionSheetExample extends React.Component< - $FlowFixMeProps, - $FlowFixMeState, -> { +class ShareActionSheetExample extends React.Component<$FlowFixMe, $FlowFixMe> { state: any | {text: string} = { text: '', }; @@ -374,10 +366,7 @@ class ShareActionSheetExample extends React.Component< }; } -class ShareScreenshotExample extends React.Component< - $FlowFixMeProps, - $FlowFixMeState, -> { +class ShareScreenshotExample extends React.Component<$FlowFixMe, $FlowFixMe> { state: any | {text: string} = { text: '', }; @@ -428,8 +417,8 @@ class ShareScreenshotExample extends React.Component< } class ShareScreenshotAnchorExample extends React.Component< - $FlowFixMeProps, - $FlowFixMeState, + $FlowFixMe, + $FlowFixMe, > { state: any | {text: string} = { text: '', @@ -573,4 +562,4 @@ exports.examples = [ return ; }, }, -]; +] as Array; diff --git a/packages/@react-native/tester/js/examples/AnimatedGratuitousApp/AnExApp.js b/packages/@react-native/tester/js/examples/AnimatedGratuitousApp/AnExApp.js index 02def051b95..f5447314416 100644 --- a/packages/@react-native/tester/js/examples/AnimatedGratuitousApp/AnExApp.js +++ b/packages/@react-native/tester/js/examples/AnimatedGratuitousApp/AnExApp.js @@ -10,6 +10,8 @@ 'use strict'; +import type {RNTesterModuleExample} from '../../types/RNTesterTypes'; + import AnExSet from './AnExSet'; import React from 'react'; import { @@ -396,4 +398,4 @@ exports.examples = [ return ; }, }, -]; +] as Array; diff --git a/packages/@react-native/tester/js/examples/AnimatedGratuitousApp/AnExScroll.js b/packages/@react-native/tester/js/examples/AnimatedGratuitousApp/AnExScroll.js index 8cb35f4f8f7..439c66931d7 100644 --- a/packages/@react-native/tester/js/examples/AnimatedGratuitousApp/AnExScroll.js +++ b/packages/@react-native/tester/js/examples/AnimatedGratuitousApp/AnExScroll.js @@ -20,7 +20,7 @@ import { View, } from 'react-native'; -class AnExScroll extends React.Component<$FlowFixMeProps, any> { +class AnExScroll extends React.Component<$FlowFixMe, any> { state: any = {scrollX: new Animated.Value(0)}; render(): React.Node { diff --git a/packages/@react-native/tester/js/examples/Appearance/AppearanceExample.js b/packages/@react-native/tester/js/examples/Appearance/AppearanceExample.js index 23751f76b93..427653514f6 100644 --- a/packages/@react-native/tester/js/examples/Appearance/AppearanceExample.js +++ b/packages/@react-native/tester/js/examples/Appearance/AppearanceExample.js @@ -8,6 +8,7 @@ * @format */ +import type {RNTesterModuleExample} from '../../types/RNTesterTypes'; import type {ColorSchemeName} from 'react-native'; import RNTesterText from '../../components/RNTesterText'; @@ -245,4 +246,4 @@ exports.examples = [ return ; }, }, -]; +] as Array; diff --git a/packages/@react-native/tester/js/examples/BoxShadow/BoxShadowExample.js b/packages/@react-native/tester/js/examples/BoxShadow/BoxShadowExample.js index a6d66167b06..9a69c6b6d25 100644 --- a/packages/@react-native/tester/js/examples/BoxShadow/BoxShadowExample.js +++ b/packages/@react-native/tester/js/examples/BoxShadow/BoxShadowExample.js @@ -8,6 +8,8 @@ * @format */ +import type {RNTesterModuleExample} from '../../types/RNTesterTypes'; + import * as React from 'react'; import {Image, StyleSheet, View} from 'react-native'; @@ -191,4 +193,4 @@ exports.examples = [ ); }, }, -]; +] as Array; diff --git a/packages/@react-native/tester/js/examples/Button/ButtonExample.js b/packages/@react-native/tester/js/examples/Button/ButtonExample.js index d9c30a8b938..cbedc3f8f11 100644 --- a/packages/@react-native/tester/js/examples/Button/ButtonExample.js +++ b/packages/@react-native/tester/js/examples/Button/ButtonExample.js @@ -10,6 +10,8 @@ 'use strict'; +import type {RNTesterModuleExample} from '../../types/RNTesterTypes'; + const {RNTesterThemeContext} = require('../../components/RNTesterTheme'); const React = require('react'); const {Alert, Button, StyleSheet, View} = require('react-native'); @@ -221,7 +223,7 @@ exports.examples = [ ); }, }, -]; +] as Array; const styles = StyleSheet.create({ container: { diff --git a/packages/@react-native/tester/js/examples/ContentURLAndroid/ContentURLAndroid.js b/packages/@react-native/tester/js/examples/ContentURLAndroid/ContentURLAndroid.js index 650986c7097..81f88a78bf1 100644 --- a/packages/@react-native/tester/js/examples/ContentURLAndroid/ContentURLAndroid.js +++ b/packages/@react-native/tester/js/examples/ContentURLAndroid/ContentURLAndroid.js @@ -10,6 +10,8 @@ 'use strict'; +import type {RNTesterModuleExample} from '../../types/RNTesterTypes'; + import RNTesterBlock from '../../components/RNTesterBlock'; import RNTesterPage from '../../components/RNTesterPage'; import RNTesterText from '../../components/RNTesterText'; @@ -116,4 +118,4 @@ exports.examples = [ return ; }, }, -]; +] as Array; diff --git a/packages/@react-native/tester/js/examples/Crash/CrashExample.js b/packages/@react-native/tester/js/examples/Crash/CrashExample.js index e85482a1ee2..c492f754889 100644 --- a/packages/@react-native/tester/js/examples/Crash/CrashExample.js +++ b/packages/@react-native/tester/js/examples/Crash/CrashExample.js @@ -8,6 +8,7 @@ * @format */ +import type {RNTesterModuleExample} from '../../types/RNTesterTypes'; import type {Node} from 'react'; import React from 'react'; @@ -37,4 +38,4 @@ exports.examples = [ ); }, }, -]; +] as Array; diff --git a/packages/@react-native/tester/js/examples/Cursor/CursorExample.js b/packages/@react-native/tester/js/examples/Cursor/CursorExample.js index 231f3a5338c..4a1b04f8d7c 100644 --- a/packages/@react-native/tester/js/examples/Cursor/CursorExample.js +++ b/packages/@react-native/tester/js/examples/Cursor/CursorExample.js @@ -8,6 +8,8 @@ * @format */ +import type {RNTesterModuleExample} from '../../types/RNTesterTypes'; + import * as React from 'react'; import {StyleSheet, Text, View} from 'react-native'; @@ -107,4 +109,4 @@ exports.examples = [ description: 'Views with a cursor do not get flattened', render: CursorExampleViewFlattening, }, -]; +] as Array; diff --git a/packages/@react-native/tester/js/examples/DevSettings/DevSettingsExample.js b/packages/@react-native/tester/js/examples/DevSettings/DevSettingsExample.js index 2210bfd612a..fa6064b6676 100644 --- a/packages/@react-native/tester/js/examples/DevSettings/DevSettingsExample.js +++ b/packages/@react-native/tester/js/examples/DevSettings/DevSettingsExample.js @@ -8,6 +8,8 @@ * @format */ +import type {RNTesterModuleExample} from '../../types/RNTesterTypes'; + import * as React from 'react'; import {Alert, Button, DevSettings} from 'react-native'; @@ -44,4 +46,4 @@ exports.examples = [ ); }, }, -]; +] as Array; diff --git a/packages/@react-native/tester/js/examples/Dimensions/DimensionsExample.js b/packages/@react-native/tester/js/examples/Dimensions/DimensionsExample.js index 8d246d09aa1..ccc067bffec 100644 --- a/packages/@react-native/tester/js/examples/Dimensions/DimensionsExample.js +++ b/packages/@react-native/tester/js/examples/Dimensions/DimensionsExample.js @@ -8,6 +8,8 @@ * @format */ +import type {RNTesterModuleExample} from '../../types/RNTesterTypes'; + import RNTesterText from '../../components/RNTesterText'; import React, {useEffect, useState} from 'react'; import {Dimensions, useWindowDimensions} from 'react-native'; @@ -60,4 +62,4 @@ exports.examples = [ return ; }, }, -]; +] as Array; diff --git a/packages/@react-native/tester/js/examples/DrawerLayoutAndroid/DrawerLayoutAndroidExample.js b/packages/@react-native/tester/js/examples/DrawerLayoutAndroid/DrawerLayoutAndroidExample.js index 92a034ae195..c0360008167 100644 --- a/packages/@react-native/tester/js/examples/DrawerLayoutAndroid/DrawerLayoutAndroidExample.js +++ b/packages/@react-native/tester/js/examples/DrawerLayoutAndroid/DrawerLayoutAndroidExample.js @@ -10,6 +10,7 @@ 'use strict'; +import type {RNTesterModuleExample} from '../../types/RNTesterTypes'; import type {Node} from 'react'; import {RNTesterThemeContext} from '../../components/RNTesterTheme'; @@ -104,4 +105,4 @@ exports.examples = [ return ; }, }, -]; +] as Array; diff --git a/packages/@react-native/tester/js/examples/InputAccessoryView/InputAccessoryViewExample.js b/packages/@react-native/tester/js/examples/InputAccessoryView/InputAccessoryViewExample.js index 532a9ea2837..9d4e551bc0b 100644 --- a/packages/@react-native/tester/js/examples/InputAccessoryView/InputAccessoryViewExample.js +++ b/packages/@react-native/tester/js/examples/InputAccessoryView/InputAccessoryViewExample.js @@ -10,6 +10,8 @@ 'use strict'; +import type {RNTesterModuleExample} from '../../types/RNTesterTypes'; + import {useTheme} from '../../components/RNTesterTheme'; import {useState} from 'react'; import { @@ -111,4 +113,4 @@ exports.examples = [ return ; }, }, -]; +] as Array; diff --git a/packages/@react-native/tester/js/examples/InvalidProps/InvalidPropsExample.js b/packages/@react-native/tester/js/examples/InvalidProps/InvalidPropsExample.js index a24116faa38..bff02276eb2 100644 --- a/packages/@react-native/tester/js/examples/InvalidProps/InvalidPropsExample.js +++ b/packages/@react-native/tester/js/examples/InvalidProps/InvalidPropsExample.js @@ -10,6 +10,8 @@ 'use strict'; +import type {RNTesterModuleExample} from '../../types/RNTesterTypes'; + import RNTesterText from '../../components/RNTesterText'; import * as React from 'react'; import {View} from 'react-native'; @@ -19,7 +21,7 @@ export const category = 'Other'; export const description = 'Examples of passing invalid prop values and how they fall back to expected defaults.'; -export const examples = [ +export const examples: Array = [ { title: 'View flex', render(): React.Node { diff --git a/packages/@react-native/tester/js/examples/JSResponderHandlerExample/JSResponderHandlerExample.js b/packages/@react-native/tester/js/examples/JSResponderHandlerExample/JSResponderHandlerExample.js index 35a03e96aef..01968efb3e2 100644 --- a/packages/@react-native/tester/js/examples/JSResponderHandlerExample/JSResponderHandlerExample.js +++ b/packages/@react-native/tester/js/examples/JSResponderHandlerExample/JSResponderHandlerExample.js @@ -8,6 +8,8 @@ * @format */ +import type {RNTesterModuleExample} from '../../types/RNTesterTypes'; + import RNTesterText from '../../components/RNTesterText'; import React from 'react'; import {PanResponder, ScrollView, StyleSheet, View} from 'react-native'; @@ -60,7 +62,7 @@ exports.examples = [ ); }, }, -]; +] as Array; const styles = StyleSheet.create({ container: { diff --git a/packages/@react-native/tester/js/examples/KeyboardAvoidingView/KeyboardAvoidingViewExample.js b/packages/@react-native/tester/js/examples/KeyboardAvoidingView/KeyboardAvoidingViewExample.js index 62f66258d9c..610ec9588d4 100644 --- a/packages/@react-native/tester/js/examples/KeyboardAvoidingView/KeyboardAvoidingViewExample.js +++ b/packages/@react-native/tester/js/examples/KeyboardAvoidingView/KeyboardAvoidingViewExample.js @@ -10,6 +10,8 @@ 'use strict'; +import type {RNTesterModuleExample} from '../../types/RNTesterTypes'; + import React, {useState} from 'react'; import { Alert, @@ -276,4 +278,4 @@ exports.examples = [ return ; }, }, -]; +] as Array; diff --git a/packages/@react-native/tester/js/examples/Layout/LayoutAnimationExample.js b/packages/@react-native/tester/js/examples/Layout/LayoutAnimationExample.js index b9f12ee89e2..a83d552799d 100644 --- a/packages/@react-native/tester/js/examples/Layout/LayoutAnimationExample.js +++ b/packages/@react-native/tester/js/examples/Layout/LayoutAnimationExample.js @@ -10,6 +10,8 @@ 'use strict'; +import type {RNTesterModuleExample} from '../../types/RNTesterTypes'; + import RNTesterText from '../../components/RNTesterText'; import React from 'react'; import { @@ -389,4 +391,4 @@ exports.examples = [ return ; }, }, -]; +] as Array; diff --git a/packages/@react-native/tester/js/examples/Layout/LayoutEventsExample.js b/packages/@react-native/tester/js/examples/Layout/LayoutEventsExample.js index a93d4ac4fc9..ee4e78ccefd 100644 --- a/packages/@react-native/tester/js/examples/Layout/LayoutEventsExample.js +++ b/packages/@react-native/tester/js/examples/Layout/LayoutEventsExample.js @@ -10,6 +10,7 @@ 'use strict'; +import type {RNTesterModuleExample} from '../../types/RNTesterTypes'; import type { ViewLayout, ViewLayoutEvent, @@ -163,4 +164,4 @@ exports.examples = [ return ; }, }, -]; +] as Array; diff --git a/packages/@react-native/tester/js/examples/Layout/LayoutExample.js b/packages/@react-native/tester/js/examples/Layout/LayoutExample.js index 27af6b6acc3..f0bd1d27aa6 100644 --- a/packages/@react-native/tester/js/examples/Layout/LayoutExample.js +++ b/packages/@react-native/tester/js/examples/Layout/LayoutExample.js @@ -10,6 +10,7 @@ 'use strict'; +import type {RNTesterModuleExample} from '../../types/RNTesterTypes'; import type {ViewStyleProp} from 'react-native/Libraries/StyleSheet/StyleSheet'; import RNTesterBlock from '../../components/RNTesterBlock'; @@ -210,4 +211,4 @@ exports.examples = [ return ; }, }, -]; +] as Array; diff --git a/packages/@react-native/tester/js/examples/LinearGradient/LinearGradientExample.js b/packages/@react-native/tester/js/examples/LinearGradient/LinearGradientExample.js index 359604f3ebc..ed787dfc4e2 100644 --- a/packages/@react-native/tester/js/examples/LinearGradient/LinearGradientExample.js +++ b/packages/@react-native/tester/js/examples/LinearGradient/LinearGradientExample.js @@ -10,6 +10,7 @@ 'use strict'; +import type {RNTesterModuleExample} from '../../types/RNTesterTypes'; import type {ViewStyleProp} from 'react-native/Libraries/StyleSheet/StyleSheet'; import RNTesterText from '../../components/RNTesterText'; @@ -305,4 +306,4 @@ exports.examples = [ ); }, }, -]; +] as Array; diff --git a/packages/@react-native/tester/js/examples/Linking/LinkingExample.js b/packages/@react-native/tester/js/examples/Linking/LinkingExample.js index 57df6c12eed..34a45fcbd8a 100644 --- a/packages/@react-native/tester/js/examples/Linking/LinkingExample.js +++ b/packages/@react-native/tester/js/examples/Linking/LinkingExample.js @@ -8,6 +8,8 @@ * @format */ +import type {RNTesterModuleExample} from '../../types/RNTesterTypes'; + import RNTesterBlock from '../../components/RNTesterBlock'; import RNTesterText from '../../components/RNTesterText'; import React from 'react'; @@ -168,4 +170,4 @@ exports.examples = [ return ; }, }, -]; +] as Array; diff --git a/packages/@react-native/tester/js/examples/NativeAnimation/NativeAnimationsExample.js b/packages/@react-native/tester/js/examples/NativeAnimation/NativeAnimationsExample.js index 42ca8d02134..9ada17831a7 100644 --- a/packages/@react-native/tester/js/examples/NativeAnimation/NativeAnimationsExample.js +++ b/packages/@react-native/tester/js/examples/NativeAnimation/NativeAnimationsExample.js @@ -10,6 +10,7 @@ 'use strict'; +import type {RNTesterModuleExample} from '../../types/RNTesterTypes'; import type AnimatedValue from 'react-native/Libraries/Animated/nodes/AnimatedValue'; import RNTesterSettingSwitchRow from '../../components/RNTesterSettingSwitchRow'; @@ -23,7 +24,7 @@ import { View, } from 'react-native'; -class Tester extends React.Component<$FlowFixMeProps, $FlowFixMeState> { +class Tester extends React.Component<$FlowFixMe, $FlowFixMe> { state: any | {js: AnimatedValue, native: AnimatedValue} = { native: new Animated.Value(0), js: new Animated.Value(0), @@ -72,7 +73,7 @@ class Tester extends React.Component<$FlowFixMeProps, $FlowFixMeState> { } } -class ValueListenerExample extends React.Component<{...}, $FlowFixMeState> { +class ValueListenerExample extends React.Component<{...}, $FlowFixMe> { state: any | {anim: AnimatedValue, progress: number} = { anim: new Animated.Value(0), progress: 0, @@ -121,7 +122,7 @@ class ValueListenerExample extends React.Component<{...}, $FlowFixMeState> { } } -class LoopExample extends React.Component<{...}, $FlowFixMeState> { +class LoopExample extends React.Component<{...}, $FlowFixMe> { state: any | {value: AnimatedValue} = { value: new Animated.Value(0), }; @@ -192,7 +193,7 @@ const InternalSettings = () => { ); }; -class EventExample extends React.Component<{...}, $FlowFixMeState> { +class EventExample extends React.Component<{...}, $FlowFixMe> { state: any | {anim: AnimatedValue} = { anim: new Animated.Value(0), }; @@ -239,10 +240,7 @@ class EventExample extends React.Component<{...}, $FlowFixMeState> { } } -class TrackingExample extends React.Component< - $FlowFixMeProps, - $FlowFixMeState, -> { +class TrackingExample extends React.Component<$FlowFixMe, $FlowFixMe> { state: | any | { @@ -657,4 +655,4 @@ exports.examples = [ return ; }, }, -]; +] as Array; diff --git a/packages/@react-native/tester/js/examples/NewAppScreen/NewAppScreenExample.js b/packages/@react-native/tester/js/examples/NewAppScreen/NewAppScreenExample.js index 519728dc439..6e3fc3a6c55 100644 --- a/packages/@react-native/tester/js/examples/NewAppScreen/NewAppScreenExample.js +++ b/packages/@react-native/tester/js/examples/NewAppScreen/NewAppScreenExample.js @@ -10,6 +10,8 @@ 'use strict'; +import type {RNTesterModuleExample} from '../../types/RNTesterTypes'; + const {NewAppScreen} = require('@react-native/new-app-screen'); const React = require('react'); const {ScrollView} = require('react-native'); @@ -27,4 +29,4 @@ exports.examples = [ ); }, }, -]; +] as Array; diff --git a/packages/@react-native/tester/js/examples/NewArchitecture/NewArchitectureExample.js b/packages/@react-native/tester/js/examples/NewArchitecture/NewArchitectureExample.js index 30e5d17f6ea..0b68c170f09 100644 --- a/packages/@react-native/tester/js/examples/NewArchitecture/NewArchitectureExample.js +++ b/packages/@react-native/tester/js/examples/NewArchitecture/NewArchitectureExample.js @@ -10,6 +10,8 @@ 'use strict'; +import type {RNTesterModuleExample} from '../../types/RNTesterTypes'; + import MyNativeView from '../../../NativeComponentExample/js/MyNativeView'; import * as React from 'react'; @@ -28,4 +30,4 @@ exports.examples = [ ); }, }, -]; +] as Array; diff --git a/packages/@react-native/tester/js/examples/OSSLibraryExample/OSSLibraryExample.js b/packages/@react-native/tester/js/examples/OSSLibraryExample/OSSLibraryExample.js deleted file mode 100644 index 82048172a55..00000000000 --- a/packages/@react-native/tester/js/examples/OSSLibraryExample/OSSLibraryExample.js +++ /dev/null @@ -1,129 +0,0 @@ -/** - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - * - * @flow - * @format - */ - -'use strict'; - -import type {NativeComponentType} from '@react-native/oss-library-example'; - -import RNTesterText from '../../components/RNTesterText'; -import { - SampleNativeComponent, - SampleNativeComponentCommands, -} from '@react-native/oss-library-example'; -import {NativeSampleModule} from '@react-native/oss-library-example'; -import * as React from 'react'; -import {useRef, useState} from 'react'; -import {Button, View} from 'react-native'; -import {StyleSheet} from 'react-native'; - -const colors = [ - '#0000FF', - '#FF0000', - '#00FF00', - '#003300', - '#330000', - '#000033', -]; - -// $FlowFixMe[value-as-type] -const styles: StyleSheet = StyleSheet.create({ - container: { - flex: 1, - }, - column: { - flex: 2, - justifyContent: 'center', - paddingLeft: 5, - paddingRight: 5, - }, -}); - -function SampleNativeComponentContainer(props: {}): React.Node { - const ref = useRef | null>(null); - const [opacity, setOpacity] = useState(1.0); - const [arrayValues, setArrayValues] = useState([1, 2, 3]); - return ( - - { - console.log(event.nativeEvent.values); - console.log(event.nativeEvent.boolValues); - console.log(event.nativeEvent.floats); - console.log(event.nativeEvent.doubles); - console.log(event.nativeEvent.yesNos); - console.log(event.nativeEvent.strings); - console.log(event.nativeEvent.latLons); - console.log(event.nativeEvent.multiArrays); - }} - /> -