react-native-tvos 0.85.3-0 → 0.86.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 (675) hide show
  1. package/Libraries/Animated/AnimatedImplementation.js +6 -6
  2. package/Libraries/Animated/NativeAnimatedAllowlist.js +21 -0
  3. package/Libraries/Animated/components/AnimatedImage.js +3 -3
  4. package/Libraries/Animated/components/AnimatedText.js +3 -3
  5. package/Libraries/Animated/createAnimatedComponent.js +7 -7
  6. package/Libraries/Animated/nodes/AnimatedAddition.js +1 -1
  7. package/Libraries/Animated/nodes/AnimatedColor.js +7 -7
  8. package/Libraries/Animated/nodes/AnimatedDiffClamp.js +1 -1
  9. package/Libraries/Animated/nodes/AnimatedDivision.js +1 -1
  10. package/Libraries/Animated/nodes/AnimatedInterpolation.js +22 -24
  11. package/Libraries/Animated/nodes/AnimatedModulo.js +1 -1
  12. package/Libraries/Animated/nodes/AnimatedMultiplication.js +1 -1
  13. package/Libraries/Animated/nodes/AnimatedStyle.js +2 -2
  14. package/Libraries/Animated/nodes/AnimatedSubtraction.js +1 -1
  15. package/Libraries/Animated/nodes/AnimatedTracking.js +1 -1
  16. package/Libraries/Animated/nodes/AnimatedValue.js +2 -2
  17. package/Libraries/AppDelegate/RCTDefaultReactNativeFactoryDelegate.mm +4 -0
  18. package/Libraries/AppDelegate/RCTRootViewFactory.h +5 -5
  19. package/Libraries/AppDelegate/RCTRootViewFactory.mm +2 -2
  20. package/Libraries/AppState/AppState.js +1 -1
  21. package/Libraries/BatchedBridge/NativeModules.js +1 -1
  22. package/Libraries/Blob/RCTBlobCollector.h +1 -1
  23. package/Libraries/Blob/RCTBlobCollector.mm +14 -26
  24. package/Libraries/Blob/RCTBlobManager.mm +11 -3
  25. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +29 -23
  26. package/Libraries/Components/Keyboard/Keyboard.js +4 -2
  27. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +1 -1
  28. package/Libraries/Components/LayoutConformance/LayoutConformance.js +1 -27
  29. package/Libraries/Components/Pressable/Pressable.d.ts +1 -0
  30. package/Libraries/Components/Pressable/Pressable.js +2 -2
  31. package/Libraries/Components/Pressable/useAndroidRippleForView.js +7 -8
  32. package/Libraries/Components/ScrollView/ScrollView.d.ts +1 -1
  33. package/Libraries/Components/ScrollView/ScrollView.js +4 -4
  34. package/Libraries/Components/ScrollView/ScrollViewCommands.js +2 -2
  35. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +2 -2
  36. package/Libraries/Components/Switch/Switch.js +1 -1
  37. package/Libraries/Components/TV/TVViewPropTypes.js +9 -0
  38. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +25 -1
  39. package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +1 -1
  40. package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +2 -2
  41. package/Libraries/Components/TextInput/TextInput.d.ts +24 -0
  42. package/Libraries/Components/TextInput/TextInput.flow.js +24 -0
  43. package/Libraries/Components/TextInput/TextInput.js +5 -5
  44. package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +5 -5
  45. package/Libraries/Components/ToastAndroid/ToastAndroidFallback.js +5 -5
  46. package/Libraries/Components/Touchable/PooledClass.js +4 -4
  47. package/Libraries/Components/Touchable/Touchable.js +1 -1
  48. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +6 -10
  49. package/Libraries/Components/View/ReactNativeStyleAttributes.js +10 -2
  50. package/Libraries/Components/View/View.js +100 -91
  51. package/Libraries/Components/View/ViewPropTypes.js +3 -1
  52. package/Libraries/Core/Devtools/loadBundleFromServer.js +8 -0
  53. package/Libraries/Core/ExceptionsManager.js +2 -8
  54. package/Libraries/Core/InitializeCore.js +0 -13
  55. package/Libraries/Core/ReactFiberErrorDialog.js +3 -3
  56. package/Libraries/Core/ReactNativeVersion.js +2 -2
  57. package/Libraries/Core/ReactNativeVersionCheck.js +1 -1
  58. package/Libraries/Core/Timers/JSTimers.js +2 -2
  59. package/Libraries/Core/Timers/immediateShim.js +1 -1
  60. package/Libraries/Core/setUpBatchedBridge.js +1 -1
  61. package/Libraries/Core/setUpSegmentFetcher.js +1 -1
  62. package/Libraries/Debugging/DebuggingOverlayRegistry.js +1 -1
  63. package/Libraries/EventEmitter/NativeEventEmitter.js +9 -5
  64. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +2 -2
  65. package/Libraries/Image/Image.android.js +15 -35
  66. package/Libraries/Image/RCTImageLoader.mm +4 -2
  67. package/Libraries/Image/RelativeImageStub.js +2 -2
  68. package/Libraries/LayoutAnimation/LayoutAnimation.js +12 -12
  69. package/Libraries/Linking/Linking.js +1 -1
  70. package/Libraries/Lists/FlatList.js +1 -1
  71. package/Libraries/LogBox/LogBox.js +2 -2
  72. package/Libraries/LogBox/LogBoxInspectorContainer.js +24 -2
  73. package/Libraries/LogBox/LogBoxNotificationContainer.js +27 -4
  74. package/Libraries/LogBox/UI/LogBoxButton.js +47 -33
  75. package/Libraries/LogBox/UI/LogBoxInspector.js +61 -1
  76. package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +6 -0
  77. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +3 -1
  78. package/Libraries/LogBox/UI/LogBoxNotification.js +2 -0
  79. package/Libraries/Modal/Modal.js +12 -7
  80. package/Libraries/NativeAnimation/Nodes/RCTInterpolationAnimatedNode.mm +0 -2
  81. package/Libraries/NativeComponent/BaseViewConfig.android.js +15 -0
  82. package/Libraries/NativeComponent/BaseViewConfig.ios.js +17 -0
  83. package/Libraries/NativeComponent/NativeComponentRegistry.js +2 -2
  84. package/Libraries/NativeComponent/TVViewConfig.js +1 -0
  85. package/Libraries/NativeComponent/ViewConfigIgnore.js +4 -2
  86. package/Libraries/Network/RCTNetworking.android.js +1 -1
  87. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  88. package/Libraries/Network/RCTNetworking.js.flow +1 -1
  89. package/Libraries/Network/RCTNetworking.mm +1 -2
  90. package/Libraries/Network/XMLHttpRequest.js +29 -12
  91. package/Libraries/Pressability/Pressability.js +2 -2
  92. package/Libraries/ReactNative/AppContainer-dev.js +2 -3
  93. package/Libraries/ReactNative/AppContainer-prod.js +1 -2
  94. package/Libraries/ReactNative/AppContainer.js +0 -1
  95. package/Libraries/ReactNative/AppRegistry.d.ts +1 -1
  96. package/Libraries/ReactNative/AppRegistry.flow.js +1 -2
  97. package/Libraries/ReactNative/AppRegistryImpl.js +16 -16
  98. package/Libraries/ReactNative/DeprecatedPerformanceLoggerStub.js +83 -0
  99. package/Libraries/ReactNative/FabricUIManager.js +6 -0
  100. package/Libraries/{Utilities → ReactNative}/IPerformanceLogger.d.ts +8 -5
  101. package/Libraries/{Utilities/IPerformanceLogger.js → ReactNative/IPerformanceLogger.flow.js} +12 -9
  102. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +14 -14
  103. package/Libraries/ReactNative/RendererImplementation.js +26 -143
  104. package/Libraries/ReactNative/RendererProxy.js +4 -15
  105. package/Libraries/ReactNative/renderApplication.js +33 -59
  106. package/Libraries/ReactNative/requireNativeComponent.js +3 -3
  107. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +5 -0
  108. package/Libraries/Renderer/shims/ReactNativeTypes.js +2 -32
  109. package/Libraries/Settings/Settings.ios.js +1 -1
  110. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +2 -2
  111. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +3 -3
  112. package/Libraries/StyleSheet/StyleSheet.js +1 -1
  113. package/Libraries/StyleSheet/StyleSheet.js.flow +2 -2
  114. package/Libraries/StyleSheet/StyleSheetExports.js +1 -1
  115. package/Libraries/StyleSheet/StyleSheetExports.js.flow +1 -1
  116. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +6 -8
  117. package/Libraries/StyleSheet/StyleSheetTypes.js +11 -11
  118. package/Libraries/StyleSheet/flattenStyle.js +1 -1
  119. package/Libraries/StyleSheet/private/_TransformStyle.js +1 -1
  120. package/Libraries/StyleSheet/processBackgroundImage.js +19 -9
  121. package/Libraries/StyleSheet/processBackgroundSize.js +7 -12
  122. package/Libraries/StyleSheet/processBoxShadow.js +9 -47
  123. package/Libraries/StyleSheet/processFilter.js +16 -8
  124. package/Libraries/StyleSheet/processTransformOrigin.js +10 -3
  125. package/Libraries/Text/Text.js +4 -4
  126. package/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.mm +16 -2
  127. package/Libraries/Text/TextNativeComponent.js +4 -4
  128. package/Libraries/TurboModule/RCTExport.js +1 -1
  129. package/Libraries/TurboModule/TurboModuleRegistry.js +3 -3
  130. package/Libraries/Types/CodegenTypes.js +7 -4
  131. package/Libraries/Types/ReactDevToolsTypes.js +1 -1
  132. package/Libraries/Utilities/BackHandler.android.js +11 -3
  133. package/Libraries/Utilities/BackHandler.d.ts +11 -1
  134. package/Libraries/Utilities/BackHandler.ios.js +3 -1
  135. package/Libraries/Utilities/BackHandler.js.flow +6 -1
  136. package/Libraries/Utilities/HardwareBackPressEvent.js +22 -0
  137. package/Libraries/Utilities/ReactNativeTestTools.js +4 -4
  138. package/Libraries/Utilities/binaryToBase64.js +1 -1
  139. package/Libraries/Utilities/codegenNativeCommands.js +2 -2
  140. package/Libraries/Utilities/codegenNativeComponent.js +4 -4
  141. package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +2 -2
  142. package/Libraries/Utilities/stringifySafe.js +1 -1
  143. package/Libraries/promiseRejectionTrackingOptions.js +1 -1
  144. package/Libraries/vendor/core/ErrorUtils.js +4 -4
  145. package/Libraries/vendor/emitter/EventEmitter.js +27 -13
  146. package/README.md +13 -1
  147. package/React/Base/RCTBundleURLProvider.h +19 -1
  148. package/React/Base/RCTBundleURLProvider.mm +82 -0
  149. package/React/Base/RCTDefines.h +1 -1
  150. package/React/Base/RCTMultipartDataTask.h +1 -1
  151. package/React/Base/RCTMultipartDataTask.m +0 -3
  152. package/React/Base/RCTRootView.h +4 -0
  153. package/React/Base/RCTRootViewDelegate.h +5 -2
  154. package/React/Base/RCTVersion.m +2 -2
  155. package/React/Base/Surface/RCTSurface.h +3 -0
  156. package/React/Base/Surface/RCTSurfaceDelegate.h +7 -3
  157. package/React/Base/Surface/RCTSurfaceRootView.mm +1 -1
  158. package/React/Base/Surface/RCTSurfaceView.mm +2 -1
  159. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.mm +2 -0
  160. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingView.h +0 -3
  161. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingView.mm +3 -1
  162. package/React/CoreModules/RCTDevMenuConfigurationDecorator.h +2 -2
  163. package/React/CoreModules/RCTRedBox2AnsiParser.mm +1 -1
  164. package/React/CoreModules/RCTWebSocketModule.mm +45 -6
  165. package/React/CxxLogUtils/RCTDefaultCxxLogFunction.mm +0 -1
  166. package/React/DevSupport/RCTInspectorDevServerHelper.mm +4 -0
  167. package/React/DevSupport/RCTPackagerConnection.mm +13 -11
  168. package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +108 -43
  169. package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.h +1 -0
  170. package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.mm +1 -0
  171. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.h +1 -1
  172. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +35 -15
  173. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +2 -2
  174. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +70 -8
  175. package/React/Fabric/RCTConversions.h +14 -0
  176. package/React/Fabric/RCTScheduler.mm +18 -0
  177. package/React/Fabric/RCTSurfacePointerHandler.mm +8 -2
  178. package/React/Fabric/RCTSurfaceTouchHandler.mm +1 -0
  179. package/React/Fabric/Surface/RCTFabricSurface.mm +3 -0
  180. package/React/I18n/strings/pt.lproj/fbt_language_pack.bin +0 -0
  181. package/React/Modules/RCTUIManager.mm +1 -1
  182. package/React/Profiler/RCTProfile.h +5 -0
  183. package/React/Profiler/RCTProfile.m +2 -1
  184. package/React/Profiler/RCTProfileTrampoline-arm.S +1 -1
  185. package/React/Profiler/RCTProfileTrampoline-arm64.S +1 -1
  186. package/React/Profiler/RCTProfileTrampoline-i386.S +1 -1
  187. package/React/Profiler/RCTProfileTrampoline-x86_64.S +1 -1
  188. package/React/Tests/Mounting/RCTViewComponentViewTests.mm +186 -0
  189. package/React/Tests/Text/RCTAttributedTextUtilsTest.mm +5 -5
  190. package/React/Views/RCTLayout.m +4 -3
  191. package/React/Views/ScrollView/RCTScrollView.h +6 -2
  192. package/ReactAndroid/api/ReactAndroid.api +37 -27
  193. package/ReactAndroid/build.gradle.kts +28 -21
  194. package/ReactAndroid/gradle.properties +1 -1
  195. package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/HermesSamplingProfiler.kt +2 -0
  196. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +1 -3
  197. package/ReactAndroid/src/main/java/com/facebook/react/ReactAndroidHWInputDeviceHelper.kt +2 -0
  198. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +40 -110
  199. package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +32 -87
  200. package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.kt +1 -0
  201. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.kt +9 -99
  202. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.kt +7 -28
  203. package/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.kt +2 -19
  204. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaModuleWrapper.kt +15 -23
  205. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +36 -0
  206. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNativeJNISoLoader.kt +2 -0
  207. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNativeJniCommonSoLoader.kt +2 -0
  208. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactSoftExceptionLogger.kt +4 -0
  209. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultSoLoader.kt +2 -0
  210. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/FpsView.kt +2 -2
  211. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/InspectorFlags.kt +2 -0
  212. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialogSurfaceDelegate.kt +15 -2
  213. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxDialogSurfaceDelegate.kt +1 -0
  214. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/DevSupportHttpClient.kt +9 -34
  215. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/FrameTimingsObserver.kt +9 -10
  216. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/InspectorNetworkRequestListener.kt +2 -0
  217. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorOverlayView.kt +10 -10
  218. package/ReactAndroid/src/main/java/com/facebook/react/fabric/AnimationBackendChoreographer.kt +15 -13
  219. package/ReactAndroid/src/main/java/com/facebook/react/fabric/DevToolsReactPerfLogger.kt +4 -1
  220. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +139 -43
  221. package/ReactAndroid/src/main/java/com/facebook/react/fabric/ViewTransitionSnapshotManager.kt +223 -0
  222. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.kt +25 -8
  223. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.kt +34 -1
  224. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.kt +104 -65
  225. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.kt +9 -1
  226. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.kt +172 -36
  227. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.kt +1 -1
  228. package/ReactAndroid/src/main/java/com/facebook/react/interfaces/ExtraWindowEventListener.kt +29 -0
  229. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +41 -29
  230. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +71 -51
  231. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +15 -11
  232. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +16 -12
  233. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +79 -57
  234. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Experimental_Android.kt +3 -3
  235. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Stable_Android.kt +1 -4
  236. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +15 -11
  237. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeNewArchitectureFeatureFlagsDefaults.kt +5 -9
  238. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/rewrite_feature_flag_defaults.py +76 -0
  239. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/tests/test_rewrite_feature_flag_defaults.py +63 -0
  240. package/ReactAndroid/src/main/java/com/facebook/react/internal/tracing/PerformanceTracer.kt +1 -1
  241. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.kt +3 -0
  242. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobModule.kt +10 -5
  243. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobProvider.kt +1 -2
  244. package/ReactAndroid/src/main/java/com/facebook/react/modules/clipboard/ClipboardModule.kt +3 -0
  245. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/DeviceEventManagerModule.kt +2 -1
  246. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactChoreographer.kt +21 -20
  247. package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/DeviceInfoModule.kt +63 -3
  248. package/ReactAndroid/src/main/java/com/facebook/react/modules/image/ImageLoaderModule.kt +59 -62
  249. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.kt +8 -0
  250. package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/StatusBarModule.kt +45 -36
  251. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +2 -2
  252. package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/WebSocketModule.kt +5 -2
  253. package/ReactAndroid/src/main/java/com/facebook/react/runtime/CoreReactPackage.kt +4 -0
  254. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.kt +18 -5
  255. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImplDevHelper.kt +8 -1
  256. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceView.kt +21 -19
  257. package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.kt +4 -0
  258. package/ReactAndroid/src/main/java/com/facebook/react/soloader/OpenSourceMergedSoMapping.kt +4 -0
  259. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BackgroundStyleApplicator.kt +77 -72
  260. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +7 -16
  261. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BlendModeHelper.kt +3 -2
  262. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/DisplayMetricsHolder.kt +3 -0
  263. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/FilterHelper.kt +3 -1
  264. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +25 -0
  265. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.kt +2 -2
  266. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactRootViewTagGenerator.kt +3 -2
  267. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/RootViewUtil.kt +17 -7
  268. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ThemedReactContext.kt +18 -0
  269. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.kt +20 -12
  270. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TransformHelper.kt +18 -24
  271. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIConstantsProviderBinding.kt +2 -0
  272. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +4 -0
  273. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerHelper.kt +11 -71
  274. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +10 -17
  275. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/ViewUtil.kt +29 -30
  276. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BackgroundImageDrawable.kt +5 -3
  277. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/InsetBoxShadowDrawable.kt +12 -13
  278. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.kt +1 -0
  279. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEvent.kt +1 -0
  280. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTModernEventEmitter.kt +30 -0
  281. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/SynchronousEventReceiver.kt +28 -0
  282. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchesHelper.kt +9 -9
  283. package/ReactAndroid/src/main/java/com/facebook/react/util/AndroidVersion.kt +27 -3
  284. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt +4 -0
  285. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/MaintainVisibleScrollPositionHelper.kt +1 -14
  286. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollContainerViewManager.kt +1 -22
  287. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +32 -24
  288. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactNestedScrollView.java +20 -21
  289. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +33 -24
  290. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.kt +60 -11
  291. package/ReactAndroid/src/main/java/com/facebook/react/views/text/FontMetricsUtil.kt +2 -3
  292. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +5 -162
  293. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.kt +1 -1
  294. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.kt +71 -97
  295. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/CustomStyleSpan.kt +1 -4
  296. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/DrawCommandSpan.kt +1 -1
  297. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.kt +7 -13
  298. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.kt +40 -2
  299. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactDrawableHelper.kt +59 -20
  300. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.kt +85 -20
  301. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.kt +46 -65
  302. package/ReactAndroid/src/main/java/com/facebook/react/views/view/WindowUtil.kt +85 -13
  303. package/ReactAndroid/src/main/java/com/facebook/soloader/annotation/SoLoaderLibrary.kt +17 -0
  304. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaAlign.java +5 -1
  305. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfigJNIFinalizer.kt +30 -0
  306. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDisplay.java +3 -1
  307. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaExperimentalFeature.java +3 -1
  308. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaGridTrackType.java +39 -0
  309. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaJustify.java +20 -12
  310. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.java +101 -0
  311. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIFinalizer.kt +33 -0
  312. package/ReactAndroid/src/main/jni/CMakeLists.txt +10 -1
  313. package/ReactAndroid/src/main/jni/react/fabric/ComponentFactory.cpp +0 -1
  314. package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.cpp +0 -2
  315. package/ReactAndroid/src/main/jni/react/fabric/EventEmitterWrapper.cpp +26 -6
  316. package/ReactAndroid/src/main/jni/react/fabric/EventEmitterWrapper.h +3 -3
  317. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.cpp +47 -0
  318. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.h +20 -6
  319. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.cpp +24 -1
  320. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.h +6 -0
  321. package/ReactAndroid/src/main/jni/react/fabric/FocusOrderingHelper.cpp +0 -1
  322. package/ReactAndroid/src/main/jni/react/fabric/SurfaceHandlerBinding.cpp +1 -0
  323. package/ReactAndroid/src/main/jni/react/fabric/test_helper/FabricMountingManagerTestHelper.cpp +85 -0
  324. package/ReactAndroid/src/main/jni/react/fabric/test_helper/FabricMountingManagerTestHelper.h +46 -0
  325. package/ReactAndroid/src/main/jni/react/fabric/test_helper/OnLoad.cpp +16 -0
  326. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +97 -69
  327. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +21 -15
  328. package/ReactAndroid/src/main/jni/react/hermes/instrumentation/HermesSamplingProfiler.cpp +1 -1
  329. package/ReactAndroid/src/main/jni/react/jni/OnLoad-common.cpp +0 -2
  330. package/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp +2 -1
  331. package/ReactAndroid/src/main/jni/react/reactnativeblob/BlobCollector.cpp +37 -30
  332. package/ReactAndroid/src/main/jni/react/reactnativeblob/BlobCollector.h +11 -8
  333. package/ReactAndroid/src/main/jni/react/reactnativeblob/CMakeLists.txt +2 -1
  334. package/ReactAndroid/src/main/jni/react/reactnativeblob/OnLoad.cpp +1 -1
  335. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.cpp +10 -0
  336. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.h +7 -0
  337. package/ReactAndroid/src/main/jni/react/tracing/CMakeLists.txt +28 -0
  338. package/ReactCommon/React-Fabric.podspec +7 -0
  339. package/ReactCommon/React-FabricComponents.podspec +1 -1
  340. package/ReactCommon/cxxreact/ReactNativeVersion.h +4 -4
  341. package/ReactCommon/jsc/JSCRuntime.cpp +9 -0
  342. package/ReactCommon/jserrorhandler/JsErrorHandler.cpp +1 -0
  343. package/ReactCommon/jserrorhandler/JsErrorHandler.h +1 -1
  344. package/ReactCommon/jsi/jsi/JSIDynamic.cpp +1 -0
  345. package/ReactCommon/jsi/jsi/decorator.h +93 -0
  346. package/ReactCommon/jsi/jsi/jsi-inl.h +97 -68
  347. package/ReactCommon/jsi/jsi/jsi.cpp +208 -27
  348. package/ReactCommon/jsi/jsi/jsi.h +553 -224
  349. package/ReactCommon/jsi/jsi/test/testlib.cpp +453 -0
  350. package/ReactCommon/jsiexecutor/jsireact/JSINativeModules.cpp +1 -1
  351. package/ReactCommon/jsinspector-modern/EmulationAgent.cpp +108 -0
  352. package/ReactCommon/jsinspector-modern/EmulationAgent.h +47 -0
  353. package/ReactCommon/jsinspector-modern/HostAgent.cpp +10 -1
  354. package/ReactCommon/jsinspector-modern/HostTarget.h +25 -0
  355. package/ReactCommon/jsinspector-modern/InspectorFlags.cpp +6 -2
  356. package/ReactCommon/jsinspector-modern/InspectorFlags.h +5 -2
  357. package/ReactCommon/jsinspector-modern/InspectorPackagerConnection.cpp +19 -2
  358. package/ReactCommon/jsinspector-modern/InspectorPackagerConnectionImpl.h +3 -0
  359. package/ReactCommon/jsinspector-modern/TracingAgent.cpp +10 -0
  360. package/ReactCommon/jsinspector-modern/tracing/TracingCategory.h +0 -1
  361. package/ReactCommon/logger/react_native_log.cpp +0 -1
  362. package/ReactCommon/react/bridging/Array.h +1 -1
  363. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +29 -21
  364. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +35 -25
  365. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +168 -132
  366. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +18 -14
  367. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +28 -20
  368. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +61 -43
  369. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSExperimental.h +3 -3
  370. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +9 -7
  371. package/ReactCommon/react/featureflags/rewrite_feature_flag_defaults.py +111 -0
  372. package/ReactCommon/react/featureflags/tests/test_rewrite_feature_flag_defaults.py +60 -0
  373. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.h +3 -9
  374. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +0 -1
  375. package/ReactCommon/react/nativemodule/defaults/CMakeLists.txt +1 -0
  376. package/ReactCommon/react/nativemodule/defaults/DefaultTurboModules.cpp +7 -0
  377. package/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec +1 -0
  378. package/ReactCommon/react/nativemodule/fantomtestspecificmethods/NativeFantomTestSpecificMethods.cpp +2 -2
  379. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +35 -25
  380. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +15 -11
  381. package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.cpp +3 -2
  382. package/ReactCommon/react/nativemodule/viewtransition/CMakeLists.txt +24 -0
  383. package/ReactCommon/react/nativemodule/viewtransition/NativeViewTransition.cpp +92 -0
  384. package/ReactCommon/react/nativemodule/viewtransition/NativeViewTransition.h +37 -0
  385. package/ReactCommon/react/nativemodule/viewtransition/React-viewtransitionnativemodule.podspec +58 -0
  386. package/ReactCommon/react/nativemodule/webperformance/NativePerformance.cpp +10 -1
  387. package/ReactCommon/react/networking/NetworkReporter.h +0 -1
  388. package/ReactCommon/react/performance/cdpmetrics/CdpPerfIssuesReporter.h +0 -1
  389. package/ReactCommon/react/performance/timeline/PerformanceEntry.h +1 -1
  390. package/ReactCommon/react/performance/timeline/tests/PerformanceEntryTest.cpp +62 -0
  391. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.cpp +24 -12
  392. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.h +1 -1
  393. package/ReactCommon/react/renderer/animationbackend/AnimatedPropSerializer.cpp +3 -0
  394. package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.cpp +10 -3
  395. package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.h +1 -0
  396. package/ReactCommon/react/renderer/animationbackend/AnimationBackend.cpp +4 -0
  397. package/ReactCommon/react/renderer/animationbackend/AnimationBackend.h +1 -1
  398. package/ReactCommon/react/renderer/animationbackend/AnimationBackendCommitHook.h +0 -1
  399. package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.cpp +8 -3
  400. package/ReactCommon/react/renderer/animations/tests/MutationComparatorTest.cpp +273 -0
  401. package/ReactCommon/react/renderer/animations/utils.h +12 -1
  402. package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +1 -1
  403. package/ReactCommon/react/renderer/attributedstring/conversions.h +104 -3
  404. package/ReactCommon/react/renderer/components/image/conversions.h +2 -3
  405. package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.h +0 -1
  406. package/ReactCommon/react/renderer/components/scrollview/conversions.h +0 -1
  407. package/ReactCommon/react/renderer/components/text/stateConversions.h +0 -1
  408. package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +531 -21
  409. package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +9 -0
  410. package/ReactCommon/react/renderer/components/view/BaseTouch.cpp +3 -2
  411. package/ReactCommon/react/renderer/components/view/BaseTouch.h +7 -0
  412. package/ReactCommon/react/renderer/components/view/BaseViewProps.cpp +15 -0
  413. package/ReactCommon/react/renderer/components/view/BaseViewProps.h +1 -0
  414. package/ReactCommon/react/renderer/components/view/PointerEvent.cpp +2 -0
  415. package/ReactCommon/react/renderer/components/view/PointerEvent.h +5 -0
  416. package/ReactCommon/react/renderer/components/view/TouchEvent.h +0 -2
  417. package/ReactCommon/react/renderer/components/view/TouchEventEmitter.cpp +23 -5
  418. package/ReactCommon/react/renderer/components/view/TouchEventEmitter.h +1 -0
  419. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +5 -0
  420. package/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +33 -28
  421. package/ReactCommon/react/renderer/components/view/accessibilityPropsConversions.h +0 -1
  422. package/ReactCommon/react/renderer/components/view/conversions.h +44 -28
  423. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.cpp +71 -5
  424. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.h +1 -0
  425. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/NativeDrawable.h +47 -16
  426. package/ReactCommon/react/renderer/components/view/platform/cxx/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +2 -2
  427. package/ReactCommon/react/renderer/{graphics/DoubleConversions.h → components/view/platform/tvos/react/renderer/components/view/HostPlatformTouch.h} +2 -4
  428. package/ReactCommon/react/renderer/components/view/platform/tvos/react/renderer/components/view/HostPlatformViewEventEmitter.h +14 -0
  429. package/ReactCommon/react/renderer/components/view/platform/tvos/react/renderer/components/view/HostPlatformViewProps.cpp +38 -0
  430. package/ReactCommon/react/renderer/components/view/platform/tvos/react/renderer/components/view/HostPlatformViewProps.h +29 -0
  431. package/ReactCommon/react/renderer/components/view/platform/tvos/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +30 -0
  432. package/ReactCommon/react/renderer/components/view/propsConversions.h +8 -2
  433. package/ReactCommon/react/renderer/components/view/tests/ConversionsTest.cpp +86 -0
  434. package/ReactCommon/react/renderer/components/view/tests/ViewTest.cpp +34 -0
  435. package/ReactCommon/react/renderer/core/EventEmitter.cpp +67 -2
  436. package/ReactCommon/react/renderer/core/EventEmitter.h +25 -0
  437. package/ReactCommon/react/renderer/core/EventPipe.h +3 -1
  438. package/ReactCommon/react/renderer/core/EventQueueProcessor.cpp +18 -10
  439. package/ReactCommon/react/renderer/core/EventTarget.cpp +8 -5
  440. package/ReactCommon/react/renderer/core/LayoutContext.h +9 -2
  441. package/ReactCommon/react/renderer/core/LayoutMetrics.cpp +5 -3
  442. package/ReactCommon/react/renderer/core/LayoutPrimitives.h +1 -0
  443. package/ReactCommon/react/renderer/core/Props.cpp +20 -0
  444. package/ReactCommon/react/renderer/core/RawEvent.cpp +4 -2
  445. package/ReactCommon/react/renderer/core/RawEvent.h +6 -6
  446. package/ReactCommon/react/renderer/core/ShadowNode.h +2 -2
  447. package/ReactCommon/react/renderer/core/conversions.h +4 -0
  448. package/ReactCommon/react/renderer/core/graphicsConversions.h +4 -4
  449. package/ReactCommon/react/renderer/core/propsConversions.h +1 -1
  450. package/ReactCommon/react/renderer/core/tests/EventQueueProcessorTest.cpp +52 -3
  451. package/ReactCommon/react/renderer/core/tests/EventTargetTests.cpp +26 -0
  452. package/ReactCommon/react/renderer/css/tests/CSSValueParserTest.cpp +1 -1
  453. package/ReactCommon/react/renderer/debug/DebugStringConvertible.cpp +42 -26
  454. package/ReactCommon/react/renderer/debug/DebugStringConvertible.h +4 -2
  455. package/ReactCommon/react/renderer/debug/tests/DebugStringConvertibleTest.cpp +34 -3
  456. package/ReactCommon/react/renderer/graphics/BlendMode.h +5 -0
  457. package/ReactCommon/react/renderer/graphics/CMakeLists.txt +1 -0
  458. package/ReactCommon/react/renderer/graphics/ColorStop.h +3 -0
  459. package/ReactCommon/react/renderer/graphics/LinearGradient.h +3 -0
  460. package/ReactCommon/react/renderer/graphics/RadialGradient.h +4 -0
  461. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +1 -0
  462. package/ReactCommon/react/renderer/graphics/ValueUnit.cpp +1 -1
  463. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageFetcher.cpp +0 -5
  464. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageManager.cpp +2 -2
  465. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTImagePrimitivesConversions.h +0 -4
  466. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTSyncImageManager.mm +5 -1
  467. package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.cpp +12 -4
  468. package/ReactCommon/react/renderer/mounting/CMakeLists.txt +1 -0
  469. package/ReactCommon/react/renderer/mounting/Differentiator.cpp +307 -4
  470. package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +27 -2
  471. package/ReactCommon/react/renderer/mounting/internal/LongestIncreasingSubsequence.h +95 -0
  472. package/ReactCommon/react/renderer/mounting/tests/DifferentiatorUnflattenTest.cpp +212 -0
  473. package/ReactCommon/react/renderer/mounting/tests/LongestIncreasingSubsequenceTest.cpp +154 -0
  474. package/ReactCommon/react/renderer/mounting/tests/ShadowTreeLifeCycleTest.cpp +314 -18
  475. package/ReactCommon/react/renderer/mounting/updateMountedFlag.cpp +38 -20
  476. package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +20 -22
  477. package/ReactCommon/react/renderer/scheduler/CMakeLists.txt +1 -0
  478. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +76 -3
  479. package/ReactCommon/react/renderer/scheduler/Scheduler.h +12 -0
  480. package/ReactCommon/react/renderer/scheduler/SchedulerDelegate.h +5 -0
  481. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +0 -7
  482. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +2 -1
  483. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +16 -1
  484. package/ReactCommon/react/renderer/uimanager/UIManager.h +8 -0
  485. package/ReactCommon/react/renderer/uimanager/UIManagerAnimationBackend.h +1 -0
  486. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +347 -5
  487. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.h +5 -3
  488. package/ReactCommon/react/renderer/uimanager/UIManagerDelegate.h +5 -0
  489. package/ReactCommon/react/renderer/uimanager/UIManagerViewTransitionDelegate.h +82 -0
  490. package/ReactCommon/react/renderer/viewtransition/CMakeLists.txt +22 -0
  491. package/ReactCommon/react/renderer/viewtransition/ViewTransitionModule.cpp +520 -0
  492. package/ReactCommon/react/renderer/viewtransition/ViewTransitionModule.h +161 -0
  493. package/ReactCommon/react/runtime/TimerManager.cpp +4 -2
  494. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.mm +37 -0
  495. package/ReactCommon/react/timing/PrivacyInfo.xcprivacy +21 -0
  496. package/ReactCommon/react/timing/React-timing.podspec +2 -0
  497. package/ReactCommon/react/timing/primitives.h +33 -1
  498. package/ReactCommon/yoga/yoga/YGEnums.cpp +32 -0
  499. package/ReactCommon/yoga/yoga/YGEnums.h +20 -4
  500. package/ReactCommon/yoga/yoga/YGMacros.h +2 -0
  501. package/ReactCommon/yoga/yoga/YGNode.h +1 -1
  502. package/ReactCommon/yoga/yoga/YGNodeStyle.cpp +269 -0
  503. package/ReactCommon/yoga/yoga/YGNodeStyle.h +93 -1
  504. package/ReactCommon/yoga/yoga/algorithm/AbsoluteLayout.cpp +40 -9
  505. package/ReactCommon/yoga/yoga/algorithm/Align.h +12 -1
  506. package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.cpp +106 -14
  507. package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.h +22 -0
  508. package/ReactCommon/yoga/yoga/enums/Align.h +3 -1
  509. package/ReactCommon/yoga/yoga/enums/Display.h +2 -1
  510. package/ReactCommon/yoga/yoga/enums/ExperimentalFeature.h +2 -1
  511. package/ReactCommon/yoga/yoga/enums/GridTrackType.h +43 -0
  512. package/ReactCommon/yoga/yoga/enums/Justify.h +5 -1
  513. package/ReactCommon/yoga/yoga/event/event.cpp +2 -0
  514. package/ReactCommon/yoga/yoga/event/event.h +1 -0
  515. package/ReactCommon/yoga/yoga/node/Node.cpp +6 -1
  516. package/ReactCommon/yoga/yoga/node/Node.h +4 -4
  517. package/ReactCommon/yoga/yoga/style/GridLine.h +53 -0
  518. package/ReactCommon/yoga/yoga/style/GridTrack.h +63 -0
  519. package/ReactCommon/yoga/yoga/style/Style.h +261 -71
  520. package/ReactCommon/yoga/yoga/style/StyleSizeLength.h +7 -1
  521. package/ReactCommon/yoga/yoga/style/StyleValueHandle.h +8 -0
  522. package/ReactCommon/yoga/yoga/style/StyleValuePool.h +10 -0
  523. package/cli.js +1 -1
  524. package/flow/HermesInternalType.js +1 -1
  525. package/flow/bom.js.flow +95 -3
  526. package/flow/dom.js.flow +89 -89
  527. package/gradle/libs.versions.toml +3 -1
  528. package/index.js +30 -3
  529. package/index.js.flow +23 -1
  530. package/package.json +11 -11
  531. package/react-native.config.js +3 -3
  532. package/scripts/cocoapods/rncore.rb +65 -11
  533. package/scripts/cocoapods/rndependencies.rb +65 -11
  534. package/scripts/cocoapods/utils.rb +52 -0
  535. package/scripts/codegen/generate-artifacts-executor/generateCustomURLHandlers.js +1 -1
  536. package/scripts/codegen/generate-artifacts-executor/generateNativeCode.js +13 -4
  537. package/scripts/codegen/generate-artifacts-executor/generateRCTModuleProviders.js +1 -1
  538. package/scripts/codegen/generate-artifacts-executor/generateRCTThirdPartyComponents.js +1 -1
  539. package/scripts/codegen/generate-artifacts-executor/generateReactCodegenPodspec.js +17 -6
  540. package/scripts/codegen/generate-artifacts-executor/generateSchemaInfos.js +1 -1
  541. package/scripts/codegen/generate-artifacts-executor/generateUnstableModulesRequiringMainQueueSetupProvider.js +1 -1
  542. package/scripts/codegen/generate-artifacts-executor/index.js +2 -0
  543. package/scripts/codegen/generate-artifacts-executor/utils.js +1 -1
  544. package/scripts/codegen/generate-specs-cli-executor.js +1 -1
  545. package/scripts/generate-codegen-artifacts.js +20 -2
  546. package/scripts/generate-provider-cli.js +1 -1
  547. package/scripts/react_native_pods.rb +25 -2
  548. package/scripts/react_native_pods_utils/script_phases.rb +9 -3
  549. package/scripts/replace-rncore-version.js +20 -0
  550. package/scripts/xcode/with-environment.sh +7 -1
  551. package/sdks/.hermesv1version +1 -1
  552. package/sdks/.hermesversion +1 -1
  553. package/sdks/hermes-engine/hermes-utils.rb +92 -5
  554. package/sdks/hermes-engine/version.properties +2 -2
  555. package/src/private/animated/NativeAnimatedValidation.js +1 -1
  556. package/src/private/animated/createAnimatedPropsHook.js +2 -2
  557. package/src/private/components/virtualcollection/FlingConstants.js +21 -0
  558. package/src/private/components/virtualcollection/Virtual.js +62 -0
  559. package/src/private/components/virtualcollection/VirtualCollectionView.js +238 -0
  560. package/src/private/components/virtualcollection/column/VirtualColumn.js +43 -0
  561. package/src/private/components/virtualcollection/column/VirtualColumnGenerator.js +72 -0
  562. package/src/private/components/virtualcollection/debug/FlingItemOverlay.js +13 -0
  563. package/src/private/components/virtualcollection/dom/getScrollParent.js +43 -0
  564. package/src/private/components/virtualcollection/dom/isScrollableNode.js +22 -0
  565. package/src/private/components/virtualcollection/row/VirtualRow.js +43 -0
  566. package/src/private/components/virtualcollection/row/VirtualRowGenerator.js +72 -0
  567. package/src/private/devsupport/devmenu/elementinspector/getInspectorDataForViewAtPoint.js +2 -2
  568. package/src/private/devsupport/devmenu/elementinspector/useExternalInspection.js +1 -1
  569. package/src/private/devsupport/devmenu/specs/NativeDevMenu.js +1 -1
  570. package/src/private/devsupport/rndevtools/specs/NativeReactDevToolsRuntimeSettingsModule.js +2 -2
  571. package/src/private/devsupport/rndevtools/specs/NativeReactDevToolsSettingsManager.js +2 -2
  572. package/src/private/featureflags/ReactNativeFeatureFlags.js +41 -37
  573. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +3 -3
  574. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +9 -7
  575. package/src/private/renderer/errorhandling/ErrorHandlers.js +3 -3
  576. package/src/private/renderer/events/LegacySyntheticEvent.js +90 -0
  577. package/src/private/renderer/events/ReactNativeEventTypeMapping.js +103 -0
  578. package/src/private/renderer/events/ReactNativeResponder.js +687 -0
  579. package/src/private/renderer/events/ResponderEvent.js +40 -0
  580. package/src/private/renderer/events/ResponderTouchHistoryStore.js +258 -0
  581. package/src/private/renderer/events/dispatchNativeEvent.js +83 -0
  582. package/src/private/setup/setUpDOM.js +20 -0
  583. package/src/private/specs_DEPRECATED/components/ActivityIndicatorViewNativeComponent.js +2 -2
  584. package/src/private/specs_DEPRECATED/components/AndroidDrawerLayoutNativeComponent.js +2 -2
  585. package/src/private/specs_DEPRECATED/components/AndroidHorizontalScrollContentViewNativeComponent.js +2 -2
  586. package/src/private/specs_DEPRECATED/components/AndroidSwipeRefreshLayoutNativeComponent.js +2 -2
  587. package/src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent.js +2 -2
  588. package/src/private/specs_DEPRECATED/components/DebuggingOverlayNativeComponent.js +2 -2
  589. package/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.js +2 -2
  590. package/src/private/specs_DEPRECATED/components/PullToRefreshViewNativeComponent.js +2 -2
  591. package/src/private/specs_DEPRECATED/components/RCTInputAccessoryViewNativeComponent.js +2 -2
  592. package/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js +2 -2
  593. package/src/private/specs_DEPRECATED/components/RCTSafeAreaViewNativeComponent.js +2 -2
  594. package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +2 -2
  595. package/src/private/specs_DEPRECATED/components/UnimplementedNativeViewNativeComponent.js +2 -2
  596. package/src/private/specs_DEPRECATED/modules/NativeAccessibilityInfo.js +1 -1
  597. package/src/private/specs_DEPRECATED/modules/NativeAccessibilityManager.js +1 -1
  598. package/src/private/specs_DEPRECATED/modules/NativeActionSheetManager.js +1 -1
  599. package/src/private/specs_DEPRECATED/modules/NativeAlertManager.js +1 -1
  600. package/src/private/specs_DEPRECATED/modules/NativeAppState.js +1 -1
  601. package/src/private/specs_DEPRECATED/modules/NativeAppearance.js +1 -1
  602. package/src/private/specs_DEPRECATED/modules/NativeBlobModule.js +1 -1
  603. package/src/private/specs_DEPRECATED/modules/NativeClipboard.js +1 -1
  604. package/src/private/specs_DEPRECATED/modules/NativeDevLoadingView.js +1 -1
  605. package/src/private/specs_DEPRECATED/modules/NativeDevSettings.js +1 -1
  606. package/src/private/specs_DEPRECATED/modules/NativeDeviceEventManager.js +1 -1
  607. package/src/private/specs_DEPRECATED/modules/NativeDialogManagerAndroid.js +1 -1
  608. package/src/private/specs_DEPRECATED/modules/NativeFileReaderModule.js +2 -2
  609. package/src/private/specs_DEPRECATED/modules/NativeFrameRateLogger.js +1 -1
  610. package/src/private/specs_DEPRECATED/modules/NativeHeadlessJsTaskSupport.js +1 -1
  611. package/src/private/specs_DEPRECATED/modules/NativeI18nManager.js +1 -1
  612. package/src/private/specs_DEPRECATED/modules/NativeImageEditor.js +2 -2
  613. package/src/private/specs_DEPRECATED/modules/NativeImageLoaderAndroid.js +1 -1
  614. package/src/private/specs_DEPRECATED/modules/NativeImageLoaderIOS.js +1 -1
  615. package/src/private/specs_DEPRECATED/modules/NativeImageStoreAndroid.js +2 -2
  616. package/src/private/specs_DEPRECATED/modules/NativeImageStoreIOS.js +2 -2
  617. package/src/private/specs_DEPRECATED/modules/NativeIntentAndroid.js +1 -1
  618. package/src/private/specs_DEPRECATED/modules/NativeJSCHeapCapture.js +1 -1
  619. package/src/private/specs_DEPRECATED/modules/NativeKeyboardObserver.js +1 -1
  620. package/src/private/specs_DEPRECATED/modules/NativeLinkingManager.js +1 -1
  621. package/src/private/specs_DEPRECATED/modules/NativeLogBox.js +1 -1
  622. package/src/private/specs_DEPRECATED/modules/NativeModalManager.js +1 -1
  623. package/src/private/specs_DEPRECATED/modules/NativeNetworkingAndroid.js +1 -1
  624. package/src/private/specs_DEPRECATED/modules/NativeNetworkingIOS.js +1 -1
  625. package/src/private/specs_DEPRECATED/modules/NativePermissionsAndroid.js +1 -1
  626. package/src/private/specs_DEPRECATED/modules/NativePlatformConstantsAndroid.js +2 -2
  627. package/src/private/specs_DEPRECATED/modules/NativePlatformConstantsIOS.js +2 -2
  628. package/src/private/specs_DEPRECATED/modules/NativePushNotificationManagerIOS.js +2 -2
  629. package/src/private/specs_DEPRECATED/modules/NativeRedBox.js +1 -1
  630. package/src/private/specs_DEPRECATED/modules/NativeSampleTurboModule.js +2 -2
  631. package/src/private/specs_DEPRECATED/modules/NativeSegmentFetcher.js +1 -1
  632. package/src/private/specs_DEPRECATED/modules/NativeSettingsManager.js +2 -2
  633. package/src/private/specs_DEPRECATED/modules/NativeShareModule.js +1 -1
  634. package/src/private/specs_DEPRECATED/modules/NativeSoundManager.js +1 -1
  635. package/src/private/specs_DEPRECATED/modules/NativeTiming.js +1 -1
  636. package/src/private/specs_DEPRECATED/modules/NativeToastAndroid.js +1 -1
  637. package/src/private/specs_DEPRECATED/modules/NativeUIManager.js +1 -1
  638. package/src/private/specs_DEPRECATED/modules/NativeVibration.js +1 -1
  639. package/src/private/specs_DEPRECATED/modules/NativeWebSocketModule.js +2 -2
  640. package/src/private/styles/composeStyles.js +1 -1
  641. package/src/private/types/HostComponent.js +1 -1
  642. package/src/private/utilities/toExtendedError.js +1 -1
  643. package/src/private/viewtransition/specs/NativeViewTransition.js +33 -0
  644. package/src/private/webapis/dom/events/Event.js +10 -1
  645. package/src/private/webapis/dom/events/EventTarget.js +60 -18
  646. package/src/private/webapis/dom/events/internals/EventInternals.js +18 -1
  647. package/src/private/webapis/dom/events/internals/EventTargetInternals.js +12 -0
  648. package/src/private/webapis/dom/nodes/ReactNativeElement.js +24 -0
  649. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +4 -6
  650. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +70 -1
  651. package/src/private/webapis/dom/nodes/internals/NodeInternals.js +10 -0
  652. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +1 -1
  653. package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +2 -2
  654. package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +5 -9
  655. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +2 -2
  656. package/src/private/webapis/microtasks/specs/NativeMicrotasks.js +2 -2
  657. package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +2 -2
  658. package/src/private/webapis/performance/internals/RawPerformanceEntry.js +1 -1
  659. package/src/private/webapis/performance/specs/NativePerformance.js +1 -1
  660. package/src/private/webapis/structuredClone/structuredClone.js +1 -1
  661. package/src/private/webapis/webidl/PlatformObjects.js +4 -4
  662. package/types/public/ReactNativeTVTypes.d.ts +9 -0
  663. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +0 -19669
  664. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +0 -11129
  665. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +0 -12930
  666. package/Libraries/Renderer/shims/ReactNative.js +0 -27
  667. package/Libraries/Utilities/GlobalPerformanceLogger.js +0 -24
  668. package/Libraries/Utilities/PerformanceLoggerContext.js +0 -33
  669. package/Libraries/Utilities/createPerformanceLogger.js +0 -329
  670. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaMethodWrapper.kt +0 -442
  671. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobCollector.kt +0 -31
  672. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollContainerLegacyView.kt +0 -47
  673. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfigJNIFinalizer.java +0 -31
  674. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIFinalizer.java +0 -35
  675. package/ReactCommon/react/renderer/graphics/DoubleConversions.cpp +0 -38
@@ -63,6 +63,7 @@ import com.facebook.react.views.text.SelectableTextViewManager
63
63
  import com.facebook.react.views.textinput.ReactTextInputManager
64
64
  import com.facebook.react.views.unimplementedview.ReactUnimplementedViewManager
65
65
  import com.facebook.react.views.view.ReactViewManager
66
+ import com.facebook.react.views.virtual.view.ReactVirtualViewManager
66
67
 
67
68
  /**
68
69
  * Package defining basic modules and view managers.
@@ -155,6 +156,7 @@ constructor(private val config: MainPackageConfig? = null) :
155
156
  else ReactTextViewManager(),
156
157
  SelectableTextViewManager(),
157
158
  ReactViewManager(),
159
+ ReactVirtualViewManager(),
158
160
  ReactUnimplementedViewManager(),
159
161
  )
160
162
 
@@ -199,6 +201,8 @@ constructor(private val config: MainPackageConfig? = null) :
199
201
  SelectableTextViewManager.REACT_CLASS to
200
202
  ModuleSpec.viewManagerSpec { SelectableTextViewManager() },
201
203
  ReactViewManager.REACT_CLASS to ModuleSpec.viewManagerSpec { ReactViewManager() },
204
+ ReactVirtualViewManager.REACT_CLASS to
205
+ ModuleSpec.viewManagerSpec { ReactVirtualViewManager() },
202
206
  ReactUnimplementedViewManager.REACT_CLASS to
203
207
  ModuleSpec.viewManagerSpec { ReactUnimplementedViewManager() },
204
208
  )
@@ -28,6 +28,7 @@ public object OpenSourceMergedSoMapping : ExternalSoMapping {
28
28
  "react_devsupportjni",
29
29
  "react_featureflagsjni",
30
30
  "react_newarchdefaults",
31
+ "react_tracingjni",
31
32
  "reactnativeblob",
32
33
  "reactnativejni",
33
34
  "reactnativejni_common",
@@ -57,6 +58,7 @@ public object OpenSourceMergedSoMapping : ExternalSoMapping {
57
58
  "react_devsupportjni" -> libreact_devsupportjni_so()
58
59
  "react_featureflagsjni" -> libreact_featureflagsjni_so()
59
60
  "react_newarchdefaults" -> libreact_newarchdefaults_so()
61
+ "react_tracingjni" -> libreact_tracingjni_so()
60
62
  "reactnative" -> libreactnative_so()
61
63
  "reactnativeblob" -> libreactnativeblob_so()
62
64
  "reactnativejni" -> libreactnativejni_so()
@@ -88,6 +90,8 @@ public object OpenSourceMergedSoMapping : ExternalSoMapping {
88
90
 
89
91
  public external fun libreact_newarchdefaults_so(): Int
90
92
 
93
+ public external fun libreact_tracingjni_so(): Int
94
+
91
95
  public external fun libreactnative_so(): Int
92
96
 
93
97
  public external fun libreactnativeblob_so(): Int
@@ -20,14 +20,10 @@ import android.os.Build
20
20
  import android.view.View
21
21
  import android.widget.ImageView
22
22
  import androidx.annotation.ColorInt
23
- import androidx.core.graphics.withClip
24
23
  import com.facebook.react.bridge.ReadableArray
25
24
  import com.facebook.react.common.annotations.UnstableReactNativeAPI
26
- import com.facebook.react.internal.featureflags.ReactNativeFeatureFlags
27
25
  import com.facebook.react.uimanager.PixelUtil.dpToPx
28
26
  import com.facebook.react.uimanager.PixelUtil.pxToDp
29
- import com.facebook.react.uimanager.common.UIManagerType
30
- import com.facebook.react.uimanager.common.ViewUtil
31
27
  import com.facebook.react.uimanager.drawable.BackgroundDrawable
32
28
  import com.facebook.react.uimanager.drawable.BackgroundImageDrawable
33
29
  import com.facebook.react.uimanager.drawable.BorderDrawable
@@ -281,17 +277,13 @@ public object BackgroundStyleApplicator {
281
277
  }
282
278
 
283
279
  /**
284
- * Sets the outline color for the view (Fabric only).
280
+ * Sets the outline color for the view.
285
281
  *
286
282
  * @param view The view to apply the outline color to
287
283
  * @param outlineColor The outline color, or null to remove
288
284
  */
289
285
  @JvmStatic
290
286
  public fun setOutlineColor(view: View, @ColorInt outlineColor: Int?) {
291
- if (ViewUtil.getUIManagerType(view) != UIManagerType.FABRIC) {
292
- return
293
- }
294
-
295
287
  val outline = ensureOutlineDrawable(view)
296
288
  if (outlineColor != null) {
297
289
  outline.outlineColor = outlineColor
@@ -307,17 +299,13 @@ public object BackgroundStyleApplicator {
307
299
  @JvmStatic public fun getOutlineColor(view: View): Int? = getOutlineDrawable(view)?.outlineColor
308
300
 
309
301
  /**
310
- * Sets the outline offset for the view (Fabric only).
302
+ * Sets the outline offset for the view.
311
303
  *
312
304
  * @param view The view to apply the outline offset to
313
305
  * @param outlineOffset The outline offset in DIPs
314
306
  */
315
307
  @JvmStatic
316
308
  public fun setOutlineOffset(view: View, outlineOffset: Float): Unit {
317
- if (ViewUtil.getUIManagerType(view) != UIManagerType.FABRIC) {
318
- return
319
- }
320
-
321
309
  val outline = ensureOutlineDrawable(view)
322
310
  outline.outlineOffset = outlineOffset.dpToPx()
323
311
  }
@@ -331,17 +319,13 @@ public object BackgroundStyleApplicator {
331
319
  public fun getOutlineOffset(view: View): Float? = getOutlineDrawable(view)?.outlineOffset
332
320
 
333
321
  /**
334
- * Sets the outline style for the view (Fabric only).
322
+ * Sets the outline style for the view.
335
323
  *
336
324
  * @param view The view to apply the outline style to
337
325
  * @param outlineStyle The outline style (solid, dashed, dotted), or null to remove
338
326
  */
339
327
  @JvmStatic
340
328
  public fun setOutlineStyle(view: View, outlineStyle: OutlineStyle?): Unit {
341
- if (ViewUtil.getUIManagerType(view) != UIManagerType.FABRIC) {
342
- return
343
- }
344
-
345
329
  val outline = ensureOutlineDrawable(view)
346
330
  if (outlineStyle != null) {
347
331
  outline.outlineStyle = outlineStyle
@@ -357,17 +341,13 @@ public object BackgroundStyleApplicator {
357
341
  public fun getOutlineStyle(view: View): OutlineStyle? = getOutlineDrawable(view)?.outlineStyle
358
342
 
359
343
  /**
360
- * Sets the outline width for the view (Fabric only).
344
+ * Sets the outline width for the view.
361
345
  *
362
346
  * @param view The view to apply the outline width to
363
347
  * @param width The outline width in DIPs
364
348
  */
365
349
  @JvmStatic
366
350
  public fun setOutlineWidth(view: View, width: Float) {
367
- if (ViewUtil.getUIManagerType(view) != UIManagerType.FABRIC) {
368
- return
369
- }
370
-
371
351
  val outline = ensureOutlineDrawable(view)
372
352
  outline.outlineWidth = width.dpToPx()
373
353
  }
@@ -381,17 +361,13 @@ public object BackgroundStyleApplicator {
381
361
  public fun getOutlineWidth(view: View): Float? = getOutlineDrawable(view)?.outlineOffset
382
362
 
383
363
  /**
384
- * Sets box shadows for the view (Fabric only).
364
+ * Sets box shadows for the view.
385
365
  *
386
366
  * @param view The view to apply box shadows to
387
367
  * @param shadows The list of box shadow styles to apply
388
368
  */
389
369
  @JvmStatic
390
370
  public fun setBoxShadow(view: View, shadows: List<BoxShadow>) {
391
- if (ViewUtil.getUIManagerType(view) != UIManagerType.FABRIC) {
392
- return
393
- }
394
-
395
371
  var innerShadows = mutableListOf<InsetBoxShadowDrawable>()
396
372
  var outerShadows = mutableListOf<OutsetBoxShadowDrawable>()
397
373
 
@@ -445,7 +421,7 @@ public object BackgroundStyleApplicator {
445
421
  }
446
422
 
447
423
  /**
448
- * Sets box shadows for the view from a ReadableArray (Fabric only).
424
+ * Sets box shadows for the view from a ReadableArray.
449
425
  *
450
426
  * @param view The view to apply box shadows to
451
427
  * @param shadows The array of box shadow definitions, or null to remove all shadows
@@ -489,6 +465,35 @@ public object BackgroundStyleApplicator {
489
465
  clipToPaddingBoxWithAntiAliasing(view, canvas, null)
490
466
  }
491
467
 
468
+ /**
469
+ * Populates [outRect] with the padding box rect of the view.
470
+ *
471
+ * The padding box is the area within the borders of the view. For views without a
472
+ * [CompositeBackgroundDrawable] or without borders, this returns the full view bounds.
473
+ *
474
+ * This is useful for overriding [View.getClipBounds] to communicate the view's clipping region to
475
+ * the Android framework (e.g. for [View.getGlobalVisibleRect] calculations).
476
+ *
477
+ * @param view The view whose padding box to compute
478
+ * @param outRect The rect to populate with the padding box bounds
479
+ */
480
+ internal fun getPaddingBoxRect(view: View, outRect: Rect) {
481
+ val composite = getCompositeBackgroundDrawable(view)
482
+ val computedBorderInsets =
483
+ composite?.borderInsets?.resolve(composite.layoutDirection, view.context)
484
+ if (computedBorderInsets == null) {
485
+ outRect.set(0, 0, view.width, view.height)
486
+ return
487
+ }
488
+
489
+ val left = (computedBorderInsets.left.dpToPx()).toInt()
490
+ val top = (computedBorderInsets.top.dpToPx()).toInt()
491
+ val right = (view.width.toFloat() - computedBorderInsets.right.dpToPx()).toInt()
492
+ val bottom = (view.height.toFloat() - computedBorderInsets.bottom.dpToPx()).toInt()
493
+
494
+ outRect.set(left, top, right, bottom)
495
+ }
496
+
492
497
  /**
493
498
  * Clips the canvas to the padding box of the view.
494
499
  *
@@ -542,8 +547,7 @@ public object BackgroundStyleApplicator {
542
547
  // On Android 28 and below, use antialiased clipping with Porter-Duff compositing. On newer
543
548
  // Android versions, use the standard clipPath.
544
549
  if (
545
- ReactNativeFeatureFlags.enableAndroidAntialiasedBorderRadiusClipping() &&
546
- Build.VERSION.SDK_INT <= Build.VERSION_CODES.P &&
550
+ Build.VERSION.SDK_INT <= Build.VERSION_CODES.P &&
547
551
  view.width > 0 &&
548
552
  view.height > 0 &&
549
553
  drawContent != null
@@ -575,49 +579,50 @@ public object BackgroundStyleApplicator {
575
579
  paddingBoxPath: Path,
576
580
  drawContent: () -> Unit,
577
581
  ) {
578
- // Clip to the view's own bounds before saveLayer. On API <= 28 hardware-accelerated canvases,
582
+ // Save the layer for Porter-Duff compositing
583
+ val saveCount = canvas.saveLayer(0f, 0f, view.width.toFloat(), view.height.toFloat(), null)
584
+
585
+ // Clip to the view's own bounds inside the layer. On API <= 28 hardware-accelerated canvases,
579
586
  // the window boundary is tracked by the GPU scissor but not reflected in the canvas clip stack.
580
587
  // Without an explicit software clip, saveLayer may allocate a buffer with uninitialized pixels
581
- // beyond the GPU scissor. Adding clipRect in the view's local coordinate space forces HWUI to
582
- // include it in the clip stack, ensuring saveLayer properly constrains its buffer. This clip is
583
- // stable across parent transform animations since it's in the view's own coordinate space.
584
- canvas.withClip(0, 0, view.width, view.height) {
585
- // Save the layer for Porter-Duff compositing
586
- val saveCount = canvas.saveLayer(0f, 0f, view.width.toFloat(), view.height.toFloat(), null)
587
-
588
- // Draw the content first
589
- drawContent()
590
-
591
- val maskPaint = Paint(Paint.ANTI_ALIAS_FLAG)
592
- maskPaint.style = Paint.Style.FILL
593
-
594
- // Transparent pixels with INVERSE_WINDING only works on API 28
595
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
596
- maskPaint.xfermode = PorterDuffXfermode(PorterDuff.Mode.DST_IN)
597
- maskPaint.color = Color.TRANSPARENT
598
- paddingBoxPath.setFillType(Path.FillType.INVERSE_WINDING)
599
- canvas.drawPath(paddingBoxPath, maskPaint)
600
- } else {
601
- // API < 28: Use a nested saveLayer with DST_IN compositing to mask content to the
602
- // padding box path. EVEN_ODD fill + DST_OUT has rendering bugs on API 24's hardware
603
- // renderer, so we avoid that technique. Instead, draw the mask shape into a separate
604
- // layer; when restored with DST_IN, content is preserved only where the mask is opaque.
605
- val dstInPaint = Paint()
606
- dstInPaint.xfermode = PorterDuffXfermode(PorterDuff.Mode.DST_IN)
607
- val maskSave =
608
- canvas.saveLayer(0f, 0f, view.width.toFloat(), view.height.toFloat(), dstInPaint)
609
- // Clear the layer to ensure it starts fully transparent. On API 24, saveLayer may not
610
- // initialize the buffer to transparent, causing DST_IN to see non-zero alpha everywhere.
611
- canvas.drawColor(Color.TRANSPARENT, PorterDuff.Mode.CLEAR)
612
- maskPaint.xfermode = null
613
- maskPaint.color = Color.BLACK
614
- canvas.drawPath(paddingBoxPath, maskPaint)
615
- canvas.restoreToCount(maskSave)
616
- }
617
-
618
- // Restore the layer
619
- canvas.restoreToCount(saveCount)
588
+ // beyond the GPU scissor. Adding clipRect inside the layer (rather than wrapping it with
589
+ // canvas.withClip) avoids an extra save/restore nesting level that breaks Porter-Duff
590
+ // compositing on API 24's HWUI renderer. The saveLayer already saves and restores the clip
591
+ // state, so a separate save/restore wrapper is unnecessary.
592
+ canvas.clipRect(0, 0, view.width, view.height)
593
+
594
+ // Draw the content first
595
+ drawContent()
596
+
597
+ val maskPaint = Paint(Paint.ANTI_ALIAS_FLAG)
598
+ maskPaint.style = Paint.Style.FILL
599
+
600
+ // Transparent pixels with INVERSE_WINDING only works on API 28
601
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
602
+ maskPaint.xfermode = PorterDuffXfermode(PorterDuff.Mode.DST_IN)
603
+ maskPaint.color = Color.TRANSPARENT
604
+ paddingBoxPath.setFillType(Path.FillType.INVERSE_WINDING)
605
+ canvas.drawPath(paddingBoxPath, maskPaint)
606
+ } else {
607
+ // API < 28: Use a nested saveLayer with DST_IN compositing to mask content to the
608
+ // padding box path. EVEN_ODD fill + DST_OUT has rendering bugs on API 24's hardware
609
+ // renderer, so we avoid that technique. Instead, draw the mask shape into a separate
610
+ // layer; when restored with DST_IN, content is preserved only where the mask is opaque.
611
+ val dstInPaint = Paint()
612
+ dstInPaint.xfermode = PorterDuffXfermode(PorterDuff.Mode.DST_IN)
613
+ val maskSave =
614
+ canvas.saveLayer(0f, 0f, view.width.toFloat(), view.height.toFloat(), dstInPaint)
615
+ // Clear the layer to ensure it starts fully transparent. On API 24, saveLayer may not
616
+ // initialize the buffer to transparent, causing DST_IN to see non-zero alpha everywhere.
617
+ canvas.drawColor(Color.TRANSPARENT, PorterDuff.Mode.CLEAR)
618
+ maskPaint.xfermode = null
619
+ maskPaint.color = Color.BLACK
620
+ canvas.drawPath(paddingBoxPath, maskPaint)
621
+ canvas.restoreToCount(maskSave)
620
622
  }
623
+
624
+ // Restore the layer
625
+ canvas.restoreToCount(saveCount)
621
626
  }
622
627
 
623
628
  /**
@@ -33,8 +33,6 @@ import com.facebook.react.common.ReactConstants;
33
33
  import com.facebook.react.uimanager.ReactAccessibilityDelegate.AccessibilityRole;
34
34
  import com.facebook.react.uimanager.ReactAccessibilityDelegate.Role;
35
35
  import com.facebook.react.uimanager.annotations.ReactProp;
36
- import com.facebook.react.uimanager.common.UIManagerType;
37
- import com.facebook.react.uimanager.common.ViewUtil;
38
36
  import com.facebook.react.uimanager.events.BlurEvent;
39
37
  import com.facebook.react.uimanager.events.EventDispatcher;
40
38
  import com.facebook.react.uimanager.events.FocusEvent;
@@ -235,20 +233,16 @@ public abstract class BaseViewManager<T extends View, C extends LayoutShadowNode
235
233
 
236
234
  @ReactProp(name = ViewProps.FILTER, customType = "Filter")
237
235
  public void setFilter(@NonNull T view, @Nullable ReadableArray filter) {
238
- if (ViewUtil.getUIManagerType(view) == UIManagerType.FABRIC) {
239
- view.setTag(R.id.filter, filter);
240
- }
236
+ view.setTag(R.id.filter, filter);
241
237
  }
242
238
 
243
239
  @ReactProp(name = ViewProps.MIX_BLEND_MODE)
244
240
  public void setMixBlendMode(@NonNull T view, @Nullable String mixBlendMode) {
245
- if (ViewUtil.getUIManagerType(view) == UIManagerType.FABRIC) {
246
- view.setTag(R.id.mix_blend_mode, BlendModeHelper.parseMixBlendMode(mixBlendMode));
247
- // We need to trigger drawChild for the parent ViewGroup which will set the
248
- // mixBlendMode compositing on the child
249
- if (view.getParent() instanceof View) {
250
- ((View) view.getParent()).invalidate();
251
- }
241
+ view.setTag(R.id.mix_blend_mode, BlendModeHelper.parseMixBlendMode(mixBlendMode));
242
+ // We need to trigger drawChild for the parent ViewGroup which will set the
243
+ // mixBlendMode compositing on the child
244
+ if (view.getParent() instanceof View) {
245
+ ((View) view.getParent()).invalidate();
252
246
  }
253
247
  }
254
248
 
@@ -592,16 +586,13 @@ public abstract class BaseViewManager<T extends View, C extends LayoutShadowNode
592
586
  return;
593
587
  }
594
588
 
595
- boolean allowPercentageResolution = ViewUtil.getUIManagerType(view) == UIManagerType.FABRIC;
596
-
597
589
  sMatrixDecompositionContext.reset();
598
590
  TransformHelper.processTransform(
599
591
  transforms,
600
592
  sTransformDecompositionArray,
601
593
  PixelUtil.toDIPFromPixel(view.getWidth()),
602
594
  PixelUtil.toDIPFromPixel(view.getHeight()),
603
- transformOrigin,
604
- allowPercentageResolution);
595
+ transformOrigin);
605
596
  MatrixMathHelper.decomposeMatrix(sTransformDecompositionArray, sMatrixDecompositionContext);
606
597
  view.setTranslationX(
607
598
  PixelUtil.toPixelFromDIP(
@@ -7,10 +7,10 @@
7
7
 
8
8
  package com.facebook.react.uimanager
9
9
 
10
- import android.annotation.TargetApi
11
10
  import android.graphics.BlendMode
12
11
  import android.os.Build
13
12
  import android.view.ViewGroup
13
+ import androidx.annotation.RequiresApi
14
14
  import androidx.core.view.children
15
15
  import com.facebook.react.R
16
16
 
@@ -20,7 +20,7 @@ import com.facebook.react.R
20
20
  * This object provides utilities to convert CSS mix-blend-mode string values into Android's
21
21
  * [BlendMode] enumeration and to determine when views need isolated layers for proper blending.
22
22
  */
23
- @TargetApi(29)
23
+ @RequiresApi(29)
24
24
  internal object BlendModeHelper {
25
25
 
26
26
  /**
@@ -54,6 +54,7 @@ internal object BlendModeHelper {
54
54
  "saturation" -> BlendMode.SATURATION
55
55
  "color" -> BlendMode.COLOR
56
56
  "luminosity" -> BlendMode.LUMINOSITY
57
+ "plus-lighter" -> BlendMode.PLUS
57
58
  else -> throw IllegalArgumentException("Invalid mix-blend-mode name: $mixBlendMode")
58
59
  }
59
60
  }
@@ -29,6 +29,7 @@ public object DisplayMetricsHolder {
29
29
  @JvmStatic private var windowDisplayMetrics: DisplayMetrics? = null
30
30
  @JvmStatic private var screenDisplayMetrics: DisplayMetrics? = null
31
31
 
32
+ // TODO(0.87): Remove once we are out of the non-breaking window (see 8d21ffda60)
32
33
  /** The metrics of the window associated to the Context used to initialize ReactNative */
33
34
  @JvmStatic
34
35
  public fun getWindowDisplayMetrics(): DisplayMetrics {
@@ -36,6 +37,7 @@ public object DisplayMetricsHolder {
36
37
  return windowDisplayMetrics as DisplayMetrics
37
38
  }
38
39
 
40
+ // TODO(0.87): Remove once we are out of the non-breaking window (see 8d21ffda60)
39
41
  @JvmStatic
40
42
  public fun setWindowDisplayMetrics(displayMetrics: DisplayMetrics?) {
41
43
  windowDisplayMetrics = displayMetrics
@@ -84,6 +86,7 @@ public object DisplayMetricsHolder {
84
86
  DisplayMetricsHolder.screenDisplayMetrics = screenDisplayMetrics
85
87
  }
86
88
 
89
+ // TODO(0.87): Remove once we are out of the non-breaking window (see 8d21ffda60)
87
90
  @JvmStatic
88
91
  public fun getDisplayMetricsWritableMap(fontScale: Double): WritableMap {
89
92
  checkNotNull(windowDisplayMetrics) { INITIALIZATION_MISSING_MESSAGE }
@@ -7,6 +7,7 @@
7
7
 
8
8
  package com.facebook.react.uimanager
9
9
 
10
+ import android.annotation.SuppressLint
10
11
  import android.annotation.TargetApi
11
12
  import android.graphics.BlendMode
12
13
  import android.graphics.BlendModeColorFilter
@@ -30,6 +31,7 @@ import kotlin.math.sin
30
31
  *
31
32
  * @see <a href="https://www.w3.org/TR/filter-effects-1/">CSS Filter Effects Module Level 1</a>
32
33
  */
34
+ @SuppressLint("UseRequiresApi")
33
35
  @TargetApi(31)
34
36
  internal object FilterHelper {
35
37
 
@@ -104,7 +106,7 @@ internal object FilterHelper {
104
106
  }
105
107
 
106
108
  for (i in 0 until filters.size()) {
107
- val filter = filters.getMap(i)!!.entryIterator.next()
109
+ val filter = checkNotNull(filters.getMap(i)).entryIterator.next()
108
110
  val filterName = filter.key
109
111
  if (filterName == "blur" || filterName == "dropShadow") {
110
112
  return false
@@ -31,16 +31,19 @@ public class NativeViewHierarchyManager {
31
31
  /**
32
32
  * @deprecated Use new architecture instead.
33
33
  */
34
+ @Deprecated
34
35
  public NativeViewHierarchyManager(ViewManagerRegistry viewManagers) {}
35
36
 
36
37
  /**
37
38
  * @deprecated Use new architecture instead.
38
39
  */
40
+ @Deprecated
39
41
  public NativeViewHierarchyManager(ViewManagerRegistry viewManagers, RootViewManager manager) {}
40
42
 
41
43
  /**
42
44
  * @deprecated Use new architecture instead.
43
45
  */
46
+ @Deprecated
44
47
  public final synchronized @Nullable View resolveView(int tag) {
45
48
  return null;
46
49
  }
@@ -48,6 +51,7 @@ public class NativeViewHierarchyManager {
48
51
  /**
49
52
  * @deprecated Use new architecture instead.
50
53
  */
54
+ @Deprecated
51
55
  public final synchronized @Nullable ViewManager resolveViewManager(int tag) {
52
56
  return null;
53
57
  }
@@ -55,21 +59,25 @@ public class NativeViewHierarchyManager {
55
59
  /**
56
60
  * @deprecated Use new architecture instead.
57
61
  */
62
+ @Deprecated
58
63
  public void setLayoutAnimationEnabled(boolean enabled) {}
59
64
 
60
65
  /**
61
66
  * @deprecated Use new architecture instead.
62
67
  */
68
+ @Deprecated
63
69
  public synchronized void updateInstanceHandle(int tag, long instanceHandle) {}
64
70
 
65
71
  /**
66
72
  * @deprecated Use new architecture instead.
67
73
  */
74
+ @Deprecated
68
75
  public synchronized void updateProperties(int tag, ReactStylesDiffMap props) {}
69
76
 
70
77
  /**
71
78
  * @deprecated Use new architecture instead.
72
79
  */
80
+ @Deprecated
73
81
  public synchronized void updateViewExtraData(int tag, Object extraData) {}
74
82
 
75
83
  /**
@@ -82,6 +90,7 @@ public class NativeViewHierarchyManager {
82
90
  /**
83
91
  * @deprecated Use new architecture instead.
84
92
  */
93
+ @Deprecated
85
94
  public synchronized void updateLayout(
86
95
  int parentTag,
87
96
  int tag,
@@ -94,6 +103,7 @@ public class NativeViewHierarchyManager {
94
103
  /**
95
104
  * @deprecated Use new architecture instead.
96
105
  */
106
+ @Deprecated
97
107
  public synchronized long getInstanceHandle(int reactTag) {
98
108
  return 0;
99
109
  }
@@ -101,6 +111,7 @@ public class NativeViewHierarchyManager {
101
111
  /**
102
112
  * @deprecated Use new architecture instead.
103
113
  */
114
+ @Deprecated
104
115
  public synchronized void createView(
105
116
  ThemedReactContext themedContext,
106
117
  int tag,
@@ -110,6 +121,7 @@ public class NativeViewHierarchyManager {
110
121
  /**
111
122
  * @deprecated Use new architecture instead.
112
123
  */
124
+ @Deprecated
113
125
  public synchronized void manageChildren(
114
126
  int tag,
115
127
  @Nullable int[] indicesToRemove,
@@ -119,31 +131,37 @@ public class NativeViewHierarchyManager {
119
131
  /**
120
132
  * @deprecated Use new architecture instead.
121
133
  */
134
+ @Deprecated
122
135
  public synchronized void setChildren(int tag, ReadableArray childrenTags) {}
123
136
 
124
137
  /**
125
138
  * @deprecated Use new architecture instead.
126
139
  */
140
+ @Deprecated
127
141
  public synchronized void addRootView(int tag, View view) {}
128
142
 
129
143
  /**
130
144
  * @deprecated Use new architecture instead.
131
145
  */
146
+ @Deprecated
132
147
  protected final synchronized void addRootViewGroup(int tag, View view) {}
133
148
 
134
149
  /**
135
150
  * @deprecated Use new architecture instead.
136
151
  */
152
+ @Deprecated
137
153
  protected synchronized void dropView(View view) {}
138
154
 
139
155
  /**
140
156
  * @deprecated Use new architecture instead.
141
157
  */
158
+ @Deprecated
142
159
  public synchronized void removeRootView(int rootViewTag) {}
143
160
 
144
161
  /**
145
162
  * @deprecated Use new architecture instead.
146
163
  */
164
+ @Deprecated
147
165
  public synchronized int getRootViewNum() {
148
166
  return 0;
149
167
  }
@@ -151,16 +169,19 @@ public class NativeViewHierarchyManager {
151
169
  /**
152
170
  * @deprecated Use new architecture instead.
153
171
  */
172
+ @Deprecated
154
173
  public synchronized void measure(int tag, int[] outputBuffer) {}
155
174
 
156
175
  /**
157
176
  * @deprecated Use new architecture instead.
158
177
  */
178
+ @Deprecated
159
179
  public synchronized void measureInWindow(int tag, int[] outputBuffer) {}
160
180
 
161
181
  /**
162
182
  * @deprecated Use new architecture instead.
163
183
  */
184
+ @Deprecated
164
185
  public synchronized int findTargetTagForTouch(int reactTag, float touchX, float touchY) {
165
186
  return 0;
166
187
  }
@@ -168,12 +189,14 @@ public class NativeViewHierarchyManager {
168
189
  /**
169
190
  * @deprecated Use new architecture instead.
170
191
  */
192
+ @Deprecated
171
193
  public synchronized void setJSResponder(
172
194
  int reactTag, int initialReactTag, boolean blockNativeResponder) {}
173
195
 
174
196
  /**
175
197
  * @deprecated Use new architecture instead.
176
198
  */
199
+ @Deprecated
177
200
  public synchronized void clearJSResponder() {}
178
201
 
179
202
  /**
@@ -186,11 +209,13 @@ public class NativeViewHierarchyManager {
186
209
  /**
187
210
  * @deprecated Use new architecture instead.
188
211
  */
212
+ @Deprecated
189
213
  public synchronized void dispatchCommand(
190
214
  int reactTag, String commandId, @Nullable ReadableArray args) {}
191
215
 
192
216
  /**
193
217
  * @deprecated Use new architecture instead.
194
218
  */
219
+ @Deprecated
195
220
  public synchronized void sendAccessibilityEvent(int tag, int eventType) {}
196
221
  }
@@ -35,7 +35,7 @@ import com.facebook.react.bridge.ReadableType
35
35
  import com.facebook.react.bridge.WritableMap
36
36
  import com.facebook.react.uimanager.UIManagerHelper.getSurfaceId
37
37
  import com.facebook.react.uimanager.UIManagerHelper.getUIManager
38
- import com.facebook.react.uimanager.common.ViewUtil.getUIManagerType
38
+ import com.facebook.react.uimanager.common.UIManagerType
39
39
  import com.facebook.react.uimanager.events.Event
40
40
  import com.facebook.react.uimanager.util.ReactFindViewUtil.findView
41
41
 
@@ -251,7 +251,7 @@ public open class ReactAccessibilityDelegate( // The View this delegate is attac
251
251
  if (reactContext.hasActiveReactInstance()) {
252
252
  val reactTag = host.id
253
253
  val surfaceId = getSurfaceId(reactContext)
254
- val uiManager = getUIManager(reactContext, getUIManagerType(reactTag))
254
+ val uiManager = getUIManager(reactContext, UIManagerType.FABRIC)
255
255
  if (uiManager != null) {
256
256
  uiManager.eventDispatcher.dispatchEvent(
257
257
  AccessibilityActionEvent(eventData, surfaceId, reactTag)
@@ -17,6 +17,7 @@ internal object ReactRootViewTagGenerator {
17
17
 
18
18
  @JvmStatic
19
19
  @Synchronized
20
- fun getNextRootViewTag(): Int =
21
- nextRootViewTag.also { nextRootViewTag += ROOT_VIEW_TAG_INCREMENT }
20
+ fun getNextRootViewTag(): Int = nextRootViewTag.also {
21
+ nextRootViewTag += ROOT_VIEW_TAG_INCREMENT
22
+ }
22
23
  }