diff --git a/change/@office-iss-react-native-win32-2a63e923-13c6-4e55-b976-d71d98ad243c.json b/change/@office-iss-react-native-win32-2a63e923-13c6-4e55-b976-d71d98ad243c.json new file mode 100644 index 00000000000..2b330b49ea6 --- /dev/null +++ b/change/@office-iss-react-native-win32-2a63e923-13c6-4e55-b976-d71d98ad243c.json @@ -0,0 +1,7 @@ +{ + "type": "prerelease", + "comment": "Integrate May 19th", + "packageName": "@office-iss/react-native-win32", + "email": "igklemen@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@rnw-scripts-babel-node-config-1df0952b-fe96-4d27-8464-336fb6e7a4a0.json b/change/@rnw-scripts-babel-node-config-1df0952b-fe96-4d27-8464-336fb6e7a4a0.json new file mode 100644 index 00000000000..9f5ae227736 --- /dev/null +++ b/change/@rnw-scripts-babel-node-config-1df0952b-fe96-4d27-8464-336fb6e7a4a0.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "Integrate May 19th", + "packageName": "@rnw-scripts/babel-node-config", + "email": "igklemen@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@rnw-scripts-doxysaurus-58530574-898e-4d0b-83b5-a0d66d099fff.json b/change/@rnw-scripts-doxysaurus-58530574-898e-4d0b-83b5-a0d66d099fff.json new file mode 100644 index 00000000000..b4f71cb4072 --- /dev/null +++ b/change/@rnw-scripts-doxysaurus-58530574-898e-4d0b-83b5-a0d66d099fff.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "Integrate May 19th", + "packageName": "@rnw-scripts/doxysaurus", + "email": "igklemen@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@rnw-scripts-integrate-rn-3bcb4e04-3f49-46a0-8cb5-bdde53dc2230.json b/change/@rnw-scripts-integrate-rn-3bcb4e04-3f49-46a0-8cb5-bdde53dc2230.json new file mode 100644 index 00000000000..46e3872e625 --- /dev/null +++ b/change/@rnw-scripts-integrate-rn-3bcb4e04-3f49-46a0-8cb5-bdde53dc2230.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "Integrate May 19th", + "packageName": "@rnw-scripts/integrate-rn", + "email": "igklemen@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@rnw-scripts-jest-debug-config-34404c9f-423e-45ff-8ff0-0241b26fa24c.json b/change/@rnw-scripts-jest-debug-config-34404c9f-423e-45ff-8ff0-0241b26fa24c.json new file mode 100644 index 00000000000..33b3a596480 --- /dev/null +++ b/change/@rnw-scripts-jest-debug-config-34404c9f-423e-45ff-8ff0-0241b26fa24c.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "Integrate May 19th", + "packageName": "@rnw-scripts/jest-debug-config", + "email": "igklemen@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@rnw-scripts-jest-e2e-config-80f1dd6c-a50b-4f9d-b3bf-558953dc7749.json b/change/@rnw-scripts-jest-e2e-config-80f1dd6c-a50b-4f9d-b3bf-558953dc7749.json new file mode 100644 index 00000000000..631e1396e2a --- /dev/null +++ b/change/@rnw-scripts-jest-e2e-config-80f1dd6c-a50b-4f9d-b3bf-558953dc7749.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "Integrate May 19th", + "packageName": "@rnw-scripts/jest-e2e-config", + "email": "igklemen@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@rnw-scripts-jest-unittest-config-c4cc06a9-af2e-49bb-8e3e-3710d8b4cac9.json b/change/@rnw-scripts-jest-unittest-config-c4cc06a9-af2e-49bb-8e3e-3710d8b4cac9.json new file mode 100644 index 00000000000..0b6b90effb1 --- /dev/null +++ b/change/@rnw-scripts-jest-unittest-config-c4cc06a9-af2e-49bb-8e3e-3710d8b4cac9.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "Integrate May 19th", + "packageName": "@rnw-scripts/jest-unittest-config", + "email": "igklemen@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/node-rnw-rpc-544f097f-cca5-4524-a333-d09f88b920bc.json b/change/node-rnw-rpc-544f097f-cca5-4524-a333-d09f88b920bc.json new file mode 100644 index 00000000000..276a539ce3a --- /dev/null +++ b/change/node-rnw-rpc-544f097f-cca5-4524-a333-d09f88b920bc.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "Integrate May 19th", + "packageName": "node-rnw-rpc", + "email": "igklemen@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/react-native-platform-override-a557e3b7-2708-4039-be29-a5e3ae4ac498.json b/change/react-native-platform-override-a557e3b7-2708-4039-be29-a5e3ae4ac498.json new file mode 100644 index 00000000000..30934f09e58 --- /dev/null +++ b/change/react-native-platform-override-a557e3b7-2708-4039-be29-a5e3ae4ac498.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "Integrate May 19th", + "packageName": "react-native-platform-override", + "email": "igklemen@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/react-native-windows-d62f33b0-d546-4090-8469-f71693e31224.json b/change/react-native-windows-d62f33b0-d546-4090-8469-f71693e31224.json new file mode 100644 index 00000000000..44e54fc142e --- /dev/null +++ b/change/react-native-windows-d62f33b0-d546-4090-8469-f71693e31224.json @@ -0,0 +1,7 @@ +{ + "type": "prerelease", + "comment": "Integrate May 19th", + "packageName": "react-native-windows", + "email": "igklemen@microsoft.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 3bb08d53f90..599e17cdc12 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.0.0-903eae491", + "baseVersion": "0.0.0-b2ec89fdf", "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 baa9fd13dbc..5b39ddf62d7 100644 --- a/packages/@office-iss/react-native-win32-tester/package.json +++ b/packages/@office-iss/react-native-win32-tester/package.json @@ -16,7 +16,7 @@ "peerDependencies": { "@office-iss/react-native-win32": "^0.0.0-canary.93", "react": "17.0.2", - "react-native": "0.0.0-903eae491" + "react-native": "0.0.0-b2ec89fdf" }, "devDependencies": { "@office-iss/react-native-win32": "^0.0.0-canary.93", @@ -26,7 +26,7 @@ "@types/node": "^14.14.22", "eslint": "7.12.0", "just-scripts": "^1.3.3", - "react-native": "0.0.0-903eae491", + "react-native": "0.0.0-b2ec89fdf", "react-native-platform-override": "^1.4.15", "typescript": "^3.8.3" } diff --git a/packages/@office-iss/react-native-win32/.flowconfig b/packages/@office-iss/react-native-win32/.flowconfig index cf7b21fcfe9..e92e0aa5f66 100644 --- a/packages/@office-iss/react-native-win32/.flowconfig +++ b/packages/@office-iss/react-native-win32/.flowconfig @@ -111,4 +111,4 @@ untyped-import untyped-type-import [version] -^0.150.0 +^0.151.0 diff --git a/packages/@office-iss/react-native-win32/overrides.json b/packages/@office-iss/react-native-win32/overrides.json index 889121e8bc2..94bba449e51 100644 --- a/packages/@office-iss/react-native-win32/overrides.json +++ b/packages/@office-iss/react-native-win32/overrides.json @@ -3,13 +3,13 @@ ".flowconfig", "src/**" ], - "baseVersion": "0.0.0-903eae491", + "baseVersion": "0.0.0-b2ec89fdf", "overrides": [ { "type": "derived", "file": ".flowconfig", "baseFile": ".flowconfig", - "baseHash": "4ffdd0f412a3de45ad8a532a4d105b22f0d5ea49" + "baseHash": "d1aa1043bb0f92bda99d69376c385189ce35a406" }, { "type": "derived", diff --git a/packages/@office-iss/react-native-win32/package.json b/packages/@office-iss/react-native-win32/package.json index 92833cb7663..ee618af1428 100644 --- a/packages/@office-iss/react-native-win32/package.json +++ b/packages/@office-iss/react-native-win32/package.json @@ -61,19 +61,19 @@ "@types/react-native": "^0.64.4", "babel-eslint": "^10.1.0", "eslint": "7.12.0", - "flow-bin": "^0.150.0", + "flow-bin": "^0.151.0", "jscodeshift": "^0.11.0", "just-scripts": "^1.3.3", "prettier": "1.19.1", "react": "17.0.2", - "react-native": "0.0.0-903eae491", + "react-native": "0.0.0-b2ec89fdf", "react-native-platform-override": "^1.4.15", "react-shallow-renderer": "16.14.1", "typescript": "^3.8.3" }, "peerDependencies": { "react": "17.0.2", - "react-native": "0.0.0-903eae491" + "react-native": "0.0.0-b2ec89fdf" }, "beachball": { "defaultNpmTag": "canary", diff --git a/packages/@react-native-windows/tester/overrides.json b/packages/@react-native-windows/tester/overrides.json index 399d7efc9eb..67ecd9d8d6a 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.0.0-903eae491", + "baseVersion": "0.0.0-b2ec89fdf", "overrides": [ { "type": "patch", diff --git a/packages/@react-native-windows/tester/package.json b/packages/@react-native-windows/tester/package.json index aa5b2e6c6d0..67c72d34d33 100644 --- a/packages/@react-native-windows/tester/package.json +++ b/packages/@react-native-windows/tester/package.json @@ -15,7 +15,7 @@ }, "peerDependencies": { "react": "17.0.2", - "react-native": "0.0.0-903eae491", + "react-native": "0.0.0-b2ec89fdf", "react-native-windows": "^0.0.0-canary.319" }, "devDependencies": { @@ -25,7 +25,7 @@ "@types/node": "^14.14.22", "eslint": "7.12.0", "just-scripts": "^1.3.3", - "react-native": "0.0.0-903eae491", + "react-native": "0.0.0-b2ec89fdf", "react-native-platform-override": "^1.4.15", "react-native-windows": "^0.0.0-canary.319", "typescript": "^3.8.3" diff --git a/packages/@react-native/repo-config/overrides.json b/packages/@react-native/repo-config/overrides.json index dd554758747..1dc95654992 100644 --- a/packages/@react-native/repo-config/overrides.json +++ b/packages/@react-native/repo-config/overrides.json @@ -1,11 +1,11 @@ { - "baseVersion": "0.0.0-903eae491", + "baseVersion": "0.0.0-b2ec89fdf", "overrides": [ { "type": "copy", "file": "package.json", "baseFile": "repo-config/package.json", - "baseHash": "764bb6c462ed2962a31a1f16b90332ba03d08e98" + "baseHash": "8ffeeb583d2173c076cd857c218afe4bfe432855" } ] } \ No newline at end of file diff --git a/packages/@react-native/repo-config/package.json b/packages/@react-native/repo-config/package.json index fda157c6535..a41d5843c32 100644 --- a/packages/@react-native/repo-config/package.json +++ b/packages/@react-native/repo-config/package.json @@ -9,8 +9,8 @@ "url": "git@github.com:facebook/react-native.git" }, "dependencies": { - "@babel/core": "^7.0.0", - "@babel/generator": "^7.5.0", + "@babel/core": "^7.14.0", + "@babel/generator": "^7.14.0", "@react-native-community/eslint-plugin": "*", "@reactions/component": "^2.0.2", "async": "^2.4.0", @@ -33,7 +33,7 @@ "eslint-plugin-react-hooks": "^4.2.0", "eslint-plugin-react-native": "3.10.0", "eslint-plugin-relay": "1.8.1", - "flow-bin": "^0.150.0", + "flow-bin": "^0.151.0", "jest": "^26.6.3", "jest-junit": "^10.0.0", "jscodeshift": "^0.11.0", diff --git a/packages/@react-native/tester/js/examples/Accessibility/AccessibilityExample.js b/packages/@react-native/tester/js/examples/Accessibility/AccessibilityExample.js index a45e293e421..f58cd1a465b 100644 --- a/packages/@react-native/tester/js/examples/Accessibility/AccessibilityExample.js +++ b/packages/@react-native/tester/js/examples/Accessibility/AccessibilityExample.js @@ -161,6 +161,18 @@ class AccessibilityExample extends React.Component<{}> { + + Alert.alert('Disabled Button has been pressed!')} + accessibilityLabel={'You are pressing Disabled TouchableOpacity'} + accessibilityState={{disabled: true}}> + + + I am disabled. Clicking me will not trigger any action. + + + + ); diff --git a/packages/@react-native/tester/js/examples/Animated/LoopingExample.js b/packages/@react-native/tester/js/examples/Animated/LoopingExample.js new file mode 100644 index 00000000000..53df2bb5ae4 --- /dev/null +++ b/packages/@react-native/tester/js/examples/Animated/LoopingExample.js @@ -0,0 +1,72 @@ +/** + * Copyright (c) Facebook, Inc. and its 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 RNTesterButton from '../../components/RNTesterButton'; +import type {RNTesterExampleModuleItem} from '../../types/RNTesterTypes'; +import {Animated, StyleSheet, Text, View} from 'react-native'; +import * as React from 'react'; +import {useEffect, useState} from 'react'; + +export default ({ + title: 'Looping Example', + name: 'loopingView', + description: 'Native looping animation that shrinks and fades out a view.', + render: () => , +}: RNTesterExampleModuleItem); + +function LoopingExample(props: {}): React.Node { + const [running, setRunning] = useState(false); + const [opacity] = useState(() => new Animated.Value(1)); + const [scale] = useState(() => new Animated.Value(1)); + + useEffect(() => { + if (!running) { + return; + } + const options = { + duration: 1000, + toValue: 0, + useNativeDriver: true, + }; + const animation = Animated.loop( + Animated.parallel([ + Animated.timing(opacity, options), + Animated.timing(scale, options), + ]), + ); + animation.start(); + return () => { + animation.reset(); + }; + }, [opacity, running, scale]); + + return ( + + setRunning(!running)}> + Press to {running ? 'Reset' : 'Start'} + + + Looping! + + + ); +} + +const styles = StyleSheet.create({ + view: { + backgroundColor: 'deepskyblue', + borderWidth: 1, + borderColor: 'dodgerblue', + borderRadius: 10, + padding: 20, + alignItems: 'center', + margin: 20, + }, +}); diff --git a/packages/@react-native/tester/js/examples/TextInput/TextInputSharedExamples.js b/packages/@react-native/tester/js/examples/TextInput/TextInputSharedExamples.js index 32549b615e1..edb7c141f7f 100644 --- a/packages/@react-native/tester/js/examples/TextInput/TextInputSharedExamples.js +++ b/packages/@react-native/tester/js/examples/TextInput/TextInputSharedExamples.js @@ -367,7 +367,7 @@ class TokenizedTextExample extends React.Component< type SelectionExampleState = { selection: $ReadOnly<{| start: number, - end?: number, + end: number, |}>, value: string, ... @@ -436,7 +436,8 @@ class SelectionExample extends React.Component< - selection = {JSON.stringify(this.state.selection).replace(/"/g, '')} + selection ={' '} + {`{start:${this.state.selection.start},end:${this.state.selection.end}}`} { _createPressabilityConfig(): PressabilityConfig { return { cancelable: !this.props.rejectResponderTermination, - disabled: this.props.disabled, + disabled: this.props.disabled ?? this.props.accessibilityState?.disabled, hitSlop: this.props.hitSlop, delayLongPress: this.props.delayLongPress, delayPressIn: this.props.delayPressIn, @@ -219,13 +219,21 @@ class TouchableOpacity extends React.Component { ...eventHandlersWithoutBlurAndFocus } = this.state.pressability.getEventHandlers(); + const accessibilityState = + this.props.disabled != null + ? { + ...this.props.accessibilityState, + disabled: this.props.disabled, + } + : this.props.accessibilityState; + return (