@office-iss/react-native-win32 0.0.0-canary.285 → 0.0.0-canary.286

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (217) hide show
  1. package/.flowconfig +1 -1
  2. package/CHANGELOG.json +16 -1
  3. package/CHANGELOG.md +16 -8
  4. package/IntegrationTests/LayoutEventsTest.js +16 -11
  5. package/Libraries/Alert/Alert.js +51 -5
  6. package/Libraries/Alert/Alert.win32.js +50 -5
  7. package/Libraries/Animated/animations/Animation.js +1 -4
  8. package/Libraries/Animated/nodes/AnimatedObject.js +1 -0
  9. package/Libraries/AppState/AppState.js +24 -7
  10. package/Libraries/BatchedBridge/MessageQueue.js +3 -2
  11. package/Libraries/BatchedBridge/NativeModules.js +2 -1
  12. package/Libraries/Blob/Blob.js +1 -1
  13. package/Libraries/Blob/FileReader_old.js +9 -9
  14. package/Libraries/Blob/URL.js +1 -1
  15. package/Libraries/Blob/URLSearchParams.js +9 -9
  16. package/Libraries/Components/Button.js +3 -3
  17. package/Libraries/Components/Button.win32.js +3 -6
  18. package/Libraries/Components/LayoutConformance/LayoutConformance.js +1 -1
  19. package/Libraries/Components/Pressable/Pressable.js +9 -9
  20. package/Libraries/Components/Pressable/Pressable.win32.js +9 -9
  21. package/Libraries/Components/Pressable/useAndroidRippleForView.js +7 -7
  22. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +7 -1
  23. package/Libraries/Components/RefreshControl/RefreshControl.js +1 -1
  24. package/Libraries/Components/ScrollView/ScrollView.js +74 -59
  25. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +5 -5
  26. package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +5 -2
  27. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +3 -3
  28. package/Libraries/Components/Switch/Switch.js +2 -2
  29. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +3 -1
  30. package/Libraries/Components/TextInput/TextInput.flow.js +15 -13
  31. package/Libraries/Components/TextInput/TextInput.js +16 -14
  32. package/Libraries/Components/TextInput/TextInput.win32.js +16 -14
  33. package/Libraries/Components/TextInput/TextInputState.js +1 -1
  34. package/Libraries/Components/TextInput/TextInputState.win32.js +1 -1
  35. package/Libraries/Components/Touchable/Touchable.js +16 -16
  36. package/Libraries/Components/Touchable/Touchable.win32.js +16 -16
  37. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +2 -2
  38. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +7 -7
  39. package/Libraries/Components/View/ReactNativeStyleAttributes.js +16 -2
  40. package/Libraries/Components/View/ViewAccessibility.js +243 -3
  41. package/Libraries/Components/View/ViewAccessibility.win32.js +243 -3
  42. package/Libraries/Components/View/ViewPropTypes.d.ts +14 -14
  43. package/Libraries/Components/View/ViewPropTypes.js +35 -226
  44. package/Libraries/Components/View/ViewPropTypes.win32.js +37 -229
  45. package/Libraries/Core/Devtools/symbolicateStackTrace.js +1 -1
  46. package/Libraries/Core/InitializeCore.js +2 -1
  47. package/Libraries/Core/ReactNativeVersion.js +1 -1
  48. package/Libraries/Core/Timers/JSTimers.js +6 -4
  49. package/Libraries/Core/setUpBatchedBridge.js +9 -5
  50. package/Libraries/Core/setUpDeveloperTools.js +3 -29
  51. package/Libraries/Core/setUpReactDevTools.js +1 -1
  52. package/Libraries/Core/setUpReactRefresh.js +1 -1
  53. package/Libraries/Core/setUpXHR.js +5 -2
  54. package/Libraries/EventEmitter/NativeEventEmitter.js +8 -2
  55. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +5 -4
  56. package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +3 -2
  57. package/Libraries/Events/CustomEvent.js +1 -1
  58. package/Libraries/Events/EventPolyfill.js +2 -2
  59. package/Libraries/Image/AssetSourceResolver.js +1 -1
  60. package/Libraries/Image/ImageProps.js +8 -5
  61. package/Libraries/Image/ImageViewNativeComponent.js +1 -1
  62. package/Libraries/Image/resolveAssetSource.win32.js +1 -1
  63. package/Libraries/Interaction/InteractionManager.js +1 -1
  64. package/Libraries/Interaction/InteractionManagerStub.js +9 -1
  65. package/Libraries/Interaction/JSEventLoopWatchdog.js +1 -1
  66. package/Libraries/Interaction/PanResponder.js +32 -29
  67. package/Libraries/Interaction/TaskQueue.js +1 -1
  68. package/Libraries/LayoutAnimation/LayoutAnimation.js +18 -4
  69. package/Libraries/Lists/FillRateHelper.js +3 -3
  70. package/Libraries/Lists/FlatList.js +13 -13
  71. package/Libraries/Lists/SectionList.js +3 -1
  72. package/Libraries/Lists/SectionListModern.js +3 -1
  73. package/Libraries/Lists/ViewabilityHelper.js +3 -2
  74. package/Libraries/Lists/VirtualizeUtils.js +3 -3
  75. package/Libraries/Lists/VirtualizedList.js +5 -5
  76. package/Libraries/Lists/VirtualizedListContext.js +4 -2
  77. package/Libraries/Lists/VirtualizedSectionList.js +4 -2
  78. package/Libraries/LogBox/LogBox.js +9 -1
  79. package/Libraries/LogBox/UI/AnsiHighlight.js +7 -3
  80. package/Libraries/LogBox/UI/LogBoxButton.js +4 -2
  81. package/Libraries/LogBox/UI/LogBoxInspector.js +1 -1
  82. package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +11 -3
  83. package/Libraries/LogBox/UI/LogBoxInspectorFooterButton.js +2 -0
  84. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +8 -2
  85. package/Libraries/LogBox/UI/LogBoxInspectorHeader.win32.js +8 -2
  86. package/Libraries/LogBox/UI/LogBoxInspectorHeaderButton.js +2 -0
  87. package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +4 -2
  88. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +3 -1
  89. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.win32.js +3 -1
  90. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +2 -2
  91. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +5 -3
  92. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.win32.js +5 -3
  93. package/Libraries/LogBox/UI/LogBoxNotification.js +6 -2
  94. package/Libraries/LogBox/UI/LogBoxNotificationCountBadge.js +3 -1
  95. package/Libraries/LogBox/UI/LogBoxNotificationDismissButton.js +2 -0
  96. package/Libraries/LogBox/UI/LogBoxNotificationMessage.js +4 -1
  97. package/Libraries/Modal/Modal.js +74 -81
  98. package/Libraries/NativeComponent/BaseViewConfig.android.js +16 -6
  99. package/Libraries/NativeComponent/BaseViewConfig.ios.js +19 -9
  100. package/Libraries/NativeComponent/BaseViewConfig.win32.js +19 -9
  101. package/Libraries/NativeComponent/StaticViewConfigValidator.js +5 -1
  102. package/Libraries/Network/FormData.js +1 -1
  103. package/Libraries/Network/XMLHttpRequest.js +5 -6
  104. package/Libraries/Network/XMLHttpRequest_new.js +3 -2
  105. package/Libraries/Network/XMLHttpRequest_old.js +3 -2
  106. package/Libraries/Network/convertRequestBody.js +4 -3
  107. package/Libraries/Network/fetch.js +4 -3
  108. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +63 -61
  109. package/Libraries/Pressability/Pressability.js +23 -23
  110. package/Libraries/Pressability/Pressability.win32.js +23 -23
  111. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +119 -16
  112. package/Libraries/ReactNative/AppContainer-dev.js +2 -1
  113. package/Libraries/ReactNative/AppRegistry.js +3 -3
  114. package/Libraries/ReactNative/PaperUIManager.js +3 -2
  115. package/Libraries/ReactNative/PaperUIManager.win32.js +3 -2
  116. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +2 -1
  117. package/Libraries/ReactNative/RootTag.js +1 -1
  118. package/Libraries/ReactNative/getNativeComponentAttributes.js +4 -4
  119. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +6 -4
  120. package/Libraries/Renderer/shims/ReactNativeTypes.js +4 -5
  121. package/Libraries/Settings/Settings.js +2 -2
  122. package/Libraries/Settings/Settings.win32.js +2 -2
  123. package/Libraries/Share/Share.js +10 -3
  124. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
  125. package/Libraries/StyleSheet/StyleSheet.js +1 -1
  126. package/Libraries/StyleSheet/StyleSheet.win32.js +2 -2
  127. package/Libraries/StyleSheet/__flowtests__/StyleSheet-flowtest.js +1 -1
  128. package/Libraries/StyleSheet/flattenStyle.js +1 -1
  129. package/Libraries/StyleSheet/normalizeColor.js +1 -1
  130. package/Libraries/StyleSheet/processAspectRatio.js +1 -1
  131. package/Libraries/StyleSheet/processColor.js +2 -2
  132. package/Libraries/StyleSheet/processFilter.js +4 -0
  133. package/Libraries/StyleSheet/processFontVariant.js +1 -1
  134. package/Libraries/StyleSheet/processTransform.js +1 -1
  135. package/Libraries/StyleSheet/setNormalizedColorAlpha.js +1 -1
  136. package/Libraries/Text/Text.js +15 -15
  137. package/Libraries/Text/Text.win32.js +15 -15
  138. package/Libraries/Text/TextAncestor.js +1 -1
  139. package/Libraries/Text/TextNativeComponent.js +2 -2
  140. package/Libraries/Text/TextNativeComponent.win32.js +2 -2
  141. package/Libraries/Text/TextProps.js +11 -11
  142. package/Libraries/Text/TextProps.win32.js +11 -11
  143. package/Libraries/Types/CodegenTypes.js +3 -3
  144. package/Libraries/Types/CoreEventTypes.js +103 -72
  145. package/Libraries/Types/CoreEventTypes.win32.js +115 -79
  146. package/Libraries/UTFSequence.js +2 -1
  147. package/Libraries/Utilities/BackHandler.android.js +1 -1
  148. package/Libraries/Utilities/BackHandler.ios.js +5 -5
  149. package/Libraries/Utilities/BackHandler.win32.js +1 -1
  150. package/Libraries/Utilities/DevLoadingView.js +1 -1
  151. package/Libraries/Utilities/DevSettings.js +1 -1
  152. package/Libraries/Utilities/DeviceInfo.js +1 -1
  153. package/Libraries/Utilities/DeviceInfo.win32.js +1 -1
  154. package/Libraries/Utilities/FeatureDetection.js +2 -4
  155. package/Libraries/Utilities/FocusManager.win32.js +3 -3
  156. package/Libraries/Utilities/GlobalPerformanceLogger.js +1 -1
  157. package/Libraries/Utilities/HMRClient.js +5 -33
  158. package/Libraries/Utilities/HMRClientProdShim.js +1 -2
  159. package/Libraries/Utilities/Platform.android.js +2 -2
  160. package/Libraries/Utilities/Platform.ios.js +2 -2
  161. package/Libraries/Utilities/Platform.win32.js +2 -2
  162. package/Libraries/Utilities/{Platform.flow.win32.js → PlatformTypes.js} +1 -0
  163. package/Libraries/Utilities/PolyfillFunctions.js +3 -5
  164. package/Libraries/Utilities/RCTLog.js +1 -1
  165. package/Libraries/Utilities/ReactNativeTestTools.js +1 -1
  166. package/Libraries/Utilities/SceneTracker.js +1 -1
  167. package/Libraries/Utilities/__mocks__/GlobalPerformanceLogger.js +2 -2
  168. package/Libraries/Utilities/binaryToBase64.js +1 -1
  169. package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +1 -1
  170. package/Libraries/Utilities/defineLazyObjectProperty.js +1 -1
  171. package/Libraries/Utilities/differ/deepDiffer.js +3 -3
  172. package/Libraries/Utilities/differ/insetsDiffer.js +3 -3
  173. package/Libraries/Utilities/differ/matricesDiffer.js +3 -6
  174. package/Libraries/Utilities/differ/pointsDiffer.js +3 -3
  175. package/Libraries/Utilities/differ/sizesDiffer.js +3 -3
  176. package/Libraries/Utilities/dismissKeyboard.js +1 -1
  177. package/Libraries/Utilities/infoLog.js +1 -1
  178. package/Libraries/Utilities/logError.js +1 -1
  179. package/Libraries/Utilities/mapWithSeparator.js +1 -1
  180. package/Libraries/Utilities/warnOnce.js +1 -1
  181. package/Libraries/Vibration/Vibration.js +3 -3
  182. package/Libraries/vendor/emitter/EventEmitter.js +21 -9
  183. package/index.js +113 -199
  184. package/index.win32.js +21 -13
  185. package/jest/setup.js +9 -2
  186. package/overrides.json +35 -34
  187. package/package.json +15 -15
  188. package/src/private/devmenu/DevMenu.js +1 -1
  189. package/src/private/featureflags/ReactNativeFeatureFlags.js +22 -23
  190. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +4 -7
  191. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +5 -4
  192. package/src/private/inspector/BoxInspector.js +1 -1
  193. package/src/private/inspector/ElementBox.js +3 -2
  194. package/src/private/inspector/ElementProperties.js +5 -3
  195. package/src/private/inspector/Inspector.js +2 -2
  196. package/src/private/inspector/InspectorOverlay.js +4 -4
  197. package/src/private/inspector/InspectorPanel.js +1 -1
  198. package/src/private/inspector/NetworkOverlay.js +4 -4
  199. package/src/private/inspector/PerformanceOverlay.js +3 -2
  200. package/src/private/inspector/ReactDevToolsOverlay.js +3 -3
  201. package/src/private/inspector/StyleInspector.js +1 -1
  202. package/src/private/inspector/XHRInterceptor.js +5 -2
  203. package/src/private/renderer/errorhandling/ErrorHandlers.js +2 -1
  204. package/src/private/specs_DEPRECATED/modules/NativeExceptionsManager.js +1 -1
  205. package/src/private/specs_DEPRECATED/modules/NativePermissionsAndroid.js +5 -4
  206. package/src/private/specs_DEPRECATED/modules/NativeUIManager.js +92 -19
  207. package/src/private/webapis/dom/events/CustomEvent.js +5 -7
  208. package/src/private/webapis/dom/events/Event.js +5 -5
  209. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.js +1 -0
  210. package/src/private/webapis/html/events/MessageEvent.js +12 -19
  211. package/src/private/webapis/websockets/events/CloseEvent.js +9 -11
  212. package/src/private/webapis/xhr/events/ProgressEvent.js +9 -11
  213. package/src-win/Libraries/Components/View/ViewPropTypes.d.ts +14 -14
  214. package/Libraries/Alert/Alert.flow.js +0 -62
  215. package/Libraries/Alert/RCTAlertManager.flow.js +0 -20
  216. package/Libraries/Utilities/Platform.flow.js +0 -91
  217. package/flow/react.js +0 -15
@@ -9,9 +9,9 @@
9
9
  */
10
10
 
11
11
  import type {
12
- LayoutEvent,
12
+ LayoutChangeEvent,
13
13
  MouseEvent,
14
- PressEvent,
14
+ GestureResponderEvent,
15
15
  // [Windows
16
16
  BlurEvent,
17
17
  FocusEvent,
@@ -133,7 +133,7 @@ type Props = $ReadOnly<{
133
133
  /**
134
134
  * Called when this view's layout changes.
135
135
  */
136
- onLayout?: ?(event: LayoutEvent) => mixed,
136
+ onLayout?: ?(event: LayoutChangeEvent) => mixed,
137
137
 
138
138
  /**
139
139
  * Called when the hover is activated to provide visual feedback.
@@ -148,22 +148,22 @@ type Props = $ReadOnly<{
148
148
  /**
149
149
  * Called when a long-tap gesture is detected.
150
150
  */
151
- onLongPress?: ?(event: PressEvent) => mixed,
151
+ onLongPress?: ?(event: GestureResponderEvent) => mixed,
152
152
 
153
153
  /**
154
154
  * Called when a single tap gesture is detected.
155
155
  */
156
- onPress?: ?(event: PressEvent) => mixed,
156
+ onPress?: ?(event: GestureResponderEvent) => mixed,
157
157
 
158
158
  /**
159
159
  * Called when a touch is engaged before `onPress`.
160
160
  */
161
- onPressIn?: ?(event: PressEvent) => mixed,
161
+ onPressIn?: ?(event: GestureResponderEvent) => mixed,
162
162
 
163
163
  /**
164
164
  * Called when a touch is released before `onPress`.
165
165
  */
166
- onPressOut?: ?(event: PressEvent) => mixed,
166
+ onPressOut?: ?(event: GestureResponderEvent) => mixed,
167
167
 
168
168
  /**
169
169
  * Called after the element loses focus.
@@ -356,7 +356,7 @@ function Pressable(
356
356
  onHoverOut,
357
357
  onLongPress,
358
358
  onPress,
359
- onPressIn(event: PressEvent): void {
359
+ onPressIn(event: GestureResponderEvent): void {
360
360
  if (android_rippleConfig != null) {
361
361
  android_rippleConfig.onPressIn(event);
362
362
  }
@@ -366,7 +366,7 @@ function Pressable(
366
366
  }
367
367
  },
368
368
  onPressMove: android_rippleConfig?.onPressMove,
369
- onPressOut(event: PressEvent): void {
369
+ onPressOut(event: GestureResponderEvent): void {
370
370
  if (android_rippleConfig != null) {
371
371
  android_rippleConfig.onPressOut(event);
372
372
  }
@@ -9,7 +9,7 @@
9
9
  */
10
10
 
11
11
  import type {ColorValue} from '../../StyleSheet/StyleSheet';
12
- import type {PressEvent} from '../../Types/CoreEventTypes';
12
+ import type {GestureResponderEvent} from '../../Types/CoreEventTypes';
13
13
 
14
14
  import processColor from '../../StyleSheet/processColor';
15
15
  import Platform from '../../Utilities/Platform';
@@ -41,9 +41,9 @@ export default function useAndroidRippleForView(
41
41
  rippleConfig: ?RippleConfig,
42
42
  viewRef: {current: null | React.ElementRef<typeof View>},
43
43
  ): ?$ReadOnly<{
44
- onPressIn: (event: PressEvent) => void,
45
- onPressMove: (event: PressEvent) => void,
46
- onPressOut: (event: PressEvent) => void,
44
+ onPressIn: (event: GestureResponderEvent) => void,
45
+ onPressMove: (event: GestureResponderEvent) => void,
46
+ onPressOut: (event: GestureResponderEvent) => void,
47
47
  viewProps:
48
48
  | $ReadOnly<{nativeBackgroundAndroid: NativeBackgroundProp}>
49
49
  | $ReadOnly<{nativeForegroundAndroid: NativeBackgroundProp}>,
@@ -75,7 +75,7 @@ export default function useAndroidRippleForView(
75
75
  {nativeForegroundAndroid: nativeRippleValue}
76
76
  : // $FlowFixMe[incompatible-return]
77
77
  {nativeBackgroundAndroid: nativeRippleValue},
78
- onPressIn(event: PressEvent): void {
78
+ onPressIn(event: GestureResponderEvent): void {
79
79
  const view = viewRef.current;
80
80
  if (view != null) {
81
81
  Commands.hotspotUpdate(
@@ -86,7 +86,7 @@ export default function useAndroidRippleForView(
86
86
  Commands.setPressed(view, true);
87
87
  }
88
88
  },
89
- onPressMove(event: PressEvent): void {
89
+ onPressMove(event: GestureResponderEvent): void {
90
90
  const view = viewRef.current;
91
91
  if (view != null) {
92
92
  Commands.hotspotUpdate(
@@ -96,7 +96,7 @@ export default function useAndroidRippleForView(
96
96
  );
97
97
  }
98
98
  },
99
- onPressOut(event: PressEvent): void {
99
+ onPressOut(event: GestureResponderEvent): void {
100
100
  const view = viewRef.current;
101
101
  if (view != null) {
102
102
  Commands.setPressed(view, false);
@@ -4,9 +4,15 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
+ * @flow
7
8
  * @format
8
9
  */
9
10
 
10
11
  'use strict';
11
12
 
12
- export default require('../UnimplementedViews/UnimplementedView');
13
+ import typeof UnimplementedViewType from '../UnimplementedViews/UnimplementedView';
14
+ import typeof ProgressBarAndroidNativeComponentType from './ProgressBarAndroidNativeComponent';
15
+
16
+ export default require('../UnimplementedViews/UnimplementedView').default as
17
+ | UnimplementedViewType
18
+ | ProgressBarAndroidNativeComponentType;
@@ -19,7 +19,7 @@ import PullToRefreshViewNativeComponent, {
19
19
  } from './PullToRefreshViewNativeComponent';
20
20
  import React from 'react';
21
21
 
22
- const Platform = require('../../Utilities/Platform');
22
+ const Platform = require('../../Utilities/Platform').default;
23
23
 
24
24
  type IOSProps = $ReadOnly<{
25
25
  /**
@@ -14,8 +14,8 @@ import type {PointProp} from '../../StyleSheet/PointPropType';
14
14
  import type {ViewStyleProp} from '../../StyleSheet/StyleSheet';
15
15
  import type {ColorValue} from '../../StyleSheet/StyleSheet';
16
16
  import type {
17
- LayoutEvent,
18
- PressEvent,
17
+ LayoutChangeEvent,
18
+ GestureResponderEvent,
19
19
  ScrollEvent,
20
20
  } from '../../Types/CoreEventTypes';
21
21
  import type {EventSubscription} from '../../vendor/emitter/EventEmitter';
@@ -1105,7 +1105,11 @@ class ScrollView extends React.Component<Props, State> {
1105
1105
  }
1106
1106
  }
1107
1107
 
1108
- _onStickyHeaderLayout(index: number, event: LayoutEvent, key: React.Key) {
1108
+ _onStickyHeaderLayout(
1109
+ index: number,
1110
+ event: LayoutChangeEvent,
1111
+ key: React.Key,
1112
+ ) {
1109
1113
  const {stickyHeaderIndices} = this.props;
1110
1114
  if (!stickyHeaderIndices) {
1111
1115
  return;
@@ -1136,7 +1140,7 @@ class ScrollView extends React.Component<Props, State> {
1136
1140
  this.props.onScroll && this.props.onScroll(e);
1137
1141
  };
1138
1142
 
1139
- _handleLayout = (e: LayoutEvent) => {
1143
+ _handleLayout = (e: LayoutChangeEvent) => {
1140
1144
  if (this.props.invertStickyHeaders === true) {
1141
1145
  this.setState({layoutHeight: e.nativeEvent.layout.height});
1142
1146
  }
@@ -1145,7 +1149,7 @@ class ScrollView extends React.Component<Props, State> {
1145
1149
  }
1146
1150
  };
1147
1151
 
1148
- _handleContentOnLayout = (e: LayoutEvent) => {
1152
+ _handleContentOnLayout = (e: LayoutChangeEvent) => {
1149
1153
  const {width, height} = e.nativeEvent.layout;
1150
1154
  this.props.onContentSizeChange &&
1151
1155
  this.props.onContentSizeChange(width, height);
@@ -1318,7 +1322,9 @@ class ScrollView extends React.Component<Props, State> {
1318
1322
  /**
1319
1323
  * Invoke this from an `onResponderGrant` event.
1320
1324
  */
1321
- _handleResponderGrant: (e: PressEvent) => void = (e: PressEvent) => {
1325
+ _handleResponderGrant: (e: GestureResponderEvent) => void = (
1326
+ e: GestureResponderEvent,
1327
+ ) => {
1322
1328
  this._observedScrollSinceBecomingResponder = false;
1323
1329
  this.props.onResponderGrant && this.props.onResponderGrant(e);
1324
1330
  this._becameResponderWhileAnimating = this._isAnimating();
@@ -1339,7 +1345,9 @@ class ScrollView extends React.Component<Props, State> {
1339
1345
  /**
1340
1346
  * Invoke this from an `onResponderRelease` event.
1341
1347
  */
1342
- _handleResponderRelease: (e: PressEvent) => void = (e: PressEvent) => {
1348
+ _handleResponderRelease: (e: GestureResponderEvent) => void = (
1349
+ e: GestureResponderEvent,
1350
+ ) => {
1343
1351
  this._isTouching = e.nativeEvent.touches.length !== 0;
1344
1352
  this.props.onResponderRelease && this.props.onResponderRelease(e);
1345
1353
 
@@ -1424,8 +1432,8 @@ class ScrollView extends React.Component<Props, State> {
1424
1432
  * true.
1425
1433
  *
1426
1434
  */
1427
- _handleStartShouldSetResponder: (e: PressEvent) => boolean = (
1428
- e: PressEvent,
1435
+ _handleStartShouldSetResponder: (e: GestureResponderEvent) => boolean = (
1436
+ e: GestureResponderEvent,
1429
1437
  ) => {
1430
1438
  // Allow any event touch pass through if the default pan responder is disabled
1431
1439
  if (this.props.disableScrollViewPanResponder === true) {
@@ -1454,55 +1462,54 @@ class ScrollView extends React.Component<Props, State> {
1454
1462
  *
1455
1463
  * Invoke this from an `onStartShouldSetResponderCapture` event.
1456
1464
  */
1457
- _handleStartShouldSetResponderCapture: (e: PressEvent) => boolean = (
1458
- e: PressEvent,
1459
- ) => {
1460
- // The scroll view should receive taps instead of its descendants if:
1461
- // * it is already animating/decelerating
1462
- if (this._isAnimating()) {
1463
- return true;
1464
- }
1465
+ _handleStartShouldSetResponderCapture: (e: GestureResponderEvent) => boolean =
1466
+ (e: GestureResponderEvent) => {
1467
+ // The scroll view should receive taps instead of its descendants if:
1468
+ // * it is already animating/decelerating
1469
+ if (this._isAnimating()) {
1470
+ return true;
1471
+ }
1465
1472
 
1466
- // Allow any event touch pass through if the default pan responder is disabled
1467
- if (this.props.disableScrollViewPanResponder === true) {
1468
- return false;
1469
- }
1473
+ // Allow any event touch pass through if the default pan responder is disabled
1474
+ if (this.props.disableScrollViewPanResponder === true) {
1475
+ return false;
1476
+ }
1470
1477
 
1471
- // * the keyboard is up, keyboardShouldPersistTaps is 'never' (the default),
1472
- // and a new touch starts with a non-textinput target (in which case the
1473
- // first tap should be sent to the scroll view and dismiss the keyboard,
1474
- // then the second tap goes to the actual interior view)
1475
- const {keyboardShouldPersistTaps} = this.props;
1476
- const keyboardNeverPersistTaps =
1477
- !keyboardShouldPersistTaps || keyboardShouldPersistTaps === 'never';
1478
+ // * the keyboard is up, keyboardShouldPersistTaps is 'never' (the default),
1479
+ // and a new touch starts with a non-textinput target (in which case the
1480
+ // first tap should be sent to the scroll view and dismiss the keyboard,
1481
+ // then the second tap goes to the actual interior view)
1482
+ const {keyboardShouldPersistTaps} = this.props;
1483
+ const keyboardNeverPersistTaps =
1484
+ !keyboardShouldPersistTaps || keyboardShouldPersistTaps === 'never';
1485
+
1486
+ if (typeof e.target === 'number') {
1487
+ if (__DEV__) {
1488
+ console.error(
1489
+ 'Did not expect event target to be a number. Should have been a native component',
1490
+ );
1491
+ }
1478
1492
 
1479
- if (typeof e.target === 'number') {
1480
- if (__DEV__) {
1481
- console.error(
1482
- 'Did not expect event target to be a number. Should have been a native component',
1483
- );
1493
+ return false;
1484
1494
  }
1485
1495
 
1486
- return false;
1487
- }
1488
-
1489
- // Let presses through if the soft keyboard is detached from the viewport
1490
- if (this._softKeyboardIsDetached()) {
1491
- return false;
1492
- }
1496
+ // Let presses through if the soft keyboard is detached from the viewport
1497
+ if (this._softKeyboardIsDetached()) {
1498
+ return false;
1499
+ }
1493
1500
 
1494
- if (
1495
- keyboardNeverPersistTaps &&
1496
- this._keyboardIsDismissible() &&
1497
- e.target != null &&
1498
- // $FlowFixMe[incompatible-call]
1499
- !TextInputState.isTextInput(e.target)
1500
- ) {
1501
- return true;
1502
- }
1501
+ if (
1502
+ keyboardNeverPersistTaps &&
1503
+ this._keyboardIsDismissible() &&
1504
+ e.target != null &&
1505
+ // $FlowFixMe[incompatible-call]
1506
+ !TextInputState.isTextInput(e.target)
1507
+ ) {
1508
+ return true;
1509
+ }
1503
1510
 
1504
- return false;
1505
- };
1511
+ return false;
1512
+ };
1506
1513
 
1507
1514
  /**
1508
1515
  * Do we consider there to be a dismissible soft-keyboard open?
@@ -1546,9 +1553,11 @@ class ScrollView extends React.Component<Props, State> {
1546
1553
  /**
1547
1554
  * Invoke this from an `onTouchEnd` event.
1548
1555
  *
1549
- * @param {PressEvent} e Event.
1556
+ * @param {GestureResponderEvent} e Event.
1550
1557
  */
1551
- _handleTouchEnd: (e: PressEvent) => void = (e: PressEvent) => {
1558
+ _handleTouchEnd: (e: GestureResponderEvent) => void = (
1559
+ e: GestureResponderEvent,
1560
+ ) => {
1552
1561
  const nativeEvent = e.nativeEvent;
1553
1562
  this._isTouching = nativeEvent.touches.length !== 0;
1554
1563
 
@@ -1576,9 +1585,11 @@ class ScrollView extends React.Component<Props, State> {
1576
1585
  /**
1577
1586
  * Invoke this from an `onTouchCancel` event.
1578
1587
  *
1579
- * @param {PressEvent} e Event.
1588
+ * @param {GestureResponderEvent} e Event.
1580
1589
  */
1581
- _handleTouchCancel: (e: PressEvent) => void = (e: PressEvent) => {
1590
+ _handleTouchCancel: (e: GestureResponderEvent) => void = (
1591
+ e: GestureResponderEvent,
1592
+ ) => {
1582
1593
  this._isTouching = false;
1583
1594
  this.props.onTouchCancel && this.props.onTouchCancel(e);
1584
1595
  };
@@ -1592,9 +1603,11 @@ class ScrollView extends React.Component<Props, State> {
1592
1603
  * responder). The `onResponderReject` won't fire in that case - it only
1593
1604
  * fires when a *current* responder rejects our request.
1594
1605
  *
1595
- * @param {PressEvent} e Touch Start event.
1606
+ * @param {GestureResponderEvent} e Touch Start event.
1596
1607
  */
1597
- _handleTouchStart: (e: PressEvent) => void = (e: PressEvent) => {
1608
+ _handleTouchStart: (e: GestureResponderEvent) => void = (
1609
+ e: GestureResponderEvent,
1610
+ ) => {
1598
1611
  this._isTouching = true;
1599
1612
  this.props.onTouchStart && this.props.onTouchStart(e);
1600
1613
  };
@@ -1608,9 +1621,11 @@ class ScrollView extends React.Component<Props, State> {
1608
1621
  * responder). The `onResponderReject` won't fire in that case - it only
1609
1622
  * fires when a *current* responder rejects our request.
1610
1623
  *
1611
- * @param {PressEvent} e Touch Start event.
1624
+ * @param {GestureResponderEvent} e Touch Start event.
1612
1625
  */
1613
- _handleTouchMove: (e: PressEvent) => void = (e: PressEvent) => {
1626
+ _handleTouchMove: (e: GestureResponderEvent) => void = (
1627
+ e: GestureResponderEvent,
1628
+ ) => {
1614
1629
  this.props.onTouchMove && this.props.onTouchMove(e);
1615
1630
  };
1616
1631
 
@@ -42,7 +42,7 @@ export const __INTERNAL_VIEW_CONFIG: PartialViewConfig =
42
42
  },
43
43
  validAttributes: {
44
44
  contentOffset: {
45
- diff: require('../../Utilities/differ/pointsDiffer'),
45
+ diff: require('../../Utilities/differ/pointsDiffer').default,
46
46
  },
47
47
  decelerationRate: true,
48
48
  disableIntervalMomentum: true,
@@ -126,10 +126,10 @@ export const __INTERNAL_VIEW_CONFIG: PartialViewConfig =
126
126
  canCancelContentTouches: true,
127
127
  centerContent: true,
128
128
  contentInset: {
129
- diff: require('../../Utilities/differ/insetsDiffer'),
129
+ diff: require('../../Utilities/differ/insetsDiffer').default,
130
130
  },
131
131
  contentOffset: {
132
- diff: require('../../Utilities/differ/pointsDiffer'),
132
+ diff: require('../../Utilities/differ/pointsDiffer').default,
133
133
  },
134
134
  contentInsetAdjustmentBehavior: true,
135
135
  decelerationRate: true,
@@ -147,7 +147,7 @@ export const __INTERNAL_VIEW_CONFIG: PartialViewConfig =
147
147
  scrollEnabled: true,
148
148
  scrollEventThrottle: true,
149
149
  scrollIndicatorInsets: {
150
- diff: require('../../Utilities/differ/insetsDiffer'),
150
+ diff: require('../../Utilities/differ/insetsDiffer').default,
151
151
  },
152
152
  scrollToOverflowEnabled: true,
153
153
  scrollsToTop: true,
@@ -159,7 +159,7 @@ export const __INTERNAL_VIEW_CONFIG: PartialViewConfig =
159
159
  snapToOffsets: true,
160
160
  snapToStart: true,
161
161
  verticalScrollIndicatorInsets: {
162
- diff: require('../../Utilities/differ/insetsDiffer'),
162
+ diff: require('../../Utilities/differ/insetsDiffer').default,
163
163
  },
164
164
  zoomScale: true,
165
165
  ...ConditionallyIgnoredEventHandlers({
@@ -13,7 +13,10 @@
13
13
  import type {EdgeInsetsProp} from '../../StyleSheet/EdgeInsetsPropType';
14
14
  import type {PointProp} from '../../StyleSheet/PointPropType';
15
15
  import type {ColorValue} from '../../StyleSheet/StyleSheet';
16
- import type {PressEvent, ScrollEvent} from '../../Types/CoreEventTypes';
16
+ import type {
17
+ GestureResponderEvent,
18
+ ScrollEvent,
19
+ } from '../../Types/CoreEventTypes';
17
20
  import type {ViewProps} from '../View/ViewPropTypes';
18
21
 
19
22
  export type ScrollViewNativeProps = $ReadOnly<{
@@ -76,6 +79,6 @@ export type ScrollViewNativeProps = $ReadOnly<{
76
79
  snapToStart?: ?boolean,
77
80
  zoomScale?: ?number,
78
81
  // Overrides
79
- onResponderGrant?: ?(e: PressEvent) => void | boolean,
82
+ onResponderGrant?: ?(e: GestureResponderEvent) => void | boolean,
80
83
  ...
81
84
  }>;
@@ -8,7 +8,7 @@
8
8
  * @format
9
9
  */
10
10
 
11
- import type {LayoutEvent} from '../../Types/CoreEventTypes';
11
+ import type {LayoutChangeEvent} from '../../Types/CoreEventTypes';
12
12
 
13
13
  import Animated from '../../Animated/Animated';
14
14
  import {isPublicInstance as isFabricPublicInstance} from '../../ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstanceUtils';
@@ -21,7 +21,7 @@ import {useCallback, useEffect, useMemo, useRef, useState} from 'react';
21
21
  export type Props = $ReadOnly<{
22
22
  children?: React.Node,
23
23
  nextHeaderLayoutY: ?number,
24
- onLayout: (event: LayoutEvent) => void,
24
+ onLayout: (event: LayoutChangeEvent) => void,
25
25
  scrollAnimatedValue: Animated.Value,
26
26
  // Will cause sticky headers to stick at the bottom of the ScrollView instead
27
27
  // of the top.
@@ -253,7 +253,7 @@ const ScrollViewStickyHeaderWithForwardedRef: component(
253
253
  isFabric,
254
254
  ]);
255
255
 
256
- const _onLayout = (event: LayoutEvent) => {
256
+ const _onLayout = (event: LayoutChangeEvent) => {
257
257
  setLayoutY(event.nativeEvent.layout.y);
258
258
  setLayoutHeight(event.nativeEvent.layout.height);
259
259
  setMeasured(true);
@@ -9,7 +9,7 @@
9
9
  */
10
10
 
11
11
  import type {ColorValue} from '../../StyleSheet/StyleSheet';
12
- import type {SyntheticEvent} from '../../Types/CoreEventTypes';
12
+ import type {NativeSyntheticEvent} from '../../Types/CoreEventTypes';
13
13
  import type {ViewProps} from '../View/ViewPropTypes';
14
14
 
15
15
  import StyleSheet from '../../StyleSheet/StyleSheet';
@@ -23,7 +23,7 @@ import SwitchNativeComponent, {
23
23
  } from './SwitchNativeComponent';
24
24
  import * as React from 'react';
25
25
 
26
- type SwitchChangeEvent = SyntheticEvent<
26
+ type SwitchChangeEvent = NativeSyntheticEvent<
27
27
  $ReadOnly<{
28
28
  value: boolean,
29
29
  target: number,
@@ -98,7 +98,9 @@ const RCTTextInputViewConfig = {
98
98
  fontWeight: true,
99
99
  fontVariant: true,
100
100
  // flowlint-next-line untyped-import:off
101
- textShadowOffset: {diff: require('../../Utilities/differ/sizesDiffer')},
101
+ textShadowOffset: {
102
+ diff: require('../../Utilities/differ/sizesDiffer').default,
103
+ },
102
104
  allowFontScaling: true,
103
105
  fontStyle: true,
104
106
  textTransform: true,
@@ -10,9 +10,9 @@
10
10
 
11
11
  import type {HostInstance} from '../../Renderer/shims/ReactNativeTypes';
12
12
  import type {
13
- PressEvent,
13
+ GestureResponderEvent,
14
14
  ScrollEvent,
15
- SyntheticEvent,
15
+ NativeSyntheticEvent,
16
16
  } from '../../Types/CoreEventTypes';
17
17
  import type {ViewProps} from '../View/ViewPropTypes';
18
18
 
@@ -31,9 +31,10 @@ export type TextInputChangeEventData = $ReadOnly<{
31
31
  text: string,
32
32
  }>;
33
33
 
34
- export type TextInputChangeEvent = SyntheticEvent<TextInputChangeEventData>;
34
+ export type TextInputChangeEvent =
35
+ NativeSyntheticEvent<TextInputChangeEventData>;
35
36
 
36
- export type TextInputEvent = SyntheticEvent<
37
+ export type TextInputEvent = NativeSyntheticEvent<
37
38
  $ReadOnly<{
38
39
  eventCount: number,
39
40
  previousText: string,
@@ -55,7 +56,7 @@ export type TextInputContentSizeChangeEventData = $ReadOnly<{
55
56
  }>;
56
57
 
57
58
  export type TextInputContentSizeChangeEvent =
58
- SyntheticEvent<TextInputContentSizeChangeEventData>;
59
+ NativeSyntheticEvent<TextInputContentSizeChangeEventData>;
59
60
 
60
61
  export type TargetEvent = $ReadOnly<{
61
62
  target: number,
@@ -63,8 +64,8 @@ export type TargetEvent = $ReadOnly<{
63
64
 
64
65
  export type TextInputFocusEventData = TargetEvent;
65
66
 
66
- export type TextInputBlurEvent = SyntheticEvent<TextInputFocusEventData>;
67
- export type TextInputFocusEvent = SyntheticEvent<TextInputFocusEventData>;
67
+ export type TextInputBlurEvent = NativeSyntheticEvent<TextInputFocusEventData>;
68
+ export type TextInputFocusEvent = NativeSyntheticEvent<TextInputFocusEventData>;
68
69
 
69
70
  type Selection = $ReadOnly<{
70
71
  start: number,
@@ -77,7 +78,7 @@ export type TextInputSelectionChangeEventData = $ReadOnly<{
77
78
  }>;
78
79
 
79
80
  export type TextInputSelectionChangeEvent =
80
- SyntheticEvent<TextInputSelectionChangeEventData>;
81
+ NativeSyntheticEvent<TextInputSelectionChangeEventData>;
81
82
 
82
83
  export type TextInputKeyPressEventData = $ReadOnly<{
83
84
  ...TargetEvent,
@@ -86,7 +87,8 @@ export type TextInputKeyPressEventData = $ReadOnly<{
86
87
  eventCount: number,
87
88
  }>;
88
89
 
89
- export type TextInputKeyPressEvent = SyntheticEvent<TextInputKeyPressEventData>;
90
+ export type TextInputKeyPressEvent =
91
+ NativeSyntheticEvent<TextInputKeyPressEventData>;
90
92
 
91
93
  export type TextInputEndEditingEventData = $ReadOnly<{
92
94
  ...TargetEvent,
@@ -95,7 +97,7 @@ export type TextInputEndEditingEventData = $ReadOnly<{
95
97
  }>;
96
98
 
97
99
  export type TextInputEditingEvent =
98
- SyntheticEvent<TextInputEndEditingEventData>;
100
+ NativeSyntheticEvent<TextInputEndEditingEventData>;
99
101
 
100
102
  type DataDetectorTypesType =
101
103
  | 'phoneNumber'
@@ -817,17 +819,17 @@ export type TextInputProps = $ReadOnly<{
817
819
  /**
818
820
  * Called when a single tap gesture is detected.
819
821
  */
820
- onPress?: ?(event: PressEvent) => mixed,
822
+ onPress?: ?(event: GestureResponderEvent) => mixed,
821
823
 
822
824
  /**
823
825
  * Called when a touch is engaged.
824
826
  */
825
- onPressIn?: ?(event: PressEvent) => mixed,
827
+ onPressIn?: ?(event: GestureResponderEvent) => mixed,
826
828
 
827
829
  /**
828
830
  * Called when a touch is released.
829
831
  */
830
- onPressOut?: ?(event: PressEvent) => mixed,
832
+ onPressOut?: ?(event: GestureResponderEvent) => mixed,
831
833
 
832
834
  /**
833
835
  * Callback that is called when the text input selection is changed.