react-native-windows 0.79.2 → 0.80.0-preview.1

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 (348) hide show
  1. package/.flowconfig +12 -3
  2. package/Directory.Build.props +5 -2
  3. package/Libraries/Alert/Alert.d.ts +4 -1
  4. package/Libraries/Alert/Alert.js +3 -0
  5. package/Libraries/Alert/Alert.windows.js +3 -0
  6. package/Libraries/Alert/RCTAlertManager.js +17 -0
  7. package/Libraries/Animated/Animated.js.flow +1 -3
  8. package/Libraries/Animated/AnimatedEvent.js +4 -3
  9. package/Libraries/Animated/AnimatedExports.js +2 -2
  10. package/Libraries/Animated/AnimatedExports.js.flow +140 -0
  11. package/Libraries/Animated/AnimatedImplementation.js +2 -123
  12. package/Libraries/Animated/Easing.js +13 -15
  13. package/Libraries/Animated/animations/Animation.js +8 -4
  14. package/Libraries/Animated/components/AnimatedFlatList.js +7 -6
  15. package/Libraries/Animated/components/AnimatedScrollView.js +48 -42
  16. package/Libraries/Animated/components/AnimatedSectionList.js +11 -7
  17. package/Libraries/Animated/createAnimatedComponent.js +105 -57
  18. package/Libraries/Animated/nodes/AnimatedNode.js +4 -3
  19. package/Libraries/Animated/nodes/AnimatedProps.js +46 -26
  20. package/Libraries/Animated/nodes/AnimatedValue.js +16 -7
  21. package/Libraries/Animated/nodes/AnimatedValueXY.js +3 -1
  22. package/Libraries/AppState/AppState.js +7 -2
  23. package/Libraries/BatchedBridge/MessageQueue.js +2 -2
  24. package/Libraries/BatchedBridge/NativeModules.js +2 -0
  25. package/Libraries/Blob/BlobManager.js +1 -0
  26. package/Libraries/Blob/FileReader.js +219 -8
  27. package/Libraries/Blob/URL.js +37 -12
  28. package/Libraries/Blob/URLSearchParams.js +106 -31
  29. package/Libraries/Blob/URLSearchParams.js.flow +12 -7
  30. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +1 -1
  31. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.windows.js +1 -1
  32. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.js +17 -0
  33. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +1 -0
  34. package/Libraries/Components/Button.d.ts +3 -0
  35. package/Libraries/Components/Button.js +1 -1
  36. package/Libraries/Components/Button.windows.js +27 -1
  37. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +1 -3
  38. package/Libraries/{NewAppScreen/components/Colors.js → Components/DrawerAndroid/DrawerLayoutAndroid.ios.js} +6 -10
  39. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +6 -66
  40. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js.flow +18 -0
  41. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidFallback.js +71 -0
  42. package/Libraries/Components/Flyout/Flyout.js +11 -0
  43. package/Libraries/Components/Keyboard/Keyboard.js +5 -3
  44. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +6 -3
  45. package/Libraries/Components/Keyboard/KeyboardExt.js.map +1 -1
  46. package/Libraries/Components/Popup/Popup.js +11 -0
  47. package/Libraries/Components/Pressable/Pressable.js +20 -4
  48. package/Libraries/Components/Pressable/Pressable.windows.js +20 -4
  49. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +25 -3
  50. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidTypes.js +29 -20
  51. package/Libraries/Components/RefreshControl/RefreshControl.js +1 -1
  52. package/Libraries/Components/RefreshControl/RefreshControl.windows.js +1 -1
  53. package/Libraries/Components/ScrollView/ScrollView.d.ts +3 -3
  54. package/Libraries/Components/ScrollView/ScrollView.js +132 -122
  55. package/Libraries/Components/ScrollView/ScrollView.windows.js +131 -122
  56. package/Libraries/Components/StaticRenderer.js +1 -1
  57. package/Libraries/Components/Switch/Switch.d.ts +3 -0
  58. package/Libraries/Components/Switch/Switch.js +8 -4
  59. package/Libraries/Components/Switch/Switch.windows.js +17 -4
  60. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +2 -1
  61. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +2 -4
  62. package/Libraries/Components/TextInput/TextInput.d.ts +70 -33
  63. package/Libraries/Components/TextInput/TextInput.flow.js +100 -51
  64. package/Libraries/Components/TextInput/TextInput.flow.windows.js +1246 -0
  65. package/Libraries/Components/TextInput/TextInput.js +88 -1027
  66. package/Libraries/Components/TextInput/TextInput.windows.js +104 -1092
  67. package/Libraries/Components/TextInput/TextInputState.js +1 -1
  68. package/Libraries/Components/TextInput/TextInputState.windows.js +1 -1
  69. package/Libraries/Components/TextInput/WindowsTextInputNativeComponent.js +2 -1
  70. package/Libraries/{Modal/ModalInjection.js → Components/ToastAndroid/ToastAndroid.ios.js} +3 -5
  71. package/Libraries/Components/ToastAndroid/ToastAndroid.js +4 -32
  72. package/Libraries/Components/ToastAndroid/ToastAndroid.js.flow +109 -0
  73. package/Libraries/Components/ToastAndroid/ToastAndroidFallback.js +45 -0
  74. package/Libraries/Components/Touchable/Touchable.js +5 -5
  75. package/Libraries/Components/Touchable/Touchable.windows.js +5 -5
  76. package/Libraries/Components/Touchable/TouchableBounce.js +14 -7
  77. package/Libraries/Components/Touchable/TouchableBounce.windows.js +14 -7
  78. package/Libraries/Components/Touchable/TouchableHighlight.js +10 -7
  79. package/Libraries/Components/Touchable/TouchableHighlight.windows.js +10 -7
  80. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +6 -6
  81. package/Libraries/Components/Touchable/TouchableNativeFeedback.windows.js +6 -6
  82. package/Libraries/Components/Touchable/TouchableOpacity.js +13 -6
  83. package/Libraries/Components/Touchable/TouchableOpacity.windows.js +13 -6
  84. package/Libraries/Components/View/View.js +18 -21
  85. package/Libraries/Components/View/View.windows.js +39 -41
  86. package/Libraries/Components/View/ViewAccessibility.d.ts +8 -0
  87. package/Libraries/Components/View/ViewAccessibility.js +25 -1
  88. package/Libraries/Components/View/ViewAccessibility.windows.js +9 -1
  89. package/Libraries/Components/View/ViewPropTypes.js +49 -3
  90. package/Libraries/Components/View/ViewPropTypes.windows.js +50 -2
  91. package/Libraries/Core/ReactNativeVersion.js +1 -1
  92. package/Libraries/Core/setUpReactDevTools.js +5 -5
  93. package/Libraries/Debugging/DebuggingOverlayRegistry.js +3 -3
  94. package/Libraries/EventEmitter/NativeEventEmitter.js +9 -4
  95. package/Libraries/Image/AssetSourceResolver.js +17 -4
  96. package/Libraries/Image/AssetSourceResolver.windows.js +17 -4
  97. package/Libraries/Image/Image.d.ts +26 -10
  98. package/Libraries/Image/Image.js +17 -0
  99. package/Libraries/Image/Image.js.flow +5 -5
  100. package/Libraries/Image/Image.windows.js +13 -1
  101. package/Libraries/Image/ImageBackground.js +2 -0
  102. package/Libraries/Image/ImageInjection.js +1 -1
  103. package/Libraries/Image/ImageProps.js +22 -17
  104. package/Libraries/Image/ImageSource.js +3 -1
  105. package/Libraries/Image/ImageSourceUtils.js +4 -2
  106. package/Libraries/Image/ImageTypes.flow.js +1 -1
  107. package/Libraries/Interaction/InteractionManager.d.ts +13 -0
  108. package/Libraries/Interaction/InteractionManager.js +1 -1
  109. package/Libraries/Interaction/PanResponder.js +3 -3
  110. package/Libraries/Interaction/TaskQueue.js +1 -0
  111. package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -2
  112. package/Libraries/Linking/Linking.js +1 -1
  113. package/Libraries/Lists/FlatList.d.ts +2 -2
  114. package/Libraries/Lists/FlatList.js +8 -11
  115. package/Libraries/Lists/SectionList.js +39 -42
  116. package/Libraries/Lists/SectionListModern.js +25 -34
  117. package/Libraries/Lists/VirtualizedList.js +1 -0
  118. package/Libraries/Lists/VirtualizedSectionList.js +1 -0
  119. package/Libraries/LogBox/Data/LogBoxData.js +1 -1
  120. package/Libraries/LogBox/LogBoxNotificationContainer.js +1 -1
  121. package/Libraries/Modal/Modal.js +33 -7
  122. package/Libraries/Modal/Modal.windows.js +33 -10
  123. package/Libraries/NativeComponent/BaseViewConfig.android.js +2 -0
  124. package/Libraries/NativeComponent/BaseViewConfig.ios.js +2 -0
  125. package/Libraries/NativeComponent/BaseViewConfig.js +17 -0
  126. package/Libraries/NativeComponent/BaseViewConfig.windows.js +3 -0
  127. package/Libraries/NativeComponent/PlatformBaseViewConfig.js +2 -2
  128. package/Libraries/NativeModules/specs/NativeDevMenu.js +2 -2
  129. package/Libraries/Network/RCTNetworking.android.js +1 -1
  130. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  131. package/Libraries/Network/RCTNetworking.js +17 -0
  132. package/Libraries/Network/RCTNetworking.js.flow +1 -1
  133. package/Libraries/Network/RCTNetworking.windows.js +1 -1
  134. package/Libraries/Network/XMLHttpRequest.js +781 -10
  135. package/Libraries/Performance/Systrace.js +7 -7
  136. package/Libraries/Pressability/Pressability.js +1 -1
  137. package/Libraries/Pressability/Pressability.windows.js +1 -1
  138. package/Libraries/ReactNative/AppContainer-dev.js +5 -4
  139. package/Libraries/ReactNative/AppRegistry.flow.js +49 -0
  140. package/Libraries/ReactNative/AppRegistry.js +2 -322
  141. package/Libraries/ReactNative/AppRegistry.js.flow +23 -0
  142. package/Libraries/ReactNative/AppRegistryImpl.js +316 -0
  143. package/Libraries/ReactNative/FabricUIManager.js +10 -0
  144. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +2 -4
  145. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +1 -4
  146. package/Libraries/ReactNative/RendererImplementation.js +10 -5
  147. package/Libraries/ReactNative/getNativeComponentAttributes.js +1 -0
  148. package/Libraries/ReactNative/renderApplication.js +9 -0
  149. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +3 -3
  150. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js.flow +51 -0
  151. package/Libraries/Renderer/implementations/ReactFabric-dev.js +4840 -4748
  152. package/Libraries/Renderer/implementations/ReactFabric-prod.js +4947 -4829
  153. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +3998 -3888
  154. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +5005 -4948
  155. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +2744 -2652
  156. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +5020 -4933
  157. package/Libraries/Renderer/shims/ReactNativeTypes.js +3 -3
  158. package/Libraries/Settings/Settings.ios.js +1 -0
  159. package/Libraries/Settings/Settings.js +13 -19
  160. package/Libraries/Settings/SettingsFallback.js +33 -0
  161. package/Libraries/StyleSheet/PlatformColorValueTypes.js +15 -0
  162. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.js +6 -0
  163. package/Libraries/StyleSheet/Rect.js +1 -0
  164. package/Libraries/StyleSheet/StyleSheet.js +31 -200
  165. package/Libraries/StyleSheet/StyleSheet.js.flow +188 -0
  166. package/Libraries/StyleSheet/StyleSheetExports.js +210 -0
  167. package/Libraries/StyleSheet/StyleSheetExports.js.flow +112 -0
  168. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +1 -1
  169. package/Libraries/StyleSheet/StyleSheetTypes.js +130 -52
  170. package/Libraries/StyleSheet/flattenStyle.js +14 -4
  171. package/Libraries/StyleSheet/private/_TransformStyle.js +49 -21
  172. package/Libraries/StyleSheet/processBackgroundImage.js +670 -214
  173. package/Libraries/Text/Text.d.ts +2 -5
  174. package/Libraries/Text/Text.js +3 -3
  175. package/Libraries/Text/Text.windows.js +3 -3
  176. package/Libraries/Text/TextNativeComponent.js +0 -4
  177. package/Libraries/Text/TextProps.js +5 -33
  178. package/Libraries/Text/TextProps.windows.js +5 -32
  179. package/Libraries/Types/CodegenTypesNamespace.d.ts +45 -0
  180. package/Libraries/{Blob/__mocks__/BlobModule.js → Types/CodegenTypesNamespace.js} +4 -6
  181. package/Libraries/Types/CoreEventTypes.d.ts +6 -1
  182. package/Libraries/Types/CoreEventTypes.js +1 -1
  183. package/Libraries/Types/CoreEventTypes.windows.js +1 -1
  184. package/Libraries/Utilities/Appearance.js +2 -0
  185. package/Libraries/Utilities/BackHandler.js +17 -0
  186. package/Libraries/Utilities/DeviceInfo.js +2 -0
  187. package/Libraries/Utilities/Dimensions.js +1 -1
  188. package/Libraries/Utilities/Platform.js +17 -0
  189. package/Libraries/Utilities/PlatformTypes.js +11 -3
  190. package/Libraries/Utilities/ReactNativeTestTools.js +2 -2
  191. package/Libraries/Utilities/codegenNativeCommands.d.ts +18 -0
  192. package/Libraries/Utilities/codegenNativeComponent.d.ts +26 -0
  193. package/Libraries/WebSocket/WebSocket.js +313 -8
  194. package/Libraries/vendor/core/ErrorUtils.js +28 -2
  195. package/Libraries/vendor/emitter/EventEmitter.js +6 -2
  196. package/Microsoft.ReactNative/CompositionSwitcher.idl +8 -0
  197. package/Microsoft.ReactNative/Fabric/AbiComponentDescriptor.cpp +0 -6
  198. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +197 -1
  199. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +34 -4
  200. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +12 -0
  201. package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +36 -33
  202. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +81 -0
  203. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.h +5 -0
  204. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +148 -14
  205. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.h +4 -0
  206. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputEventEmitter.cpp +29 -0
  207. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputEventEmitter.h +2 -0
  208. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +17 -34
  209. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +4 -0
  210. package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +2 -0
  211. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewEventEmitter.cpp +16 -0
  212. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewEventEmitter.h +1 -0
  213. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewProps.cpp +9 -0
  214. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewProps.h +1 -0
  215. package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +4 -0
  216. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/WindowsTextLayoutManager.cpp +34 -94
  217. package/Microsoft.ReactNative/Modules/SampleTurboModule.cpp +4 -0
  218. package/Microsoft.ReactNative/Modules/SampleTurboModule.h +3 -0
  219. package/Microsoft.ReactNative/TurboModulesProvider.h +1 -1
  220. package/Microsoft.ReactNative.Cxx/JSI/JsiApiContext.h +1 -1
  221. package/Microsoft.ReactNative.Cxx/JSI/LongLivedJsiValue.h +1 -1
  222. package/PropertySheets/Generated/PackageVersion.g.props +4 -4
  223. package/PropertySheets/React.Cpp.props +4 -0
  224. package/README.md +2 -2
  225. package/ReactCommon/ReactCommon.vcxproj +9 -4
  226. package/ReactCommon/ReactCommon.vcxproj.filters +6 -0
  227. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/CxxNativeModule.cpp +253 -0
  228. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSExecutor.cpp +5 -2
  229. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/NativeToJsBridge.cpp +4 -8
  230. package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/TraceSection.h +184 -0
  231. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.cpp +22 -0
  232. package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.h +2 -4
  233. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleWithJSIBindings.cpp +27 -0
  234. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +2 -1
  235. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityPrimitives.h +1 -1
  236. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityProps.cpp +308 -0
  237. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/DynamicEventPayload.cpp +42 -0
  238. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/css/CSSTokenizer.h +7 -51
  239. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/ReactInstance.cpp +10 -5
  240. package/Scripts/creaternwapp.cmd +9 -3
  241. package/Shared/Shared.vcxitems +3 -2
  242. package/Shared/Shared.vcxitems.filters +2 -1
  243. package/codegen/NativeAnimatedModuleSpec.g.h +2 -0
  244. package/codegen/NativeAnimatedTurboModuleSpec.g.h +2 -0
  245. package/codegen/NativePerformanceSpec.g.h +14 -0
  246. package/codegen/NativeReactNativeFeatureFlagsSpec.g.h +151 -127
  247. package/codegen/NativeSampleTurboModuleSpec.g.h +14 -8
  248. package/codegen/react/components/rnwcore/EventEmitters.cpp +48 -48
  249. package/codegen/rnwcoreJSI-generated.cpp +159 -129
  250. package/codegen/rnwcoreJSI.h +534 -408
  251. package/index.js +51 -331
  252. package/index.windows.js +70 -352
  253. package/interface.js +0 -4
  254. package/jest/resolver.js +31 -0
  255. package/jest/setup.js +6 -2
  256. package/package.json +29 -28
  257. package/src/private/animated/NativeAnimatedHelper.js +21 -8
  258. package/src/private/animated/createAnimatedPropsHook.js +11 -16
  259. package/src/private/animated/createAnimatedPropsMemoHook.js +1 -2
  260. package/src/private/components/{SafeAreaView_INTERNAL_DO_NOT_USE.js → safeareaview/SafeAreaView_INTERNAL_DO_NOT_USE.js} +6 -6
  261. package/src/private/components/{HScrollViewNativeComponents.js → scrollview/HScrollViewNativeComponents.js} +8 -8
  262. package/src/private/components/scrollview/VScrollViewNativeComponents.js +25 -0
  263. package/src/private/{devmenu → devsupport/devmenu}/DevMenu.js +1 -1
  264. package/src/private/{inspector → devsupport/devmenu/elementinspector}/BorderBox.js +3 -3
  265. package/src/private/{inspector → devsupport/devmenu/elementinspector}/BoxInspector.js +6 -5
  266. package/src/private/{inspector → devsupport/devmenu/elementinspector}/ElementBox.js +8 -6
  267. package/src/private/{inspector → devsupport/devmenu/elementinspector}/ElementProperties.js +11 -10
  268. package/src/private/{inspector → devsupport/devmenu/elementinspector}/Inspector.js +14 -12
  269. package/src/private/{inspector → devsupport/devmenu/elementinspector}/InspectorOverlay.js +5 -4
  270. package/src/private/{inspector → devsupport/devmenu/elementinspector}/InspectorPanel.js +9 -8
  271. package/src/private/{inspector → devsupport/devmenu/elementinspector}/NetworkOverlay.js +10 -9
  272. package/src/private/{inspector → devsupport/devmenu/elementinspector}/ReactDevToolsOverlay.js +7 -7
  273. package/src/private/{inspector → devsupport/devmenu/elementinspector}/StyleInspector.js +7 -6
  274. package/src/private/{inspector → devsupport/devmenu/elementinspector}/XHRInterceptor.js +2 -2
  275. package/src/private/{inspector → devsupport/devmenu/elementinspector}/getInspectorDataForViewAtPoint.js +4 -4
  276. package/src/private/{inspector → devsupport/devmenu/elementinspector}/resolveBoxStyle.js +1 -1
  277. package/src/private/{inspector → devsupport/devmenu/perfmonitor}/PerformanceOverlay.js +6 -5
  278. package/src/private/{specs_DEPRECATED/modules → devsupport/devmenu/specs}/NativeDevMenu.js +2 -2
  279. package/src/private/{debugging → devsupport/rndevtools}/ReactDevToolsSettingsManager.android.js +1 -1
  280. package/src/private/{debugging → devsupport/rndevtools}/ReactDevToolsSettingsManager.ios.js +1 -1
  281. package/src/private/{debugging → devsupport/rndevtools}/ReactDevToolsSettingsManager.windows.js +1 -1
  282. package/src/private/{debugging → devsupport/rndevtools}/setUpFuseboxReactDevToolsDispatcher.js +1 -1
  283. package/src/private/{fusebox → devsupport/rndevtools}/specs/NativeReactDevToolsRuntimeSettingsModule.js +2 -2
  284. package/src/private/{specs_DEPRECATED/modules → devsupport/rndevtools/specs}/NativeReactDevToolsSettingsManager.js +2 -2
  285. package/src/private/featureflags/ReactNativeFeatureFlags.js +82 -80
  286. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +12 -1
  287. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +17 -13
  288. package/src/private/renderer/errorhandling/ErrorHandlers.js +2 -2
  289. package/src/private/specs_DEPRECATED/modules/NativeAnimatedModule.js +1 -1
  290. package/src/private/specs_DEPRECATED/modules/NativeAnimatedTurboModule.js +1 -1
  291. package/src/private/specs_DEPRECATED/modules/NativeSampleTurboModule.js +3 -0
  292. package/src/private/styles/composeStyles.js +12 -5
  293. package/src/private/types/HostComponent.js +1 -1
  294. package/src/private/types/HostInstance.js +67 -1
  295. package/src/private/webapis/dom/nodes/ReactNativeElement.js +2 -5
  296. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +5 -18
  297. package/src/private/webapis/dom/nodes/internals/NodeInternals.js +6 -0
  298. package/src/private/webapis/performance/Performance.js +1 -3
  299. package/src/private/webapis/performance/PerformanceEntry.js +6 -1
  300. package/src/private/webapis/performance/internals/RawPerformanceEntry.js +3 -0
  301. package/src/private/webapis/performance/specs/NativePerformance.js +10 -1
  302. package/src/types/globals.d.ts +42 -0
  303. package/stubs/double-conversion/double-conversion.h +3 -1
  304. package/templates/cpp-app/windows/MyApp/MyApp.vcxproj +4 -0
  305. package/templates/cpp-lib/windows/MyLib/MyLib.vcxproj +4 -0
  306. package/types/index.d.ts +6 -3
  307. package/types/public/ReactNativeTypes.d.ts +2 -2
  308. package/Libraries/BatchedBridge/__mocks__/MessageQueueTestConfig.js +0 -38
  309. package/Libraries/BatchedBridge/__mocks__/MessageQueueTestModule.js +0 -22
  310. package/Libraries/Blob/FileReader_new.js +0 -231
  311. package/Libraries/Blob/FileReader_old.js +0 -186
  312. package/Libraries/Blob/__mocks__/FileReaderModule.js +0 -20
  313. package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +0 -32
  314. package/Libraries/Core/__mocks__/ErrorUtils.js +0 -33
  315. package/Libraries/Core/__mocks__/NativeExceptionsManager.js +0 -19
  316. package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +0 -49
  317. package/Libraries/Events/CustomEvent.js +0 -32
  318. package/Libraries/Events/EventPolyfill.js +0 -239
  319. package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +0 -118
  320. package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +0 -134
  321. package/Libraries/Network/XMLHttpRequest_new.js +0 -794
  322. package/Libraries/Network/XMLHttpRequest_old.js +0 -701
  323. package/Libraries/NewAppScreen/components/DebugInstructions.js +0 -41
  324. package/Libraries/NewAppScreen/components/DebugInstructions.windows.js +0 -30
  325. package/Libraries/NewAppScreen/components/Header.js +0 -77
  326. package/Libraries/NewAppScreen/components/HermesBadge.js +0 -53
  327. package/Libraries/NewAppScreen/components/LearnMoreLinks.js +0 -148
  328. package/Libraries/NewAppScreen/components/ReloadInstructions.js +0 -39
  329. package/Libraries/NewAppScreen/components/ReloadInstructions.windows.js +0 -31
  330. package/Libraries/NewAppScreen/components/logo.png +0 -0
  331. package/Libraries/NewAppScreen/index.js +0 -25
  332. package/Libraries/StyleSheet/__flowtests__/StyleSheet-flowtest.js +0 -58
  333. package/Libraries/Utilities/__mocks__/BackHandler.js +0 -45
  334. package/Libraries/Utilities/__mocks__/GlobalPerformanceLogger.js +0 -16
  335. package/Libraries/Utilities/__mocks__/PixelRatio.js +0 -25
  336. package/Libraries/WebSocket/WebSocketEvent.js +0 -30
  337. package/Libraries/WebSocket/WebSocket_new.js +0 -325
  338. package/Libraries/WebSocket/WebSocket_old.js +0 -297
  339. package/Libraries/WebSocket/__mocks__/event-target-shim.js +0 -27
  340. package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +0 -30
  341. package/Libraries/vendor/emitter/__flowtests__/EventEmitter-flowtest.js +0 -81
  342. package/jest/__tests__/setup-test.js +0 -18
  343. package/src/private/components/VScrollViewNativeComponents.js +0 -25
  344. package/src/private/utilities/ensureInstance.js +0 -21
  345. package/src/private/webapis/performance/specs/__mocks__/NativePerformanceMock.js +0 -267
  346. package/types/modules/LaunchScreen.d.ts +0 -18
  347. /package/src/private/{devmenu → devsupport/devmenu}/DevMenu.d.ts +0 -0
  348. /package/src/private/{debugging → devsupport/rndevtools}/FuseboxSessionObserver.js +0 -0
@@ -38,7 +38,7 @@ function currentlyFocusedField(): ?number {
38
38
  );
39
39
  }
40
40
 
41
- return findNodeHandle(currentlyFocusedInputRef);
41
+ return findNodeHandle<$FlowFixMe>(currentlyFocusedInputRef);
42
42
  }
43
43
 
44
44
  function focusInput(textField: ?HostInstance): void {
@@ -39,7 +39,7 @@ function currentlyFocusedField(): ?number {
39
39
  );
40
40
  }
41
41
 
42
- return findNodeHandle(currentlyFocusedInputRef);
42
+ return findNodeHandle<$FlowFixMe>(currentlyFocusedInputRef);
43
43
  }
44
44
 
45
45
  function focusInput(textField: ?HostInstance): void {
@@ -70,7 +70,7 @@ export type SubmitBehavior = 'submit' | 'blurAndSubmit' | 'newline';
70
70
  export type NativeProps = $ReadOnly<{
71
71
  // This allows us to inherit everything from ViewProps except for style (see below)
72
72
  // This must be commented for Fabric codegen to work.
73
- ...$Diff<ViewProps, $ReadOnly<{style: ?ViewStyleProp}>>,
73
+ ...Omit<ViewProps, 'style'>,
74
74
 
75
75
  /**
76
76
  * Android props after this
@@ -704,6 +704,7 @@ export const __INTERNAL_VIEW_CONFIG: PartialViewConfig = {
704
704
  },
705
705
  },
706
706
  validAttributes: {
707
+ acceptDragAndDropTypes: true,
707
708
  maxFontSizeMultiplier: true,
708
709
  adjustsFontSizeToFit: true,
709
710
  minimumFontScale: true,
@@ -4,12 +4,10 @@
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 strict-local
8
7
  * @format
8
+ * @flow strict-local
9
9
  */
10
10
 
11
- import typeof Modal from './Modal';
11
+ import ToastAndroidFallback from './ToastAndroidFallback';
12
12
 
13
- export default {
14
- unstable_Modal: (null: ?Modal),
15
- };
13
+ export default ToastAndroidFallback;
@@ -8,38 +8,10 @@
8
8
  * @flow strict-local
9
9
  */
10
10
 
11
- 'use strict';
11
+ // NOTE: This file supports backwards compatibility of subpath (deep) imports
12
+ // from 'react-native' with platform-specific extensions. It can be deleted
13
+ // once we remove the "./*" mapping from package.json "exports".
12
14
 
13
- const ToastAndroid = {
14
- // Dummy fallback toast duration constants
15
- SHORT: (0: number),
16
- LONG: (0: number),
17
- // Dummy fallback toast gravity constants
18
- TOP: (0: number),
19
- BOTTOM: (0: number),
20
- CENTER: (0: number),
21
-
22
- show: function (message: string, duration: number): void {
23
- console.warn('ToastAndroid is not supported on this platform.');
24
- },
25
-
26
- showWithGravity: function (
27
- message: string,
28
- duration: number,
29
- gravity: number,
30
- ): void {
31
- console.warn('ToastAndroid is not supported on this platform.');
32
- },
33
-
34
- showWithGravityAndOffset: function (
35
- message: string,
36
- duration: number,
37
- gravity: number,
38
- xOffset: number,
39
- yOffset: number,
40
- ): void {
41
- console.warn('ToastAndroid is not supported on this platform.');
42
- },
43
- };
15
+ import ToastAndroid from './ToastAndroid';
44
16
 
45
17
  export default ToastAndroid;
@@ -0,0 +1,109 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @format
8
+ * @flow strict-local
9
+ */
10
+
11
+ /**
12
+ * This exposes the native ToastAndroid module as a JS module. This has a function 'show'
13
+ * which takes the following parameters:
14
+ *
15
+ * 1. String message: A string with the text to toast
16
+ * 2. int duration: The duration of the toast. May be ToastAndroid.SHORT or ToastAndroid.LONG
17
+ *
18
+ * There is also a function `showWithGravity` to specify the layout gravity. May be
19
+ * ToastAndroid.TOP, ToastAndroid.BOTTOM, ToastAndroid.CENTER
20
+ *
21
+ * **Note**: Starting from Android API level 30 (Android R) or higher, for apps targeting
22
+ * that API level, setting toast gravity is a no-op for text toasts.
23
+ * This means that in many cases `TOP`, `BOTTOM`, `CENTER`, or offsets may not have
24
+ * any visible effect on actual toast positioning.
25
+ *
26
+ * Reference: https://developer.android.com/reference/android/widget/Toast#setGravity(int,%20int,%20int)
27
+ */
28
+ declare const ToastAndroid: {
29
+ /**
30
+ * Indicates a short duration on the screen.
31
+ *
32
+ * Value: 2000 milliseconds (2 seconds).
33
+ */
34
+ SHORT: number,
35
+
36
+ /**
37
+ * Indicates a long duration on the screen.
38
+ *
39
+ * Value: 3500 milliseconds (3.5 seconds).
40
+ */
41
+ LONG: number,
42
+
43
+ /**
44
+ * Indicates that the toast message should appear at the top of the screen.
45
+ *
46
+ * **Note**: On Android R or later, this may not have any visible effect.
47
+ */
48
+ TOP: number,
49
+
50
+ /**
51
+ * Indicates that the toast message should appear at the bottom of the screen.
52
+ *
53
+ * **Note**: On Android R or later, this may not have any visible effect.
54
+ */
55
+ BOTTOM: number,
56
+
57
+ /**
58
+ * Indicates that the toast message should appear at the center of the screen.
59
+ *
60
+ * **Note**: On Android R or later, this may not have any visible effect.
61
+ */
62
+ CENTER: number,
63
+
64
+ /**
65
+ * Display a toast message for a specified duration.
66
+ *
67
+ * @param message A string with the text to toast.
68
+ * @param duration The duration of the toast–either ToastAndroid.SHORT or ToastAndroid.LONG
69
+ */
70
+ show: (message: string, duration: number) => void,
71
+
72
+ /**
73
+ * Display a toast message for a specified duration with a given gravity.
74
+ *
75
+ * @param message A string with the text to display in the toast.
76
+ * @param duration The duration of the toast.
77
+ * May be `ToastAndroid.SHORT` or `ToastAndroid.LONG`.
78
+ * @param gravity Positioning on the screen, e.g.,
79
+ * `ToastAndroid.TOP`, `ToastAndroid.BOTTOM`, or `ToastAndroid.CENTER`.
80
+ *
81
+ * **Note**: On Android R (API 30) or later (when targeting API 30+), this setting may
82
+ * not have any effect on text toast placement due to `setGravity` becoming a no-op.
83
+ */
84
+ showWithGravity: (message: string, duration: number, gravity: number) => void,
85
+
86
+ /**
87
+ * Display a toast message for a specified duration with a given gravity and custom offsets.
88
+ *
89
+ * @param message A string with the text to display in the toast.
90
+ * @param duration The duration of the toast.
91
+ * May be `ToastAndroid.SHORT` or `ToastAndroid.LONG`.
92
+ * @param gravity Positioning on the screen, e.g.,
93
+ * `ToastAndroid.TOP`, `ToastAndroid.BOTTOM`, or `ToastAndroid.CENTER`.
94
+ * @param xOffset Horizontal offset from the given gravity.
95
+ * @param yOffset Vertical offset from the given gravity.
96
+ *
97
+ * **Note**: On Android R (API 30) or later (when targeting API 30+), setting gravity
98
+ * and offsets may not visibly affect the placement of text toasts.
99
+ */
100
+ showWithGravityAndOffset: (
101
+ message: string,
102
+ duration: number,
103
+ gravity: number,
104
+ xOffset: number,
105
+ yOffset: number,
106
+ ) => void,
107
+ };
108
+
109
+ export default ToastAndroid;
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @format
8
+ * @flow strict-local
9
+ */
10
+
11
+ 'use strict';
12
+
13
+ const ToastAndroid = {
14
+ // Dummy fallback toast duration constants
15
+ SHORT: (0: number),
16
+ LONG: (0: number),
17
+ // Dummy fallback toast gravity constants
18
+ TOP: (0: number),
19
+ BOTTOM: (0: number),
20
+ CENTER: (0: number),
21
+
22
+ show: function (message: string, duration: number): void {
23
+ console.warn('ToastAndroid is not supported on this platform.');
24
+ },
25
+
26
+ showWithGravity: function (
27
+ message: string,
28
+ duration: number,
29
+ gravity: number,
30
+ ): void {
31
+ console.warn('ToastAndroid is not supported on this platform.');
32
+ },
33
+
34
+ showWithGravityAndOffset: function (
35
+ message: string,
36
+ duration: number,
37
+ gravity: number,
38
+ xOffset: number,
39
+ yOffset: number,
40
+ ): void {
41
+ console.warn('ToastAndroid is not supported on this platform.');
42
+ },
43
+ };
44
+
45
+ export default ToastAndroid;
@@ -144,7 +144,7 @@ const States = {
144
144
  ERROR: 'ERROR',
145
145
  };
146
146
 
147
- type State =
147
+ type TouchableState =
148
148
  | typeof States.NOT_RESPONDER
149
149
  | typeof States.RESPONDER_INACTIVE_PRESS_IN
150
150
  | typeof States.RESPONDER_INACTIVE_PRESS_OUT
@@ -397,7 +397,7 @@ const TouchableMixinImpl = {
397
397
  */
398
398
  touchableGetInitialState: function (): {
399
399
  touchable: {
400
- touchState: ?State,
400
+ touchState: ?TouchableState,
401
401
  responderID: ?GestureResponderEvent['currentTarget'],
402
402
  },
403
403
  } {
@@ -806,7 +806,7 @@ const TouchableMixinImpl = {
806
806
  this.longPressDelayTimeout = null;
807
807
  },
808
808
 
809
- _isHighlight: function (state: State): boolean {
809
+ _isHighlight: function (state: TouchableState): boolean {
810
810
  return (
811
811
  state === States.RESPONDER_ACTIVE_PRESS_IN ||
812
812
  state === States.RESPONDER_ACTIVE_LONG_PRESS_IN
@@ -849,8 +849,8 @@ const TouchableMixinImpl = {
849
849
  /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by
850
850
  * Flow's LTI update could not be added via codemod */
851
851
  _performSideEffectsForTransition: function (
852
- curState: State,
853
- nextState: State,
852
+ curState: TouchableState,
853
+ nextState: TouchableState,
854
854
  signal: Signal,
855
855
  e: GestureResponderEvent,
856
856
  ) {
@@ -149,7 +149,7 @@ const States = {
149
149
  ERROR: 'ERROR',
150
150
  };
151
151
 
152
- type State =
152
+ type TouchableState =
153
153
  | typeof States.NOT_RESPONDER
154
154
  | typeof States.RESPONDER_INACTIVE_PRESS_IN
155
155
  | typeof States.RESPONDER_INACTIVE_PRESS_OUT
@@ -402,7 +402,7 @@ const TouchableMixinImpl = {
402
402
  */
403
403
  touchableGetInitialState: function (): {
404
404
  touchable: {
405
- touchState: ?State,
405
+ touchState: ?TouchableState,
406
406
  responderID: ?GestureResponderEvent['currentTarget'],
407
407
  },
408
408
  } {
@@ -811,7 +811,7 @@ const TouchableMixinImpl = {
811
811
  this.longPressDelayTimeout = null;
812
812
  },
813
813
 
814
- _isHighlight: function (state: State): boolean {
814
+ _isHighlight: function (state: TouchableState): boolean {
815
815
  return (
816
816
  state === States.RESPONDER_ACTIVE_PRESS_IN ||
817
817
  state === States.RESPONDER_ACTIVE_LONG_PRESS_IN
@@ -854,8 +854,8 @@ const TouchableMixinImpl = {
854
854
  /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by
855
855
  * Flow's LTI update could not be added via codemod */
856
856
  _performSideEffectsForTransition: function (
857
- curState: State,
858
- nextState: State,
857
+ curState: TouchableState,
858
+ nextState: TouchableState,
859
859
  signal: Signal,
860
860
  e: GestureResponderEvent,
861
861
  ) {
@@ -19,7 +19,7 @@ import {PressabilityDebugView} from '../../Pressability/PressabilityDebug';
19
19
  import Platform from '../../Utilities/Platform';
20
20
  import * as React from 'react';
21
21
 
22
- type Props = $ReadOnly<{
22
+ type TouchableBounceProps = $ReadOnly<{
23
23
  ...React.ElementConfig<TouchableWithoutFeedback>,
24
24
 
25
25
  onPressAnimationComplete?: ?() => void,
@@ -31,13 +31,16 @@ type Props = $ReadOnly<{
31
31
  hostRef: React.RefSetter<React.ElementRef<typeof Animated.View>>,
32
32
  }>;
33
33
 
34
- type State = $ReadOnly<{
34
+ type TouchableBounceState = $ReadOnly<{
35
35
  pressability: Pressability,
36
36
  scale: Animated.Value,
37
37
  }>;
38
38
 
39
- class TouchableBounce extends React.Component<Props, State> {
40
- state: State = {
39
+ class TouchableBounce extends React.Component<
40
+ TouchableBounceProps,
41
+ TouchableBounceState,
42
+ > {
43
+ state: TouchableBounceState = {
41
44
  pressability: new Pressability(this._createPressabilityConfig()),
42
45
  scale: new Animated.Value(1),
43
46
  };
@@ -173,7 +176,8 @@ class TouchableBounce extends React.Component<Props, State> {
173
176
  importantForAccessibility={
174
177
  this.props['aria-hidden'] === true
175
178
  ? 'no-hide-descendants'
176
- : this.props.importantForAccessibility
179
+ : // $FlowFixMe[incompatible-type] - AnimatedProps types were made more strict and need refining at this call site
180
+ this.props.importantForAccessibility
177
181
  }
178
182
  accessibilityViewIsModal={
179
183
  this.props['aria-modal'] ?? this.props.accessibilityViewIsModal
@@ -200,7 +204,10 @@ class TouchableBounce extends React.Component<Props, State> {
200
204
  );
201
205
  }
202
206
 
203
- componentDidUpdate(prevProps: Props, prevState: State) {
207
+ componentDidUpdate(
208
+ prevProps: TouchableBounceProps,
209
+ prevState: TouchableBounceState,
210
+ ) {
204
211
  this.state.pressability.configure(this._createPressabilityConfig());
205
212
  }
206
213
 
@@ -218,5 +225,5 @@ export default (React.forwardRef((props, hostRef: React.RefSetter<mixed>) => (
218
225
  <TouchableBounce {...props} hostRef={hostRef} />
219
226
  )): component(
220
227
  ref: React.RefSetter<mixed>,
221
- ...props: $ReadOnly<$Diff<Props, {hostRef: mixed}>>
228
+ ...props: $ReadOnly<Omit<TouchableBounceProps, 'hostRef'>>
222
229
  ));
@@ -19,7 +19,7 @@ import {PressabilityDebugView} from '../../Pressability/PressabilityDebug';
19
19
  import Platform from '../../Utilities/Platform';
20
20
  import * as React from 'react';
21
21
 
22
- type Props = $ReadOnly<{
22
+ type TouchableBounceProps = $ReadOnly<{
23
23
  ...React.ElementConfig<TouchableWithoutFeedback>,
24
24
 
25
25
  onPressAnimationComplete?: ?() => void,
@@ -31,13 +31,16 @@ type Props = $ReadOnly<{
31
31
  hostRef: React.RefSetter<React.ElementRef<typeof Animated.View>>,
32
32
  }>;
33
33
 
34
- type State = $ReadOnly<{
34
+ type TouchableBounceState = $ReadOnly<{
35
35
  pressability: Pressability,
36
36
  scale: Animated.Value,
37
37
  }>;
38
38
 
39
- class TouchableBounce extends React.Component<Props, State> {
40
- state: State = {
39
+ class TouchableBounce extends React.Component<
40
+ TouchableBounceProps,
41
+ TouchableBounceState,
42
+ > {
43
+ state: TouchableBounceState = {
41
44
  pressability: new Pressability(this._createPressabilityConfig()),
42
45
  scale: new Animated.Value(1),
43
46
  };
@@ -180,7 +183,8 @@ class TouchableBounce extends React.Component<Props, State> {
180
183
  importantForAccessibility={
181
184
  this.props['aria-hidden'] === true
182
185
  ? 'no-hide-descendants'
183
- : this.props.importantForAccessibility
186
+ : // $FlowFixMe[incompatible-type] - AnimatedProps types were made more strict and need refining at this call site
187
+ this.props.importantForAccessibility
184
188
  }
185
189
  accessibilityViewIsModal={
186
190
  this.props['aria-modal'] ?? this.props.accessibilityViewIsModal
@@ -207,7 +211,10 @@ class TouchableBounce extends React.Component<Props, State> {
207
211
  );
208
212
  }
209
213
 
210
- componentDidUpdate(prevProps: Props, prevState: State) {
214
+ componentDidUpdate(
215
+ prevProps: TouchableBounceProps,
216
+ prevState: TouchableBounceState,
217
+ ) {
211
218
  this.state.pressability.configure(this._createPressabilityConfig());
212
219
  }
213
220
 
@@ -225,5 +232,5 @@ export default (React.forwardRef((props, hostRef: React.RefSetter<mixed>) => (
225
232
  <TouchableBounce {...props} hostRef={hostRef} />
226
233
  )): component(
227
234
  ref: React.RefSetter<mixed>,
228
- ...props: $ReadOnly<$Diff<Props, {hostRef: mixed}>>
235
+ ...props: $ReadOnly<Omit<TouchableBounceProps, 'hostRef'>>
229
236
  ));
@@ -55,10 +55,10 @@ type TouchableHighlightBaseProps = $ReadOnly<{
55
55
  onHideUnderlay?: ?() => void,
56
56
  testOnly_pressed?: ?boolean,
57
57
 
58
- hostRef: React.RefSetter<React.ElementRef<typeof View>>,
58
+ hostRef?: React.RefSetter<React.ElementRef<typeof View>>,
59
59
  }>;
60
60
 
61
- type TouchableHighlightProps = $ReadOnly<{
61
+ export type TouchableHighlightProps = $ReadOnly<{
62
62
  ...TouchableWithoutFeedbackProps,
63
63
  ...AndroidProps,
64
64
  ...IOSProps,
@@ -70,7 +70,7 @@ type ExtraStyles = $ReadOnly<{
70
70
  underlay: ViewStyleProp,
71
71
  }>;
72
72
 
73
- type State = $ReadOnly<{
73
+ type TouchableHighlightState = $ReadOnly<{
74
74
  pressability: Pressability,
75
75
  extraStyles: ?ExtraStyles,
76
76
  }>;
@@ -173,12 +173,12 @@ type State = $ReadOnly<{
173
173
  */
174
174
  class TouchableHighlightImpl extends React.Component<
175
175
  TouchableHighlightProps,
176
- State,
176
+ TouchableHighlightState,
177
177
  > {
178
178
  _hideTimeout: ?TimeoutID;
179
179
  _isMounted: boolean = false;
180
180
 
181
- state: State = {
181
+ state: TouchableHighlightState = {
182
182
  pressability: new Pressability(this._createPressabilityConfig()),
183
183
  extraStyles:
184
184
  this.props.testOnly_pressed === true ? this._createExtraStyles() : null,
@@ -389,7 +389,10 @@ class TouchableHighlightImpl extends React.Component<
389
389
  this.state.pressability.configure(this._createPressabilityConfig());
390
390
  }
391
391
 
392
- componentDidUpdate(prevProps: TouchableHighlightProps, prevState: State) {
392
+ componentDidUpdate(
393
+ prevProps: TouchableHighlightProps,
394
+ prevState: TouchableHighlightState,
395
+ ) {
393
396
  this.state.pressability.configure(this._createPressabilityConfig());
394
397
  }
395
398
 
@@ -404,7 +407,7 @@ class TouchableHighlightImpl extends React.Component<
404
407
 
405
408
  const TouchableHighlight: component(
406
409
  ref?: React.RefSetter<React.ElementRef<typeof View>>,
407
- ...props: $ReadOnly<$Diff<TouchableHighlightProps, {+hostRef: mixed}>>
410
+ ...props: $ReadOnly<Omit<TouchableHighlightProps, 'hostRef'>>
408
411
  ) = React.forwardRef((props, hostRef) => (
409
412
  <TouchableHighlightImpl {...props} hostRef={hostRef} />
410
413
  ));
@@ -64,10 +64,10 @@ type TouchableHighlightBaseProps = $ReadOnly<{
64
64
  onHideUnderlay?: ?() => void,
65
65
  testOnly_pressed?: ?boolean,
66
66
 
67
- hostRef: React.RefSetter<React.ElementRef<typeof View>>,
67
+ hostRef?: React.RefSetter<React.ElementRef<typeof View>>,
68
68
  }>;
69
69
 
70
- type TouchableHighlightProps = $ReadOnly<{
70
+ export type TouchableHighlightProps = $ReadOnly<{
71
71
  ...TouchableWithoutFeedbackProps,
72
72
  ...AndroidProps,
73
73
  ...IOSProps,
@@ -80,7 +80,7 @@ type ExtraStyles = $ReadOnly<{
80
80
  underlay: ViewStyleProp,
81
81
  }>;
82
82
 
83
- type State = $ReadOnly<{
83
+ type TouchableHighlightState = $ReadOnly<{
84
84
  pressability: Pressability,
85
85
  extraStyles: ?ExtraStyles,
86
86
  }>;
@@ -183,12 +183,12 @@ type State = $ReadOnly<{
183
183
  */
184
184
  class TouchableHighlightImpl extends React.Component<
185
185
  TouchableHighlightProps,
186
- State,
186
+ TouchableHighlightState,
187
187
  > {
188
188
  _hideTimeout: ?TimeoutID;
189
189
  _isMounted: boolean = false;
190
190
 
191
- state: State = {
191
+ state: TouchableHighlightState = {
192
192
  pressability: new Pressability(this._createPressabilityConfig()),
193
193
  extraStyles:
194
194
  this.props.testOnly_pressed === true ? this._createExtraStyles() : null,
@@ -414,7 +414,10 @@ class TouchableHighlightImpl extends React.Component<
414
414
  this.state.pressability.configure(this._createPressabilityConfig());
415
415
  }
416
416
 
417
- componentDidUpdate(prevProps: TouchableHighlightProps, prevState: State) {
417
+ componentDidUpdate(
418
+ prevProps: TouchableHighlightProps,
419
+ prevState: TouchableHighlightState,
420
+ ) {
418
421
  this.state.pressability.configure(this._createPressabilityConfig());
419
422
  }
420
423
 
@@ -429,7 +432,7 @@ class TouchableHighlightImpl extends React.Component<
429
432
 
430
433
  const TouchableHighlight: component(
431
434
  ref?: React.RefSetter<React.ElementRef<typeof View>>,
432
- ...props: $ReadOnly<$Diff<TouchableHighlightProps, {+hostRef: mixed}>>
435
+ ...props: $ReadOnly<Omit<TouchableHighlightProps, 'hostRef'>>
433
436
  ) = React.forwardRef((props, hostRef) => (
434
437
  <TouchableHighlightImpl {...props} hostRef={hostRef} />
435
438
  ));
@@ -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
  }
@@ -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. ' +
@@ -390,7 +390,7 @@ class TouchableNativeFeedback extends React.Component<
390
390
 
391
391
  componentDidUpdate(
392
392
  prevProps: TouchableNativeFeedbackProps,
393
- prevState: State,
393
+ prevState: TouchableNativeFeedbackState,
394
394
  ) {
395
395
  this.state.pressability.configure(this._createPressabilityConfig());
396
396
  }