react-native-tvos 0.76.6-0 → 0.77.0-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1063) hide show
  1. package/Libraries/ActionSheetIOS/ActionSheetIOS.d.ts +1 -0
  2. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +13 -0
  3. package/Libraries/Animated/AnimatedEvent.js +1 -1
  4. package/Libraries/Animated/AnimatedImplementation.js +2 -2
  5. package/Libraries/Animated/NativeAnimatedAllowlist.js +20 -9
  6. package/Libraries/Animated/animations/Animation.js +60 -25
  7. package/Libraries/Animated/animations/DecayAnimation.js +26 -38
  8. package/Libraries/Animated/animations/SpringAnimation.js +33 -39
  9. package/Libraries/Animated/animations/TimingAnimation.js +34 -42
  10. package/Libraries/Animated/components/AnimatedFlatList.js +1 -1
  11. package/Libraries/Animated/components/AnimatedSectionList.js +3 -1
  12. package/Libraries/Animated/createAnimatedComponent.js +60 -33
  13. package/Libraries/Animated/nodes/AnimatedColor.js +1 -1
  14. package/Libraries/Animated/nodes/AnimatedInterpolation.js +1 -1
  15. package/Libraries/Animated/nodes/AnimatedNode.js +39 -45
  16. package/Libraries/Animated/nodes/AnimatedObject.js +13 -3
  17. package/Libraries/Animated/nodes/AnimatedProps.js +104 -46
  18. package/Libraries/Animated/nodes/AnimatedStyle.js +116 -39
  19. package/Libraries/Animated/nodes/AnimatedTransform.js +56 -23
  20. package/Libraries/Animated/nodes/AnimatedValue.js +1 -1
  21. package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -3
  22. package/Libraries/Animated/useAnimatedProps.js +41 -35
  23. package/Libraries/AppDelegate/RCTAppDelegate.h +10 -64
  24. package/Libraries/AppDelegate/RCTAppDelegate.mm +23 -21
  25. package/Libraries/AppDelegate/RCTAppSetupUtils.h +5 -1
  26. package/Libraries/AppDelegate/RCTAppSetupUtils.mm +8 -14
  27. package/Libraries/AppDelegate/RCTArchConfiguratorProtocol.h +32 -0
  28. package/Libraries/AppDelegate/RCTDependencyProvider.h +26 -0
  29. package/Libraries/AppDelegate/RCTRootViewFactory.h +6 -2
  30. package/Libraries/AppDelegate/RCTRootViewFactory.mm +27 -43
  31. package/Libraries/AppDelegate/RCTUIConfiguratorProtocol.h +56 -0
  32. package/Libraries/AppDelegate/React-RCTAppDelegate.podspec +2 -1
  33. package/Libraries/Blob/React-RCTBlob.podspec +3 -1
  34. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +19 -3
  35. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +77 -5
  36. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +4 -4
  37. package/Libraries/Components/Button.js +9 -4
  38. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +3 -1
  39. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +7 -0
  40. package/Libraries/Components/Pressable/Pressable.d.ts +1 -1
  41. package/Libraries/Components/Pressable/Pressable.js +7 -7
  42. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +13 -7
  43. package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +3 -2
  44. package/Libraries/Components/SafeAreaView/SafeAreaView.js +4 -4
  45. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +0 -1
  46. package/Libraries/Components/ScrollView/ScrollView.js +51 -90
  47. package/Libraries/Components/ScrollView/ScrollViewCommands.js +1 -1
  48. package/Libraries/Components/ScrollView/ScrollViewContext.js +2 -0
  49. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +0 -2
  50. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +8 -9
  51. package/Libraries/Components/Switch/Switch.js +8 -6
  52. package/Libraries/Components/TV/TVFocusGuideView.js +2 -5
  53. package/Libraries/Components/TextInput/InputAccessoryView.js +1 -1
  54. package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +4 -4
  55. package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +6 -4
  56. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +2 -1
  57. package/Libraries/Components/TextInput/TextInput.d.ts +27 -4
  58. package/Libraries/Components/TextInput/TextInput.flow.js +36 -19
  59. package/Libraries/Components/TextInput/TextInput.js +38 -14
  60. package/Libraries/Components/TextInput/TextInputState.js +11 -13
  61. package/Libraries/Components/Touchable/BoundingDimensions.js +11 -3
  62. package/Libraries/Components/Touchable/Position.js +7 -2
  63. package/Libraries/Components/Touchable/Touchable.js +4 -0
  64. package/Libraries/Components/Touchable/TouchableBounce.js +6 -2
  65. package/Libraries/Components/Touchable/TouchableHighlight.js +5 -5
  66. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +1 -1
  67. package/Libraries/Components/Touchable/TouchableOpacity.js +7 -7
  68. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +1 -2
  69. package/Libraries/Components/View/ReactNativeStyleAttributes.js +6 -1
  70. package/Libraries/Components/View/View.js +6 -11
  71. package/Libraries/Components/View/ViewNativeComponent.js +8 -111
  72. package/Libraries/Components/View/ViewPropTypes.d.ts +7 -0
  73. package/Libraries/Components/View/ViewPropTypes.js +0 -3
  74. package/Libraries/Core/ExceptionsManager.js +50 -29
  75. package/Libraries/Core/ReactNativeVersion.js +2 -2
  76. package/Libraries/Core/__mocks__/NativeExceptionsManager.js +0 -1
  77. package/Libraries/Core/setUpBatchedBridge.js +1 -10
  78. package/Libraries/Core/setUpDeveloperTools.js +1 -5
  79. package/Libraries/Core/setUpErrorHandling.js +20 -18
  80. package/Libraries/Core/setUpReactDevTools.js +107 -8
  81. package/Libraries/Core/setUpSegmentFetcher.js +1 -0
  82. package/Libraries/Core/setUpTimers.js +21 -18
  83. package/Libraries/Debugging/DebuggingOverlay.js +4 -5
  84. package/Libraries/Image/AssetSourceResolver.js +12 -1
  85. package/Libraries/Image/Image.android.js +1 -5
  86. package/Libraries/Image/Image.d.ts +20 -29
  87. package/Libraries/Image/Image.ios.js +0 -2
  88. package/Libraries/Image/ImageBackground.js +2 -5
  89. package/Libraries/Image/ImageProps.js +7 -6
  90. package/Libraries/Image/ImageResizeMode.d.ts +8 -1
  91. package/Libraries/Image/ImageResizeMode.js +4 -1
  92. package/Libraries/Image/ImageSource.d.ts +0 -2
  93. package/Libraries/Image/ImageSource.js +0 -2
  94. package/Libraries/Image/ImageTypes.flow.js +11 -9
  95. package/Libraries/Image/ImageUtils.js +6 -3
  96. package/Libraries/Image/ImageViewNativeComponent.js +5 -3
  97. package/Libraries/Image/RCTImageUtils.mm +2 -0
  98. package/Libraries/Image/RCTResizeMode.h +4 -1
  99. package/Libraries/Image/RCTResizeMode.mm +1 -0
  100. package/Libraries/Image/React-RCTImage.podspec +1 -1
  101. package/Libraries/Inspector/Inspector.js +1 -0
  102. package/Libraries/Inspector/NetworkOverlay.js +4 -0
  103. package/Libraries/Inspector/ReactDevToolsOverlay.js +8 -14
  104. package/Libraries/Inspector/getInspectorDataForViewAtPoint.js +3 -5
  105. package/Libraries/Interaction/InteractionManager.js +6 -1
  106. package/Libraries/Interaction/InteractionManagerStub.js +176 -0
  107. package/Libraries/Interaction/TouchHistoryMath.js +22 -19
  108. package/Libraries/JSInspector/NetworkAgent.js +1 -1
  109. package/Libraries/LinkingIOS/RCTLinkingManager.mm +2 -1
  110. package/Libraries/LinkingIOS/React-RCTLinking.podspec +1 -1
  111. package/Libraries/Lists/FlatList.d.ts +1 -2
  112. package/Libraries/Lists/FlatList.js +2 -2
  113. package/Libraries/Lists/SectionListModern.js +7 -7
  114. package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +2 -2
  115. package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +1 -1
  116. package/Libraries/LogBox/Data/LogBoxData.js +3 -3
  117. package/Libraries/LogBox/LogBox.js +18 -5
  118. package/Libraries/LogBox/LogBoxInspectorContainer.js +1 -1
  119. package/Libraries/LogBox/LogBoxNotificationContainer.js +3 -3
  120. package/Libraries/LogBox/UI/AnsiHighlight.js +26 -17
  121. package/Libraries/LogBox/UI/LogBoxButton.js +2 -2
  122. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +6 -1
  123. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +1 -1
  124. package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +1 -1
  125. package/Libraries/LogBox/UI/LogBoxMessage.js +2 -2
  126. package/Libraries/LogBox/UI/LogBoxNotification.js +1 -1
  127. package/Libraries/Modal/Modal.d.ts +12 -0
  128. package/Libraries/Modal/Modal.js +31 -4
  129. package/Libraries/NativeAnimation/React-RCTAnimation.podspec +1 -1
  130. package/Libraries/NativeComponent/BaseViewConfig.android.js +72 -1
  131. package/Libraries/NativeComponent/BaseViewConfig.ios.js +2 -1
  132. package/Libraries/NativeComponent/NativeComponentRegistry.js +3 -3
  133. package/Libraries/NativeComponent/StaticViewConfigValidator.js +0 -1
  134. package/Libraries/NativeComponent/TVViewConfig.js +1 -0
  135. package/Libraries/Network/FormData.js +11 -3
  136. package/Libraries/Network/React-RCTNetwork.podspec +1 -1
  137. package/Libraries/Network/XHRInterceptor.js +63 -14
  138. package/Libraries/Network/XMLHttpRequest.js +26 -1
  139. package/Libraries/NewAppScreen/components/HermesBadge.js +1 -1
  140. package/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +49 -2
  141. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +4 -4
  142. package/Libraries/Pressability/HoverState.js +2 -0
  143. package/Libraries/Pressability/Pressability.js +4 -5
  144. package/Libraries/Pressability/usePressability.js +4 -1
  145. package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +1 -1
  146. package/Libraries/ReactNative/AppContainer.js +1 -1
  147. package/Libraries/ReactNative/AppRegistry.js +1 -11
  148. package/Libraries/ReactNative/DisplayMode.js +1 -1
  149. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +2 -3
  150. package/Libraries/ReactNative/RendererImplementation.js +18 -17
  151. package/Libraries/ReactNative/getCachedComponentWithDebugName.js +1 -3
  152. package/Libraries/ReactNative/renderApplication.js +9 -8
  153. package/Libraries/ReactNative/requireNativeComponent.js +5 -2
  154. package/Libraries/Renderer/shims/ReactFabric.js +3 -3
  155. package/Libraries/Renderer/shims/ReactFeatureFlags.js +2 -2
  156. package/Libraries/Renderer/shims/ReactNative.js +3 -3
  157. package/Libraries/Renderer/shims/ReactNativeTypes.js +22 -35
  158. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +5 -6
  159. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -2
  160. package/Libraries/Settings/React-RCTSettings.podspec +1 -1
  161. package/Libraries/StyleSheet/StyleSheet.js +7 -1
  162. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +13 -2
  163. package/Libraries/StyleSheet/StyleSheetTypes.js +24 -6
  164. package/Libraries/StyleSheet/processBackgroundImage.js +87 -110
  165. package/Libraries/StyleSheet/processTransform.js +3 -34
  166. package/Libraries/Text/RCTTextAttributes.h +1 -2
  167. package/Libraries/Text/RCTTextAttributes.mm +9 -13
  168. package/Libraries/Text/Text.js +248 -249
  169. package/Libraries/Text/TextInput/Multiline/RCTUITextView.h +1 -0
  170. package/Libraries/Text/TextInput/RCTBackedTextInputViewProtocol.h +1 -0
  171. package/Libraries/Text/TextInput/RCTBaseTextInputView.h +1 -0
  172. package/Libraries/Text/TextInput/RCTBaseTextInputView.mm +24 -2
  173. package/Libraries/Text/TextInput/RCTBaseTextInputViewManager.mm +1 -0
  174. package/Libraries/Text/TextInput/Singleline/RCTUITextField.h +1 -0
  175. package/Libraries/Text/TextNativeComponent.js +0 -1
  176. package/Libraries/TurboModule/TurboModuleRegistry.js +5 -5
  177. package/Libraries/Types/CoreEventTypes.d.ts +3 -10
  178. package/Libraries/Types/CoreEventTypes.js +4 -6
  179. package/Libraries/Utilities/Appearance.js +3 -1
  180. package/Libraries/Utilities/BackHandler.android.js +6 -18
  181. package/Libraries/Utilities/BackHandler.d.ts +0 -4
  182. package/Libraries/Utilities/BackHandler.ios.js +3 -16
  183. package/Libraries/Utilities/BackHandler.js.flow +0 -4
  184. package/Libraries/Utilities/HMRClient.js +3 -4
  185. package/Libraries/Utilities/Platform.flow.js +2 -2
  186. package/Libraries/Utilities/__mocks__/BackHandler.js +3 -8
  187. package/Libraries/Utilities/codegenNativeComponent.js +1 -1
  188. package/Libraries/Utilities/setAndForwardRef.js +2 -2
  189. package/Libraries/Utilities/useMergeRefs.js +26 -7
  190. package/Libraries/Vibration/React-RCTVibration.podspec +1 -1
  191. package/Libraries/WebSocket/WebSocketEvent.js +4 -1
  192. package/Libraries/WebSocket/WebSocketInterceptor.js +31 -13
  193. package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +6 -5
  194. package/Libraries/promiseRejectionTrackingOptions.js +1 -1
  195. package/React/Base/RCTBridge.h +3 -0
  196. package/React/Base/RCTBridge.mm +12 -11
  197. package/React/Base/RCTBridgeModule.h +1 -9
  198. package/React/Base/RCTBridgeProxy.h +3 -0
  199. package/React/Base/RCTBridgeProxy.mm +10 -0
  200. package/React/Base/RCTCallInvoker.mm +5 -0
  201. package/React/Base/RCTConstants.h +2 -12
  202. package/React/Base/RCTConstants.m +3 -31
  203. package/React/Base/RCTConvert.mm +3 -0
  204. package/React/Base/RCTKeyCommands.m +0 -2
  205. package/React/Base/RCTModuleData.h +1 -7
  206. package/React/Base/RCTModuleData.mm +27 -34
  207. package/React/Base/RCTModuleMethod.mm +1 -1
  208. package/React/Base/RCTTouchEvent.m +1 -1
  209. package/React/Base/RCTUtils.h +1 -1
  210. package/React/Base/RCTUtils.m +9 -10
  211. package/React/Base/RCTVersion.m +2 -2
  212. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.h +7 -0
  213. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.mm +2 -5
  214. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingView.h +1 -1
  215. package/React/CoreModules/PlatformStubs/RCTStatusBarManager.mm +57 -0
  216. package/React/CoreModules/RCTAccessibilityManager.h +1 -0
  217. package/React/CoreModules/RCTAccessibilityManager.mm +27 -0
  218. package/React/CoreModules/RCTActionSheetManager.mm +14 -7
  219. package/React/CoreModules/RCTAppearance.h +1 -1
  220. package/React/CoreModules/RCTAppearance.mm +8 -2
  221. package/React/CoreModules/RCTDevLoadingView.mm +42 -25
  222. package/React/CoreModules/RCTDevMenu.mm +5 -1
  223. package/{ReactAndroid/src/main/java/com/facebook/perftest/PerfTestConfig.java → React/CoreModules/RCTDevToolsRuntimeSettingsModule.h} +3 -7
  224. package/React/CoreModules/RCTDevToolsRuntimeSettingsModule.mm +58 -0
  225. package/React/CoreModules/RCTDeviceInfo.mm +4 -1
  226. package/React/CoreModules/RCTEventDispatcher.mm +1 -1
  227. package/React/CoreModules/RCTExceptionsManager.h +2 -6
  228. package/React/CoreModules/RCTExceptionsManager.mm +35 -30
  229. package/React/CoreModules/React-CoreModules.podspec +12 -2
  230. package/React/CxxBridge/RCTCxxBridge.mm +20 -23
  231. package/React/CxxModule/RCTCxxMethod.mm +10 -2
  232. package/React/DevSupport/RCTInspectorDevServerHelper.mm +1 -5
  233. package/React/DevSupport/RCTPackagerConnection.mm +11 -0
  234. package/React/DevSupport/RCTPausedInDebuggerOverlayController.mm +5 -1
  235. package/React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec-generated.mm +2395 -0
  236. package/React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec.h +2854 -0
  237. package/React/FBReactNativeSpec/FBReactNativeSpecJSI-generated.cpp +2982 -0
  238. package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +8201 -0
  239. package/React/Fabric/AppleEventBeat.cpp +31 -0
  240. package/{ReactCommon/react/renderer/scheduler/AsynchronousEventBeat.h → React/Fabric/AppleEventBeat.h} +8 -11
  241. package/React/Fabric/Mounting/ComponentViews/Image/RCTImageComponentView.mm +0 -8
  242. package/React/Fabric/Mounting/ComponentViews/Modal/RCTFabricModalHostViewController.mm +1 -1
  243. package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.h +0 -1
  244. package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.mm +1 -1
  245. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTEnhancedScrollView.mm +3 -1
  246. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +106 -59
  247. package/React/Fabric/Mounting/ComponentViews/Switch/RCTSwitchComponentView.mm +2 -1
  248. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +35 -15
  249. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.mm +9 -0
  250. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +161 -96
  251. package/React/Fabric/Mounting/RCTMountingManager.h +1 -1
  252. package/React/Fabric/Mounting/RCTMountingManager.mm +1 -2
  253. package/React/Fabric/RCTScheduler.h +3 -2
  254. package/React/Fabric/RCTScheduler.mm +5 -8
  255. package/React/Fabric/RCTSurfacePointerHandler.mm +8 -6
  256. package/React/Fabric/RCTSurfacePresenter.mm +6 -18
  257. package/React/Fabric/Surface/RCTFabricSurface.mm +7 -6
  258. package/React/Fabric/Utils/PlatformRunLoopObserver.h +6 -3
  259. package/React/Fabric/Utils/PlatformRunLoopObserver.mm +2 -5
  260. package/React/Fabric/Utils/RCTLinearGradient.h +19 -0
  261. package/React/Fabric/Utils/RCTLinearGradient.mm +134 -0
  262. package/React/I18n/FBXXHashUtils.h +10 -8
  263. package/React/Inspector/RCTCxxInspectorPackagerConnection.mm +3 -0
  264. package/React/Inspector/RCTCxxInspectorPackagerConnectionDelegate.mm +3 -0
  265. package/React/Inspector/RCTCxxInspectorWebSocketAdapter.mm +12 -1
  266. package/React/Inspector/RCTInspector.mm +1 -1
  267. package/React/Modules/{RCTUIManager.m → RCTUIManager.mm} +7 -4
  268. package/React/React-RCTFBReactNativeSpec.podspec +87 -0
  269. package/React/React-RCTFabric.podspec +3 -1
  270. package/React/Tests/Text/RCTAttributedTextUtilsTest.mm +274 -0
  271. package/React/Tests/Text/RCTParagraphComponentViewTests.mm +20 -20
  272. package/React/Tests/Text/RCTTextAttributesTest.mm +49 -0
  273. package/React/Views/RCTBorderDrawing.h +5 -5
  274. package/React/Views/RCTBorderDrawing.m +21 -23
  275. package/React/Views/{RCTComponentData.m → RCTComponentData.mm} +5 -4
  276. package/React/Views/RCTLayout.m +3 -0
  277. package/React/Views/RCTModalHostViewController.m +1 -1
  278. package/React/Views/RCTModalHostViewManager.m +3 -23
  279. package/React/Views/RCTView.m +9 -10
  280. package/React/Views/RCTViewManager.m +1 -1
  281. package/React/Views/ScrollView/RCTScrollEvent.m +3 -0
  282. package/React/Views/ScrollView/RCTScrollView.h +1 -1
  283. package/React/Views/ScrollView/RCTScrollView.m +80 -26
  284. package/React/Views/ScrollView/RCTScrollViewManager.m +1 -0
  285. package/React/third-party.xcconfig +1 -1
  286. package/React-Core.podspec +4 -2
  287. package/ReactAndroid/api/ReactAndroid.api +339 -814
  288. package/ReactAndroid/build.gradle.kts +48 -13
  289. package/ReactAndroid/cmake-utils/ReactNative-application.cmake +1 -1
  290. package/ReactAndroid/gradle.properties +8 -2
  291. package/ReactAndroid/hermes-engine/build.gradle.kts +28 -26
  292. package/ReactAndroid/src/main/AndroidManifest.xml +1 -1
  293. package/ReactAndroid/src/main/java/com/facebook/debug/debugoverlay/model/DebugOverlayTag.kt +21 -0
  294. package/ReactAndroid/src/main/java/com/facebook/debug/holder/NoopPrinter.kt +4 -5
  295. package/ReactAndroid/src/main/java/com/facebook/debug/holder/Printer.kt +4 -4
  296. package/ReactAndroid/src/main/java/com/facebook/debug/holder/PrinterHolder.kt +2 -2
  297. package/ReactAndroid/src/main/java/com/facebook/debug/tags/ReactDebugOverlayTags.kt +45 -0
  298. package/ReactAndroid/src/main/java/com/facebook/proguard/annotations/KeepGettersAndSetters.kt +24 -0
  299. package/ReactAndroid/src/main/java/com/facebook/react/BaseReactPackage.kt +131 -0
  300. package/ReactAndroid/src/main/java/com/facebook/react/HeadlessJsTaskService.java +3 -3
  301. package/ReactAndroid/src/main/java/com/facebook/react/NativeModuleRegistryBuilder.kt +61 -0
  302. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivity.java +12 -0
  303. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +74 -34
  304. package/ReactAndroid/src/main/java/com/facebook/react/ReactDelegate.java +109 -27
  305. package/ReactAndroid/src/main/java/com/facebook/react/ReactFragment.java +25 -7
  306. package/ReactAndroid/src/main/java/com/facebook/react/ReactHost.kt +35 -3
  307. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +43 -27
  308. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.java +2 -2
  309. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackage.kt +53 -0
  310. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageHelper.kt +43 -0
  311. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageTurboModuleManagerDelegate.java +1 -2
  312. package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +28 -0
  313. package/ReactAndroid/src/main/java/com/facebook/react/TurboReactPackage.kt +13 -0
  314. package/ReactAndroid/src/main/java/com/facebook/react/{ViewManagerOnDemandReactPackage.java → ViewManagerOnDemandReactPackage.kt} +8 -8
  315. package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.kt +3 -0
  316. package/ReactAndroid/src/main/java/com/facebook/react/animated/InterpolationAnimatedNode.kt +2 -2
  317. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java +22 -30
  318. package/ReactAndroid/src/main/java/com/facebook/react/animated/ObjectAnimatedNode.kt +3 -1
  319. package/ReactAndroid/src/main/java/com/facebook/react/animated/TransformAnimatedNode.kt +5 -5
  320. package/ReactAndroid/src/main/java/com/facebook/react/bridge/AssertionException.kt +14 -0
  321. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BridgeReactContext.java +2 -0
  322. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstance.kt +9 -10
  323. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java +2 -2
  324. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ColorPropConverter.java +4 -4
  325. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxCallbackImpl.java +3 -6
  326. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicNative.kt +2 -5
  327. package/ReactAndroid/src/main/java/com/facebook/react/bridge/{InvalidIteratorException.java → InvalidIteratorException.kt} +4 -9
  328. package/ReactAndroid/src/main/java/com/facebook/react/bridge/{JSApplicationCausedNativeException.java → JSApplicationCausedNativeException.kt} +7 -16
  329. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSApplicationIllegalArgumentException.kt +16 -0
  330. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaOnlyArray.kt +148 -0
  331. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaOnlyMap.kt +180 -0
  332. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeArgumentsParseException.kt +16 -0
  333. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeArray.kt +25 -0
  334. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeMap.kt +2 -2
  335. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NoSuchKeyException.kt +14 -0
  336. package/ReactAndroid/src/main/java/com/facebook/react/bridge/{ObjectAlreadyConsumedException.java → ObjectAlreadyConsumedException.kt} +4 -9
  337. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +4 -3
  338. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactIgnorableMountingException.kt +35 -0
  339. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNoCrashBridgeNotAllowedSoftException.kt +17 -0
  340. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNoCrashSoftException.kt +22 -0
  341. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactSoftExceptionLogger.kt +65 -0
  342. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableArray.kt +4 -4
  343. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableMap.kt +2 -2
  344. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableNativeArray.kt +92 -0
  345. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableNativeMap.kt +8 -13
  346. package/ReactAndroid/src/main/java/com/facebook/react/bridge/{RetryableMountingLayerException.java → RetryableMountingLayerException.kt} +6 -11
  347. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManagerProvider.kt +1 -5
  348. package/ReactAndroid/src/main/java/com/facebook/react/bridge/WritableNativeArray.kt +52 -0
  349. package/ReactAndroid/src/main/java/com/facebook/react/bridge/WritableNativeMap.kt +6 -9
  350. package/ReactAndroid/src/main/java/com/facebook/react/bridge/interop/InteropModuleRegistry.kt +49 -0
  351. package/ReactAndroid/src/main/java/com/facebook/react/common/{SurfaceDelegate.java → SurfaceDelegate.kt} +11 -11
  352. package/ReactAndroid/src/main/java/com/facebook/react/common/SurfaceDelegateFactory.kt +22 -0
  353. package/ReactAndroid/src/main/java/com/facebook/react/common/build/ReactBuildConfig.kt +4 -0
  354. package/ReactAndroid/src/main/java/com/facebook/react/common/futures/SimpleSettableFuture.kt +1 -1
  355. package/ReactAndroid/src/main/java/com/facebook/react/common/network/OkHttpCallUtil.kt +1 -1
  356. package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.kt +35 -0
  357. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultNewArchitectureEntryPoint.kt +14 -15
  358. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHost.kt +52 -3
  359. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultTurboModuleManagerDelegate.kt +14 -18
  360. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.java +2 -2
  361. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgelessDevSupportManager.java +124 -0
  362. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/CxxInspectorPackagerConnection.java +3 -3
  363. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevSupportManagerFactory.kt +33 -26
  364. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.java +6 -3
  365. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSettingsActivity.kt +2 -0
  366. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +28 -38
  367. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.java +22 -0
  368. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialog.kt +2 -1
  369. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialogSurfaceDelegate.kt +2 -2
  370. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxModule.kt +1 -1
  371. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ReactInstanceDevHelper.java +12 -2
  372. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxDialogSurfaceDelegate.java +37 -3
  373. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ReleaseDevSupportManager.kt +3 -6
  374. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/StackTraceHelper.java +23 -5
  375. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.kt +1 -2
  376. package/ReactAndroid/src/main/java/com/facebook/react/fabric/DevToolsReactPerfLogger.java +6 -7
  377. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +24 -26
  378. package/ReactAndroid/src/main/java/com/facebook/react/fabric/{BindingImpl.kt → FabricUIManagerBinding.kt} +26 -20
  379. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManagerProviderImpl.java +1 -1
  380. package/ReactAndroid/src/main/java/com/facebook/react/fabric/LongStreamingStats.kt +62 -0
  381. package/ReactAndroid/src/main/java/com/facebook/react/fabric/StateWrapperImpl.java +10 -14
  382. package/ReactAndroid/src/main/java/com/facebook/react/fabric/SurfaceHandlerBinding.java +10 -57
  383. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.java +5 -17
  384. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.kt +3 -0
  385. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.java +45 -62
  386. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +10 -18
  387. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DestroyUnmountedViewMountItem.kt +30 -0
  388. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/FabricNameComponentMapping.kt +3 -9
  389. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.java +27 -11
  390. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/MountItemFactory.kt +5 -0
  391. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.kt +63 -0
  392. package/ReactAndroid/src/main/java/com/facebook/react/interfaces/exceptionmanager/ReactJsExceptionHandler.kt +20 -10
  393. package/ReactAndroid/src/main/java/com/facebook/react/interfaces/fabric/ReactSurface.kt +10 -10
  394. package/ReactAndroid/src/main/java/com/facebook/react/interfaces/fabric/SurfaceHandler.kt +0 -11
  395. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +80 -66
  396. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsAccessor.kt +2 -0
  397. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +107 -124
  398. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +25 -27
  399. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +25 -29
  400. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +136 -144
  401. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +23 -27
  402. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeNewArchitectureFeatureFlagsDefaults.kt +25 -22
  403. package/ReactAndroid/src/main/java/com/facebook/react/internal/interop/InteropEventEmitter.kt +1 -0
  404. package/ReactAndroid/src/main/java/com/facebook/react/module/model/ReactModuleInfo.kt +11 -16
  405. package/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/AccessibilityInfoModule.kt +121 -3
  406. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.kt +0 -1
  407. package/ReactAndroid/src/main/java/com/facebook/react/modules/appstate/AppStateModule.kt +1 -1
  408. package/ReactAndroid/src/main/java/com/facebook/react/modules/camera/ImageStoreManager.kt +1 -1
  409. package/ReactAndroid/src/main/java/com/facebook/react/modules/clipboard/ClipboardModule.kt +5 -5
  410. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ExceptionsManagerModule.kt +0 -11
  411. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactChoreographer.kt +7 -8
  412. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DidJSUpdateUiDuringFrameDetector.kt +2 -0
  413. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/FpsDebugFrameCallback.kt +1 -1
  414. package/ReactAndroid/src/main/java/com/facebook/react/modules/devloading/DevLoadingModule.kt +1 -1
  415. package/ReactAndroid/src/main/java/com/facebook/react/modules/devtoolsruntimesettings/ReactDevToolsRuntimeSettingsModule.kt +49 -0
  416. package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/AlertFragment.java +57 -5
  417. package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/DialogTitle.kt +55 -0
  418. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/FrescoModule.kt +21 -5
  419. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ImageCacheControl.kt +31 -0
  420. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactNetworkImageRequest.kt +6 -3
  421. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactOkHttpNetworkFetcher.kt +19 -5
  422. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/SystraceRequestListener.kt +21 -14
  423. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/XmlFormat.kt +143 -0
  424. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nManagerModule.kt +5 -2
  425. package/ReactAndroid/src/main/java/com/facebook/react/modules/image/ImageLoaderModule.kt +2 -2
  426. package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.kt +270 -0
  427. package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/PermissionsModule.kt +4 -3
  428. package/ReactAndroid/src/main/java/com/facebook/react/modules/reactdevtoolssettings/ReactDevToolsSettingsManagerModule.kt +34 -0
  429. package/ReactAndroid/src/main/java/com/facebook/react/modules/share/ShareModule.kt +1 -0
  430. package/ReactAndroid/src/main/java/com/facebook/react/modules/sound/SoundManagerModule.kt +4 -0
  431. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoHelpers.kt +126 -0
  432. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoModule.kt +87 -0
  433. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +2 -2
  434. package/ReactAndroid/src/main/java/com/facebook/react/modules/vibration/VibrationModule.kt +8 -4
  435. package/ReactAndroid/src/main/java/com/facebook/react/processing/ReactPropertyProcessor.java +2 -0
  436. package/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/NativeModulePerfLogger.kt +11 -11
  437. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessCatalystInstance.kt +15 -8
  438. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.java +153 -81
  439. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImplDevHelper.kt +75 -0
  440. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.java +2 -3
  441. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceImpl.java +6 -2
  442. package/ReactAndroid/src/main/java/com/facebook/react/runtime/cxxreactpackage/CxxReactPackage.kt +2 -2
  443. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/{Continuation.java → Continuation.kt} +4 -8
  444. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/{ExecutorException.java → ExecutorException.kt} +3 -9
  445. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/Task.java +1 -1
  446. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/TaskCompletionSource.kt +50 -0
  447. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/UnobservedErrorNotifier.kt +27 -0
  448. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/{UnobservedTaskException.java → UnobservedTaskException.kt} +2 -8
  449. package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.kt +272 -0
  450. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BackgroundStyleApplicator.kt +398 -62
  451. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +42 -36
  452. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerDelegate.kt +40 -1
  453. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BlendModeHelper.kt +7 -0
  454. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/FilterHelper.kt +3 -3
  455. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSPointerDispatcher.java +1 -1
  456. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +4 -4
  457. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/PixelUtil.kt +12 -4
  458. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.java +13 -14
  459. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{ReactClippingProhibitedView.java → ReactClippingProhibitedView.kt} +6 -6
  460. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{ReactCompoundView.java → ReactCompoundView.kt} +3 -5
  461. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{ReactCompoundViewGroup.java → ReactCompoundViewGroup.kt} +3 -3
  462. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +2 -0
  463. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +2 -0
  464. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstantsHelper.java +4 -3
  465. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +2 -0
  466. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupDrawingOrderHelper.java +1 -1
  467. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupManager.java +1 -1
  468. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewProps.kt +5 -1
  469. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactProp.java +0 -2
  470. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactPropGroup.java +0 -2
  471. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactPropertyHolder.java +0 -2
  472. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/debug/NotThreadSafeViewHierarchyUpdateDebugListener.kt +25 -0
  473. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BackgroundDrawable.kt +257 -0
  474. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BorderDrawable.kt +1071 -0
  475. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/CSSBackgroundDrawable.java +11 -9
  476. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/CompositeBackgroundDrawable.kt +200 -24
  477. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/InsetBoxShadowDrawable.kt +16 -20
  478. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/OutlineDrawable.kt +189 -0
  479. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/OutsetBoxShadowDrawable.kt +15 -11
  480. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/BlackHoleEventDispatcher.kt +1 -0
  481. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.java +7 -0
  482. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEvent.java +2 -2
  483. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEvent.kt +1 -0
  484. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BackgroundImageLayer.kt +3 -2
  485. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderColors.kt +107 -0
  486. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderRadiusStyle.kt +53 -4
  487. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BoxShadow.kt +14 -3
  488. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/ComputedBorderRadius.kt +5 -1
  489. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/Gradient.kt +20 -29
  490. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/LinearGradient.kt +137 -0
  491. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/OutlineStyle.kt +26 -0
  492. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/util/ReactFindViewUtil.kt +129 -0
  493. package/ReactAndroid/src/main/java/com/facebook/react/util/JSStackTrace.kt +1 -1
  494. package/ReactAndroid/src/main/java/com/facebook/react/views/common/ContextUtils.kt +2 -1
  495. package/ReactAndroid/src/main/java/com/facebook/react/views/debuggingoverlay/DebuggingOverlayManager.kt +96 -90
  496. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ImageResizeMethod.kt +1 -0
  497. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ImageResizeMode.kt +4 -1
  498. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageDownloadListener.kt +1 -1
  499. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageManager.kt +8 -56
  500. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.kt +74 -171
  501. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ImageSource.kt +7 -4
  502. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/MultiSourceHelper.kt +4 -0
  503. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ResourceDrawableIdHelper.kt +0 -35
  504. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ModalHostShadowNode.kt +1 -1
  505. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.kt +8 -0
  506. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt +24 -6
  507. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarContainerView.kt +1 -1
  508. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarShadowNode.kt +2 -2
  509. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ReactProgressBarViewManager.kt +25 -25
  510. package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaView.kt +1 -1
  511. package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaViewManager.kt +3 -3
  512. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollContainerLegacyView.kt +46 -0
  513. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollContainerViewManager.kt +27 -7
  514. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +56 -100
  515. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.java +15 -93
  516. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +44 -81
  517. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewCommandHelper.kt +101 -0
  518. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.kt +28 -49
  519. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.java +12 -63
  520. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ScrollEvent.kt +5 -11
  521. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/ReactSwipeRefreshLayout.kt +131 -0
  522. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/RefreshEvent.kt +2 -2
  523. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/SwipeRefreshLayoutManager.kt +153 -0
  524. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchManager.java +6 -0
  525. package/ReactAndroid/src/main/java/com/facebook/react/views/text/FontMetricsUtil.kt +72 -0
  526. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.java +7 -1
  527. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactFontManager.kt +60 -0
  528. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactRawTextManager.kt +45 -0
  529. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.java +12 -59
  530. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.java +4 -0
  531. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextUpdate.kt +92 -0
  532. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +20 -54
  533. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManagerCallback.kt +25 -0
  534. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTypefaceUtils.kt +114 -0
  535. package/ReactAndroid/src/main/java/com/facebook/react/views/text/{ReactVirtualTextShadowNode.java → ReactVirtualTextShadowNode.kt} +3 -8
  536. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactVirtualTextViewManager.kt +38 -0
  537. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +161 -56
  538. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextTransform.kt +48 -0
  539. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageViewManager.java +2 -0
  540. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/CustomLineHeightSpan.kt +25 -38
  541. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/LegacyLineHeightSpan.kt +69 -0
  542. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactTextPaintHolderSpan.kt +13 -0
  543. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +54 -58
  544. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java +16 -60
  545. package/ReactAndroid/src/main/java/com/facebook/react/views/unimplementedview/ReactUnimplementedView.kt +2 -2
  546. package/ReactAndroid/src/main/java/com/facebook/react/views/unimplementedview/ReactUnimplementedViewManager.kt +14 -4
  547. package/ReactAndroid/src/main/java/com/facebook/react/views/view/CanvasUtil.kt +0 -5
  548. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactClippingViewManager.kt +82 -0
  549. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactDrawableHelper.java +9 -5
  550. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +149 -351
  551. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.kt +489 -0
  552. package/ReactAndroid/src/main/java/com/facebook/react/views/view/WindowUtil.kt +42 -0
  553. package/ReactAndroid/src/main/java/com/facebook/systrace/Systrace.kt +11 -0
  554. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaBoxSizing.java +33 -0
  555. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDisplay.java +3 -1
  556. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaErrata.java +2 -2
  557. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNative.java +2 -0
  558. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNode.java +4 -0
  559. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.java +10 -0
  560. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaProps.java +4 -0
  561. package/ReactAndroid/src/main/jni/CMakeLists.txt +1 -0
  562. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNIVanilla.cpp +7 -0
  563. package/ReactAndroid/src/main/jni/react/devsupport/JCxxInspectorPackagerConnection.cpp +4 -2
  564. package/ReactAndroid/src/main/jni/react/devsupport/JCxxInspectorPackagerConnection.h +2 -0
  565. package/ReactAndroid/src/main/jni/react/fabric/{AsyncEventBeat.cpp → AndroidEventBeat.cpp} +10 -32
  566. package/ReactAndroid/src/main/jni/react/fabric/{AsyncEventBeat.h → AndroidEventBeat.h} +6 -9
  567. package/ReactAndroid/src/main/jni/react/fabric/Binding.h +3 -156
  568. package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.cpp +1 -0
  569. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.cpp +422 -313
  570. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.h +2 -4
  571. package/ReactAndroid/src/main/jni/react/fabric/{Binding.cpp → FabricUIManagerBinding.cpp} +233 -151
  572. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.h +174 -0
  573. package/ReactAndroid/src/main/jni/react/fabric/JFabricUIManager.cpp +5 -6
  574. package/ReactAndroid/src/main/jni/react/fabric/JFabricUIManager.h +2 -2
  575. package/ReactAndroid/src/main/jni/react/fabric/OnLoad.cpp +2 -2
  576. package/ReactAndroid/src/main/jni/react/fabric/StateWrapperImpl.cpp +16 -48
  577. package/ReactAndroid/src/main/jni/react/fabric/StateWrapperImpl.h +1 -3
  578. package/ReactAndroid/src/main/jni/react/fabric/SurfaceHandlerBinding.cpp +8 -36
  579. package/ReactAndroid/src/main/jni/react/fabric/SurfaceHandlerBinding.h +2 -9
  580. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +149 -163
  581. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +32 -34
  582. package/ReactAndroid/src/main/jni/react/jni/JCallback.h +1 -1
  583. package/ReactAndroid/src/main/jni/react/jni/JInspector.cpp +1 -1
  584. package/ReactAndroid/src/main/jni/react/jni/WritableNativeArray.cpp +2 -3
  585. package/ReactAndroid/src/main/jni/react/jni/WritableNativeArray.h +1 -1
  586. package/ReactAndroid/src/main/jni/react/jni/WritableNativeMap.cpp +2 -3
  587. package/ReactAndroid/src/main/jni/react/jni/WritableNativeMap.h +1 -1
  588. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactExceptionManager.cpp +29 -8
  589. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactExceptionManager.h +3 -1
  590. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactInstance.cpp +2 -1
  591. package/ReactAndroid/src/main/jni/react/turbomodule/CMakeLists.txt +0 -1
  592. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/BindingsInstallerHolder.cpp +12 -3
  593. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/BindingsInstallerHolder.h +15 -4
  594. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/OnLoad.cpp +0 -3
  595. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.cpp +1 -1
  596. package/ReactAndroid/src/main/jni/third-party/fast_float/CMakeLists.txt +13 -0
  597. package/ReactAndroid/src/main/jni/third-party/folly/CMakeLists.txt +5 -6
  598. package/ReactAndroid/src/main/res/views/alert/layout/alert_title_layout.xml +22 -0
  599. package/ReactCommon/React-Fabric.podspec +4 -2
  600. package/ReactCommon/React-FabricComponents.podspec +7 -4
  601. package/ReactCommon/React-FabricImage.podspec +6 -2
  602. package/ReactCommon/ReactCommon.podspec +5 -3
  603. package/ReactCommon/callinvoker/React-callinvoker.podspec +0 -6
  604. package/ReactCommon/cxxreact/CMakeLists.txt +0 -1
  605. package/ReactCommon/cxxreact/CxxNativeModule.cpp +6 -3
  606. package/ReactCommon/cxxreact/JSBigString.cpp +4 -4
  607. package/ReactCommon/cxxreact/JSExecutor.cpp +2 -4
  608. package/ReactCommon/cxxreact/React-cxxreact.podspec +4 -2
  609. package/ReactCommon/cxxreact/ReactNativeVersion.h +2 -2
  610. package/ReactCommon/devtoolsruntimesettings/CMakeLists.txt +22 -0
  611. package/ReactCommon/devtoolsruntimesettings/DevToolsRuntimeSettings.cpp +27 -0
  612. package/ReactCommon/devtoolsruntimesettings/DevToolsRuntimeSettings.h +56 -0
  613. package/ReactCommon/hermes/React-hermes.podspec +3 -1
  614. package/ReactCommon/jsc/JSCRuntime.cpp +9 -9
  615. package/ReactCommon/jserrorhandler/CMakeLists.txt +2 -1
  616. package/ReactCommon/jserrorhandler/JsErrorHandler.cpp +369 -98
  617. package/ReactCommon/jserrorhandler/JsErrorHandler.h +34 -8
  618. package/ReactCommon/jserrorhandler/React-jserrorhandler.podspec +8 -4
  619. package/ReactCommon/jserrorhandler/StackTraceParser.cpp +317 -0
  620. package/ReactCommon/jserrorhandler/StackTraceParser.h +23 -0
  621. package/ReactCommon/jserrorhandler/tests/StackTraceParserTest.cpp +1196 -0
  622. package/ReactCommon/jsi/React-jsi.podspec +8 -3
  623. package/ReactCommon/jsi/jsi/decorator.h +16 -0
  624. package/ReactCommon/jsi/jsi/jsi.cpp +113 -2
  625. package/ReactCommon/jsi/jsi/jsi.h +19 -6
  626. package/ReactCommon/jsi/jsi/test/testlib.cpp +59 -0
  627. package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +4 -2
  628. package/ReactCommon/jsinspector-modern/HostAgent.cpp +6 -40
  629. package/ReactCommon/jsinspector-modern/HostAgent.h +4 -1
  630. package/ReactCommon/jsinspector-modern/InspectorFlags.cpp +2 -0
  631. package/ReactCommon/jsinspector-modern/InspectorInterfaces.cpp +8 -7
  632. package/ReactCommon/jsinspector-modern/InspectorInterfaces.h +2 -2
  633. package/ReactCommon/jsinspector-modern/InspectorPackagerConnection.cpp +19 -9
  634. package/ReactCommon/jsinspector-modern/InspectorPackagerConnection.h +4 -2
  635. package/ReactCommon/jsinspector-modern/InspectorPackagerConnectionImpl.h +6 -3
  636. package/ReactCommon/jsinspector-modern/React-jsinspector.podspec +1 -1
  637. package/ReactCommon/jsinspector-modern/TracingAgent.cpp +59 -0
  638. package/ReactCommon/jsinspector-modern/TracingAgent.h +41 -0
  639. package/ReactCommon/jsinspector-modern/tests/InspectorPackagerConnectionTest.cpp +29 -33
  640. package/ReactCommon/jsinspector-modern/tests/JsiIntegrationTest.cpp +130 -0
  641. package/ReactCommon/jsinspector-modern/tests/ReactInstanceIntegrationTest.cpp +4 -13
  642. package/ReactCommon/logger/React-logger.podspec +2 -1
  643. package/ReactCommon/react/bridging/Base.h +29 -4
  644. package/ReactCommon/react/bridging/Convert.h +2 -2
  645. package/ReactCommon/react/config/ReactNativeConfig.cpp +0 -3
  646. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +66 -59
  647. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +67 -60
  648. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +191 -218
  649. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +31 -33
  650. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +37 -45
  651. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +15 -17
  652. package/ReactCommon/react/featureflags/tests/ReactNativeFeatureFlagsTest.cpp +23 -0
  653. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboCxxModule.cpp +4 -16
  654. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboCxxModule.h +1 -1
  655. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModule.h +22 -22
  656. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +65 -45
  657. package/ReactCommon/react/nativemodule/core/platform/ios/React-NativeModulesApple.podspec +5 -2
  658. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +2 -2
  659. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.h +0 -8
  660. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.mm +4 -22
  661. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleWithJSIBindings.h +9 -1
  662. package/ReactCommon/react/nativemodule/defaults/CMakeLists.txt +1 -0
  663. package/ReactCommon/react/nativemodule/defaults/DefaultTurboModules.cpp +10 -0
  664. package/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec +18 -2
  665. package/ReactCommon/react/nativemodule/devtoolsruntimesettings/CMakeLists.txt +24 -0
  666. package/ReactCommon/react/nativemodule/devtoolsruntimesettings/DevToolsRuntimeSettingsModule.cpp +35 -0
  667. package/ReactCommon/react/nativemodule/devtoolsruntimesettings/DevToolsRuntimeSettingsModule.h +27 -0
  668. package/ReactCommon/react/nativemodule/devtoolsruntimesettings/README.md +6 -0
  669. package/ReactCommon/react/nativemodule/dom/React-domnativemodule.podspec +21 -3
  670. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +54 -57
  671. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +24 -26
  672. package/ReactCommon/react/nativemodule/featureflags/React-featureflagsnativemodule.podspec +19 -3
  673. package/ReactCommon/react/nativemodule/idlecallbacks/React-idlecallbacksnativemodule.podspec +18 -3
  674. package/ReactCommon/react/nativemodule/intersectionobserver/NativeIntersectionObserver.cpp +6 -1
  675. package/ReactCommon/react/nativemodule/intersectionobserver/NativeIntersectionObserver.h +3 -1
  676. package/ReactCommon/react/nativemodule/microtasks/React-microtasksnativemodule.podspec +18 -3
  677. package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.cpp +2 -1
  678. package/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec +6 -3
  679. package/ReactCommon/react/nativemodule/samples/platform/android/ReactCommon/SampleTurboModuleJSIBindings.cpp +5 -4
  680. package/ReactCommon/react/nativemodule/samples/platform/android/SampleLegacyModule.kt +277 -0
  681. package/ReactCommon/react/nativemodule/samples/platform/android/SampleTurboModule.kt +245 -0
  682. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTNativeSampleTurboModuleSpec.h +4 -0
  683. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleLegacyModule.mm +2 -2
  684. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboModule.mm +3 -2
  685. package/ReactCommon/react/nativemodule/webperformance/NativePerformance.cpp +261 -28
  686. package/ReactCommon/react/nativemodule/webperformance/NativePerformance.h +131 -0
  687. package/ReactCommon/react/performance/timeline/CircularBuffer.h +133 -0
  688. package/ReactCommon/react/performance/timeline/PerformanceEntry.h +53 -0
  689. package/ReactCommon/react/performance/timeline/PerformanceEntryBuffer.h +40 -0
  690. package/ReactCommon/react/performance/timeline/PerformanceEntryCircularBuffer.cpp +38 -0
  691. package/ReactCommon/react/performance/timeline/PerformanceEntryCircularBuffer.h +34 -0
  692. package/ReactCommon/react/performance/timeline/PerformanceEntryKeyedBuffer.cpp +59 -0
  693. package/ReactCommon/react/performance/timeline/PerformanceEntryKeyedBuffer.h +39 -0
  694. package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.cpp +140 -206
  695. package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.h +82 -131
  696. package/ReactCommon/react/performance/timeline/PerformanceObserver.cpp +92 -0
  697. package/ReactCommon/react/performance/timeline/PerformanceObserver.h +139 -0
  698. package/ReactCommon/react/performance/timeline/PerformanceObserverRegistry.cpp +34 -0
  699. package/ReactCommon/react/performance/timeline/PerformanceObserverRegistry.h +54 -0
  700. package/ReactCommon/react/performance/timeline/React-performancetimeline.podspec +1 -0
  701. package/ReactCommon/react/performance/timeline/tests/CircularBufferTest.cpp +127 -0
  702. package/ReactCommon/react/performance/timeline/tests/PerformanceEntryReporterTest.cpp +238 -254
  703. package/ReactCommon/react/performance/timeline/tests/PerformanceObserverTest.cpp +272 -0
  704. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.h +4 -4
  705. package/ReactCommon/react/renderer/attributedstring/AttributedString.cpp +13 -28
  706. package/ReactCommon/react/renderer/attributedstring/AttributedString.h +8 -6
  707. package/ReactCommon/react/renderer/attributedstring/conversions.h +4 -0
  708. package/ReactCommon/react/renderer/attributedstring/tests/AttributedStringBoxTest.cpp +3 -3
  709. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +5 -18
  710. package/ReactCommon/react/renderer/components/image/ImageProps.cpp +110 -36
  711. package/ReactCommon/react/renderer/components/image/ImageProps.h +8 -1
  712. package/ReactCommon/react/renderer/components/image/ImageShadowNode.h +1 -1
  713. package/ReactCommon/react/renderer/components/image/conversions.h +27 -0
  714. package/ReactCommon/react/renderer/components/rncore/ComponentDescriptors.cpp +0 -1
  715. package/ReactCommon/react/renderer/components/rncore/ComponentDescriptors.h +0 -1
  716. package/ReactCommon/react/renderer/components/rncore/Props.cpp +1 -0
  717. package/ReactCommon/react/renderer/components/rncore/Props.h +1 -0
  718. package/ReactCommon/react/renderer/components/rncore/ShadowNodes.cpp +0 -1
  719. package/ReactCommon/react/renderer/components/rncore/ShadowNodes.h +0 -11
  720. package/ReactCommon/react/renderer/components/rncore/States.h +0 -12
  721. package/ReactCommon/react/renderer/components/scrollview/AndroidHorizontalScrollContentViewComponentDescriptor.h +18 -0
  722. package/ReactCommon/react/renderer/components/scrollview/AndroidHorizontalScrollContentViewShadowNode.cpp +29 -0
  723. package/ReactCommon/react/renderer/components/scrollview/AndroidHorizontalScrollContentViewShadowNode.h +26 -0
  724. package/ReactCommon/react/renderer/components/scrollview/ScrollEvent.cpp +8 -6
  725. package/ReactCommon/react/renderer/components/scrollview/ScrollEvent.h +5 -0
  726. package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.cpp +0 -8
  727. package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.h +0 -1
  728. package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.cpp +98 -100
  729. package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.h +0 -1
  730. package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +2 -2
  731. package/ReactCommon/react/renderer/components/text/BaseTextShadowNode.cpp +19 -10
  732. package/ReactCommon/react/renderer/components/text/ParagraphProps.cpp +18 -16
  733. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp +1 -0
  734. package/ReactCommon/react/renderer/components/text/tests/BaseTextShadowNodeTest.cpp +93 -0
  735. package/ReactCommon/react/renderer/components/textinput/BaseTextInputProps.cpp +38 -2
  736. package/ReactCommon/react/renderer/components/textinput/BaseTextInputProps.h +10 -0
  737. package/ReactCommon/react/renderer/components/textinput/{platform/ios/react/renderer/components/iostextinput/TextInputEventEmitter.cpp → TextInputEventEmitter.cpp} +3 -1
  738. package/ReactCommon/react/renderer/components/textinput/{platform/ios/react/renderer/components/iostextinput/TextInputEventEmitter.h → TextInputEventEmitter.h} +1 -0
  739. package/ReactCommon/react/renderer/components/textinput/baseConversions.h +46 -0
  740. package/ReactCommon/react/{utils/CoreFeatures.cpp → renderer/components/textinput/basePrimitives.h} +7 -4
  741. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputComponentDescriptor.h +8 -6
  742. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputProps.cpp +44 -57
  743. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputProps.h +1 -3
  744. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.cpp +3 -20
  745. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.h +0 -4
  746. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputProps.cpp +8 -1
  747. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputProps.h +1 -0
  748. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputShadowNode.cpp +1 -18
  749. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputShadowNode.h +1 -5
  750. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/conversions.h +0 -20
  751. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/primitives.h +1 -20
  752. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/propsConversions.h +0 -12
  753. package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +36 -34
  754. package/ReactCommon/react/renderer/components/view/BaseViewProps.cpp +206 -149
  755. package/ReactCommon/react/renderer/components/view/BaseViewProps.h +8 -2
  756. package/ReactCommon/react/renderer/components/view/TouchEventEmitter.cpp +48 -36
  757. package/ReactCommon/react/renderer/components/view/TouchEventEmitter.h +18 -18
  758. package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +2 -2
  759. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +60 -60
  760. package/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +23 -17
  761. package/ReactCommon/react/renderer/components/view/conversions.h +136 -68
  762. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.cpp +22 -20
  763. package/ReactCommon/react/renderer/components/view/primitives.h +2 -0
  764. package/ReactCommon/react/renderer/components/view/tests/LayoutTest.cpp +20 -20
  765. package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +2 -2
  766. package/ReactCommon/react/renderer/core/EventBeat.cpp +47 -14
  767. package/ReactCommon/react/renderer/core/EventBeat.h +87 -31
  768. package/ReactCommon/react/renderer/core/EventDispatcher.cpp +4 -9
  769. package/ReactCommon/react/renderer/core/EventDispatcher.h +1 -3
  770. package/ReactCommon/react/renderer/core/EventEmitter.h +0 -2
  771. package/ReactCommon/react/renderer/core/EventLogger.h +4 -1
  772. package/ReactCommon/react/renderer/core/EventQueue.cpp +3 -18
  773. package/ReactCommon/react/renderer/core/EventQueue.h +1 -8
  774. package/ReactCommon/react/renderer/core/LayoutPrimitives.h +1 -1
  775. package/ReactCommon/react/renderer/core/LayoutableShadowNode.cpp +4 -4
  776. package/ReactCommon/react/renderer/core/Props.cpp +3 -2
  777. package/ReactCommon/react/renderer/core/RawEvent.h +6 -0
  778. package/ReactCommon/react/renderer/core/RawValue.h +20 -20
  779. package/ReactCommon/react/renderer/core/ShadowNode.cpp +21 -28
  780. package/ReactCommon/react/renderer/core/ShadowNode.h +4 -13
  781. package/ReactCommon/react/renderer/core/ShadowNodeFamily.cpp +24 -1
  782. package/ReactCommon/react/renderer/core/ShadowNodeFamily.h +38 -1
  783. package/ReactCommon/react/renderer/core/ShadowNodeFragment.h +0 -1
  784. package/ReactCommon/react/renderer/core/ShadowNodeTraits.h +5 -5
  785. package/ReactCommon/react/renderer/core/conversions.h +3 -3
  786. package/ReactCommon/react/renderer/core/tests/EventQueueProcessorTest.cpp +4 -2
  787. package/ReactCommon/react/renderer/core/tests/ShadowNodeTest.cpp +2 -51
  788. package/ReactCommon/react/renderer/debug/DebugStringConvertible.h +18 -18
  789. package/ReactCommon/react/renderer/debug/React-rendererdebug.podspec +2 -0
  790. package/ReactCommon/react/renderer/dom/DOM.cpp +4 -7
  791. package/ReactCommon/react/renderer/graphics/BackgroundImage.h +4 -32
  792. package/ReactCommon/react/renderer/graphics/LinearGradient.h +62 -0
  793. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +4 -1
  794. package/ReactCommon/react/renderer/graphics/Transform.h +4 -4
  795. package/ReactCommon/react/renderer/graphics/platform/android/react/renderer/graphics/PlatformColorParser.h +20 -48
  796. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/HostPlatformColor.mm +2 -2
  797. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/RCTPlatformColorUtils.mm +2 -0
  798. package/ReactCommon/react/renderer/imagemanager/ImageRequest.cpp +4 -8
  799. package/ReactCommon/react/renderer/imagemanager/ImageRequest.h +2 -12
  800. package/ReactCommon/react/renderer/imagemanager/ImageResponse.h +1 -0
  801. package/ReactCommon/react/renderer/imagemanager/ImageResponseObserverCoordinator.cpp +27 -3
  802. package/ReactCommon/react/renderer/imagemanager/ImageResponseObserverCoordinator.h +15 -0
  803. package/ReactCommon/react/renderer/imagemanager/platform/ios/React-ImageManager.podspec +5 -2
  804. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTImageManager.mm +24 -16
  805. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTImagePrimitivesConversions.h +44 -8
  806. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTSyncImageManager.mm +4 -3
  807. package/ReactCommon/react/renderer/imagemanager/primitives.h +5 -0
  808. package/ReactCommon/react/renderer/mounting/Differentiator.cpp +36 -23
  809. package/ReactCommon/react/renderer/mounting/Differentiator.h +41 -2
  810. package/ReactCommon/react/renderer/mounting/MountingCoordinator.cpp +12 -7
  811. package/ReactCommon/react/renderer/mounting/MountingCoordinator.h +0 -3
  812. package/ReactCommon/react/renderer/mounting/MountingOverrideDelegate.h +5 -4
  813. package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +10 -130
  814. package/ReactCommon/react/renderer/mounting/ShadowTree.h +2 -7
  815. package/ReactCommon/react/renderer/mounting/ShadowTreeDelegate.h +1 -1
  816. package/ReactCommon/react/renderer/mounting/ShadowView.cpp +0 -8
  817. package/ReactCommon/react/renderer/mounting/ShadowView.h +0 -44
  818. package/ReactCommon/react/renderer/mounting/stubs/StubViewTree.cpp +4 -4
  819. package/ReactCommon/react/renderer/mounting/stubs/StubViewTree.h +1 -1
  820. package/ReactCommon/react/renderer/mounting/stubs/stubs.h +2 -2
  821. package/ReactCommon/react/renderer/mounting/tests/StackingContextTest.cpp +3 -3
  822. package/ReactCommon/react/renderer/mounting/tests/StateReconciliationTest.cpp +35 -109
  823. package/ReactCommon/react/renderer/observers/events/EventPerformanceLogger.cpp +10 -6
  824. package/ReactCommon/react/renderer/observers/events/EventPerformanceLogger.h +5 -2
  825. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserver.cpp +36 -16
  826. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserver.h +4 -3
  827. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverManager.cpp +6 -2
  828. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverManager.h +1 -0
  829. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverState.cpp +9 -6
  830. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverState.h +11 -1
  831. package/ReactCommon/react/renderer/observers/mutation/MutationObserver.cpp +14 -16
  832. package/ReactCommon/react/renderer/observers/mutation/MutationObserver.h +15 -4
  833. package/ReactCommon/react/renderer/observers/mutation/MutationObserverManager.cpp +2 -2
  834. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +2 -1
  835. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Legacy.cpp +6 -0
  836. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.cpp +42 -51
  837. package/ReactCommon/react/renderer/runtimescheduler/primitives.h +0 -1
  838. package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +86 -68
  839. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +33 -37
  840. package/ReactCommon/react/renderer/scheduler/Scheduler.h +3 -3
  841. package/ReactCommon/react/renderer/scheduler/SchedulerDelegate.h +4 -2
  842. package/ReactCommon/react/renderer/scheduler/SchedulerToolbox.h +1 -2
  843. package/ReactCommon/react/renderer/scheduler/SurfaceManager.cpp +3 -3
  844. package/ReactCommon/react/renderer/scheduler/SurfaceManager.h +1 -1
  845. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +25 -0
  846. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +4 -10
  847. package/ReactCommon/react/renderer/uimanager/UIManager.h +1 -1
  848. package/ReactCommon/react/renderer/uimanager/UIManagerAnimationDelegate.h +1 -1
  849. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +1 -3
  850. package/ReactCommon/react/renderer/uimanager/UIManagerDelegate.h +1 -1
  851. package/ReactCommon/react/renderer/uimanager/consistency/tests/LazyShadowTreeRevisionConsistencyManagerTest.cpp +1 -1
  852. package/ReactCommon/react/renderer/uimanager/tests/PointerEventsProcessorTest.cpp +10 -10
  853. package/ReactCommon/react/runtime/React-RuntimeCore.podspec +5 -2
  854. package/ReactCommon/react/runtime/React-RuntimeHermes.podspec +4 -2
  855. package/ReactCommon/react/runtime/ReactInstance.cpp +189 -39
  856. package/ReactCommon/react/runtime/ReactInstance.h +1 -0
  857. package/ReactCommon/react/runtime/TimerManager.cpp +1 -1
  858. package/ReactCommon/react/runtime/hermes/HermesInstance.cpp +3 -6
  859. package/ReactCommon/react/runtime/iostests/RCTHostTests.mm +20 -2
  860. package/ReactCommon/react/runtime/platform/ios/React-RuntimeApple.podspec +7 -2
  861. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost+Internal.h +3 -0
  862. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.h +14 -6
  863. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.mm +59 -21
  864. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.h +11 -6
  865. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.mm +65 -27
  866. package/ReactCommon/react/runtime/tests/cxx/ReactInstanceTest.cpp +2 -131
  867. package/ReactCommon/react/timing/CMakeLists.txt +1 -1
  868. package/ReactCommon/react/timing/primitives.h +2 -0
  869. package/ReactCommon/react/utils/RunLoopObserver.cpp +2 -4
  870. package/ReactCommon/react/utils/RunLoopObserver.h +1 -3
  871. package/ReactCommon/react/utils/SharedFunction.h +1 -0
  872. package/ReactCommon/reactperflogger/CMakeLists.txt +4 -1
  873. package/ReactCommon/reactperflogger/React-perflogger.podspec +1 -0
  874. package/ReactCommon/reactperflogger/reactperflogger/FuseboxPerfettoDataSource.cpp +143 -0
  875. package/ReactCommon/reactperflogger/reactperflogger/FuseboxPerfettoDataSource.h +48 -0
  876. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfLogger.cpp +65 -0
  877. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfLogger.h +35 -0
  878. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfetto.cpp +2 -0
  879. package/ReactCommon/runtimeexecutor/React-runtimeexecutor.podspec +2 -1
  880. package/ReactCommon/yoga/yoga/YGEnums.cpp +14 -2
  881. package/ReactCommon/yoga/yoga/YGEnums.h +8 -2
  882. package/ReactCommon/yoga/yoga/YGNodeStyle.cpp +38 -28
  883. package/ReactCommon/yoga/yoga/YGNodeStyle.h +3 -0
  884. package/ReactCommon/yoga/yoga/algorithm/AbsoluteLayout.cpp +51 -117
  885. package/ReactCommon/yoga/yoga/algorithm/Align.h +4 -4
  886. package/ReactCommon/yoga/yoga/algorithm/Baseline.cpp +2 -6
  887. package/ReactCommon/yoga/yoga/algorithm/BoundAxis.h +13 -6
  888. package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.cpp +349 -341
  889. package/ReactCommon/yoga/yoga/algorithm/FlexLine.cpp +19 -18
  890. package/ReactCommon/yoga/yoga/algorithm/FlexLine.h +2 -4
  891. package/ReactCommon/yoga/yoga/enums/BoxSizing.h +40 -0
  892. package/ReactCommon/yoga/yoga/enums/Display.h +2 -1
  893. package/ReactCommon/yoga/yoga/enums/Errata.h +1 -1
  894. package/ReactCommon/yoga/yoga/node/LayoutableChildren.h +148 -0
  895. package/ReactCommon/yoga/yoga/node/Node.cpp +60 -7
  896. package/ReactCommon/yoga/yoga/node/Node.h +51 -9
  897. package/ReactCommon/yoga/yoga/style/Style.h +64 -1
  898. package/ReactCommon/yoga/yoga/style/StyleLength.h +0 -32
  899. package/ReactCommon/yoga/yoga/style/StyleValuePool.h +4 -4
  900. package/cli.js +2 -2
  901. package/gradle/libs.versions.toml +9 -8
  902. package/index.js +15 -8
  903. package/jest/setup.js +31 -0
  904. package/package.json +11 -13
  905. package/scripts/cocoapods/codegen_utils.rb +42 -17
  906. package/scripts/cocoapods/helpers.rb +16 -2
  907. package/scripts/cocoapods/new_architecture.rb +2 -0
  908. package/scripts/cocoapods/spm.rb +1 -1
  909. package/scripts/cocoapods/utils.rb +2 -0
  910. package/scripts/codegen/generate-artifacts-executor.js +336 -172
  911. package/scripts/codegen/generate-specs-cli-executor.js +3 -3
  912. package/scripts/codegen/templates/RCTAppDependencyProviderH.template +25 -0
  913. package/scripts/codegen/templates/RCTAppDependencyProviderMM.template +55 -0
  914. package/scripts/codegen/templates/RCTThirdPartyComponentsProviderH.template +16 -0
  915. package/scripts/codegen/templates/RCTThirdPartyComponentsProviderMM.template +23 -0
  916. package/scripts/codegen/templates/ReactAppDependencyProvider.podspec.template +34 -0
  917. package/scripts/generate-provider-cli.js +1 -2
  918. package/scripts/ios-configure-glog.sh +2 -2
  919. package/scripts/react-native-xcode.sh +8 -5
  920. package/scripts/react_native_pods.rb +16 -0
  921. package/sdks/.hermesversion +1 -1
  922. package/sdks/hermes-engine/hermes-engine.podspec +15 -9
  923. package/sdks/hermes-engine/hermes-utils.rb +29 -8
  924. package/sdks/hermes-engine/utils/build-ios-framework.sh +4 -24
  925. package/sdks/hermesc/linux64-bin/hermesc +0 -0
  926. package/sdks/hermesc/osx-bin/hermes +0 -0
  927. package/sdks/hermesc/osx-bin/hermesc +0 -0
  928. package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
  929. package/src/private/animated/NativeAnimatedHelper.js +18 -16
  930. package/src/private/animated/useAnimatedPropsMemo.js +356 -0
  931. package/src/private/components/HScrollViewNativeComponents.js +1 -27
  932. package/src/private/components/SafeAreaView_INTERNAL_DO_NOT_USE.js +11 -8
  933. package/src/private/components/VScrollViewNativeComponents.js +2 -25
  934. package/src/private/debugging/ReactDevToolsSettingsManager.android.js +20 -0
  935. package/src/private/debugging/ReactDevToolsSettingsManager.ios.js +30 -0
  936. package/{Libraries/ReactNative/ReactFabricInternals.js → src/private/debugging/ReactDevToolsSettingsManager.js.flow} +5 -6
  937. package/src/private/{fusebox → debugging}/setUpFuseboxReactDevToolsDispatcher.js +6 -0
  938. package/src/private/devmenu/DevMenu.d.ts +20 -0
  939. package/src/private/devmenu/DevMenu.js +31 -0
  940. package/src/private/featureflags/ReactNativeFeatureFlags.js +96 -82
  941. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +8 -2
  942. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +17 -18
  943. package/src/private/fusebox/specs/NativeReactDevToolsRuntimeSettingsModule.js +34 -0
  944. package/src/private/setup/setUpDOM.js +14 -6
  945. package/src/private/setup/setUpMutationObserver.js +5 -0
  946. package/src/private/specs/components/AndroidHorizontalScrollContentViewNativeComponent.js +1 -0
  947. package/src/private/specs/components/RCTModalHostViewNativeComponent.js +8 -0
  948. package/src/private/specs/modules/NativeAccessibilityInfo.js +9 -0
  949. package/src/private/specs/modules/NativeAccessibilityManager.js +4 -0
  950. package/src/private/specs/modules/NativeActionSheetManager.js +2 -0
  951. package/src/private/specs/modules/NativeAppearance.js +4 -10
  952. package/src/private/specs/modules/NativeExceptionsManager.js +0 -12
  953. package/src/private/specs/modules/{NativeDevToolsSettingsManager.js → NativeReactDevToolsSettingsManager.js} +3 -5
  954. package/src/private/webapis/dom/geometry/DOMRect.js +2 -2
  955. package/src/private/webapis/dom/geometry/DOMRectReadOnly.js +2 -2
  956. package/src/private/webapis/dom/nodes/ReactNativeElement.js +2 -3
  957. package/src/private/webapis/intersectionobserver/IntersectionObserver.js +102 -11
  958. package/src/private/webapis/intersectionobserver/IntersectionObserverEntry.js +26 -0
  959. package/src/private/webapis/intersectionobserver/IntersectionObserverManager.js +1 -0
  960. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +1 -0
  961. package/src/private/webapis/intersectionobserver/specs/__mocks__/NativeIntersectionObserver.js +9 -0
  962. package/src/private/webapis/performance/EventTiming.js +13 -8
  963. package/src/private/webapis/performance/Performance.js +66 -73
  964. package/src/private/webapis/performance/PerformanceEntry.js +2 -5
  965. package/src/private/webapis/performance/PerformanceObserver.js +65 -164
  966. package/src/private/webapis/performance/RawPerformanceEntry.js +1 -1
  967. package/src/private/webapis/performance/UserTiming.js +11 -7
  968. package/src/private/webapis/performance/Utilities.js +18 -0
  969. package/src/private/webapis/performance/specs/NativePerformance.js +71 -2
  970. package/src/private/webapis/performance/specs/__mocks__/NativePerformanceMock.js +267 -0
  971. package/third-party-podspecs/DoubleConversion.podspec +1 -0
  972. package/third-party-podspecs/RCT-Folly.podspec +20 -11
  973. package/third-party-podspecs/boost.podspec +4 -0
  974. package/third-party-podspecs/fast_float.podspec +29 -0
  975. package/third-party-podspecs/glog.podspec +2 -1
  976. package/types/index.d.ts +1 -1
  977. package/types/public/ReactNativeTypes.d.ts +4 -8
  978. package/types/tsconfig.json +13 -13
  979. package/Libraries/DevToolsSettings/DevToolsSettingsManager.android.js +0 -35
  980. package/Libraries/DevToolsSettings/DevToolsSettingsManager.d.ts +0 -20
  981. package/Libraries/DevToolsSettings/DevToolsSettingsManager.ios.js +0 -49
  982. package/Libraries/DevToolsSettings/DevToolsSettingsManager.js.flow +0 -19
  983. package/Libraries/DevToolsSettings/NativeDevToolsSettingsManager.js +0 -13
  984. package/React/Base/RCTRuntimeExecutorModule.h +0 -19
  985. package/ReactAndroid/src/main/java/com/facebook/debug/debugoverlay/model/DebugOverlayTag.java +0 -30
  986. package/ReactAndroid/src/main/java/com/facebook/debug/tags/ReactDebugOverlayTags.java +0 -38
  987. package/ReactAndroid/src/main/java/com/facebook/proguard/annotations/KeepGettersAndSetters.java +0 -27
  988. package/ReactAndroid/src/main/java/com/facebook/react/BaseReactPackage.java +0 -159
  989. package/ReactAndroid/src/main/java/com/facebook/react/CompositeReactPackage.java +0 -131
  990. package/ReactAndroid/src/main/java/com/facebook/react/CompositeReactPackageTurboModuleManagerDelegate.java +0 -57
  991. package/ReactAndroid/src/main/java/com/facebook/react/EagerModuleProvider.java +0 -26
  992. package/ReactAndroid/src/main/java/com/facebook/react/NativeModuleRegistryBuilder.java +0 -69
  993. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackage.java +0 -67
  994. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageHelper.java +0 -56
  995. package/ReactAndroid/src/main/java/com/facebook/react/TurboReactPackage.java +0 -14
  996. package/ReactAndroid/src/main/java/com/facebook/react/bridge/AssertionException.java +0 -20
  997. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSApplicationIllegalArgumentException.java +0 -20
  998. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaOnlyArray.java +0 -219
  999. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaOnlyMap.java +0 -266
  1000. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeArgumentsParseException.java +0 -22
  1001. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeArray.java +0 -28
  1002. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NoSuchKeyException.java +0 -20
  1003. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactIgnorableMountingException.java +0 -36
  1004. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNoCrashBridgeNotAllowedSoftException.java +0 -27
  1005. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNoCrashSoftException.java +0 -29
  1006. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactSoftExceptionLogger.java +0 -66
  1007. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableNativeArray.java +0 -174
  1008. package/ReactAndroid/src/main/java/com/facebook/react/bridge/WritableNativeArray.java +0 -68
  1009. package/ReactAndroid/src/main/java/com/facebook/react/bridge/interop/InteropModuleRegistry.java +0 -57
  1010. package/ReactAndroid/src/main/java/com/facebook/react/common/SurfaceDelegateFactory.java +0 -24
  1011. package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java +0 -79
  1012. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/AndroidManifest.xml +0 -10
  1013. package/ReactAndroid/src/main/java/com/facebook/react/fabric/Binding.kt +0 -74
  1014. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricComponents.kt +0 -45
  1015. package/ReactAndroid/src/main/java/com/facebook/react/fabric/LongStreamingStats.java +0 -76
  1016. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.java +0 -90
  1017. package/ReactAndroid/src/main/java/com/facebook/react/flipper/ReactNativeFlipper.kt +0 -34
  1018. package/ReactAndroid/src/main/java/com/facebook/react/modules/devtoolssettings/DevToolsSettingsManagerModule.kt +0 -40
  1019. package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.java +0 -280
  1020. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoHelpers.java +0 -175
  1021. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoModule.java +0 -104
  1022. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessDevSupportManager.java +0 -159
  1023. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/TaskCompletionSource.java +0 -73
  1024. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/UnobservedErrorNotifier.java +0 -42
  1025. package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.java +0 -329
  1026. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerInterface.kt +0 -85
  1027. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/debug/NotThreadSafeViewHierarchyUpdateDebugListener.java +0 -30
  1028. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/util/ReactFindViewUtil.java +0 -138
  1029. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollContainerView.java +0 -82
  1030. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewCommandHelper.java +0 -141
  1031. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/ReactSwipeRefreshLayout.java +0 -151
  1032. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/SwipeRefreshLayoutManager.java +0 -194
  1033. package/ReactAndroid/src/main/java/com/facebook/react/views/text/FontMetricsUtil.java +0 -65
  1034. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactFontManager.java +0 -66
  1035. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactRawTextManager.java +0 -55
  1036. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextUpdate.java +0 -153
  1037. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManagerCallback.java +0 -25
  1038. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTypefaceUtils.java +0 -198
  1039. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactVirtualTextViewManager.java +0 -47
  1040. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextTransform.java +0 -63
  1041. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactClippingViewManager.java +0 -95
  1042. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundDrawable.java +0 -25
  1043. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundManager.java +0 -146
  1044. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.java +0 -588
  1045. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/CompositeTurboModuleManagerDelegate.cpp +0 -58
  1046. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/CompositeTurboModuleManagerDelegate.h +0 -48
  1047. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTRuntimeExecutor.h +0 -32
  1048. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTRuntimeExecutor.mm +0 -34
  1049. package/ReactCommon/react/nativemodule/samples/platform/android/SampleLegacyModule.java +0 -246
  1050. package/ReactCommon/react/nativemodule/samples/platform/android/SampleTurboModule.java +0 -281
  1051. package/ReactCommon/react/nativemodule/webperformance/NativePerformanceObserver.cpp +0 -130
  1052. package/ReactCommon/react/nativemodule/webperformance/NativePerformanceObserver.h +0 -91
  1053. package/ReactCommon/react/performance/timeline/BoundedConsumableBuffer.h +0 -247
  1054. package/ReactCommon/react/performance/timeline/tests/BoundedConsumableBufferTest.cpp +0 -219
  1055. package/ReactCommon/react/renderer/scheduler/AsynchronousEventBeat.cpp +0 -57
  1056. package/ReactCommon/react/utils/CoreFeatures.h +0 -30
  1057. package/src/private/components/useSyncOnScroll.js +0 -48
  1058. package/src/private/fusebox/README.md +0 -12
  1059. package/src/private/webapis/performance/specs/NativePerformanceObserver.js +0 -61
  1060. package/src/private/webapis/performance/specs/__mocks__/NativePerformance.js +0 -67
  1061. package/src/private/webapis/performance/specs/__mocks__/NativePerformanceObserver.js +0 -127
  1062. package/types/experimental.d.ts +0 -59
  1063. /package/src/private/{fusebox → debugging}/FuseboxSessionObserver.js +0 -0
@@ -0,0 +1,31 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ #include "AppleEventBeat.h"
9
+
10
+ #include <react/debug/react_native_assert.h>
11
+
12
+ namespace facebook::react {
13
+
14
+ AppleEventBeat::AppleEventBeat(
15
+ std::shared_ptr<OwnerBox> ownerBox,
16
+ std::unique_ptr<const RunLoopObserver> uiRunLoopObserver,
17
+ RuntimeScheduler& runtimeScheduler)
18
+ : EventBeat(std::move(ownerBox), runtimeScheduler),
19
+ uiRunLoopObserver_(std::move(uiRunLoopObserver)) {
20
+ uiRunLoopObserver_->setDelegate(this);
21
+ uiRunLoopObserver_->enable();
22
+ }
23
+
24
+ void AppleEventBeat::activityDidChange(
25
+ const RunLoopObserver::Delegate* delegate,
26
+ RunLoopObserver::Activity /*activity*/) const noexcept {
27
+ react_native_assert(delegate == this);
28
+ induce();
29
+ }
30
+
31
+ } // namespace facebook::react
@@ -13,19 +13,19 @@
13
13
 
14
14
  namespace facebook::react {
15
15
 
16
+ class RuntimeScheduler;
17
+
16
18
  /*
17
19
  * Event beat associated with JavaScript runtime.
18
20
  * The beat is called on `RuntimeExecutor`'s thread induced by the UI thread
19
21
  * event loop.
20
22
  */
21
- class AsynchronousEventBeat : public EventBeat,
22
- public RunLoopObserver::Delegate {
23
+ class AppleEventBeat : public EventBeat, public RunLoopObserver::Delegate {
23
24
  public:
24
- AsynchronousEventBeat(
25
- RunLoopObserver::Unique uiRunLoopObserver,
26
- RuntimeExecutor runtimeExecutor);
27
-
28
- void induce() const override;
25
+ AppleEventBeat(
26
+ std::shared_ptr<OwnerBox> ownerBox,
27
+ std::unique_ptr<const RunLoopObserver> uiRunLoopObserver,
28
+ RuntimeScheduler& RuntimeScheduler);
29
29
 
30
30
  #pragma mark - RunLoopObserver::Delegate
31
31
 
@@ -34,10 +34,7 @@ class AsynchronousEventBeat : public EventBeat,
34
34
  RunLoopObserver::Activity activity) const noexcept override;
35
35
 
36
36
  private:
37
- RunLoopObserver::Unique uiRunLoopObserver_;
38
- RuntimeExecutor runtimeExecutor_;
39
-
40
- mutable std::atomic<bool> isBeatCallbackScheduled_{false};
37
+ std::unique_ptr<const RunLoopObserver> uiRunLoopObserver_;
41
38
  };
42
39
 
43
40
  } // namespace facebook::react
@@ -16,7 +16,6 @@
16
16
  #import <react/renderer/components/image/ImageProps.h>
17
17
  #import <react/renderer/imagemanager/ImageRequest.h>
18
18
  #import <react/renderer/imagemanager/RCTImagePrimitivesConversions.h>
19
- #import <react/utils/CoreFeatures.h>
20
19
 
21
20
  using namespace facebook::react;
22
21
 
@@ -101,13 +100,6 @@ using namespace facebook::react;
101
100
  const auto &imageRequest = _state->getData().getImageRequest();
102
101
  auto &observerCoordinator = imageRequest.getObserverCoordinator();
103
102
  observerCoordinator.removeObserver(_imageResponseObserverProxy);
104
- // Cancelling image request because we are no longer observing it.
105
- // This is not 100% correct place to do this because we may want to
106
- // re-create RCTImageComponentView with the same image and if it
107
- // was cancelled before downloaded, download is not resumed.
108
- // This will only become issue if we decouple life cycle of a
109
- // ShadowNode from ComponentView, which is not something we do now.
110
- imageRequest.cancel();
111
103
  }
112
104
 
113
105
  _state = state;
@@ -69,7 +69,7 @@
69
69
  return [RCTUIStatusBarManager() isStatusBarHidden];
70
70
  }
71
71
 
72
- #if RCT_DEV
72
+ #if RCT_DEV && TARGET_OS_IOS
73
73
  - (UIInterfaceOrientationMask)supportedInterfaceOrientations
74
74
  {
75
75
  UIInterfaceOrientationMask appSupportedOrientationsMask =
@@ -17,7 +17,6 @@
17
17
  // OSS-compatibility layer
18
18
 
19
19
  #import <Foundation/Foundation.h>
20
- #import <React/RCTThirdPartyFabricComponentsProvider.h>
21
20
  #import <React/RCTComponentViewProtocol.h>
22
21
 
23
22
  #pragma GCC diagnostic push
@@ -40,7 +40,7 @@ Class<RCTComponentViewProtocol> RCTFabricComponentsProvider(const char *name) {
40
40
  auto classFunc = p->second;
41
41
  return classFunc();
42
42
  }
43
- return RCTThirdPartyFabricComponentsProvider(name);
43
+ return nullptr;
44
44
  }
45
45
 
46
46
  #endif // RN_DISABLE_OSS_PLUGIN_HEADER
@@ -7,6 +7,7 @@
7
7
 
8
8
  #import "RCTEnhancedScrollView.h"
9
9
  #import <React/RCTUtils.h>
10
+ #import <react/utils/FloatComparison.h>
10
11
 
11
12
  @interface RCTEnhancedScrollView () <UIScrollViewDelegate>
12
13
  @end
@@ -261,7 +262,8 @@
261
262
 
262
263
  - (BOOL)isHorizontal:(UIScrollView *)scrollView
263
264
  {
264
- return scrollView.contentSize.width > self.frame.size.width;
265
+ return !facebook::react::floatEquality(scrollView.contentSize.width, self.frame.size.width) &&
266
+ scrollView.contentSize.width > self.frame.size.width;
265
267
  }
266
268
 
267
269
  @end
@@ -81,7 +81,7 @@ RCTSendScrollEventForNativeAnimations_DEPRECATED(UIScrollView *scrollView, NSInt
81
81
  userData:nil
82
82
  coalescingKey:coalescingKey];
83
83
  NSDictionary *userInfo = [NSDictionary dictionaryWithObjectsAndKeys:scrollEvent, @"event", nil];
84
- [[NSNotificationCenter defaultCenter] postNotificationName:@"RCTNotifyEventDispatcherObserversOfEvent_DEPRECATED"
84
+ [[NSNotificationCenter defaultCenter] postNotificationName:RCTNotifyEventDispatcherObserversOfEvent_DEPRECATED
85
85
  object:nil
86
86
  userInfo:userInfo];
87
87
  }
@@ -556,6 +556,7 @@ static inline UIViewAnimationOptions animationOptionsWithCurve(UIViewAnimationCu
556
556
  metrics.contentInset = RCTEdgeInsetsFromUIEdgeInsets(_scrollView.contentInset);
557
557
  metrics.containerSize = RCTSizeFromCGSize(_scrollView.bounds.size);
558
558
  metrics.zoomScale = _scrollView.zoomScale;
559
+ metrics.timestamp = CACurrentMediaTime();
559
560
 
560
561
  if (_layoutMetrics.layoutDirection == LayoutDirection::RightToLeft) {
561
562
  metrics.contentOffset.x = metrics.contentSize.width - metrics.containerSize.width - metrics.contentOffset.x;
@@ -569,12 +570,19 @@ static inline UIViewAnimationOptions animationOptionsWithCurve(UIViewAnimationCu
569
570
  if (!_state) {
570
571
  return;
571
572
  }
573
+
572
574
  auto contentOffset = RCTPointFromCGPoint(_scrollView.contentOffset);
573
- _state->updateState([contentOffset](const ScrollViewShadowNode::ConcreteState::Data &data) {
574
- auto newData = data;
575
- newData.contentOffset = contentOffset;
576
- return std::make_shared<const ScrollViewShadowNode::ConcreteState::Data>(newData);
577
- });
575
+ _state->updateState(
576
+ [contentOffset](
577
+ const ScrollViewShadowNode::ConcreteState::Data &oldData) -> ScrollViewShadowNode::ConcreteState::SharedData {
578
+ if (oldData.contentOffset == contentOffset) {
579
+ // avoid doing a state update if content offset didn't change.
580
+ return nullptr;
581
+ }
582
+ auto newData = oldData;
583
+ newData.contentOffset = contentOffset;
584
+ return std::make_shared<const ScrollViewShadowNode::ConcreteState::Data>(newData);
585
+ });
578
586
  }
579
587
 
580
588
  - (void)prepareForRecycle
@@ -623,33 +631,18 @@ static inline UIViewAnimationOptions animationOptionsWithCurve(UIViewAnimationCu
623
631
 
624
632
  - (void)scrollViewDidScroll:(UIScrollView *)scrollView
625
633
  {
626
- const auto &props = static_cast<const ScrollViewProps &>(*_props);
627
634
  auto scrollMetrics = [self _scrollViewMetrics];
628
635
 
629
- if (props.enableSyncOnScroll) {
636
+ [self _updateStateWithContentOffset];
637
+
638
+ NSTimeInterval now = CACurrentMediaTime();
639
+ if ((_lastScrollEventDispatchTime == 0) || (now - _lastScrollEventDispatchTime > _scrollEventThrottle)) {
640
+ _lastScrollEventDispatchTime = now;
630
641
  if (_eventEmitter) {
631
- const auto &eventEmitter = static_cast<const ScrollViewEventEmitter &>(*_eventEmitter);
632
- // TODO: temporary API to unblock testing of synchronous rendering.
633
- eventEmitter.experimental_flushSync([&eventEmitter, &scrollMetrics, &self]() {
634
- [self _updateStateWithContentOffset];
635
- // TODO: temporary API to unblock testing of synchronous rendering.
636
- eventEmitter.experimental_onDiscreteScroll(scrollMetrics);
637
- });
638
- }
639
- } else {
640
- if (!_isUserTriggeredScrolling || CoreFeatures::enableGranularScrollViewStateUpdatesIOS) {
641
- [self _updateStateWithContentOffset];
642
+ static_cast<const ScrollViewEventEmitter &>(*_eventEmitter).onScroll(scrollMetrics);
642
643
  }
643
644
 
644
- NSTimeInterval now = CACurrentMediaTime();
645
- if ((_lastScrollEventDispatchTime == 0) || (now - _lastScrollEventDispatchTime > _scrollEventThrottle)) {
646
- _lastScrollEventDispatchTime = now;
647
- if (_eventEmitter) {
648
- static_cast<const ScrollViewEventEmitter &>(*_eventEmitter).onScroll(scrollMetrics);
649
- }
650
-
651
- RCTSendScrollEventForNativeAnimations_DEPRECATED(scrollView, self.tag, kOnScrollEvent);
652
- }
645
+ RCTSendScrollEventForNativeAnimations_DEPRECATED(scrollView, self.tag, kOnScrollEvent);
653
646
  }
654
647
 
655
648
  [self _remountChildrenIfNeeded];
@@ -1030,18 +1023,23 @@ static inline UIViewAnimationOptions animationOptionsWithCurve(UIViewAnimationCu
1030
1023
  [self sendBlurNotification];
1031
1024
  [self removeSwipeGestureRecognizers];
1032
1025
  [self resignFirstResponder];
1033
- // if we leave the scroll view and go up, then scroll to top; if going down,
1034
- // scroll to bottom
1035
- // Similarly for left and right
1026
+ // If scrolling is enabled:
1027
+ // - Scroll to the top when moving up and to the bottom when moving down.
1028
+ // - Similarly, scroll towards leading edge when moving towards leading edge and to the trailing edge when moving towards the trailing edge.
1029
+ BOOL isRTL = [[RCTI18nUtil sharedInstance] isRTL];
1030
+ BOOL isMovingTowardsLeadingEdge = (isRTL ? context.focusHeading == UIFocusHeadingRight : context.focusHeading == UIFocusHeadingLeft);
1031
+ BOOL isMovingTowardsTrailingEdge = (isRTL ? context.focusHeading == UIFocusHeadingLeft : context.focusHeading == UIFocusHeadingRight);
1036
1032
  RCTEnhancedScrollView *scrollView = (RCTEnhancedScrollView *)_scrollView;
1037
- if (context.focusHeading == UIFocusHeadingUp && scrollView.snapToStart) {
1038
- [self swipeVerticalScrollToOffset:0.0];
1039
- } else if(context.focusHeading == UIFocusHeadingDown && scrollView.snapToEnd) {
1040
- [self swipeVerticalScrollToOffset:scrollView.contentSize.height];
1041
- } else if(context.focusHeading == UIFocusHeadingLeft && scrollView.snapToStart) {
1042
- [self swipeHorizontalScrollToOffset:0.0];
1043
- } else if(context.focusHeading == UIFocusHeadingRight && scrollView.snapToEnd) {
1044
- [self swipeHorizontalScrollToOffset:scrollView.contentSize.width];
1033
+ if (scrollView.isScrollEnabled) {
1034
+ if (context.focusHeading == UIFocusHeadingUp && scrollView.snapToStart) {
1035
+ [self scrollToVerticalOffset:0.0];
1036
+ } else if(context.focusHeading == UIFocusHeadingDown && scrollView.snapToEnd) {
1037
+ [self scrollToVerticalOffset:scrollView.contentSize.height];
1038
+ } else if(isMovingTowardsLeadingEdge && scrollView.snapToStart) {
1039
+ [self scrollToHorizontalOffset:0.0];
1040
+ } else if(isMovingTowardsTrailingEdge && scrollView.snapToEnd) {
1041
+ [self scrollToHorizontalOffset:scrollView.contentSize.width];
1042
+ }
1045
1043
  }
1046
1044
  }
1047
1045
  }
@@ -1100,23 +1098,32 @@ static inline UIViewAnimationOptions animationOptionsWithCurve(UIViewAnimationCu
1100
1098
 
1101
1099
  - (BOOL)shouldUpdateFocusInContext:(UIFocusUpdateContext *)context
1102
1100
  {
1101
+ // If the previously focused item is this view and scrolling is disabled, defer to the superclass
1102
+ if (context.previouslyFocusedItem == self && !self.scrollView.isScrollEnabled) {
1103
+ return [super shouldUpdateFocusInContext:context];
1104
+ }
1105
+
1103
1106
  // Determine if the layout is Right-to-Left
1104
1107
  BOOL isRTL = [[RCTI18nUtil sharedInstance] isRTL];
1105
1108
  BOOL isHorizontal = _scrollView.contentSize.width > self.frame.size.width;
1106
1109
  // Adjust for horizontal scrolling with RTL support
1107
1110
  if (isHorizontal) {
1108
- BOOL isNavigatingToEnd = (isRTL ? context.focusHeading == UIFocusHeadingLeft : context.focusHeading == UIFocusHeadingRight);
1109
- BOOL isNavigatingToStart = (isRTL ? context.focusHeading == UIFocusHeadingRight : context.focusHeading == UIFocusHeadingLeft);
1111
+ BOOL isMovingTowardsLeadingEdge = (isRTL ? context.focusHeading == UIFocusHeadingRight : context.focusHeading == UIFocusHeadingLeft);
1112
+ BOOL isMovingTowardsTrailingEdge = (isRTL ? context.focusHeading == UIFocusHeadingLeft : context.focusHeading == UIFocusHeadingRight);
1113
+
1114
+ BOOL isScrollingToLeading = (isMovingTowardsLeadingEdge && self.scrollView.contentOffset.x > 0);
1115
+ BOOL isScrollingToTrailing = (isMovingTowardsTrailingEdge && self.scrollView.contentOffset.x < self.scrollView.contentSize.width - MAX(self.scrollView.visibleSize.width, 1));
1110
1116
 
1111
- if ((isNavigatingToEnd && self.scrollView.contentOffset.x < self.scrollView.contentSize.width - self.scrollView.visibleSize.width) ||
1112
- (isNavigatingToStart && self.scrollView.contentOffset.x > 0)) {
1113
- return [UIFocusSystem environment:self containsEnvironment:context.nextFocusedItem];
1117
+ if (isScrollingToLeading || isScrollingToTrailing) {
1118
+ return (context.nextFocusedItem && [UIFocusSystem environment:self containsEnvironment:context.nextFocusedItem]);
1114
1119
  }
1115
1120
  } else {
1116
1121
  // Handle vertical scrolling as before
1117
- if ((context.focusHeading == UIFocusHeadingUp && self.scrollView.contentOffset.y > 0) ||
1118
- (context.focusHeading == UIFocusHeadingDown && self.scrollView.contentOffset.y < self.scrollView.contentSize.height - self.scrollView.visibleSize.height)) {
1119
- return [UIFocusSystem environment:self containsEnvironment:context.nextFocusedItem];
1122
+ BOOL isMovingUp = (context.focusHeading == UIFocusHeadingUp && self.scrollView.contentOffset.y > 0);
1123
+ BOOL isMovingDown = (context.focusHeading == UIFocusHeadingDown && self.scrollView.contentOffset.y < self.scrollView.contentSize.height - MAX(self.scrollView.visibleSize.height, 1));
1124
+
1125
+ if (isMovingUp || isMovingDown) {
1126
+ return (context.nextFocusedItem && [UIFocusSystem environment:self containsEnvironment:context.nextFocusedItem]);
1120
1127
  }
1121
1128
  }
1122
1129
  return [super shouldUpdateFocusInContext:context];
@@ -1160,60 +1167,100 @@ static inline UIViewAnimationOptions animationOptionsWithCurve(UIViewAnimationCu
1160
1167
  return duration;
1161
1168
  }
1162
1169
 
1163
- - (void)swipeVerticalScrollToOffset:(CGFloat)yOffset
1170
+ - (void)scrollToVerticalOffset:(CGFloat)yOffset
1164
1171
  {
1165
1172
  _blockFirstTouch = NO;
1166
1173
  dispatch_async(dispatch_get_main_queue(), ^{
1167
1174
  CGFloat limitedOffset = yOffset;
1175
+
1176
+ // Ensure content size and visible size are non-negative
1177
+ CGFloat contentHeight = MAX(self.scrollView.contentSize.height, 0.0);
1178
+ CGFloat visibleHeight = MAX(self.scrollView.visibleSize.height, 0.0);
1179
+
1180
+ // Compute the maximum offset, ensuring it's non-negative
1181
+ CGFloat maxOffset = MAX(contentHeight - visibleHeight, 0.0);
1182
+
1183
+ // Clamp the offset within valid bounds
1168
1184
  limitedOffset = MAX(limitedOffset, 0.0);
1169
- limitedOffset = MIN(limitedOffset, self.scrollView.contentSize.height - self.scrollView.visibleSize.height);
1185
+ limitedOffset = MIN(limitedOffset, maxOffset);
1186
+
1170
1187
  [UIView animateWithDuration:[self swipeDuration] animations:^{
1171
1188
  self.scrollView.contentOffset =
1172
- CGPointMake(self.scrollView.contentOffset.x, limitedOffset);
1189
+ CGPointMake(self.scrollView.contentOffset.x, limitedOffset);
1173
1190
  }];
1174
1191
  });
1175
1192
  }
1176
1193
 
1177
- - (void)swipeHorizontalScrollToOffset:(CGFloat)xOffset
1194
+ - (void)scrollToHorizontalOffset:(CGFloat)xOffset
1178
1195
  {
1179
1196
  _blockFirstTouch = NO;
1180
1197
  dispatch_async(dispatch_get_main_queue(), ^{
1181
1198
  CGFloat limitedOffset = xOffset;
1199
+
1200
+ // Ensure content size and visible size are non-negative
1201
+ CGFloat contentWidth = MAX(self.scrollView.contentSize.width, 0.0);
1202
+ CGFloat visibleWidth = MAX(self.scrollView.visibleSize.width, 0.0);
1203
+
1204
+ // Compute the maximum offset, ensuring it's non-negative
1205
+ CGFloat maxOffset = MAX(contentWidth - visibleWidth, 0.0);
1206
+
1207
+ // Clamp the offset within valid bounds
1182
1208
  limitedOffset = MAX(limitedOffset, 0.0);
1183
- limitedOffset = MIN(limitedOffset, self.scrollView.contentSize.width - self.scrollView.visibleSize.width);
1209
+ limitedOffset = MIN(limitedOffset, maxOffset);
1210
+
1184
1211
  [UIView animateWithDuration:[self swipeDuration] animations:^{
1185
1212
  self.scrollView.contentOffset =
1186
- CGPointMake(limitedOffset, self.scrollView.contentOffset.y);
1213
+ CGPointMake(limitedOffset, self.scrollView.contentOffset.y);
1187
1214
  }];
1188
1215
  });
1189
1216
  }
1190
1217
 
1191
1218
  - (void)swipedUp
1192
1219
  {
1220
+ if (!self.scrollView.scrollEnabled) {
1221
+ return;
1222
+ }
1223
+
1193
1224
  CGFloat newOffset = self.scrollView.contentOffset.y - [self swipeVerticalInterval];
1194
1225
  // NSLog(@"Swiped up to %f", newOffset);
1195
- [self swipeVerticalScrollToOffset:newOffset];
1226
+ [self scrollToVerticalOffset:newOffset];
1196
1227
  }
1197
1228
 
1198
1229
  - (void)swipedDown
1199
1230
  {
1231
+ if (!self.scrollView.scrollEnabled) {
1232
+ return;
1233
+ }
1234
+
1200
1235
  CGFloat newOffset = self.scrollView.contentOffset.y + [self swipeVerticalInterval];
1201
1236
  // NSLog(@"Swiped down to %f", newOffset);
1202
- [self swipeVerticalScrollToOffset:newOffset];
1237
+ [self scrollToVerticalOffset:newOffset];
1203
1238
  }
1204
1239
 
1205
1240
  - (void)swipedLeft
1206
1241
  {
1207
- CGFloat newOffset = self.scrollView.contentOffset.x - [self swipeHorizontalInterval];
1242
+ if (!self.scrollView.scrollEnabled) {
1243
+ return;
1244
+ }
1245
+
1246
+ BOOL isRTL = [[RCTI18nUtil sharedInstance] isRTL];
1247
+ NSInteger horizontalInterval = [self swipeHorizontalInterval];
1248
+ CGFloat newOffset = self.scrollView.contentOffset.x + (isRTL ? horizontalInterval : -horizontalInterval);
1208
1249
  // NSLog(@"Swiped left to %f", newOffset);
1209
- [self swipeHorizontalScrollToOffset:newOffset];
1250
+ [self scrollToHorizontalOffset:newOffset];
1210
1251
  }
1211
1252
 
1212
1253
  - (void)swipedRight
1213
1254
  {
1214
- CGFloat newOffset = self.scrollView.contentOffset.x + [self swipeHorizontalInterval];
1255
+ if (!self.scrollView.scrollEnabled) {
1256
+ return;
1257
+ }
1258
+
1259
+ BOOL isRTL = [[RCTI18nUtil sharedInstance] isRTL];
1260
+ NSInteger horizontalInterval = [self swipeHorizontalInterval];
1261
+ CGFloat newOffset = self.scrollView.contentOffset.x + (isRTL ? -horizontalInterval : horizontalInterval);
1215
1262
  // NSLog(@"Swiped right to %f", newOffset);
1216
- [self swipeHorizontalScrollToOffset:newOffset];
1263
+ [self scrollToHorizontalOffset:newOffset];
1217
1264
  }
1218
1265
 
1219
1266
  - (void)addSwipeGestureRecognizers
@@ -71,7 +71,6 @@ using namespace facebook::react;
71
71
  if (oldSwitchProps.value != newSwitchProps.value) {
72
72
  BOOL shouldAnimate = _isInitialValueSet == YES;
73
73
  [_switchView setOn:newSwitchProps.value animated:shouldAnimate];
74
- _isInitialValueSet = YES;
75
74
  }
76
75
 
77
76
  // `disabled`
@@ -94,6 +93,8 @@ using namespace facebook::react;
94
93
  _switchView.thumbTintColor = RCTUIColorFromSharedColor(newSwitchProps.thumbTintColor);
95
94
  }
96
95
 
96
+ _isInitialValueSet = YES;
97
+
97
98
  [super updateProps:props oldProps:oldProps];
98
99
  }
99
100
 
@@ -68,6 +68,8 @@ static NSSet<NSNumber *> *returnKeyTypesSet;
68
68
  * later comparison insensitive to them.
69
69
  */
70
70
  NSDictionary<NSAttributedStringKey, id> *_originalTypingAttributes;
71
+
72
+ BOOL _hasInputAccessoryView;
71
73
  }
72
74
 
73
75
  #pragma mark - UIView overrides
@@ -78,7 +80,7 @@ static NSSet<NSNumber *> *returnKeyTypesSet;
78
80
  const auto &defaultProps = TextInputShadowNode::defaultSharedProps();
79
81
  _props = defaultProps;
80
82
 
81
- _backedTextInputView = defaultProps->traits.multiline ? [RCTUITextView new] : [RCTUITextField new];
83
+ _backedTextInputView = defaultProps->multiline ? [RCTUITextView new] : [RCTUITextField new];
82
84
  _backedTextInputView.textInputDelegate = self;
83
85
  _ignoreNextTextInputCall = NO;
84
86
  _comingFromJS = NO;
@@ -116,6 +118,7 @@ static NSSet<NSNumber *> *returnKeyTypesSet;
116
118
  const auto &props = static_cast<const TextInputProps &>(*_props);
117
119
  if (props.autoFocus) {
118
120
  [_backedTextInputView becomeFirstResponder];
121
+ [self scrollCursorIntoView];
119
122
  }
120
123
  _didMoveToWindow = YES;
121
124
  [self initializeReturnKeyType];
@@ -169,8 +172,8 @@ static NSSet<NSNumber *> *returnKeyTypesSet;
169
172
  const auto &newTextInputProps = static_cast<const TextInputProps &>(*props);
170
173
 
171
174
  // Traits:
172
- if (newTextInputProps.traits.multiline != oldTextInputProps.traits.multiline) {
173
- [self _setMultiline:newTextInputProps.traits.multiline];
175
+ if (newTextInputProps.multiline != oldTextInputProps.multiline) {
176
+ [self _setMultiline:newTextInputProps.multiline];
174
177
  }
175
178
 
176
179
  if (newTextInputProps.traits.autocapitalizationType != oldTextInputProps.traits.autocapitalizationType) {
@@ -277,6 +280,11 @@ static NSSet<NSNumber *> *returnKeyTypesSet;
277
280
  if (newTextInputProps.inputAccessoryViewID != oldTextInputProps.inputAccessoryViewID) {
278
281
  _backedTextInputView.inputAccessoryViewID = RCTNSStringFromString(newTextInputProps.inputAccessoryViewID);
279
282
  }
283
+
284
+ if (newTextInputProps.inputAccessoryViewButtonLabel != oldTextInputProps.inputAccessoryViewButtonLabel) {
285
+ _backedTextInputView.inputAccessoryViewButtonLabel =
286
+ RCTNSStringFromString(newTextInputProps.inputAccessoryViewButtonLabel);
287
+ }
280
288
  [super updateProps:props oldProps:oldProps];
281
289
 
282
290
  [self setDefaultInputAccessoryView];
@@ -458,7 +466,7 @@ static NSSet<NSNumber *> *returnKeyTypesSet;
458
466
  [self _updateTypingAttributes];
459
467
 
460
468
  const auto &props = static_cast<const TextInputProps &>(*_props);
461
- if (props.traits.multiline && ![_lastStringStateWasUpdatedWith isEqual:_backedTextInputView.attributedText]) {
469
+ if (props.multiline && ![_lastStringStateWasUpdatedWith isEqual:_backedTextInputView.attributedText]) {
462
470
  [self textInputDidChange];
463
471
  _ignoreNextTextInputCall = YES;
464
472
  }
@@ -499,6 +507,8 @@ static NSSet<NSNumber *> *returnKeyTypesSet;
499
507
  [_backedTextInputView selectAll:nil];
500
508
  [self textInputDidChangeSelection];
501
509
  }
510
+
511
+ [self scrollCursorIntoView];
502
512
  }
503
513
 
504
514
  - (void)blur
@@ -593,23 +603,28 @@ static NSSet<NSNumber *> *returnKeyTypesSet;
593
603
 
594
604
  UIKeyboardType keyboardType = _backedTextInputView.keyboardType;
595
605
  UIReturnKeyType returnKeyType = _backedTextInputView.returnKeyType;
606
+ NSString *inputAccessoryViewButtonLabel = _backedTextInputView.inputAccessoryViewButtonLabel;
596
607
 
597
608
  BOOL containsKeyType = [returnKeyTypesSet containsObject:@(returnKeyType)];
609
+ BOOL containsInputAccessoryViewButtonLabel = inputAccessoryViewButtonLabel != nil;
598
610
 
599
611
  // These keyboard types (all are number pads) don't have a "returnKey" button by default,
600
612
  // so we create an `inputAccessoryView` with this button for them.
601
613
  BOOL shouldHaveInputAccessoryView =
602
614
  (keyboardType == UIKeyboardTypeNumberPad || keyboardType == UIKeyboardTypePhonePad ||
603
615
  keyboardType == UIKeyboardTypeDecimalPad || keyboardType == UIKeyboardTypeASCIICapableNumberPad) &&
604
- containsKeyType;
616
+ (containsKeyType || containsInputAccessoryViewButtonLabel);
605
617
 
606
- if ((_backedTextInputView.inputAccessoryView != nil) == shouldHaveInputAccessoryView) {
618
+ if (_hasInputAccessoryView == shouldHaveInputAccessoryView) {
607
619
  return;
608
620
  }
609
621
 
622
+ _hasInputAccessoryView = shouldHaveInputAccessoryView;
623
+
610
624
  #if !TARGET_OS_TV
611
625
  if (shouldHaveInputAccessoryView) {
612
- NSString *buttonLabel = [self returnKeyTypeToString:returnKeyType];
626
+ NSString *buttonLabel = inputAccessoryViewButtonLabel != nil ? inputAccessoryViewButtonLabel
627
+ : [self returnKeyTypeToString:returnKeyType];
613
628
 
614
629
  UIToolbar *toolbarView = [UIToolbar new];
615
630
  [toolbarView sizeToFit];
@@ -634,6 +649,8 @@ static NSSet<NSNumber *> *returnKeyTypesSet;
634
649
 
635
650
  - (void)handleInputAccessoryDoneButton
636
651
  {
652
+ // Ignore the value of whether we submitted; just make sure the submit event is called if necessary.
653
+ [self textInputShouldSubmitOnReturn];
637
654
  if ([self textInputShouldReturn]) {
638
655
  [_backedTextInputView endEditing:YES];
639
656
  }
@@ -736,6 +753,16 @@ static NSSet<NSNumber *> *returnKeyTypesSet;
736
753
  }
737
754
  }
738
755
 
756
+ - (void)scrollCursorIntoView
757
+ {
758
+ UITextRange *selectedRange = _backedTextInputView.selectedTextRange;
759
+ if (selectedRange.empty) {
760
+ NSInteger offsetStart = [_backedTextInputView offsetFromPosition:_backedTextInputView.beginningOfDocument
761
+ toPosition:selectedRange.start];
762
+ [_backedTextInputView scrollRangeToVisible:NSMakeRange(offsetStart, 0)];
763
+ }
764
+ }
765
+
739
766
  - (void)_setMultiline:(BOOL)multiline
740
767
  {
741
768
  [_backedTextInputView removeFromSuperview];
@@ -801,14 +828,7 @@ static NSSet<NSNumber *> *returnKeyTypesSet;
801
828
  - (SubmitBehavior)getSubmitBehavior
802
829
  {
803
830
  const auto &props = static_cast<const TextInputProps &>(*_props);
804
- const SubmitBehavior submitBehaviorDefaultable = props.traits.submitBehavior;
805
-
806
- // We should always have a non-default `submitBehavior`, but in case we don't, set it based on multiline.
807
- if (submitBehaviorDefaultable == SubmitBehavior::Default) {
808
- return props.traits.multiline ? SubmitBehavior::Newline : SubmitBehavior::BlurAndSubmit;
809
- }
810
-
811
- return submitBehaviorDefaultable;
831
+ return props.getNonDefaultSubmitBehavior();
812
832
  }
813
833
 
814
834
  @end
@@ -240,6 +240,15 @@ UITextContentType RCTUITextContentTypeFromString(const std::string &contentType)
240
240
  @"birthdateYear" : UITextContentTypeBirthdateYear,
241
241
  }];
242
242
  }
243
+
244
+ #if __IPHONE_OS_VERSION_MAX_ALLOWED >= 170400 /* __IPHONE_17_4 */
245
+ if (@available(iOS 17.4, *)) {
246
+ [mutableContentTypeMap addEntriesFromDictionary:@{
247
+ @"cellularEID" : UITextContentTypeCellularEID,
248
+ @"cellularIMEI" : UITextContentTypeCellularIMEI,
249
+ }];
250
+ }
251
+ #endif
243
252
  #endif
244
253
 
245
254
  contentTypeMap = mutableContentTypeMap;