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 (