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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (513) hide show
  1. package/.flowconfig +10 -4
  2. package/CHANGELOG.json +127 -13
  3. package/CHANGELOG.md +49 -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,6 +10,7 @@
10
10
  import type * as React from 'react';
11
11
  import {Constructor} from '../../../types/private/Utilities';
12
12
  import {Insets} from '../../../types/public/Insets';
13
+ import {HostInstance} from '../../../types/public/ReactNativeTypes';
13
14
  import {ColorValue, StyleProp} from '../../StyleSheet/StyleSheet';
14
15
  import {ViewStyle} from '../../StyleSheet/StyleSheetTypes';
15
16
  import {
@@ -19,6 +20,7 @@ import {
19
20
  import {RefreshControlProps} from '../RefreshControl/RefreshControl';
20
21
  import {Touchable} from '../Touchable/Touchable';
21
22
  import {ViewProps} from '../View/ViewPropTypes';
23
+ import {View} from '../View/View';
22
24
 
23
25
  // See https://reactnative.dev/docs/scrollview#contentoffset
24
26
  export interface PointProp {
@@ -565,16 +567,20 @@ export interface ScrollViewPropsAndroid {
565
567
  nestedScrollEnabled?: boolean | undefined;
566
568
 
567
569
  /**
568
- * Fades out the edges of the scroll content.
570
+ * Controls the fading effect at the edges of the scroll content.
569
571
  *
570
- * If the value is greater than 0, the fading edges will be set accordingly
571
- * to the current scroll direction and position,
572
- * indicating if there is more content to show.
572
+ * A value greater than 0 will apply the fading effect, indicating more content is available
573
+ * to scroll.
574
+ *
575
+ * You can specify a single number to apply the same fading length to both edges.
576
+ * Alternatively, use an object with `start` and `end` properties to set different
577
+ * fading lengths for the start and end of the scroll content.
573
578
  *
574
579
  * The default value is 0.
580
+ *
575
581
  * @platform android
576
582
  */
577
- fadingEdgeLength?: number | undefined;
583
+ fadingEdgeLength?: number | {start: number; end: number} | undefined;
578
584
 
579
585
  /**
580
586
  * Causes the scrollbars not to turn transparent when they are not in use. The default value is false.
@@ -604,6 +610,19 @@ export interface ScrollViewProps
604
610
  */
605
611
  contentContainerStyle?: StyleProp<ViewStyle> | undefined;
606
612
 
613
+ /**
614
+ * A ref to the inner View element of the ScrollView. This should be used
615
+ * instead of calling `getInnerViewRef`.
616
+ */
617
+ innerViewRef?: React.RefObject<View> | undefined;
618
+
619
+ /**
620
+ * A ref to the Native ScrollView component. This ref can be used to call
621
+ * all of ScrollView's public methods, in addition to native methods like
622
+ * measure, measureLayout, etc.
623
+ */
624
+ scrollViewRef?: React.RefObject<ScrollView> | undefined;
625
+
607
626
  /**
608
627
  * A floating-point number that determines how quickly the scroll view
609
628
  * decelerates after the user lifts their finger. You may also use string
@@ -659,7 +678,9 @@ export interface ScrollViewProps
659
678
  * It's implemented using onLayout handler attached to the content container which this ScrollView renders.
660
679
  *
661
680
  */
662
- onContentSizeChange?: ((w: number, h: number) => void) | undefined;
681
+ onContentSizeChange?:
682
+ | ((contentWidth: number, contentHeight: number) => void)
683
+ | undefined;
663
684
 
664
685
  /**
665
686
  * Fires at most once per frame during scrolling.
@@ -860,6 +881,12 @@ export class ScrollView extends ScrollViewBase {
860
881
  // Undocumented
861
882
  getInnerViewNode(): any;
862
883
 
884
+ /**
885
+ * Returns a reference to the underlying native scroll view, or null if the
886
+ * native instance is not mounted.
887
+ */
888
+ getNativeScrollRef: () => HostInstance | null;
889
+
863
890
  /**
864
891
  * @deprecated Use scrollTo instead
865
892
  */
@@ -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 {HostInstance} from '../../../src/private/types/HostInstance';
@@ -52,6 +52,7 @@ import invariant from 'invariant';
52
52
  import memoize from 'memoize-one';
53
53
  import nullthrows from 'nullthrows';
54
54
  import * as React from 'react';
55
+ import {cloneElement} from 'react';
55
56
 
56
57
  /*
57
58
  * iOS scroll event timing nuances:
@@ -372,17 +373,20 @@ export type ScrollViewPropsAndroid = $ReadOnly<{
372
373
  */
373
374
  persistentScrollbar?: ?boolean,
374
375
  /**
375
- * Fades out the edges of the scroll content.
376
+ * Controls the fading effect at the edges of the scroll content.
377
+ *
378
+ * A value greater than 0 will apply the fading effect, indicating more content is available
379
+ * to scroll.
376
380
  *
377
- * If the value is greater than 0, the fading edges will be set accordingly
378
- * to the current scroll direction and position,
379
- * indicating if there is more content to show.
381
+ * You can specify a single number to apply the same fading length to both edges.
382
+ * Alternatively, use an object with `start` and `end` properties to set different
383
+ * fading lengths for the start and end of the scroll content.
380
384
  *
381
385
  * The default value is 0.
382
386
  *
383
387
  * @platform android
384
388
  */
385
- fadingEdgeLength?: ?number,
389
+ fadingEdgeLength?: ?number | {start: number, end: number},
386
390
  }>;
387
391
 
388
392
  type StickyHeaderComponentType = component(
@@ -669,7 +673,7 @@ type ScrollViewBaseProps = $ReadOnly<{
669
673
  }>;
670
674
 
671
675
  export type ScrollViewProps = $ReadOnly<{
672
- ...ViewProps,
676
+ ...Omit<ViewProps, 'experimental_accessibilityOrder'>,
673
677
  ...ScrollViewPropsIOS,
674
678
  ...ScrollViewPropsAndroid,
675
679
  ...ScrollViewBaseProps,
@@ -1476,6 +1480,7 @@ class ScrollView extends React.Component<ScrollViewProps, ScrollViewState> {
1476
1480
  // then the second tap goes to the actual interior view)
1477
1481
  const {keyboardShouldPersistTaps} = this.props;
1478
1482
  const keyboardNeverPersistTaps =
1483
+ // $FlowFixMe[sketchy-null-bool]
1479
1484
  !keyboardShouldPersistTaps || keyboardShouldPersistTaps === 'never';
1480
1485
 
1481
1486
  if (typeof e.target === 'number') {
@@ -1558,6 +1563,7 @@ class ScrollView extends React.Component<ScrollViewProps, ScrollViewState> {
1558
1563
 
1559
1564
  const {keyboardShouldPersistTaps} = this.props;
1560
1565
  const keyboardNeverPersistsTaps =
1566
+ // $FlowFixMe[sketchy-null-bool]
1561
1567
  !keyboardShouldPersistTaps || keyboardShouldPersistTaps === 'never';
1562
1568
 
1563
1569
  // Dismiss the keyboard now if we didn't become responder in capture phase
@@ -1642,7 +1648,9 @@ class ScrollView extends React.Component<ScrollViewProps, ScrollViewState> {
1642
1648
  if (__DEV__ && this.props.style !== undefined) {
1643
1649
  // $FlowFixMe[underconstrained-implicit-instantiation]
1644
1650
  const style = flattenStyle(this.props.style);
1645
- const childLayoutProps = ['alignItems', 'justifyContent'].filter(
1651
+ const childLayoutProps = (
1652
+ ['alignItems', 'justifyContent'] as const
1653
+ ).filter(
1646
1654
  // $FlowFixMe[incompatible-use]
1647
1655
  prop => style && style[prop] !== undefined,
1648
1656
  );
@@ -1827,7 +1835,7 @@ class ScrollView extends React.Component<ScrollViewProps, ScrollViewState> {
1827
1835
  // however, the ScrollView still needs the baseStyle to be scrollable
1828
1836
  const {outer, inner} = splitLayoutProps(flattenStyle(props.style));
1829
1837
  // $FlowFixMe[incompatible-call]
1830
- return React.cloneElement(
1838
+ return cloneElement(
1831
1839
  refreshControl,
1832
1840
  {style: StyleSheet.compose(baseStyle, outer)},
1833
1841
  <NativeScrollView
@@ -1907,23 +1915,25 @@ function createRefForwarder<TNativeInstance, TPublicInstance>(
1907
1915
  return state;
1908
1916
  }
1909
1917
 
1910
- // TODO: After upgrading to React 19, remove `forwardRef` from this component.
1911
1918
  // NOTE: This wrapper component is necessary because `ScrollView` is a class
1912
1919
  // component and we need to map `ref` to a differently named prop. This can be
1913
1920
  // removed when `ScrollView` is a functional component.
1914
1921
  const ScrollViewWrapper: component(
1915
1922
  ref?: React.RefSetter<PublicScrollViewInstance>,
1916
1923
  ...props: ScrollViewProps
1917
- ) = React.forwardRef(function Wrapper(
1918
- props: ScrollViewProps,
1919
- ref: ?React.RefSetter<PublicScrollViewInstance>,
1920
- ): React.Node {
1924
+ ) = function Wrapper({
1925
+ ref,
1926
+ ...props
1927
+ }: {
1928
+ ref?: React.RefSetter<PublicScrollViewInstance>,
1929
+ ...ScrollViewProps,
1930
+ }): React.Node {
1921
1931
  return ref == null ? (
1922
1932
  <ScrollView {...props} />
1923
1933
  ) : (
1924
1934
  <ScrollView {...props} scrollViewRef={ref} />
1925
1935
  );
1926
- });
1936
+ };
1927
1937
  ScrollViewWrapper.displayName = 'ScrollView';
1928
1938
  // $FlowExpectedError[prop-missing]
1929
1939
  ScrollViewWrapper.Context = ScrollViewContext;
@@ -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 {HostComponent} from '../../../src/private/types/HostComponent';
@@ -9,10 +9,11 @@
9
9
  */
10
10
 
11
11
  import * as React from 'react';
12
+ import {createContext} from 'react';
12
13
 
13
14
  type Value = {horizontal: boolean} | null;
14
15
 
15
- const ScrollViewContext: React.Context<Value> = React.createContext(null);
16
+ const ScrollViewContext: React.Context<Value> = createContext(null);
16
17
  if (__DEV__) {
17
18
  ScrollViewContext.displayName = 'ScrollViewContext';
18
19
  }
@@ -42,7 +42,7 @@ export type ScrollViewNativeProps = $ReadOnly<{
42
42
  directionalLockEnabled?: ?boolean,
43
43
  disableIntervalMomentum?: ?boolean,
44
44
  endFillColor?: ?ColorValue,
45
- fadingEdgeLength?: ?number,
45
+ fadingEdgeLength?: ?number | {start: number, end: number},
46
46
  indicatorStyle?: ?('default' | 'black' | 'white'),
47
47
  isInvertedVirtualizedList?: ?boolean,
48
48
  keyboardDismissMode?: ?('none' | 'on-drag' | 'interactive'),
@@ -16,7 +16,14 @@ import StyleSheet from '../../StyleSheet/StyleSheet';
16
16
  import Platform from '../../Utilities/Platform';
17
17
  import useMergeRefs from '../../Utilities/useMergeRefs';
18
18
  import * as React from 'react';
19
- import {useCallback, useEffect, useMemo, useRef, useState} from 'react';
19
+ import {
20
+ cloneElement,
21
+ useCallback,
22
+ useEffect,
23
+ useMemo,
24
+ useRef,
25
+ useState,
26
+ } from 'react';
20
27
 
21
28
  export type ScrollViewStickyHeaderProps = $ReadOnly<{
22
29
  children?: React.Node,
@@ -36,10 +43,16 @@ interface Instance extends React.ElementRef<typeof Animated.View> {
36
43
  +setNextHeaderY: number => void;
37
44
  }
38
45
 
39
- const ScrollViewStickyHeaderWithForwardedRef: component(
46
+ const ScrollViewStickyHeader: component(
40
47
  ref: React.RefSetter<Instance>,
41
48
  ...props: ScrollViewStickyHeaderProps
42
- ) = React.forwardRef(function ScrollViewStickyHeader(props, forwardedRef) {
49
+ ) = function ScrollViewStickyHeader({
50
+ ref: forwardedRef,
51
+ ...props
52
+ }: {
53
+ ref?: React.RefSetter<Instance>,
54
+ ...ScrollViewStickyHeaderProps,
55
+ }) {
43
56
  const {
44
57
  inverted,
45
58
  scrollViewHeight,
@@ -289,13 +302,13 @@ const ScrollViewStickyHeaderWithForwardedRef: component(
289
302
  passthroughAnimatedPropExplicitValues={
290
303
  passthroughAnimatedPropExplicitValues
291
304
  }>
292
- {React.cloneElement(child, {
305
+ {cloneElement(child, {
293
306
  style: styles.fill, // We transfer the child style to the wrapper.
294
307
  onLayout: undefined, // we call this manually through our this._onLayout
295
308
  })}
296
309
  </Animated.View>
297
310
  );
298
- });
311
+ };
299
312
 
300
313
  const styles = StyleSheet.create({
301
314
  header: {
@@ -306,4 +319,4 @@ const styles = StyleSheet.create({
306
319
  },
307
320
  });
308
321
 
309
- export default ScrollViewStickyHeaderWithForwardedRef;
322
+ export default ScrollViewStickyHeader;
@@ -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 Platform from '../../Utilities/Platform';
@@ -9,5 +9,4 @@
9
9
  */
10
10
 
11
11
  export * from '../../../src/private/specs_DEPRECATED/modules/NativeSoundManager';
12
- import NativeSoundManager from '../../../src/private/specs_DEPRECATED/modules/NativeSoundManager';
13
- export default NativeSoundManager;
12
+ export {default} from '../../../src/private/specs_DEPRECATED/modules/NativeSoundManager';
@@ -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
8
+ * @format
9
9
  */
10
10
 
11
11
  import NativeSoundManager from './NativeSoundManager';
@@ -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';
@@ -9,5 +9,4 @@
9
9
  */
10
10
 
11
11
  export * from '../../../src/private/specs_DEPRECATED/modules/NativeStatusBarManagerAndroid';
12
- import NativeStatusBarManagerAndroid from '../../../src/private/specs_DEPRECATED/modules/NativeStatusBarManagerAndroid';
13
- export default NativeStatusBarManagerAndroid;
12
+ export {default} from '../../../src/private/specs_DEPRECATED/modules/NativeStatusBarManagerAndroid';
@@ -9,5 +9,4 @@
9
9
  */
10
10
 
11
11
  export * from '../../../src/private/specs_DEPRECATED/modules/NativeStatusBarManagerIOS';
12
- import NativeStatusBarManagerIOS from '../../../src/private/specs_DEPRECATED/modules/NativeStatusBarManagerIOS';
13
- export default NativeStatusBarManagerIOS;
12
+ export {default} from '../../../src/private/specs_DEPRECATED/modules/NativeStatusBarManagerIOS';
@@ -35,6 +35,8 @@ export interface StatusBarPropsAndroid {
35
35
  /**
36
36
  * The background color of the status bar.
37
37
  *
38
+ * Please note that this prop has no effect on Android 15+
39
+ *
38
40
  * @platform android
39
41
  */
40
42
  backgroundColor?: ColorValue | undefined;
@@ -44,6 +46,8 @@ export interface StatusBarPropsAndroid {
44
46
  * the app will draw under the status bar. This is useful when using a
45
47
  * semi transparent status bar color.
46
48
  *
49
+ * Please note that this prop has no effect on Android 15+
50
+ *
47
51
  * @platform android
48
52
  */
49
53
  translucent?: boolean | undefined;
@@ -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
  import type {ColorValue} from '../../StyleSheet/StyleSheet';
@@ -58,6 +58,9 @@ export type StatusBarAnimation = $Keys<{
58
58
  export type StatusBarPropsAndroid = $ReadOnly<{
59
59
  /**
60
60
  * The background color of the status bar.
61
+ *
62
+ * Please note that this prop has no effect on Android 15+
63
+ *
61
64
  * @platform android
62
65
  */
63
66
  backgroundColor?: ?ColorValue,
@@ -66,6 +69,8 @@ export type StatusBarPropsAndroid = $ReadOnly<{
66
69
  * When translucent is set to true, the app will draw under the status bar.
67
70
  * This is useful when using a semi transparent status bar color.
68
71
  *
72
+ * Please note that this prop has no effect on Android 15+
73
+ *
69
74
  * @platform android
70
75
  */
71
76
  translucent?: ?boolean,
@@ -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/AndroidSwitchNativeComponent';
12
- import AndroidSwitchNativeComponent from '../../../src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent';
13
- export default AndroidSwitchNativeComponent;
12
+ export {default} from '../../../src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent';
@@ -10,6 +10,7 @@
10
10
 
11
11
  import type {ColorValue} from '../../StyleSheet/StyleSheet';
12
12
  import type {NativeSyntheticEvent} from '../../Types/CoreEventTypes';
13
+ import type {AccessibilityState} from '../View/ViewAccessibility';
13
14
  import type {ViewProps} from '../View/ViewPropTypes';
14
15
 
15
16
  import StyleSheet from '../../StyleSheet/StyleSheet';
@@ -165,7 +166,13 @@ type SwitchRef = React.ElementRef<
165
166
  const Switch: component(
166
167
  ref?: React.RefSetter<SwitchRef>,
167
168
  ...props: SwitchProps
168
- ) = React.forwardRef(function Switch(props, forwardedRef): React.Node {
169
+ ) = function Switch({
170
+ ref: forwardedRef,
171
+ ...props
172
+ }: {
173
+ ref?: React.RefSetter<SwitchRef>,
174
+ ...SwitchProps,
175
+ }): React.Node {
169
176
  const {
170
177
  disabled,
171
178
  ios_backgroundColor,
@@ -225,7 +232,7 @@ const Switch: component(
225
232
  const _disabled =
226
233
  disabled != null ? disabled : accessibilityState?.disabled;
227
234
 
228
- const _accessibilityState =
235
+ const _accessibilityState: ?AccessibilityState =
229
236
  _disabled !== accessibilityState?.disabled
230
237
  ? {...accessibilityState, disabled: _disabled}
231
238
  : accessibilityState;
@@ -285,6 +292,6 @@ const Switch: component(
285
292
  />
286
293
  );
287
294
  }
288
- });
295
+ };
289
296
 
290
297
  export default Switch;
@@ -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/SwitchNativeComponent';
12
- import SwitchNativeComponent from '../../../src/private/specs_DEPRECATED/components/SwitchNativeComponent';
13
- export default SwitchNativeComponent;
12
+ export {default} from '../../../src/private/specs_DEPRECATED/components/SwitchNativeComponent';
@@ -10,11 +10,7 @@
10
10
 
11
11
  import type {HostComponent} from '../../../src/private/types/HostComponent';
12
12
  import type {PartialViewConfig} from '../../Renderer/shims/ReactNativeTypes';
13
- import type {
14
- ColorValue,
15
- TextStyleProp,
16
- ViewStyleProp,
17
- } from '../../StyleSheet/StyleSheet';
13
+ import type {ColorValue, TextStyleProp} from '../../StyleSheet/StyleSheet';
18
14
  import type {
19
15
  BubblingEventHandler,
20
16
  DirectEventHandler,
@@ -67,7 +63,7 @@ export type ReturnKeyType =
67
63
 
68
64
  export type SubmitBehavior = 'submit' | 'blurAndSubmit' | 'newline';
69
65
 
70
- export type NativeProps = $ReadOnly<{
66
+ export type AndroidTextInputNativeProps = $ReadOnly<{
71
67
  // This allows us to inherit everything from ViewProps except for style (see below)
72
68
  // This must be commented for Fabric codegen to work.
73
69
  ...Omit<ViewProps, 'style'>,
@@ -610,7 +606,7 @@ export type NativeProps = $ReadOnly<{
610
606
  text?: ?string,
611
607
  }>;
612
608
 
613
- type NativeType = HostComponent<NativeProps>;
609
+ type NativeType = HostComponent<AndroidTextInputNativeProps>;
614
610
 
615
611
  type NativeCommands = TextInputNativeCommands<NativeType>;
616
612
 
@@ -621,24 +617,12 @@ export const Commands: NativeCommands = codegenNativeCommands<NativeCommands>({
621
617
  export const __INTERNAL_VIEW_CONFIG: PartialViewConfig = {
622
618
  uiViewClassName: 'AndroidTextInput',
623
619
  bubblingEventTypes: {
624
- topBlur: {
625
- phasedRegistrationNames: {
626
- bubbled: 'onBlur',
627
- captured: 'onBlurCapture',
628
- },
629
- },
630
620
  topEndEditing: {
631
621
  phasedRegistrationNames: {
632
622
  bubbled: 'onEndEditing',
633
623
  captured: 'onEndEditingCapture',
634
624
  },
635
625
  },
636
- topFocus: {
637
- phasedRegistrationNames: {
638
- bubbled: 'onFocus',
639
- captured: 'onFocusCapture',
640
- },
641
- },
642
626
  topKeyPress: {
643
627
  phasedRegistrationNames: {
644
628
  bubbled: 'onKeyPress',
@@ -741,10 +725,11 @@ export const __INTERNAL_VIEW_CONFIG: PartialViewConfig = {
741
725
  },
742
726
  };
743
727
 
744
- let AndroidTextInputNativeComponent = NativeComponentRegistry.get<NativeProps>(
745
- 'AndroidTextInput',
746
- () => __INTERNAL_VIEW_CONFIG,
747
- );
728
+ let AndroidTextInputNativeComponent =
729
+ NativeComponentRegistry.get<AndroidTextInputNativeProps>(
730
+ 'AndroidTextInput',
731
+ () => __INTERNAL_VIEW_CONFIG,
732
+ );
748
733
 
749
734
  // flowlint-next-line unclear-type:off
750
- export default ((AndroidTextInputNativeComponent: any): HostComponent<NativeProps>);
735
+ export default ((AndroidTextInputNativeComponent: any): HostComponent<AndroidTextInputNativeProps>);
@@ -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/RCTInputAccessoryViewNativeComponent';
12
- import RCTInputAccessoryViewNativeComponent from '../../../src/private/specs_DEPRECATED/components/RCTInputAccessoryViewNativeComponent';
13
- export default RCTInputAccessoryViewNativeComponent;
12
+ export {default} from '../../../src/private/specs_DEPRECATED/components/RCTInputAccessoryViewNativeComponent';
@@ -14,7 +14,7 @@ import {ConditionallyIgnoredEventHandlers} from '../../NativeComponent/ViewConfi
14
14
 
15
15
  type PartialViewConfigWithoutName = Omit<PartialViewConfig, 'uiViewClassName'>;
16
16
 
17
- const RCTTextInputViewConfig = {
17
+ const RCTTextInputViewConfig: PartialViewConfigWithoutName = {
18
18
  bubblingEventTypes: {
19
19
  topBlur: {
20
20
  phasedRegistrationNames: {
@@ -17,6 +17,8 @@ import {
17
17
  import {ColorValue, StyleProp} from '../../StyleSheet/StyleSheet';
18
18
  import {TextStyle} from '../../StyleSheet/StyleSheetTypes';
19
19
  import {
20
+ BlurEvent,
21
+ FocusEvent,
20
22
  NativeSyntheticEvent,
21
23
  NativeTouchEvent,
22
24
  TargetedEvent,
@@ -455,7 +457,7 @@ export interface TextInputAndroidProps {
455
457
  }
456
458
 
457
459
  /**
458
- * @deprecated Use `TextInputFocusEvent` instead
460
+ * @deprecated Use `FocusEvent` instead
459
461
  */
460
462
  export interface TextInputFocusEventData extends TargetedEvent {
461
463
  text: string;
@@ -464,6 +466,7 @@ export interface TextInputFocusEventData extends TargetedEvent {
464
466
 
465
467
  /**
466
468
  * @see TextInputProps.onFocus
469
+ * @deprecated Use `FocusEvent` instead
467
470
  */
468
471
  export type TextInputFocusEvent = NativeSyntheticEvent<TextInputFocusEventData>;
469
472
 
@@ -809,8 +812,11 @@ export interface TextInputProps
809
812
 
810
813
  /**
811
814
  * Callback that is called when the text input is blurred
815
+ *
816
+ * Note: If you are trying to find the last value of TextInput, you can use the `onEndEditing`
817
+ * event, which is fired upon completion of editing.
812
818
  */
813
- onBlur?: ((e: TextInputFocusEvent) => void) | undefined;
819
+ onBlur?: ((e: BlurEvent) => void) | undefined;
814
820
 
815
821
  /**
816
822
  * Callback that is called when the text input's text changes.
@@ -859,7 +865,7 @@ export interface TextInputProps
859
865
  /**
860
866
  * Callback that is called when the text input is focused
861
867
  */
862
- onFocus?: ((e: TextInputFocusEvent) => void) | undefined;
868
+ onFocus?: ((e: FocusEvent) => void) | undefined;
863
869
 
864
870
  /**
865
871
  * Callback that is called when the text input selection is changed.