@office-iss/react-native-win32 0.0.0-canary.296 → 0.0.0-canary.298

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 (421) hide show
  1. package/.flowconfig +6 -2
  2. package/CHANGELOG.json +49 -1
  3. package/CHANGELOG.md +23 -4
  4. package/IntegrationTests/AccessibilityManagerTest.js +1 -1
  5. package/IntegrationTests/AppEventsTest.js +1 -1
  6. package/IntegrationTests/GlobalEvalWithSourceUrlTest.js +1 -1
  7. package/IntegrationTests/ImageCachePolicyTest.js +2 -2
  8. package/IntegrationTests/ImageSnapshotTest.js +1 -1
  9. package/IntegrationTests/IntegrationTestHarnessTest.js +1 -1
  10. package/IntegrationTests/IntegrationTestsApp.js +1 -1
  11. package/IntegrationTests/LayoutEventsTest.js +1 -1
  12. package/IntegrationTests/PromiseTest.js +1 -1
  13. package/IntegrationTests/SimpleSnapshotTest.js +1 -1
  14. package/IntegrationTests/SyncMethodTest.js +1 -1
  15. package/IntegrationTests/TimersTest.js +1 -1
  16. package/IntegrationTests/WebSocketTest.js +1 -1
  17. package/Libraries/Alert/Alert.js +1 -1
  18. package/Libraries/Alert/Alert.win32.js +1 -1
  19. package/Libraries/Alert/RCTAlertManager.ios.js +1 -1
  20. package/Libraries/Alert/RCTAlertManager.js.flow +1 -1
  21. package/Libraries/Animated/Animated.js +0 -1
  22. package/Libraries/Animated/Animated.js.flow +0 -1
  23. package/Libraries/Animated/AnimatedExports.js +2 -3
  24. package/Libraries/Animated/AnimatedExports.js.flow +1 -2
  25. package/Libraries/Animated/Easing.js +1 -1
  26. package/Libraries/Animated/SpringConfig.js +1 -1
  27. package/Libraries/Animated/animations/Animation.js +5 -2
  28. package/Libraries/Animated/components/AnimatedFlatList.js +7 -6
  29. package/Libraries/Animated/components/AnimatedScrollView.js +53 -52
  30. package/Libraries/Animated/components/AnimatedSectionList.js +11 -7
  31. package/Libraries/Animated/createAnimatedComponent.js +37 -33
  32. package/Libraries/Animated/nodes/AnimatedObject.js +2 -3
  33. package/Libraries/Animated/nodes/AnimatedProps.js +37 -5
  34. package/Libraries/Animated/nodes/AnimatedStyle.js +35 -34
  35. package/Libraries/Animated/shouldUseTurboAnimatedModule.js +6 -1
  36. package/Libraries/AppState/AppState.js +6 -1
  37. package/Libraries/BatchedBridge/BatchedBridge.js +1 -1
  38. package/Libraries/BatchedBridge/NativeModules.js +1 -1
  39. package/Libraries/Blob/BlobManager.js +4 -0
  40. package/Libraries/Blob/URL.js +1 -1
  41. package/Libraries/Blob/URLSearchParams.js +5 -1
  42. package/Libraries/Blob/URLSearchParams.js.flow +2 -1
  43. package/Libraries/BugReporting/BugReporting.js +1 -1
  44. package/Libraries/BugReporting/dumpReactTree.js +1 -1
  45. package/Libraries/BugReporting/getReactData.js +1 -1
  46. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.android.js +1 -1
  47. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.ios.js +1 -1
  48. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.js.flow +1 -1
  49. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.win32.js +1 -1
  50. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +20 -19
  51. package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +1 -1
  52. package/Libraries/Components/Button.js +3 -3
  53. package/Libraries/Components/Button.win32.js +3 -3
  54. package/Libraries/Components/Clipboard/Clipboard.js +1 -1
  55. package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +1 -1
  56. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +3 -4
  57. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.ios.js +1 -1
  58. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +1 -1
  59. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js.flow +1 -1
  60. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidFallback.js +1 -1
  61. package/Libraries/Components/Keyboard/Keyboard.js +1 -1
  62. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +3 -2
  63. package/Libraries/Components/LayoutConformance/LayoutConformance.js +0 -1
  64. package/Libraries/Components/Pressable/Pressable.js +9 -6
  65. package/Libraries/Components/Pressable/Pressable.win32.js +9 -6
  66. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +14 -13
  67. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +14 -2
  68. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +1 -1
  69. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidTypes.js +29 -20
  70. package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +1 -1
  71. package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +1 -1
  72. package/Libraries/Components/RefreshControl/RefreshControl.js +1 -1
  73. package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +1 -1
  74. package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +1 -1
  75. package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +1 -1
  76. package/Libraries/Components/ScrollView/ScrollView.d.ts +23 -5
  77. package/Libraries/Components/ScrollView/ScrollView.js +22 -14
  78. package/Libraries/Components/ScrollView/ScrollViewCommands.js +1 -1
  79. package/Libraries/Components/ScrollView/ScrollViewContext.js +2 -1
  80. package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +1 -1
  81. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +19 -6
  82. package/Libraries/Components/ScrollView/processDecelerationRate.js +1 -1
  83. package/Libraries/Components/Sound/SoundManager.js +1 -1
  84. package/Libraries/Components/StaticRenderer.js +1 -1
  85. package/Libraries/Components/StatusBar/StatusBar.js +1 -1
  86. package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +1 -1
  87. package/Libraries/Components/Switch/Switch.js +8 -2
  88. package/Libraries/Components/Switch/SwitchNativeComponent.js +1 -1
  89. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +1 -17
  90. package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +1 -1
  91. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +1 -1
  92. package/Libraries/Components/TextInput/TextInput.d.ts +9 -3
  93. package/Libraries/Components/TextInput/TextInput.flow.js +12 -14
  94. package/Libraries/Components/TextInput/TextInput.flow.win32.js +12 -14
  95. package/Libraries/Components/TextInput/TextInput.js +40 -35
  96. package/Libraries/Components/TextInput/TextInput.win32.js +41 -35
  97. package/Libraries/Components/TextInput/TextInputState.js +1 -1
  98. package/Libraries/Components/TextInput/TextInputState.win32.js +1 -1
  99. package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +1 -1
  100. package/Libraries/Components/ToastAndroid/ToastAndroid.ios.js +1 -1
  101. package/Libraries/Components/ToastAndroid/ToastAndroid.js +1 -1
  102. package/Libraries/Components/ToastAndroid/ToastAndroid.js.flow +1 -1
  103. package/Libraries/Components/ToastAndroid/ToastAndroid.win32.js +1 -1
  104. package/Libraries/Components/ToastAndroid/ToastAndroidFallback.js +1 -1
  105. package/Libraries/Components/Touchable/BoundingDimensions.js +1 -1
  106. package/Libraries/Components/Touchable/PooledClass.js +1 -1
  107. package/Libraries/Components/Touchable/Position.js +1 -1
  108. package/Libraries/Components/Touchable/Touchable.js +10 -0
  109. package/Libraries/Components/Touchable/Touchable.win32.js +10 -0
  110. package/Libraries/Components/Touchable/TouchableBounce.js +9 -3
  111. package/Libraries/Components/Touchable/TouchableHighlight.js +9 -4
  112. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +2 -1
  113. package/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js +2 -0
  114. package/Libraries/Components/Touchable/TouchableOpacity.js +7 -3
  115. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +3 -3
  116. package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +1 -1
  117. package/Libraries/Components/View/ReactNativeStyleAttributes.js +1 -1
  118. package/Libraries/Components/View/View.js +112 -26
  119. package/Libraries/Components/View/View.win32.js +1 -1
  120. package/Libraries/Components/View/ViewAccessibility.js +1 -1
  121. package/Libraries/Components/View/ViewAccessibility.win32.js +1 -1
  122. package/Libraries/Components/View/ViewPropTypes.d.ts +18 -2
  123. package/Libraries/Components/View/ViewPropTypes.js +1 -1
  124. package/Libraries/Components/View/ViewPropTypes.win32.js +1 -1
  125. package/Libraries/Core/Devtools/getDevServer.js +1 -1
  126. package/Libraries/Core/Devtools/loadBundleFromServer.js +49 -7
  127. package/Libraries/Core/Devtools/loadBundleFromServer.win32.js +49 -7
  128. package/Libraries/Core/Devtools/openFileInEditor.js +1 -1
  129. package/Libraries/Core/Devtools/openURLInBrowser.js +1 -1
  130. package/Libraries/Core/Devtools/parseErrorStack.js +1 -1
  131. package/Libraries/Core/Devtools/parseHermesStack.js +1 -1
  132. package/Libraries/Core/Devtools/symbolicateStackTrace.js +1 -1
  133. package/Libraries/Core/ExceptionsManager.js +1 -1
  134. package/Libraries/Core/InitializeCore.js +2 -23
  135. package/Libraries/Core/ReactFiberErrorDialog.js +1 -1
  136. package/Libraries/Core/ReactNativeVersion.js +3 -2
  137. package/Libraries/Core/Timers/JSTimers.js +1 -1
  138. package/Libraries/Core/Timers/immediateShim.js +1 -1
  139. package/Libraries/Core/Timers/queueMicrotask.js +1 -1
  140. package/Libraries/Core/setUpDeveloperTools.js +13 -11
  141. package/Libraries/Debugging/DebuggingOverlay.js +12 -14
  142. package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +1 -1
  143. package/Libraries/Debugging/DebuggingOverlayRegistry.js +0 -1
  144. package/Libraries/Debugging/useSubscribeToDebuggingOverlayRegistry.js +0 -1
  145. package/Libraries/EventEmitter/NativeEventEmitter.js +1 -1
  146. package/Libraries/EventEmitter/RCTEventEmitter.js +1 -1
  147. package/Libraries/EventEmitter/RCTNativeAppEventEmitter.js +1 -1
  148. package/Libraries/Image/AssetRegistry.js +4 -10
  149. package/Libraries/Image/AssetSourceResolver.js +17 -4
  150. package/Libraries/Image/Image.android.js +112 -106
  151. package/Libraries/Image/Image.ios.js +10 -2
  152. package/Libraries/Image/Image.win32.js +11 -3
  153. package/Libraries/Image/ImageAnalyticsTagContext.js +2 -2
  154. package/Libraries/Image/ImageInjection.js +1 -1
  155. package/Libraries/Image/RelativeImageStub.js +2 -1
  156. package/Libraries/Image/TextInlineImageNativeComponent.js +1 -1
  157. package/Libraries/Image/resolveAssetSource.js +1 -1
  158. package/Libraries/Interaction/FrameRateLogger.js +1 -1
  159. package/Libraries/Interaction/InteractionManager.js +62 -53
  160. package/Libraries/Interaction/TaskQueue.js +8 -9
  161. package/Libraries/Interaction/TouchHistoryMath.js +1 -1
  162. package/Libraries/Linking/Linking.js +1 -1
  163. package/Libraries/Lists/FlatList.d.ts +9 -5
  164. package/Libraries/Lists/FlatList.js +1 -1
  165. package/Libraries/Lists/SectionListModern.js +9 -3
  166. package/Libraries/LogBox/Data/parseLogBoxLog.js +2 -0
  167. package/Libraries/LogBox/LogBox.js +2 -0
  168. package/Libraries/LogBox/UI/LogBoxButton.js +2 -1
  169. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +2 -1
  170. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.win32.js +2 -1
  171. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +3 -2
  172. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.win32.js +3 -2
  173. package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +2 -1
  174. package/Libraries/Modal/Modal.js +5 -1
  175. package/Libraries/Modal/RCTModalHostViewNativeComponent.js +1 -1
  176. package/Libraries/NativeComponent/BaseViewConfig.android.js +17 -5
  177. package/Libraries/NativeComponent/BaseViewConfig.ios.js +4 -4
  178. package/Libraries/NativeComponent/BaseViewConfig.js.flow +1 -1
  179. package/Libraries/NativeComponent/BaseViewConfig.win32.js +4 -4
  180. package/Libraries/NativeComponent/PlatformBaseViewConfig.js +1 -1
  181. package/Libraries/NativeComponent/ViewConfigIgnore.js +3 -3
  182. package/Libraries/Network/FormData.js +1 -1
  183. package/Libraries/Network/RCTNetworking.android.js +2 -2
  184. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  185. package/Libraries/Network/RCTNetworking.js.flow +1 -1
  186. package/Libraries/Network/RCTNetworking.win32.js +1 -1
  187. package/Libraries/Network/XMLHttpRequest.js +3 -3
  188. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +1 -1
  189. package/Libraries/Pressability/Pressability.js +1 -1
  190. package/Libraries/Pressability/Pressability.win32.js +1 -1
  191. package/Libraries/Promise.js +1 -1
  192. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +3 -2
  193. package/Libraries/ReactNative/AppContainer-dev.js +4 -4
  194. package/Libraries/ReactNative/AppContainer-prod.js +0 -1
  195. package/Libraries/ReactNative/AppContainer.js +1 -1
  196. package/Libraries/ReactNative/AppRegistryImpl.js +2 -3
  197. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +1 -1
  198. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +1 -1
  199. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstanceUtils.js +1 -1
  200. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +1 -1
  201. package/Libraries/ReactNative/ReactFabricPublicInstance/warnForStyleProps.js +1 -1
  202. package/Libraries/ReactNative/RendererImplementation.js +1 -1
  203. package/Libraries/ReactNative/RendererProxy.js +1 -1
  204. package/Libraries/ReactNative/RootTag.js +2 -2
  205. package/Libraries/ReactNative/renderApplication.js +1 -1
  206. package/Libraries/ReactPrivate/ReactNativePrivateInitializeCore.js +1 -1
  207. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +2 -1
  208. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js.flow +1 -1
  209. package/Libraries/Renderer/shims/ReactNativeTypes.js +21 -25
  210. package/Libraries/Renderer/shims/ReactNativeTypes.win32.js +270 -0
  211. package/Libraries/Settings/Settings.ios.js +1 -1
  212. package/Libraries/Settings/Settings.js +1 -1
  213. package/Libraries/Settings/SettingsFallback.js +1 -1
  214. package/Libraries/Share/Share.js +1 -1
  215. package/Libraries/StyleSheet/EdgeInsetsPropType.js +1 -1
  216. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +1 -1
  217. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
  218. package/Libraries/StyleSheet/PlatformColorValueTypes.js.flow +1 -1
  219. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +1 -1
  220. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.js +1 -1
  221. package/Libraries/StyleSheet/PointPropType.js +1 -1
  222. package/Libraries/StyleSheet/Rect.js +1 -1
  223. package/Libraries/StyleSheet/StyleSheetExports.js.flow +3 -1
  224. package/Libraries/StyleSheet/StyleSheetTypes.js +4 -3
  225. package/Libraries/StyleSheet/normalizeColor.js +1 -1
  226. package/Libraries/StyleSheet/private/_TransformStyle.js +49 -21
  227. package/Libraries/StyleSheet/processAspectRatio.js +1 -1
  228. package/Libraries/StyleSheet/processBackgroundImage.js +1 -1
  229. package/Libraries/StyleSheet/processBoxShadow.js +0 -1
  230. package/Libraries/StyleSheet/processColor.js +1 -1
  231. package/Libraries/StyleSheet/processColorArray.js +1 -1
  232. package/Libraries/StyleSheet/processFilter.js +1 -2
  233. package/Libraries/StyleSheet/processFontVariant.js +1 -1
  234. package/Libraries/StyleSheet/processTransform.js +1 -1
  235. package/Libraries/StyleSheet/processTransformOrigin.js +1 -1
  236. package/Libraries/StyleSheet/setNormalizedColorAlpha.js +1 -1
  237. package/Libraries/Text/Text.d.ts +7 -0
  238. package/Libraries/Text/Text.js +256 -245
  239. package/Libraries/Text/Text.win32.js +294 -285
  240. package/Libraries/Text/TextAncestor.js +3 -2
  241. package/Libraries/Text/TextNativeComponent.js +4 -0
  242. package/Libraries/Text/TextNativeComponent.win32.js +4 -0
  243. package/Libraries/Text/TextProps.js +2 -34
  244. package/Libraries/Text/TextProps.win32.js +2 -33
  245. package/Libraries/Types/CodegenTypes.js +1 -1
  246. package/Libraries/Types/CodegenTypesNamespace.js +1 -1
  247. package/Libraries/Types/CoreEventTypes.d.ts +4 -0
  248. package/Libraries/Types/ReactDevToolsTypes.js +0 -1
  249. package/Libraries/Utilities/Appearance.js +1 -1
  250. package/Libraries/Utilities/BackHandler.js.flow +1 -1
  251. package/Libraries/Utilities/DevLoadingView.js +1 -1
  252. package/Libraries/Utilities/DeviceInfo.js +1 -1
  253. package/Libraries/Utilities/Dimensions.js +1 -1
  254. package/Libraries/Utilities/Dimensions.win32.js +1 -1
  255. package/Libraries/Utilities/HMRClient.js +1 -1
  256. package/Libraries/Utilities/HMRClientProdShim.js +1 -1
  257. package/Libraries/Utilities/PerformanceLoggerContext.js +2 -2
  258. package/Libraries/Utilities/PixelRatio.js +1 -1
  259. package/Libraries/Utilities/Platform.android.js +1 -1
  260. package/Libraries/Utilities/Platform.ios.js +1 -1
  261. package/Libraries/Utilities/Platform.js +1 -1
  262. package/Libraries/Utilities/Platform.win32.js +1 -1
  263. package/Libraries/Utilities/PlatformTypes.js +1 -1
  264. package/Libraries/Utilities/RCTLog.js +1 -1
  265. package/Libraries/Utilities/SceneTracker.js +1 -1
  266. package/Libraries/Utilities/binaryToBase64.js +1 -1
  267. package/Libraries/Utilities/codegenNativeCommands.js +1 -1
  268. package/Libraries/Utilities/codegenNativeComponent.js +1 -1
  269. package/Libraries/Utilities/createPerformanceLogger.js +27 -20
  270. package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +1 -1
  271. package/Libraries/Utilities/defineLazyObjectProperty.js +1 -1
  272. package/Libraries/Utilities/differ/deepDiffer.js +1 -1
  273. package/Libraries/Utilities/differ/insetsDiffer.js +1 -1
  274. package/Libraries/Utilities/differ/matricesDiffer.js +1 -1
  275. package/Libraries/Utilities/differ/pointsDiffer.js +1 -1
  276. package/Libraries/Utilities/logError.js +1 -1
  277. package/Libraries/Utilities/mapWithSeparator.js +1 -1
  278. package/Libraries/Utilities/stringifySafe.js +1 -1
  279. package/Libraries/Utilities/stringifyViewConfig.js +1 -1
  280. package/Libraries/Utilities/useColorScheme.js +1 -1
  281. package/Libraries/Utilities/useWindowDimensions.js +1 -1
  282. package/Libraries/Utilities/warnOnce.js +1 -1
  283. package/Libraries/Vibration/Vibration.js +1 -2
  284. package/Libraries/WebSocket/WebSocket.js +1 -1
  285. package/Libraries/WebSocket/WebSocketInterceptor.js +1 -1
  286. package/Libraries/promiseRejectionTrackingOptions.js +1 -1
  287. package/Libraries/vendor/core/ErrorUtils.js +29 -5
  288. package/index.js +1 -2
  289. package/index.win32.js +3 -1
  290. package/interface.js +1 -1
  291. package/jest/MockNativeMethods.js +9 -3
  292. package/jest/RefreshControlMock.js +32 -0
  293. package/jest/assetFileTransformer.js +1 -0
  294. package/jest/local-setup.js +4 -3
  295. package/jest/mock.js +39 -0
  296. package/jest/mockComponent.js +47 -17
  297. package/jest/mockNativeComponent.js +26 -15
  298. package/jest/mocks/AccessibilityInfo.js +62 -0
  299. package/jest/mocks/ActivityIndicator.js +23 -0
  300. package/jest/mocks/AppState.js +19 -0
  301. package/{flow/Stringish.js → jest/mocks/Clipboard.js} +6 -4
  302. package/jest/mocks/Image.js +23 -0
  303. package/jest/mocks/InitializeCore.js +9 -0
  304. package/jest/mocks/Linking.js +28 -0
  305. package/jest/mocks/Modal.js +33 -0
  306. package/jest/mocks/NativeComponentRegistry.js +30 -0
  307. package/jest/mocks/NativeModules.js +239 -0
  308. package/jest/mocks/RefreshControl.js +31 -0
  309. package/jest/mocks/RendererProxy.js +45 -0
  310. package/jest/mocks/ScrollView.js +58 -0
  311. package/jest/mocks/Text.js +27 -0
  312. package/jest/mocks/TextInput.js +32 -0
  313. package/jest/mocks/UIManager.js +60 -0
  314. package/jest/mocks/Vibration.js +16 -0
  315. package/jest/mocks/View.js +27 -0
  316. package/jest/mocks/ViewNativeComponent.js +23 -0
  317. package/jest/mocks/requireNativeComponent.js +22 -0
  318. package/{Libraries/Utilities/infoLog.js → jest/mocks/useColorScheme.js} +7 -9
  319. package/jest/react-native-env.js +1 -0
  320. package/jest/renderer.js +1 -2
  321. package/jest/resolver.js +32 -0
  322. package/jest/setup.js +63 -445
  323. package/overrides.json +45 -38
  324. package/package.json +14 -14
  325. package/src/private/animated/NativeAnimatedHelper.js +8 -1
  326. package/src/private/animated/NativeAnimatedHelper.win32.js +8 -1
  327. package/src/private/animated/createAnimatedPropsHook.js +11 -4
  328. package/src/private/animated/createAnimatedPropsMemoHook.js +0 -1
  329. package/src/private/components/safeareaview/SafeAreaView_INTERNAL_DO_NOT_USE.js +0 -1
  330. package/src/private/components/scrollview/HScrollViewNativeComponents.js +0 -1
  331. package/src/private/components/scrollview/VScrollViewNativeComponents.js +0 -1
  332. package/src/private/devsupport/devmenu/elementinspector/BorderBox.js +1 -1
  333. package/src/private/devsupport/devmenu/elementinspector/BoxInspector.js +1 -1
  334. package/src/private/devsupport/devmenu/elementinspector/ElementBox.js +1 -1
  335. package/src/private/devsupport/devmenu/elementinspector/ElementProperties.js +1 -1
  336. package/src/private/devsupport/devmenu/elementinspector/Inspector.js +1 -1
  337. package/src/private/devsupport/devmenu/elementinspector/InspectorOverlay.js +1 -1
  338. package/src/private/devsupport/devmenu/elementinspector/InspectorPanel.js +1 -1
  339. package/src/private/devsupport/devmenu/elementinspector/NetworkOverlay.js +1 -1
  340. package/src/private/devsupport/devmenu/elementinspector/ReactDevToolsOverlay.js +1 -1
  341. package/src/private/devsupport/devmenu/elementinspector/StyleInspector.js +1 -1
  342. package/src/private/devsupport/devmenu/elementinspector/XHRInterceptor.js +1 -1
  343. package/src/private/devsupport/devmenu/elementinspector/getInspectorDataForViewAtPoint.js +1 -1
  344. package/src/private/devsupport/devmenu/elementinspector/resolveBoxStyle.js +1 -1
  345. package/src/private/devsupport/devmenu/perfmonitor/PerformanceOverlay.js +1 -1
  346. package/src/private/devsupport/rndevtools/FuseboxSessionObserver.js +0 -1
  347. package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.android.js +8 -9
  348. package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.ios.js +12 -15
  349. package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.win32.js +8 -9
  350. package/src/private/devsupport/rndevtools/setUpFuseboxReactDevToolsDispatcher.js +0 -1
  351. package/src/private/devsupport/rndevtools/specs/NativeReactDevToolsRuntimeSettingsModule.js +0 -1
  352. package/src/private/featureflags/ReactNativeFeatureFlags.js +65 -5
  353. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +2 -0
  354. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +10 -2
  355. package/src/private/renderer/errorhandling/ErrorHandlers.js +1 -1
  356. package/src/private/setup/setUpDefaultReactNativeEnvironment.js +44 -0
  357. package/src/private/specs_DEPRECATED/components/ActivityIndicatorViewNativeComponent.js +1 -1
  358. package/src/private/specs_DEPRECATED/components/AndroidDrawerLayoutNativeComponent.js +1 -1
  359. package/src/private/specs_DEPRECATED/components/AndroidHorizontalScrollContentViewNativeComponent.js +1 -1
  360. package/src/private/specs_DEPRECATED/components/AndroidSwipeRefreshLayoutNativeComponent.js +1 -1
  361. package/src/private/specs_DEPRECATED/components/PullToRefreshViewNativeComponent.js +1 -1
  362. package/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js +1 -1
  363. package/src/private/specs_DEPRECATED/components/RCTSafeAreaViewNativeComponent.js +1 -1
  364. package/src/private/specs_DEPRECATED/components/UnimplementedNativeViewNativeComponent.js +1 -1
  365. package/src/private/specs_DEPRECATED/modules/NativeBugReporting.js +1 -1
  366. package/src/private/specs_DEPRECATED/modules/NativeFrameRateLogger.js +1 -1
  367. package/src/private/specs_DEPRECATED/modules/NativePermissionsAndroid.js +1 -1
  368. package/src/private/specs_DEPRECATED/modules/NativePushNotificationManagerIOS.js +1 -1
  369. package/src/private/styles/composeStyles.js +12 -5
  370. package/src/private/types/HostInstance.js +1 -1
  371. package/src/private/webapis/dom/events/Event.js +3 -0
  372. package/src/private/webapis/dom/events/EventTarget.js +3 -0
  373. package/src/private/webapis/dom/nodes/ReactNativeDocument.js +1 -1
  374. package/src/private/webapis/dom/nodes/ReactNativeElement.js +7 -24
  375. package/src/private/webapis/dom/nodes/ReadOnlyCharacterData.js +1 -1
  376. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +1 -1
  377. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +4 -2
  378. package/src/private/webapis/dom/nodes/ReadOnlyText.js +1 -1
  379. package/src/private/webapis/dom/nodes/internals/NodeInternals.js +1 -1
  380. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentElementInstanceHandle.js +1 -1
  381. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.js +1 -1
  382. package/src/private/webapis/dom/nodes/internals/Traversal.js +1 -1
  383. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +38 -0
  384. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +4 -1
  385. package/src/private/webapis/dom/oldstylecollections/NodeList.js +4 -1
  386. package/src/private/webapis/errors/DOMException.js +166 -0
  387. package/src/private/webapis/geometry/DOMRect.js +5 -0
  388. package/src/private/webapis/geometry/DOMRectList.js +4 -1
  389. package/src/private/webapis/geometry/DOMRectReadOnly.js +6 -0
  390. package/src/private/webapis/intersectionobserver/IntersectionObserver.js +3 -0
  391. package/src/private/webapis/intersectionobserver/IntersectionObserverEntry.js +3 -0
  392. package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +70 -18
  393. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +11 -0
  394. package/src/private/webapis/mutationobserver/MutationObserver.js +13 -38
  395. package/src/private/webapis/mutationobserver/MutationRecord.js +3 -0
  396. package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +7 -29
  397. package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +1 -4
  398. package/src/private/webapis/performance/EventTiming.js +1 -1
  399. package/src/private/webapis/performance/LongTasks.js +1 -1
  400. package/src/private/webapis/performance/MemoryInfo.js +4 -1
  401. package/src/private/webapis/performance/Performance.js +20 -9
  402. package/src/private/webapis/performance/PerformanceEntry.js +5 -1
  403. package/src/private/webapis/performance/PerformanceObserver.js +1 -1
  404. package/src/private/webapis/performance/ReactNativeStartupTiming.js +4 -1
  405. package/src/private/webapis/performance/UserTiming.js +1 -1
  406. package/src/private/webapis/performance/internals/RawPerformanceEntry.js +3 -1
  407. package/src/private/webapis/performance/internals/Utilities.js +1 -1
  408. package/src/private/webapis/structuredClone/structuredClone.js +233 -0
  409. package/src/private/webapis/utils/ArrayLikeUtils.js +1 -1
  410. package/src/private/webapis/webidl/PlatformObjects.js +59 -0
  411. package/src/types/globals.d.ts +42 -0
  412. package/src-win/Libraries/Components/View/ViewPropTypes.d.ts +18 -2
  413. package/src-win/Libraries/Text/Text.d.ts +7 -0
  414. package/types/index.d.ts +1 -1
  415. package/types/modules/Devtools.d.ts +23 -9
  416. package/Libraries/Interaction/JSEventLoopWatchdog.js +0 -88
  417. package/flow/HermesInternalType.js +0 -114
  418. package/flow/console.js +0 -49
  419. package/flow/global.js +0 -88
  420. package/jest/mockModal.js +0 -32
  421. package/jest/mockScrollView.js +0 -35
@@ -11,6 +11,8 @@
11
11
  import type {HostInstance} from '../../../src/private/types/HostInstance';
12
12
  import type {____TextStyle_Internal as TextStyleInternal} from '../../StyleSheet/StyleSheetTypes';
13
13
  import type {
14
+ BlurEvent,
15
+ FocusEvent,
14
16
  GestureResponderEvent,
15
17
  ScrollEvent,
16
18
  } from '../../Types/CoreEventTypes';
@@ -61,7 +63,7 @@ import TextInputState from './TextInputState';
61
63
  import invariant from 'invariant';
62
64
  import nullthrows from 'nullthrows';
63
65
  import * as React from 'react';
64
- import {useCallback, useLayoutEffect, useRef, useState} from 'react';
66
+ import {useCallback, useLayoutEffect, useMemo, useRef, useState} from 'react';
65
67
 
66
68
  let AndroidTextInput;
67
69
  let AndroidTextInputCommands;
@@ -98,10 +100,12 @@ else if (Platform.OS === 'win32') {
98
100
 
99
101
  export type {
100
102
  AutoCapitalize,
103
+ BlurEvent,
101
104
  EnterKeyHintType,
102
105
  EnterKeyHintTypeAndroid,
103
106
  EnterKeyHintTypeIOS,
104
107
  EnterKeyHintTypeOptions,
108
+ FocusEvent,
105
109
  InputModeOptions,
106
110
  KeyboardType,
107
111
  KeyboardTypeAndroid,
@@ -463,6 +467,7 @@ function InternalTextInput(props: TextInputProps): React.Node {
463
467
  */
464
468
  if (instance != null) {
465
469
  // $FlowFixMe[prop-missing] - See the explanation above.
470
+ // $FlowFixMe[unsafe-object-assign]
466
471
  Object.assign(instance, {
467
472
  clear(): void {
468
473
  if (inputRef.current != null) {
@@ -540,14 +545,14 @@ function InternalTextInput(props: TextInputProps): React.Node {
540
545
  });
541
546
  };
542
547
 
543
- const _onFocus = (event: TextInputFocusEvent) => {
548
+ const _onFocus = (event: FocusEvent) => {
544
549
  TextInputState.focusInput(inputRef.current);
545
550
  if (props.onFocus) {
546
551
  props.onFocus(event);
547
552
  }
548
553
  };
549
554
 
550
- const _onBlur = (event: TextInputBlurEvent) => {
555
+ const _onBlur = (event: BlurEvent) => {
551
556
  TextInputState.blurInput(inputRef.current);
552
557
  if (props.onBlur) {
553
558
  props.onBlur(event);
@@ -604,7 +609,7 @@ function InternalTextInput(props: TextInputProps): React.Node {
604
609
  rejectResponderTermination,
605
610
  } = props;
606
611
 
607
- const config = React.useMemo(
612
+ const config = useMemo(
608
613
  () => ({
609
614
  hitSlop,
610
615
  onPress: (event: GestureResponderEvent) => {
@@ -894,7 +899,7 @@ const enterKeyHintToReturnTypeMap = {
894
899
  previous: 'previous',
895
900
  search: 'search',
896
901
  send: 'send',
897
- };
902
+ } as const;
898
903
 
899
904
  const inputModeToKeyboardTypeMap = {
900
905
  none: 'default',
@@ -902,10 +907,11 @@ const inputModeToKeyboardTypeMap = {
902
907
  decimal: 'decimal-pad',
903
908
  numeric: 'number-pad',
904
909
  tel: 'phone-pad',
905
- search: Platform.OS === 'ios' ? 'web-search' : 'default',
910
+ search:
911
+ Platform.OS === 'ios' ? ('web-search' as const) : ('default' as const),
906
912
  email: 'email-address',
907
913
  url: 'url',
908
- };
914
+ } as const;
909
915
 
910
916
  // Map HTML autocomplete values to Android autoComplete values
911
917
  const autoCompleteWebToAutoCompleteAndroidMap = {
@@ -939,7 +945,7 @@ const autoCompleteWebToAutoCompleteAndroidMap = {
939
945
  'tel-country-code': 'tel-country-code',
940
946
  'tel-national': 'tel-national',
941
947
  username: 'username',
942
- };
948
+ } as const;
943
949
 
944
950
  // Map HTML autocomplete values to iOS textContentType values
945
951
  const autoCompleteWebToTextContentTypeMap = {
@@ -979,29 +985,30 @@ const autoCompleteWebToTextContentTypeMap = {
979
985
  tel: 'telephoneNumber',
980
986
  url: 'URL',
981
987
  username: 'username',
982
- };
988
+ } as const;
983
989
 
984
- const ExportedForwardRef: component(
990
+ const TextInput: component(
985
991
  ref?: React.RefSetter<TextInputInstance>,
986
992
  ...props: React.ElementConfig<typeof InternalTextInput>
987
- ) = React.forwardRef(function TextInput(
988
- {
989
- allowFontScaling = true,
990
- rejectResponderTermination = true,
991
- underlineColorAndroid = 'transparent',
992
- autoComplete,
993
- textContentType,
994
- readOnly,
995
- editable,
996
- enterKeyHint,
997
- returnKeyType,
998
- inputMode,
999
- showSoftInputOnFocus,
1000
- keyboardType,
1001
- ...restProps
1002
- },
1003
- forwardedRef: React.RefSetter<TextInputInstance>,
1004
- ) {
993
+ ) = function TextInput({
994
+ ref: forwardedRef,
995
+ allowFontScaling = true,
996
+ rejectResponderTermination = true,
997
+ underlineColorAndroid = 'transparent',
998
+ autoComplete,
999
+ textContentType,
1000
+ readOnly,
1001
+ editable,
1002
+ enterKeyHint,
1003
+ returnKeyType,
1004
+ inputMode,
1005
+ showSoftInputOnFocus,
1006
+ keyboardType,
1007
+ ...restProps
1008
+ }: {
1009
+ ref?: React.RefSetter<TextInputInstance>,
1010
+ ...React.ElementConfig<typeof InternalTextInput>,
1011
+ }) {
1005
1012
  return (
1006
1013
  <InternalTextInput
1007
1014
  allowFontScaling={allowFontScaling}
@@ -1030,8 +1037,7 @@ const ExportedForwardRef: component(
1030
1037
  : Platform.OS === 'ios' &&
1031
1038
  autoComplete &&
1032
1039
  autoComplete in autoCompleteWebToTextContentTypeMap
1033
- ? // $FlowFixMe[invalid-computed-prop]
1034
- // $FlowFixMe[prop-missing]
1040
+ ? // $FlowFixMe[prop-missing]
1035
1041
  autoCompleteWebToTextContentTypeMap[autoComplete]
1036
1042
  : textContentType
1037
1043
  }
@@ -1039,12 +1045,12 @@ const ExportedForwardRef: component(
1039
1045
  forwardedRef={forwardedRef}
1040
1046
  />
1041
1047
  );
1042
- });
1048
+ };
1043
1049
 
1044
- ExportedForwardRef.displayName = 'TextInput';
1050
+ TextInput.displayName = 'TextInput';
1045
1051
 
1046
1052
  // $FlowFixMe[prop-missing]
1047
- ExportedForwardRef.State = {
1053
+ TextInput.State = {
1048
1054
  currentlyFocusedInput: TextInputState.currentlyFocusedInput,
1049
1055
 
1050
1056
  currentlyFocusedField: TextInputState.currentlyFocusedField,
@@ -1070,7 +1076,7 @@ const verticalAlignToTextAlignVerticalMap = {
1070
1076
  top: 'top',
1071
1077
  bottom: 'bottom',
1072
1078
  middle: 'center',
1073
- };
1079
+ } as const;
1074
1080
 
1075
1081
  // $FlowFixMe[unclear-type] Unclear type. Using `any` type is not safe.
1076
- export default ExportedForwardRef as any as TextInputType;
1082
+ export default TextInput as any as TextInputType;
@@ -4,8 +4,8 @@
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
- * @format
8
7
  * @flow strict-local
8
+ * @format
9
9
  */
10
10
 
11
11
  // This class is responsible for coordinating the "focused" state for
@@ -4,8 +4,8 @@
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
- * @format
8
7
  * @flow strict-local
8
+ * @format
9
9
  */
10
10
 
11
11
  // This class is responsible for coordinating the "focused" state for
@@ -4,8 +4,8 @@
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
- * @format
8
7
  * @flow strict-local
8
+ * @format
9
9
  */
10
10
 
11
11
  import NativeToastAndroid from './NativeToastAndroid';
@@ -4,8 +4,8 @@
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
- * @format
8
7
  * @flow strict-local
8
+ * @format
9
9
  */
10
10
 
11
11
  import ToastAndroidFallback from './ToastAndroidFallback';
@@ -4,8 +4,8 @@
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
- * @format
8
7
  * @flow strict-local
8
+ * @format
9
9
  */
10
10
 
11
11
  // NOTE: This file supports backwards compatibility of subpath (deep) imports
@@ -4,8 +4,8 @@
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
- * @format
8
7
  * @flow strict-local
8
+ * @format
9
9
  */
10
10
 
11
11
  /**
@@ -4,8 +4,8 @@
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
- * @format
8
7
  * @flow strict-local
8
+ * @format
9
9
  */
10
10
 
11
11
  // NOTE: This file supports backwards compatibility of subpath (deep) imports
@@ -4,8 +4,8 @@
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
- * @format
8
7
  * @flow strict-local
8
+ * @format
9
9
  */
10
10
 
11
11
  'use strict';
@@ -4,8 +4,8 @@
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
- * @format
8
7
  * @flow strict-local
8
+ * @format
9
9
  */
10
10
 
11
11
  'use strict';
@@ -4,8 +4,8 @@
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
- * @format
8
7
  * @flow
8
+ * @format
9
9
  */
10
10
 
11
11
  'use strict';
@@ -4,8 +4,8 @@
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
- * @format
8
7
  * @flow strict-local
8
+ * @format
9
9
  */
10
10
 
11
11
  'use strict';
@@ -869,11 +869,15 @@ const TouchableMixinImpl = {
869
869
  curState === States.NOT_RESPONDER &&
870
870
  nextState === States.RESPONDER_INACTIVE_PRESS_IN;
871
871
 
872
+ /* $FlowFixMe[invalid-computed-prop] Natural Inference rollout. See
873
+ * https://fburl.com/workplace/6291gfvu */
872
874
  const isActiveTransition = !IsActive[curState] && IsActive[nextState];
873
875
  if (isInitialTransition || isActiveTransition) {
874
876
  this._remeasureMetricsOnActivation();
875
877
  }
876
878
 
879
+ /* $FlowFixMe[invalid-computed-prop] Natural Inference rollout. See
880
+ * https://fburl.com/workplace/6291gfvu */
877
881
  if (IsPressingIn[curState] && signal === Signals.LONG_PRESS_DETECTED) {
878
882
  this.touchableHandleLongPress && this.touchableHandleLongPress(e);
879
883
  }
@@ -884,13 +888,19 @@ const TouchableMixinImpl = {
884
888
  this._endHighlight(e);
885
889
  }
886
890
 
891
+ /* $FlowFixMe[invalid-computed-prop] Natural Inference rollout. See
892
+ * https://fburl.com/workplace/6291gfvu */
887
893
  if (IsPressingIn[curState] && signal === Signals.RESPONDER_RELEASE) {
888
894
  const hasLongPressHandler = !!this.props.onLongPress;
889
895
  const pressIsLongButStillCallOnPress =
896
+ /* $FlowFixMe[invalid-computed-prop] Natural Inference rollout. See
897
+ * https://fburl.com/workplace/6291gfvu */
890
898
  IsLongPressingIn[curState] && // We *are* long pressing.. // But either has no long handler
891
899
  (!hasLongPressHandler || !this.touchableLongPressCancelsPress()); // or we're told to ignore it.
892
900
 
893
901
  const shouldInvokePress =
902
+ /* $FlowFixMe[invalid-computed-prop] Natural Inference rollout. See
903
+ * https://fburl.com/workplace/6291gfvu */
894
904
  !IsLongPressingIn[curState] || pressIsLongButStillCallOnPress;
895
905
  if (shouldInvokePress && this.touchableHandlePress) {
896
906
  if (!newIsHighlight && !curIsHighlight) {
@@ -874,11 +874,15 @@ const TouchableMixinImpl = {
874
874
  curState === States.NOT_RESPONDER &&
875
875
  nextState === States.RESPONDER_INACTIVE_PRESS_IN;
876
876
 
877
+ /* $FlowFixMe[invalid-computed-prop] Natural Inference rollout. See
878
+ * https://fburl.com/workplace/6291gfvu */
877
879
  const isActiveTransition = !IsActive[curState] && IsActive[nextState];
878
880
  if (isInitialTransition || isActiveTransition) {
879
881
  this._remeasureMetricsOnActivation();
880
882
  }
881
883
 
884
+ /* $FlowFixMe[invalid-computed-prop] Natural Inference rollout. See
885
+ * https://fburl.com/workplace/6291gfvu */
882
886
  if (IsPressingIn[curState] && signal === Signals.LONG_PRESS_DETECTED) {
883
887
  this.touchableHandleLongPress && this.touchableHandleLongPress(e);
884
888
  }
@@ -889,13 +893,19 @@ const TouchableMixinImpl = {
889
893
  this._endHighlight(e);
890
894
  }
891
895
 
896
+ /* $FlowFixMe[invalid-computed-prop] Natural Inference rollout. See
897
+ * https://fburl.com/workplace/6291gfvu */
892
898
  if (IsPressingIn[curState] && signal === Signals.RESPONDER_RELEASE) {
893
899
  const hasLongPressHandler = !!this.props.onLongPress;
894
900
  const pressIsLongButStillCallOnPress =
901
+ /* $FlowFixMe[invalid-computed-prop] Natural Inference rollout. See
902
+ * https://fburl.com/workplace/6291gfvu */
895
903
  IsLongPressingIn[curState] && // We *are* long pressing.. // But either has no long handler
896
904
  (!hasLongPressHandler || !this.touchableLongPressCancelsPress()); // or we're told to ignore it.
897
905
 
898
906
  const shouldInvokePress =
907
+ /* $FlowFixMe[invalid-computed-prop] Natural Inference rollout. See
908
+ * https://fburl.com/workplace/6291gfvu */
899
909
  !IsLongPressingIn[curState] || pressIsLongButStillCallOnPress;
900
910
  if (shouldInvokePress && this.touchableHandlePress) {
901
911
  if (!newIsHighlight && !curIsHighlight) {
@@ -221,9 +221,15 @@ class TouchableBounce extends React.Component<
221
221
  }
222
222
  }
223
223
 
224
- export default (React.forwardRef((props, hostRef: React.RefSetter<mixed>) => (
225
- <TouchableBounce {...props} hostRef={hostRef} />
226
- )): component(
224
+ export default (function TouchableBounceWrapper({
225
+ ref: hostRef,
226
+ ...props
227
+ }: {
228
+ ref: React.RefSetter<mixed>,
229
+ ...$ReadOnly<Omit<TouchableBounceProps, 'hostRef'>>,
230
+ }) {
231
+ return <TouchableBounce {...props} hostRef={hostRef} />;
232
+ } as component(
227
233
  ref: React.RefSetter<mixed>,
228
234
  ...props: $ReadOnly<Omit<TouchableBounceProps, 'hostRef'>>
229
235
  ));
@@ -19,6 +19,7 @@ import {PressabilityDebugView} from '../../Pressability/PressabilityDebug';
19
19
  import StyleSheet, {type ViewStyleProp} from '../../StyleSheet/StyleSheet';
20
20
  import Platform from '../../Utilities/Platform';
21
21
  import * as React from 'react';
22
+ import {cloneElement} from 'react';
22
23
 
23
24
  type AndroidProps = $ReadOnly<{
24
25
  nextFocusDown?: ?number,
@@ -371,7 +372,7 @@ class TouchableHighlightImpl extends React.Component<
371
372
  testID={this.props.testID}
372
373
  ref={this.props.hostRef}
373
374
  {...eventHandlersWithoutBlurAndFocus}>
374
- {React.cloneElement(child, {
375
+ {cloneElement(child, {
375
376
  style: StyleSheet.compose(
376
377
  child.props.style,
377
378
  this.state.extraStyles?.child,
@@ -408,9 +409,13 @@ class TouchableHighlightImpl extends React.Component<
408
409
  const TouchableHighlight: component(
409
410
  ref?: React.RefSetter<React.ElementRef<typeof View>>,
410
411
  ...props: $ReadOnly<Omit<TouchableHighlightProps, 'hostRef'>>
411
- ) = React.forwardRef((props, hostRef) => (
412
- <TouchableHighlightImpl {...props} hostRef={hostRef} />
413
- ));
412
+ ) = ({
413
+ ref: hostRef,
414
+ ...props
415
+ }: {
416
+ ref?: React.RefSetter<React.ElementRef<typeof View>>,
417
+ ...$ReadOnly<Omit<TouchableHighlightProps, 'hostRef'>>,
418
+ }) => <TouchableHighlightImpl {...props} hostRef={hostRef} />;
414
419
 
415
420
  TouchableHighlight.displayName = 'TouchableHighlight';
416
421
 
@@ -22,6 +22,7 @@ import Platform from '../../Utilities/Platform';
22
22
  import {Commands} from '../View/ViewNativeComponent';
23
23
  import invariant from 'invariant';
24
24
  import * as React from 'react';
25
+ import {cloneElement} from 'react';
25
26
 
26
27
  type TVProps = {
27
28
  /**
@@ -334,7 +335,7 @@ class TouchableNativeFeedback extends React.Component<
334
335
 
335
336
  const accessibilityLabel =
336
337
  this.props['aria-label'] ?? this.props.accessibilityLabel;
337
- return React.cloneElement(
338
+ return cloneElement(
338
339
  element,
339
340
  {
340
341
  ...eventHandlersWithoutBlurAndFocus,
@@ -13,12 +13,14 @@ import type {TouchableWithoutFeedbackProps} from './TouchableWithoutFeedback';
13
13
  import Pressability, {
14
14
  type PressabilityConfig,
15
15
  } from '../../Pressability/Pressability';
16
+ import {PressabilityDebugView} from '../../Pressability/PressabilityDebug';
16
17
  import {findHostInstance_DEPRECATED} from '../../ReactNative/RendererProxy';
17
18
  import processColor from '../../StyleSheet/processColor';
18
19
  import Platform from '../../Utilities/Platform';
19
20
  import {Commands} from '../View/ViewNativeComponent';
20
21
  import invariant from 'invariant';
21
22
  import * as React from 'react';
23
+ import {cloneElement} from 'react';
22
24
 
23
25
  type TVProps = {
24
26
  /**
@@ -379,9 +379,13 @@ class TouchableOpacity extends React.Component<
379
379
  const Touchable: component(
380
380
  ref?: React.RefSetter<React.ElementRef<typeof Animated.View>>,
381
381
  ...props: TouchableOpacityProps
382
- ) = React.forwardRef((props, ref) => (
383
- <TouchableOpacity {...props} hostRef={ref} />
384
- ));
382
+ ) = ({
383
+ ref,
384
+ ...props
385
+ }: {
386
+ ref?: React.RefSetter<React.ElementRef<typeof Animated.View>>,
387
+ ...TouchableOpacityProps,
388
+ }) => <TouchableOpacity {...props} hostRef={ref} />;
385
389
 
386
390
  Touchable.displayName = 'TouchableOpacity';
387
391
 
@@ -23,7 +23,7 @@ import {PressabilityDebugView} from '../../Pressability/PressabilityDebug';
23
23
  import usePressability from '../../Pressability/usePressability';
24
24
  import {type ViewStyleProp} from '../../StyleSheet/StyleSheet';
25
25
  import * as React from 'react';
26
- import {useMemo} from 'react';
26
+ import {cloneElement, useMemo} from 'react';
27
27
 
28
28
  export type TouchableWithoutFeedbackPropsIOS = {};
29
29
 
@@ -152,7 +152,7 @@ const PASSTHROUGH_PROPS = [
152
152
  'onFocus',
153
153
  'onLayout',
154
154
  'testID',
155
- ];
155
+ ] as const;
156
156
 
157
157
  /**
158
158
  * Do not use unless you have a very good reason.
@@ -283,5 +283,5 @@ export default function TouchableWithoutFeedback(
283
283
  }
284
284
 
285
285
  // $FlowFixMe[incompatible-call]
286
- return React.cloneElement(element, elementProps, ...children);
286
+ return cloneElement(element, elementProps, ...children);
287
287
  }
@@ -4,8 +4,8 @@
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
- * @format
8
7
  * @flow strict-local
8
+ * @format
9
9
  */
10
10
 
11
11
  export * from '../../../src/private/specs_DEPRECATED/components/UnimplementedNativeViewNativeComponent';
@@ -4,8 +4,8 @@
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
- * @format strict-local
8
7
  * @flow strict-local
8
+ * @format strict-local
9
9
  */
10
10
 
11
11
  import type {AnyAttributeType} from '../../Renderer/shims/ReactNativeTypes';