@office-iss/react-native-win32 0.79.1 → 0.80.0

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 (294) hide show
  1. package/.flowconfig +10 -3
  2. package/CHANGELOG.json +117 -24
  3. package/CHANGELOG.md +49 -14
  4. package/IntegrationTests/ImageCachePolicyTest.js +1 -1
  5. package/IntegrationTests/LayoutEventsTest.js +1 -4
  6. package/Libraries/Alert/Alert.d.ts +4 -1
  7. package/Libraries/Alert/Alert.js +3 -0
  8. package/Libraries/Alert/RCTAlertManager.js +17 -0
  9. package/Libraries/Animated/Animated.js.flow +1 -3
  10. package/Libraries/Animated/AnimatedEvent.js +4 -3
  11. package/Libraries/Animated/AnimatedExports.js +2 -2
  12. package/Libraries/Animated/AnimatedExports.js.flow +140 -0
  13. package/Libraries/Animated/AnimatedImplementation.js +2 -123
  14. package/Libraries/Animated/Easing.js +13 -15
  15. package/Libraries/Animated/animations/Animation.js +8 -4
  16. package/Libraries/Animated/components/AnimatedFlatList.js +7 -6
  17. package/Libraries/Animated/components/AnimatedScrollView.js +48 -42
  18. package/Libraries/Animated/components/AnimatedSectionList.js +11 -7
  19. package/Libraries/Animated/createAnimatedComponent.js +105 -57
  20. package/Libraries/Animated/nodes/AnimatedNode.js +4 -3
  21. package/Libraries/Animated/nodes/AnimatedProps.js +46 -26
  22. package/Libraries/Animated/nodes/AnimatedValue.js +16 -7
  23. package/Libraries/Animated/nodes/AnimatedValueXY.js +3 -1
  24. package/Libraries/AppState/AppState.js +7 -2
  25. package/Libraries/BatchedBridge/MessageQueue.js +2 -2
  26. package/Libraries/BatchedBridge/NativeModules.js +2 -0
  27. package/Libraries/Blob/BlobManager.js +1 -0
  28. package/Libraries/Blob/FileReader.js +219 -8
  29. package/Libraries/Blob/URL.js +37 -12
  30. package/Libraries/Blob/URLSearchParams.js +106 -31
  31. package/Libraries/Blob/URLSearchParams.js.flow +12 -7
  32. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +1 -1
  33. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.win32.js +1 -1
  34. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.js +17 -0
  35. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +1 -0
  36. package/Libraries/Components/Button.js +1 -1
  37. package/Libraries/Components/Button.win32.js +1 -1
  38. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +1 -3
  39. package/Libraries/{NewAppScreen/components/Colors.js → Components/DrawerAndroid/DrawerLayoutAndroid.ios.js} +6 -10
  40. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +6 -66
  41. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js.flow +18 -0
  42. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidFallback.js +71 -0
  43. package/Libraries/Components/Keyboard/Keyboard.js +5 -3
  44. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +6 -3
  45. package/Libraries/Components/Pressable/Pressable.js +20 -4
  46. package/Libraries/Components/Pressable/Pressable.win32.js +20 -4
  47. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +25 -3
  48. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidTypes.js +29 -20
  49. package/Libraries/Components/RefreshControl/RefreshControl.js +1 -1
  50. package/Libraries/Components/ScrollView/ScrollView.d.ts +3 -3
  51. package/Libraries/Components/ScrollView/ScrollView.js +132 -122
  52. package/Libraries/Components/StaticRenderer.js +1 -1
  53. package/Libraries/Components/Switch/Switch.d.ts +3 -0
  54. package/Libraries/Components/Switch/Switch.js +8 -4
  55. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +2 -1
  56. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +2 -4
  57. package/Libraries/Components/TextInput/Tests/TextInputTest.d.ts +2 -1
  58. package/Libraries/Components/TextInput/Tests/TextInputTest.js.map +1 -1
  59. package/Libraries/Components/TextInput/TextInput.d.ts +70 -33
  60. package/Libraries/Components/TextInput/TextInput.flow.js +100 -51
  61. package/Libraries/Components/TextInput/TextInput.flow.win32.js +1208 -0
  62. package/Libraries/Components/TextInput/TextInput.js +88 -1027
  63. package/Libraries/Components/TextInput/TextInput.win32.js +89 -1059
  64. package/Libraries/Components/TextInput/TextInputState.js +1 -1
  65. package/Libraries/Components/TextInput/TextInputState.win32.js +1 -1
  66. package/Libraries/{Modal/ModalInjection.js → Components/ToastAndroid/ToastAndroid.ios.js} +3 -5
  67. package/Libraries/Components/ToastAndroid/ToastAndroid.js +4 -32
  68. package/Libraries/Components/ToastAndroid/ToastAndroid.js.flow +109 -0
  69. package/Libraries/Components/ToastAndroid/ToastAndroid.win32.js +4 -32
  70. package/Libraries/Components/ToastAndroid/ToastAndroidFallback.js +45 -0
  71. package/Libraries/Components/Touchable/Tests/TouchableWin32Test.d.ts +2 -1
  72. package/Libraries/Components/Touchable/Tests/TouchableWin32Test.js.map +1 -1
  73. package/Libraries/Components/Touchable/Touchable.js +5 -5
  74. package/Libraries/Components/Touchable/Touchable.win32.js +5 -5
  75. package/Libraries/Components/Touchable/TouchableBounce.js +14 -7
  76. package/Libraries/Components/Touchable/TouchableHighlight.js +10 -7
  77. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +6 -6
  78. package/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js +6 -6
  79. package/Libraries/Components/Touchable/TouchableOpacity.js +13 -6
  80. package/Libraries/Components/View/View.js +18 -21
  81. package/Libraries/Components/View/View.win32.js +21 -24
  82. package/Libraries/Components/View/ViewAccessibility.js +25 -1
  83. package/Libraries/Components/View/ViewAccessibility.win32.js +9 -1
  84. package/Libraries/Components/View/ViewPropTypes.js +49 -3
  85. package/Libraries/Components/View/ViewPropTypes.win32.js +49 -3
  86. package/Libraries/Core/ReactNativeVersion.js +1 -1
  87. package/Libraries/Core/setUpReactDevTools.js +5 -5
  88. package/Libraries/Debugging/DebuggingOverlayRegistry.js +3 -3
  89. package/Libraries/EventEmitter/NativeEventEmitter.js +9 -4
  90. package/Libraries/Image/AssetSourceResolver.js +17 -4
  91. package/Libraries/Image/Image.d.ts +26 -10
  92. package/Libraries/Image/Image.js +17 -0
  93. package/Libraries/Image/Image.js.flow +5 -5
  94. package/Libraries/Image/ImageBackground.js +2 -0
  95. package/Libraries/Image/ImageInjection.js +1 -1
  96. package/Libraries/Image/ImageProps.js +22 -17
  97. package/Libraries/Image/ImageSource.js +3 -1
  98. package/Libraries/Image/ImageSourceUtils.js +4 -2
  99. package/Libraries/Image/ImageTypes.flow.js +1 -1
  100. package/Libraries/Image/Tests/ImageWin32Test.d.ts +2 -1
  101. package/Libraries/Image/Tests/ImageWin32Test.js.map +1 -1
  102. package/Libraries/Interaction/InteractionManager.d.ts +13 -0
  103. package/Libraries/Interaction/InteractionManager.js +1 -1
  104. package/Libraries/Interaction/PanResponder.js +3 -3
  105. package/Libraries/Interaction/TaskQueue.js +1 -0
  106. package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -2
  107. package/Libraries/Linking/Linking.js +1 -1
  108. package/Libraries/Lists/FlatList.d.ts +2 -2
  109. package/Libraries/Lists/FlatList.js +8 -11
  110. package/Libraries/Lists/SectionList.js +39 -42
  111. package/Libraries/Lists/SectionListModern.js +25 -34
  112. package/Libraries/Lists/VirtualizedList.js +1 -0
  113. package/Libraries/Lists/VirtualizedSectionList.js +1 -0
  114. package/Libraries/LogBox/Data/LogBoxData.js +1 -1
  115. package/Libraries/LogBox/LogBoxNotificationContainer.js +1 -1
  116. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.win32.js +140 -0
  117. package/Libraries/Modal/Modal.js +33 -7
  118. package/Libraries/NativeComponent/BaseViewConfig.android.js +2 -0
  119. package/Libraries/NativeComponent/BaseViewConfig.ios.js +2 -0
  120. package/Libraries/NativeComponent/BaseViewConfig.js +17 -0
  121. package/Libraries/NativeComponent/BaseViewConfig.win32.js +1 -0
  122. package/Libraries/NativeComponent/PlatformBaseViewConfig.js +2 -2
  123. package/Libraries/NativeModules/specs/NativeDevMenu.js +2 -2
  124. package/Libraries/Network/RCTNetworking.android.js +1 -1
  125. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  126. package/Libraries/Network/RCTNetworking.js +17 -0
  127. package/Libraries/Network/RCTNetworking.js.flow +1 -1
  128. package/Libraries/Network/RCTNetworking.win32.js +1 -1
  129. package/Libraries/Network/XMLHttpRequest.js +781 -10
  130. package/Libraries/Performance/Systrace.js +7 -7
  131. package/Libraries/Pressability/Pressability.js +1 -1
  132. package/Libraries/Pressability/Pressability.win32.js +1 -1
  133. package/Libraries/ReactNative/AppContainer-dev.js +5 -4
  134. package/Libraries/ReactNative/AppRegistry.flow.js +49 -0
  135. package/Libraries/ReactNative/AppRegistry.js +2 -322
  136. package/Libraries/ReactNative/AppRegistry.js.flow +23 -0
  137. package/Libraries/ReactNative/AppRegistryImpl.js +316 -0
  138. package/Libraries/ReactNative/FabricUIManager.js +10 -0
  139. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +2 -4
  140. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +1 -4
  141. package/Libraries/ReactNative/RendererImplementation.js +10 -5
  142. package/Libraries/ReactNative/getNativeComponentAttributes.js +1 -0
  143. package/Libraries/ReactNative/renderApplication.js +9 -0
  144. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +3 -3
  145. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js.flow +51 -0
  146. package/Libraries/Renderer/implementations/ReactFabric-dev.js +4840 -4748
  147. package/Libraries/Renderer/implementations/ReactFabric-prod.js +4947 -4829
  148. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +3998 -3888
  149. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +5005 -4948
  150. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +2744 -2652
  151. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +5020 -4933
  152. package/Libraries/Renderer/shims/ReactNativeTypes.js +3 -3
  153. package/Libraries/Settings/Settings.ios.js +1 -0
  154. package/Libraries/Settings/Settings.js +13 -19
  155. package/Libraries/Settings/Settings.win32.js +19 -20
  156. package/Libraries/Settings/SettingsFallback.js +33 -0
  157. package/Libraries/StyleSheet/PlatformColorValueTypes.js +15 -0
  158. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.js +6 -0
  159. package/Libraries/StyleSheet/Rect.js +1 -0
  160. package/Libraries/StyleSheet/StyleSheet.js +31 -200
  161. package/Libraries/StyleSheet/StyleSheet.js.flow +188 -0
  162. package/Libraries/StyleSheet/{StyleSheet.win32.js → StyleSheetExports.js} +2 -151
  163. package/Libraries/StyleSheet/StyleSheetExports.js.flow +112 -0
  164. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +1 -1
  165. package/Libraries/StyleSheet/StyleSheetTypes.js +130 -52
  166. package/Libraries/StyleSheet/flattenStyle.js +14 -4
  167. package/Libraries/StyleSheet/private/_TransformStyle.js +49 -21
  168. package/Libraries/StyleSheet/processBackgroundImage.js +670 -214
  169. package/Libraries/Text/Text.d.ts +2 -5
  170. package/Libraries/Text/Text.js +3 -3
  171. package/Libraries/Text/Text.win32.js +3 -3
  172. package/Libraries/Text/TextNativeComponent.js +0 -4
  173. package/Libraries/Text/TextNativeComponent.win32.js +0 -4
  174. package/Libraries/Text/TextProps.js +5 -33
  175. package/Libraries/Text/TextProps.win32.js +5 -30
  176. package/Libraries/Types/CodegenTypesNamespace.d.ts +45 -0
  177. package/Libraries/{Blob/__mocks__/BlobModule.js → Types/CodegenTypesNamespace.js} +4 -6
  178. package/Libraries/Types/CoreEventTypes.d.ts +6 -1
  179. package/Libraries/Types/CoreEventTypes.js +1 -1
  180. package/Libraries/Types/CoreEventTypes.win32.js +1 -1
  181. package/Libraries/Utilities/Appearance.js +2 -0
  182. package/Libraries/Utilities/BackHandler.js +17 -0
  183. package/Libraries/Utilities/DeviceInfo.js +2 -0
  184. package/Libraries/Utilities/Dimensions.js +1 -1
  185. package/Libraries/Utilities/Dimensions.win32.js +1 -1
  186. package/Libraries/Utilities/Platform.js +17 -0
  187. package/Libraries/Utilities/PlatformTypes.js +11 -3
  188. package/Libraries/Utilities/ReactNativeTestTools.js +2 -2
  189. package/Libraries/Utilities/codegenNativeCommands.d.ts +18 -0
  190. package/Libraries/Utilities/codegenNativeComponent.d.ts +26 -0
  191. package/Libraries/WebSocket/WebSocket.js +313 -8
  192. package/Libraries/vendor/core/ErrorUtils.js +28 -2
  193. package/Libraries/vendor/emitter/EventEmitter.js +6 -2
  194. package/flow/global.js +1 -0
  195. package/index.js +51 -331
  196. package/index.win32.js +71 -352
  197. package/interface.js +0 -4
  198. package/jest/resolver.js +31 -0
  199. package/overrides.json +45 -47
  200. package/package.json +25 -25
  201. package/src/private/animated/NativeAnimatedHelper.js +21 -8
  202. package/src/private/animated/NativeAnimatedHelper.win32.js +21 -8
  203. package/src/private/animated/createAnimatedPropsHook.js +11 -16
  204. package/src/private/animated/createAnimatedPropsMemoHook.js +1 -2
  205. package/src/private/components/{SafeAreaView_INTERNAL_DO_NOT_USE.js → safeareaview/SafeAreaView_INTERNAL_DO_NOT_USE.js} +6 -6
  206. package/src/private/components/{HScrollViewNativeComponents.js → scrollview/HScrollViewNativeComponents.js} +8 -8
  207. package/src/private/components/scrollview/VScrollViewNativeComponents.js +25 -0
  208. package/src/private/{devmenu → devsupport/devmenu}/DevMenu.js +1 -1
  209. package/src/private/{inspector → devsupport/devmenu/elementinspector}/BorderBox.js +3 -3
  210. package/src/private/{inspector → devsupport/devmenu/elementinspector}/BoxInspector.js +6 -5
  211. package/src/private/{inspector → devsupport/devmenu/elementinspector}/ElementBox.js +8 -6
  212. package/src/private/{inspector → devsupport/devmenu/elementinspector}/ElementProperties.js +11 -10
  213. package/src/private/{inspector → devsupport/devmenu/elementinspector}/Inspector.js +14 -12
  214. package/src/private/{inspector → devsupport/devmenu/elementinspector}/InspectorOverlay.js +5 -4
  215. package/src/private/{inspector → devsupport/devmenu/elementinspector}/InspectorPanel.js +9 -8
  216. package/src/private/{inspector → devsupport/devmenu/elementinspector}/NetworkOverlay.js +10 -9
  217. package/src/private/{inspector → devsupport/devmenu/elementinspector}/ReactDevToolsOverlay.js +7 -7
  218. package/src/private/{inspector → devsupport/devmenu/elementinspector}/StyleInspector.js +7 -6
  219. package/src/private/{inspector → devsupport/devmenu/elementinspector}/XHRInterceptor.js +2 -2
  220. package/src/private/{inspector → devsupport/devmenu/elementinspector}/getInspectorDataForViewAtPoint.js +4 -4
  221. package/src/private/{inspector → devsupport/devmenu/elementinspector}/resolveBoxStyle.js +1 -1
  222. package/src/private/{inspector → devsupport/devmenu/perfmonitor}/PerformanceOverlay.js +6 -5
  223. package/src/private/{specs_DEPRECATED/modules → devsupport/devmenu/specs}/NativeDevMenu.js +2 -2
  224. package/src/private/{debugging → devsupport/rndevtools}/ReactDevToolsSettingsManager.android.js +1 -1
  225. package/src/private/{debugging → devsupport/rndevtools}/ReactDevToolsSettingsManager.ios.js +1 -1
  226. package/src/private/{debugging → devsupport/rndevtools}/ReactDevToolsSettingsManager.win32.js +1 -1
  227. package/src/private/{debugging → devsupport/rndevtools}/setUpFuseboxReactDevToolsDispatcher.js +1 -1
  228. package/src/private/{fusebox → devsupport/rndevtools}/specs/NativeReactDevToolsRuntimeSettingsModule.js +2 -2
  229. package/src/private/{specs_DEPRECATED/modules → devsupport/rndevtools/specs}/NativeReactDevToolsSettingsManager.js +2 -2
  230. package/src/private/featureflags/ReactNativeFeatureFlags.js +82 -80
  231. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +9 -1
  232. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +17 -13
  233. package/src/private/renderer/errorhandling/ErrorHandlers.js +2 -2
  234. package/src/private/specs_DEPRECATED/modules/NativeAnimatedModule.js +1 -1
  235. package/src/private/specs_DEPRECATED/modules/NativeAnimatedTurboModule.js +1 -1
  236. package/src/private/specs_DEPRECATED/modules/NativeSampleTurboModule.js +3 -0
  237. package/src/private/styles/composeStyles.js +12 -5
  238. package/src/private/types/HostComponent.js +1 -1
  239. package/src/private/types/HostInstance.js +67 -1
  240. package/src/private/webapis/dom/nodes/ReactNativeElement.js +2 -5
  241. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +5 -18
  242. package/src/private/webapis/dom/nodes/internals/NodeInternals.js +6 -0
  243. package/src/private/webapis/performance/Performance.js +1 -3
  244. package/src/private/webapis/performance/PerformanceEntry.js +6 -1
  245. package/src/private/webapis/performance/internals/RawPerformanceEntry.js +3 -0
  246. package/src/private/webapis/performance/specs/NativePerformance.js +10 -1
  247. package/src/types/globals.d.ts +42 -0
  248. package/src-win/Libraries/Components/TextInput/Tests/TextInputTest.tsx +7 -7
  249. package/src-win/Libraries/Components/Touchable/Tests/TouchableWin32Test.tsx +3 -3
  250. package/src-win/Libraries/Image/Tests/ImageWin32Test.tsx +1 -1
  251. package/src-win/Libraries/Text/Text.d.ts +2 -5
  252. package/types/index.d.ts +6 -3
  253. package/types/public/ReactNativeTypes.d.ts +2 -2
  254. package/Libraries/BatchedBridge/__mocks__/MessageQueueTestConfig.js +0 -38
  255. package/Libraries/BatchedBridge/__mocks__/MessageQueueTestModule.js +0 -22
  256. package/Libraries/Blob/FileReader_new.js +0 -231
  257. package/Libraries/Blob/FileReader_old.js +0 -186
  258. package/Libraries/Blob/__mocks__/FileReaderModule.js +0 -20
  259. package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +0 -32
  260. package/Libraries/Core/__mocks__/ErrorUtils.js +0 -33
  261. package/Libraries/Core/__mocks__/NativeExceptionsManager.js +0 -19
  262. package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +0 -49
  263. package/Libraries/Events/CustomEvent.js +0 -32
  264. package/Libraries/Events/EventPolyfill.js +0 -239
  265. package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +0 -118
  266. package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +0 -134
  267. package/Libraries/Network/XMLHttpRequest_new.js +0 -794
  268. package/Libraries/Network/XMLHttpRequest_old.js +0 -701
  269. package/Libraries/NewAppScreen/components/DebugInstructions.js +0 -41
  270. package/Libraries/NewAppScreen/components/Header.js +0 -77
  271. package/Libraries/NewAppScreen/components/HermesBadge.js +0 -53
  272. package/Libraries/NewAppScreen/components/LearnMoreLinks.js +0 -148
  273. package/Libraries/NewAppScreen/components/ReloadInstructions.js +0 -39
  274. package/Libraries/NewAppScreen/components/logo.png +0 -0
  275. package/Libraries/NewAppScreen/index.js +0 -25
  276. package/Libraries/StyleSheet/__flowtests__/StyleSheet-flowtest.js +0 -58
  277. package/Libraries/Utilities/DeviceInfo.win32.js +0 -19
  278. package/Libraries/Utilities/__mocks__/BackHandler.js +0 -45
  279. package/Libraries/Utilities/__mocks__/GlobalPerformanceLogger.js +0 -16
  280. package/Libraries/Utilities/__mocks__/PixelRatio.js +0 -25
  281. package/Libraries/WebSocket/WebSocketEvent.js +0 -30
  282. package/Libraries/WebSocket/WebSocket_new.js +0 -325
  283. package/Libraries/WebSocket/WebSocket_old.js +0 -297
  284. package/Libraries/WebSocket/__mocks__/event-target-shim.js +0 -27
  285. package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +0 -30
  286. package/Libraries/vendor/emitter/__flowtests__/EventEmitter-flowtest.js +0 -81
  287. package/flow/jest.js +0 -1287
  288. package/jest/__tests__/setup-test.js +0 -18
  289. package/src/private/components/VScrollViewNativeComponents.js +0 -25
  290. package/src/private/utilities/ensureInstance.js +0 -21
  291. package/src/private/webapis/performance/specs/__mocks__/NativePerformanceMock.js +0 -267
  292. package/types/modules/LaunchScreen.d.ts +0 -18
  293. /package/src/private/{devmenu → devsupport/devmenu}/DevMenu.d.ts +0 -0
  294. /package/src/private/{debugging → devsupport/rndevtools}/FuseboxSessionObserver.js +0 -0
@@ -112,7 +112,7 @@ export type TouchableNativeFeedbackProps = $ReadOnly<{
112
112
  useForeground?: ?boolean,
113
113
  }>;
114
114
 
115
- type State = $ReadOnly<{
115
+ type TouchableNativeFeedbackState = $ReadOnly<{
116
116
  pressability: Pressability,
117
117
  }>;
118
118
 
@@ -128,7 +128,7 @@ type State = $ReadOnly<{
128
128
  */
129
129
  class TouchableNativeFeedback extends React.Component<
130
130
  TouchableNativeFeedbackProps,
131
- State,
131
+ TouchableNativeFeedbackState,
132
132
  > {
133
133
  /**
134
134
  * Creates an object that represents android theme's default background for
@@ -204,7 +204,7 @@ class TouchableNativeFeedback extends React.Component<
204
204
  static canUseNativeForeground: () => boolean = () =>
205
205
  Platform.OS === 'android';
206
206
 
207
- state: State = {
207
+ state: TouchableNativeFeedbackState = {
208
208
  pressability: new Pressability(this._createPressabilityConfig()),
209
209
  };
210
210
 
@@ -253,7 +253,7 @@ class TouchableNativeFeedback extends React.Component<
253
253
 
254
254
  _dispatchPressedStateChange(pressed: boolean): void {
255
255
  if (Platform.OS === 'android') {
256
- const hostComponentRef = findHostInstance_DEPRECATED(this);
256
+ const hostComponentRef = findHostInstance_DEPRECATED<$FlowFixMe>(this);
257
257
  if (hostComponentRef == null) {
258
258
  console.warn(
259
259
  'Touchable: Unable to find HostComponent instance. ' +
@@ -268,7 +268,7 @@ class TouchableNativeFeedback extends React.Component<
268
268
  _dispatchHotspotUpdate(event: GestureResponderEvent): void {
269
269
  if (Platform.OS === 'android') {
270
270
  const {locationX, locationY} = event.nativeEvent;
271
- const hostComponentRef = findHostInstance_DEPRECATED(this);
271
+ const hostComponentRef = findHostInstance_DEPRECATED<$FlowFixMe>(this);
272
272
  if (hostComponentRef == null) {
273
273
  console.warn(
274
274
  'Touchable: Unable to find HostComponent instance. ' +
@@ -383,7 +383,7 @@ class TouchableNativeFeedback extends React.Component<
383
383
 
384
384
  componentDidUpdate(
385
385
  prevProps: TouchableNativeFeedbackProps,
386
- prevState: State,
386
+ prevState: TouchableNativeFeedbackState,
387
387
  ) {
388
388
  this.state.pressability.configure(this._createPressabilityConfig());
389
389
  }
@@ -111,7 +111,7 @@ export type TouchableNativeFeedbackProps = $ReadOnly<{
111
111
  tooltip?: string, // Win32
112
112
  }>;
113
113
 
114
- type State = $ReadOnly<{
114
+ type TouchableNativeFeedbackState = $ReadOnly<{
115
115
  pressability: Pressability,
116
116
  }>;
117
117
 
@@ -127,7 +127,7 @@ type State = $ReadOnly<{
127
127
  */
128
128
  class TouchableNativeFeedback extends React.Component<
129
129
  TouchableNativeFeedbackProps,
130
- State,
130
+ TouchableNativeFeedbackState,
131
131
  > {
132
132
  /**
133
133
  * Creates an object that represents android theme's default background for
@@ -203,7 +203,7 @@ class TouchableNativeFeedback extends React.Component<
203
203
  static canUseNativeForeground: () => boolean = () =>
204
204
  Platform.OS === 'android';
205
205
 
206
- state: State = {
206
+ state: TouchableNativeFeedbackState = {
207
207
  pressability: new Pressability(this._createPressabilityConfig()),
208
208
  };
209
209
 
@@ -252,7 +252,7 @@ class TouchableNativeFeedback extends React.Component<
252
252
 
253
253
  _dispatchPressedStateChange(pressed: boolean): void {
254
254
  if (Platform.OS === 'android') {
255
- const hostComponentRef = findHostInstance_DEPRECATED(this);
255
+ const hostComponentRef = findHostInstance_DEPRECATED<$FlowFixMe>(this);
256
256
  if (hostComponentRef == null) {
257
257
  console.warn(
258
258
  'Touchable: Unable to find HostComponent instance. ' +
@@ -267,7 +267,7 @@ class TouchableNativeFeedback extends React.Component<
267
267
  _dispatchHotspotUpdate(event: GestureResponderEvent): void {
268
268
  if (Platform.OS === 'android') {
269
269
  const {locationX, locationY} = event.nativeEvent;
270
- const hostComponentRef = findHostInstance_DEPRECATED(this);
270
+ const hostComponentRef = findHostInstance_DEPRECATED<$FlowFixMe>(this);
271
271
  if (hostComponentRef == null) {
272
272
  console.warn(
273
273
  'Touchable: Unable to find HostComponent instance. ' +
@@ -285,7 +285,7 @@ class TouchableNativeFeedback extends React.Component<
285
285
 
286
286
  componentDidUpdate(
287
287
  prevProps: TouchableNativeFeedbackProps,
288
- prevState: State,
288
+ prevState: TouchableNativeFeedbackState,
289
289
  ) {
290
290
  this.state.pressability.configure(this._createPressabilityConfig());
291
291
  }
@@ -71,7 +71,7 @@ type TouchableOpacityBaseProps = $ReadOnly<{
71
71
  * Defaults to 0.2
72
72
  */
73
73
  activeOpacity?: ?number,
74
- style?: ?ViewStyleProp,
74
+ style?: ?Animated.WithAnimatedValue<ViewStyleProp>,
75
75
 
76
76
  hostRef?: ?React.RefSetter<React.ElementRef<typeof Animated.View>>,
77
77
  }>;
@@ -82,7 +82,7 @@ export type TouchableOpacityProps = $ReadOnly<{
82
82
  ...TouchableOpacityBaseProps,
83
83
  }>;
84
84
 
85
- type State = $ReadOnly<{
85
+ type TouchableOpacityState = $ReadOnly<{
86
86
  anim: Animated.Value,
87
87
  pressability: Pressability,
88
88
  }>;
@@ -171,8 +171,11 @@ type State = $ReadOnly<{
171
171
  * ```
172
172
  *
173
173
  */
174
- class TouchableOpacity extends React.Component<TouchableOpacityProps, State> {
175
- state: State = {
174
+ class TouchableOpacity extends React.Component<
175
+ TouchableOpacityProps,
176
+ TouchableOpacityState,
177
+ > {
178
+ state: TouchableOpacityState = {
176
179
  anim: new Animated.Value(this._getChildStyleOpacityWithDefault()),
177
180
  pressability: new Pressability(this._createPressabilityConfig()),
178
181
  };
@@ -308,7 +311,8 @@ class TouchableOpacity extends React.Component<TouchableOpacityProps, State> {
308
311
  importantForAccessibility={
309
312
  this.props['aria-hidden'] === true
310
313
  ? 'no-hide-descendants'
311
- : this.props.importantForAccessibility
314
+ : // $FlowFixMe[incompatible-type] - AnimatedProps types were made more strict and need refining at this call site
315
+ this.props.importantForAccessibility
312
316
  }
313
317
  accessibilityViewIsModal={
314
318
  this.props['aria-modal'] ?? this.props.accessibilityViewIsModal
@@ -344,7 +348,10 @@ class TouchableOpacity extends React.Component<TouchableOpacityProps, State> {
344
348
  );
345
349
  }
346
350
 
347
- componentDidUpdate(prevProps: TouchableOpacityProps, prevState: State) {
351
+ componentDidUpdate(
352
+ prevProps: TouchableOpacityProps,
353
+ prevState: TouchableOpacityState,
354
+ ) {
348
355
  this.state.pressability.configure(this._createPressabilityConfig());
349
356
  if (
350
357
  this.props.disabled !== prevProps.disabled ||
@@ -61,38 +61,35 @@ const View: component(
61
61
  const _accessibilityLabelledBy =
62
62
  ariaLabelledBy?.split(/\s*,\s*/g) ?? accessibilityLabelledBy;
63
63
 
64
- let _accessibilityState;
65
- if (
64
+ const _accessibilityState =
66
65
  accessibilityState != null ||
67
66
  ariaBusy != null ||
68
67
  ariaChecked != null ||
69
68
  ariaDisabled != null ||
70
69
  ariaExpanded != null ||
71
70
  ariaSelected != null
72
- ) {
73
- _accessibilityState = {
74
- busy: ariaBusy ?? accessibilityState?.busy,
75
- checked: ariaChecked ?? accessibilityState?.checked,
76
- disabled: ariaDisabled ?? accessibilityState?.disabled,
77
- expanded: ariaExpanded ?? accessibilityState?.expanded,
78
- selected: ariaSelected ?? accessibilityState?.selected,
79
- };
80
- }
81
- let _accessibilityValue;
82
- if (
71
+ ? {
72
+ busy: ariaBusy ?? accessibilityState?.busy,
73
+ checked: ariaChecked ?? accessibilityState?.checked,
74
+ disabled: ariaDisabled ?? accessibilityState?.disabled,
75
+ expanded: ariaExpanded ?? accessibilityState?.expanded,
76
+ selected: ariaSelected ?? accessibilityState?.selected,
77
+ }
78
+ : undefined;
79
+
80
+ const _accessibilityValue =
83
81
  accessibilityValue != null ||
84
82
  ariaValueMax != null ||
85
83
  ariaValueMin != null ||
86
84
  ariaValueNow != null ||
87
85
  ariaValueText != null
88
- ) {
89
- _accessibilityValue = {
90
- max: ariaValueMax ?? accessibilityValue?.max,
91
- min: ariaValueMin ?? accessibilityValue?.min,
92
- now: ariaValueNow ?? accessibilityValue?.now,
93
- text: ariaValueText ?? accessibilityValue?.text,
94
- };
95
- }
86
+ ? {
87
+ max: ariaValueMax ?? accessibilityValue?.max,
88
+ min: ariaValueMin ?? accessibilityValue?.min,
89
+ now: ariaValueNow ?? accessibilityValue?.now,
90
+ text: ariaValueText ?? accessibilityValue?.text,
91
+ }
92
+ : undefined;
96
93
 
97
94
  const actualView = (
98
95
  <ViewNativeComponent
@@ -78,8 +78,7 @@ const View: component(
78
78
  const _accessibilityLabelledBy =
79
79
  ariaLabelledBy?.split(/\s*,\s*/g) ?? accessibilityLabelledBy;
80
80
 
81
- let _accessibilityState;
82
- if (
81
+ const _accessibilityState =
83
82
  accessibilityState != null ||
84
83
  ariaBusy != null ||
85
84
  ariaChecked != null ||
@@ -88,33 +87,31 @@ const View: component(
88
87
  ariaMultiselectable != null ||
89
88
  ariaRequired != null ||
90
89
  ariaSelected != null
91
- ) {
92
- _accessibilityState = {
93
- busy: ariaBusy ?? accessibilityState?.busy,
94
- checked: ariaChecked ?? accessibilityState?.checked,
95
- disabled: ariaDisabled ?? accessibilityState?.disabled,
96
- expanded: ariaExpanded ?? accessibilityState?.expanded,
97
- multiselectable:
98
- ariaMultiselectable ?? accessibilityState?.multiselectable, // Win32
99
- required: ariaRequired ?? accessibilityState?.required, // Win32
100
- selected: ariaSelected ?? accessibilityState?.selected,
101
- };
102
- }
103
- let _accessibilityValue;
104
- if (
90
+ ? {
91
+ busy: ariaBusy ?? accessibilityState?.busy,
92
+ checked: ariaChecked ?? accessibilityState?.checked,
93
+ disabled: ariaDisabled ?? accessibilityState?.disabled,
94
+ expanded: ariaExpanded ?? accessibilityState?.expanded,
95
+ multiselectable:
96
+ ariaMultiselectable ?? accessibilityState?.multiselectable, // Win32
97
+ required: ariaRequired ?? accessibilityState?.required, // Win32
98
+ selected: ariaSelected ?? accessibilityState?.selected,
99
+ }
100
+ : undefined;
101
+
102
+ const _accessibilityValue =
105
103
  accessibilityValue != null ||
106
104
  ariaValueMax != null ||
107
105
  ariaValueMin != null ||
108
106
  ariaValueNow != null ||
109
107
  ariaValueText != null
110
- ) {
111
- _accessibilityValue = {
112
- max: ariaValueMax ?? accessibilityValue?.max,
113
- min: ariaValueMin ?? accessibilityValue?.min,
114
- now: ariaValueNow ?? accessibilityValue?.now,
115
- text: ariaValueText ?? accessibilityValue?.text,
116
- };
117
- }
108
+ ? {
109
+ max: ariaValueMax ?? accessibilityValue?.max,
110
+ min: ariaValueMin ?? accessibilityValue?.min,
111
+ now: ariaValueNow ?? accessibilityValue?.now,
112
+ text: ariaValueText ?? accessibilityValue?.text,
113
+ }
114
+ : undefined;
118
115
 
119
116
  const _keyDown = (event: KeyEvent) => {
120
117
  if (otherProps.keyDownEvents && event.isPropagationStopped() !== true) {
@@ -53,7 +53,8 @@ export type AccessibilityRole =
53
53
  | 'webview'
54
54
  | 'drawerlayout'
55
55
  | 'slidingdrawer'
56
- | 'iconmenu';
56
+ | 'iconmenu'
57
+ | string;
57
58
 
58
59
  // Role types for web
59
60
  export type Role =
@@ -257,6 +258,14 @@ export type AccessibilityPropsAndroid = $ReadOnly<{
257
258
  * See https://reactnative.dev/docs/view#importantforaccessibility
258
259
  */
259
260
  importantForAccessibility?: ?('auto' | 'yes' | 'no' | 'no-hide-descendants'),
261
+
262
+ /**
263
+ * Enables the view to be screen reader focusable, not keyboard focusable. This has lower priority
264
+ * than focusable or accessible props.
265
+ *
266
+ * @platform android
267
+ */
268
+ screenReaderFocusable?: boolean,
260
269
  }>;
261
270
 
262
271
  export type AccessibilityPropsIOS = $ReadOnly<{
@@ -319,6 +328,14 @@ export type AccessibilityPropsIOS = $ReadOnly<{
319
328
  * @platform ios
320
329
  */
321
330
  accessibilityLanguage?: ?Stringish,
331
+
332
+ /**
333
+ * Blocks the user from interacting with the component through keyboard while still allowing
334
+ * screen reader to interact with it if this View is still accessible.
335
+ *
336
+ * @platform ios
337
+ */
338
+ accessibilityRespondsToUserInteraction?: ?boolean,
322
339
  }>;
323
340
 
324
341
  export type AccessibilityProps = $ReadOnly<{
@@ -357,6 +374,13 @@ export type AccessibilityProps = $ReadOnly<{
357
374
  */
358
375
  'aria-label'?: ?Stringish,
359
376
 
377
+ /**
378
+ * Defines the order in which descendant elements receive accessibility focus.
379
+ * The elements in the array represent nativeID values for the respective
380
+ * descendant elements.
381
+ */
382
+ experimental_accessibilityOrder?: ?Array<string>,
383
+
360
384
  /**
361
385
  * Indicates to accessibility services to treat UI component like a specific role.
362
386
  */
@@ -63,7 +63,8 @@ export type AccessibilityRole =
63
63
  | 'webview'
64
64
  | 'drawerlayout'
65
65
  | 'slidingdrawer'
66
- | 'iconmenu';
66
+ | 'iconmenu'
67
+ | string;
67
68
 
68
69
  // Role types for web
69
70
  export type Role =
@@ -370,6 +371,13 @@ export type AccessibilityProps = $ReadOnly<{
370
371
  */
371
372
  'aria-label'?: ?Stringish,
372
373
 
374
+ /**
375
+ * Defines the order in which descendant elements receive accessibility focus.
376
+ * The elements in the array represent nativeID values for the respective
377
+ * descendant elements.
378
+ */
379
+ experimental_accessibilityOrder?: ?Array<string>,
380
+
373
381
  /**
374
382
  * Indicates to accessibility services to treat UI component like a specific role.
375
383
  */
@@ -15,17 +15,18 @@ import type {ViewStyleProp} from '../../StyleSheet/StyleSheet';
15
15
  import type {
16
16
  BlurEvent,
17
17
  FocusEvent,
18
+ GestureResponderEvent,
18
19
  LayoutChangeEvent,
19
20
  LayoutRectangle,
20
21
  MouseEvent,
21
22
  PointerEvent,
22
- GestureResponderEvent,
23
23
  } from '../../Types/CoreEventTypes';
24
24
  import type {
25
25
  AccessibilityActionEvent,
26
26
  AccessibilityProps,
27
27
  } from './ViewAccessibility';
28
- import type {Node} from 'react';
28
+
29
+ import * as React from 'react';
29
30
 
30
31
  export type ViewLayout = LayoutRectangle;
31
32
  export type ViewLayoutEvent = LayoutChangeEvent;
@@ -345,6 +346,51 @@ export type ViewPropsAndroid = $ReadOnly<{
345
346
  onClick?: ?(event: GestureResponderEvent) => mixed,
346
347
  }>;
347
348
 
349
+ export type TVViewPropsIOS = $ReadOnly<{
350
+ /**
351
+ * *(Apple TV only)* When set to true, this view will be focusable
352
+ * and navigable using the Apple TV remote.
353
+ *
354
+ * @platform ios
355
+ */
356
+ isTVSelectable?: boolean,
357
+
358
+ /**
359
+ * *(Apple TV only)* May be set to true to force the Apple TV focus engine to move focus to this view.
360
+ *
361
+ * @platform ios
362
+ */
363
+ hasTVPreferredFocus?: boolean,
364
+
365
+ /**
366
+ * *(Apple TV only)* May be used to change the appearance of the Apple TV parallax effect when this view goes in or out of focus. Defaults to 2.0.
367
+ *
368
+ * @platform ios
369
+ */
370
+ tvParallaxShiftDistanceX?: number,
371
+
372
+ /**
373
+ * *(Apple TV only)* May be used to change the appearance of the Apple TV parallax effect when this view goes in or out of focus. Defaults to 2.0.
374
+ *
375
+ * @platform ios
376
+ */
377
+ tvParallaxShiftDistanceY?: number,
378
+
379
+ /**
380
+ * *(Apple TV only)* May be used to change the appearance of the Apple TV parallax effect when this view goes in or out of focus. Defaults to 0.05.
381
+ *
382
+ * @platform ios
383
+ */
384
+ tvParallaxTiltAngle?: number,
385
+
386
+ /**
387
+ * *(Apple TV only)* May be used to change the appearance of the Apple TV parallax effect when this view goes in or out of focus. Defaults to 1.0.
388
+ *
389
+ * @platform ios
390
+ */
391
+ tvParallaxMagnification?: number,
392
+ }>;
393
+
348
394
  export type ViewPropsIOS = $ReadOnly<{
349
395
  /**
350
396
  * Whether this `View` should be rendered as a bitmap before compositing.
@@ -357,7 +403,7 @@ export type ViewPropsIOS = $ReadOnly<{
357
403
  }>;
358
404
 
359
405
  type ViewBaseProps = $ReadOnly<{
360
- children?: Node,
406
+ children?: React.Node,
361
407
  style?: ?ViewStyleProp,
362
408
 
363
409
  /**
@@ -15,18 +15,19 @@ import type {ViewStyleProp} from '../../StyleSheet/StyleSheet';
15
15
  import type {
16
16
  BlurEvent,
17
17
  FocusEvent,
18
+ GestureResponderEvent,
18
19
  LayoutChangeEvent,
19
20
  LayoutRectangle,
20
21
  MouseEvent,
21
22
  PointerEvent,
22
- GestureResponderEvent,
23
23
  KeyEvent, // [Windows]
24
24
  } from '../../Types/CoreEventTypes';
25
25
  import type {
26
26
  AccessibilityActionEvent,
27
27
  AccessibilityProps,
28
28
  } from './ViewAccessibility';
29
- import type {Node} from 'react';
29
+
30
+ import * as React from 'react';
30
31
 
31
32
  export type ViewLayout = LayoutRectangle;
32
33
  export type ViewLayoutEvent = LayoutChangeEvent;
@@ -346,6 +347,51 @@ export type ViewPropsAndroid = $ReadOnly<{
346
347
  onClick?: ?(event: GestureResponderEvent) => mixed,
347
348
  }>;
348
349
 
350
+ export type TVViewPropsIOS = $ReadOnly<{
351
+ /**
352
+ * *(Apple TV only)* When set to true, this view will be focusable
353
+ * and navigable using the Apple TV remote.
354
+ *
355
+ * @platform ios
356
+ */
357
+ isTVSelectable?: boolean,
358
+
359
+ /**
360
+ * *(Apple TV only)* May be set to true to force the Apple TV focus engine to move focus to this view.
361
+ *
362
+ * @platform ios
363
+ */
364
+ hasTVPreferredFocus?: boolean,
365
+
366
+ /**
367
+ * *(Apple TV only)* May be used to change the appearance of the Apple TV parallax effect when this view goes in or out of focus. Defaults to 2.0.
368
+ *
369
+ * @platform ios
370
+ */
371
+ tvParallaxShiftDistanceX?: number,
372
+
373
+ /**
374
+ * *(Apple TV only)* May be used to change the appearance of the Apple TV parallax effect when this view goes in or out of focus. Defaults to 2.0.
375
+ *
376
+ * @platform ios
377
+ */
378
+ tvParallaxShiftDistanceY?: number,
379
+
380
+ /**
381
+ * *(Apple TV only)* May be used to change the appearance of the Apple TV parallax effect when this view goes in or out of focus. Defaults to 0.05.
382
+ *
383
+ * @platform ios
384
+ */
385
+ tvParallaxTiltAngle?: number,
386
+
387
+ /**
388
+ * *(Apple TV only)* May be used to change the appearance of the Apple TV parallax effect when this view goes in or out of focus. Defaults to 1.0.
389
+ *
390
+ * @platform ios
391
+ */
392
+ tvParallaxMagnification?: number,
393
+ }>;
394
+
349
395
  export type ViewPropsIOS = $ReadOnly<{
350
396
  /**
351
397
  * Whether this `View` should be rendered as a bitmap before compositing.
@@ -358,7 +404,7 @@ export type ViewPropsIOS = $ReadOnly<{
358
404
  }>;
359
405
 
360
406
  type ViewBaseProps = $ReadOnly<{
361
- children?: Node,
407
+ children?: React.Node,
362
408
  style?: ?ViewStyleProp,
363
409
 
364
410
  /**
@@ -15,7 +15,7 @@ export const version: $ReadOnly<{
15
15
  prerelease: string | null,
16
16
  }> = {
17
17
  major: 0,
18
- minor: 79,
18
+ minor: 80,
19
19
  patch: 0,
20
20
  prerelease: null,
21
21
  };
@@ -10,8 +10,8 @@
10
10
 
11
11
  'use strict';
12
12
 
13
- import type {Domain} from '../../src/private/debugging/setUpFuseboxReactDevToolsDispatcher';
14
- import type {Spec as NativeReactDevToolsRuntimeSettingsModuleSpec} from '../../src/private/fusebox/specs/NativeReactDevToolsRuntimeSettingsModule';
13
+ import type {Domain} from '../../src/private/devsupport/rndevtools/setUpFuseboxReactDevToolsDispatcher';
14
+ import type {Spec as NativeReactDevToolsRuntimeSettingsModuleSpec} from '../../src/private/devsupport/rndevtools/specs/NativeReactDevToolsRuntimeSettingsModule';
15
15
 
16
16
  if (__DEV__) {
17
17
  if (typeof global.queueMicrotask !== 'function') {
@@ -31,18 +31,18 @@ if (__DEV__) {
31
31
 
32
32
  if (__DEV__) {
33
33
  // Register dispatcher on global, which can be used later by Chrome DevTools frontend
34
- require('../../src/private/debugging/setUpFuseboxReactDevToolsDispatcher');
34
+ require('../../src/private/devsupport/rndevtools/setUpFuseboxReactDevToolsDispatcher');
35
35
  const {
36
36
  initialize,
37
37
  connectToDevTools,
38
38
  connectWithCustomMessagingProtocol,
39
39
  } = require('react-devtools-core');
40
40
 
41
- const reactDevToolsSettingsManager = require('../../src/private/debugging/ReactDevToolsSettingsManager');
41
+ const reactDevToolsSettingsManager = require('../../src/private/devsupport/rndevtools/ReactDevToolsSettingsManager');
42
42
  const serializedHookSettings =
43
43
  reactDevToolsSettingsManager.getGlobalHookSettings();
44
44
  const maybeReactDevToolsRuntimeSettingsModuleModule =
45
- require('../../src/private/fusebox/specs/NativeReactDevToolsRuntimeSettingsModule').default;
45
+ require('../../src/private/devsupport/rndevtools/specs/NativeReactDevToolsRuntimeSettingsModule').default;
46
46
 
47
47
  let hookSettings = null;
48
48
  if (serializedHookSettings != null) {
@@ -35,8 +35,8 @@ import processColor from '../StyleSheet/processColor';
35
35
 
36
36
  // TODO(T171193075): __REACT_DEVTOOLS_GLOBAL_HOOK__ is always injected in dev-bundles,
37
37
  // but it is not mocked in some Jest tests. We should update Jest tests setup, so it would be the same as expected testing environment.
38
- const reactDevToolsHook: ?ReactDevToolsGlobalHook =
39
- window.__REACT_DEVTOOLS_GLOBAL_HOOK__;
38
+ const reactDevToolsHook: ?ReactDevToolsGlobalHook = (window: $FlowFixMe)
39
+ .__REACT_DEVTOOLS_GLOBAL_HOOK__;
40
40
 
41
41
  export type DebuggingOverlayRegistrySubscriberProtocol = {
42
42
  rootViewRef: AppContainerRootViewRef,
@@ -226,7 +226,7 @@ class DebuggingOverlayRegistry {
226
226
  return;
227
227
  }
228
228
 
229
- const instanceReactTag = findNodeHandle(node);
229
+ const instanceReactTag = findNodeHandle<$FlowFixMe>(node);
230
230
  if (instanceReactTag == null) {
231
231
  return;
232
232
  }
@@ -24,7 +24,12 @@ interface NativeModule {
24
24
  removeListeners(count: number): void;
25
25
  }
26
26
 
27
- export type {EventSubscription};
27
+ /** @deprecated Use `EventSubscription` instead. */
28
+ type EmitterSubscription = EventSubscription;
29
+
30
+ export type {EventSubscription, EmitterSubscription};
31
+ /** @deprecated Use `EventSubscription` instead. */
32
+ export type NativeEventSubscription = EventSubscription;
28
33
 
29
34
  // $FlowFixMe[unclear-type] unclear type of events
30
35
  type UnsafeObject = Object;
@@ -47,7 +52,7 @@ export default class NativeEventEmitter<
47
52
  {
48
53
  _nativeModule: ?NativeModule;
49
54
 
50
- constructor(nativeModule: ?NativeModule) {
55
+ constructor(nativeModule?: ?NativeModule) {
51
56
  if (Platform.OS === 'ios') {
52
57
  invariant(
53
58
  nativeModule != null,
@@ -80,7 +85,7 @@ export default class NativeEventEmitter<
80
85
 
81
86
  addListener<TEvent: $Keys<TEventToArgsMap>>(
82
87
  eventType: TEvent,
83
- listener: (...args: $ElementType<TEventToArgsMap, TEvent>) => mixed,
88
+ listener: (...args: TEventToArgsMap[TEvent]) => mixed,
84
89
  context?: mixed,
85
90
  ): EventSubscription {
86
91
  this._nativeModule?.addListener(eventType);
@@ -104,7 +109,7 @@ export default class NativeEventEmitter<
104
109
 
105
110
  emit<TEvent: $Keys<TEventToArgsMap>>(
106
111
  eventType: TEvent,
107
- ...args: $ElementType<TEventToArgsMap, TEvent>
112
+ ...args: TEventToArgsMap[TEvent]
108
113
  ): void {
109
114
  // Generally, `RCTDeviceEventEmitter` is directly invoked. But this is
110
115
  // included for completeness.
@@ -18,10 +18,23 @@ export type ResolvedAssetSource = {
18
18
  +scale: number,
19
19
  };
20
20
 
21
- import type {
22
- AssetDestPathResolver,
23
- PackagerAsset,
24
- } from '@react-native/assets-registry/registry';
21
+ // From @react-native/assets-registry
22
+ type AssetDestPathResolver = 'android' | 'generic';
23
+
24
+ // From @react-native/assets-registry
25
+ type PackagerAsset = $ReadOnly<{
26
+ __packager_asset: boolean,
27
+ fileSystemLocation: string,
28
+ httpServerLocation: string,
29
+ width: ?number,
30
+ height: ?number,
31
+ scales: Array<number>,
32
+ hash: string,
33
+ name: string,
34
+ type: string,
35
+ resolver?: AssetDestPathResolver,
36
+ ...
37
+ }>;
25
38
 
26
39
  const PixelRatio = require('../Utilities/PixelRatio').default;
27
40
  const Platform = require('../Utilities/Platform').default;