react-native-tvos 0.76.5-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 (1066) 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 +2 -2
  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 +2 -3
  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 +25 -3
  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 +6 -1
  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 +39 -15
  249. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.mm +9 -0
  250. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +173 -105
  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 +18 -3
  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 +78 -70
  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 +106 -133
  398. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +25 -29
  399. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +25 -31
  400. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +136 -155
  401. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +23 -29
  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 +150 -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} +249 -169
  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 +146 -174
  581. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +31 -36
  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 -63
  647. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +66 -64
  648. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +174 -219
  649. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +31 -35
  650. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +36 -48
  651. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +15 -18
  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 +53 -61
  671. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +24 -28
  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/TextMeasureCache.h +2 -3
  846. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.mm +2 -0
  847. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +25 -0
  848. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +4 -10
  849. package/ReactCommon/react/renderer/uimanager/UIManager.h +1 -1
  850. package/ReactCommon/react/renderer/uimanager/UIManagerAnimationDelegate.h +1 -1
  851. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +1 -3
  852. package/ReactCommon/react/renderer/uimanager/UIManagerDelegate.h +1 -1
  853. package/ReactCommon/react/renderer/uimanager/consistency/tests/LazyShadowTreeRevisionConsistencyManagerTest.cpp +1 -1
  854. package/ReactCommon/react/renderer/uimanager/tests/PointerEventsProcessorTest.cpp +10 -10
  855. package/ReactCommon/react/runtime/React-RuntimeCore.podspec +5 -2
  856. package/ReactCommon/react/runtime/React-RuntimeHermes.podspec +4 -2
  857. package/ReactCommon/react/runtime/ReactInstance.cpp +189 -39
  858. package/ReactCommon/react/runtime/ReactInstance.h +1 -0
  859. package/ReactCommon/react/runtime/TimerManager.cpp +1 -1
  860. package/ReactCommon/react/runtime/hermes/HermesInstance.cpp +3 -6
  861. package/ReactCommon/react/runtime/iostests/RCTHostTests.mm +20 -2
  862. package/ReactCommon/react/runtime/platform/ios/React-RuntimeApple.podspec +7 -2
  863. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost+Internal.h +3 -0
  864. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.h +14 -6
  865. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.mm +59 -21
  866. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.h +11 -6
  867. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.mm +65 -27
  868. package/ReactCommon/react/runtime/tests/cxx/ReactInstanceTest.cpp +2 -131
  869. package/ReactCommon/react/timing/CMakeLists.txt +1 -1
  870. package/ReactCommon/react/timing/primitives.h +2 -0
  871. package/ReactCommon/react/utils/RunLoopObserver.cpp +2 -4
  872. package/ReactCommon/react/utils/RunLoopObserver.h +1 -3
  873. package/ReactCommon/react/utils/SharedFunction.h +1 -0
  874. package/ReactCommon/reactperflogger/CMakeLists.txt +4 -1
  875. package/ReactCommon/reactperflogger/React-perflogger.podspec +1 -0
  876. package/ReactCommon/reactperflogger/reactperflogger/FuseboxPerfettoDataSource.cpp +143 -0
  877. package/ReactCommon/reactperflogger/reactperflogger/FuseboxPerfettoDataSource.h +48 -0
  878. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfLogger.cpp +65 -0
  879. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfLogger.h +35 -0
  880. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfetto.cpp +2 -0
  881. package/ReactCommon/runtimeexecutor/React-runtimeexecutor.podspec +2 -1
  882. package/ReactCommon/yoga/yoga/YGEnums.cpp +14 -2
  883. package/ReactCommon/yoga/yoga/YGEnums.h +8 -2
  884. package/ReactCommon/yoga/yoga/YGNodeStyle.cpp +38 -28
  885. package/ReactCommon/yoga/yoga/YGNodeStyle.h +3 -0
  886. package/ReactCommon/yoga/yoga/algorithm/AbsoluteLayout.cpp +51 -117
  887. package/ReactCommon/yoga/yoga/algorithm/Align.h +4 -4
  888. package/ReactCommon/yoga/yoga/algorithm/Baseline.cpp +2 -6
  889. package/ReactCommon/yoga/yoga/algorithm/BoundAxis.h +13 -6
  890. package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.cpp +349 -341
  891. package/ReactCommon/yoga/yoga/algorithm/FlexLine.cpp +19 -18
  892. package/ReactCommon/yoga/yoga/algorithm/FlexLine.h +2 -4
  893. package/ReactCommon/yoga/yoga/enums/BoxSizing.h +40 -0
  894. package/ReactCommon/yoga/yoga/enums/Display.h +2 -1
  895. package/ReactCommon/yoga/yoga/enums/Errata.h +1 -1
  896. package/ReactCommon/yoga/yoga/node/LayoutableChildren.h +148 -0
  897. package/ReactCommon/yoga/yoga/node/Node.cpp +60 -7
  898. package/ReactCommon/yoga/yoga/node/Node.h +51 -9
  899. package/ReactCommon/yoga/yoga/style/Style.h +64 -1
  900. package/ReactCommon/yoga/yoga/style/StyleLength.h +0 -32
  901. package/ReactCommon/yoga/yoga/style/StyleValuePool.h +4 -4
  902. package/cli.js +2 -2
  903. package/gradle/libs.versions.toml +9 -8
  904. package/index.js +15 -8
  905. package/jest/setup.js +31 -0
  906. package/package.json +11 -13
  907. package/scripts/cocoapods/codegen_utils.rb +42 -17
  908. package/scripts/cocoapods/helpers.rb +16 -2
  909. package/scripts/cocoapods/new_architecture.rb +2 -0
  910. package/scripts/cocoapods/spm.rb +1 -1
  911. package/scripts/cocoapods/utils.rb +8 -6
  912. package/scripts/codegen/generate-artifacts-executor.js +336 -172
  913. package/scripts/codegen/generate-specs-cli-executor.js +3 -3
  914. package/scripts/codegen/templates/RCTAppDependencyProviderH.template +25 -0
  915. package/scripts/codegen/templates/RCTAppDependencyProviderMM.template +55 -0
  916. package/scripts/codegen/templates/RCTThirdPartyComponentsProviderH.template +16 -0
  917. package/scripts/codegen/templates/RCTThirdPartyComponentsProviderMM.template +23 -0
  918. package/scripts/codegen/templates/ReactAppDependencyProvider.podspec.template +34 -0
  919. package/scripts/generate-provider-cli.js +1 -2
  920. package/scripts/ios-configure-glog.sh +2 -2
  921. package/scripts/react-native-xcode.sh +8 -5
  922. package/scripts/react_native_pods.rb +16 -0
  923. package/sdks/.hermesversion +1 -1
  924. package/sdks/hermes-engine/hermes-engine.podspec +15 -9
  925. package/sdks/hermes-engine/hermes-utils.rb +29 -8
  926. package/sdks/hermes-engine/utils/build-ios-framework.sh +4 -24
  927. package/sdks/hermesc/linux64-bin/hermesc +0 -0
  928. package/sdks/hermesc/osx-bin/hermes +0 -0
  929. package/sdks/hermesc/osx-bin/hermesc +0 -0
  930. package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
  931. package/src/private/animated/NativeAnimatedHelper.js +18 -16
  932. package/src/private/animated/useAnimatedPropsMemo.js +356 -0
  933. package/src/private/components/HScrollViewNativeComponents.js +1 -27
  934. package/src/private/components/SafeAreaView_INTERNAL_DO_NOT_USE.js +11 -8
  935. package/src/private/components/VScrollViewNativeComponents.js +2 -25
  936. package/src/private/debugging/ReactDevToolsSettingsManager.android.js +20 -0
  937. package/src/private/debugging/ReactDevToolsSettingsManager.ios.js +30 -0
  938. package/{Libraries/ReactNative/ReactFabricInternals.js → src/private/debugging/ReactDevToolsSettingsManager.js.flow} +5 -6
  939. package/src/private/{fusebox → debugging}/setUpFuseboxReactDevToolsDispatcher.js +6 -0
  940. package/src/private/devmenu/DevMenu.d.ts +20 -0
  941. package/src/private/devmenu/DevMenu.js +31 -0
  942. package/src/private/featureflags/ReactNativeFeatureFlags.js +95 -86
  943. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +8 -2
  944. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +17 -19
  945. package/src/private/fusebox/specs/NativeReactDevToolsRuntimeSettingsModule.js +34 -0
  946. package/src/private/setup/setUpDOM.js +14 -6
  947. package/src/private/setup/setUpMutationObserver.js +5 -0
  948. package/src/private/specs/components/AndroidHorizontalScrollContentViewNativeComponent.js +1 -0
  949. package/src/private/specs/components/RCTModalHostViewNativeComponent.js +8 -0
  950. package/src/private/specs/modules/NativeAccessibilityInfo.js +9 -0
  951. package/src/private/specs/modules/NativeAccessibilityManager.js +4 -0
  952. package/src/private/specs/modules/NativeActionSheetManager.js +2 -0
  953. package/src/private/specs/modules/NativeAppearance.js +4 -10
  954. package/src/private/specs/modules/NativeExceptionsManager.js +0 -12
  955. package/src/private/specs/modules/{NativeDevToolsSettingsManager.js → NativeReactDevToolsSettingsManager.js} +3 -5
  956. package/src/private/webapis/dom/geometry/DOMRect.js +2 -2
  957. package/src/private/webapis/dom/geometry/DOMRectReadOnly.js +2 -2
  958. package/src/private/webapis/dom/nodes/ReactNativeElement.js +2 -3
  959. package/src/private/webapis/intersectionobserver/IntersectionObserver.js +102 -11
  960. package/src/private/webapis/intersectionobserver/IntersectionObserverEntry.js +26 -0
  961. package/src/private/webapis/intersectionobserver/IntersectionObserverManager.js +1 -0
  962. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +1 -0
  963. package/src/private/webapis/intersectionobserver/specs/__mocks__/NativeIntersectionObserver.js +9 -0
  964. package/src/private/webapis/performance/EventTiming.js +13 -8
  965. package/src/private/webapis/performance/Performance.js +66 -73
  966. package/src/private/webapis/performance/PerformanceEntry.js +2 -5
  967. package/src/private/webapis/performance/PerformanceObserver.js +65 -164
  968. package/src/private/webapis/performance/RawPerformanceEntry.js +1 -1
  969. package/src/private/webapis/performance/UserTiming.js +11 -7
  970. package/src/private/webapis/performance/Utilities.js +18 -0
  971. package/src/private/webapis/performance/specs/NativePerformance.js +71 -2
  972. package/src/private/webapis/performance/specs/__mocks__/NativePerformanceMock.js +267 -0
  973. package/third-party-podspecs/DoubleConversion.podspec +1 -0
  974. package/third-party-podspecs/RCT-Folly.podspec +20 -11
  975. package/third-party-podspecs/boost.podspec +4 -0
  976. package/third-party-podspecs/fast_float.podspec +29 -0
  977. package/third-party-podspecs/glog.podspec +2 -1
  978. package/types/index.d.ts +1 -1
  979. package/types/public/ReactNativeTVTypes.d.ts +9 -7
  980. package/types/public/ReactNativeTypes.d.ts +4 -8
  981. package/types/tsconfig.json +13 -13
  982. package/Libraries/DevToolsSettings/DevToolsSettingsManager.android.js +0 -35
  983. package/Libraries/DevToolsSettings/DevToolsSettingsManager.d.ts +0 -20
  984. package/Libraries/DevToolsSettings/DevToolsSettingsManager.ios.js +0 -49
  985. package/Libraries/DevToolsSettings/DevToolsSettingsManager.js.flow +0 -19
  986. package/Libraries/DevToolsSettings/NativeDevToolsSettingsManager.js +0 -13
  987. package/React/Base/RCTRuntimeExecutorModule.h +0 -19
  988. package/ReactAndroid/src/main/java/com/facebook/debug/debugoverlay/model/DebugOverlayTag.java +0 -30
  989. package/ReactAndroid/src/main/java/com/facebook/debug/tags/ReactDebugOverlayTags.java +0 -38
  990. package/ReactAndroid/src/main/java/com/facebook/proguard/annotations/KeepGettersAndSetters.java +0 -27
  991. package/ReactAndroid/src/main/java/com/facebook/react/BaseReactPackage.java +0 -159
  992. package/ReactAndroid/src/main/java/com/facebook/react/CompositeReactPackage.java +0 -131
  993. package/ReactAndroid/src/main/java/com/facebook/react/CompositeReactPackageTurboModuleManagerDelegate.java +0 -57
  994. package/ReactAndroid/src/main/java/com/facebook/react/EagerModuleProvider.java +0 -26
  995. package/ReactAndroid/src/main/java/com/facebook/react/NativeModuleRegistryBuilder.java +0 -69
  996. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackage.java +0 -67
  997. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageHelper.java +0 -56
  998. package/ReactAndroid/src/main/java/com/facebook/react/TurboReactPackage.java +0 -14
  999. package/ReactAndroid/src/main/java/com/facebook/react/bridge/AssertionException.java +0 -20
  1000. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSApplicationIllegalArgumentException.java +0 -20
  1001. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaOnlyArray.java +0 -219
  1002. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaOnlyMap.java +0 -266
  1003. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeArgumentsParseException.java +0 -22
  1004. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeArray.java +0 -28
  1005. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NoSuchKeyException.java +0 -20
  1006. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactIgnorableMountingException.java +0 -36
  1007. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNoCrashBridgeNotAllowedSoftException.java +0 -27
  1008. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNoCrashSoftException.java +0 -29
  1009. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactSoftExceptionLogger.java +0 -66
  1010. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableNativeArray.java +0 -174
  1011. package/ReactAndroid/src/main/java/com/facebook/react/bridge/WritableNativeArray.java +0 -68
  1012. package/ReactAndroid/src/main/java/com/facebook/react/bridge/interop/InteropModuleRegistry.java +0 -57
  1013. package/ReactAndroid/src/main/java/com/facebook/react/common/SurfaceDelegateFactory.java +0 -24
  1014. package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java +0 -79
  1015. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/AndroidManifest.xml +0 -10
  1016. package/ReactAndroid/src/main/java/com/facebook/react/fabric/Binding.kt +0 -74
  1017. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricComponents.kt +0 -45
  1018. package/ReactAndroid/src/main/java/com/facebook/react/fabric/LongStreamingStats.java +0 -76
  1019. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.java +0 -90
  1020. package/ReactAndroid/src/main/java/com/facebook/react/flipper/ReactNativeFlipper.kt +0 -34
  1021. package/ReactAndroid/src/main/java/com/facebook/react/modules/devtoolssettings/DevToolsSettingsManagerModule.kt +0 -40
  1022. package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.java +0 -280
  1023. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoHelpers.java +0 -175
  1024. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoModule.java +0 -104
  1025. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessDevSupportManager.java +0 -159
  1026. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/TaskCompletionSource.java +0 -73
  1027. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/UnobservedErrorNotifier.java +0 -42
  1028. package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.java +0 -329
  1029. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerInterface.kt +0 -85
  1030. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/debug/NotThreadSafeViewHierarchyUpdateDebugListener.java +0 -30
  1031. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/util/ReactFindViewUtil.java +0 -138
  1032. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollContainerView.java +0 -82
  1033. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewCommandHelper.java +0 -141
  1034. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/ReactSwipeRefreshLayout.java +0 -151
  1035. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/SwipeRefreshLayoutManager.java +0 -194
  1036. package/ReactAndroid/src/main/java/com/facebook/react/views/text/FontMetricsUtil.java +0 -65
  1037. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactFontManager.java +0 -66
  1038. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactRawTextManager.java +0 -55
  1039. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextUpdate.java +0 -153
  1040. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManagerCallback.java +0 -25
  1041. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTypefaceUtils.java +0 -198
  1042. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactVirtualTextViewManager.java +0 -47
  1043. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextTransform.java +0 -63
  1044. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactClippingViewManager.java +0 -95
  1045. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundDrawable.java +0 -25
  1046. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundManager.java +0 -146
  1047. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.java +0 -588
  1048. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/CompositeTurboModuleManagerDelegate.cpp +0 -58
  1049. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/CompositeTurboModuleManagerDelegate.h +0 -48
  1050. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTRuntimeExecutor.h +0 -32
  1051. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTRuntimeExecutor.mm +0 -34
  1052. package/ReactCommon/react/nativemodule/samples/platform/android/SampleLegacyModule.java +0 -246
  1053. package/ReactCommon/react/nativemodule/samples/platform/android/SampleTurboModule.java +0 -281
  1054. package/ReactCommon/react/nativemodule/webperformance/NativePerformanceObserver.cpp +0 -130
  1055. package/ReactCommon/react/nativemodule/webperformance/NativePerformanceObserver.h +0 -91
  1056. package/ReactCommon/react/performance/timeline/BoundedConsumableBuffer.h +0 -247
  1057. package/ReactCommon/react/performance/timeline/tests/BoundedConsumableBufferTest.cpp +0 -219
  1058. package/ReactCommon/react/renderer/scheduler/AsynchronousEventBeat.cpp +0 -57
  1059. package/ReactCommon/react/utils/CoreFeatures.h +0 -30
  1060. package/src/private/components/useSyncOnScroll.js +0 -48
  1061. package/src/private/fusebox/README.md +0 -12
  1062. package/src/private/webapis/performance/specs/NativePerformanceObserver.js +0 -61
  1063. package/src/private/webapis/performance/specs/__mocks__/NativePerformance.js +0 -67
  1064. package/src/private/webapis/performance/specs/__mocks__/NativePerformanceObserver.js +0 -127
  1065. package/types/experimental.d.ts +0 -59
  1066. /package/src/private/{fusebox → debugging}/FuseboxSessionObserver.js +0 -0
@@ -10,11 +10,13 @@
10
10
  #import <CoreGraphics/CoreGraphics.h>
11
11
  #import <QuartzCore/QuartzCore.h>
12
12
  #import <objc/runtime.h>
13
+ #import <ranges>
13
14
 
14
15
  #import <React/RCTAssert.h>
15
16
  #import <React/RCTBorderDrawing.h>
16
17
  #import <React/RCTBoxShadow.h>
17
18
  #import <React/RCTConversions.h>
19
+ #import <React/RCTLinearGradient.h>
18
20
  #import <React/RCTLocalizedString.h>
19
21
  #import <react/featureflags/ReactNativeFeatureFlags.h>
20
22
  #import <React/RCTDefines.h>
@@ -55,9 +57,10 @@ const CGFloat BACKGROUND_COLOR_ZPOSITION = -1024.0f;
55
57
  UIColor *_backgroundColor;
56
58
  CALayer *_backgroundColorLayer;
57
59
  __weak CALayer *_borderLayer;
60
+ CALayer *_outlineLayer;
58
61
  CALayer *_boxShadowLayer;
59
62
  CALayer *_filterLayer;
60
- NSMutableArray<CAGradientLayer *> *_gradientLayers;
63
+ NSMutableArray<CALayer *> *_backgroundImageLayers;
61
64
  BOOL _needsInvalidateLayer;
62
65
  BOOL _isJSResponder;
63
66
  BOOL _removeClippedSubviews;
@@ -778,9 +781,8 @@ const CGFloat BACKGROUND_COLOR_ZPOSITION = -1024.0f;
778
781
 
779
782
  // `shadowColor`
780
783
  if (oldViewProps.shadowColor != newViewProps.shadowColor) {
781
- CGColorRef shadowColor = RCTCreateCGColorRefFromSharedColor(newViewProps.shadowColor);
782
- self.layer.shadowColor = shadowColor;
783
- CGColorRelease(shadowColor);
784
+ UIColor *shadowColor = RCTUIColorFromSharedColor(newViewProps.shadowColor);
785
+ self.layer.shadowColor = shadowColor.CGColor;
784
786
  needsInvalidateLayer = YES;
785
787
  }
786
788
 
@@ -856,6 +858,14 @@ const CGFloat BACKGROUND_COLOR_ZPOSITION = -1024.0f;
856
858
  needsInvalidateLayer = YES;
857
859
  }
858
860
 
861
+ // `outline`
862
+ if (oldViewProps.outlineStyle != newViewProps.outlineStyle ||
863
+ oldViewProps.outlineColor != newViewProps.outlineColor ||
864
+ oldViewProps.outlineOffset != newViewProps.outlineOffset ||
865
+ oldViewProps.outlineWidth != newViewProps.outlineWidth) {
866
+ needsInvalidateLayer = YES;
867
+ }
868
+
859
869
  // `nativeId`
860
870
  if (oldViewProps.nativeId != newViewProps.nativeId) {
861
871
  self.nativeId = RCTNSStringFromStringNilIfEmpty(newViewProps.nativeId);
@@ -1304,21 +1314,61 @@ static RCTCornerRadii RCTCornerRadiiFromBorderRadii(BorderRadii borderRadii)
1304
1314
  .bottomRightVertical = (CGFloat)borderRadii.bottomRight.vertical};
1305
1315
  }
1306
1316
 
1307
- static RCTBorderColors RCTCreateRCTBorderColorsFromBorderColors(BorderColors borderColors)
1317
+ static RCTCornerRadii RCTCreateOutlineCornerRadiiFromBorderRadii(const BorderRadii &borderRadii, CGFloat outlineWidth)
1308
1318
  {
1309
- return RCTBorderColors{
1310
- .top = RCTCreateCGColorRefFromSharedColor(borderColors.top),
1311
- .left = RCTCreateCGColorRefFromSharedColor(borderColors.left),
1312
- .bottom = RCTCreateCGColorRefFromSharedColor(borderColors.bottom),
1313
- .right = RCTCreateCGColorRefFromSharedColor(borderColors.right)};
1319
+ return RCTCornerRadii{
1320
+ borderRadii.topLeft.horizontal != 0 ? borderRadii.topLeft.horizontal + outlineWidth : 0,
1321
+ borderRadii.topLeft.vertical != 0 ? borderRadii.topLeft.vertical + outlineWidth : 0,
1322
+ borderRadii.topRight.horizontal != 0 ? borderRadii.topRight.horizontal + outlineWidth : 0,
1323
+ borderRadii.topRight.vertical != 0 ? borderRadii.topRight.vertical + outlineWidth : 0,
1324
+ borderRadii.bottomLeft.horizontal != 0 ? borderRadii.bottomLeft.horizontal + outlineWidth : 0,
1325
+ borderRadii.bottomLeft.vertical != 0 ? borderRadii.bottomLeft.vertical + outlineWidth : 0,
1326
+ borderRadii.bottomRight.horizontal != 0 ? borderRadii.bottomRight.horizontal + outlineWidth : 0,
1327
+ borderRadii.bottomRight.vertical != 0 ? borderRadii.bottomRight.vertical + outlineWidth : 0};
1328
+ }
1329
+
1330
+ // To be used for CSS properties like `border` and `outline`.
1331
+ static void RCTAddContourEffectToLayer(
1332
+ CALayer *layer,
1333
+ const RCTCornerRadii &cornerRadii,
1334
+ const RCTBorderColors &contourColors,
1335
+ const UIEdgeInsets &contourInsets,
1336
+ const RCTBorderStyle &contourStyle)
1337
+ {
1338
+ UIImage *image = RCTGetBorderImage(
1339
+ contourStyle, layer.bounds.size, cornerRadii, contourInsets, contourColors, [UIColor clearColor], NO);
1340
+
1341
+ if (image == nil) {
1342
+ layer.contents = nil;
1343
+ } else {
1344
+ CGSize imageSize = image.size;
1345
+ UIEdgeInsets imageCapInsets = image.capInsets;
1346
+ CGRect contentsCenter = CGRect{
1347
+ CGPoint{imageCapInsets.left / imageSize.width, imageCapInsets.top / imageSize.height},
1348
+ CGSize{(CGFloat)1.0 / imageSize.width, (CGFloat)1.0 / imageSize.height}};
1349
+ layer.contents = (id)image.CGImage;
1350
+ layer.contentsScale = image.scale;
1351
+
1352
+ BOOL isResizable = !UIEdgeInsetsEqualToEdgeInsets(image.capInsets, UIEdgeInsetsZero);
1353
+ if (isResizable) {
1354
+ layer.contentsCenter = contentsCenter;
1355
+ } else {
1356
+ layer.contentsCenter = CGRect{CGPoint{0.0, 0.0}, CGSize{1.0, 1.0}};
1357
+ }
1358
+ }
1359
+
1360
+ // If mutations are applied inside of Animation block, it may cause layer to be animated.
1361
+ // To stop that, imperatively remove all animations from layer.
1362
+ [layer removeAllAnimations];
1314
1363
  }
1315
1364
 
1316
- static void RCTReleaseRCTBorderColors(RCTBorderColors borderColors)
1365
+ static RCTBorderColors RCTCreateRCTBorderColorsFromBorderColors(BorderColors borderColors)
1317
1366
  {
1318
- CGColorRelease(borderColors.top);
1319
- CGColorRelease(borderColors.left);
1320
- CGColorRelease(borderColors.bottom);
1321
- CGColorRelease(borderColors.right);
1367
+ return RCTBorderColors{
1368
+ .top = RCTUIColorFromSharedColor(borderColors.top),
1369
+ .left = RCTUIColorFromSharedColor(borderColors.left),
1370
+ .bottom = RCTUIColorFromSharedColor(borderColors.bottom),
1371
+ .right = RCTUIColorFromSharedColor(borderColors.right)};
1322
1372
  }
1323
1373
 
1324
1374
  static CALayerCornerCurve CornerCurveFromBorderCurve(BorderCurve borderCurve)
@@ -1345,12 +1395,25 @@ static RCTBorderStyle RCTBorderStyleFromBorderStyle(BorderStyle borderStyle)
1345
1395
  }
1346
1396
  }
1347
1397
 
1398
+ static RCTBorderStyle RCTBorderStyleFromOutlineStyle(OutlineStyle outlineStyle)
1399
+ {
1400
+ switch (outlineStyle) {
1401
+ case OutlineStyle::Solid:
1402
+ return RCTBorderStyleSolid;
1403
+ case OutlineStyle::Dotted:
1404
+ return RCTBorderStyleDotted;
1405
+ case OutlineStyle::Dashed:
1406
+ return RCTBorderStyleDashed;
1407
+ }
1408
+ }
1409
+
1348
1410
  - (BOOL)styleWouldClipOverflowInk
1349
1411
  {
1350
1412
  const auto borderMetrics = _props->resolveBorderMetrics(_layoutMetrics);
1351
1413
  BOOL nonZeroBorderWidth = !(borderMetrics.borderWidths.isUniform() && borderMetrics.borderWidths.left == 0);
1352
1414
  BOOL clipToPaddingBox = ReactNativeFeatureFlags::enableIOSViewClipToPaddingBox();
1353
- return _props->getClipsContentToBounds() && (!_props->boxShadow.empty() || (clipToPaddingBox && nonZeroBorderWidth));
1415
+ return _props->getClipsContentToBounds() &&
1416
+ ((!_props->boxShadow.empty() || (clipToPaddingBox && nonZeroBorderWidth)) || _props->outlineWidth != 0);
1354
1417
  }
1355
1418
 
1356
1419
  // This UIView is the UIView that holds all subviews. It is sometimes not self
@@ -1453,7 +1516,7 @@ static RCTBorderStyle RCTBorderStyleFromBorderStyle(BorderStyle borderStyle)
1453
1516
  (*borderMetrics.borderColors.left).getUIColor() != nullptr));
1454
1517
 
1455
1518
  // background color
1456
- CGColorRef backgroundColor = [_backgroundColor resolvedColorWithTraitCollection:self.traitCollection].CGColor;
1519
+ UIColor *backgroundColor = [_backgroundColor resolvedColorWithTraitCollection:self.traitCollection];
1457
1520
  // The reason we sometimes do not set self.layer's backgroundColor is because
1458
1521
  // we want to support non-uniform border radii, which apple does not natively
1459
1522
  // support. To get this behavior we need to create a CGPath in the shape that
@@ -1463,7 +1526,7 @@ static RCTBorderStyle RCTBorderStyleFromBorderStyle(BorderStyle borderStyle)
1463
1526
  if (useCoreAnimationBorderRendering) {
1464
1527
  [_backgroundColorLayer removeFromSuperlayer];
1465
1528
  _backgroundColorLayer = nil;
1466
- layer.backgroundColor = backgroundColor;
1529
+ layer.backgroundColor = backgroundColor.CGColor;
1467
1530
  } else {
1468
1531
  layer.backgroundColor = nil;
1469
1532
  if (!_backgroundColorLayer) {
@@ -1473,7 +1536,7 @@ static RCTBorderStyle RCTBorderStyleFromBorderStyle(BorderStyle borderStyle)
1473
1536
  [self.layer addSublayer:_backgroundColorLayer];
1474
1537
  }
1475
1538
 
1476
- _backgroundColorLayer.backgroundColor = backgroundColor;
1539
+ _backgroundColorLayer.backgroundColor = backgroundColor.CGColor;
1477
1540
  if (borderMetrics.borderRadii.isUniform()) {
1478
1541
  _backgroundColorLayer.mask = nil;
1479
1542
  _backgroundColorLayer.cornerRadius = borderMetrics.borderRadii.topLeft.horizontal;
@@ -1496,9 +1559,8 @@ static RCTBorderStyle RCTBorderStyleFromBorderStyle(BorderStyle borderStyle)
1496
1559
  _borderLayer = nil;
1497
1560
 
1498
1561
  layer.borderWidth = (CGFloat)borderMetrics.borderWidths.left;
1499
- CGColorRef borderColor = RCTCreateCGColorRefFromSharedColor(borderMetrics.borderColors.left);
1500
- layer.borderColor = borderColor;
1501
- CGColorRelease(borderColor);
1562
+ UIColor *borderColor = RCTUIColorFromSharedColor(borderMetrics.borderColors.left);
1563
+ layer.borderColor = borderColor.CGColor;
1502
1564
  layer.cornerRadius = (CGFloat)borderMetrics.borderRadii.topLeft.horizontal;
1503
1565
  layer.cornerCurve = CornerCurveFromBorderCurve(borderMetrics.borderCurves.topLeft);
1504
1566
  } else {
@@ -1516,40 +1578,44 @@ static RCTBorderStyle RCTBorderStyleFromBorderStyle(BorderStyle borderStyle)
1516
1578
  layer.cornerRadius = 0;
1517
1579
 
1518
1580
  RCTBorderColors borderColors = RCTCreateRCTBorderColorsFromBorderColors(borderMetrics.borderColors);
1519
- UIImage *image = RCTGetBorderImage(
1520
- RCTBorderStyleFromBorderStyle(borderMetrics.borderStyles.left),
1521
- layer.bounds.size,
1581
+
1582
+ RCTAddContourEffectToLayer(
1583
+ _borderLayer,
1522
1584
  RCTCornerRadiiFromBorderRadii(borderMetrics.borderRadii),
1523
- RCTUIEdgeInsetsFromEdgeInsets(borderMetrics.borderWidths),
1524
1585
  borderColors,
1525
- [UIColor clearColor].CGColor,
1526
- NO);
1586
+ RCTUIEdgeInsetsFromEdgeInsets(borderMetrics.borderWidths),
1587
+ RCTBorderStyleFromBorderStyle(borderMetrics.borderStyles.left));
1588
+ }
1527
1589
 
1528
- RCTReleaseRCTBorderColors(borderColors);
1590
+ // outline
1591
+ [_outlineLayer removeFromSuperlayer];
1592
+ _outlineLayer = nil;
1593
+ if (_props->outlineWidth != 0) {
1594
+ if (!_outlineLayer) {
1595
+ CALayer *outlineLayer = [CALayer new];
1596
+ outlineLayer.magnificationFilter = kCAFilterNearest;
1597
+ outlineLayer.zPosition = BACKGROUND_COLOR_ZPOSITION + 2;
1529
1598
 
1530
- if (image == nil) {
1531
- _borderLayer.contents = nil;
1532
- } else {
1533
- CGSize imageSize = image.size;
1534
- UIEdgeInsets imageCapInsets = image.capInsets;
1535
- CGRect contentsCenter = CGRect{
1536
- CGPoint{imageCapInsets.left / imageSize.width, imageCapInsets.top / imageSize.height},
1537
- CGSize{(CGFloat)1.0 / imageSize.width, (CGFloat)1.0 / imageSize.height}};
1538
-
1539
- _borderLayer.contents = (id)image.CGImage;
1540
- _borderLayer.contentsScale = image.scale;
1541
-
1542
- BOOL isResizable = !UIEdgeInsetsEqualToEdgeInsets(image.capInsets, UIEdgeInsetsZero);
1543
- if (isResizable) {
1544
- _borderLayer.contentsCenter = contentsCenter;
1545
- } else {
1546
- _borderLayer.contentsCenter = CGRect{CGPoint{0.0, 0.0}, CGSize{1.0, 1.0}};
1547
- }
1599
+ [layer addSublayer:outlineLayer];
1600
+ _outlineLayer = outlineLayer;
1548
1601
  }
1602
+ _outlineLayer.frame = CGRectInset(
1603
+ layer.bounds, -_props->outlineOffset - _props->outlineWidth, -_props->outlineOffset - _props->outlineWidth);
1549
1604
 
1550
- // If mutations are applied inside of Animation block, it may cause _borderLayer to be animated.
1551
- // To stop that, imperatively remove all animations from _borderLayer.
1552
- [_borderLayer removeAllAnimations];
1605
+ if (borderMetrics.borderRadii.isUniform() && borderMetrics.borderRadii.topLeft.horizontal == 0) {
1606
+ UIColor *outlineColor = RCTUIColorFromSharedColor(_props->outlineColor);
1607
+ _outlineLayer.borderWidth = _props->outlineWidth;
1608
+ _outlineLayer.borderColor = outlineColor.CGColor;
1609
+ } else {
1610
+ UIColor *outlineColor = RCTUIColorFromSharedColor(_props->outlineColor);
1611
+
1612
+ RCTAddContourEffectToLayer(
1613
+ _outlineLayer,
1614
+ RCTCreateOutlineCornerRadiiFromBorderRadii(borderMetrics.borderRadii, _props->outlineWidth),
1615
+ RCTBorderColors{outlineColor, outlineColor, outlineColor, outlineColor},
1616
+ UIEdgeInsets{_props->outlineWidth, _props->outlineWidth, _props->outlineWidth, _props->outlineWidth},
1617
+ RCTBorderStyleFromOutlineStyle(_props->outlineStyle));
1618
+ }
1553
1619
  }
1554
1620
 
1555
1621
  // filter
@@ -1590,50 +1656,35 @@ static RCTBorderStyle RCTBorderStyleFromBorderStyle(BorderStyle borderStyle)
1590
1656
  }
1591
1657
 
1592
1658
  // background image
1593
- [self clearExistingGradientLayers];
1659
+ [self clearExistingBackgroundImageLayers];
1594
1660
  if (!_props->backgroundImage.empty()) {
1595
- for (const auto &gradient : _props->backgroundImage) {
1596
- CAGradientLayer *gradientLayer = [CAGradientLayer layer];
1597
- NSMutableArray *colors = [NSMutableArray array];
1598
- NSMutableArray *locations = [NSMutableArray array];
1599
- for (const auto &colorStop : gradient.colorStops) {
1600
- if (colorStop.position.has_value()) {
1601
- auto location = @(colorStop.position.value());
1602
- UIColor *color = RCTUIColorFromSharedColor(colorStop.color);
1603
- [colors addObject:(id)color.CGColor];
1604
- [locations addObject:location];
1661
+ // iterate in reverse to match CSS specification
1662
+ for (const auto &backgroundImage : std::ranges::reverse_view(_props->backgroundImage)) {
1663
+ if (std::holds_alternative<LinearGradient>(backgroundImage)) {
1664
+ const auto &linearGradient = std::get<LinearGradient>(backgroundImage);
1665
+ CALayer *backgroundImageLayer = [RCTLinearGradient gradientLayerWithSize:self.layer.bounds.size
1666
+ gradient:linearGradient];
1667
+ backgroundImageLayer.frame = layer.bounds;
1668
+ backgroundImageLayer.masksToBounds = YES;
1669
+ // To make border radius work with gradient layers
1670
+ if (borderMetrics.borderRadii.isUniform()) {
1671
+ backgroundImageLayer.cornerRadius = layer.cornerRadius;
1672
+ backgroundImageLayer.cornerCurve = layer.cornerCurve;
1673
+ backgroundImageLayer.mask = nil;
1674
+ } else {
1675
+ CAShapeLayer *maskLayer =
1676
+ [self createMaskLayer:self.bounds
1677
+ cornerInsets:RCTGetCornerInsets(
1678
+ RCTCornerRadiiFromBorderRadii(borderMetrics.borderRadii), UIEdgeInsetsZero)];
1679
+ backgroundImageLayer.mask = maskLayer;
1680
+ backgroundImageLayer.cornerRadius = 0;
1605
1681
  }
1606
- }
1607
- gradientLayer.startPoint = CGPointMake(gradient.startX, gradient.startY);
1608
- gradientLayer.endPoint = CGPointMake(gradient.endX, gradient.endY);
1609
1682
 
1610
- if (locations.count > 0) {
1611
- gradientLayer.locations = locations;
1612
- }
1613
- gradientLayer.colors = colors;
1614
- gradientLayer.frame = layer.bounds;
1615
-
1616
- // border styling to work with gradient layers
1617
- if (useCoreAnimationBorderRendering) {
1618
- gradientLayer.borderWidth = layer.borderWidth;
1619
- gradientLayer.borderColor = layer.borderColor;
1620
- gradientLayer.cornerRadius = layer.cornerRadius;
1621
- gradientLayer.cornerCurve = layer.cornerCurve;
1622
- } else {
1623
- CAShapeLayer *maskLayer = [CAShapeLayer layer];
1624
- CGPathRef path = RCTPathCreateWithRoundedRect(
1625
- self.bounds,
1626
- RCTGetCornerInsets(RCTCornerRadiiFromBorderRadii(borderMetrics.borderRadii), UIEdgeInsetsZero),
1627
- nil);
1628
- maskLayer.path = path;
1629
- CGPathRelease(path);
1630
- gradientLayer.mask = maskLayer;
1631
- }
1632
-
1633
- gradientLayer.zPosition = BACKGROUND_COLOR_ZPOSITION;
1683
+ backgroundImageLayer.zPosition = BACKGROUND_COLOR_ZPOSITION;
1634
1684
 
1635
- [self.layer addSublayer:gradientLayer];
1636
- [_gradientLayers addObject:gradientLayer];
1685
+ [self.layer addSublayer:backgroundImageLayer];
1686
+ [_backgroundImageLayers addObject:backgroundImageLayer];
1687
+ }
1637
1688
  }
1638
1689
  }
1639
1690
 
@@ -1656,15 +1707,10 @@ static RCTBorderStyle RCTBorderStyleFromBorderStyle(BorderStyle borderStyle)
1656
1707
  }
1657
1708
 
1658
1709
  // clipping
1710
+ self.currentContainerView.layer.mask = nil;
1659
1711
  if (self.currentContainerView.clipsToBounds) {
1660
1712
  BOOL clipToPaddingBox = ReactNativeFeatureFlags::enableIOSViewClipToPaddingBox();
1661
- if (clipToPaddingBox) {
1662
- CALayer *maskLayer = [self createMaskLayer:RCTCGRectFromRect(_layoutMetrics.getPaddingFrame())
1663
- cornerInsets:RCTGetCornerInsets(
1664
- RCTCornerRadiiFromBorderRadii(borderMetrics.borderRadii),
1665
- RCTUIEdgeInsetsFromEdgeInsets(borderMetrics.borderWidths))];
1666
- self.currentContainerView.layer.mask = maskLayer;
1667
- } else {
1713
+ if (!clipToPaddingBox) {
1668
1714
  if (borderMetrics.borderRadii.isUniform()) {
1669
1715
  self.currentContainerView.layer.cornerRadius = borderMetrics.borderRadii.topLeft.horizontal;
1670
1716
  } else {
@@ -1686,9 +1732,17 @@ static RCTBorderStyle RCTBorderStyleFromBorderStyle(BorderStyle borderStyle)
1686
1732
  subview.layer.mask = [self createMaskLayer:subview.bounds cornerInsets:cornerInsets];
1687
1733
  }
1688
1734
  }
1735
+ } else if (
1736
+ !borderMetrics.borderWidths.isUniform() || borderMetrics.borderWidths.left != 0 ||
1737
+ !borderMetrics.borderRadii.isUniform()) {
1738
+ CALayer *maskLayer = [self createMaskLayer:RCTCGRectFromRect(_layoutMetrics.getPaddingFrame())
1739
+ cornerInsets:RCTGetCornerInsets(
1740
+ RCTCornerRadiiFromBorderRadii(borderMetrics.borderRadii),
1741
+ RCTUIEdgeInsetsFromEdgeInsets(borderMetrics.borderWidths))];
1742
+ self.currentContainerView.layer.mask = maskLayer;
1743
+ } else {
1744
+ self.currentContainerView.layer.cornerRadius = borderMetrics.borderRadii.topLeft.horizontal;
1689
1745
  }
1690
- } else {
1691
- self.currentContainerView.layer.mask = nil;
1692
1746
  }
1693
1747
  }
1694
1748
 
@@ -1701,16 +1755,16 @@ static RCTBorderStyle RCTBorderStyleFromBorderStyle(BorderStyle borderStyle)
1701
1755
  return maskLayer;
1702
1756
  }
1703
1757
 
1704
- - (void)clearExistingGradientLayers
1758
+ - (void)clearExistingBackgroundImageLayers
1705
1759
  {
1706
- if (_gradientLayers == nil) {
1707
- _gradientLayers = [NSMutableArray new];
1760
+ if (_backgroundImageLayers == nil) {
1761
+ _backgroundImageLayers = [NSMutableArray new];
1708
1762
  return;
1709
1763
  }
1710
- for (CAGradientLayer *gradientLayer in _gradientLayers) {
1711
- [gradientLayer removeFromSuperlayer];
1764
+ for (CALayer *backgroundImageLayer in _backgroundImageLayers) {
1765
+ [backgroundImageLayer removeFromSuperlayer];
1712
1766
  }
1713
- [_gradientLayers removeAllObjects];
1767
+ [_backgroundImageLayers removeAllObjects];
1714
1768
  }
1715
1769
 
1716
1770
  #pragma mark - Accessibility
@@ -1884,6 +1938,20 @@ static NSString *RCTRecursiveAccessibilityLabel(UIView *view)
1884
1938
  }
1885
1939
  }
1886
1940
 
1941
+ - (void)accessibilityIncrement
1942
+ {
1943
+ if (_eventEmitter && _props->onAccessibilityAction) {
1944
+ _eventEmitter->onAccessibilityAction("increment");
1945
+ }
1946
+ }
1947
+
1948
+ - (void)accessibilityDecrement
1949
+ {
1950
+ if (_eventEmitter && _props->onAccessibilityAction) {
1951
+ _eventEmitter->onAccessibilityAction("decrement");
1952
+ }
1953
+ }
1954
+
1887
1955
  - (BOOL)didActivateAccessibilityCustomAction:(UIAccessibilityCustomAction *)action
1888
1956
  {
1889
1957
  if (_eventEmitter && _props->onAccessibilityAction) {
@@ -48,7 +48,7 @@ NS_ASSUME_NONNULL_BEGIN
48
48
  * Schedule a mounting transaction to be performed on the main thread.
49
49
  * Can be called from any thread.
50
50
  */
51
- - (void)scheduleTransaction:(facebook::react::MountingCoordinator::Shared)mountingCoordinator;
51
+ - (void)scheduleTransaction:(std::shared_ptr<const facebook::react::MountingCoordinator>)mountingCoordinator;
52
52
 
53
53
  /**
54
54
  * Dispatch a command to be performed on the main thread.
@@ -20,7 +20,6 @@
20
20
  #import <react/renderer/core/LayoutableShadowNode.h>
21
21
  #import <react/renderer/core/RawProps.h>
22
22
  #import <react/renderer/mounting/TelemetryController.h>
23
- #import <react/utils/CoreFeatures.h>
24
23
 
25
24
  #import <React/RCTComponentViewProtocol.h>
26
25
  #import <React/RCTComponentViewRegistry.h>
@@ -187,7 +186,7 @@ static void RCTPerformMountInstructions(
187
186
  componentViewDescriptor:rootViewDescriptor];
188
187
  }
189
188
 
190
- - (void)scheduleTransaction:(MountingCoordinator::Shared)mountingCoordinator
189
+ - (void)scheduleTransaction:(std::shared_ptr<const MountingCoordinator>)mountingCoordinator
191
190
  {
192
191
  if (RCTIsMainQueue()) {
193
192
  // Already on the proper thread, so:
@@ -26,9 +26,10 @@ NS_ASSUME_NONNULL_BEGIN
26
26
  */
27
27
  @protocol RCTSchedulerDelegate
28
28
 
29
- - (void)schedulerDidFinishTransaction:(facebook::react::MountingCoordinator::Shared)mountingCoordinator;
29
+ - (void)schedulerDidFinishTransaction:(std::shared_ptr<const facebook::react::MountingCoordinator>)mountingCoordinator;
30
30
 
31
- - (void)schedulerShouldRenderTransactions:(facebook::react::MountingCoordinator::Shared)mountingCoordinator;
31
+ - (void)schedulerShouldRenderTransactions:
32
+ (std::shared_ptr<const facebook::react::MountingCoordinator>)mountingCoordinator;
32
33
 
33
34
  - (void)schedulerDidDispatchCommand:(const facebook::react::ShadowView &)shadowView
34
35
  commandName:(const std::string &)commandName
@@ -26,13 +26,13 @@ class SchedulerDelegateProxy : public SchedulerDelegate {
26
26
  public:
27
27
  SchedulerDelegateProxy(void *scheduler) : scheduler_(scheduler) {}
28
28
 
29
- void schedulerDidFinishTransaction(const MountingCoordinator::Shared &mountingCoordinator) override
29
+ void schedulerDidFinishTransaction(const std::shared_ptr<const MountingCoordinator> &mountingCoordinator) override
30
30
  {
31
31
  RCTScheduler *scheduler = (__bridge RCTScheduler *)scheduler_;
32
32
  [scheduler.delegate schedulerDidFinishTransaction:mountingCoordinator];
33
33
  }
34
34
 
35
- void schedulerShouldRenderTransactions(const MountingCoordinator::Shared &mountingCoordinator) override
35
+ void schedulerShouldRenderTransactions(const std::shared_ptr<const MountingCoordinator> &mountingCoordinator) override
36
36
  {
37
37
  RCTScheduler *scheduler = (__bridge RCTScheduler *)scheduler_;
38
38
  [scheduler.delegate schedulerShouldRenderTransactions:mountingCoordinator];
@@ -106,18 +106,15 @@ class LayoutAnimationDelegateProxy : public LayoutAnimationStatusDelegate, publi
106
106
  @implementation RCTScheduler {
107
107
  std::unique_ptr<Scheduler> _scheduler;
108
108
  std::shared_ptr<LayoutAnimationDriver> _animationDriver;
109
- std::shared_ptr<SchedulerDelegateProxy> _delegateProxy;
109
+ std::unique_ptr<SchedulerDelegateProxy> _delegateProxy;
110
110
  std::shared_ptr<LayoutAnimationDelegateProxy> _layoutAnimationDelegateProxy;
111
- RunLoopObserver::Unique _uiRunLoopObserver;
111
+ std::unique_ptr<const PlatformRunLoopObserver> _uiRunLoopObserver;
112
112
  }
113
113
 
114
114
  - (instancetype)initWithToolbox:(SchedulerToolbox)toolbox
115
115
  {
116
116
  if (self = [super init]) {
117
- auto reactNativeConfig =
118
- toolbox.contextContainer->at<std::shared_ptr<const ReactNativeConfig>>("ReactNativeConfig");
119
-
120
- _delegateProxy = std::make_shared<SchedulerDelegateProxy>((__bridge void *)self);
117
+ _delegateProxy = std::make_unique<SchedulerDelegateProxy>((__bridge void *)self);
121
118
 
122
119
  if (ReactNativeFeatureFlags::enableLayoutAnimationsOnIOS()) {
123
120
  _layoutAnimationDelegateProxy = std::make_shared<LayoutAnimationDelegateProxy>((__bridge void *)self);
@@ -640,22 +640,22 @@ RCT_NOT_IMPLEMENTED(-(instancetype)initWithTarget : (id)target action : (SEL)act
640
640
  if (eventEmitter != nil) {
641
641
  switch (eventType) {
642
642
  case RCTPointerEventTypeStart: {
643
- eventEmitter->onPointerDown(pointerEvent);
643
+ eventEmitter->onPointerDown(std::move(pointerEvent));
644
644
  break;
645
645
  }
646
646
  case RCTPointerEventTypeMove: {
647
- eventEmitter->onPointerMove(pointerEvent);
647
+ eventEmitter->onPointerMove(std::move(pointerEvent));
648
648
  break;
649
649
  }
650
650
  case RCTPointerEventTypeEnd: {
651
651
  eventEmitter->onPointerUp(pointerEvent);
652
652
  if (pointerEvent.isPrimary && pointerEvent.button == 0 && IsPointerWithinInitialTree(activePointer)) {
653
- eventEmitter->onClick(pointerEvent);
653
+ eventEmitter->onClick(std::move(pointerEvent));
654
654
  }
655
655
  break;
656
656
  }
657
657
  case RCTPointerEventTypeCancel: {
658
- eventEmitter->onPointerCancel(pointerEvent);
658
+ eventEmitter->onPointerCancel(std::move(pointerEvent));
659
659
  break;
660
660
  }
661
661
  }
@@ -782,9 +782,11 @@ RCT_NOT_IMPLEMENTED(-(instancetype)initWithTarget : (id)target action : (SEL)act
782
782
  if (eventEmitter != nil) {
783
783
  switch (recognizer.state) {
784
784
  case UIGestureRecognizerStateEnded:
785
- eventEmitter->onPointerLeave(event);
785
+ eventEmitter->onPointerLeave(std::move(event));
786
+ break;
786
787
  default:
787
- eventEmitter->onPointerMove(event);
788
+ eventEmitter->onPointerMove(std::move(event));
789
+ break;
788
790
  }
789
791
  }
790
792
  }
@@ -26,16 +26,14 @@
26
26
  #import <React/RCTSurfaceView.h>
27
27
  #import <React/RCTUtils.h>
28
28
 
29
- #import <react/config/ReactNativeConfig.h>
30
29
  #import <react/featureflags/ReactNativeFeatureFlags.h>
31
30
  #import <react/renderer/componentregistry/ComponentDescriptorFactory.h>
32
31
  #import <react/renderer/components/text/BaseTextProps.h>
33
32
  #import <react/renderer/runtimescheduler/RuntimeScheduler.h>
34
- #import <react/renderer/scheduler/AsynchronousEventBeat.h>
35
33
  #import <react/renderer/scheduler/SchedulerToolbox.h>
36
34
  #import <react/utils/ContextContainer.h>
37
- #import <react/utils/CoreFeatures.h>
38
35
  #import <react/utils/ManagedObjectWrapper.h>
36
+ #import "AppleEventBeat.h"
39
37
 
40
38
  #import "PlatformRunLoopObserver.h"
41
39
  #import "RCTConversions.h"
@@ -227,16 +225,6 @@ using namespace facebook::react;
227
225
 
228
226
  - (RCTScheduler *)_createScheduler
229
227
  {
230
- auto reactNativeConfig = _contextContainer->at<std::shared_ptr<const ReactNativeConfig>>("ReactNativeConfig");
231
-
232
- if (reactNativeConfig && reactNativeConfig->getBool("react_fabric:enable_cpp_props_iterator_setter_ios")) {
233
- CoreFeatures::enablePropIteratorSetter = true;
234
- }
235
-
236
- if (reactNativeConfig && reactNativeConfig->getBool("react_fabric:enable_granular_scroll_view_state_updates_ios")) {
237
- CoreFeatures::enableGranularScrollViewStateUpdatesIOS = true;
238
- }
239
-
240
228
  auto componentRegistryFactory =
241
229
  [factory = wrapManagedObject(_mountingManager.componentViewRegistry.componentViewFactory)](
242
230
  const EventDispatcher::Weak &eventDispatcher, const ContextContainer::Shared &contextContainer) {
@@ -261,11 +249,11 @@ using namespace facebook::react;
261
249
  toolbox.runtimeExecutor = runtimeExecutor;
262
250
  toolbox.bridgelessBindingsExecutor = _bridgelessBindingsExecutor;
263
251
 
264
- toolbox.asynchronousEventBeatFactory =
265
- [runtimeExecutor](const EventBeat::SharedOwnerBox &ownerBox) -> std::unique_ptr<EventBeat> {
252
+ toolbox.eventBeatFactory =
253
+ [runtimeScheduler](std::shared_ptr<EventBeat::OwnerBox> ownerBox) -> std::unique_ptr<EventBeat> {
266
254
  auto runLoopObserver =
267
255
  std::make_unique<const MainRunLoopObserver>(RunLoopObserver::Activity::BeforeWaiting, ownerBox->owner);
268
- return std::make_unique<AsynchronousEventBeat>(std::move(runLoopObserver), runtimeExecutor);
256
+ return std::make_unique<AppleEventBeat>(std::move(ownerBox), std::move(runLoopObserver), *runtimeScheduler);
269
257
  };
270
258
 
271
259
  RCTScheduler *scheduler = [[RCTScheduler alloc] initWithToolbox:toolbox];
@@ -301,12 +289,12 @@ using namespace facebook::react;
301
289
 
302
290
  #pragma mark - RCTSchedulerDelegate
303
291
 
304
- - (void)schedulerDidFinishTransaction:(MountingCoordinator::Shared)mountingCoordinator
292
+ - (void)schedulerDidFinishTransaction:(std::shared_ptr<const MountingCoordinator>)mountingCoordinator
305
293
  {
306
294
  // no-op, we will flush the transaction from schedulerShouldRenderTransactions
307
295
  }
308
296
 
309
- - (void)schedulerShouldRenderTransactions:(MountingCoordinator::Shared)mountingCoordinator
297
+ - (void)schedulerShouldRenderTransactions:(std::shared_ptr<const MountingCoordinator>)mountingCoordinator
310
298
  {
311
299
  [_mountingManager scheduleTransaction:mountingCoordinator];
312
300
  }
@@ -99,15 +99,16 @@ using namespace facebook::react;
99
99
 
100
100
  // We need to register a root view component here synchronously because right after
101
101
  // we start a surface, it can initiate an update that can query the root component.
102
- RCTUnsafeExecuteOnMainQueueSync(^{
102
+ RCTExecuteOnMainQueue(^{
103
103
  [self->_surfacePresenter.mountingManager attachSurfaceToView:self.view
104
104
  surfaceId:self->_surfaceHandler->getSurfaceId()];
105
- });
105
+ dispatch_async(dispatch_get_global_queue(QOS_CLASS_USER_INTERACTIVE, 0), ^{
106
+ self->_surfaceHandler->start();
107
+ [self _propagateStageChange];
106
108
 
107
- _surfaceHandler->start();
108
- [self _propagateStageChange];
109
-
110
- [_surfacePresenter setupAnimationDriverWithSurfaceHandler:*_surfaceHandler];
109
+ [self->_surfacePresenter setupAnimationDriverWithSurfaceHandler:*self->_surfaceHandler];
110
+ });
111
+ });
111
112
  }
112
113
 
113
114
  - (void)stop
@@ -22,7 +22,7 @@ class PlatformRunLoopObserver : public RunLoopObserver {
22
22
  public:
23
23
  PlatformRunLoopObserver(
24
24
  RunLoopObserver::Activity activities,
25
- const RunLoopObserver::WeakOwner& owner,
25
+ RunLoopObserver::WeakOwner owner,
26
26
  CFRunLoopRef runLoop);
27
27
 
28
28
  ~PlatformRunLoopObserver();
@@ -45,8 +45,11 @@ class MainRunLoopObserver final : public PlatformRunLoopObserver {
45
45
  public:
46
46
  MainRunLoopObserver(
47
47
  RunLoopObserver::Activity activities,
48
- const RunLoopObserver::WeakOwner& owner)
49
- : PlatformRunLoopObserver(activities, owner, CFRunLoopGetMain()) {}
48
+ RunLoopObserver::WeakOwner owner)
49
+ : PlatformRunLoopObserver(
50
+ activities,
51
+ std::move(owner),
52
+ CFRunLoopGetMain()) {}
50
53
  };
51
54
 
52
55
  } // namespace facebook::react