react-native-tvos 0.77.0-0rc5 → 0.78.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 (655) hide show
  1. package/Libraries/Animated/animations/Animation.js +22 -1
  2. package/Libraries/Animated/animations/DecayAnimation.js +1 -0
  3. package/Libraries/Animated/animations/SpringAnimation.js +1 -0
  4. package/Libraries/Animated/animations/TimingAnimation.js +1 -0
  5. package/Libraries/Animated/nodes/AnimatedAddition.js +9 -2
  6. package/Libraries/Animated/nodes/AnimatedColor.js +4 -1
  7. package/Libraries/Animated/nodes/AnimatedDiffClamp.js +10 -2
  8. package/Libraries/Animated/nodes/AnimatedDivision.js +9 -2
  9. package/Libraries/Animated/nodes/AnimatedInterpolation.js +5 -1
  10. package/Libraries/Animated/nodes/AnimatedModulo.js +5 -2
  11. package/Libraries/Animated/nodes/AnimatedMultiplication.js +9 -2
  12. package/Libraries/Animated/nodes/AnimatedNode.js +25 -46
  13. package/Libraries/Animated/nodes/AnimatedObject.js +9 -2
  14. package/Libraries/Animated/nodes/AnimatedProps.js +5 -1
  15. package/Libraries/Animated/nodes/AnimatedStyle.js +5 -1
  16. package/Libraries/Animated/nodes/AnimatedSubtraction.js +9 -2
  17. package/Libraries/Animated/nodes/AnimatedTracking.js +5 -1
  18. package/Libraries/Animated/nodes/AnimatedTransform.js +5 -1
  19. package/Libraries/Animated/nodes/AnimatedValue.js +63 -4
  20. package/Libraries/Animated/nodes/AnimatedValueXY.js +3 -1
  21. package/Libraries/Animated/useAnimatedProps.js +14 -56
  22. package/Libraries/AppDelegate/RCTAppDelegate.h +6 -48
  23. package/Libraries/AppDelegate/RCTAppDelegate.mm +5 -230
  24. package/Libraries/AppDelegate/RCTDefaultReactNativeFactoryDelegate.h +21 -0
  25. package/Libraries/AppDelegate/RCTDefaultReactNativeFactoryDelegate.mm +123 -0
  26. package/Libraries/AppDelegate/RCTReactNativeFactory.h +98 -0
  27. package/Libraries/AppDelegate/RCTReactNativeFactory.mm +266 -0
  28. package/Libraries/AppDelegate/RCTRootViewFactory.mm +1 -1
  29. package/Libraries/AppDelegate/React-RCTAppDelegate.podspec +0 -1
  30. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.d.ts +1 -1
  31. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +3 -1
  32. package/Libraries/Components/LayoutConformance/LayoutConformance.d.ts +21 -0
  33. package/Libraries/Components/LayoutConformance/LayoutConformance.js +59 -0
  34. package/Libraries/Components/LayoutConformance/LayoutConformanceNativeComponent.js +29 -0
  35. package/Libraries/Components/Pressable/Pressable.d.ts +1 -1
  36. package/Libraries/Components/TV/TVFocusGuideView.js +0 -1
  37. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +1 -0
  38. package/Libraries/Components/TextInput/TextInput.d.ts +5 -0
  39. package/Libraries/Components/TextInput/TextInput.flow.js +6 -0
  40. package/Libraries/Components/TextInput/TextInput.js +6 -0
  41. package/Libraries/Components/View/ViewPropTypes.d.ts +8 -7
  42. package/Libraries/Components/View/ViewPropTypes.js +0 -9
  43. package/Libraries/Core/ReactNativeVersion.js +2 -2
  44. package/Libraries/Core/setUpBatchedBridge.js +1 -16
  45. package/Libraries/Core/setUpDeveloperTools.js +2 -3
  46. package/Libraries/EventEmitter/RCTEventEmitter.js +2 -6
  47. package/Libraries/Image/AssetSourceResolver.js +11 -0
  48. package/Libraries/Image/RCTImageLoader.mm +9 -1
  49. package/Libraries/Image/RCTImageView.mm +3 -3
  50. package/Libraries/Inspector/BorderBox.js +26 -14
  51. package/Libraries/Inspector/BoxInspector.js +60 -42
  52. package/Libraries/Inspector/ElementBox.js +55 -48
  53. package/Libraries/Inspector/StyleInspector.js +36 -30
  54. package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -2
  55. package/Libraries/Lists/FlatList.d.ts +1 -1
  56. package/Libraries/Modal/Modal.js +2 -0
  57. package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.mm +1 -1
  58. package/Libraries/NativeComponent/BaseViewConfig.android.js +0 -2
  59. package/Libraries/NativeComponent/BaseViewConfig.ios.js +0 -2
  60. package/Libraries/Network/RCTNetworking.android.js +24 -16
  61. package/Libraries/Network/RCTNetworking.ios.js +1 -46
  62. package/Libraries/Network/RCTNetworking.js.flow +1 -46
  63. package/Libraries/Network/RCTNetworkingEventDefinitions.flow.js +57 -0
  64. package/Libraries/Pressability/Pressability.js +2 -2
  65. package/Libraries/ReactNative/UIManagerProperties.js +3 -1
  66. package/Libraries/Renderer/implementations/ReactFabric-dev.js +15829 -26461
  67. package/Libraries/Renderer/implementations/ReactFabric-prod.js +3907 -2560
  68. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +4399 -2878
  69. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +16103 -26908
  70. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +4034 -2695
  71. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +4535 -3045
  72. package/Libraries/Renderer/shims/ReactNativeTypes.js +5 -6
  73. package/Libraries/StyleSheet/processTransform.js +6 -0
  74. package/Libraries/Text/Text/NSTextStorage+FontScaling.m +9 -0
  75. package/Libraries/Text/Text.d.ts +6 -1
  76. package/Libraries/Text/TextInput/Multiline/RCTUITextView.h +2 -0
  77. package/Libraries/Text/TextInput/Multiline/RCTUITextView.mm +26 -0
  78. package/Libraries/Text/TextInput/RCTBackedTextInputViewProtocol.h +2 -0
  79. package/Libraries/Text/TextInput/RCTBaseTextInputView.mm +26 -1
  80. package/Libraries/Text/TextInput/RCTBaseTextInputViewManager.mm +2 -0
  81. package/Libraries/Text/TextInput/Singleline/RCTUITextField.h +1 -0
  82. package/Libraries/Text/TextInput/Singleline/RCTUITextField.mm +26 -0
  83. package/Libraries/Text/TextProps.js +2 -2
  84. package/Libraries/Utilities/BackHandler.android.js +5 -4
  85. package/Libraries/Utilities/BackHandler.ios.js +3 -4
  86. package/Libraries/Utilities/HMRClient.js +0 -28
  87. package/Libraries/Utilities/HMRClientProdShim.js +0 -1
  88. package/README-core.md +2 -2
  89. package/React/Base/RCTConvert.mm +3 -1
  90. package/React/Base/RCTVersion.m +2 -2
  91. package/React/CoreModules/RCTDevSettings.h +0 -1
  92. package/React/CoreModules/RCTDeviceInfo.mm +4 -0
  93. package/React/CxxLogUtils/RCTDefaultCxxLogFunction.mm +3 -5
  94. package/React/DevSupport/RCTInspectorDevServerHelper.mm +1 -6
  95. package/React/DevSupport/RCTPausedInDebuggerOverlayController.mm +3 -5
  96. package/React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec-generated.mm +0 -24
  97. package/React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec.h +0 -28
  98. package/React/FBReactNativeSpec/FBReactNativeSpecJSI-generated.cpp +90 -57
  99. package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +241 -104
  100. package/React/Fabric/Mounting/ComponentViews/InputAccessory/RCTInputAccessoryContentView.mm +0 -5
  101. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTEnhancedScrollView.mm +39 -10
  102. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTPullToRefreshViewComponentView.mm +3 -3
  103. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +107 -34
  104. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +5 -0
  105. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.mm +1 -0
  106. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +12 -4
  107. package/React/Fabric/Mounting/RCTComponentViewFactory.mm +3 -0
  108. package/React/Fabric/Mounting/RCTMountingManager.mm +6 -9
  109. package/React/Fabric/RCTScheduler.mm +1 -1
  110. package/React/I18n/strings/da.lproj/fbt_language_pack.bin +0 -0
  111. package/React/Modules/RCTUIManager.mm +1 -2
  112. package/React/React-RCTFBReactNativeSpec.podspec +1 -0
  113. package/React/React-RCTFabric.podspec +3 -2
  114. package/React/Tests/Text/RCTParagraphComponentViewTests.mm +12 -12
  115. package/React/Views/RCTComponentData.mm +1 -5
  116. package/React/Views/RCTLayout.m +3 -0
  117. package/React/Views/RCTShadowView.h +3 -3
  118. package/React/Views/RCTShadowView.m +52 -20
  119. package/React/Views/RCTTVView.m +5 -2
  120. package/React/Views/RCTView.m +6 -2
  121. package/React/Views/RCTViewManager.m +0 -7
  122. package/React/Views/ScrollView/RCTScrollView.m +109 -45
  123. package/React-Core.podspec +1 -1
  124. package/ReactAndroid/api/ReactAndroid.api +123 -227
  125. package/ReactAndroid/build.gradle.kts +8 -13
  126. package/ReactAndroid/cmake-utils/ReactNative-application.cmake +13 -3
  127. package/ReactAndroid/cmake-utils/default-app-setup/OnLoad.cpp +2 -0
  128. package/ReactAndroid/external-artifacts/build.gradle.kts +5 -5
  129. package/ReactAndroid/gradle.properties +3 -3
  130. package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/{HermesMemoryDumper.java → HermesMemoryDumper.kt} +5 -5
  131. package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/{HermesSamplingProfiler.java → HermesSamplingProfiler.kt} +8 -10
  132. package/ReactAndroid/src/main/java/com/facebook/react/DebugCorePackage.java +12 -59
  133. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivity.java +8 -0
  134. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +8 -0
  135. package/ReactAndroid/src/main/java/com/facebook/react/ReactDelegate.java +37 -0
  136. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +12 -1
  137. package/ReactAndroid/src/main/java/com/facebook/react/{ReactPackageLogger.java → ReactPackageLogger.kt} +3 -3
  138. package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.kt +8 -8
  139. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BaseJavaModule.java +1 -1
  140. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +1 -3
  141. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactSoftExceptionLogger.kt +6 -0
  142. package/ReactAndroid/src/main/java/com/facebook/react/bridge/SoftAssertions.kt +5 -3
  143. package/ReactAndroid/src/main/java/com/facebook/react/common/network/OkHttpCallUtil.kt +4 -8
  144. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHost.kt +11 -5
  145. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHostDelegate.kt +0 -7
  146. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactNativeHost.kt +1 -3
  147. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevSupportManagerFactory.kt +6 -1
  148. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.java +11 -23
  149. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +3 -30
  150. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/HMRClient.java +4 -1
  151. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/InspectorFlags.kt +2 -0
  152. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/StackTraceHelper.java +4 -4
  153. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +21 -26
  154. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManagerBinding.kt +1 -14
  155. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManagerProviderImpl.java +2 -11
  156. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.kt +88 -0
  157. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.kt +6 -6
  158. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.java +39 -8
  159. package/ReactAndroid/src/main/java/com/facebook/react/interfaces/exceptionmanager/ReactJsExceptionHandler.kt +7 -7
  160. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +21 -21
  161. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +36 -36
  162. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +8 -8
  163. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +10 -10
  164. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +40 -40
  165. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +8 -8
  166. package/ReactAndroid/src/main/java/com/facebook/react/internal/interop/InteropEventEmitter.kt +3 -3
  167. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskConfig.kt +55 -0
  168. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskContext.kt +185 -0
  169. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/{HeadlessJsTaskEventListener.java → HeadlessJsTaskEventListener.kt} +5 -6
  170. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskRetryPolicy.kt +20 -0
  171. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/LinearCountingRetryPolicy.kt +4 -4
  172. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/NoRetryPolicy.kt +7 -8
  173. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.kt +8 -5
  174. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/FrescoModule.kt +11 -17
  175. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactOkHttpNetworkFetcher.kt +1 -1
  176. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/CookieJarContainer.kt +16 -0
  177. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.kt +107 -0
  178. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.java +18 -19
  179. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ReactCookieJarContainer.kt +48 -0
  180. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +2 -2
  181. package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/WebSocketModule.kt +397 -0
  182. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostDelegate.kt +0 -10
  183. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.java +1 -1
  184. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.java +8 -8
  185. package/ReactAndroid/src/main/java/com/facebook/react/runtime/hermes/HermesInstance.kt +4 -10
  186. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BackgroundStyleApplicator.kt +4 -0
  187. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +13 -12
  188. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerDelegate.kt +15 -12
  189. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{ComponentNameResolver.java → ComponentNameResolver.kt} +4 -5
  190. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/GuardedFrameCallback.kt +5 -2
  191. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.java +0 -5
  192. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactOverflowView.kt +21 -0
  193. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactPointerEventsView.kt +18 -0
  194. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{RootView.java → RootView.kt} +11 -12
  195. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/RootViewManager.kt +1 -1
  196. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{UIBlock.java → UIBlock.kt} +3 -3
  197. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +2 -5
  198. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManager.java +25 -0
  199. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerDelegate.kt +1 -1
  200. package/{Libraries/AppDelegate/RCTAppDelegate+Protected.h → ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerWithGeneratedInterface.kt} +3 -8
  201. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewProps.kt +12 -5
  202. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BackgroundDrawable.kt +46 -80
  203. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BorderDrawable.kt +5 -5
  204. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/CSSBackgroundDrawable.java +5 -5
  205. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/{BatchEventDispatchedListener.java → BatchEventDispatchedListener.kt} +3 -3
  206. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventCategoryDef.kt +46 -0
  207. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcher.kt +40 -0
  208. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherImpl.java +2 -6
  209. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherListener.kt +19 -0
  210. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherProvider.kt +23 -0
  211. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.kt +241 -0
  212. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEventHelper.kt +193 -0
  213. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTEventEmitter.kt +44 -0
  214. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTModernEventEmitter.kt +37 -0
  215. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ReactEventEmitter.kt +130 -0
  216. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEvent.kt +1 -1
  217. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEventCoalescingKeyHelper.kt +77 -0
  218. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchesHelper.kt +196 -0
  219. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderRadiusStyle.kt +16 -17
  220. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.kt +5 -0
  221. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt +56 -3
  222. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarContainerView.kt +11 -0
  223. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/{FpsListener.java → FpsListener.kt} +4 -4
  224. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +16 -0
  225. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.java +3 -3
  226. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewAccessibilityDelegate.kt +136 -0
  227. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.java +2 -2
  228. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchManager.kt +152 -0
  229. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchShadowNode.kt +52 -0
  230. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.java +1 -7
  231. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java +16 -2
  232. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +8 -13
  233. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageViewManager.kt +50 -0
  234. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ShadowStyleSpan.kt +1 -1
  235. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +1 -9
  236. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactDrawableHelper.kt +111 -0
  237. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +91 -20
  238. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.kt +14 -2
  239. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNative.java +22 -1
  240. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNode.java +43 -1
  241. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.java +86 -2
  242. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaProps.java +44 -2
  243. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaUnit.java +7 -1
  244. package/ReactAndroid/src/main/jni/CMakeLists.txt +5 -6
  245. package/ReactAndroid/src/main/jni/first-party/yogajni/CMakeLists.txt +6 -1
  246. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNIVanilla.cpp +96 -11
  247. package/ReactAndroid/src/main/jni/react/devsupport/JInspectorFlags.cpp +9 -0
  248. package/ReactAndroid/src/main/jni/react/devsupport/JInspectorFlags.h +1 -0
  249. package/ReactAndroid/src/main/jni/react/fabric/CMakeLists.txt +0 -3
  250. package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.cpp +3 -0
  251. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.cpp +41 -25
  252. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.h +0 -2
  253. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.cpp +63 -91
  254. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.h +1 -7
  255. package/ReactAndroid/src/main/jni/react/fabric/MountItem.cpp +9 -9
  256. package/ReactAndroid/src/main/jni/react/fabric/MountItem.h +6 -10
  257. package/ReactAndroid/src/main/jni/react/fabric/OnLoad.cpp +0 -2
  258. package/ReactAndroid/src/main/jni/react/fabric/StateWrapperImpl.cpp +4 -0
  259. package/ReactAndroid/src/main/jni/react/fabric/StateWrapperImpl.h +1 -0
  260. package/ReactAndroid/src/main/jni/react/featureflags/CMakeLists.txt +0 -1
  261. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +49 -49
  262. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +11 -11
  263. package/ReactAndroid/src/main/jni/react/hermes/reactexecutor/OnLoad.cpp +1 -4
  264. package/ReactAndroid/src/main/jni/react/jni/CMakeLists.txt +0 -1
  265. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp +0 -1
  266. package/ReactAndroid/src/main/jni/react/jni/JSLogging.cpp +4 -9
  267. package/ReactAndroid/src/main/jni/react/jni/JSLogging.h +0 -4
  268. package/ReactAndroid/src/main/jni/react/jni/JniJSModulesUnbundle.cpp +3 -4
  269. package/ReactAndroid/src/main/jni/react/jni/ProxyExecutor.cpp +3 -4
  270. package/ReactAndroid/src/main/jni/react/jni/WritableNativeArray.cpp +6 -0
  271. package/ReactAndroid/src/main/jni/react/jni/WritableNativeArray.h +1 -0
  272. package/ReactAndroid/src/main/jni/react/jni/WritableNativeMap.cpp +6 -0
  273. package/ReactAndroid/src/main/jni/react/jni/WritableNativeMap.h +1 -0
  274. package/ReactAndroid/src/main/jni/react/jscexecutor/OnLoad.cpp +3 -7
  275. package/ReactAndroid/src/main/jni/react/mapbuffer/CMakeLists.txt +0 -2
  276. package/ReactAndroid/src/main/jni/react/reactnativeblob/CMakeLists.txt +0 -1
  277. package/ReactAndroid/src/main/jni/react/reactperflogger/CMakeLists.txt +0 -1
  278. package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/JHermesInstance.cpp +2 -8
  279. package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/JHermesInstance.h +2 -8
  280. package/ReactAndroid/src/main/jni/react/runtime/jni/CMakeLists.txt +0 -1
  281. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactExceptionManager.cpp +18 -17
  282. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactExceptionManager.h +1 -1
  283. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactInstance.cpp +1 -1
  284. package/ReactAndroid/src/main/jni/react/turbomodule/CMakeLists.txt +0 -2
  285. package/ReactAndroid/src/main/jni/react/uimanager/CMakeLists.txt +0 -1
  286. package/ReactAndroid/src/main/res/views/view/values/ids.xml +5 -0
  287. package/ReactCommon/React-Fabric.podspec +8 -0
  288. package/ReactCommon/React-FabricComponents.podspec +2 -2
  289. package/ReactCommon/React-FabricImage.podspec +4 -1
  290. package/ReactCommon/cxxreact/CxxNativeModule.cpp +3 -3
  291. package/ReactCommon/cxxreact/Instance.cpp +6 -6
  292. package/ReactCommon/cxxreact/JSBigString.cpp +1 -1
  293. package/ReactCommon/cxxreact/JSExecutor.cpp +4 -2
  294. package/ReactCommon/cxxreact/ModuleRegistry.cpp +6 -6
  295. package/ReactCommon/cxxreact/NativeToJsBridge.cpp +3 -3
  296. package/ReactCommon/cxxreact/ReactNativeVersion.h +2 -2
  297. package/ReactCommon/cxxreact/SystraceSection.h +8 -141
  298. package/ReactCommon/cxxreact/TraceSection.h +181 -0
  299. package/ReactCommon/cxxreact/tests/jsbigstring.cpp +19 -0
  300. package/ReactCommon/hermes/executor/HermesExecutorFactory.cpp +2 -2
  301. package/ReactCommon/jsc/JSCRuntime.cpp +0 -2
  302. package/ReactCommon/jsc/React-jsc.podspec +1 -1
  303. package/ReactCommon/jserrorhandler/JsErrorHandler.cpp +27 -19
  304. package/ReactCommon/jserrorhandler/JsErrorHandler.h +5 -3
  305. package/ReactCommon/jserrorhandler/StackTraceParser.cpp +16 -16
  306. package/ReactCommon/jserrorhandler/StackTraceParser.h +1 -1
  307. package/ReactCommon/jserrorhandler/tests/StackTraceParserTest.cpp +252 -246
  308. package/ReactCommon/jsi/jsi/CMakeLists.txt +0 -3
  309. package/ReactCommon/jsi/jsi/JSIDynamic.cpp +1 -1
  310. package/ReactCommon/jsi/jsi/JSIDynamic.h +1 -1
  311. package/ReactCommon/jsi/jsi/decorator.h +61 -0
  312. package/ReactCommon/jsi/jsi/jsi-inl.h +4 -0
  313. package/ReactCommon/jsi/jsi/jsi.cpp +37 -0
  314. package/ReactCommon/jsi/jsi/jsi.h +81 -0
  315. package/ReactCommon/jsi/jsi/test/testlib.cpp +88 -0
  316. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp +9 -9
  317. package/ReactCommon/jsinspector-modern/CMakeLists.txt +1 -1
  318. package/ReactCommon/jsinspector-modern/HostAgent.cpp +3 -7
  319. package/ReactCommon/jsinspector-modern/HostTarget.cpp +22 -1
  320. package/ReactCommon/jsinspector-modern/HostTarget.h +1 -1
  321. package/ReactCommon/jsinspector-modern/InspectorFlags.cpp +19 -4
  322. package/ReactCommon/jsinspector-modern/InspectorFlags.h +14 -0
  323. package/ReactCommon/jsinspector-modern/React-jsinspector.podspec +21 -10
  324. package/ReactCommon/jsinspector-modern/TracingAgent.cpp +12 -11
  325. package/ReactCommon/jsinspector-modern/tests/JsiIntegrationTest.cpp +2 -16
  326. package/ReactCommon/jsinspector-modern/tests/ReactInstanceIntegrationTest.cpp +14 -14
  327. package/ReactCommon/jsinspector-modern/tests/ReactInstanceIntegrationTest.h +7 -13
  328. package/ReactCommon/jsinspector-modern/tests/engines/JsiIntegrationTestGenericEngineAdapter.cpp +1 -1
  329. package/ReactCommon/jsinspector-modern/tests/engines/JsiIntegrationTestHermesEngineAdapter.cpp +1 -3
  330. package/ReactCommon/jsinspector-modern/tests/utils/InspectorFlagOverridesGuard.cpp +3 -3
  331. package/ReactCommon/jsinspector-modern/tests/utils/InspectorFlagOverridesGuard.h +1 -1
  332. package/ReactCommon/jsinspector-modern/tracing/CMakeLists.txt +26 -0
  333. package/ReactCommon/jsinspector-modern/tracing/CdpTracing.h +21 -0
  334. package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.cpp +187 -0
  335. package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.h +126 -0
  336. package/ReactCommon/jsinspector-modern/tracing/React-jsinspectortracing.podspec +56 -0
  337. package/ReactCommon/react/featureflags/CMakeLists.txt +3 -0
  338. package/ReactCommon/react/featureflags/React-featureflags.podspec +7 -0
  339. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +15 -15
  340. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +18 -18
  341. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +88 -88
  342. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +9 -9
  343. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +17 -17
  344. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +454 -0
  345. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +5 -5
  346. package/ReactCommon/react/featureflags/tests/ReactNativeFeatureFlagsDynamicProviderTest.cpp +78 -0
  347. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +2 -3
  348. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +3 -3
  349. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.mm +13 -4
  350. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.h +1 -0
  351. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +19 -11
  352. package/ReactCommon/react/nativemodule/cputime/CPUTime.h +55 -0
  353. package/ReactCommon/react/nativemodule/cputime/NativeCPUTime.cpp +35 -0
  354. package/ReactCommon/react/nativemodule/cputime/NativeCPUTime.h +28 -0
  355. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +18 -18
  356. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +8 -8
  357. package/ReactCommon/react/nativemodule/idlecallbacks/React-idlecallbacksnativemodule.podspec +1 -0
  358. package/ReactCommon/react/nativemodule/intersectionobserver/NativeIntersectionObserver.cpp +5 -8
  359. package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.cpp +3 -3
  360. package/ReactCommon/react/nativemodule/webperformance/NativePerformance.cpp +22 -43
  361. package/ReactCommon/react/nativemodule/webperformance/NativePerformance.h +0 -15
  362. package/ReactCommon/react/performance/timeline/CMakeLists.txt +1 -0
  363. package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.cpp +22 -2
  364. package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.h +9 -4
  365. package/ReactCommon/react/performance/timeline/React-performancetimeline.podspec +1 -0
  366. package/ReactCommon/react/renderer/animations/CMakeLists.txt +0 -1
  367. package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.cpp +1 -1
  368. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +25 -19
  369. package/ReactCommon/react/renderer/animations/primitives.h +1 -1
  370. package/ReactCommon/react/renderer/animations/utils.h +3 -4
  371. package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.cpp +31 -9
  372. package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +85 -29
  373. package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +2 -0
  374. package/ReactCommon/react/renderer/attributedstring/conversions.h +5 -0
  375. package/ReactCommon/react/renderer/componentregistry/CMakeLists.txt +0 -1
  376. package/ReactCommon/react/renderer/components/image/ImageComponentDescriptor.cpp +4 -1
  377. package/ReactCommon/react/renderer/components/image/ImageComponentDescriptor.h +2 -0
  378. package/ReactCommon/react/renderer/components/image/ImageEventEmitter.cpp +2 -2
  379. package/ReactCommon/react/renderer/components/image/ImageProps.cpp +5 -5
  380. package/ReactCommon/react/renderer/components/image/ImageProps.h +1 -1
  381. package/ReactCommon/react/renderer/components/image/ImageShadowNode.cpp +38 -10
  382. package/ReactCommon/react/renderer/components/image/ImageShadowNode.h +1 -1
  383. package/ReactCommon/react/renderer/components/image/ImageState.cpp +2 -3
  384. package/ReactCommon/react/renderer/components/image/ImageState.h +9 -6
  385. package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarComponentDescriptor.h +0 -4
  386. package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarShadowNode.h +7 -0
  387. package/ReactCommon/react/renderer/components/root/RootShadowNode.cpp +2 -2
  388. package/ReactCommon/react/renderer/components/scrollview/CMakeLists.txt +2 -2
  389. package/ReactCommon/react/renderer/components/scrollview/ScrollEvent.cpp +33 -0
  390. package/ReactCommon/react/renderer/components/scrollview/ScrollEvent.h +17 -0
  391. package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.cpp +3 -2
  392. package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.h +2 -1
  393. package/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchComponentDescriptor.h +0 -4
  394. package/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchShadowNode.h +7 -0
  395. package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +12 -0
  396. package/ReactCommon/react/renderer/{uimanager/bindingUtils.h → components/text/ParagraphComponentDescriptor.cpp} +2 -8
  397. package/ReactCommon/react/renderer/components/text/ParagraphComponentDescriptor.h +10 -7
  398. package/ReactCommon/react/renderer/components/textinput/BaseTextInputProps.cpp +23 -0
  399. package/ReactCommon/react/renderer/components/textinput/BaseTextInputProps.h +8 -1
  400. package/ReactCommon/react/renderer/components/textinput/BaseTextInputShadowNode.h +243 -0
  401. package/ReactCommon/react/renderer/components/textinput/TextInputState.cpp +71 -0
  402. package/ReactCommon/react/renderer/components/textinput/{platform/ios/react/renderer/components/iostextinput/TextInputState.h → TextInputState.h} +27 -7
  403. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputComponentDescriptor.h +6 -13
  404. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputProps.h +0 -2
  405. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.cpp +145 -144
  406. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.h +27 -29
  407. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputComponentDescriptor.h +4 -5
  408. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputProps.cpp +0 -26
  409. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputProps.h +0 -6
  410. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputShadowNode.cpp +0 -147
  411. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputShadowNode.h +5 -57
  412. package/ReactCommon/react/renderer/components/view/BaseViewProps.cpp +60 -70
  413. package/ReactCommon/react/renderer/components/view/BaseViewProps.h +3 -3
  414. package/ReactCommon/react/renderer/components/view/LayoutConformanceComponentDescriptor.h +18 -0
  415. package/ReactCommon/react/renderer/components/view/LayoutConformanceProps.h +36 -0
  416. package/ReactCommon/react/renderer/components/view/LayoutConformanceShadowNode.h +28 -0
  417. package/ReactCommon/react/renderer/components/view/ViewPropsInterpolation.h +4 -0
  418. package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +0 -1
  419. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +21 -22
  420. package/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +3 -2
  421. package/ReactCommon/react/renderer/components/view/YogaStylableProps.h +3 -1
  422. package/ReactCommon/react/renderer/components/view/conversions.h +117 -43
  423. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.cpp +3 -2
  424. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.h +3 -1
  425. package/ReactCommon/react/renderer/components/view/primitives.h +1 -1
  426. package/ReactCommon/react/renderer/components/view/tests/LayoutTest.cpp +12 -12
  427. package/ReactCommon/react/renderer/core/CMakeLists.txt +0 -1
  428. package/ReactCommon/react/renderer/core/ComponentDescriptor.cpp +4 -2
  429. package/ReactCommon/react/renderer/core/ComponentDescriptor.h +4 -2
  430. package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +17 -2
  431. package/ReactCommon/react/renderer/core/DynamicPropsUtilities.cpp +26 -0
  432. package/ReactCommon/react/renderer/core/DynamicPropsUtilities.h +4 -0
  433. package/ReactCommon/react/renderer/core/EventEmitter.cpp +3 -3
  434. package/ReactCommon/react/renderer/core/Props.cpp +16 -5
  435. package/ReactCommon/react/renderer/core/Props.h +11 -4
  436. package/ReactCommon/react/renderer/core/RawProps.cpp +30 -5
  437. package/ReactCommon/react/renderer/core/RawProps.h +10 -1
  438. package/ReactCommon/react/renderer/core/RawPropsParser.cpp +7 -2
  439. package/ReactCommon/react/renderer/core/RawPropsParser.h +7 -1
  440. package/ReactCommon/react/renderer/core/RawPropsPrimitives.h +1 -0
  441. package/ReactCommon/react/renderer/core/RawValue.h +315 -22
  442. package/ReactCommon/react/renderer/core/tests/DynamicPropsUtilitiesTest.cpp +95 -4
  443. package/ReactCommon/react/renderer/debug/debugStringConvertibleUtils.h +19 -4
  444. package/ReactCommon/react/renderer/graphics/CMakeLists.txt +7 -1
  445. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +7 -5
  446. package/ReactCommon/react/renderer/graphics/Transform.cpp +11 -2
  447. package/ReactCommon/react/renderer/graphics/Transform.h +2 -1
  448. package/ReactCommon/react/renderer/imagemanager/CMakeLists.txt +4 -2
  449. package/ReactCommon/react/renderer/imagemanager/ImageManager.h +7 -0
  450. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageFetcher.cpp +43 -0
  451. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageFetcher.h +36 -0
  452. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageManager.cpp +43 -0
  453. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageRequestParams.h +94 -0
  454. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/conversions.h +101 -0
  455. package/ReactCommon/react/renderer/imagemanager/platform/cxx/react/renderer/imagemanager/ImageManager.cpp +9 -1
  456. package/ReactCommon/react/renderer/imagemanager/platform/cxx/react/renderer/imagemanager/ImageRequestParams.h +30 -0
  457. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/ImageManager.mm +9 -0
  458. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/ImageRequestParams.h +30 -0
  459. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTImageManager.mm +2 -2
  460. package/ReactCommon/react/renderer/mounting/Differentiator.cpp +187 -152
  461. package/ReactCommon/react/renderer/mounting/MountingCoordinator.cpp +4 -5
  462. package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +10 -16
  463. package/ReactCommon/react/renderer/mounting/ShadowViewMutation.cpp +12 -12
  464. package/ReactCommon/react/renderer/mounting/ShadowViewMutation.h +44 -14
  465. package/ReactCommon/react/renderer/mounting/stubs/StubViewTree.cpp +8 -4
  466. package/ReactCommon/react/renderer/mounting/stubs/stubs.cpp +1 -1
  467. package/ReactCommon/react/renderer/mounting/tests/MountingTest.cpp +116 -193
  468. package/ReactCommon/react/renderer/mounting/tests/ShadowTreeLifeCycleTest.cpp +0 -3
  469. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserver.cpp +7 -4
  470. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserver.h +2 -1
  471. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverManager.cpp +7 -8
  472. package/ReactCommon/react/renderer/observers/mutation/MutationObserverManager.cpp +6 -6
  473. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +3 -1
  474. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h +2 -0
  475. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Legacy.cpp +11 -11
  476. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.cpp +14 -15
  477. package/ReactCommon/react/renderer/runtimescheduler/SchedulerPriorityUtils.h +4 -3
  478. package/ReactCommon/react/renderer/scheduler/CMakeLists.txt +0 -1
  479. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +6 -37
  480. package/ReactCommon/react/renderer/scheduler/Scheduler.h +0 -3
  481. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp +15 -11
  482. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.h +1 -0
  483. package/ReactCommon/react/renderer/scheduler/SurfaceManager.cpp +56 -2
  484. package/ReactCommon/react/renderer/scheduler/SurfaceManager.h +23 -3
  485. package/ReactCommon/react/renderer/textlayoutmanager/CMakeLists.txt +1 -2
  486. package/ReactCommon/react/renderer/textlayoutmanager/TextLayoutManager.cpp +26 -0
  487. package/ReactCommon/react/renderer/textlayoutmanager/{platform/android/react/renderer/textlayoutmanager/TextLayoutManager.h → TextLayoutManager.h} +18 -17
  488. package/ReactCommon/react/renderer/textlayoutmanager/TextMeasureCache.h +2 -3
  489. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +77 -89
  490. package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/TextLayoutManager.cpp +6 -10
  491. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.mm +11 -5
  492. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTFontUtils.mm +23 -1
  493. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +11 -32
  494. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.mm +9 -23
  495. package/ReactCommon/react/renderer/uimanager/AppRegistryBinding.cpp +88 -0
  496. package/ReactCommon/react/renderer/uimanager/AppRegistryBinding.h +50 -0
  497. package/ReactCommon/react/renderer/uimanager/CMakeLists.txt +0 -1
  498. package/ReactCommon/react/renderer/uimanager/SurfaceRegistryBinding.h +3 -40
  499. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +23 -18
  500. package/ReactCommon/react/renderer/uimanager/UIManager.h +2 -0
  501. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +2 -31
  502. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.h +0 -4
  503. package/ReactCommon/react/renderer/uimanager/tests/PointerEventsProcessorTest.cpp +10 -10
  504. package/ReactCommon/react/runtime/CMakeLists.txt +0 -1
  505. package/ReactCommon/react/runtime/React-RuntimeHermes.podspec +1 -2
  506. package/ReactCommon/react/runtime/ReactInstance.cpp +43 -57
  507. package/ReactCommon/react/runtime/TimerManager.cpp +4 -4
  508. package/ReactCommon/react/runtime/hermes/HermesInstance.cpp +5 -1
  509. package/ReactCommon/react/runtime/hermes/HermesInstance.h +0 -2
  510. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHermesInstance.h +2 -6
  511. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHermesInstance.mm +6 -15
  512. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.mm +3 -1
  513. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.mm +15 -15
  514. package/ReactCommon/react/runtime/tests/cxx/ReactInstanceTest.cpp +5 -4
  515. package/ReactCommon/react/test_utils/shadowTreeGeneration.h +0 -3
  516. package/ReactCommon/reactperflogger/fusebox/FuseboxTracer.cpp +33 -17
  517. package/ReactCommon/reactperflogger/fusebox/FuseboxTracer.h +8 -2
  518. package/ReactCommon/reactperflogger/reactperflogger/{ReactPerfLogger.cpp → ReactPerfettoLogger.cpp} +25 -24
  519. package/ReactCommon/reactperflogger/reactperflogger/{ReactPerfLogger.h → ReactPerfettoLogger.h} +9 -9
  520. package/ReactCommon/yoga/yoga/YGEnums.cpp +6 -0
  521. package/ReactCommon/yoga/yoga/YGEnums.h +4 -1
  522. package/ReactCommon/yoga/yoga/YGNodeStyle.cpp +124 -24
  523. package/ReactCommon/yoga/yoga/YGNodeStyle.h +22 -1
  524. package/ReactCommon/yoga/yoga/YGValue.h +3 -0
  525. package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.cpp +6 -6
  526. package/ReactCommon/yoga/yoga/algorithm/FlexLine.cpp +2 -2
  527. package/ReactCommon/yoga/yoga/algorithm/FlexLine.h +1 -1
  528. package/ReactCommon/yoga/yoga/algorithm/PixelGrid.cpp +9 -6
  529. package/ReactCommon/yoga/yoga/enums/Unit.h +4 -1
  530. package/ReactCommon/yoga/yoga/node/Node.cpp +8 -8
  531. package/ReactCommon/yoga/yoga/node/Node.h +5 -5
  532. package/ReactCommon/yoga/yoga/style/Style.h +14 -12
  533. package/ReactCommon/yoga/yoga/style/StyleLength.h +14 -7
  534. package/ReactCommon/yoga/yoga/style/StyleSizeLength.h +139 -0
  535. package/ReactCommon/yoga/yoga/style/StyleValueHandle.h +8 -0
  536. package/ReactCommon/yoga/yoga/style/StyleValuePool.h +60 -3
  537. package/gradle/libs.versions.toml +6 -2
  538. package/index.js +5 -0
  539. package/package.json +17 -15
  540. package/react-native.config.js +6 -0
  541. package/scripts/cocoapods/codegen_utils.rb +4 -4
  542. package/scripts/cocoapods/new_architecture.rb +3 -3
  543. package/scripts/cocoapods/utils.rb +4 -3
  544. package/scripts/codegen/generate-artifacts-executor.js +8 -4
  545. package/scripts/generate-codegen-artifacts.js +6 -1
  546. package/scripts/react-native-xcode.sh +1 -1
  547. package/scripts/react_native_pods.rb +3 -3
  548. package/scripts/xcode/ccache-clang++.sh +1 -1
  549. package/scripts/xcode/ccache-clang.sh +1 -1
  550. package/sdks/.hermesversion +1 -1
  551. package/sdks/hermes-engine/hermes-utils.rb +2 -2
  552. package/sdks/hermes-engine/utils/build-hermes-xcode.sh +1 -1
  553. package/sdks/hermesc/linux64-bin/hermesc +0 -0
  554. package/sdks/hermesc/osx-bin/hermes +0 -0
  555. package/sdks/hermesc/osx-bin/hermesc +0 -0
  556. package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
  557. package/src/private/animated/NativeAnimatedValidation.js +1 -1
  558. package/src/private/featureflags/README.md +5 -0
  559. package/src/private/featureflags/ReactNativeFeatureFlags.js +32 -26
  560. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +5 -5
  561. package/src/private/renderer/errorhandling/ErrorHandlers.js +12 -55
  562. package/src/private/specs/modules/{NativeJSCSamplingProfiler.js → NativeCPUTime.js} +7 -2
  563. package/src/private/specs/modules/NativeFantom.js +37 -0
  564. package/src/private/utilities/ensureInstance.js +21 -0
  565. package/src/private/webapis/dom/nodes/ReactNativeElement.js +49 -6
  566. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +17 -9
  567. package/src/private/webapis/intersectionobserver/IntersectionObserver.js +11 -11
  568. package/src/private/webapis/intersectionobserver/IntersectionObserverEntry.js +1 -1
  569. package/src/private/webapis/intersectionobserver/IntersectionObserverManager.js +1 -1
  570. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +1 -0
  571. package/src/private/webapis/performance/Performance.js +0 -12
  572. package/src/private/webapis/performance/specs/NativePerformance.js +0 -11
  573. package/types/index.d.ts +1 -0
  574. package/types/public/ReactNativeTVTypes.d.ts +49 -51
  575. package/Libraries/HeapCapture/HeapCapture.js +0 -29
  576. package/Libraries/HeapCapture/NativeJSCHeapCapture.js +0 -13
  577. package/Libraries/Performance/NativeJSCSamplingProfiler.js +0 -13
  578. package/Libraries/Performance/SamplingProfiler.js +0 -39
  579. package/Libraries/ReactNative/__mocks__/FabricUIManager.js +0 -334
  580. package/React/Inspector/RCTInspectorPackagerConnection.m +0 -325
  581. package/ReactAndroid/src/main/java/com/facebook/react/bridge/GuardedResultAsyncTask.java +0 -50
  582. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/InspectorPackagerConnection.java +0 -314
  583. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/JSCHeapCapture.java +0 -76
  584. package/ReactAndroid/src/main/java/com/facebook/react/fabric/EmptyReactNativeConfig.kt +0 -36
  585. package/ReactAndroid/src/main/java/com/facebook/react/fabric/GuardedFrameCallback.kt +0 -33
  586. package/ReactAndroid/src/main/java/com/facebook/react/fabric/ReactNativeConfig.kt +0 -54
  587. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.java +0 -83
  588. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskConfig.java +0 -121
  589. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskContext.java +0 -214
  590. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskRetryPolicy.java +0 -22
  591. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/XmlFormat.kt +0 -143
  592. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/CookieJarContainer.java +0 -17
  593. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java +0 -124
  594. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ReactCookieJarContainer.java +0 -58
  595. package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/WebSocketModule.java +0 -422
  596. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/FabricViewStateManager.java +0 -98
  597. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactOverflowView.java +0 -25
  598. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactPointerEventsView.java +0 -20
  599. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventCategoryDef.java +0 -45
  600. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcher.java +0 -37
  601. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherListener.java +0 -19
  602. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherProvider.java +0 -24
  603. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.java +0 -257
  604. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEventHelper.java +0 -210
  605. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTEventEmitter.java +0 -43
  606. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTModernEventEmitter.java +0 -39
  607. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ReactEventEmitter.java +0 -165
  608. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEventCoalescingKeyHelper.java +0 -85
  609. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchesHelper.java +0 -204
  610. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewAccessibilityDelegate.java +0 -161
  611. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchManager.java +0 -232
  612. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageViewManager.java +0 -70
  613. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/LegacyLineHeightSpan.kt +0 -69
  614. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactDrawableHelper.java +0 -114
  615. package/ReactAndroid/src/main/jni/first-party/fb/CMakeLists.txt +0 -31
  616. package/ReactAndroid/src/main/jni/first-party/fb/assert.cpp +0 -39
  617. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/ALog.h +0 -82
  618. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/Build.h +0 -31
  619. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/Countable.h +0 -45
  620. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/Doxyfile +0 -18
  621. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/Environment.h +0 -93
  622. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/ProgramLocation.h +0 -58
  623. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/RefPtr.h +0 -266
  624. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/StaticInitialized.h +0 -37
  625. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/ThreadLocal.h +0 -112
  626. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/assert.h +0 -43
  627. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/log.h +0 -350
  628. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/noncopyable.h +0 -20
  629. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/nonmovable.h +0 -20
  630. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/visibility.h +0 -10
  631. package/ReactAndroid/src/main/jni/first-party/fb/log.cpp +0 -102
  632. package/ReactAndroid/src/main/jni/react/fabric/JEmptyReactNativeConfig.cpp +0 -47
  633. package/ReactAndroid/src/main/jni/react/fabric/JEmptyReactNativeConfig.h +0 -38
  634. package/ReactAndroid/src/main/jni/react/fabric/ReactNativeConfigHolder.cpp +0 -41
  635. package/ReactAndroid/src/main/jni/react/fabric/ReactNativeConfigHolder.h +0 -35
  636. package/ReactAndroid/src/main/jni/react/perftests/OnLoad.cpp +0 -243
  637. package/ReactAndroid/src/main/jni/third-party/jsc/CMakeLists.txt +0 -15
  638. package/ReactCommon/React-nativeconfig.podspec +0 -36
  639. package/ReactCommon/cxxreact/tests/main.cpp +0 -15
  640. package/ReactCommon/react/config/CMakeLists.txt +0 -20
  641. package/ReactCommon/react/config/ReactNativeConfig.cpp +0 -28
  642. package/ReactCommon/react/config/ReactNativeConfig.h +0 -42
  643. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputState.cpp +0 -95
  644. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputState.h +0 -80
  645. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputState.cpp +0 -10
  646. package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/TextLayoutManager.h +0 -78
  647. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.h +0 -69
  648. package/ReactCommon/react/renderer/uimanager/SurfaceRegistryBinding.cpp +0 -123
  649. package/ReactCommon/react/renderer/uimanager/bindingUtils.cpp +0 -79
  650. package/src/private/webapis/dom/nodes/specs/__mocks__/NativeDOMMock.js +0 -413
  651. package/src/private/webapis/intersectionobserver/specs/__mocks__/NativeIntersectionObserver.js +0 -181
  652. package/src/private/webapis/mutationobserver/specs/__mocks__/NativeMutationObserver.js +0 -327
  653. /package/ReactCommon/react/renderer/components/scrollview/{AndroidHorizontalScrollContentViewComponentDescriptor.h → platform/android/react/renderer/components/scrollview/AndroidHorizontalScrollContentViewComponentDescriptor.h} +0 -0
  654. /package/ReactCommon/react/renderer/components/scrollview/{AndroidHorizontalScrollContentViewShadowNode.cpp → platform/android/react/renderer/components/scrollview/AndroidHorizontalScrollContentViewShadowNode.cpp} +0 -0
  655. /package/ReactCommon/react/renderer/components/scrollview/{AndroidHorizontalScrollContentViewShadowNode.h → platform/android/react/renderer/components/scrollview/AndroidHorizontalScrollContentViewShadowNode.h} +0 -0
@@ -84,6 +84,7 @@ public abstract class BaseViewManager<T extends View, C extends LayoutShadowNode
84
84
  view.setTag(R.id.accessibility_actions, null);
85
85
  view.setTag(R.id.accessibility_value, null);
86
86
  view.setTag(R.id.accessibility_state_expanded, null);
87
+ view.setTag(R.id.view_clipped, null);
87
88
 
88
89
  // This indirectly calls (and resets):
89
90
  // setTranslationX
@@ -813,62 +814,62 @@ public abstract class BaseViewManager<T extends View, C extends LayoutShadowNode
813
814
  }
814
815
 
815
816
  /* Experimental W3C Pointer events start */
816
- @ReactProp(name = "onPointerEnter")
817
+ @ReactProp(name = ViewProps.ON_POINTER_ENTER)
817
818
  public void setPointerEnter(@NonNull T view, boolean value) {
818
819
  setPointerEventsFlag(view, PointerEventHelper.EVENT.ENTER, value);
819
820
  }
820
821
 
821
- @ReactProp(name = "onPointerEnterCapture")
822
+ @ReactProp(name = ViewProps.ON_POINTER_ENTER_CAPTURE)
822
823
  public void setPointerEnterCapture(@NonNull T view, boolean value) {
823
824
  setPointerEventsFlag(view, PointerEventHelper.EVENT.ENTER_CAPTURE, value);
824
825
  }
825
826
 
826
- @ReactProp(name = "onPointerOver")
827
+ @ReactProp(name = ViewProps.ON_POINTER_OVER)
827
828
  public void setPointerOver(@NonNull T view, boolean value) {
828
829
  setPointerEventsFlag(view, PointerEventHelper.EVENT.OVER, value);
829
830
  }
830
831
 
831
- @ReactProp(name = "onPointerOverCapture")
832
+ @ReactProp(name = ViewProps.ON_POINTER_OVER_CAPTURE)
832
833
  public void setPointerOverCapture(@NonNull T view, boolean value) {
833
834
  setPointerEventsFlag(view, PointerEventHelper.EVENT.OVER_CAPTURE, value);
834
835
  }
835
836
 
836
- @ReactProp(name = "onPointerOut")
837
+ @ReactProp(name = ViewProps.ON_POINTER_OUT)
837
838
  public void setPointerOut(@NonNull T view, boolean value) {
838
839
  setPointerEventsFlag(view, PointerEventHelper.EVENT.OUT, value);
839
840
  }
840
841
 
841
- @ReactProp(name = "onPointerOutCapture")
842
+ @ReactProp(name = ViewProps.ON_POINTER_OUT_CAPTURE)
842
843
  public void setPointerOutCapture(@NonNull T view, boolean value) {
843
844
  setPointerEventsFlag(view, PointerEventHelper.EVENT.OUT_CAPTURE, value);
844
845
  }
845
846
 
846
- @ReactProp(name = "onPointerLeave")
847
+ @ReactProp(name = ViewProps.ON_POINTER_LEAVE)
847
848
  public void setPointerLeave(@NonNull T view, boolean value) {
848
849
  setPointerEventsFlag(view, PointerEventHelper.EVENT.LEAVE, value);
849
850
  }
850
851
 
851
- @ReactProp(name = "onPointerLeaveCapture")
852
+ @ReactProp(name = ViewProps.ON_POINTER_LEAVE_CAPTURE)
852
853
  public void setPointerLeaveCapture(@NonNull T view, boolean value) {
853
854
  setPointerEventsFlag(view, PointerEventHelper.EVENT.LEAVE_CAPTURE, value);
854
855
  }
855
856
 
856
- @ReactProp(name = "onPointerMove")
857
+ @ReactProp(name = ViewProps.ON_POINTER_MOVE)
857
858
  public void setPointerMove(@NonNull T view, boolean value) {
858
859
  setPointerEventsFlag(view, PointerEventHelper.EVENT.MOVE, value);
859
860
  }
860
861
 
861
- @ReactProp(name = "onPointerMoveCapture")
862
+ @ReactProp(name = ViewProps.ON_POINTER_MOVE_CAPTURE)
862
863
  public void setPointerMoveCapture(@NonNull T view, boolean value) {
863
864
  setPointerEventsFlag(view, PointerEventHelper.EVENT.MOVE_CAPTURE, value);
864
865
  }
865
866
 
866
- @ReactProp(name = "onClick")
867
+ @ReactProp(name = ViewProps.ON_CLICK)
867
868
  public void setClick(@NonNull T view, boolean value) {
868
869
  setPointerEventsFlag(view, PointerEventHelper.EVENT.CLICK, value);
869
870
  }
870
871
 
871
- @ReactProp(name = "onClickCapture")
872
+ @ReactProp(name = ViewProps.ON_CLICK_CAPTURE)
872
873
  public void setClickCapture(@NonNull T view, boolean value) {
873
874
  setPointerEventsFlag(view, PointerEventHelper.EVENT.CLICK_CAPTURE, value);
874
875
  }
@@ -126,20 +126,23 @@ public abstract class BaseViewManagerDelegate<
126
126
  ViewProps.Z_INDEX -> mViewManager.setZIndex(view, (value as Double?)?.toFloat() ?: 0.0f)
127
127
 
128
128
  // Experimental pointer events
129
- "onPointerEnter" -> mViewManager.setPointerEnter(view, value as Boolean? ?: false)
130
- "onPointerEnterCapture" ->
129
+ ViewProps.ON_POINTER_ENTER -> mViewManager.setPointerEnter(view, value as Boolean? ?: false)
130
+ ViewProps.ON_POINTER_ENTER_CAPTURE ->
131
131
  mViewManager.setPointerEnterCapture(view, value as Boolean? ?: false)
132
- "onPointerOver" -> mViewManager.setPointerOver(view, value as Boolean? ?: false)
133
- "onPointerOverCapture" -> mViewManager.setPointerOverCapture(view, value as Boolean? ?: false)
134
- "onPointerOut" -> mViewManager.setPointerOut(view, value as Boolean? ?: false)
135
- "onPointerOutCapture" -> mViewManager.setPointerOutCapture(view, value as Boolean? ?: false)
136
- "onPointerLeave" -> mViewManager.setPointerLeave(view, value as Boolean? ?: false)
137
- "onPointerLeaveCapture" ->
132
+ ViewProps.ON_POINTER_OVER -> mViewManager.setPointerOver(view, value as Boolean? ?: false)
133
+ ViewProps.ON_POINTER_OVER_CAPTURE ->
134
+ mViewManager.setPointerOverCapture(view, value as Boolean? ?: false)
135
+ ViewProps.ON_POINTER_OUT -> mViewManager.setPointerOut(view, value as Boolean? ?: false)
136
+ ViewProps.ON_POINTER_OUT_CAPTURE ->
137
+ mViewManager.setPointerOutCapture(view, value as Boolean? ?: false)
138
+ ViewProps.ON_POINTER_LEAVE -> mViewManager.setPointerLeave(view, value as Boolean? ?: false)
139
+ ViewProps.ON_POINTER_LEAVE_CAPTURE ->
138
140
  mViewManager.setPointerLeaveCapture(view, value as Boolean? ?: false)
139
- "onPointerMove" -> mViewManager.setPointerMove(view, value as Boolean? ?: false)
140
- "onPointerMoveCapture" -> mViewManager.setPointerMoveCapture(view, value as Boolean? ?: false)
141
- "onClick" -> mViewManager.setClick(view, value as Boolean? ?: false)
142
- "onClickCapture" -> mViewManager.setClickCapture(view, value as Boolean? ?: false)
141
+ ViewProps.ON_POINTER_MOVE -> mViewManager.setPointerMove(view, value as Boolean? ?: false)
142
+ ViewProps.ON_POINTER_MOVE_CAPTURE ->
143
+ mViewManager.setPointerMoveCapture(view, value as Boolean? ?: false)
144
+ ViewProps.ON_CLICK -> mViewManager.setClick(view, value as Boolean? ?: false)
145
+ ViewProps.ON_CLICK_CAPTURE -> mViewManager.setClickCapture(view, value as Boolean? ?: false)
143
146
  }
144
147
  }
145
148
 
@@ -5,13 +5,12 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- package com.facebook.react.uimanager;
8
+ package com.facebook.react.uimanager
9
9
 
10
- import com.facebook.proguard.annotations.DoNotStripAny;
10
+ import com.facebook.proguard.annotations.DoNotStripAny
11
11
 
12
12
  @DoNotStripAny
13
- public interface ComponentNameResolver {
14
-
13
+ internal interface ComponentNameResolver {
15
14
  /* returns a list of all the component names that are registered in React Native. */
16
- String[] getComponentNames();
15
+ public val componentNames: Array<String>?
17
16
  }
@@ -8,6 +8,7 @@
8
8
  package com.facebook.react.uimanager
9
9
 
10
10
  import android.view.Choreographer
11
+ import com.facebook.react.bridge.JSExceptionHandler
11
12
  import com.facebook.react.bridge.ReactContext
12
13
 
13
14
  /**
@@ -15,13 +16,15 @@ import com.facebook.react.bridge.ReactContext
15
16
  * handled by the [JSExceptionHandler] registered if the app is in dev mode.
16
17
  */
17
18
  public abstract class GuardedFrameCallback
18
- protected constructor(private val reactContext: ReactContext) : Choreographer.FrameCallback {
19
+ protected constructor(private val exceptionHandler: JSExceptionHandler) :
20
+ Choreographer.FrameCallback {
21
+ protected constructor(reactContext: ReactContext) : this(reactContext.exceptionHandler)
19
22
 
20
23
  override public fun doFrame(frameTimeNanos: Long) {
21
24
  try {
22
25
  doFrameGuarded(frameTimeNanos)
23
26
  } catch (e: RuntimeException) {
24
- reactContext.handleException(e)
27
+ exceptionHandler.handleException(e)
25
28
  }
26
29
  }
27
30
 
@@ -972,9 +972,4 @@ public class LayoutShadowNode extends ReactShadowNodeImpl {
972
972
  public void setShouldNotifyPointerMove(boolean value) {
973
973
  // Do Nothing: Align with static ViewConfigs
974
974
  }
975
-
976
- @ReactProp(name = "experimental_layoutConformance")
977
- public void setLayoutConformance(String value) {
978
- // Do Nothing: Align with static ViewConfigs
979
- }
980
975
  }
@@ -0,0 +1,21 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ package com.facebook.react.uimanager
9
+
10
+ /**
11
+ * Interface that should be implemented by [View] subclasses that support [overflow] style. This
12
+ * allows the overflow information to be used by [TouchTargetHelper] to determine if a View is
13
+ * touchable.
14
+ */
15
+ public interface ReactOverflowView {
16
+ /**
17
+ * Gets the overflow state of a view. If set, this should be one of [ViewProps#HIDDEN],
18
+ * [ViewProps#VISIBLE] or [ViewProps#SCROLL].
19
+ */
20
+ public val overflow: String?
21
+ }
@@ -0,0 +1,18 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ package com.facebook.react.uimanager
9
+
10
+ /**
11
+ * This interface should be implemented be native [View] subclasses that support pointer events
12
+ * handling. It is used to find the target View of a touch event.
13
+ */
14
+ public interface ReactPointerEventsView {
15
+
16
+ /** The PointerEvents of the View. */
17
+ public val pointerEvents: PointerEvents
18
+ }
@@ -5,10 +5,10 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- package com.facebook.react.uimanager;
8
+ package com.facebook.react.uimanager
9
9
 
10
- import android.view.MotionEvent;
11
- import android.view.View;
10
+ import android.view.MotionEvent
11
+ import android.view.View
12
12
 
13
13
  /** Interface for the root native view of a React native application. */
14
14
  public interface RootView {
@@ -17,21 +17,20 @@ public interface RootView {
17
17
  * Called when a child starts a native gesture (e.g. a scroll in a ScrollView). Should be called
18
18
  * from the child's onTouchIntercepted implementation.
19
19
  */
20
- void onChildStartedNativeGesture(View childView, MotionEvent ev);
20
+ public fun onChildStartedNativeGesture(childView: View?, ev: MotionEvent)
21
21
 
22
- /**
23
- * @deprecated
24
- */
25
- @Deprecated
26
- default void onChildStartedNativeGesture(MotionEvent ev) {
27
- onChildStartedNativeGesture(null, ev);
22
+ @Deprecated(
23
+ message = "Use onChildStartedNativeGesture with a childView parameter.",
24
+ replaceWith = ReplaceWith("onChildStartedNativeGesture"))
25
+ public fun onChildStartedNativeGesture(ev: MotionEvent) {
26
+ onChildStartedNativeGesture(null, ev)
28
27
  }
29
28
 
30
29
  /**
31
30
  * Called when a child ends a native gesture. Should be called from the child's onTouchIntercepted
32
31
  * implementation.
33
32
  */
34
- void onChildEndedNativeGesture(View childView, MotionEvent ev);
33
+ public fun onChildEndedNativeGesture(childView: View, ev: MotionEvent)
35
34
 
36
- void handleException(Throwable t);
35
+ public fun handleException(t: Throwable)
37
36
  }
@@ -11,7 +11,7 @@ import android.view.ViewGroup
11
11
  import android.widget.FrameLayout
12
12
 
13
13
  /** View manager for ReactRootView components. */
14
- public class RootViewManager : ViewGroupManager<ViewGroup>() {
14
+ internal class RootViewManager : ViewGroupManager<ViewGroup>() {
15
15
 
16
16
  override public fun getName(): String = REACT_CLASS
17
17
 
@@ -5,9 +5,9 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- package com.facebook.react.uimanager;
8
+ package com.facebook.react.uimanager
9
9
 
10
10
  /** A task to execute on the UI View for third party libraries. */
11
- public interface UIBlock {
12
- public void execute(NativeViewHierarchyManager nativeViewHierarchyManager);
11
+ public fun interface UIBlock {
12
+ public fun execute(nativeViewHierarchyManager: NativeViewHierarchyManager): Unit
13
13
  }
@@ -25,7 +25,6 @@ import com.facebook.react.bridge.RetryableMountingLayerException;
25
25
  import com.facebook.react.bridge.SoftAssertions;
26
26
  import com.facebook.react.bridge.UiThreadUtil;
27
27
  import com.facebook.react.common.ReactConstants;
28
- import com.facebook.react.internal.featureflags.ReactNativeFeatureFlags;
29
28
  import com.facebook.react.modules.core.ReactChoreographer;
30
29
  import com.facebook.react.uimanager.debug.NotThreadSafeViewHierarchyUpdateDebugListener;
31
30
  import com.facebook.systrace.Systrace;
@@ -958,10 +957,8 @@ public class UIViewOperationQueue {
958
957
 
959
958
  /* package */ void resumeFrameCallback() {
960
959
  mIsDispatchUIFrameCallbackEnqueued = true;
961
- if (!ReactNativeFeatureFlags.enableFabricRendererExclusively()) {
962
- ReactChoreographer.getInstance()
963
- .postFrameCallback(ReactChoreographer.CallbackType.DISPATCH_UI, mDispatchUIFrameCallback);
964
- }
960
+ ReactChoreographer.getInstance()
961
+ .postFrameCallback(ReactChoreographer.CallbackType.DISPATCH_UI, mDispatchUIFrameCallback);
965
962
  }
966
963
 
967
964
  /* package */ void pauseFrameCallback() {
@@ -14,8 +14,10 @@ import androidx.annotation.Nullable;
14
14
  import com.facebook.common.logging.FLog;
15
15
  import com.facebook.react.bridge.BaseJavaModule;
16
16
  import com.facebook.react.bridge.ReactApplicationContext;
17
+ import com.facebook.react.bridge.ReactContext;
17
18
  import com.facebook.react.bridge.ReadableArray;
18
19
  import com.facebook.react.bridge.ReadableMap;
20
+ import com.facebook.react.common.annotations.UnstableReactNativeAPI;
19
21
  import com.facebook.react.common.mapbuffer.MapBuffer;
20
22
  import com.facebook.react.internal.featureflags.ReactNativeFeatureFlags;
21
23
  import com.facebook.react.touch.JSResponderHandler;
@@ -488,4 +490,27 @@ public abstract class ViewManager<T extends View, C extends ReactShadowNode>
488
490
  mRecyclableViews = new HashMap<>();
489
491
  }
490
492
  }
493
+
494
+ /**
495
+ * THIS PREFETCH METHOD IS EXPERIMENTAL, DO NOT USE IT FOR PRODUCTION CODE, MOST LIKELY IT WILL
496
+ * CHANGE OR BE REMOVED IN THE FUTURE.
497
+ *
498
+ * <p>Subclasses can override this method to implement custom resource prefetching for the
499
+ * ViewManager.
500
+ *
501
+ * @param reactContext {@link com.facebook.react.bridge.ReactContext} used for the view.
502
+ * @param surfaceId {@link int} surface ID
503
+ * @param reactTag reactTag that should be set as ID of the view instance
504
+ * @param params {@link MapBuffer} prefetch request params defined in C++
505
+ */
506
+ @UnstableReactNativeAPI
507
+ public void experimental_prefetchResource(
508
+ ReactContext reactContext, int surfaceId, int reactTag, MapBuffer params) {
509
+ return;
510
+ }
511
+
512
+ @UnstableReactNativeAPI
513
+ protected boolean experimental_isPrefetchingEnabled() {
514
+ return ReactNativeFeatureFlags.enableImagePrefetchingAndroid();
515
+ }
491
516
  }
@@ -17,7 +17,7 @@ import com.facebook.react.bridge.ReadableArray
17
17
  *
18
18
  * @param <T> the type of the view supported by this delegate </T>
19
19
  */
20
- public interface ViewManagerDelegate<T : View?> {
20
+ public interface ViewManagerDelegate<T : View> {
21
21
 
22
22
  /**
23
23
  * Sets a property on a view managed by this view manager.
@@ -5,12 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- #if defined(__cplusplus)
8
+ package com.facebook.react.uimanager
9
9
 
10
- #import <ReactCommon/RCTTurboModuleManager.h>
11
- #import "RCTAppDelegate.h"
12
-
13
- @interface RCTAppDelegate () <RCTTurboModuleManagerDelegate>
14
- @end
15
-
16
- #endif
10
+ /** Marker interface to be extended by all code-generated ViewManagerInterface. */
11
+ public interface ViewManagerWithGeneratedInterface {}
@@ -60,7 +60,6 @@ public object ViewProps {
60
60
  public const val WIDTH: String = "width"
61
61
  public const val START: String = "start"
62
62
  public const val END: String = "end"
63
- public const val IS_ATTACHMENT: String = "isAttachment"
64
63
  public const val AUTO: String = "auto"
65
64
  public const val NONE: String = "none"
66
65
  public const val BOX_NONE: String = "box-none"
@@ -135,7 +134,6 @@ public object ViewProps {
135
134
  public const val BORDER_START_START_RADIUS: String = "borderStartStartRadius"
136
135
  public const val BORDER_START_COLOR: String = "borderStartColor"
137
136
  public const val BORDER_END_COLOR: String = "borderEndColor"
138
- public const val ON_LAYOUT: String = "onLayout"
139
137
  public const val BOX_SHADOW: String = "boxShadow"
140
138
  public const val FILTER: String = "filter"
141
139
  public const val MIX_BLEND_MODE: String = "mixBlendMode"
@@ -170,6 +168,18 @@ public object ViewProps {
170
168
  /** Used to locate views in end-to-end (UI) tests. */
171
169
  public const val TEST_ID: String = "testID"
172
170
  public const val NATIVE_ID: String = "nativeID"
171
+ internal const val ON_POINTER_ENTER: String = "onPointerEnter"
172
+ internal const val ON_POINTER_ENTER_CAPTURE: String = "onPointerEnterCapture"
173
+ internal const val ON_POINTER_OVER: String = "onPointerOver"
174
+ internal const val ON_POINTER_OVER_CAPTURE: String = "onPointerOverCapture"
175
+ internal const val ON_POINTER_OUT: String = "onPointerOut"
176
+ internal const val ON_POINTER_OUT_CAPTURE: String = "onPointerOutCapture"
177
+ internal const val ON_POINTER_LEAVE: String = "onPointerLeave"
178
+ internal const val ON_POINTER_LEAVE_CAPTURE: String = "onPointerLeaveCapture"
179
+ internal const val ON_POINTER_MOVE: String = "onPointerMove"
180
+ internal const val ON_POINTER_MOVE_CAPTURE: String = "onPointerMoveCapture"
181
+ internal const val ON_CLICK: String = "onClick"
182
+ internal const val ON_CLICK_CAPTURE: String = "onClickCapture"
173
183
  @JvmField
174
184
  public val BORDER_SPACING_TYPES: IntArray =
175
185
  intArrayOf(
@@ -192,9 +202,6 @@ public object ViewProps {
192
202
  Spacing.BOTTOM,
193
203
  Spacing.LEFT,
194
204
  Spacing.RIGHT)
195
- @JvmField
196
- public val POSITION_SPACING_TYPES: IntArray =
197
- intArrayOf(Spacing.START, Spacing.END, Spacing.TOP, Spacing.BOTTOM)
198
205
  private val LAYOUT_ONLY_PROPS: HashSet<String> =
199
206
  HashSet(
200
207
  Arrays.asList(
@@ -42,7 +42,7 @@ internal class BackgroundDrawable(
42
42
  * Outline. The smallest amount (found to be 0.8f) is used to shrink outline's path, overlapping
43
43
  * them and closing the visible gap.
44
44
  */
45
- private val gapBetweenPaths = 0.8f
45
+ private val pathAdjustment = 0.8f
46
46
  private var computedBorderInsets: RectF? = null
47
47
  private var computedBorderRadius: ComputedBorderRadius? = null
48
48
  private var needUpdatePath = true
@@ -56,8 +56,8 @@ internal class BackgroundDrawable(
56
56
  }
57
57
  }
58
58
 
59
- private var paddingBoxRect: RectF = RectF()
60
- private var paddingBoxRenderPath: Path? = null
59
+ private var backgroundRect: RectF = RectF()
60
+ private var backgroundRenderPath: Path? = null
61
61
 
62
62
  var backgroundImageLayers: List<BackgroundImageLayer>? = null
63
63
  set(value) {
@@ -107,33 +107,33 @@ internal class BackgroundDrawable(
107
107
  updatePath()
108
108
  canvas.save()
109
109
 
110
- var innerRadiusX = 0f
111
- var innerRadiusY = 0f
112
110
  // Draws the View without its border first (with background color fill)
113
111
  if (backgroundPaint.alpha != 0) {
114
112
  if (computedBorderRadius?.isUniform() == true && borderRadius?.hasRoundedBorders() == true) {
115
- innerRadiusX =
116
- getInnerBorderRadius(
117
- computedBorderRadius?.topLeft?.horizontal?.dpToPx(), computedBorderInsets?.left)
118
- innerRadiusY =
119
- getInnerBorderRadius(
120
- computedBorderRadius?.topLeft?.vertical?.dpToPx(), computedBorderInsets?.top)
121
- canvas.drawRoundRect(paddingBoxRect, innerRadiusX, innerRadiusY, backgroundPaint)
113
+ canvas.drawRoundRect(
114
+ backgroundRect,
115
+ computedBorderRadius?.topLeft?.horizontal?.dpToPx() ?: 0f,
116
+ computedBorderRadius?.topLeft?.vertical?.dpToPx() ?: 0f,
117
+ backgroundPaint)
122
118
  } else if (borderRadius?.hasRoundedBorders() != true) {
123
- canvas.drawRect(bounds, backgroundPaint)
119
+ canvas.drawRect(backgroundRect, backgroundPaint)
124
120
  } else {
125
- canvas.drawPath(checkNotNull(paddingBoxRenderPath), backgroundPaint)
121
+ canvas.drawPath(checkNotNull(backgroundRenderPath), backgroundPaint)
126
122
  }
127
123
  }
128
124
 
129
125
  if (backgroundImageLayers != null && backgroundImageLayers?.isNotEmpty() == true) {
130
126
  backgroundPaint.setShader(getBackgroundImageShader())
131
127
  if (computedBorderRadius?.isUniform() == true && borderRadius?.hasRoundedBorders() == true) {
132
- canvas.drawRoundRect(paddingBoxRect, innerRadiusX, innerRadiusY, backgroundPaint)
128
+ canvas.drawRoundRect(
129
+ backgroundRect,
130
+ computedBorderRadius?.topLeft?.horizontal?.dpToPx() ?: 0f,
131
+ computedBorderRadius?.topLeft?.vertical?.dpToPx() ?: 0f,
132
+ backgroundPaint)
133
133
  } else if (borderRadius?.hasRoundedBorders() != true) {
134
- canvas.drawRect(paddingBoxRect, backgroundPaint)
134
+ canvas.drawRect(backgroundRect, backgroundPaint)
135
135
  } else {
136
- canvas.drawPath(checkNotNull(paddingBoxRenderPath), backgroundPaint)
136
+ canvas.drawPath(checkNotNull(backgroundRenderPath), backgroundPaint)
137
137
  }
138
138
  backgroundPaint.setShader(null)
139
139
  }
@@ -167,89 +167,55 @@ internal class BackgroundDrawable(
167
167
  return null
168
168
  }
169
169
 
170
- /**
171
- * Here, "inner" refers to the border radius on the inside of the border. So it ends up being the
172
- * "outer" border radius inset by the respective width.
173
- */
174
- private fun getInnerBorderRadius(computedRadius: Float?, borderWidth: Float?): Float {
175
- return ((computedRadius ?: 0f) - (borderWidth ?: 0f)).coerceAtLeast(0f)
176
- }
177
-
178
170
  private fun updatePath() {
179
171
  if (!needUpdatePath) {
180
172
  return
181
173
  }
182
174
  needUpdatePath = false
183
175
 
176
+ backgroundRect.set(bounds)
177
+
184
178
  computedBorderInsets = computeBorderInsets()
185
179
  computedBorderRadius =
186
180
  borderRadius?.resolve(
187
181
  layoutDirection, context, bounds.width().pxToDp(), bounds.height().pxToDp())
182
+ val hasBorder =
183
+ (computedBorderInsets?.left != 0f ||
184
+ computedBorderInsets?.top != 0f ||
185
+ computedBorderInsets?.right != 0f ||
186
+ computedBorderInsets?.bottom != 0f)
188
187
 
189
188
  if (computedBorderRadius?.hasRoundedBorders() == true &&
190
189
  computedBorderRadius?.isUniform() == false) {
191
- paddingBoxRenderPath = paddingBoxRenderPath ?: Path()
192
- paddingBoxRenderPath?.reset()
190
+ backgroundRenderPath = backgroundRenderPath ?: Path()
191
+ backgroundRenderPath?.reset()
193
192
  }
194
193
 
195
- // only close gap between border and background if we draw the border, otherwise
196
- // we wind up pixelating small pixel-radius curves
197
- var pathAdjustment = 0f
198
- if (computedBorderInsets != null &&
199
- (computedBorderInsets?.left != 0f ||
200
- computedBorderInsets?.top != 0f ||
201
- computedBorderInsets?.right != 0f ||
202
- computedBorderInsets?.bottom != 0f)) {
203
- pathAdjustment = gapBetweenPaths
194
+ /**
195
+ * The background bleeds a bit outside of the borderDrawable. pathAdjustment is used to slightly
196
+ * shrink the rectangle (backgroundRect), ensuring the border can be drawn on top without the
197
+ * gap.
198
+ */
199
+ if (hasBorder && borderRadius?.hasRoundedBorders() == true) {
200
+ backgroundRect.left += pathAdjustment
201
+ backgroundRect.top += pathAdjustment
202
+ backgroundRect.right -= pathAdjustment
203
+ backgroundRect.bottom -= pathAdjustment
204
204
  }
205
205
 
206
- // There is a small gap between backgroundDrawable and
207
- // borderDrawable. pathAdjustment is used to slightly enlarge the rectangle
208
- // (paddingBoxRect), ensuring the border can be
209
- // drawn on top without the gap.
210
- paddingBoxRect.left = bounds.left + (computedBorderInsets?.left ?: 0f) - pathAdjustment
211
- paddingBoxRect.top = bounds.top + (computedBorderInsets?.top ?: 0f) - pathAdjustment
212
- paddingBoxRect.right = bounds.right - (computedBorderInsets?.right ?: 0f) + pathAdjustment
213
- paddingBoxRect.bottom = bounds.bottom - (computedBorderInsets?.bottom ?: 0f) + pathAdjustment
214
-
215
206
  if (borderRadius?.hasRoundedBorders() == true && computedBorderRadius?.isUniform() != true) {
216
207
 
217
- val innerTopLeftRadiusX =
218
- getInnerBorderRadius(
219
- computedBorderRadius?.topLeft?.horizontal?.dpToPx(), computedBorderInsets?.left)
220
- val innerTopLeftRadiusY =
221
- getInnerBorderRadius(
222
- computedBorderRadius?.topLeft?.vertical?.dpToPx(), computedBorderInsets?.top)
223
- val innerTopRightRadiusX =
224
- getInnerBorderRadius(
225
- computedBorderRadius?.topRight?.horizontal?.dpToPx(), computedBorderInsets?.right)
226
- val innerTopRightRadiusY =
227
- getInnerBorderRadius(
228
- computedBorderRadius?.topRight?.vertical?.dpToPx(), computedBorderInsets?.top)
229
- val innerBottomRightRadiusX =
230
- getInnerBorderRadius(
231
- computedBorderRadius?.bottomRight?.horizontal?.dpToPx(), computedBorderInsets?.right)
232
- val innerBottomRightRadiusY =
233
- getInnerBorderRadius(
234
- computedBorderRadius?.bottomRight?.vertical?.dpToPx(), computedBorderInsets?.bottom)
235
- val innerBottomLeftRadiusX =
236
- getInnerBorderRadius(
237
- computedBorderRadius?.bottomLeft?.horizontal?.dpToPx(), computedBorderInsets?.left)
238
- val innerBottomLeftRadiusY =
239
- getInnerBorderRadius(
240
- computedBorderRadius?.bottomLeft?.vertical?.dpToPx(), computedBorderInsets?.bottom)
241
-
242
- paddingBoxRenderPath?.addRoundRect(
243
- paddingBoxRect,
208
+ backgroundRenderPath?.addRoundRect(
209
+ backgroundRect,
244
210
  floatArrayOf(
245
- innerTopLeftRadiusX,
246
- innerTopLeftRadiusY,
247
- innerTopRightRadiusX,
248
- innerTopRightRadiusY,
249
- innerBottomRightRadiusX,
250
- innerBottomRightRadiusY,
251
- innerBottomLeftRadiusX,
252
- innerBottomLeftRadiusY,
211
+ computedBorderRadius?.topLeft?.horizontal?.dpToPx() ?: 0f,
212
+ computedBorderRadius?.topLeft?.vertical?.dpToPx() ?: 0f,
213
+ computedBorderRadius?.topRight?.horizontal?.dpToPx() ?: 0f,
214
+ computedBorderRadius?.topRight?.vertical?.dpToPx() ?: 0f,
215
+ computedBorderRadius?.bottomRight?.horizontal?.dpToPx() ?: 0f,
216
+ computedBorderRadius?.bottomRight?.vertical?.dpToPx() ?: 0f,
217
+ computedBorderRadius?.bottomLeft?.horizontal?.dpToPx() ?: 0f,
218
+ computedBorderRadius?.bottomLeft?.vertical?.dpToPx() ?: 0f,
253
219
  ),
254
220
  Path.Direction.CW)
255
221
  }
@@ -138,7 +138,7 @@ internal class BorderDrawable(
138
138
  @Deprecated("Deprecated in Java")
139
139
  override fun getOpacity(): Int {
140
140
  val maxBorderAlpha =
141
- minOf(
141
+ maxOf(
142
142
  (Color.alpha(multiplyColorAlpha(computedBorderColors.left, borderAlpha))),
143
143
  (Color.alpha(multiplyColorAlpha(computedBorderColors.top, borderAlpha))),
144
144
  (Color.alpha(multiplyColorAlpha(computedBorderColors.right, borderAlpha))),
@@ -675,10 +675,10 @@ internal class BorderDrawable(
675
675
 
676
676
  val borderWidth = computeBorderInsets()
677
677
 
678
- // Clip border ONLY if its color is non transparent
679
- if (Color.alpha(computedBorderColors.left) != 0 &&
680
- Color.alpha(computedBorderColors.top) != 0 &&
681
- Color.alpha(computedBorderColors.right) != 0 &&
678
+ // Clip border ONLY if at least one edge is non-transparent
679
+ if (Color.alpha(computedBorderColors.left) != 0 ||
680
+ Color.alpha(computedBorderColors.top) != 0 ||
681
+ Color.alpha(computedBorderColors.right) != 0 ||
682
682
  Color.alpha(computedBorderColors.bottom) != 0) {
683
683
  innerClipTempRectForBorderRadius?.top =
684
684
  innerClipTempRectForBorderRadius?.top?.plus(borderWidth.top) ?: 0f
@@ -646,13 +646,13 @@ public class CSSBackgroundDrawable extends Drawable {
646
646
  colorTop = colorBlockStart;
647
647
  }
648
648
 
649
- // Clip border ONLY if its color is non transparent
649
+ // Clip border ONLY if at least one edge is non-transparent
650
650
  float pathAdjustment = 0f;
651
651
  if (Color.alpha(colorLeft) != 0
652
- && Color.alpha(colorTop) != 0
653
- && Color.alpha(colorRight) != 0
654
- && Color.alpha(colorBottom) != 0
655
- && Color.alpha(borderColor) != 0) {
652
+ || Color.alpha(colorTop) != 0
653
+ || Color.alpha(colorRight) != 0
654
+ || Color.alpha(colorBottom) != 0
655
+ || Color.alpha(borderColor) != 0) {
656
656
 
657
657
  mInnerClipTempRectForBorderRadius.top += borderWidth.top;
658
658
  mInnerClipTempRectForBorderRadius.bottom -= borderWidth.bottom;