diff --git a/change/@office-iss-react-native-win32-96646bda-e03c-49ad-bf6f-2f08d1536d30.json b/change/@office-iss-react-native-win32-96646bda-e03c-49ad-bf6f-2f08d1536d30.json new file mode 100644 index 00000000000..135f70f577b --- /dev/null +++ b/change/@office-iss-react-native-win32-96646bda-e03c-49ad-bf6f-2f08d1536d30.json @@ -0,0 +1,7 @@ +{ + "type": "prerelease", + "comment": "0413 integration", + "packageName": "@office-iss/react-native-win32", + "email": "email not defined", + "dependentChangeType": "patch" +} diff --git a/change/@react-native-windows-automation-channel-25926917-4c61-407b-8b1a-b64424f2a726.json b/change/@react-native-windows-automation-channel-25926917-4c61-407b-8b1a-b64424f2a726.json new file mode 100644 index 00000000000..ac2dce62a62 --- /dev/null +++ b/change/@react-native-windows-automation-channel-25926917-4c61-407b-8b1a-b64424f2a726.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "0413 integration", + "packageName": "@react-native-windows/automation-channel", + "email": "email not defined", + "dependentChangeType": "patch" +} diff --git a/change/@rnw-scripts-eslint-config-50f1afee-bc75-4de3-93a9-0e6cf5d43086.json b/change/@rnw-scripts-eslint-config-50f1afee-bc75-4de3-93a9-0e6cf5d43086.json new file mode 100644 index 00000000000..446836e8e7b --- /dev/null +++ b/change/@rnw-scripts-eslint-config-50f1afee-bc75-4de3-93a9-0e6cf5d43086.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "0413 integration", + "packageName": "@rnw-scripts/eslint-config", + "email": "email not defined", + "dependentChangeType": "patch" +} diff --git a/change/react-native-windows-9f8fd031-f903-437d-9070-d44d392799f7.json b/change/react-native-windows-9f8fd031-f903-437d-9070-d44d392799f7.json new file mode 100644 index 00000000000..45679dfaeb7 --- /dev/null +++ b/change/react-native-windows-9f8fd031-f903-437d-9070-d44d392799f7.json @@ -0,0 +1,7 @@ +{ + "type": "prerelease", + "comment": "0413 integration", + "packageName": "react-native-windows", + "email": "email not defined", + "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 958723830f5..c5f381ea387 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.75.0-nightly-20240406-a05466c5b", + "baseVersion": "0.75.0-nightly-20240413-1b152f6ec", "overrides": [ { "type": "patch", @@ -42,7 +42,7 @@ "type": "derived", "file": "src/js/utils/RNTesterList.win32.js", "baseFile": "packages/rn-tester/js/utils/RNTesterList.android.js", - "baseHash": "3ca30c3da9875e8f01acfdb575658d9996243185" + "baseHash": "c40d0a03a89b9017cbb08a0449d5a0c32cadc5f2" } ] } \ 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 d5549b2ffd9..92457db5179 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.245", "react": "18.0.0", - "react-native": "0.75.0-nightly-20240406-a05466c5b" + "react-native": "0.75.0-nightly-20240413-1b152f6ec" }, "devDependencies": { "@office-iss/react-native-win32": "^0.0.0-canary.245", @@ -30,7 +30,7 @@ "@types/node": "^18.0.0", "eslint": "^8.19.0", "just-scripts": "^1.3.3", - "react-native": "0.75.0-nightly-20240406-a05466c5b", + "react-native": "0.75.0-nightly-20240413-1b152f6ec", "react-native-platform-override": "^1.9.32", "typescript": "5.0.4" }, diff --git a/packages/@office-iss/react-native-win32-tester/src/js/utils/RNTesterList.win32.js b/packages/@office-iss/react-native-win32-tester/src/js/utils/RNTesterList.win32.js index f3c6dd9890b..ebf102266ae 100644 --- a/packages/@office-iss/react-native-win32-tester/src/js/utils/RNTesterList.win32.js +++ b/packages/@office-iss/react-native-win32-tester/src/js/utils/RNTesterList.win32.js @@ -148,6 +148,12 @@ const Components: Array = [ category: 'Basic', module: require('../examples/Performance/PerformanceComparisonExample'), }, + /* + { + key: 'OSSLibraryExample', + module: require('../examples/OSSLibraryExample/OSSLibraryExample'), + }, + */ ]; const APIs: Array = ([ diff --git a/packages/@office-iss/react-native-win32/.flowconfig b/packages/@office-iss/react-native-win32/.flowconfig index 43d3d41e71e..b8a15973b1c 100644 --- a/packages/@office-iss/react-native-win32/.flowconfig +++ b/packages/@office-iss/react-native-win32/.flowconfig @@ -154,4 +154,4 @@ untyped-import untyped-type-import [version] -^0.232.0 +^0.233.0 diff --git a/packages/@office-iss/react-native-win32/overrides.json b/packages/@office-iss/react-native-win32/overrides.json index 881b93a13ac..d80a74b23dd 100644 --- a/packages/@office-iss/react-native-win32/overrides.json +++ b/packages/@office-iss/react-native-win32/overrides.json @@ -7,13 +7,13 @@ "**/__snapshots__/**", "src-win/rntypes/**" ], - "baseVersion": "0.75.0-nightly-20240406-a05466c5b", + "baseVersion": "0.75.0-nightly-20240413-1b152f6ec", "overrides": [ { "type": "derived", "file": ".flowconfig", "baseFile": ".flowconfig", - "baseHash": "47a3426b7d1053a171e1ee1c56120e0e2f1ce887" + "baseHash": "207887dce4d232e4ded4dbeefe4188766b24144a" }, { "type": "derived", diff --git a/packages/@office-iss/react-native-win32/package.json b/packages/@office-iss/react-native-win32/package.json index 587153aac82..e1ad6288a68 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": "14.0.0-alpha.2", "@react-native-community/cli-platform-ios": "14.0.0-alpha.2", "@react-native/assets": "1.0.0", - "@react-native/assets-registry": "0.75.0-nightly-20240406-a05466c5b", - "@react-native/codegen": "0.75.0-nightly-20240406-a05466c5b", - "@react-native/community-cli-plugin": "0.75.0-nightly-20240406-a05466c5b", - "@react-native/gradle-plugin": "0.75.0-nightly-20240406-a05466c5b", - "@react-native/js-polyfills": "0.75.0-nightly-20240406-a05466c5b", - "@react-native/normalize-colors": "0.75.0-nightly-20240406-a05466c5b", - "@react-native/virtualized-lists": "0.75.0-nightly-20240406-a05466c5b", + "@react-native/assets-registry": "0.75.0-nightly-20240413-1b152f6ec", + "@react-native/codegen": "0.75.0-nightly-20240413-1b152f6ec", + "@react-native/community-cli-plugin": "0.75.0-nightly-20240413-1b152f6ec", + "@react-native/gradle-plugin": "0.75.0-nightly-20240413-1b152f6ec", + "@react-native/js-polyfills": "0.75.0-nightly-20240413-1b152f6ec", + "@react-native/normalize-colors": "0.75.0-nightly-20240413-1b152f6ec", + "@react-native/virtualized-lists": "0.75.0-nightly-20240413-1b152f6ec", "abort-controller": "^3.0.0", "anser": "^1.4.9", "ansi-regex": "^5.0.0", @@ -61,6 +61,7 @@ "react-shallow-renderer": "^16.15.0", "regenerator-runtime": "^0.13.2", "scheduler": "0.24.0-canary-efb381bbf-20230505", + "semver": "^7.1.3", "stacktrace-parser": "^0.1.10", "whatwg-fetch": "^3.0.0", "ws": "^6.2.2", @@ -69,7 +70,7 @@ "devDependencies": { "@babel/core": "^7.20.0", "@babel/eslint-parser": "^7.20.0", - "@react-native/metro-config": "0.75.0-nightly-20240406-a05466c5b", + "@react-native/metro-config": "0.75.0-nightly-20240413-1b152f6ec", "@rnw-scripts/babel-react-native-config": "0.0.0", "@rnw-scripts/eslint-config": "1.2.15", "@rnw-scripts/jest-out-of-tree-snapshot-resolver": "^1.1.19", @@ -85,14 +86,14 @@ "just-scripts": "^1.3.3", "prettier": "2.8.8", "react": "18.2.0", - "react-native": "0.75.0-nightly-20240406-a05466c5b", + "react-native": "0.75.0-nightly-20240413-1b152f6ec", "react-native-platform-override": "^1.9.32", "typescript": "5.0.4" }, "peerDependencies": { "@types/react": "^18.2.6", "react": "18.2.0", - "react-native": "0.75.0-nightly-20240406-a05466c5b" + "react-native": "0.75.0-nightly-20240413-1b152f6ec" }, "beachball": { "defaultNpmTag": "canary", diff --git a/packages/@react-native-windows/automation-channel/package.json b/packages/@react-native-windows/automation-channel/package.json index 461cb73f3f3..cecf114a7d5 100644 --- a/packages/@react-native-windows/automation-channel/package.json +++ b/packages/@react-native-windows/automation-channel/package.json @@ -31,7 +31,7 @@ "just-scripts": "^1.3.2", "prettier": "2.8.8", "react": "18.2.0", - "react-native": "0.75.0-nightly-20240406-a05466c5b", + "react-native": "0.75.0-nightly-20240413-1b152f6ec", "react-native-windows": "^0.0.0-canary.815", "typescript": "5.0.4" }, diff --git a/packages/@react-native-windows/tester/overrides.json b/packages/@react-native-windows/tester/overrides.json index 4e64d91addd..a0a38e65bff 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.75.0-nightly-20240406-a05466c5b", + "baseVersion": "0.75.0-nightly-20240413-1b152f6ec", "overrides": [ { "type": "derived", @@ -78,7 +78,7 @@ "type": "derived", "file": "src/js/utils/RNTesterList.windows.js", "baseFile": "packages/rn-tester/js/utils/RNTesterList.android.js", - "baseHash": "3ca30c3da9875e8f01acfdb575658d9996243185" + "baseHash": "c40d0a03a89b9017cbb08a0449d5a0c32cadc5f2" } ] } \ 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 833af49591a..7f1da4c09a3 100644 --- a/packages/@react-native-windows/tester/package.json +++ b/packages/@react-native-windows/tester/package.json @@ -18,7 +18,7 @@ "peerDependencies": { "@react-native-picker/picker": "2.4.10", "react": "18.0.0", - "react-native": "0.75.0-nightly-20240406-a05466c5b", + "react-native": "0.75.0-nightly-20240413-1b152f6ec", "react-native-windows": "^0.0.0-canary.815", "react-native-xaml": "^0.0.78" }, @@ -31,7 +31,7 @@ "@types/node": "^18.0.0", "eslint": "^8.19.0", "just-scripts": "^1.3.3", - "react-native": "0.75.0-nightly-20240406-a05466c5b", + "react-native": "0.75.0-nightly-20240413-1b152f6ec", "react-native-platform-override": "^1.9.32", "react-native-windows": "^0.0.0-canary.815", "typescript": "5.0.4" diff --git a/packages/@react-native-windows/tester/src/js/examples-win/Keyboard/KeyboardFocusExample.windows.tsx b/packages/@react-native-windows/tester/src/js/examples-win/Keyboard/KeyboardFocusExample.windows.tsx index 568e7aef960..9e6626b29db 100644 --- a/packages/@react-native-windows/tester/src/js/examples-win/Keyboard/KeyboardFocusExample.windows.tsx +++ b/packages/@react-native-windows/tester/src/js/examples-win/Keyboard/KeyboardFocusExample.windows.tsx @@ -61,8 +61,8 @@ const pickerRef = React.createRef>(); const viewWindowsRef = React.createRef(); const textInputRef = React.createRef(); const textInputRef2 = React.createRef(); -const touchableHighlightRef = React.createRef(); -const touchableOpacityRef = React.createRef(); +const touchableHighlightRef = React.createRef>(); +const touchableOpacityRef = React.createRef>(); const touchableWithoutFeedbackRef = React.createRef(); class KeyboardFocusExample extends React.Component< 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 532fa24d7de..00162c3495b 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 @@ -197,6 +197,12 @@ const Components: Array = [ category: 'Basic', module: require('../examples/Performance/PerformanceComparisonExample'), }, + /* + { + key: 'OSSLibraryExample', + module: require('../examples/OSSLibraryExample/OSSLibraryExample'), + }, + */ ]; const APIs: Array = ([ diff --git a/packages/@react-native/monorepo/overrides.json b/packages/@react-native/monorepo/overrides.json index 3d1f1a16c17..1add54917d3 100644 --- a/packages/@react-native/monorepo/overrides.json +++ b/packages/@react-native/monorepo/overrides.json @@ -1,11 +1,11 @@ { - "baseVersion": "0.75.0-nightly-20240406-a05466c5b", + "baseVersion": "0.75.0-nightly-20240413-1b152f6ec", "overrides": [ { "type": "patch", "file": "package.json", "baseFile": "package.json", - "baseHash": "112ec4f4055c0dce5eeb9070ac0b06371fcd5478" + "baseHash": "81f7183581b4f3efc83807acf9d13acf11cbbc6e" } ] } \ No newline at end of file diff --git a/packages/@react-native/monorepo/package.json b/packages/@react-native/monorepo/package.json index f010fcfcaf5..799a1109e77 100644 --- a/packages/@react-native/monorepo/package.json +++ b/packages/@react-native/monorepo/package.json @@ -55,8 +55,8 @@ "@definitelytyped/dtslint": "^0.0.127", "@jest/create-cache-key-function": "^29.6.3", "@pkgjs/parseargs": "^0.11.0", - "@react-native/metro-babel-transformer": "0.75.0-nightly-20240406-a05466c5b", - "@react-native/metro-config": "0.75.0-nightly-20240406-a05466c5b", + "@react-native/metro-babel-transformer": "0.75.0-nightly-20240413-1b152f6ec", + "@react-native/metro-config": "0.75.0-nightly-20240413-1b152f6ec", "@tsconfig/node18": "1.0.1", "@types/react": "^18.2.6", "@typescript-eslint/parser": "^7.1.1", @@ -83,7 +83,7 @@ "eslint-plugin-redundant-undefined": "^0.4.0", "eslint-plugin-relay": "^1.8.3", "flow-api-translator": "0.20.1", - "flow-bin": "^0.232.0", + "flow-bin": "^0.233.0", "glob": "^7.1.1", "hermes-eslint": "0.20.0", "hermes-transform": "0.20.0", diff --git a/packages/@react-native/tester/js/examples/Animated/AnimatedIndex.js b/packages/@react-native/tester/js/examples/Animated/AnimatedIndex.js index 096470a8c7b..8fe5d815818 100644 --- a/packages/@react-native/tester/js/examples/Animated/AnimatedIndex.js +++ b/packages/@react-native/tester/js/examples/Animated/AnimatedIndex.js @@ -11,6 +11,7 @@ import type {RNTesterModule} from '../../types/RNTesterTypes'; import ColorStylesExample from './ColorStylesExample'; +import CombineExample from './CombineExample'; import ComposeAnimationsWithEasingExample from './ComposeAnimationsWithEasingExample'; import ComposingExample from './ComposingExample'; import ContinuousInteractionsExample from './ContinuousInteractionsExample'; @@ -43,5 +44,6 @@ export default ({ TransformBounceExample, LoopingExample, ContinuousInteractionsExample, + CombineExample, ], }: RNTesterModule); diff --git a/packages/@react-native/tester/js/examples/Animated/CombineExample.js b/packages/@react-native/tester/js/examples/Animated/CombineExample.js new file mode 100644 index 00000000000..90117168024 --- /dev/null +++ b/packages/@react-native/tester/js/examples/Animated/CombineExample.js @@ -0,0 +1,90 @@ +/** + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @flow strict-local + * @format + */ + +import type {RNTesterModuleExample} from '../../types/RNTesterTypes'; +import type {Numeric} from 'react-native/Libraries/Animated/AnimatedImplementation'; + +import RNTesterButton from '../../components/RNTesterButton'; +import * as React from 'react'; +import {Animated, StyleSheet, Text, TextInput, View} from 'react-native'; +export default ({ + title: 'Combine Example', + name: 'Combine View', + description: + 'Change the opacity of the view by combining different Animated.Values.', + render: () => , +}: RNTesterModuleExample); + +const CombineExample = () => { + const [aValue, setAValue] = React.useState('0.4'); + const [bValue, setBValue] = React.useState('0.5'); + const a = new Animated.Value(parseFloat(aValue)); + const b = new Animated.Value(parseFloat(bValue)); + const add = Animated.add(a, b); + const subtract = Animated.subtract(b, a); + const mult = Animated.multiply(a, b); + const divide = + parseFloat(aValue) !== 0 ? Animated.divide(b, a) : new Animated.Value(1); + const mod = Animated.modulo(a, parseFloat(bValue)); + const [animation, setAnimation] = React.useState(add); + + return ( + + setAValue(text)} + placeholder="Enter value for a" + keyboardType="numeric" + /> + setBValue(text)} + placeholder="Enter value for b" + keyboardType="numeric" + /> + + Change Opacity + + setAnimation(add)}>Add + setAnimation(subtract)}> + Subtract + + setAnimation(mult)}> + Multiply + + setAnimation(divide)}> + Divide + + setAnimation(mod)}>Modulo + + ); +}; + +const styles = StyleSheet.create({ + content: { + backgroundColor: 'deepskyblue', + borderWidth: 1, + borderColor: 'dodgerblue', + padding: 20, + margin: 20, + borderRadius: 10, + alignItems: 'center', + }, + input: { + height: 40, + borderColor: 'gray', + borderWidth: 1, + paddingLeft: 10, + margin: 10, + borderRadius: 5, + }, +}); diff --git a/packages/@react-native/tester/js/examples/DrawerLayoutAndroid/DrawerLayoutAndroidExample.js b/packages/@react-native/tester/js/examples/DrawerLayoutAndroid/DrawerLayoutAndroidExample.js index f760f66969e..004ce324a22 100644 --- a/packages/@react-native/tester/js/examples/DrawerLayoutAndroid/DrawerLayoutAndroidExample.js +++ b/packages/@react-native/tester/js/examples/DrawerLayoutAndroid/DrawerLayoutAndroidExample.js @@ -12,7 +12,8 @@ import type {Node} from 'react'; -import React, {useRef, useState} from 'react'; +import {RNTesterThemeContext} from '../../components/RNTesterTheme'; +import React, {useContext, useRef, useState} from 'react'; import { Button, DrawerLayoutAndroid, @@ -22,6 +23,7 @@ import { } from 'react-native'; const Drawer = () => { + const theme = useContext(RNTesterThemeContext); const drawer = useRef>(null); const [drawerPosition, setDrawerPosition] = useState('left'); const changeDrawerPosition = () => { @@ -52,7 +54,9 @@ const Drawer = () => { drawerPosition={drawerPosition} renderNavigationView={navigationView}> - Drawer on the {drawerPosition}! + + Drawer on the {drawerPosition}! +