@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
@@ -11,9 +11,9 @@
11
11
  import type {HostInstance} from '../../Renderer/shims/ReactNativeTypes';
12
12
  import type {____TextStyle_Internal as TextStyleInternal} from '../../StyleSheet/StyleSheetTypes';
13
13
  import type {
14
- PressEvent,
14
+ GestureResponderEvent,
15
15
  ScrollEvent,
16
- SyntheticEvent,
16
+ NativeSyntheticEvent,
17
17
  } from '../../Types/CoreEventTypes';
18
18
  import type {ViewProps} from '../View/ViewPropTypes';
19
19
  import type {TextInputType} from './TextInput.flow';
@@ -72,9 +72,10 @@ export type TextInputChangeEventData = $ReadOnly<{
72
72
  text: string,
73
73
  }>;
74
74
 
75
- export type TextInputChangeEvent = SyntheticEvent<TextInputChangeEventData>;
75
+ export type TextInputChangeEvent =
76
+ NativeSyntheticEvent<TextInputChangeEventData>;
76
77
 
77
- export type TextInputEvent = SyntheticEvent<
78
+ export type TextInputEvent = NativeSyntheticEvent<
78
79
  $ReadOnly<{
79
80
  eventCount: number,
80
81
  previousText: string,
@@ -96,7 +97,7 @@ export type TextInputContentSizeChangeEventData = $ReadOnly<{
96
97
  }>;
97
98
 
98
99
  export type TextInputContentSizeChangeEvent =
99
- SyntheticEvent<TextInputContentSizeChangeEventData>;
100
+ NativeSyntheticEvent<TextInputContentSizeChangeEventData>;
100
101
 
101
102
  export type TargetEvent = $ReadOnly<{
102
103
  target: number,
@@ -104,8 +105,8 @@ export type TargetEvent = $ReadOnly<{
104
105
 
105
106
  export type TextInputFocusEventData = TargetEvent;
106
107
 
107
- export type TextInputBlurEvent = SyntheticEvent<TextInputFocusEventData>;
108
- export type TextInputFocusEvent = SyntheticEvent<TextInputFocusEventData>;
108
+ export type TextInputBlurEvent = NativeSyntheticEvent<TextInputFocusEventData>;
109
+ export type TextInputFocusEvent = NativeSyntheticEvent<TextInputFocusEventData>;
109
110
 
110
111
  type Selection = $ReadOnly<{
111
112
  start: number,
@@ -118,7 +119,7 @@ export type TextInputSelectionChangeEventData = $ReadOnly<{
118
119
  }>;
119
120
 
120
121
  export type TextInputSelectionChangeEvent =
121
- SyntheticEvent<TextInputSelectionChangeEventData>;
122
+ NativeSyntheticEvent<TextInputSelectionChangeEventData>;
122
123
 
123
124
  type TextInputKeyPressEventData = $ReadOnly<{
124
125
  ...TargetEvent,
@@ -127,7 +128,8 @@ type TextInputKeyPressEventData = $ReadOnly<{
127
128
  eventCount?: ?number,
128
129
  }>;
129
130
 
130
- export type TextInputKeyPressEvent = SyntheticEvent<TextInputKeyPressEventData>;
131
+ export type TextInputKeyPressEvent =
132
+ NativeSyntheticEvent<TextInputKeyPressEventData>;
131
133
 
132
134
  export type TextInputEndEditingEventData = $ReadOnly<{
133
135
  ...TargetEvent,
@@ -136,7 +138,7 @@ export type TextInputEndEditingEventData = $ReadOnly<{
136
138
  }>;
137
139
 
138
140
  export type TextInputEditingEvent =
139
- SyntheticEvent<TextInputEndEditingEventData>;
141
+ NativeSyntheticEvent<TextInputEndEditingEventData>;
140
142
 
141
143
  type DataDetectorTypesType =
142
144
  | '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.
@@ -1521,7 +1523,7 @@ function InternalTextInput(props: TextInputProps): React.Node {
1521
1523
  const config = React.useMemo(
1522
1524
  () => ({
1523
1525
  hitSlop,
1524
- onPress: (event: PressEvent) => {
1526
+ onPress: (event: GestureResponderEvent) => {
1525
1527
  onPress?.(event);
1526
1528
  if (editable !== false) {
1527
1529
  if (inputRef.current != null) {
@@ -11,9 +11,9 @@
11
11
  import type {HostInstance} from '../../Renderer/shims/ReactNativeTypes';
12
12
  import type {____TextStyle_Internal as TextStyleInternal} from '../../StyleSheet/StyleSheetTypes';
13
13
  import type {
14
- PressEvent,
14
+ GestureResponderEvent,
15
15
  ScrollEvent,
16
- SyntheticEvent,
16
+ NativeSyntheticEvent,
17
17
  } from '../../Types/CoreEventTypes';
18
18
  import type {ViewProps} from '../View/ViewPropTypes';
19
19
  import type {TextInputType} from './TextInput.flow';
@@ -83,9 +83,10 @@ export type TextInputChangeEventData = $ReadOnly<{
83
83
  text: string,
84
84
  }>;
85
85
 
86
- export type TextInputChangeEvent = SyntheticEvent<TextInputChangeEventData>;
86
+ export type TextInputChangeEvent =
87
+ NativeSyntheticEvent<TextInputChangeEventData>;
87
88
 
88
- export type TextInputEvent = SyntheticEvent<
89
+ export type TextInputEvent = NativeSyntheticEvent<
89
90
  $ReadOnly<{
90
91
  eventCount: number,
91
92
  previousText: string,
@@ -107,7 +108,7 @@ export type TextInputContentSizeChangeEventData = $ReadOnly<{
107
108
  }>;
108
109
 
109
110
  export type TextInputContentSizeChangeEvent =
110
- SyntheticEvent<TextInputContentSizeChangeEventData>;
111
+ NativeSyntheticEvent<TextInputContentSizeChangeEventData>;
111
112
 
112
113
  export type TargetEvent = $ReadOnly<{
113
114
  target: number,
@@ -115,8 +116,8 @@ export type TargetEvent = $ReadOnly<{
115
116
 
116
117
  export type TextInputFocusEventData = TargetEvent;
117
118
 
118
- export type TextInputBlurEvent = SyntheticEvent<TextInputFocusEventData>;
119
- export type TextInputFocusEvent = SyntheticEvent<TextInputFocusEventData>;
119
+ export type TextInputBlurEvent = NativeSyntheticEvent<TextInputFocusEventData>;
120
+ export type TextInputFocusEvent = NativeSyntheticEvent<TextInputFocusEventData>;
120
121
 
121
122
  type Selection = $ReadOnly<{
122
123
  start: number,
@@ -129,7 +130,7 @@ export type TextInputSelectionChangeEventData = $ReadOnly<{
129
130
  }>;
130
131
 
131
132
  export type TextInputSelectionChangeEvent =
132
- SyntheticEvent<TextInputSelectionChangeEventData>;
133
+ NativeSyntheticEvent<TextInputSelectionChangeEventData>;
133
134
 
134
135
  type TextInputKeyPressEventData = $ReadOnly<{
135
136
  ...TargetEvent,
@@ -138,7 +139,8 @@ type TextInputKeyPressEventData = $ReadOnly<{
138
139
  eventCount?: ?number,
139
140
  }>;
140
141
 
141
- export type TextInputKeyPressEvent = SyntheticEvent<TextInputKeyPressEventData>;
142
+ export type TextInputKeyPressEvent =
143
+ NativeSyntheticEvent<TextInputKeyPressEventData>;
142
144
 
143
145
  export type TextInputEndEditingEventData = $ReadOnly<{
144
146
  ...TargetEvent,
@@ -147,7 +149,7 @@ export type TextInputEndEditingEventData = $ReadOnly<{
147
149
  }>;
148
150
 
149
151
  export type TextInputEditingEvent =
150
- SyntheticEvent<TextInputEndEditingEventData>;
152
+ NativeSyntheticEvent<TextInputEndEditingEventData>;
151
153
 
152
154
  type DataDetectorTypesType =
153
155
  | 'phoneNumber'
@@ -860,17 +862,17 @@ export type TextInputProps = $ReadOnly<{
860
862
  /**
861
863
  * Called when a single tap gesture is detected.
862
864
  */
863
- onPress?: ?(event: PressEvent) => mixed,
865
+ onPress?: ?(event: GestureResponderEvent) => mixed,
864
866
 
865
867
  /**
866
868
  * Called when a touch is engaged.
867
869
  */
868
- onPressIn?: ?(event: PressEvent) => mixed,
870
+ onPressIn?: ?(event: GestureResponderEvent) => mixed,
869
871
 
870
872
  /**
871
873
  * Called when a touch is released.
872
874
  */
873
- onPressOut?: ?(event: PressEvent) => mixed,
875
+ onPressOut?: ?(event: GestureResponderEvent) => mixed,
874
876
 
875
877
  /**
876
878
  * Callback that is called when the text input selection is changed.
@@ -1578,7 +1580,7 @@ function InternalTextInput(props: TextInputProps): React.Node {
1578
1580
  const config = React.useMemo(
1579
1581
  () => ({
1580
1582
  hitSlop,
1581
- onPress: (event: PressEvent) => {
1583
+ onPress: (event: GestureResponderEvent) => {
1582
1584
  onPress?.(event);
1583
1585
  if (editable !== false) {
1584
1586
  if (inputRef.current != null) {
@@ -23,7 +23,7 @@ import {Commands as AndroidTextInputCommands} from '../../Components/TextInput/A
23
23
  import {Commands as iOSTextInputCommands} from '../../Components/TextInput/RCTSingelineTextInputNativeComponent';
24
24
 
25
25
  const {findNodeHandle} = require('../../ReactNative/RendererProxy');
26
- const Platform = require('../../Utilities/Platform');
26
+ const Platform = require('../../Utilities/Platform').default;
27
27
 
28
28
  let currentlyFocusedInputRef: ?HostInstance = null;
29
29
  const inputs = new Set<{
@@ -24,7 +24,7 @@ import {Commands as iOSTextInputCommands} from '../../Components/TextInput/RCTSi
24
24
  import {Commands as Win32TextInputCommands} from '../../Components/TextInput/Win32TextInputNativeComponent';
25
25
 
26
26
  const {findNodeHandle} = require('../../ReactNative/RendererProxy');
27
- const Platform = require('../../Utilities/Platform');
27
+ const Platform = require('../../Utilities/Platform').default;
28
28
 
29
29
  let currentlyFocusedInputRef: ?HostInstance = null;
30
30
  const inputs = new Set<{
@@ -10,7 +10,7 @@
10
10
 
11
11
  import type {EdgeInsetsProp} from '../../StyleSheet/EdgeInsetsPropType';
12
12
  import type {ColorValue} from '../../StyleSheet/StyleSheet';
13
- import type {PressEvent} from '../../Types/CoreEventTypes';
13
+ import type {GestureResponderEvent} from '../../Types/CoreEventTypes';
14
14
 
15
15
  import {PressabilityDebugView} from '../../Pressability/PressabilityDebug';
16
16
  import UIManager from '../../ReactNative/UIManager';
@@ -21,7 +21,7 @@ import Position from './Position';
21
21
  import * as React from 'react';
22
22
 
23
23
  const extractSingleTouch = (nativeEvent: {
24
- +changedTouches: $ReadOnlyArray<PressEvent['nativeEvent']>,
24
+ +changedTouches: $ReadOnlyArray<GestureResponderEvent['nativeEvent']>,
25
25
  +force?: number,
26
26
  +identifier: number,
27
27
  +locationX: number,
@@ -30,7 +30,7 @@ const extractSingleTouch = (nativeEvent: {
30
30
  +pageY: number,
31
31
  +target: ?number,
32
32
  +timestamp: number,
33
- +touches: $ReadOnlyArray<PressEvent['nativeEvent']>,
33
+ +touches: $ReadOnlyArray<GestureResponderEvent['nativeEvent']>,
34
34
  }) => {
35
35
  const touches = nativeEvent.touches;
36
36
  const changedTouches = nativeEvent.changedTouches;
@@ -398,7 +398,7 @@ const TouchableMixin = {
398
398
  touchableGetInitialState: function (): {
399
399
  touchable: {
400
400
  touchState: ?State,
401
- responderID: ?PressEvent['currentTarget'],
401
+ responderID: ?GestureResponderEvent['currentTarget'],
402
402
  },
403
403
  } {
404
404
  return {
@@ -434,12 +434,12 @@ const TouchableMixin = {
434
434
 
435
435
  /**
436
436
  * Place as callback for a DOM element's `onResponderGrant` event.
437
- * @param {SyntheticEvent} e Synthetic event from event system.
437
+ * @param {NativeSyntheticEvent} e Synthetic event from event system.
438
438
  *
439
439
  */
440
440
  /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by
441
441
  * Flow's LTI update could not be added via codemod */
442
- touchableHandleResponderGrant: function (e: PressEvent) {
442
+ touchableHandleResponderGrant: function (e: GestureResponderEvent) {
443
443
  const dispatchID = e.currentTarget;
444
444
  // Since e is used in a callback invoked on another event loop
445
445
  // (as in setTimeout etc), we need to call e.persist() on the
@@ -482,7 +482,7 @@ const TouchableMixin = {
482
482
  */
483
483
  /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by
484
484
  * Flow's LTI update could not be added via codemod */
485
- touchableHandleResponderRelease: function (e: PressEvent) {
485
+ touchableHandleResponderRelease: function (e: GestureResponderEvent) {
486
486
  this.pressInLocation = null;
487
487
  this._receiveSignal(Signals.RESPONDER_RELEASE, e);
488
488
  },
@@ -492,7 +492,7 @@ const TouchableMixin = {
492
492
  */
493
493
  /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by
494
494
  * Flow's LTI update could not be added via codemod */
495
- touchableHandleResponderTerminate: function (e: PressEvent) {
495
+ touchableHandleResponderTerminate: function (e: GestureResponderEvent) {
496
496
  this.pressInLocation = null;
497
497
  this._receiveSignal(Signals.RESPONDER_TERMINATED, e);
498
498
  },
@@ -502,7 +502,7 @@ const TouchableMixin = {
502
502
  */
503
503
  /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by
504
504
  * Flow's LTI update could not be added via codemod */
505
- touchableHandleResponderMove: function (e: PressEvent) {
505
+ touchableHandleResponderMove: function (e: GestureResponderEvent) {
506
506
  // Measurement may not have returned yet.
507
507
  if (!this.state.touchable.positionOnActivate) {
508
508
  return;
@@ -732,14 +732,14 @@ const TouchableMixin = {
732
732
 
733
733
  /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by
734
734
  * Flow's LTI update could not be added via codemod */
735
- _handleDelay: function (e: PressEvent) {
735
+ _handleDelay: function (e: GestureResponderEvent) {
736
736
  this.touchableDelayTimeout = null;
737
737
  this._receiveSignal(Signals.DELAY, e);
738
738
  },
739
739
 
740
740
  /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by
741
741
  * Flow's LTI update could not be added via codemod */
742
- _handleLongDelay: function (e: PressEvent) {
742
+ _handleLongDelay: function (e: GestureResponderEvent) {
743
743
  this.longPressDelayTimeout = null;
744
744
  const curState = this.state.touchable.touchState;
745
745
  if (
@@ -760,7 +760,7 @@ const TouchableMixin = {
760
760
  */
761
761
  /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by
762
762
  * Flow's LTI update could not be added via codemod */
763
- _receiveSignal: function (signal: Signal, e: PressEvent) {
763
+ _receiveSignal: function (signal: Signal, e: GestureResponderEvent) {
764
764
  const responderID = this.state.touchable.responderID;
765
765
  const curState = this.state.touchable.touchState;
766
766
  const nextState = Transitions[curState] && Transitions[curState][signal];
@@ -815,7 +815,7 @@ const TouchableMixin = {
815
815
 
816
816
  /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by
817
817
  * Flow's LTI update could not be added via codemod */
818
- _savePressInLocation: function (e: PressEvent) {
818
+ _savePressInLocation: function (e: GestureResponderEvent) {
819
819
  const touch = extractSingleTouch(e.nativeEvent);
820
820
  const pageX = touch && touch.pageX;
821
821
  const pageY = touch && touch.pageY;
@@ -852,7 +852,7 @@ const TouchableMixin = {
852
852
  curState: State,
853
853
  nextState: State,
854
854
  signal: Signal,
855
- e: PressEvent,
855
+ e: GestureResponderEvent,
856
856
  ) {
857
857
  const curIsHighlight = this._isHighlight(curState);
858
858
  const newIsHighlight = this._isHighlight(nextState);
@@ -911,14 +911,14 @@ const TouchableMixin = {
911
911
 
912
912
  /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by
913
913
  * Flow's LTI update could not be added via codemod */
914
- _startHighlight: function (e: PressEvent) {
914
+ _startHighlight: function (e: GestureResponderEvent) {
915
915
  this._savePressInLocation(e);
916
916
  this.touchableHandleActivePressIn && this.touchableHandleActivePressIn(e);
917
917
  },
918
918
 
919
919
  /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by
920
920
  * Flow's LTI update could not be added via codemod */
921
- _endHighlight: function (e: PressEvent) {
921
+ _endHighlight: function (e: GestureResponderEvent) {
922
922
  if (this.touchableHandleActivePressOut) {
923
923
  if (
924
924
  this.touchableGetPressOutDelayMS &&
@@ -10,7 +10,7 @@
10
10
 
11
11
  import type {EdgeInsetsProp} from '../../StyleSheet/EdgeInsetsPropType';
12
12
  import type {ColorValue} from '../../StyleSheet/StyleSheet';
13
- import type {PressEvent} from '../../Types/CoreEventTypes';
13
+ import type {GestureResponderEvent} from '../../Types/CoreEventTypes';
14
14
 
15
15
  import {PressabilityDebugView} from '../../Pressability/PressabilityDebug';
16
16
  import UIManager from '../../ReactNative/UIManager';
@@ -21,9 +21,9 @@ import Position from './Position';
21
21
  import * as React from 'react';
22
22
 
23
23
  const extractSingleTouch = (nativeEvent: {
24
+ +changedTouches: $ReadOnlyArray<GestureResponderEvent['nativeEvent']>,
24
25
  +altKey: ?boolean,
25
26
  +button: ?number,
26
- +changedTouches: $ReadOnlyArray<PressEvent['nativeEvent']>,
27
27
  +ctrlKey: ?boolean,
28
28
  +force?: number,
29
29
  +identifier: number,
@@ -35,7 +35,7 @@ const extractSingleTouch = (nativeEvent: {
35
35
  +shiftKey: ?boolean,
36
36
  +target: ?number,
37
37
  +timestamp: number,
38
- +touches: $ReadOnlyArray<PressEvent['nativeEvent']>,
38
+ +touches: $ReadOnlyArray<GestureResponderEvent['nativeEvent']>,
39
39
  }) => {
40
40
  const touches = nativeEvent.touches;
41
41
  const changedTouches = nativeEvent.changedTouches;
@@ -403,7 +403,7 @@ const TouchableMixin = {
403
403
  touchableGetInitialState: function (): {
404
404
  touchable: {
405
405
  touchState: ?State,
406
- responderID: ?PressEvent['currentTarget'],
406
+ responderID: ?GestureResponderEvent['currentTarget'],
407
407
  },
408
408
  } {
409
409
  return {
@@ -439,12 +439,12 @@ const TouchableMixin = {
439
439
 
440
440
  /**
441
441
  * Place as callback for a DOM element's `onResponderGrant` event.
442
- * @param {SyntheticEvent} e Synthetic event from event system.
442
+ * @param {NativeSyntheticEvent} e Synthetic event from event system.
443
443
  *
444
444
  */
445
445
  /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by
446
446
  * Flow's LTI update could not be added via codemod */
447
- touchableHandleResponderGrant: function (e: PressEvent) {
447
+ touchableHandleResponderGrant: function (e: GestureResponderEvent) {
448
448
  const dispatchID = e.currentTarget;
449
449
  // Since e is used in a callback invoked on another event loop
450
450
  // (as in setTimeout etc), we need to call e.persist() on the
@@ -487,7 +487,7 @@ const TouchableMixin = {
487
487
  */
488
488
  /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by
489
489
  * Flow's LTI update could not be added via codemod */
490
- touchableHandleResponderRelease: function (e: PressEvent) {
490
+ touchableHandleResponderRelease: function (e: GestureResponderEvent) {
491
491
  this.pressInLocation = null;
492
492
  this._receiveSignal(Signals.RESPONDER_RELEASE, e);
493
493
  },
@@ -497,7 +497,7 @@ const TouchableMixin = {
497
497
  */
498
498
  /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by
499
499
  * Flow's LTI update could not be added via codemod */
500
- touchableHandleResponderTerminate: function (e: PressEvent) {
500
+ touchableHandleResponderTerminate: function (e: GestureResponderEvent) {
501
501
  this.pressInLocation = null;
502
502
  this._receiveSignal(Signals.RESPONDER_TERMINATED, e);
503
503
  },
@@ -507,7 +507,7 @@ const TouchableMixin = {
507
507
  */
508
508
  /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by
509
509
  * Flow's LTI update could not be added via codemod */
510
- touchableHandleResponderMove: function (e: PressEvent) {
510
+ touchableHandleResponderMove: function (e: GestureResponderEvent) {
511
511
  // Measurement may not have returned yet.
512
512
  if (!this.state.touchable.positionOnActivate) {
513
513
  return;
@@ -737,14 +737,14 @@ const TouchableMixin = {
737
737
 
738
738
  /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by
739
739
  * Flow's LTI update could not be added via codemod */
740
- _handleDelay: function (e: PressEvent) {
740
+ _handleDelay: function (e: GestureResponderEvent) {
741
741
  this.touchableDelayTimeout = null;
742
742
  this._receiveSignal(Signals.DELAY, e);
743
743
  },
744
744
 
745
745
  /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by
746
746
  * Flow's LTI update could not be added via codemod */
747
- _handleLongDelay: function (e: PressEvent) {
747
+ _handleLongDelay: function (e: GestureResponderEvent) {
748
748
  this.longPressDelayTimeout = null;
749
749
  const curState = this.state.touchable.touchState;
750
750
  if (
@@ -765,7 +765,7 @@ const TouchableMixin = {
765
765
  */
766
766
  /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by
767
767
  * Flow's LTI update could not be added via codemod */
768
- _receiveSignal: function (signal: Signal, e: PressEvent) {
768
+ _receiveSignal: function (signal: Signal, e: GestureResponderEvent) {
769
769
  const responderID = this.state.touchable.responderID;
770
770
  const curState = this.state.touchable.touchState;
771
771
  const nextState = Transitions[curState] && Transitions[curState][signal];
@@ -820,7 +820,7 @@ const TouchableMixin = {
820
820
 
821
821
  /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by
822
822
  * Flow's LTI update could not be added via codemod */
823
- _savePressInLocation: function (e: PressEvent) {
823
+ _savePressInLocation: function (e: GestureResponderEvent) {
824
824
  const touch = extractSingleTouch(e.nativeEvent);
825
825
  const pageX = touch && touch.pageX;
826
826
  const pageY = touch && touch.pageY;
@@ -857,7 +857,7 @@ const TouchableMixin = {
857
857
  curState: State,
858
858
  nextState: State,
859
859
  signal: Signal,
860
- e: PressEvent,
860
+ e: GestureResponderEvent,
861
861
  ) {
862
862
  const curIsHighlight = this._isHighlight(curState);
863
863
  const newIsHighlight = this._isHighlight(nextState);
@@ -916,14 +916,14 @@ const TouchableMixin = {
916
916
 
917
917
  /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by
918
918
  * Flow's LTI update could not be added via codemod */
919
- _startHighlight: function (e: PressEvent) {
919
+ _startHighlight: function (e: GestureResponderEvent) {
920
920
  this._savePressInLocation(e);
921
921
  this.touchableHandleActivePressIn && this.touchableHandleActivePressIn(e);
922
922
  },
923
923
 
924
924
  /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by
925
925
  * Flow's LTI update could not be added via codemod */
926
- _endHighlight: function (e: PressEvent) {
926
+ _endHighlight: function (e: GestureResponderEvent) {
927
927
  if (this.touchableHandleActivePressOut) {
928
928
  if (
929
929
  this.touchableGetPressOutDelayMS &&
@@ -8,7 +8,7 @@
8
8
  * @format
9
9
  */
10
10
 
11
- import type {PressEvent} from '../../Types/CoreEventTypes';
11
+ import type {GestureResponderEvent} from '../../Types/CoreEventTypes';
12
12
  import typeof TouchableWithoutFeedback from './TouchableWithoutFeedback';
13
13
 
14
14
  import View from '../../Components/View/View';
@@ -220,7 +220,7 @@ class TouchableNativeFeedback extends React.Component<Props, State> {
220
220
  }
221
221
  }
222
222
 
223
- _dispatchHotspotUpdate(event: PressEvent): void {
223
+ _dispatchHotspotUpdate(event: GestureResponderEvent): void {
224
224
  if (Platform.OS === 'android') {
225
225
  const {locationX, locationY} = event.nativeEvent;
226
226
  const hostComponentRef = findHostInstance_DEPRECATED(this);
@@ -19,8 +19,8 @@ import type {EdgeInsetsOrSizeProp} from '../../StyleSheet/EdgeInsetsPropType';
19
19
  import type {
20
20
  BlurEvent,
21
21
  FocusEvent,
22
- LayoutEvent,
23
- PressEvent,
22
+ LayoutChangeEvent,
23
+ GestureResponderEvent,
24
24
  } from '../../Types/CoreEventTypes';
25
25
 
26
26
  import View from '../../Components/View/View';
@@ -73,11 +73,11 @@ type Props = $ReadOnly<{
73
73
  onAccessibilityAction?: ?(event: AccessibilityActionEvent) => mixed,
74
74
  onBlur?: ?(event: BlurEvent) => mixed,
75
75
  onFocus?: ?(event: FocusEvent) => mixed,
76
- onLayout?: ?(event: LayoutEvent) => mixed,
77
- onLongPress?: ?(event: PressEvent) => mixed,
78
- onPress?: ?(event: PressEvent) => mixed,
79
- onPressIn?: ?(event: PressEvent) => mixed,
80
- onPressOut?: ?(event: PressEvent) => mixed,
76
+ onLayout?: ?(event: LayoutChangeEvent) => mixed,
77
+ onLongPress?: ?(event: GestureResponderEvent) => mixed,
78
+ onPress?: ?(event: GestureResponderEvent) => mixed,
79
+ onPressIn?: ?(event: GestureResponderEvent) => mixed,
80
+ onPressOut?: ?(event: GestureResponderEvent) => mixed,
81
81
  pressRetentionOffset?: ?EdgeInsetsOrSizeProp,
82
82
  rejectResponderTermination?: ?boolean,
83
83
  testID?: ?string,
@@ -10,6 +10,8 @@
10
10
 
11
11
  import type {AnyAttributeType} from '../../Renderer/shims/ReactNativeTypes';
12
12
 
13
+ import * as ReactNativeFeatureFlags from '../../../src/private/featureflags/ReactNativeFeatureFlags';
14
+ import NativeReactNativeFeatureFlags from '../../../src/private/featureflags/specs/NativeReactNativeFeatureFlags';
13
15
  import processAspectRatio from '../../StyleSheet/processAspectRatio';
14
16
  import processBackgroundImage from '../../StyleSheet/processBackgroundImage';
15
17
  import processBoxShadow from '../../StyleSheet/processBoxShadow';
@@ -121,7 +123,13 @@ const ReactNativeStyleAttributes: {[string]: AnyAttributeType, ...} = {
121
123
  /**
122
124
  * Filter
123
125
  */
124
- filter: {process: processFilter},
126
+ filter:
127
+ NativeReactNativeFeatureFlags != null &&
128
+ ReactNativeFeatureFlags.enableNativeCSSParsing()
129
+ ? true
130
+ : {
131
+ process: processFilter,
132
+ },
125
133
 
126
134
  /**
127
135
  * MixBlendMode
@@ -136,7 +144,13 @@ const ReactNativeStyleAttributes: {[string]: AnyAttributeType, ...} = {
136
144
  /*
137
145
  * BoxShadow
138
146
  */
139
- boxShadow: {process: processBoxShadow},
147
+ boxShadow:
148
+ NativeReactNativeFeatureFlags != null &&
149
+ ReactNativeFeatureFlags.enableNativeCSSParsing()
150
+ ? true
151
+ : {
152
+ process: processBoxShadow,
153
+ },
140
154
 
141
155
  /**
142
156
  * Linear Gradient