@office-iss/react-native-win32 0.80.0 → 0.81.0-preview.3

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 (513) hide show
  1. package/.flowconfig +10 -4
  2. package/CHANGELOG.json +142 -13
  3. package/CHANGELOG.md +57 -8
  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 +2 -1
  11. package/IntegrationTests/LayoutEventsTest.js +1 -1
  12. package/IntegrationTests/LoggingTestModule.js +16 -20
  13. package/IntegrationTests/PromiseTest.js +1 -1
  14. package/IntegrationTests/SimpleSnapshotTest.js +1 -1
  15. package/IntegrationTests/SyncMethodTest.js +1 -1
  16. package/IntegrationTests/TimersTest.js +2 -1
  17. package/IntegrationTests/WebSocketTest.js +2 -1
  18. package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +1 -0
  19. package/Libraries/Alert/Alert.js +3 -3
  20. package/Libraries/Alert/Alert.win32.js +1 -1
  21. package/Libraries/Alert/NativeAlertManager.js +1 -0
  22. package/Libraries/Alert/RCTAlertManager.android.js +19 -13
  23. package/Libraries/Alert/RCTAlertManager.ios.js +10 -12
  24. package/Libraries/Alert/RCTAlertManager.js +1 -3
  25. package/Libraries/Alert/RCTAlertManager.js.flow +5 -7
  26. package/Libraries/Animated/Animated.js +0 -1
  27. package/Libraries/Animated/Animated.js.flow +0 -1
  28. package/Libraries/Animated/AnimatedEvent.js +4 -3
  29. package/Libraries/Animated/AnimatedExports.js +0 -1
  30. package/Libraries/Animated/AnimatedExports.js.flow +5 -1
  31. package/Libraries/Animated/AnimatedImplementation.js +44 -44
  32. package/Libraries/Animated/AnimatedMock.js +2 -2
  33. package/Libraries/Animated/Easing.js +1 -1
  34. package/Libraries/Animated/NativeAnimatedModule.js +1 -0
  35. package/Libraries/Animated/NativeAnimatedTurboModule.js +1 -0
  36. package/Libraries/Animated/SpringConfig.js +1 -1
  37. package/Libraries/Animated/animations/Animation.js +10 -2
  38. package/Libraries/Animated/components/AnimatedScrollView.js +58 -56
  39. package/Libraries/Animated/components/AnimatedText.js +2 -5
  40. package/Libraries/Animated/components/AnimatedView.js +2 -1
  41. package/Libraries/Animated/createAnimatedComponent.js +39 -37
  42. package/Libraries/Animated/nodes/AnimatedObject.js +2 -3
  43. package/Libraries/Animated/nodes/AnimatedProps.js +31 -4
  44. package/Libraries/Animated/nodes/AnimatedStyle.js +35 -34
  45. package/Libraries/Animated/shouldUseTurboAnimatedModule.js +6 -1
  46. package/Libraries/AppState/NativeAppState.js +1 -0
  47. package/Libraries/BatchedBridge/BatchedBridge.js +1 -1
  48. package/Libraries/BatchedBridge/NativeModules.js +1 -1
  49. package/Libraries/Blob/BlobManager.js +4 -0
  50. package/Libraries/Blob/NativeBlobModule.js +1 -0
  51. package/Libraries/Blob/NativeFileReaderModule.js +1 -0
  52. package/Libraries/Blob/URL.js +1 -1
  53. package/Libraries/Blob/URLSearchParams.js +5 -1
  54. package/Libraries/Blob/URLSearchParams.js.flow +2 -1
  55. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +1 -2
  56. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfoWin32.js +1 -2
  57. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +1 -2
  58. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.android.js +1 -1
  59. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.ios.js +1 -1
  60. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.js.flow +1 -1
  61. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.win32.js +1 -1
  62. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +19 -19
  63. package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +2 -3
  64. package/Libraries/Components/Button.js +10 -7
  65. package/Libraries/Components/Button.win32.js +10 -7
  66. package/Libraries/Components/Clipboard/Clipboard.js +1 -1
  67. package/Libraries/Components/Clipboard/NativeClipboard.js +1 -2
  68. package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +2 -3
  69. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +3 -4
  70. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.ios.js +1 -1
  71. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +1 -1
  72. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js.flow +1 -1
  73. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidFallback.js +1 -1
  74. package/Libraries/Components/Keyboard/Keyboard.js +1 -1
  75. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +3 -2
  76. package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +1 -2
  77. package/Libraries/Components/LayoutConformance/LayoutConformance.js +0 -1
  78. package/Libraries/Components/Pressable/Pressable.js +17 -8
  79. package/Libraries/Components/Pressable/Pressable.win32.js +17 -14
  80. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +14 -13
  81. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +1 -1
  82. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +2 -3
  83. package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +2 -3
  84. package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +2 -1
  85. package/Libraries/Components/RefreshControl/RefreshControl.js +1 -1
  86. package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +2 -3
  87. package/Libraries/Components/SafeAreaView/SafeAreaView.d.ts +9 -0
  88. package/Libraries/Components/SafeAreaView/SafeAreaView.js +3 -2
  89. package/Libraries/Components/SafeAreaView/SafeAreaView.win32.js +3 -2
  90. package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +2 -3
  91. package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +1 -1
  92. package/Libraries/Components/ScrollView/ScrollView.d.ts +33 -6
  93. package/Libraries/Components/ScrollView/ScrollView.js +25 -15
  94. package/Libraries/Components/ScrollView/ScrollViewCommands.js +1 -1
  95. package/Libraries/Components/ScrollView/ScrollViewContext.js +2 -1
  96. package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +1 -1
  97. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +19 -6
  98. package/Libraries/Components/ScrollView/processDecelerationRate.js +1 -1
  99. package/Libraries/Components/Sound/NativeSoundManager.js +1 -2
  100. package/Libraries/Components/Sound/SoundManager.js +1 -1
  101. package/Libraries/Components/StaticRenderer.js +1 -1
  102. package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +1 -2
  103. package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +1 -2
  104. package/Libraries/Components/StatusBar/StatusBar.d.ts +4 -0
  105. package/Libraries/Components/StatusBar/StatusBar.js +6 -1
  106. package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +2 -3
  107. package/Libraries/Components/Switch/Switch.js +10 -3
  108. package/Libraries/Components/Switch/SwitchNativeComponent.js +2 -3
  109. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +9 -24
  110. package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +2 -3
  111. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +1 -1
  112. package/Libraries/Components/TextInput/TextInput.d.ts +9 -3
  113. package/Libraries/Components/TextInput/TextInput.flow.js +13 -15
  114. package/Libraries/Components/TextInput/TextInput.flow.win32.js +12 -14
  115. package/Libraries/Components/TextInput/TextInput.js +42 -39
  116. package/Libraries/Components/TextInput/TextInput.win32.js +69 -38
  117. package/Libraries/Components/TextInput/TextInputState.js +1 -1
  118. package/Libraries/Components/TextInput/TextInputState.win32.js +1 -1
  119. package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +1 -2
  120. package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +1 -1
  121. package/Libraries/Components/ToastAndroid/ToastAndroid.ios.js +1 -1
  122. package/Libraries/Components/ToastAndroid/ToastAndroid.js +1 -1
  123. package/Libraries/Components/ToastAndroid/ToastAndroid.js.flow +1 -1
  124. package/Libraries/Components/ToastAndroid/ToastAndroid.win32.js +1 -1
  125. package/Libraries/Components/ToastAndroid/ToastAndroidFallback.js +1 -1
  126. package/Libraries/Components/Touchable/BoundingDimensions.js +1 -1
  127. package/Libraries/Components/Touchable/PooledClass.js +1 -1
  128. package/Libraries/Components/Touchable/Position.js +1 -1
  129. package/Libraries/Components/Touchable/Touchable.js +17 -3
  130. package/Libraries/Components/Touchable/Touchable.win32.js +17 -3
  131. package/Libraries/Components/Touchable/TouchableBounce.js +9 -3
  132. package/Libraries/Components/Touchable/TouchableHighlight.js +14 -5
  133. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +5 -3
  134. package/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js +5 -2
  135. package/Libraries/Components/Touchable/TouchableOpacity.d.ts +1 -0
  136. package/Libraries/Components/Touchable/TouchableOpacity.js +10 -5
  137. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +3 -3
  138. package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +2 -3
  139. package/Libraries/Components/View/ReactNativeStyleAttributes.js +7 -16
  140. package/Libraries/Components/View/View.js +114 -29
  141. package/Libraries/Components/View/View.win32.js +17 -3
  142. package/Libraries/Components/View/ViewAccessibility.d.ts +1 -0
  143. package/Libraries/Components/View/ViewAccessibility.js +1 -8
  144. package/Libraries/Components/View/ViewAccessibility.win32.js +1 -8
  145. package/Libraries/Components/View/ViewPropTypes.d.ts +22 -2
  146. package/Libraries/Components/View/ViewPropTypes.js +9 -1
  147. package/Libraries/Components/View/ViewPropTypes.win32.js +9 -1
  148. package/Libraries/Core/Devtools/getDevServer.js +1 -1
  149. package/Libraries/Core/Devtools/loadBundleFromServer.js +49 -7
  150. package/Libraries/Core/Devtools/loadBundleFromServer.win32.js +49 -7
  151. package/Libraries/Core/Devtools/openFileInEditor.js +1 -1
  152. package/Libraries/Core/Devtools/openURLInBrowser.js +1 -1
  153. package/Libraries/Core/Devtools/parseErrorStack.js +1 -1
  154. package/Libraries/Core/Devtools/parseHermesStack.js +1 -1
  155. package/Libraries/Core/Devtools/symbolicateStackTrace.js +1 -1
  156. package/Libraries/Core/ExceptionsManager.js +27 -16
  157. package/Libraries/Core/InitializeCore.js +2 -23
  158. package/Libraries/Core/NativeExceptionsManager.js +1 -0
  159. package/Libraries/Core/ReactFiberErrorDialog.js +1 -1
  160. package/Libraries/Core/ReactNativeVersion.js +3 -2
  161. package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +1 -0
  162. package/Libraries/Core/Timers/JSTimers.js +1 -1
  163. package/Libraries/Core/Timers/NativeTiming.js +1 -0
  164. package/Libraries/Core/Timers/immediateShim.js +1 -1
  165. package/Libraries/Core/Timers/queueMicrotask.js +1 -1
  166. package/Libraries/Core/checkNativeVersion.js +1 -0
  167. package/Libraries/Core/setUpDeveloperTools.js +13 -11
  168. package/Libraries/Core/setUpReactDevTools.js +21 -4
  169. package/Libraries/Debugging/DebuggingOverlay.js +12 -14
  170. package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +2 -1
  171. package/Libraries/Debugging/DebuggingOverlayRegistry.js +0 -1
  172. package/Libraries/Debugging/useSubscribeToDebuggingOverlayRegistry.js +0 -1
  173. package/Libraries/EventEmitter/NativeEventEmitter.js +3 -3
  174. package/Libraries/EventEmitter/RCTEventEmitter.js +1 -1
  175. package/Libraries/EventEmitter/RCTNativeAppEventEmitter.js +1 -1
  176. package/Libraries/Image/AssetRegistry.js +4 -10
  177. package/Libraries/Image/Image.android.js +113 -107
  178. package/Libraries/Image/Image.ios.js +10 -2
  179. package/Libraries/Image/Image.win32.js +11 -3
  180. package/Libraries/Image/ImageAnalyticsTagContext.js +2 -2
  181. package/Libraries/Image/ImageInjection.js +1 -1
  182. package/Libraries/Image/ImageSource.d.ts +5 -0
  183. package/Libraries/Image/ImageViewNativeComponent.js +3 -3
  184. package/Libraries/Image/NativeImageEditor.js +1 -0
  185. package/Libraries/Image/NativeImageLoaderAndroid.js +1 -0
  186. package/Libraries/Image/NativeImageLoaderIOS.js +1 -0
  187. package/Libraries/Image/NativeImageLoaderWin32.js +1 -0
  188. package/Libraries/Image/NativeImageStoreAndroid.js +1 -0
  189. package/Libraries/Image/NativeImageStoreIOS.js +1 -0
  190. package/Libraries/Image/RelativeImageStub.js +2 -1
  191. package/Libraries/Image/TextInlineImageNativeComponent.js +4 -4
  192. package/Libraries/Image/resolveAssetSource.js +1 -1
  193. package/Libraries/Interaction/FrameRateLogger.js +1 -1
  194. package/Libraries/Interaction/InteractionManager.js +64 -54
  195. package/Libraries/Interaction/NativeFrameRateLogger.js +1 -0
  196. package/Libraries/Interaction/TaskQueue.js +8 -9
  197. package/Libraries/Interaction/TouchHistoryMath.js +1 -1
  198. package/Libraries/LayoutAnimation/LayoutAnimation.js +12 -8
  199. package/Libraries/Linking/Linking.js +1 -1
  200. package/Libraries/Linking/NativeIntentAndroid.js +1 -0
  201. package/Libraries/Linking/NativeLinkingManager.js +1 -0
  202. package/Libraries/Lists/FlatList.d.ts +9 -5
  203. package/Libraries/Lists/FlatList.js +6 -7
  204. package/Libraries/Lists/SectionList.js +4 -4
  205. package/Libraries/Lists/SectionListModern.js +9 -3
  206. package/Libraries/Lists/VirtualizedList.js +3 -2
  207. package/Libraries/LogBox/Data/LogBoxData.js +7 -4
  208. package/Libraries/LogBox/Data/parseLogBoxLog.js +2 -0
  209. package/Libraries/LogBox/LogBox.js +72 -99
  210. package/Libraries/LogBox/UI/LogBoxButton.js +2 -1
  211. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +2 -1
  212. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.win32.js +2 -1
  213. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +3 -2
  214. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.win32.js +3 -2
  215. package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +2 -1
  216. package/Libraries/Modal/Modal.d.ts +8 -2
  217. package/Libraries/Modal/Modal.js +24 -3
  218. package/Libraries/Modal/NativeModalManager.js +1 -0
  219. package/Libraries/Modal/RCTModalHostViewNativeComponent.js +2 -1
  220. package/Libraries/NativeComponent/BaseViewConfig.android.js +21 -18
  221. package/Libraries/NativeComponent/BaseViewConfig.ios.js +8 -17
  222. package/Libraries/NativeComponent/BaseViewConfig.js.flow +1 -1
  223. package/Libraries/NativeComponent/BaseViewConfig.win32.js +8 -17
  224. package/Libraries/NativeComponent/PlatformBaseViewConfig.js +1 -1
  225. package/Libraries/NativeComponent/ViewConfigIgnore.js +3 -3
  226. package/Libraries/NativeModules/specs/NativeDevMenu.js +1 -0
  227. package/Libraries/NativeModules/specs/NativeDevSettings.js +1 -0
  228. package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +1 -0
  229. package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +1 -0
  230. package/Libraries/NativeModules/specs/NativeLogBox.js +1 -0
  231. package/Libraries/NativeModules/specs/NativeRedBox.js +1 -0
  232. package/Libraries/NativeModules/specs/NativeSourceCode.js +1 -0
  233. package/Libraries/Network/FormData.js +1 -1
  234. package/Libraries/Network/NativeNetworkingAndroid.js +1 -0
  235. package/Libraries/Network/NativeNetworkingIOS.js +1 -0
  236. package/Libraries/Network/RCTNetworking.android.js +2 -2
  237. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  238. package/Libraries/Network/RCTNetworking.js.flow +1 -1
  239. package/Libraries/Network/RCTNetworking.win32.js +1 -1
  240. package/Libraries/Network/XMLHttpRequest.js +3 -3
  241. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +1 -0
  242. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +4 -3
  243. package/Libraries/Pressability/Pressability.js +1 -1
  244. package/Libraries/Pressability/Pressability.win32.js +1 -1
  245. package/Libraries/Promise.js +1 -1
  246. package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +1 -0
  247. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +3 -2
  248. package/Libraries/ReactNative/AppContainer-dev.js +4 -4
  249. package/Libraries/ReactNative/AppContainer-prod.js +0 -1
  250. package/Libraries/ReactNative/AppContainer.js +1 -1
  251. package/Libraries/ReactNative/AppRegistry.flow.js +2 -2
  252. package/Libraries/ReactNative/AppRegistryImpl.js +2 -13
  253. package/Libraries/ReactNative/BridgelessUIManager.js +1 -1
  254. package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +1 -0
  255. package/Libraries/ReactNative/NativeI18nManager.js +1 -0
  256. package/Libraries/ReactNative/NativeUIManager.js +1 -0
  257. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +1 -1
  258. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +1 -1
  259. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstanceUtils.js +1 -1
  260. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +81 -62
  261. package/Libraries/ReactNative/ReactFabricPublicInstance/warnForStyleProps.js +1 -1
  262. package/Libraries/ReactNative/RendererImplementation.js +1 -1
  263. package/Libraries/ReactNative/RendererProxy.js +1 -1
  264. package/Libraries/ReactNative/RootTag.js +2 -2
  265. package/Libraries/ReactNative/renderApplication.js +1 -1
  266. package/Libraries/ReactPrivate/ReactNativePrivateInitializeCore.js +1 -1
  267. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +2 -1
  268. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js.flow +3 -3
  269. package/Libraries/Renderer/implementations/ReactFabric-dev.js +3 -1
  270. package/Libraries/Renderer/implementations/ReactFabric-prod.js +3 -1
  271. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +3 -1
  272. package/Libraries/Renderer/shims/ReactNativeTypes.js +23 -36
  273. package/Libraries/Renderer/shims/ReactNativeTypes.win32.js +261 -0
  274. package/Libraries/Settings/NativeSettingsManager.js +1 -0
  275. package/Libraries/Settings/Settings.ios.js +1 -1
  276. package/Libraries/Settings/Settings.js +1 -1
  277. package/Libraries/Settings/SettingsFallback.js +1 -1
  278. package/Libraries/Share/NativeShareModule.js +1 -0
  279. package/Libraries/Share/Share.js +1 -1
  280. package/Libraries/StyleSheet/EdgeInsetsPropType.js +1 -1
  281. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +1 -1
  282. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
  283. package/Libraries/StyleSheet/PlatformColorValueTypes.js.flow +1 -1
  284. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +1 -1
  285. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.js +1 -1
  286. package/Libraries/StyleSheet/PointPropType.js +1 -1
  287. package/Libraries/StyleSheet/Rect.js +1 -1
  288. package/Libraries/StyleSheet/StyleSheet.js +1 -0
  289. package/Libraries/StyleSheet/StyleSheetTypes.js +0 -1
  290. package/Libraries/StyleSheet/normalizeColor.js +1 -1
  291. package/Libraries/StyleSheet/processAspectRatio.js +1 -1
  292. package/Libraries/StyleSheet/processBackgroundImage.js +1 -1
  293. package/Libraries/StyleSheet/processBoxShadow.js +0 -1
  294. package/Libraries/StyleSheet/processColor.js +1 -1
  295. package/Libraries/StyleSheet/processColorArray.js +1 -1
  296. package/Libraries/StyleSheet/processFilter.js +1 -2
  297. package/Libraries/StyleSheet/processFontVariant.js +1 -1
  298. package/Libraries/StyleSheet/processTransform.js +1 -1
  299. package/Libraries/StyleSheet/processTransformOrigin.js +1 -1
  300. package/Libraries/StyleSheet/setNormalizedColorAlpha.js +1 -1
  301. package/Libraries/Text/Text.d.ts +7 -0
  302. package/Libraries/Text/Text.js +255 -246
  303. package/Libraries/Text/Text.win32.js +294 -285
  304. package/Libraries/Text/TextAncestor.js +3 -9
  305. package/Libraries/Text/TextAncestorContext.js +23 -0
  306. package/Libraries/Text/TextNativeComponent.js +4 -0
  307. package/Libraries/Text/TextNativeComponent.win32.js +4 -0
  308. package/Libraries/Text/TextProps.js +2 -5
  309. package/Libraries/Text/TextProps.win32.js +2 -7
  310. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +1 -0
  311. package/Libraries/Types/CodegenTypes.js +1 -1
  312. package/Libraries/Types/CodegenTypesNamespace.js +2 -1
  313. package/Libraries/Types/CoreEventTypes.d.ts +4 -0
  314. package/Libraries/Types/ReactDevToolsTypes.js +0 -1
  315. package/Libraries/Utilities/Appearance.js +1 -1
  316. package/Libraries/Utilities/BackHandler.js.flow +1 -1
  317. package/Libraries/Utilities/DevLoadingView.js +1 -1
  318. package/Libraries/Utilities/DeviceInfo.js +1 -1
  319. package/Libraries/Utilities/Dimensions.js +1 -1
  320. package/Libraries/Utilities/Dimensions.win32.js +1 -1
  321. package/Libraries/Utilities/HMRClient.js +13 -3
  322. package/Libraries/Utilities/HMRClientProdShim.js +1 -1
  323. package/Libraries/Utilities/NativeAppearance.js +1 -0
  324. package/Libraries/Utilities/NativeDevLoadingView.js +1 -0
  325. package/Libraries/Utilities/NativeDeviceInfo.js +1 -2
  326. package/Libraries/Utilities/NativePlatformConstantsAndroid.js +1 -0
  327. package/Libraries/Utilities/NativePlatformConstantsIOS.js +1 -0
  328. package/Libraries/Utilities/NativePlatformConstantsWin.js +1 -0
  329. package/Libraries/Utilities/PerformanceLoggerContext.js +2 -2
  330. package/Libraries/Utilities/PixelRatio.js +1 -1
  331. package/Libraries/Utilities/Platform.android.js +2 -5
  332. package/Libraries/Utilities/Platform.ios.js +2 -5
  333. package/Libraries/Utilities/Platform.js +1 -1
  334. package/Libraries/Utilities/Platform.js.flow +2 -2
  335. package/Libraries/Utilities/Platform.win32.js +2 -5
  336. package/Libraries/Utilities/PlatformTypes.js +2 -2
  337. package/Libraries/Utilities/RCTLog.js +1 -1
  338. package/Libraries/Utilities/SceneTracker.js +1 -1
  339. package/Libraries/Utilities/binaryToBase64.js +1 -1
  340. package/Libraries/Utilities/codegenNativeCommands.js +5 -3
  341. package/Libraries/Utilities/codegenNativeComponent.js +4 -4
  342. package/Libraries/Utilities/createPerformanceLogger.js +27 -20
  343. package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +1 -1
  344. package/Libraries/Utilities/defineLazyObjectProperty.js +1 -1
  345. package/Libraries/Utilities/differ/deepDiffer.js +1 -1
  346. package/Libraries/Utilities/differ/insetsDiffer.js +1 -1
  347. package/Libraries/Utilities/differ/matricesDiffer.js +1 -1
  348. package/Libraries/Utilities/differ/pointsDiffer.js +1 -1
  349. package/Libraries/Utilities/logError.js +1 -1
  350. package/Libraries/Utilities/mapWithSeparator.js +1 -1
  351. package/Libraries/Utilities/stringifySafe.js +1 -1
  352. package/Libraries/Utilities/stringifyViewConfig.js +1 -1
  353. package/Libraries/Utilities/useColorScheme.js +1 -1
  354. package/Libraries/Utilities/useWindowDimensions.js +1 -1
  355. package/Libraries/Utilities/warnOnce.js +1 -1
  356. package/Libraries/Vibration/NativeVibration.js +1 -0
  357. package/Libraries/Vibration/Vibration.js +1 -2
  358. package/Libraries/WebSocket/NativeWebSocketModule.js +1 -0
  359. package/Libraries/WebSocket/WebSocket.js +1 -1
  360. package/Libraries/WebSocket/WebSocketInterceptor.js +1 -1
  361. package/Libraries/promiseRejectionTrackingOptions.js +1 -1
  362. package/Libraries/vendor/core/ErrorUtils.js +1 -1
  363. package/Libraries/vendor/emitter/EventEmitter.js +6 -6
  364. package/index.js +22 -2
  365. package/index.win32.js +15 -2
  366. package/interface.js +1 -1
  367. package/jest/MockNativeMethods.js +9 -3
  368. package/jest/RefreshControlMock.js +32 -0
  369. package/jest/assetFileTransformer.js +1 -0
  370. package/jest/local-setup.js +4 -3
  371. package/jest/mock.js +39 -0
  372. package/jest/mockComponent.js +47 -17
  373. package/jest/mockNativeComponent.js +26 -15
  374. package/jest/mocks/AccessibilityInfo.js +62 -0
  375. package/jest/mocks/ActivityIndicator.js +23 -0
  376. package/jest/mocks/AppState.js +19 -0
  377. package/{flow/Stringish.js → jest/mocks/Clipboard.js} +6 -4
  378. package/jest/mocks/Image.js +23 -0
  379. package/jest/mocks/InitializeCore.js +9 -0
  380. package/jest/mocks/Linking.js +28 -0
  381. package/jest/mocks/Modal.js +33 -0
  382. package/jest/mocks/NativeComponentRegistry.js +30 -0
  383. package/jest/mocks/NativeModules.js +239 -0
  384. package/jest/mocks/RefreshControl.js +31 -0
  385. package/jest/mocks/RendererProxy.js +45 -0
  386. package/jest/mocks/ScrollView.js +58 -0
  387. package/jest/mocks/Text.js +27 -0
  388. package/jest/mocks/TextInput.js +32 -0
  389. package/jest/mocks/UIManager.js +60 -0
  390. package/jest/mocks/Vibration.js +16 -0
  391. package/jest/mocks/View.js +27 -0
  392. package/jest/mocks/ViewNativeComponent.js +23 -0
  393. package/jest/mocks/requireNativeComponent.js +22 -0
  394. package/{Libraries/Utilities/infoLog.js → jest/mocks/useColorScheme.js} +7 -9
  395. package/jest/react-native-env.js +1 -0
  396. package/jest/renderer.js +1 -2
  397. package/jest/resolver.js +1 -0
  398. package/jest/setup.js +64 -445
  399. package/overrides.json +49 -42
  400. package/package.json +20 -20
  401. package/src/private/animated/NativeAnimatedHelper.js +8 -1
  402. package/src/private/animated/NativeAnimatedHelper.win32.js +8 -1
  403. package/src/private/animated/createAnimatedPropsHook.js +14 -4
  404. package/src/private/animated/createAnimatedPropsMemoHook.js +2 -3
  405. package/src/private/components/safeareaview/SafeAreaView_INTERNAL_DO_NOT_USE.js +0 -1
  406. package/src/private/components/scrollview/HScrollViewNativeComponents.js +0 -1
  407. package/src/private/components/scrollview/VScrollViewNativeComponents.js +0 -1
  408. package/src/private/components/virtualview/VirtualView.js +145 -0
  409. package/src/private/components/virtualview/VirtualViewNativeComponent.js +90 -0
  410. package/src/private/devsupport/devmenu/elementinspector/BorderBox.js +1 -1
  411. package/src/private/devsupport/devmenu/elementinspector/BoxInspector.js +1 -1
  412. package/src/private/devsupport/devmenu/elementinspector/ElementBox.js +1 -1
  413. package/src/private/devsupport/devmenu/elementinspector/ElementProperties.js +1 -1
  414. package/src/private/devsupport/devmenu/elementinspector/Inspector.js +1 -1
  415. package/src/private/devsupport/devmenu/elementinspector/InspectorOverlay.js +1 -1
  416. package/src/private/devsupport/devmenu/elementinspector/InspectorPanel.js +1 -1
  417. package/src/private/devsupport/devmenu/elementinspector/NetworkOverlay.js +1 -1
  418. package/src/private/devsupport/devmenu/elementinspector/ReactDevToolsOverlay.js +1 -1
  419. package/src/private/devsupport/devmenu/elementinspector/StyleInspector.js +1 -1
  420. package/src/private/devsupport/devmenu/elementinspector/XHRInterceptor.js +1 -1
  421. package/src/private/devsupport/devmenu/elementinspector/getInspectorDataForViewAtPoint.js +1 -1
  422. package/src/private/devsupport/devmenu/elementinspector/resolveBoxStyle.js +1 -1
  423. package/src/private/devsupport/devmenu/perfmonitor/PerformanceOverlay.js +1 -1
  424. package/src/private/devsupport/rndevtools/FuseboxSessionObserver.js +0 -1
  425. package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.android.js +8 -9
  426. package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.ios.js +12 -15
  427. package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.win32.js +8 -9
  428. package/src/private/devsupport/rndevtools/setUpFuseboxReactDevToolsDispatcher.js +0 -1
  429. package/src/private/devsupport/rndevtools/specs/NativeReactDevToolsRuntimeSettingsModule.js +0 -1
  430. package/src/private/featureflags/ReactNativeFeatureFlags.js +88 -8
  431. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +2 -0
  432. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +15 -3
  433. package/src/private/renderer/errorhandling/ErrorHandlers.js +1 -1
  434. package/src/private/setup/setUpDefaultReactNativeEnvironment.js +44 -0
  435. package/src/private/setup/setUpPerformanceObserver.js +7 -0
  436. package/src/private/specs_DEPRECATED/components/ActivityIndicatorViewNativeComponent.js +8 -5
  437. package/src/private/specs_DEPRECATED/components/AndroidDrawerLayoutNativeComponent.js +4 -4
  438. package/src/private/specs_DEPRECATED/components/AndroidHorizontalScrollContentViewNativeComponent.js +4 -4
  439. package/src/private/specs_DEPRECATED/components/AndroidSwipeRefreshLayoutNativeComponent.js +4 -4
  440. package/src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent.js +10 -7
  441. package/src/private/specs_DEPRECATED/components/DebuggingOverlayNativeComponent.js +5 -4
  442. package/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.js +7 -4
  443. package/src/private/specs_DEPRECATED/components/PullToRefreshViewNativeComponent.js +10 -7
  444. package/src/private/specs_DEPRECATED/components/RCTInputAccessoryViewNativeComponent.js +9 -6
  445. package/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js +15 -6
  446. package/src/private/specs_DEPRECATED/components/RCTSafeAreaViewNativeComponent.js +9 -6
  447. package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +5 -5
  448. package/src/private/specs_DEPRECATED/components/UnimplementedNativeViewNativeComponent.js +4 -4
  449. package/src/private/specs_DEPRECATED/modules/NativeDeviceInfo.js +1 -0
  450. package/src/private/specs_DEPRECATED/modules/NativeFrameRateLogger.js +1 -1
  451. package/src/private/specs_DEPRECATED/modules/NativePermissionsAndroid.js +1 -1
  452. package/src/private/specs_DEPRECATED/modules/NativePushNotificationManagerIOS.js +1 -1
  453. package/src/private/specs_DEPRECATED/modules/NativeUIManager.js +9 -6
  454. package/src/private/styles/composeStyles.js +5 -12
  455. package/src/private/types/HostInstance.js +1 -1
  456. package/src/private/webapis/dom/events/Event.js +3 -0
  457. package/src/private/webapis/dom/events/EventTarget.js +3 -0
  458. package/src/private/webapis/dom/nodes/ReactNativeDocument.js +1 -1
  459. package/src/private/webapis/dom/nodes/ReactNativeElement.js +7 -24
  460. package/src/private/webapis/dom/nodes/ReadOnlyCharacterData.js +1 -1
  461. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +1 -1
  462. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +4 -2
  463. package/src/private/webapis/dom/nodes/ReadOnlyText.js +1 -1
  464. package/src/private/webapis/dom/nodes/internals/NodeInternals.js +1 -1
  465. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentElementInstanceHandle.js +1 -1
  466. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.js +1 -1
  467. package/src/private/webapis/dom/nodes/internals/Traversal.js +1 -1
  468. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +38 -0
  469. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +4 -1
  470. package/src/private/webapis/dom/oldstylecollections/NodeList.js +4 -1
  471. package/src/private/webapis/errors/DOMException.js +166 -0
  472. package/src/private/webapis/geometry/DOMRect.js +5 -0
  473. package/src/private/webapis/geometry/DOMRectList.js +4 -1
  474. package/src/private/webapis/geometry/DOMRectReadOnly.js +6 -0
  475. package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +4 -2
  476. package/src/private/webapis/intersectionobserver/IntersectionObserver.js +15 -7
  477. package/src/private/webapis/intersectionobserver/IntersectionObserverEntry.js +3 -0
  478. package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +83 -18
  479. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +12 -0
  480. package/src/private/webapis/mutationobserver/MutationObserver.js +13 -38
  481. package/src/private/webapis/mutationobserver/MutationRecord.js +3 -0
  482. package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +7 -29
  483. package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +1 -4
  484. package/src/private/webapis/performance/EventTiming.js +1 -1
  485. package/src/private/webapis/performance/LongTasks.js +1 -1
  486. package/src/private/webapis/performance/MemoryInfo.js +4 -1
  487. package/src/private/webapis/performance/Performance.js +20 -9
  488. package/src/private/webapis/performance/PerformanceEntry.js +5 -1
  489. package/src/private/webapis/performance/PerformanceObserver.js +32 -28
  490. package/src/private/webapis/performance/ReactNativeStartupTiming.js +4 -1
  491. package/src/private/webapis/performance/ResourceTiming.js +108 -0
  492. package/src/private/webapis/performance/UserTiming.js +1 -1
  493. package/src/private/webapis/performance/internals/RawPerformanceEntry.js +50 -33
  494. package/src/private/webapis/performance/internals/Utilities.js +1 -1
  495. package/src/private/webapis/performance/specs/NativePerformance.js +1 -1
  496. package/src/private/webapis/structuredClone/structuredClone.js +233 -0
  497. package/src/private/webapis/utils/ArrayLikeUtils.js +1 -1
  498. package/src/private/webapis/webidl/PlatformObjects.js +59 -0
  499. package/src-win/Libraries/Components/View/ViewAccessibility.d.ts +1 -0
  500. package/src-win/Libraries/Components/View/ViewPropTypes.d.ts +22 -2
  501. package/src-win/Libraries/Text/Text.d.ts +7 -0
  502. package/types/modules/Devtools.d.ts +23 -9
  503. package/Libraries/BugReporting/BugReporting.js +0 -140
  504. package/Libraries/BugReporting/NativeBugReporting.js +0 -13
  505. package/Libraries/BugReporting/dumpReactTree.js +0 -151
  506. package/Libraries/BugReporting/getReactData.js +0 -187
  507. package/Libraries/Interaction/JSEventLoopWatchdog.js +0 -88
  508. package/flow/HermesInternalType.js +0 -114
  509. package/flow/console.js +0 -49
  510. package/flow/global.js +0 -88
  511. package/jest/mockModal.js +0 -32
  512. package/jest/mockScrollView.js +0 -35
  513. package/src/private/specs_DEPRECATED/modules/NativeBugReporting.js +0 -20
@@ -10,7 +10,11 @@
10
10
 
11
11
  import type {EdgeInsetsProp} from '../../StyleSheet/EdgeInsetsPropType';
12
12
  import type {ColorValue} from '../../StyleSheet/StyleSheet';
13
- import type {GestureResponderEvent} from '../../Types/CoreEventTypes';
13
+ import type {
14
+ BlurEvent,
15
+ FocusEvent,
16
+ GestureResponderEvent,
17
+ } from '../../Types/CoreEventTypes';
14
18
 
15
19
  import {PressabilityDebugView} from '../../Pressability/PressabilityDebug';
16
20
  import UIManager from '../../ReactNative/UIManager';
@@ -589,7 +593,7 @@ const TouchableMixinImpl = {
589
593
  */
590
594
  /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by
591
595
  * Flow's LTI update could not be added via codemod */
592
- touchableHandleFocus: function (e: Event) {
596
+ touchableHandleFocus: function (e: FocusEvent) {
593
597
  this.props.onFocus && this.props.onFocus(e);
594
598
  },
595
599
 
@@ -603,7 +607,7 @@ const TouchableMixinImpl = {
603
607
  */
604
608
  /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by
605
609
  * Flow's LTI update could not be added via codemod */
606
- touchableHandleBlur: function (e: Event) {
610
+ touchableHandleBlur: function (e: BlurEvent) {
607
611
  this.props.onBlur && this.props.onBlur(e);
608
612
  },
609
613
 
@@ -869,11 +873,15 @@ const TouchableMixinImpl = {
869
873
  curState === States.NOT_RESPONDER &&
870
874
  nextState === States.RESPONDER_INACTIVE_PRESS_IN;
871
875
 
876
+ /* $FlowFixMe[invalid-computed-prop] Natural Inference rollout. See
877
+ * https://fburl.com/workplace/6291gfvu */
872
878
  const isActiveTransition = !IsActive[curState] && IsActive[nextState];
873
879
  if (isInitialTransition || isActiveTransition) {
874
880
  this._remeasureMetricsOnActivation();
875
881
  }
876
882
 
883
+ /* $FlowFixMe[invalid-computed-prop] Natural Inference rollout. See
884
+ * https://fburl.com/workplace/6291gfvu */
877
885
  if (IsPressingIn[curState] && signal === Signals.LONG_PRESS_DETECTED) {
878
886
  this.touchableHandleLongPress && this.touchableHandleLongPress(e);
879
887
  }
@@ -884,13 +892,19 @@ const TouchableMixinImpl = {
884
892
  this._endHighlight(e);
885
893
  }
886
894
 
895
+ /* $FlowFixMe[invalid-computed-prop] Natural Inference rollout. See
896
+ * https://fburl.com/workplace/6291gfvu */
887
897
  if (IsPressingIn[curState] && signal === Signals.RESPONDER_RELEASE) {
888
898
  const hasLongPressHandler = !!this.props.onLongPress;
889
899
  const pressIsLongButStillCallOnPress =
900
+ /* $FlowFixMe[invalid-computed-prop] Natural Inference rollout. See
901
+ * https://fburl.com/workplace/6291gfvu */
890
902
  IsLongPressingIn[curState] && // We *are* long pressing.. // But either has no long handler
891
903
  (!hasLongPressHandler || !this.touchableLongPressCancelsPress()); // or we're told to ignore it.
892
904
 
893
905
  const shouldInvokePress =
906
+ /* $FlowFixMe[invalid-computed-prop] Natural Inference rollout. See
907
+ * https://fburl.com/workplace/6291gfvu */
894
908
  !IsLongPressingIn[curState] || pressIsLongButStillCallOnPress;
895
909
  if (shouldInvokePress && this.touchableHandlePress) {
896
910
  if (!newIsHighlight && !curIsHighlight) {
@@ -10,7 +10,11 @@
10
10
 
11
11
  import type {EdgeInsetsProp} from '../../StyleSheet/EdgeInsetsPropType';
12
12
  import type {ColorValue} from '../../StyleSheet/StyleSheet';
13
- import type {GestureResponderEvent} from '../../Types/CoreEventTypes';
13
+ import type {
14
+ BlurEvent,
15
+ FocusEvent,
16
+ GestureResponderEvent,
17
+ } from '../../Types/CoreEventTypes';
14
18
 
15
19
  import {PressabilityDebugView} from '../../Pressability/PressabilityDebug';
16
20
  import UIManager from '../../ReactNative/UIManager';
@@ -594,7 +598,7 @@ const TouchableMixinImpl = {
594
598
  */
595
599
  /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by
596
600
  * Flow's LTI update could not be added via codemod */
597
- touchableHandleFocus: function (e: Event) {
601
+ touchableHandleFocus: function (e: FocusEvent) {
598
602
  this.props.onFocus && this.props.onFocus(e);
599
603
  },
600
604
 
@@ -608,7 +612,7 @@ const TouchableMixinImpl = {
608
612
  */
609
613
  /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by
610
614
  * Flow's LTI update could not be added via codemod */
611
- touchableHandleBlur: function (e: Event) {
615
+ touchableHandleBlur: function (e: BlurEvent) {
612
616
  this.props.onBlur && this.props.onBlur(e);
613
617
  },
614
618
 
@@ -874,11 +878,15 @@ const TouchableMixinImpl = {
874
878
  curState === States.NOT_RESPONDER &&
875
879
  nextState === States.RESPONDER_INACTIVE_PRESS_IN;
876
880
 
881
+ /* $FlowFixMe[invalid-computed-prop] Natural Inference rollout. See
882
+ * https://fburl.com/workplace/6291gfvu */
877
883
  const isActiveTransition = !IsActive[curState] && IsActive[nextState];
878
884
  if (isInitialTransition || isActiveTransition) {
879
885
  this._remeasureMetricsOnActivation();
880
886
  }
881
887
 
888
+ /* $FlowFixMe[invalid-computed-prop] Natural Inference rollout. See
889
+ * https://fburl.com/workplace/6291gfvu */
882
890
  if (IsPressingIn[curState] && signal === Signals.LONG_PRESS_DETECTED) {
883
891
  this.touchableHandleLongPress && this.touchableHandleLongPress(e);
884
892
  }
@@ -889,13 +897,19 @@ const TouchableMixinImpl = {
889
897
  this._endHighlight(e);
890
898
  }
891
899
 
900
+ /* $FlowFixMe[invalid-computed-prop] Natural Inference rollout. See
901
+ * https://fburl.com/workplace/6291gfvu */
892
902
  if (IsPressingIn[curState] && signal === Signals.RESPONDER_RELEASE) {
893
903
  const hasLongPressHandler = !!this.props.onLongPress;
894
904
  const pressIsLongButStillCallOnPress =
905
+ /* $FlowFixMe[invalid-computed-prop] Natural Inference rollout. See
906
+ * https://fburl.com/workplace/6291gfvu */
895
907
  IsLongPressingIn[curState] && // We *are* long pressing.. // But either has no long handler
896
908
  (!hasLongPressHandler || !this.touchableLongPressCancelsPress()); // or we're told to ignore it.
897
909
 
898
910
  const shouldInvokePress =
911
+ /* $FlowFixMe[invalid-computed-prop] Natural Inference rollout. See
912
+ * https://fburl.com/workplace/6291gfvu */
899
913
  !IsLongPressingIn[curState] || pressIsLongButStillCallOnPress;
900
914
  if (shouldInvokePress && this.touchableHandlePress) {
901
915
  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
  ));
@@ -9,6 +9,7 @@
9
9
  */
10
10
 
11
11
  import type {ColorValue} from '../../StyleSheet/StyleSheet';
12
+ import type {AccessibilityState} from '../View/ViewAccessibility';
12
13
  import type {TouchableWithoutFeedbackProps} from './TouchableWithoutFeedback';
13
14
 
14
15
  import View from '../../Components/View/View';
@@ -19,6 +20,7 @@ import {PressabilityDebugView} from '../../Pressability/PressabilityDebug';
19
20
  import StyleSheet, {type ViewStyleProp} from '../../StyleSheet/StyleSheet';
20
21
  import Platform from '../../Utilities/Platform';
21
22
  import * as React from 'react';
23
+ import {cloneElement} from 'react';
22
24
 
23
25
  type AndroidProps = $ReadOnly<{
24
26
  nextFocusDown?: ?number,
@@ -29,6 +31,9 @@ type AndroidProps = $ReadOnly<{
29
31
  }>;
30
32
 
31
33
  type IOSProps = $ReadOnly<{
34
+ /**
35
+ * @deprecated Use `focusable` instead
36
+ */
32
37
  hasTVPreferredFocus?: ?boolean,
33
38
  }>;
34
39
 
@@ -305,7 +310,7 @@ class TouchableHighlightImpl extends React.Component<
305
310
  const {onBlur, onFocus, ...eventHandlersWithoutBlurAndFocus} =
306
311
  this.state.pressability.getEventHandlers();
307
312
 
308
- const accessibilityState =
313
+ const accessibilityState: ?AccessibilityState =
309
314
  this.props.disabled != null
310
315
  ? {
311
316
  ...this.props.accessibilityState,
@@ -371,7 +376,7 @@ class TouchableHighlightImpl extends React.Component<
371
376
  testID={this.props.testID}
372
377
  ref={this.props.hostRef}
373
378
  {...eventHandlersWithoutBlurAndFocus}>
374
- {React.cloneElement(child, {
379
+ {cloneElement(child, {
375
380
  style: StyleSheet.compose(
376
381
  child.props.style,
377
382
  this.state.extraStyles?.child,
@@ -408,9 +413,13 @@ class TouchableHighlightImpl extends React.Component<
408
413
  const TouchableHighlight: component(
409
414
  ref?: React.RefSetter<React.ElementRef<typeof View>>,
410
415
  ...props: $ReadOnly<Omit<TouchableHighlightProps, 'hostRef'>>
411
- ) = React.forwardRef((props, hostRef) => (
412
- <TouchableHighlightImpl {...props} hostRef={hostRef} />
413
- ));
416
+ ) = ({
417
+ ref: hostRef,
418
+ ...props
419
+ }: {
420
+ ref?: React.RefSetter<React.ElementRef<typeof View>>,
421
+ ...$ReadOnly<Omit<TouchableHighlightProps, 'hostRef'>>,
422
+ }) => <TouchableHighlightImpl {...props} hostRef={hostRef} />;
414
423
 
415
424
  TouchableHighlight.displayName = 'TouchableHighlight';
416
425
 
@@ -22,12 +22,14 @@ 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
- type TVProps = {
27
+ type TouchableNativeFeedbackTVProps = {
27
28
  /**
28
29
  * *(Apple TV only)* TV preferred focus (see documentation for the View component).
29
30
  *
30
31
  * @platform ios
32
+ * @deprecated Use `focusable` instead
31
33
  */
32
34
  hasTVPreferredFocus?: ?boolean,
33
35
 
@@ -69,7 +71,7 @@ type TVProps = {
69
71
 
70
72
  export type TouchableNativeFeedbackProps = $ReadOnly<{
71
73
  ...TouchableWithoutFeedbackProps,
72
- ...TVProps,
74
+ ...TouchableNativeFeedbackTVProps,
73
75
  /**
74
76
  * Determines the type of background drawable that's going to be used to display feedback.
75
77
  * It takes an object with type property and extra data depending on the type.
@@ -334,7 +336,7 @@ class TouchableNativeFeedback extends React.Component<
334
336
 
335
337
  const accessibilityLabel =
336
338
  this.props['aria-label'] ?? this.props.accessibilityLabel;
337
- return React.cloneElement(
339
+ return cloneElement(
338
340
  element,
339
341
  {
340
342
  ...eventHandlersWithoutBlurAndFocus,
@@ -13,18 +13,21 @@ 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
- type TVProps = {
25
+ type TouchableNativeFeedbackTVProps = {
24
26
  /**
25
27
  * *(Apple TV only)* TV preferred focus (see documentation for the View component).
26
28
  *
27
29
  * @platform ios
30
+ * @deprecated Use `focusable` instead
28
31
  */
29
32
  hasTVPreferredFocus?: ?boolean,
30
33
 
@@ -66,7 +69,7 @@ type TVProps = {
66
69
 
67
70
  export type TouchableNativeFeedbackProps = $ReadOnly<{
68
71
  ...TouchableWithoutFeedbackProps,
69
- ...TVProps,
72
+ ...TouchableNativeFeedbackTVProps,
70
73
  /**
71
74
  * Determines the type of background drawable that's going to be used to display feedback.
72
75
  * It takes an object with type property and extra data depending on the type.
@@ -16,6 +16,7 @@ export interface TVProps {
16
16
  * *(Apple TV only)* TV preferred focus (see documentation for the View component).
17
17
  *
18
18
  * @platform ios
19
+ * @deprecated Use `focusable` instead
19
20
  */
20
21
  hasTVPreferredFocus?: boolean | undefined;
21
22
 
@@ -21,11 +21,12 @@ import flattenStyle from '../../StyleSheet/flattenStyle';
21
21
  import Platform from '../../Utilities/Platform';
22
22
  import * as React from 'react';
23
23
 
24
- export type TVProps = $ReadOnly<{
24
+ export type TouchableOpacityTVProps = $ReadOnly<{
25
25
  /**
26
26
  * *(Apple TV only)* TV preferred focus (see documentation for the View component).
27
27
  *
28
28
  * @platform ios
29
+ * @deprecated Use `focusable` instead
29
30
  */
30
31
  hasTVPreferredFocus?: ?boolean,
31
32
 
@@ -78,7 +79,7 @@ type TouchableOpacityBaseProps = $ReadOnly<{
78
79
 
79
80
  export type TouchableOpacityProps = $ReadOnly<{
80
81
  ...TouchableWithoutFeedbackProps,
81
- ...TVProps,
82
+ ...TouchableOpacityTVProps,
82
83
  ...TouchableOpacityBaseProps,
83
84
  }>;
84
85
 
@@ -379,9 +380,13 @@ class TouchableOpacity extends React.Component<
379
380
  const Touchable: component(
380
381
  ref?: React.RefSetter<React.ElementRef<typeof Animated.View>>,
381
382
  ...props: TouchableOpacityProps
382
- ) = React.forwardRef((props, ref) => (
383
- <TouchableOpacity {...props} hostRef={ref} />
384
- ));
383
+ ) = ({
384
+ ref,
385
+ ...props
386
+ }: {
387
+ ref?: React.RefSetter<React.ElementRef<typeof Animated.View>>,
388
+ ...TouchableOpacityProps,
389
+ }) => <TouchableOpacity {...props} hostRef={ref} />;
385
390
 
386
391
  Touchable.displayName = 'TouchableOpacity';
387
392
 
@@ -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,10 +4,9 @@
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';
12
- import UnimplementedNativeViewNativeComponent from '../../../src/private/specs_DEPRECATED/components/UnimplementedNativeViewNativeComponent';
13
- export default UnimplementedNativeViewNativeComponent;
12
+ export {default} from '../../../src/private/specs_DEPRECATED/components/UnimplementedNativeViewNativeComponent';
@@ -4,14 +4,13 @@
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';
12
12
 
13
13
  import * as ReactNativeFeatureFlags from '../../../src/private/featureflags/ReactNativeFeatureFlags';
14
- import NativeReactNativeFeatureFlags from '../../../src/private/featureflags/specs/NativeReactNativeFeatureFlags';
15
14
  import processAspectRatio from '../../StyleSheet/processAspectRatio';
16
15
  import processBackgroundImage from '../../StyleSheet/processBackgroundImage';
17
16
  import processBoxShadow from '../../StyleSheet/processBoxShadow';
@@ -123,13 +122,9 @@ const ReactNativeStyleAttributes: {[string]: AnyAttributeType, ...} = {
123
122
  /**
124
123
  * Filter
125
124
  */
126
- filter:
127
- NativeReactNativeFeatureFlags != null &&
128
- ReactNativeFeatureFlags.enableNativeCSSParsing()
129
- ? true
130
- : {
131
- process: processFilter,
132
- },
125
+ filter: ReactNativeFeatureFlags.enableNativeCSSParsing()
126
+ ? true
127
+ : {process: processFilter},
133
128
 
134
129
  /**
135
130
  * MixBlendMode
@@ -144,13 +139,9 @@ const ReactNativeStyleAttributes: {[string]: AnyAttributeType, ...} = {
144
139
  /*
145
140
  * BoxShadow
146
141
  */
147
- boxShadow:
148
- NativeReactNativeFeatureFlags != null &&
149
- ReactNativeFeatureFlags.enableNativeCSSParsing()
150
- ? true
151
- : {
152
- process: processBoxShadow,
153
- },
142
+ boxShadow: ReactNativeFeatureFlags.enableNativeCSSParsing()
143
+ ? true
144
+ : {process: processBoxShadow},
154
145
 
155
146
  /**
156
147
  * Linear Gradient
@@ -4,17 +4,17 @@
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 type {ViewProps} from './ViewPropTypes';
12
12
 
13
- import TextAncestor from '../../Text/TextAncestor';
13
+ import * as ReactNativeFeatureFlags from '../../../src/private/featureflags/ReactNativeFeatureFlags';
14
+ import TextAncestorContext from '../../Text/TextAncestorContext';
14
15
  import ViewNativeComponent from './ViewNativeComponent';
15
16
  import * as React from 'react';
16
-
17
- export type Props = ViewProps;
17
+ import {use} from 'react';
18
18
 
19
19
  /**
20
20
  * The most fundamental component for building a UI, View is a container that
@@ -23,12 +23,107 @@ export type Props = ViewProps;
23
23
  *
24
24
  * @see https://reactnative.dev/docs/view
25
25
  */
26
- const View: component(
26
+ export default component View(
27
27
  ref?: React.RefSetter<React.ElementRef<typeof ViewNativeComponent>>,
28
28
  ...props: ViewProps
29
- ) = React.forwardRef(
30
- (
31
- {
29
+ ) {
30
+ const hasTextAncestor = use(TextAncestorContext);
31
+
32
+ let actualView;
33
+ if (ReactNativeFeatureFlags.reduceDefaultPropsInView()) {
34
+ const {
35
+ accessibilityState,
36
+ accessibilityValue,
37
+ 'aria-busy': ariaBusy,
38
+ 'aria-checked': ariaChecked,
39
+ 'aria-disabled': ariaDisabled,
40
+ 'aria-expanded': ariaExpanded,
41
+ 'aria-hidden': ariaHidden,
42
+ 'aria-label': ariaLabel,
43
+ 'aria-labelledby': ariaLabelledBy,
44
+ 'aria-live': ariaLive,
45
+ 'aria-selected': ariaSelected,
46
+ 'aria-valuemax': ariaValueMax,
47
+ 'aria-valuemin': ariaValueMin,
48
+ 'aria-valuenow': ariaValueNow,
49
+ 'aria-valuetext': ariaValueText,
50
+ id,
51
+ tabIndex,
52
+ ...otherProps
53
+ } = props;
54
+
55
+ // Since we destructured props, we can now treat it as mutable
56
+ const processedProps = otherProps as {...ViewProps};
57
+
58
+ const parsedAriaLabelledBy = ariaLabelledBy?.split(/\s*,\s*/g);
59
+ if (parsedAriaLabelledBy !== undefined) {
60
+ processedProps.accessibilityLabelledBy = parsedAriaLabelledBy;
61
+ }
62
+
63
+ if (ariaLabel !== undefined) {
64
+ processedProps.accessibilityLabel = ariaLabel;
65
+ }
66
+
67
+ if (ariaLive !== undefined) {
68
+ processedProps.accessibilityLiveRegion =
69
+ ariaLive === 'off' ? 'none' : ariaLive;
70
+ }
71
+
72
+ if (ariaHidden !== undefined) {
73
+ processedProps.accessibilityElementsHidden = ariaHidden;
74
+ if (ariaHidden === true) {
75
+ processedProps.importantForAccessibility = 'no-hide-descendants';
76
+ }
77
+ }
78
+
79
+ if (id !== undefined) {
80
+ processedProps.nativeID = id;
81
+ }
82
+
83
+ if (tabIndex !== undefined) {
84
+ processedProps.focusable = !tabIndex;
85
+ }
86
+
87
+ if (
88
+ accessibilityState != null ||
89
+ ariaBusy != null ||
90
+ ariaChecked != null ||
91
+ ariaDisabled != null ||
92
+ ariaExpanded != null ||
93
+ ariaSelected != null
94
+ ) {
95
+ processedProps.accessibilityState = {
96
+ busy: ariaBusy ?? accessibilityState?.busy,
97
+ checked: ariaChecked ?? accessibilityState?.checked,
98
+ disabled: ariaDisabled ?? accessibilityState?.disabled,
99
+ expanded: ariaExpanded ?? accessibilityState?.expanded,
100
+ selected: ariaSelected ?? accessibilityState?.selected,
101
+ };
102
+ }
103
+
104
+ if (
105
+ accessibilityValue != null ||
106
+ ariaValueMax != null ||
107
+ ariaValueMin != null ||
108
+ ariaValueNow != null ||
109
+ ariaValueText != null
110
+ ) {
111
+ processedProps.accessibilityValue = {
112
+ max: ariaValueMax ?? accessibilityValue?.max,
113
+ min: ariaValueMin ?? accessibilityValue?.min,
114
+ now: ariaValueNow ?? accessibilityValue?.now,
115
+ text: ariaValueText ?? accessibilityValue?.text,
116
+ };
117
+ }
118
+
119
+ actualView =
120
+ ref == null ? (
121
+ <ViewNativeComponent {...processedProps} />
122
+ ) : (
123
+ <ViewNativeComponent {...processedProps} ref={ref} />
124
+ );
125
+ } else {
126
+ const {
32
127
  accessibilityElementsHidden,
33
128
  accessibilityLabel,
34
129
  accessibilityLabelledBy,
@@ -54,10 +149,7 @@ const View: component(
54
149
  nativeID,
55
150
  tabIndex,
56
151
  ...otherProps
57
- }: ViewProps,
58
- forwardedRef,
59
- ) => {
60
- const hasTextAncestor = React.useContext(TextAncestor);
152
+ } = props;
61
153
  const _accessibilityLabelledBy =
62
154
  ariaLabelledBy?.split(/\s*,\s*/g) ?? accessibilityLabelledBy;
63
155
 
@@ -91,7 +183,7 @@ const View: component(
91
183
  }
92
184
  : undefined;
93
185
 
94
- const actualView = (
186
+ actualView = (
95
187
  <ViewNativeComponent
96
188
  {...otherProps}
97
189
  accessibilityLiveRegion={
@@ -109,22 +201,15 @@ const View: component(
109
201
  : importantForAccessibility
110
202
  }
111
203
  nativeID={id ?? nativeID}
112
- ref={forwardedRef}
204
+ ref={ref}
113
205
  />
114
206
  );
207
+ }
115
208
 
116
- if (hasTextAncestor) {
117
- return (
118
- <TextAncestor.Provider value={false}>
119
- {actualView}
120
- </TextAncestor.Provider>
121
- );
122
- }
123
-
124
- return actualView;
125
- },
126
- );
127
-
128
- View.displayName = 'View';
129
-
130
- export default View;
209
+ if (hasTextAncestor) {
210
+ return (
211
+ <TextAncestorContext value={false}>{actualView}</TextAncestorContext>
212
+ );
213
+ }
214
+ return actualView;
215
+ }
@@ -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 type {ViewProps} from './ViewPropTypes';
@@ -18,8 +18,6 @@ import invariant from 'invariant'; // [Windows]
18
18
  import type {KeyEvent} from '../../Types/CoreEventTypes';
19
19
  // Windows]
20
20
 
21
- export type Props = ViewProps;
22
-
23
21
  /**
24
22
  * The most fundamental component for building a UI, View is a container that
25
23
  * supports layout with flexbox, style, some touch handling, and accessibility
@@ -119,6 +117,10 @@ const View: component(
119
117
  for (const el of otherProps.keyDownEvents) {
120
118
  if (
121
119
  event.nativeEvent.code === el.code &&
120
+ event.nativeEvent.ctrlKey === Boolean(el.ctrlKey) &&
121
+ event.nativeEvent.shiftKey === Boolean(el.shiftKey) &&
122
+ event.nativeEvent.altKey === Boolean(el.altKey) &&
123
+ event.nativeEvent.metaKey === Boolean(el.metaKey) &&
122
124
  el.handledEventPhase === 3
123
125
  ) {
124
126
  event.stopPropagation();
@@ -134,6 +136,10 @@ const View: component(
134
136
  for (const el of otherProps.keyUpEvents) {
135
137
  if (
136
138
  event.nativeEvent.code === el.code &&
139
+ event.nativeEvent.ctrlKey === Boolean(el.ctrlKey) &&
140
+ event.nativeEvent.shiftKey === Boolean(el.shiftKey) &&
141
+ event.nativeEvent.altKey === Boolean(el.altKey) &&
142
+ event.nativeEvent.metaKey === Boolean(el.metaKey) &&
137
143
  el.handledEventPhase === 3
138
144
  ) {
139
145
  event.stopPropagation();
@@ -149,6 +155,10 @@ const View: component(
149
155
  for (const el of otherProps.keyDownEvents) {
150
156
  if (
151
157
  event.nativeEvent.code === el.code &&
158
+ event.nativeEvent.ctrlKey === Boolean(el.ctrlKey) &&
159
+ event.nativeEvent.shiftKey === Boolean(el.shiftKey) &&
160
+ event.nativeEvent.altKey === Boolean(el.altKey) &&
161
+ event.nativeEvent.metaKey === Boolean(el.metaKey) &&
152
162
  el.handledEventPhase === 1
153
163
  ) {
154
164
  event.stopPropagation();
@@ -164,6 +174,10 @@ const View: component(
164
174
  for (const el of otherProps.keyUpEvents) {
165
175
  if (
166
176
  event.nativeEvent.code === el.code &&
177
+ event.nativeEvent.ctrlKey === Boolean(el.ctrlKey) &&
178
+ event.nativeEvent.shiftKey === Boolean(el.shiftKey) &&
179
+ event.nativeEvent.altKey === Boolean(el.altKey) &&
180
+ event.nativeEvent.metaKey === Boolean(el.metaKey) &&
167
181
  el.handledEventPhase === 1
168
182
  ) {
169
183
  event.stopPropagation();
@@ -417,6 +417,7 @@ export type AccessibilityAnnotationInfo = Readonly<{
417
417
  author?: string;
418
418
  dateTime?: string;
419
419
  target?: string;
420
+ replyCount?: number;
420
421
  }>;
421
422
 
422
423
  // [Win32]