@depup/react-native 0.85.0-depup.1 → 0.86.2-depup.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 (873) hide show
  1. package/Libraries/ActionSheetIOS/React-RCTActionSheet.podspec +1 -1
  2. package/Libraries/Animated/AnimatedImplementation.js +6 -6
  3. package/Libraries/Animated/NativeAnimatedAllowlist.js +21 -0
  4. package/Libraries/Animated/components/AnimatedImage.js +3 -3
  5. package/Libraries/Animated/components/AnimatedScrollView.js +1 -1
  6. package/Libraries/Animated/components/AnimatedText.js +3 -3
  7. package/Libraries/Animated/createAnimatedComponent.js +7 -7
  8. package/Libraries/Animated/nodes/AnimatedAddition.js +1 -1
  9. package/Libraries/Animated/nodes/AnimatedColor.js +7 -7
  10. package/Libraries/Animated/nodes/AnimatedDiffClamp.js +1 -1
  11. package/Libraries/Animated/nodes/AnimatedDivision.js +1 -1
  12. package/Libraries/Animated/nodes/AnimatedInterpolation.js +22 -24
  13. package/Libraries/Animated/nodes/AnimatedModulo.js +1 -1
  14. package/Libraries/Animated/nodes/AnimatedMultiplication.js +1 -1
  15. package/Libraries/Animated/nodes/AnimatedStyle.js +2 -2
  16. package/Libraries/Animated/nodes/AnimatedSubtraction.js +1 -1
  17. package/Libraries/Animated/nodes/AnimatedTracking.js +1 -1
  18. package/Libraries/Animated/nodes/AnimatedValue.js +2 -2
  19. package/Libraries/AppDelegate/RCTDefaultReactNativeFactoryDelegate.mm +4 -0
  20. package/Libraries/AppDelegate/RCTRootViewFactory.h +5 -5
  21. package/Libraries/AppDelegate/RCTRootViewFactory.mm +2 -2
  22. package/Libraries/AppDelegate/React-RCTAppDelegate.podspec +1 -1
  23. package/Libraries/AppState/AppState.js +1 -1
  24. package/Libraries/BatchedBridge/NativeModules.js +1 -1
  25. package/Libraries/Blob/RCTBlobCollector.h +1 -1
  26. package/Libraries/Blob/RCTBlobCollector.mm +14 -26
  27. package/Libraries/Blob/RCTBlobManager.mm +11 -3
  28. package/Libraries/Blob/React-RCTBlob.podspec +1 -1
  29. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +29 -23
  30. package/Libraries/Components/Button.js +2 -2
  31. package/Libraries/Components/Keyboard/Keyboard.js +4 -2
  32. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +1 -1
  33. package/Libraries/Components/LayoutConformance/LayoutConformance.js +1 -27
  34. package/Libraries/Components/Pressable/Pressable.d.ts +1 -0
  35. package/Libraries/Components/Pressable/Pressable.js +2 -2
  36. package/Libraries/Components/Pressable/useAndroidRippleForView.js +7 -8
  37. package/Libraries/Components/ScrollView/ScrollView.js +3 -3
  38. package/Libraries/Components/ScrollView/ScrollViewCommands.js +2 -2
  39. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +2 -2
  40. package/Libraries/Components/Switch/Switch.js +1 -1
  41. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +26 -2
  42. package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +1 -1
  43. package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +2 -2
  44. package/Libraries/Components/TextInput/TextInput.d.ts +24 -0
  45. package/Libraries/Components/TextInput/TextInput.flow.js +25 -1
  46. package/Libraries/Components/TextInput/TextInput.js +5 -5
  47. package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +5 -5
  48. package/Libraries/Components/ToastAndroid/ToastAndroidFallback.js +5 -5
  49. package/Libraries/Components/Touchable/PooledClass.js +4 -4
  50. package/Libraries/Components/Touchable/Touchable.d.ts +1 -1
  51. package/Libraries/Components/Touchable/Touchable.js +1 -1
  52. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +6 -10
  53. package/Libraries/Components/View/ReactNativeStyleAttributes.js +10 -2
  54. package/Libraries/Components/View/View.js +82 -77
  55. package/Libraries/Components/View/ViewAccessibility.d.ts +1 -1
  56. package/Libraries/Components/View/ViewAccessibility.js +1 -1
  57. package/Libraries/Components/View/ViewPropTypes.js +3 -1
  58. package/Libraries/Core/Devtools/loadBundleFromServer.js +8 -0
  59. package/Libraries/Core/ExceptionsManager.js +2 -8
  60. package/Libraries/Core/InitializeCore.js +0 -13
  61. package/Libraries/Core/ReactFiberErrorDialog.js +3 -3
  62. package/Libraries/Core/ReactNativeVersion.js +2 -2
  63. package/Libraries/Core/ReactNativeVersionCheck.js +1 -1
  64. package/Libraries/Core/Timers/JSTimers.js +3 -3
  65. package/Libraries/Core/Timers/immediateShim.js +1 -1
  66. package/Libraries/Core/setUpBatchedBridge.js +1 -1
  67. package/Libraries/Core/setUpNavigator.js +1 -1
  68. package/Libraries/Core/setUpSegmentFetcher.js +1 -1
  69. package/Libraries/Debugging/DebuggingOverlayRegistry.js +1 -1
  70. package/Libraries/EventEmitter/NativeEventEmitter.js +9 -5
  71. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +2 -2
  72. package/Libraries/EventEmitter/RCTNativeAppEventEmitter.d.ts +1 -1
  73. package/Libraries/FBLazyVector/FBLazyVector.podspec +1 -1
  74. package/Libraries/Image/Image.android.js +15 -35
  75. package/Libraries/Image/ImageSource.d.ts +1 -1
  76. package/Libraries/Image/RCTImageLoader.mm +5 -3
  77. package/Libraries/Image/React-RCTImage.podspec +1 -1
  78. package/Libraries/Image/RelativeImageStub.js +2 -2
  79. package/Libraries/Interaction/PanResponder.js +1 -1
  80. package/Libraries/LayoutAnimation/LayoutAnimation.js +12 -12
  81. package/Libraries/Linking/Linking.js +1 -1
  82. package/Libraries/LinkingIOS/React-RCTLinking.podspec +1 -1
  83. package/Libraries/Lists/FlatList.js +1 -1
  84. package/Libraries/LogBox/LogBox.js +2 -2
  85. package/Libraries/LogBox/LogBoxInspectorContainer.js +24 -2
  86. package/Libraries/LogBox/LogBoxNotificationContainer.js +27 -4
  87. package/Libraries/LogBox/UI/LogBoxButton.js +47 -24
  88. package/Libraries/LogBox/UI/LogBoxInspector.js +61 -1
  89. package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +6 -0
  90. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +3 -1
  91. package/Libraries/LogBox/UI/LogBoxNotification.js +2 -0
  92. package/Libraries/Modal/Modal.js +12 -7
  93. package/Libraries/NativeAnimation/Nodes/RCTInterpolationAnimatedNode.mm +0 -2
  94. package/Libraries/NativeAnimation/React-RCTAnimation.podspec +1 -1
  95. package/Libraries/NativeComponent/BaseViewConfig.android.js +15 -0
  96. package/Libraries/NativeComponent/BaseViewConfig.ios.js +17 -0
  97. package/Libraries/NativeComponent/NativeComponentRegistry.js +2 -2
  98. package/Libraries/NativeComponent/ViewConfigIgnore.js +4 -2
  99. package/Libraries/Network/RCTNetworking.android.js +1 -1
  100. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  101. package/Libraries/Network/RCTNetworking.js.flow +1 -1
  102. package/Libraries/Network/RCTNetworking.mm +1 -2
  103. package/Libraries/Network/React-RCTNetwork.podspec +1 -1
  104. package/Libraries/Network/XMLHttpRequest.js +29 -12
  105. package/Libraries/Pressability/Pressability.js +2 -2
  106. package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +1 -1
  107. package/Libraries/ReactNative/AppContainer-dev.js +2 -3
  108. package/Libraries/ReactNative/AppContainer-prod.js +1 -2
  109. package/Libraries/ReactNative/AppContainer.js +0 -1
  110. package/Libraries/ReactNative/AppRegistry.d.ts +1 -1
  111. package/Libraries/ReactNative/AppRegistry.flow.js +1 -2
  112. package/Libraries/ReactNative/AppRegistryImpl.js +16 -16
  113. package/Libraries/ReactNative/DeprecatedPerformanceLoggerStub.js +83 -0
  114. package/Libraries/ReactNative/FabricUIManager.js +6 -0
  115. package/Libraries/{Utilities → ReactNative}/IPerformanceLogger.d.ts +8 -5
  116. package/Libraries/{Utilities/IPerformanceLogger.js → ReactNative/IPerformanceLogger.flow.js} +12 -9
  117. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +14 -14
  118. package/Libraries/ReactNative/RendererImplementation.js +26 -142
  119. package/Libraries/ReactNative/RendererProxy.js +4 -15
  120. package/Libraries/ReactNative/renderApplication.js +33 -59
  121. package/Libraries/ReactNative/requireNativeComponent.js +3 -3
  122. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +5 -0
  123. package/Libraries/Renderer/README.md +2 -2
  124. package/Libraries/Renderer/shims/ReactNativeTypes.js +1 -31
  125. package/Libraries/Required/RCTRequired.podspec +1 -1
  126. package/Libraries/Settings/React-RCTSettings.podspec +1 -1
  127. package/Libraries/Settings/Settings.ios.js +1 -1
  128. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +2 -2
  129. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +3 -3
  130. package/Libraries/StyleSheet/StyleSheet.js +1 -1
  131. package/Libraries/StyleSheet/StyleSheet.js.flow +2 -2
  132. package/Libraries/StyleSheet/StyleSheetExports.js +1 -1
  133. package/Libraries/StyleSheet/StyleSheetExports.js.flow +1 -1
  134. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +6 -8
  135. package/Libraries/StyleSheet/StyleSheetTypes.js +11 -11
  136. package/Libraries/StyleSheet/flattenStyle.js +1 -1
  137. package/Libraries/StyleSheet/private/_TransformStyle.js +1 -1
  138. package/Libraries/StyleSheet/processBackgroundImage.js +19 -9
  139. package/Libraries/StyleSheet/processBackgroundSize.js +7 -12
  140. package/Libraries/StyleSheet/processBoxShadow.js +9 -47
  141. package/Libraries/StyleSheet/processFilter.js +16 -8
  142. package/Libraries/StyleSheet/processTransformOrigin.js +10 -3
  143. package/Libraries/Text/React-RCTText.podspec +1 -1
  144. package/Libraries/Text/Text.js +4 -4
  145. package/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.mm +16 -2
  146. package/Libraries/Text/TextNativeComponent.js +4 -4
  147. package/Libraries/TurboModule/RCTExport.js +1 -1
  148. package/Libraries/TurboModule/TurboModuleRegistry.js +3 -3
  149. package/Libraries/TypeSafety/RCTTypeSafety.podspec +1 -1
  150. package/Libraries/Types/CodegenTypes.js +7 -4
  151. package/Libraries/Types/ReactDevToolsTypes.js +1 -1
  152. package/Libraries/Utilities/BackHandler.android.js +11 -3
  153. package/Libraries/Utilities/BackHandler.d.ts +11 -1
  154. package/Libraries/Utilities/BackHandler.ios.js +3 -1
  155. package/Libraries/Utilities/BackHandler.js.flow +6 -1
  156. package/Libraries/Utilities/HMRClient.js +28 -1
  157. package/Libraries/Utilities/HardwareBackPressEvent.js +22 -0
  158. package/Libraries/Utilities/PolyfillFunctions.js +1 -1
  159. package/Libraries/Utilities/ReactNativeTestTools.js +4 -4
  160. package/Libraries/Utilities/binaryToBase64.js +1 -1
  161. package/Libraries/Utilities/codegenNativeCommands.js +2 -2
  162. package/Libraries/Utilities/codegenNativeComponent.js +4 -4
  163. package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +2 -2
  164. package/Libraries/Utilities/stringifySafe.js +1 -1
  165. package/Libraries/Vibration/React-RCTVibration.podspec +1 -1
  166. package/Libraries/promiseRejectionTrackingOptions.js +1 -1
  167. package/Libraries/vendor/core/ErrorUtils.js +4 -4
  168. package/Libraries/vendor/emitter/EventEmitter.js +27 -13
  169. package/README.md +11 -11
  170. package/React/Base/RCTBundleURLProvider.h +19 -1
  171. package/React/Base/RCTBundleURLProvider.mm +82 -0
  172. package/React/Base/RCTDefines.h +1 -1
  173. package/React/Base/RCTMultipartDataTask.h +1 -1
  174. package/React/Base/RCTMultipartDataTask.m +0 -3
  175. package/React/Base/RCTRootView.h +4 -0
  176. package/React/Base/RCTRootViewDelegate.h +5 -2
  177. package/React/Base/RCTVersion.m +2 -2
  178. package/React/Base/Surface/RCTSurface.h +3 -0
  179. package/React/Base/Surface/RCTSurfaceDelegate.h +7 -3
  180. package/React/Base/Surface/RCTSurfaceRootView.mm +1 -1
  181. package/React/Base/Surface/RCTSurfaceView.mm +2 -1
  182. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.h +5 -0
  183. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.mm +26 -0
  184. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingView.h +0 -3
  185. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingView.mm +3 -1
  186. package/React/CoreModules/RCTDevLoadingView.mm +17 -0
  187. package/React/CoreModules/RCTDevMenuConfigurationDecorator.h +2 -2
  188. package/React/CoreModules/RCTJscSafeUrl+Internal.h +23 -0
  189. package/React/CoreModules/RCTJscSafeUrl.mm +38 -0
  190. package/React/CoreModules/RCTRedBox+Internal.h +42 -0
  191. package/React/CoreModules/RCTRedBox.mm +30 -454
  192. package/React/CoreModules/RCTRedBox2AnsiParser+Internal.h +22 -0
  193. package/React/CoreModules/RCTRedBox2AnsiParser.mm +55 -0
  194. package/React/CoreModules/RCTRedBox2Controller+Internal.h +34 -0
  195. package/React/CoreModules/RCTRedBox2Controller.mm +764 -0
  196. package/React/CoreModules/RCTRedBox2ErrorParser+Internal.h +46 -0
  197. package/React/CoreModules/RCTRedBox2ErrorParser.mm +57 -0
  198. package/React/CoreModules/RCTRedBoxController+Internal.h +31 -0
  199. package/React/CoreModules/RCTRedBoxController.mm +447 -0
  200. package/React/CoreModules/RCTRedBoxHMRClient+Internal.h +26 -0
  201. package/React/CoreModules/RCTRedBoxHMRClient.mm +125 -0
  202. package/React/CoreModules/RCTWebSocketModule.mm +45 -6
  203. package/React/CoreModules/React-CoreModules.podspec +2 -1
  204. package/React/CxxLogUtils/RCTDefaultCxxLogFunction.mm +0 -1
  205. package/React/DevSupport/RCTFrameTimingsObserver.h +24 -0
  206. package/React/DevSupport/RCTFrameTimingsObserver.mm +298 -0
  207. package/React/DevSupport/RCTInspectorDevServerHelper.mm +4 -0
  208. package/React/DevSupport/RCTPackagerConnection.mm +13 -11
  209. package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +148 -43
  210. package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.h +1 -0
  211. package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.mm +1 -0
  212. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.h +1 -1
  213. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +1 -1
  214. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +3 -3
  215. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +122 -8
  216. package/React/Fabric/RCTConversions.h +14 -0
  217. package/React/Fabric/RCTScheduler.mm +18 -0
  218. package/React/Fabric/RCTSurfacePointerHandler.mm +8 -2
  219. package/React/Fabric/RCTSurfaceTouchHandler.mm +1 -0
  220. package/React/Fabric/Surface/RCTFabricSurface.mm +3 -0
  221. package/React/I18n/strings/pt.lproj/fbt_language_pack.bin +0 -0
  222. package/React/Modules/RCTUIManager.mm +1 -1
  223. package/React/Profiler/RCTProfile.h +5 -0
  224. package/React/Profiler/RCTProfile.m +2 -1
  225. package/React/Profiler/RCTProfileTrampoline-arm.S +1 -1
  226. package/React/Profiler/RCTProfileTrampoline-arm64.S +1 -1
  227. package/React/Profiler/RCTProfileTrampoline-i386.S +1 -1
  228. package/React/Profiler/RCTProfileTrampoline-x86_64.S +1 -1
  229. package/React/React-RCTFBReactNativeSpec.podspec +1 -1
  230. package/React/React-RCTFabric.podspec +1 -1
  231. package/React/Runtime/React-RCTRuntime.podspec +1 -1
  232. package/React/Tests/Mounting/RCTViewComponentViewTests.mm +186 -0
  233. package/React/Tests/Text/RCTAttributedTextUtilsTest.mm +5 -5
  234. package/React/Views/RCTLayout.m +4 -3
  235. package/React/Views/ScrollView/RCTScrollView.h +6 -2
  236. package/React/Views/ScrollView/RCTScrollView.m +1 -1
  237. package/React-Core.podspec +1 -1
  238. package/React.podspec +1 -1
  239. package/ReactAndroid/api/ReactAndroid.api +37 -27
  240. package/ReactAndroid/build.gradle.kts +29 -22
  241. package/ReactAndroid/gradle.properties +1 -1
  242. package/ReactAndroid/hermes-engine/build.gradle.kts +12 -13
  243. package/ReactAndroid/publish.gradle +5 -5
  244. package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/HermesSamplingProfiler.kt +2 -0
  245. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +1 -3
  246. package/ReactAndroid/src/main/java/com/facebook/react/ReactAndroidHWInputDeviceHelper.kt +2 -0
  247. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +45 -114
  248. package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +33 -88
  249. package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.kt +1 -0
  250. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.kt +9 -99
  251. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.kt +7 -28
  252. package/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.kt +2 -19
  253. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaModuleWrapper.kt +15 -23
  254. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +36 -0
  255. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNativeJNISoLoader.kt +2 -0
  256. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNativeJniCommonSoLoader.kt +2 -0
  257. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactSoftExceptionLogger.kt +4 -0
  258. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultSoLoader.kt +2 -0
  259. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/CxxInspectorPackagerConnection.kt +1 -1
  260. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/FpsView.kt +2 -2
  261. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/InspectorFlags.kt +6 -0
  262. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialogSurfaceDelegate.kt +15 -2
  263. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxDialogSurfaceDelegate.kt +1 -0
  264. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/DevSupportHttpClient.kt +9 -34
  265. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/FrameTimingSequence.kt +1 -1
  266. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/FrameTimingsObserver.kt +135 -35
  267. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/InspectorNetworkRequestListener.kt +2 -0
  268. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorOverlayView.kt +10 -10
  269. package/ReactAndroid/src/main/java/com/facebook/react/fabric/AnimationBackendChoreographer.kt +15 -13
  270. package/ReactAndroid/src/main/java/com/facebook/react/fabric/DevToolsReactPerfLogger.kt +4 -1
  271. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +139 -43
  272. package/ReactAndroid/src/main/java/com/facebook/react/fabric/ViewTransitionSnapshotManager.kt +223 -0
  273. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.kt +25 -8
  274. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.kt +34 -1
  275. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.kt +104 -65
  276. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.kt +9 -1
  277. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.kt +211 -47
  278. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.kt +1 -1
  279. package/ReactAndroid/src/main/java/com/facebook/react/interfaces/ExtraWindowEventListener.kt +29 -0
  280. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +71 -29
  281. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +121 -51
  282. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +25 -11
  283. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +26 -12
  284. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +134 -57
  285. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Experimental_Android.kt +7 -3
  286. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Stable_Android.kt +1 -4
  287. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +25 -11
  288. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeNewArchitectureFeatureFlagsDefaults.kt +5 -9
  289. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/rewrite_feature_flag_defaults.py +76 -0
  290. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/tests/test_rewrite_feature_flag_defaults.py +63 -0
  291. package/ReactAndroid/src/main/java/com/facebook/react/internal/tracing/PerformanceTracer.kt +40 -1
  292. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.kt +3 -0
  293. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobModule.kt +10 -5
  294. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobProvider.kt +1 -2
  295. package/ReactAndroid/src/main/java/com/facebook/react/modules/clipboard/ClipboardModule.kt +3 -0
  296. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/DeviceEventManagerModule.kt +2 -1
  297. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.kt +2 -2
  298. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactChoreographer.kt +21 -20
  299. package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/DeviceInfoModule.kt +63 -3
  300. package/ReactAndroid/src/main/java/com/facebook/react/modules/image/ImageLoaderModule.kt +59 -62
  301. package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.kt +1 -1
  302. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkEventUtil.kt +8 -0
  303. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.kt +10 -2
  304. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/RequestBodyUtil.kt +2 -0
  305. package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/StatusBarModule.kt +45 -36
  306. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +2 -2
  307. package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/WebSocketModule.kt +5 -2
  308. package/ReactAndroid/src/main/java/com/facebook/react/runtime/CoreReactPackage.kt +4 -0
  309. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.kt +68 -15
  310. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImplDevHelper.kt +8 -1
  311. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.kt +1 -1
  312. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceView.kt +21 -19
  313. package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.kt +4 -0
  314. package/ReactAndroid/src/main/java/com/facebook/react/soloader/OpenSourceMergedSoMapping.kt +4 -0
  315. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BackgroundStyleApplicator.kt +77 -72
  316. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +8 -17
  317. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BlendModeHelper.kt +3 -2
  318. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/DisplayMetricsHolder.kt +3 -0
  319. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/FilterHelper.kt +3 -1
  320. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +25 -0
  321. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.kt +2 -2
  322. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactRootViewTagGenerator.kt +3 -2
  323. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/RootViewUtil.kt +17 -7
  324. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ThemedReactContext.kt +18 -0
  325. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.kt +20 -12
  326. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TransformHelper.kt +18 -24
  327. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIConstantsProviderBinding.kt +2 -0
  328. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +4 -0
  329. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerHelper.kt +11 -71
  330. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +10 -17
  331. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/ViewUtil.kt +29 -30
  332. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BackgroundImageDrawable.kt +5 -3
  333. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/InsetBoxShadowDrawable.kt +12 -13
  334. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.kt +1 -0
  335. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEvent.kt +1 -0
  336. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTModernEventEmitter.kt +30 -0
  337. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/SynchronousEventReceiver.kt +28 -0
  338. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchesHelper.kt +9 -9
  339. package/ReactAndroid/src/main/java/com/facebook/react/util/AndroidVersion.kt +27 -3
  340. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt +4 -0
  341. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/MaintainVisibleScrollPositionHelper.kt +1 -14
  342. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollContainerViewManager.kt +1 -22
  343. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +18 -20
  344. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactNestedScrollView.java +20 -21
  345. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactNestedScrollViewManager.kt +1 -1
  346. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +19 -20
  347. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.kt +14 -5
  348. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.kt +1 -1
  349. package/ReactAndroid/src/main/java/com/facebook/react/views/text/FontMetricsUtil.kt +2 -3
  350. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +6 -163
  351. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.kt +1 -1
  352. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.kt +71 -97
  353. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/CustomStyleSpan.kt +1 -4
  354. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/DrawCommandSpan.kt +1 -1
  355. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.kt +9 -15
  356. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.kt +42 -4
  357. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextSelectionWatcher.kt +1 -1
  358. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactDrawableHelper.kt +59 -20
  359. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.kt +84 -20
  360. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.kt +41 -65
  361. package/ReactAndroid/src/main/java/com/facebook/react/views/view/WindowUtil.kt +85 -13
  362. package/ReactAndroid/src/main/java/com/facebook/soloader/annotation/SoLoaderLibrary.kt +17 -0
  363. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaAlign.java +5 -1
  364. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfigJNIFinalizer.kt +30 -0
  365. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDisplay.java +3 -1
  366. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaExperimentalFeature.java +3 -1
  367. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaGridTrackType.java +39 -0
  368. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaJustify.java +20 -12
  369. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.java +101 -0
  370. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIFinalizer.kt +33 -0
  371. package/ReactAndroid/src/main/jni/CMakeLists.txt +17 -1
  372. package/ReactAndroid/src/main/jni/react/devsupport/JInspectorFlags.cpp +22 -0
  373. package/ReactAndroid/src/main/jni/react/devsupport/JInspectorFlags.h +2 -0
  374. package/ReactAndroid/src/main/jni/react/fabric/ComponentFactory.cpp +0 -1
  375. package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.cpp +0 -2
  376. package/ReactAndroid/src/main/jni/react/fabric/EventEmitterWrapper.cpp +26 -6
  377. package/ReactAndroid/src/main/jni/react/fabric/EventEmitterWrapper.h +3 -3
  378. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.cpp +47 -0
  379. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.h +20 -6
  380. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.cpp +24 -1
  381. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.h +6 -0
  382. package/ReactAndroid/src/main/jni/react/fabric/FocusOrderingHelper.cpp +0 -1
  383. package/ReactAndroid/src/main/jni/react/fabric/SurfaceHandlerBinding.cpp +1 -0
  384. package/ReactAndroid/src/main/jni/react/fabric/test_helper/FabricMountingManagerTestHelper.cpp +85 -0
  385. package/ReactAndroid/src/main/jni/react/fabric/test_helper/FabricMountingManagerTestHelper.h +46 -0
  386. package/ReactAndroid/src/main/jni/react/fabric/test_helper/OnLoad.cpp +16 -0
  387. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +167 -69
  388. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +36 -15
  389. package/ReactAndroid/src/main/jni/react/hermes/instrumentation/HermesSamplingProfiler.cpp +1 -1
  390. package/ReactAndroid/src/main/jni/react/jni/OnLoad-common.cpp +0 -2
  391. package/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp +2 -1
  392. package/ReactAndroid/src/main/jni/react/reactnativeblob/BlobCollector.cpp +37 -30
  393. package/ReactAndroid/src/main/jni/react/reactnativeblob/BlobCollector.h +11 -8
  394. package/ReactAndroid/src/main/jni/react/reactnativeblob/CMakeLists.txt +2 -1
  395. package/ReactAndroid/src/main/jni/react/reactnativeblob/OnLoad.cpp +1 -1
  396. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.cpp +24 -0
  397. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.h +25 -4
  398. package/ReactAndroid/src/main/jni/react/tracing/CMakeLists.txt +28 -0
  399. package/ReactApple/Libraries/RCTFoundation/RCTDeprecation/RCTDeprecation.podspec +1 -1
  400. package/ReactApple/RCTSwiftUI/RCTSwiftUI.podspec +1 -1
  401. package/ReactApple/RCTSwiftUIWrapper/RCTSwiftUIWrapper.podspec +1 -1
  402. package/ReactCommon/React-Fabric.podspec +14 -1
  403. package/ReactCommon/React-FabricComponents.podspec +2 -2
  404. package/ReactCommon/React-FabricImage.podspec +1 -1
  405. package/ReactCommon/React-Mapbuffer.podspec +1 -1
  406. package/ReactCommon/ReactCommon.podspec +1 -1
  407. package/ReactCommon/callinvoker/React-callinvoker.podspec +1 -1
  408. package/ReactCommon/cxxreact/React-cxxreact.podspec +1 -1
  409. package/ReactCommon/cxxreact/ReactNativeVersion.h +4 -4
  410. package/ReactCommon/hermes/React-hermes.podspec +1 -1
  411. package/ReactCommon/hermes/executor/React-jsitracing.podspec +1 -1
  412. package/ReactCommon/jsc/JSCRuntime.cpp +9 -0
  413. package/ReactCommon/jserrorhandler/JsErrorHandler.cpp +1 -0
  414. package/ReactCommon/jserrorhandler/JsErrorHandler.h +1 -1
  415. package/ReactCommon/jserrorhandler/React-jserrorhandler.podspec +1 -1
  416. package/ReactCommon/jsi/React-jsi.podspec +1 -1
  417. package/ReactCommon/jsi/jsi/JSIDynamic.cpp +1 -0
  418. package/ReactCommon/jsi/jsi/decorator.h +93 -0
  419. package/ReactCommon/jsi/jsi/jsi-inl.h +97 -68
  420. package/ReactCommon/jsi/jsi/jsi.cpp +208 -27
  421. package/ReactCommon/jsi/jsi/jsi.h +553 -224
  422. package/ReactCommon/jsi/jsi/test/testlib.cpp +453 -0
  423. package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +1 -1
  424. package/ReactCommon/jsiexecutor/jsireact/JSINativeModules.cpp +1 -1
  425. package/ReactCommon/jsinspector-modern/EmulationAgent.cpp +108 -0
  426. package/ReactCommon/jsinspector-modern/EmulationAgent.h +47 -0
  427. package/ReactCommon/jsinspector-modern/HostAgent.cpp +46 -1
  428. package/ReactCommon/jsinspector-modern/HostTarget.cpp +7 -1
  429. package/ReactCommon/jsinspector-modern/HostTarget.h +50 -0
  430. package/ReactCommon/jsinspector-modern/HostTargetTracing.cpp +1 -1
  431. package/ReactCommon/jsinspector-modern/HostTargetTracing.h +4 -4
  432. package/ReactCommon/jsinspector-modern/InspectorFlags.cpp +18 -2
  433. package/ReactCommon/jsinspector-modern/InspectorFlags.h +17 -2
  434. package/ReactCommon/jsinspector-modern/InspectorPackagerConnection.cpp +19 -2
  435. package/ReactCommon/jsinspector-modern/InspectorPackagerConnectionImpl.h +3 -0
  436. package/ReactCommon/jsinspector-modern/NetworkIOAgent.cpp +1 -1
  437. package/ReactCommon/jsinspector-modern/React-jsinspector.podspec +1 -1
  438. package/ReactCommon/jsinspector-modern/RuntimeAgent.cpp +19 -0
  439. package/ReactCommon/jsinspector-modern/RuntimeAgent.h +7 -0
  440. package/ReactCommon/jsinspector-modern/RuntimeTarget.cpp +33 -0
  441. package/ReactCommon/jsinspector-modern/RuntimeTarget.h +6 -0
  442. package/ReactCommon/jsinspector-modern/TracingAgent.cpp +10 -0
  443. package/ReactCommon/jsinspector-modern/cdp/React-jsinspectorcdp.podspec +1 -1
  444. package/ReactCommon/jsinspector-modern/network/React-jsinspectornetwork.podspec +1 -1
  445. package/ReactCommon/jsinspector-modern/tests/HostTargetTest.cpp +12 -0
  446. package/ReactCommon/jsinspector-modern/tests/InspectorMocks.h +3 -2
  447. package/ReactCommon/jsinspector-modern/tests/JsiIntegrationTest.cpp +1 -0
  448. package/ReactCommon/jsinspector-modern/tests/NetworkReporterTest.cpp +1 -1
  449. package/ReactCommon/jsinspector-modern/tests/TracingTest.cpp +1 -1
  450. package/ReactCommon/jsinspector-modern/tests/utils/InspectorFlagOverridesGuard.cpp +10 -0
  451. package/ReactCommon/jsinspector-modern/tests/utils/InspectorFlagOverridesGuard.h +3 -1
  452. package/ReactCommon/jsinspector-modern/tracing/CMakeLists.txt +1 -0
  453. package/ReactCommon/jsinspector-modern/tracing/FrameTimingSequence.h +7 -3
  454. package/ReactCommon/jsinspector-modern/tracing/HostTracingProfileSerializer.cpp +52 -29
  455. package/ReactCommon/jsinspector-modern/tracing/HostTracingProfileSerializer.h +6 -6
  456. package/ReactCommon/jsinspector-modern/tracing/PerformanceTracerSection.h +113 -0
  457. package/ReactCommon/jsinspector-modern/tracing/React-jsinspectortracing.podspec +2 -1
  458. package/ReactCommon/jsinspector-modern/tracing/TraceEventGenerator.cpp +12 -5
  459. package/ReactCommon/jsinspector-modern/tracing/TraceEventGenerator.h +3 -1
  460. package/ReactCommon/jsinspector-modern/tracing/TraceEventSerializer.cpp +42 -0
  461. package/ReactCommon/jsinspector-modern/tracing/TraceEventSerializer.h +7 -0
  462. package/ReactCommon/jsinspector-modern/tracing/TracingCategory.h +0 -1
  463. package/ReactCommon/jsitooling/React-jsitooling.podspec +1 -1
  464. package/ReactCommon/logger/React-logger.podspec +1 -1
  465. package/ReactCommon/logger/react_native_log.cpp +0 -1
  466. package/ReactCommon/oscompat/React-oscompat.podspec +1 -1
  467. package/ReactCommon/react/bridging/Array.h +1 -1
  468. package/ReactCommon/react/debug/CMakeLists.txt +2 -1
  469. package/ReactCommon/react/debug/React-debug.podspec +8 -2
  470. package/ReactCommon/react/debug/redbox/AnsiParser.cpp +139 -0
  471. package/ReactCommon/react/debug/redbox/AnsiParser.h +35 -0
  472. package/ReactCommon/react/debug/redbox/JscSafeUrl.cpp +179 -0
  473. package/ReactCommon/react/debug/redbox/JscSafeUrl.h +27 -0
  474. package/ReactCommon/react/debug/redbox/RedBoxErrorParser.cpp +171 -0
  475. package/ReactCommon/react/debug/redbox/RedBoxErrorParser.h +40 -0
  476. package/ReactCommon/react/debug/redbox/tests/AnsiParserTest.cpp +97 -0
  477. package/ReactCommon/react/debug/redbox/tests/JscSafeUrlTest.cpp +173 -0
  478. package/ReactCommon/react/debug/redbox/tests/RedBoxErrorParserTest.cpp +107 -0
  479. package/ReactCommon/react/featureflags/React-featureflags.podspec +1 -1
  480. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +49 -21
  481. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +60 -25
  482. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +267 -141
  483. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +28 -14
  484. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +48 -20
  485. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +106 -43
  486. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSExperimental.h +11 -3
  487. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +14 -7
  488. package/ReactCommon/react/featureflags/rewrite_feature_flag_defaults.py +111 -0
  489. package/ReactCommon/react/featureflags/tests/test_rewrite_feature_flag_defaults.py +60 -0
  490. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +1 -1
  491. package/ReactCommon/react/nativemodule/core/platform/ios/React-NativeModulesApple.podspec +1 -1
  492. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.h +3 -9
  493. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.mm +1 -1
  494. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +1 -2
  495. package/ReactCommon/react/nativemodule/defaults/CMakeLists.txt +2 -0
  496. package/ReactCommon/react/nativemodule/defaults/DefaultTurboModules.cpp +14 -0
  497. package/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec +3 -1
  498. package/ReactCommon/react/nativemodule/dom/React-domnativemodule.podspec +1 -1
  499. package/ReactCommon/react/nativemodule/fantomtestspecificmethods/NativeFantomTestSpecificMethods.cpp +2 -2
  500. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +60 -25
  501. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +25 -11
  502. package/ReactCommon/react/nativemodule/featureflags/React-featureflagsnativemodule.podspec +1 -1
  503. package/ReactCommon/react/nativemodule/idlecallbacks/React-idlecallbacksnativemodule.podspec +1 -1
  504. package/ReactCommon/react/nativemodule/intersectionobserver/React-intersectionobservernativemodule.podspec +1 -1
  505. package/ReactCommon/react/nativemodule/microtasks/React-microtasksnativemodule.podspec +1 -1
  506. package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.cpp +3 -2
  507. package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.h +4 -0
  508. package/ReactCommon/react/nativemodule/mutationobserver/React-mutationobservernativemodule.podspec +66 -0
  509. package/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec +1 -1
  510. package/ReactCommon/react/nativemodule/viewtransition/CMakeLists.txt +24 -0
  511. package/ReactCommon/react/nativemodule/viewtransition/NativeViewTransition.cpp +92 -0
  512. package/ReactCommon/react/nativemodule/viewtransition/NativeViewTransition.h +37 -0
  513. package/ReactCommon/react/nativemodule/viewtransition/React-viewtransitionnativemodule.podspec +58 -0
  514. package/ReactCommon/react/nativemodule/webperformance/NativePerformance.cpp +10 -1
  515. package/ReactCommon/react/nativemodule/webperformance/React-webperformancenativemodule.podspec +1 -1
  516. package/ReactCommon/react/networking/NetworkReporter.h +0 -1
  517. package/ReactCommon/react/networking/React-networking.podspec +1 -1
  518. package/ReactCommon/react/performance/cdpmetrics/CdpPerfIssuesReporter.h +0 -1
  519. package/ReactCommon/react/performance/cdpmetrics/React-performancecdpmetrics.podspec +1 -1
  520. package/ReactCommon/react/performance/timeline/PerformanceEntry.h +1 -1
  521. package/ReactCommon/react/performance/timeline/PerformanceObserver.cpp +18 -6
  522. package/ReactCommon/react/performance/timeline/PerformanceObserver.h +2 -0
  523. package/ReactCommon/react/performance/timeline/React-performancetimeline.podspec +1 -1
  524. package/ReactCommon/react/performance/timeline/tests/PerformanceEntryTest.cpp +62 -0
  525. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.cpp +28 -13
  526. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.h +1 -1
  527. package/ReactCommon/react/renderer/animated/internal/primitives.h +1 -1
  528. package/ReactCommon/react/renderer/animationbackend/AnimatedPropSerializer.cpp +3 -0
  529. package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.cpp +10 -3
  530. package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.h +1 -0
  531. package/ReactCommon/react/renderer/animationbackend/AnimationBackend.cpp +62 -25
  532. package/ReactCommon/react/renderer/animationbackend/AnimationBackend.h +10 -1
  533. package/ReactCommon/react/renderer/animationbackend/AnimationBackendCommitHook.h +0 -1
  534. package/ReactCommon/react/renderer/animationbackend/AnimationChoreographer.h +5 -0
  535. package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.cpp +8 -3
  536. package/ReactCommon/react/renderer/animations/tests/MutationComparatorTest.cpp +273 -0
  537. package/ReactCommon/react/renderer/animations/utils.h +12 -1
  538. package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +1 -1
  539. package/ReactCommon/react/renderer/attributedstring/conversions.h +104 -3
  540. package/ReactCommon/react/renderer/components/image/conversions.h +2 -3
  541. package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.h +0 -1
  542. package/ReactCommon/react/renderer/components/scrollview/conversions.h +0 -1
  543. package/ReactCommon/react/renderer/components/text/stateConversions.h +0 -1
  544. package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +531 -21
  545. package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +9 -0
  546. package/ReactCommon/react/renderer/components/view/BaseTouch.cpp +3 -2
  547. package/ReactCommon/react/renderer/components/view/BaseTouch.h +7 -0
  548. package/ReactCommon/react/renderer/components/view/BaseViewProps.cpp +8 -0
  549. package/ReactCommon/react/renderer/components/view/PointerEvent.cpp +2 -0
  550. package/ReactCommon/react/renderer/components/view/PointerEvent.h +5 -0
  551. package/ReactCommon/react/renderer/components/view/TouchEvent.h +0 -2
  552. package/ReactCommon/react/renderer/components/view/TouchEventEmitter.cpp +23 -5
  553. package/ReactCommon/react/renderer/components/view/TouchEventEmitter.h +1 -0
  554. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +5 -0
  555. package/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +33 -28
  556. package/ReactCommon/react/renderer/components/view/accessibilityPropsConversions.h +0 -1
  557. package/ReactCommon/react/renderer/components/view/conversions.h +44 -28
  558. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.cpp +52 -5
  559. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/NativeDrawable.h +47 -16
  560. package/ReactCommon/react/renderer/components/view/platform/cxx/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +2 -2
  561. package/ReactCommon/react/renderer/{graphics/DoubleConversions.h → components/view/platform/tvos/react/renderer/components/view/HostPlatformTouch.h} +2 -4
  562. package/ReactCommon/react/renderer/components/view/platform/tvos/react/renderer/components/view/HostPlatformViewEventEmitter.h +14 -0
  563. package/ReactCommon/react/renderer/components/view/platform/tvos/react/renderer/components/view/HostPlatformViewProps.cpp +38 -0
  564. package/ReactCommon/react/renderer/components/view/platform/tvos/react/renderer/components/view/HostPlatformViewProps.h +29 -0
  565. package/ReactCommon/react/renderer/components/view/platform/tvos/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +30 -0
  566. package/ReactCommon/react/renderer/components/view/propsConversions.h +8 -2
  567. package/ReactCommon/react/renderer/components/view/tests/ConversionsTest.cpp +86 -0
  568. package/ReactCommon/react/renderer/components/view/tests/ViewTest.cpp +34 -0
  569. package/ReactCommon/react/renderer/consistency/React-rendererconsistency.podspec +1 -1
  570. package/ReactCommon/react/renderer/core/EventEmitter.cpp +67 -2
  571. package/ReactCommon/react/renderer/core/EventEmitter.h +25 -0
  572. package/ReactCommon/react/renderer/core/EventPipe.h +3 -1
  573. package/ReactCommon/react/renderer/core/EventQueueProcessor.cpp +18 -10
  574. package/ReactCommon/react/renderer/core/EventTarget.cpp +8 -5
  575. package/ReactCommon/react/renderer/core/LayoutContext.h +9 -2
  576. package/ReactCommon/react/renderer/core/LayoutMetrics.cpp +5 -3
  577. package/ReactCommon/react/renderer/core/LayoutPrimitives.h +1 -0
  578. package/ReactCommon/react/renderer/core/Props.cpp +20 -0
  579. package/ReactCommon/react/renderer/core/RawEvent.cpp +4 -2
  580. package/ReactCommon/react/renderer/core/RawEvent.h +6 -6
  581. package/ReactCommon/react/renderer/core/ShadowNode.cpp +27 -19
  582. package/ReactCommon/react/renderer/core/ShadowNode.h +2 -2
  583. package/ReactCommon/react/renderer/core/ShadowNodeFamily.h +2 -0
  584. package/ReactCommon/react/renderer/core/conversions.h +4 -0
  585. package/ReactCommon/react/renderer/core/graphicsConversions.h +4 -4
  586. package/ReactCommon/react/renderer/core/propsConversions.h +1 -1
  587. package/ReactCommon/react/renderer/core/tests/EventQueueProcessorTest.cpp +52 -3
  588. package/ReactCommon/react/renderer/core/tests/EventTargetTests.cpp +26 -0
  589. package/ReactCommon/react/renderer/css/React-renderercss.podspec +1 -1
  590. package/ReactCommon/react/renderer/css/tests/CSSValueParserTest.cpp +1 -1
  591. package/ReactCommon/react/renderer/debug/DebugStringConvertible.cpp +42 -26
  592. package/ReactCommon/react/renderer/debug/DebugStringConvertible.h +4 -2
  593. package/ReactCommon/react/renderer/debug/React-rendererdebug.podspec +1 -1
  594. package/ReactCommon/react/renderer/debug/tests/DebugStringConvertibleTest.cpp +34 -3
  595. package/ReactCommon/react/renderer/graphics/BlendMode.h +5 -0
  596. package/ReactCommon/react/renderer/graphics/CMakeLists.txt +1 -0
  597. package/ReactCommon/react/renderer/graphics/ColorStop.h +3 -0
  598. package/ReactCommon/react/renderer/graphics/LinearGradient.h +3 -0
  599. package/ReactCommon/react/renderer/graphics/RadialGradient.h +4 -0
  600. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +2 -1
  601. package/ReactCommon/react/renderer/graphics/ValueUnit.cpp +1 -1
  602. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageFetcher.cpp +0 -5
  603. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageManager.cpp +2 -2
  604. package/ReactCommon/react/renderer/imagemanager/platform/ios/React-ImageManager.podspec +1 -1
  605. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTImagePrimitivesConversions.h +0 -4
  606. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTSyncImageManager.mm +5 -1
  607. package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.cpp +12 -4
  608. package/ReactCommon/react/renderer/mounting/CMakeLists.txt +1 -0
  609. package/ReactCommon/react/renderer/mounting/Differentiator.cpp +307 -4
  610. package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +27 -2
  611. package/ReactCommon/react/renderer/mounting/internal/CullingContext.cpp +1 -1
  612. package/ReactCommon/react/renderer/mounting/internal/LongestIncreasingSubsequence.h +95 -0
  613. package/ReactCommon/react/renderer/mounting/tests/DifferentiatorUnflattenTest.cpp +212 -0
  614. package/ReactCommon/react/renderer/mounting/tests/LongestIncreasingSubsequenceTest.cpp +154 -0
  615. package/ReactCommon/react/renderer/mounting/tests/ShadowTreeLifeCycleTest.cpp +314 -18
  616. package/ReactCommon/react/renderer/mounting/updateMountedFlag.cpp +38 -20
  617. package/ReactCommon/react/renderer/runtimescheduler/React-runtimescheduler.podspec +1 -1
  618. package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +20 -22
  619. package/ReactCommon/react/renderer/scheduler/CMakeLists.txt +1 -0
  620. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +76 -3
  621. package/ReactCommon/react/renderer/scheduler/Scheduler.h +12 -0
  622. package/ReactCommon/react/renderer/scheduler/SchedulerDelegate.h +5 -0
  623. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +0 -7
  624. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +2 -1
  625. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +74 -54
  626. package/ReactCommon/react/renderer/uimanager/UIManager.h +8 -0
  627. package/ReactCommon/react/renderer/uimanager/UIManagerAnimationBackend.h +2 -0
  628. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +347 -5
  629. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.h +5 -3
  630. package/ReactCommon/react/renderer/uimanager/UIManagerDelegate.h +5 -0
  631. package/ReactCommon/react/renderer/uimanager/UIManagerViewTransitionDelegate.h +82 -0
  632. package/ReactCommon/react/renderer/uimanager/tests/FabricUIManagerTest.cpp +144 -3
  633. package/ReactCommon/react/renderer/viewtransition/CMakeLists.txt +22 -0
  634. package/ReactCommon/react/renderer/viewtransition/ViewTransitionModule.cpp +520 -0
  635. package/ReactCommon/react/renderer/viewtransition/ViewTransitionModule.h +161 -0
  636. package/ReactCommon/react/runtime/React-RuntimeCore.podspec +1 -1
  637. package/ReactCommon/react/runtime/React-RuntimeHermes.podspec +1 -1
  638. package/ReactCommon/react/runtime/TimerManager.cpp +4 -2
  639. package/ReactCommon/react/runtime/platform/ios/React-RuntimeApple.podspec +1 -1
  640. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.mm +152 -0
  641. package/ReactCommon/react/timing/PrivacyInfo.xcprivacy +21 -0
  642. package/ReactCommon/react/timing/React-timing.podspec +3 -1
  643. package/ReactCommon/react/timing/primitives.h +33 -1
  644. package/ReactCommon/{jsinspector-modern → react/utils}/Base64.h +2 -2
  645. package/ReactCommon/react/utils/React-utils.podspec +1 -1
  646. package/ReactCommon/reactperflogger/React-perflogger.podspec +1 -1
  647. package/ReactCommon/runtimeexecutor/React-runtimeexecutor.podspec +1 -1
  648. package/ReactCommon/yoga/Yoga.podspec +1 -1
  649. package/ReactCommon/yoga/yoga/YGEnums.cpp +32 -0
  650. package/ReactCommon/yoga/yoga/YGEnums.h +20 -4
  651. package/ReactCommon/yoga/yoga/YGMacros.h +2 -0
  652. package/ReactCommon/yoga/yoga/YGNode.h +1 -1
  653. package/ReactCommon/yoga/yoga/YGNodeStyle.cpp +269 -0
  654. package/ReactCommon/yoga/yoga/YGNodeStyle.h +93 -1
  655. package/ReactCommon/yoga/yoga/algorithm/AbsoluteLayout.cpp +41 -9
  656. package/ReactCommon/yoga/yoga/algorithm/Align.h +12 -1
  657. package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.cpp +116 -20
  658. package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.h +22 -0
  659. package/ReactCommon/yoga/yoga/enums/Align.h +3 -1
  660. package/ReactCommon/yoga/yoga/enums/Display.h +2 -1
  661. package/ReactCommon/yoga/yoga/enums/ExperimentalFeature.h +2 -1
  662. package/ReactCommon/yoga/yoga/enums/GridTrackType.h +43 -0
  663. package/ReactCommon/yoga/yoga/enums/Justify.h +5 -1
  664. package/ReactCommon/yoga/yoga/event/event.cpp +2 -0
  665. package/ReactCommon/yoga/yoga/event/event.h +1 -0
  666. package/ReactCommon/yoga/yoga/node/Node.cpp +6 -1
  667. package/ReactCommon/yoga/yoga/node/Node.h +4 -4
  668. package/ReactCommon/yoga/yoga/style/GridLine.h +53 -0
  669. package/ReactCommon/yoga/yoga/style/GridTrack.h +63 -0
  670. package/ReactCommon/yoga/yoga/style/Style.h +261 -71
  671. package/ReactCommon/yoga/yoga/style/StyleSizeLength.h +7 -1
  672. package/ReactCommon/yoga/yoga/style/StyleValueHandle.h +8 -0
  673. package/ReactCommon/yoga/yoga/style/StyleValuePool.h +10 -0
  674. package/changes.json +13 -13
  675. package/cli.js +1 -1
  676. package/flow/HermesInternalType.js +1 -1
  677. package/flow/bom.js.flow +95 -3
  678. package/flow/dom.js.flow +89 -89
  679. package/gradle/libs.versions.toml +3 -1
  680. package/index.js +30 -3
  681. package/index.js.flow +23 -1
  682. package/package.json +35 -35
  683. package/react-native.config.js +3 -3
  684. package/scripts/cocoapods/rncore.rb +65 -11
  685. package/scripts/cocoapods/rndependencies.rb +65 -11
  686. package/scripts/cocoapods/spm.rb +1 -1
  687. package/scripts/cocoapods/utils.rb +55 -2
  688. package/scripts/codegen/generate-artifacts-executor/generateAppDependencyProvider.js +4 -4
  689. package/scripts/codegen/generate-artifacts-executor/generateCustomURLHandlers.js +4 -4
  690. package/scripts/codegen/generate-artifacts-executor/generateNativeCode.js +15 -7
  691. package/scripts/codegen/generate-artifacts-executor/generatePackageSwift.js +2 -2
  692. package/scripts/codegen/generate-artifacts-executor/generateRCTModuleProviders.js +4 -3
  693. package/scripts/codegen/generate-artifacts-executor/generateRCTThirdPartyComponents.js +4 -3
  694. package/scripts/codegen/generate-artifacts-executor/generateReactCodegenPodspec.js +19 -8
  695. package/scripts/codegen/generate-artifacts-executor/generateSchemaInfos.js +1 -1
  696. package/scripts/codegen/generate-artifacts-executor/generateUnstableModulesRequiringMainQueueSetupProvider.js +4 -4
  697. package/scripts/codegen/generate-artifacts-executor/index.js +2 -0
  698. package/scripts/codegen/generate-artifacts-executor/utils.js +49 -1
  699. package/scripts/codegen/generate-specs-cli-executor.js +1 -1
  700. package/scripts/codegen/templates/ReactAppDependencyProvider.podspec.template +1 -1
  701. package/scripts/codegen/templates/ReactCodegen.podspec.template +1 -1
  702. package/scripts/generate-codegen-artifacts.js +20 -2
  703. package/scripts/generate-provider-cli.js +1 -1
  704. package/scripts/ios-configure-glog.sh +1 -1
  705. package/scripts/react_native_pods.rb +26 -2
  706. package/scripts/react_native_pods_utils/script_phases.rb +9 -3
  707. package/scripts/replace-rncore-version.js +91 -14
  708. package/scripts/xcode/with-environment.sh +7 -1
  709. package/sdks/.hermesv1version +1 -1
  710. package/sdks/.hermesversion +1 -1
  711. package/sdks/hermes-engine/hermes-engine.podspec +1 -1
  712. package/sdks/hermes-engine/hermes-utils.rb +92 -5
  713. package/sdks/hermes-engine/version.properties +2 -2
  714. package/src/private/animated/NativeAnimatedValidation.js +1 -1
  715. package/src/private/animated/createAnimatedPropsHook.js +2 -2
  716. package/src/private/components/virtualcollection/FlingConstants.js +21 -0
  717. package/src/private/components/virtualcollection/Virtual.js +62 -0
  718. package/src/private/components/virtualcollection/VirtualCollectionView.js +238 -0
  719. package/src/private/components/virtualcollection/column/VirtualColumn.js +43 -0
  720. package/src/private/components/virtualcollection/column/VirtualColumnGenerator.js +72 -0
  721. package/src/private/components/virtualcollection/debug/FlingItemOverlay.js +13 -0
  722. package/src/private/components/virtualcollection/dom/getScrollParent.js +43 -0
  723. package/src/private/components/virtualcollection/dom/isScrollableNode.js +22 -0
  724. package/src/private/components/virtualcollection/row/VirtualRow.js +43 -0
  725. package/src/private/components/virtualcollection/row/VirtualRowGenerator.js +72 -0
  726. package/src/private/devsupport/devmenu/elementinspector/getInspectorDataForViewAtPoint.js +2 -2
  727. package/src/private/devsupport/devmenu/elementinspector/useExternalInspection.js +1 -1
  728. package/src/private/devsupport/devmenu/specs/NativeDevMenu.js +1 -1
  729. package/src/private/devsupport/rndevtools/specs/NativeReactDevToolsRuntimeSettingsModule.js +2 -2
  730. package/src/private/devsupport/rndevtools/specs/NativeReactDevToolsSettingsManager.js +2 -2
  731. package/src/private/featureflags/ReactNativeFeatureFlags.js +66 -37
  732. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +3 -3
  733. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +14 -7
  734. package/src/private/renderer/errorhandling/ErrorHandlers.js +3 -3
  735. package/src/private/renderer/events/LegacySyntheticEvent.js +90 -0
  736. package/src/private/renderer/events/ReactNativeEventTypeMapping.js +103 -0
  737. package/src/private/renderer/events/ReactNativeResponder.js +687 -0
  738. package/src/private/renderer/events/ResponderEvent.js +40 -0
  739. package/src/private/renderer/events/ResponderTouchHistoryStore.js +258 -0
  740. package/src/private/renderer/events/dispatchNativeEvent.js +83 -0
  741. package/src/private/setup/setUpDOM.js +20 -0
  742. package/src/private/setup/setUpDefaultReactNativeEnvironment.js +6 -0
  743. package/src/private/specs_DEPRECATED/components/ActivityIndicatorViewNativeComponent.js +2 -2
  744. package/src/private/specs_DEPRECATED/components/AndroidDrawerLayoutNativeComponent.js +2 -2
  745. package/src/private/specs_DEPRECATED/components/AndroidHorizontalScrollContentViewNativeComponent.js +2 -2
  746. package/src/private/specs_DEPRECATED/components/AndroidSwipeRefreshLayoutNativeComponent.js +2 -2
  747. package/src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent.js +2 -2
  748. package/src/private/specs_DEPRECATED/components/DebuggingOverlayNativeComponent.js +2 -2
  749. package/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.js +2 -2
  750. package/src/private/specs_DEPRECATED/components/PullToRefreshViewNativeComponent.js +2 -2
  751. package/src/private/specs_DEPRECATED/components/RCTInputAccessoryViewNativeComponent.js +2 -2
  752. package/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js +2 -2
  753. package/src/private/specs_DEPRECATED/components/RCTSafeAreaViewNativeComponent.js +2 -2
  754. package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +2 -2
  755. package/src/private/specs_DEPRECATED/components/UnimplementedNativeViewNativeComponent.js +2 -2
  756. package/src/private/specs_DEPRECATED/modules/NativeAccessibilityInfo.js +1 -1
  757. package/src/private/specs_DEPRECATED/modules/NativeAccessibilityManager.js +1 -1
  758. package/src/private/specs_DEPRECATED/modules/NativeActionSheetManager.js +1 -1
  759. package/src/private/specs_DEPRECATED/modules/NativeAlertManager.js +1 -1
  760. package/src/private/specs_DEPRECATED/modules/NativeAppState.js +1 -1
  761. package/src/private/specs_DEPRECATED/modules/NativeAppearance.js +1 -1
  762. package/src/private/specs_DEPRECATED/modules/NativeBlobModule.js +1 -1
  763. package/src/private/specs_DEPRECATED/modules/NativeClipboard.js +1 -1
  764. package/src/private/specs_DEPRECATED/modules/NativeDevLoadingView.js +1 -1
  765. package/src/private/specs_DEPRECATED/modules/NativeDevSettings.js +1 -1
  766. package/src/private/specs_DEPRECATED/modules/NativeDeviceEventManager.js +1 -1
  767. package/src/private/specs_DEPRECATED/modules/NativeDialogManagerAndroid.js +1 -1
  768. package/src/private/specs_DEPRECATED/modules/NativeFileReaderModule.js +2 -2
  769. package/src/private/specs_DEPRECATED/modules/NativeFrameRateLogger.js +1 -1
  770. package/src/private/specs_DEPRECATED/modules/NativeHeadlessJsTaskSupport.js +1 -1
  771. package/src/private/specs_DEPRECATED/modules/NativeI18nManager.js +1 -1
  772. package/src/private/specs_DEPRECATED/modules/NativeImageEditor.js +2 -2
  773. package/src/private/specs_DEPRECATED/modules/NativeImageLoaderAndroid.js +1 -1
  774. package/src/private/specs_DEPRECATED/modules/NativeImageLoaderIOS.js +1 -1
  775. package/src/private/specs_DEPRECATED/modules/NativeImageStoreAndroid.js +2 -2
  776. package/src/private/specs_DEPRECATED/modules/NativeImageStoreIOS.js +2 -2
  777. package/src/private/specs_DEPRECATED/modules/NativeIntentAndroid.js +1 -1
  778. package/src/private/specs_DEPRECATED/modules/NativeJSCHeapCapture.js +1 -1
  779. package/src/private/specs_DEPRECATED/modules/NativeKeyboardObserver.js +1 -1
  780. package/src/private/specs_DEPRECATED/modules/NativeLinkingManager.js +1 -1
  781. package/src/private/specs_DEPRECATED/modules/NativeLogBox.js +1 -1
  782. package/src/private/specs_DEPRECATED/modules/NativeModalManager.js +1 -1
  783. package/src/private/specs_DEPRECATED/modules/NativeNetworkingAndroid.js +1 -1
  784. package/src/private/specs_DEPRECATED/modules/NativeNetworkingIOS.js +1 -1
  785. package/src/private/specs_DEPRECATED/modules/NativePermissionsAndroid.js +1 -1
  786. package/src/private/specs_DEPRECATED/modules/NativePlatformConstantsAndroid.js +2 -2
  787. package/src/private/specs_DEPRECATED/modules/NativePlatformConstantsIOS.js +2 -2
  788. package/src/private/specs_DEPRECATED/modules/NativePushNotificationManagerIOS.js +2 -2
  789. package/src/private/specs_DEPRECATED/modules/NativeRedBox.js +1 -1
  790. package/src/private/specs_DEPRECATED/modules/NativeSampleTurboModule.js +2 -2
  791. package/src/private/specs_DEPRECATED/modules/NativeSegmentFetcher.js +1 -1
  792. package/src/private/specs_DEPRECATED/modules/NativeSettingsManager.js +2 -2
  793. package/src/private/specs_DEPRECATED/modules/NativeShareModule.js +1 -1
  794. package/src/private/specs_DEPRECATED/modules/NativeSoundManager.js +1 -1
  795. package/src/private/specs_DEPRECATED/modules/NativeTiming.js +1 -1
  796. package/src/private/specs_DEPRECATED/modules/NativeToastAndroid.js +1 -1
  797. package/src/private/specs_DEPRECATED/modules/NativeUIManager.js +1 -1
  798. package/src/private/specs_DEPRECATED/modules/NativeVibration.js +1 -1
  799. package/src/private/specs_DEPRECATED/modules/NativeWebSocketModule.js +2 -2
  800. package/src/private/styles/composeStyles.js +1 -1
  801. package/src/private/types/HostComponent.js +1 -1
  802. package/src/private/types/HostInstance.js +1 -1
  803. package/src/private/utilities/toExtendedError.js +1 -1
  804. package/src/private/viewtransition/specs/NativeViewTransition.js +33 -0
  805. package/src/private/webapis/dom/events/Event.js +10 -1
  806. package/src/private/webapis/dom/events/EventTarget.js +60 -18
  807. package/src/private/webapis/dom/events/internals/EventInternals.js +18 -1
  808. package/src/private/webapis/dom/events/internals/EventTargetInternals.js +12 -0
  809. package/src/private/webapis/dom/nodes/ReactNativeElement.js +24 -0
  810. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +4 -6
  811. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +70 -1
  812. package/src/private/webapis/dom/nodes/internals/NodeInternals.js +10 -0
  813. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +1 -1
  814. package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +2 -2
  815. package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +5 -9
  816. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +2 -2
  817. package/src/private/webapis/microtasks/specs/NativeMicrotasks.js +2 -2
  818. package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +2 -2
  819. package/src/private/webapis/performance/internals/RawPerformanceEntry.js +1 -1
  820. package/src/private/webapis/performance/specs/NativePerformance.js +1 -1
  821. package/src/private/webapis/structuredClone/structuredClone.js +1 -1
  822. package/src/private/webapis/webidl/PlatformObjects.js +4 -4
  823. package/src/types/globals.d.ts +2 -2
  824. package/third-party-podspecs/RCT-Folly.podspec +1 -1
  825. package/third-party-podspecs/ReactNativeDependencies.podspec +1 -1
  826. package/third-party-podspecs/glog.podspec +1 -1
  827. package/types/public/ReactNativeTypes.d.ts +2 -2
  828. package/types_generated/Libraries/Animated/components/AnimatedScrollView.d.ts +2 -2
  829. package/types_generated/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +5 -1
  830. package/types_generated/Libraries/Components/Button.d.ts +3 -3
  831. package/types_generated/Libraries/Components/LayoutConformance/LayoutConformance.d.ts +3 -4
  832. package/types_generated/Libraries/Components/Pressable/useAndroidRippleForView.d.ts +5 -2
  833. package/types_generated/Libraries/Components/TextInput/TextInput.flow.d.ts +15 -3
  834. package/types_generated/Libraries/Components/Touchable/TouchableNativeFeedback.d.ts +8 -6
  835. package/types_generated/Libraries/Components/View/ViewAccessibility.d.ts +4 -4
  836. package/types_generated/Libraries/Components/View/ViewPropTypes.d.ts +4 -2
  837. package/types_generated/Libraries/Interaction/PanResponder.d.ts +2 -2
  838. package/types_generated/Libraries/Network/XMLHttpRequest.d.ts +23 -4
  839. package/types_generated/Libraries/ReactNative/AppRegistry.flow.d.ts +2 -3
  840. package/types_generated/Libraries/{Utilities/IPerformanceLogger.d.ts → ReactNative/IPerformanceLogger.flow.d.ts} +12 -6
  841. package/types_generated/Libraries/ReactNative/RendererImplementation.d.ts +12 -25
  842. package/types_generated/Libraries/ReactNative/RendererProxy.d.ts +1 -16
  843. package/types_generated/Libraries/Renderer/shims/ReactNativeTypes.d.ts +1 -16
  844. package/types_generated/Libraries/StyleSheet/StyleSheetTypes.d.ts +3 -3
  845. package/types_generated/Libraries/Utilities/BackHandler.d.ts +6 -2
  846. package/types_generated/index.d.ts +11 -2
  847. package/types_generated/src/private/components/virtualcollection/FlingConstants.d.ts +20 -0
  848. package/types_generated/src/private/components/virtualcollection/Virtual.d.ts +46 -0
  849. package/types_generated/src/private/components/virtualcollection/VirtualCollectionView.d.ts +81 -0
  850. package/types_generated/src/private/components/virtualcollection/column/VirtualColumn.d.ts +23 -0
  851. package/types_generated/src/private/components/virtualcollection/column/VirtualColumnGenerator.d.ts +17 -0
  852. package/types_generated/src/private/components/virtualcollection/dom/getScrollParent.d.ts +21 -0
  853. package/types_generated/src/private/components/virtualcollection/row/VirtualRow.d.ts +23 -0
  854. package/types_generated/src/private/types/HostInstance.d.ts +2 -2
  855. package/types_generated/src/private/webapis/dom/events/Event.d.ts +1 -9
  856. package/types_generated/src/private/webapis/dom/events/EventTarget.d.ts +1 -13
  857. package/types_generated/src/private/webapis/dom/nodes/ReadOnlyNode.d.ts +5 -2
  858. package/types_generated/src/private/webapis/dom/nodes/internals/NodeInternals.d.ts +8 -1
  859. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +0 -19668
  860. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +0 -11129
  861. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +0 -12930
  862. package/Libraries/Renderer/shims/ReactNative.js +0 -27
  863. package/Libraries/Utilities/GlobalPerformanceLogger.js +0 -24
  864. package/Libraries/Utilities/PerformanceLoggerContext.js +0 -33
  865. package/Libraries/Utilities/createPerformanceLogger.js +0 -329
  866. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaMethodWrapper.kt +0 -442
  867. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobCollector.kt +0 -31
  868. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollContainerLegacyView.kt +0 -47
  869. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfigJNIFinalizer.java +0 -31
  870. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIFinalizer.java +0 -35
  871. package/ReactCommon/react/renderer/graphics/DoubleConversions.cpp +0 -38
  872. package/types_generated/Libraries/Renderer/shims/ReactNative.d.ts +0 -16
  873. package/types_generated/Libraries/Utilities/createPerformanceLogger.d.ts +0 -23
@@ -29,7 +29,8 @@ Scheduler::Scheduler(
29
29
  const SchedulerToolbox& schedulerToolbox,
30
30
  UIManagerAnimationDelegate* animationDelegate,
31
31
  SchedulerDelegate* delegate)
32
- : runtimeExecutor_(schedulerToolbox.runtimeExecutor),
32
+ : delegateInvalidated_(std::make_shared<std::atomic<bool>>(false)),
33
+ runtimeExecutor_(schedulerToolbox.runtimeExecutor),
33
34
  contextContainer_(schedulerToolbox.contextContainer) {
34
35
  // Creating a container for future `EventDispatcher` instance.
35
36
  eventDispatcher_ = std::make_shared<std::optional<const EventDispatcher>>();
@@ -88,11 +89,12 @@ Scheduler::Scheduler(
88
89
  EventTarget* eventTarget,
89
90
  const std::string& type,
90
91
  ReactEventPriority priority,
91
- const EventPayload& payload) {
92
+ const EventPayload& payload,
93
+ HighResTimeStamp eventTimestamp) {
92
94
  uiManager->visitBinding(
93
95
  [&](const UIManagerBinding& uiManagerBinding) {
94
96
  uiManagerBinding.dispatchEvent(
95
- runtime, eventTarget, type, priority, payload);
97
+ runtime, eventTarget, type, priority, payload, eventTimestamp);
96
98
  },
97
99
  runtime);
98
100
  };
@@ -157,6 +159,12 @@ Scheduler::Scheduler(
157
159
  }
158
160
  uiManager_->setAnimationDelegate(animationDelegate);
159
161
 
162
+ // Initialize ViewTransitionModule
163
+ if (ReactNativeFeatureFlags::viewTransitionEnabled()) {
164
+ viewTransitionModule_ = std::make_shared<ViewTransitionModule>();
165
+ viewTransitionModule_->initialize(uiManager_.get(), viewTransitionModule_);
166
+ }
167
+
160
168
  uiManager->registerMountHook(*eventPerformanceLogger_);
161
169
  }
162
170
 
@@ -164,6 +172,15 @@ Scheduler::~Scheduler() {
164
172
  LOG(WARNING) << "Scheduler::~Scheduler() was called (address: " << this
165
173
  << ").";
166
174
 
175
+ // Invalidate any lambdas already queued via scheduleRenderingUpdate that
176
+ // captured a raw delegate_ pointer; without this they'd dereference a
177
+ // dangling SchedulerDelegate after Scheduler teardown. (No replacement
178
+ // token is allocated here — Scheduler is going away.)
179
+ // Gated to allow controlled rollout / rollback.
180
+ if (ReactNativeFeatureFlags::enableSchedulerDelegateInvalidation()) {
181
+ *delegateInvalidated_ = true;
182
+ }
183
+
167
184
  auto weakRuntimeScheduler =
168
185
  contextContainer_->find<std::weak_ptr<RuntimeScheduler>>(
169
186
  RuntimeSchedulerKey);
@@ -186,6 +203,7 @@ Scheduler::~Scheduler() {
186
203
  // The thread-safety of this operation is guaranteed by this requirement.
187
204
  uiManager_->setDelegate(nullptr);
188
205
  uiManager_->setAnimationDelegate(nullptr);
206
+ uiManager_->setViewTransitionDelegate(nullptr);
189
207
 
190
208
  if (cdpMetricsReporter_) {
191
209
  performanceEntryReporter_->removeEventListener(&*cdpMetricsReporter_);
@@ -252,6 +270,21 @@ Scheduler::findComponentDescriptorByHandle_DO_NOT_USE_THIS_IS_BROKEN(
252
270
  #pragma mark - Delegate
253
271
 
254
272
  void Scheduler::setDelegate(SchedulerDelegate* delegate) {
273
+ // Gated to allow controlled rollout / rollback.
274
+ if (ReactNativeFeatureFlags::enableSchedulerDelegateInvalidation() &&
275
+ delegate_ != delegate) {
276
+ // Mark the *current* token invalid: any rendering-update lambda already
277
+ // queued holds a shared_ptr to this atomic and will observe `true` on
278
+ // its next read, so it no-ops instead of calling into the previous
279
+ // delegate (which the caller is about to drop).
280
+ *delegateInvalidated_ = true;
281
+ // Then install a *fresh* token (a new atomic) so lambdas captured
282
+ // against the new delegate use their own non-invalidated flag.
283
+ // Reusing the previous atomic and flipping it back to `false` would
284
+ // re-arm the in-flight lambdas — exactly the use-after-free we're
285
+ // trying to prevent — because they share the same shared_ptr.
286
+ delegateInvalidated_ = std::make_shared<std::atomic<bool>>(false);
287
+ }
255
288
  delegate_ = delegate;
256
289
  }
257
290
 
@@ -280,10 +313,21 @@ void Scheduler::uiManagerDidFinishTransaction(
280
313
  if (!mountSynchronously) {
281
314
  auto surfaceId = mountingCoordinator->getSurfaceId();
282
315
 
316
+ // Capture the gating flag at queue time: the lambda's decision to
317
+ // honor the invalidation guard is fixed when we enqueue, not when it
318
+ // later runs. Avoids per-invocation feature-flag reads and keeps the
319
+ // contract for an in-flight lambda stable across flag flips.
320
+ auto guardEnabled =
321
+ ReactNativeFeatureFlags::enableSchedulerDelegateInvalidation();
283
322
  runtimeScheduler_->scheduleRenderingUpdate(
284
323
  surfaceId,
285
324
  [delegate = delegate_,
325
+ invalidated = delegateInvalidated_,
326
+ guardEnabled,
286
327
  mountingCoordinator = std::move(mountingCoordinator)]() {
328
+ if (guardEnabled && *invalidated) {
329
+ return;
330
+ }
287
331
  delegate->schedulerShouldRenderTransactions(mountingCoordinator);
288
332
  });
289
333
  } else {
@@ -306,12 +350,20 @@ void Scheduler::uiManagerDidDispatchCommand(
306
350
  "Scheduler::uiManagerDispatchCommand", "commandName", commandName);
307
351
  if (delegate_ != nullptr) {
308
352
  auto shadowView = ShadowView(*shadowNode);
353
+ // See comment in uiManagerDidFinishTransaction above for gating shape.
354
+ auto guardEnabled =
355
+ ReactNativeFeatureFlags::enableSchedulerDelegateInvalidation();
309
356
  runtimeScheduler_->scheduleRenderingUpdate(
310
357
  shadowNode->getSurfaceId(),
311
358
  [delegate = delegate_,
359
+ invalidated = delegateInvalidated_,
360
+ guardEnabled,
312
361
  shadowView = std::move(shadowView),
313
362
  commandName,
314
363
  args]() {
364
+ if (guardEnabled && *invalidated) {
365
+ return;
366
+ }
315
367
  delegate->schedulerDidDispatchCommand(shadowView, commandName, args);
316
368
  });
317
369
  }
@@ -356,6 +408,27 @@ void Scheduler::uiManagerDidUpdateShadowTree(
356
408
  }
357
409
  }
358
410
 
411
+ void Scheduler::uiManagerDidCaptureViewSnapshot(Tag tag, SurfaceId surfaceId) {
412
+ if (delegate_ != nullptr) {
413
+ delegate_->schedulerDidCaptureViewSnapshot(tag, surfaceId);
414
+ }
415
+ }
416
+
417
+ void Scheduler::uiManagerDidSetViewSnapshot(
418
+ Tag sourceTag,
419
+ Tag targetTag,
420
+ SurfaceId surfaceId) {
421
+ if (delegate_ != nullptr) {
422
+ delegate_->schedulerDidSetViewSnapshot(sourceTag, targetTag, surfaceId);
423
+ }
424
+ }
425
+
426
+ void Scheduler::uiManagerDidClearPendingSnapshots() {
427
+ if (delegate_ != nullptr) {
428
+ delegate_->schedulerDidClearPendingSnapshots();
429
+ }
430
+ }
431
+
359
432
  void Scheduler::uiManagerShouldAddEventListener(
360
433
  std::shared_ptr<const EventListener> listener) {
361
434
  addEventListener(listener);
@@ -7,6 +7,7 @@
7
7
 
8
8
  #pragma once
9
9
 
10
+ #include <atomic>
10
11
  #include <memory>
11
12
 
12
13
  #include <ReactCommon/RuntimeExecutor.h>
@@ -27,6 +28,7 @@
27
28
  #include <react/renderer/uimanager/UIManagerAnimationDelegate.h>
28
29
  #include <react/renderer/uimanager/UIManagerBinding.h>
29
30
  #include <react/renderer/uimanager/UIManagerDelegate.h>
31
+ #include <react/renderer/viewtransition/ViewTransitionModule.h>
30
32
  #include <react/utils/ContextContainer.h>
31
33
 
32
34
  namespace facebook::react {
@@ -93,6 +95,9 @@ class Scheduler final : public UIManagerDelegate {
93
95
  bool blockNativeResponder) override;
94
96
  void uiManagerShouldSynchronouslyUpdateViewOnUIThread(Tag tag, const folly::dynamic &props) override;
95
97
  void uiManagerDidUpdateShadowTree(const std::unordered_map<Tag, folly::dynamic> &tagToProps) override;
98
+ void uiManagerDidCaptureViewSnapshot(Tag tag, SurfaceId surfaceId) override;
99
+ void uiManagerDidSetViewSnapshot(Tag sourceTag, Tag targetTag, SurfaceId surfaceId) override;
100
+ void uiManagerDidClearPendingSnapshots() override;
96
101
  void uiManagerShouldAddEventListener(std::shared_ptr<const EventListener> listener) final;
97
102
  void uiManagerShouldRemoveEventListener(const std::shared_ptr<const EventListener> &listener) final;
98
103
  void uiManagerDidFinishReactCommit(const ShadowTree &shadowTree) override;
@@ -118,6 +123,11 @@ class Scheduler final : public UIManagerDelegate {
118
123
  friend class SurfaceHandler;
119
124
 
120
125
  SchedulerDelegate *delegate_;
126
+ // Invalidation token captured by-value into lambdas deferred via
127
+ // runtimeScheduler_->scheduleRenderingUpdate. Set to true on delegate
128
+ // change or Scheduler destruction so a lambda that outlives its captured
129
+ // raw delegate pointer can no-op instead of dereferencing dangling memory.
130
+ std::shared_ptr<std::atomic<bool>> delegateInvalidated_;
121
131
  SharedComponentDescriptorRegistry componentDescriptorRegistry_;
122
132
  RuntimeExecutor runtimeExecutor_;
123
133
  std::shared_ptr<UIManager> uiManager_;
@@ -146,6 +156,8 @@ class Scheduler final : public UIManagerDelegate {
146
156
 
147
157
  RuntimeScheduler *runtimeScheduler_{nullptr};
148
158
 
159
+ std::shared_ptr<ViewTransitionModule> viewTransitionModule_;
160
+
149
161
  mutable std::shared_mutex onSurfaceStartCallbackMutex_;
150
162
  OnSurfaceStartCallback onSurfaceStartCallback_;
151
163
  };
@@ -66,6 +66,11 @@ class SchedulerDelegate {
66
66
 
67
67
  virtual void schedulerDidUpdateShadowTree(const std::unordered_map<Tag, folly::dynamic> &tagToProps) = 0;
68
68
 
69
+ // View transition bitmap snapshot capture and application.
70
+ virtual void schedulerDidCaptureViewSnapshot(Tag tag, SurfaceId surfaceId) = 0;
71
+ virtual void schedulerDidSetViewSnapshot(Tag sourceTag, Tag targetTag, SurfaceId surfaceId) = 0;
72
+ virtual void schedulerDidClearPendingSnapshots() = 0;
73
+
69
74
  virtual ~SchedulerDelegate() noexcept = default;
70
75
  };
71
76
 
@@ -41,7 +41,6 @@ int countAttachments(const AttributedString& attributedString) {
41
41
 
42
42
  Size measureText(
43
43
  const std::shared_ptr<const ContextContainer>& contextContainer,
44
- Tag rootTag,
45
44
  MapBuffer attributedString,
46
45
  MapBuffer paragraphAttributes,
47
46
  float minWidth,
@@ -55,7 +54,6 @@ Size measureText(
55
54
  static auto measure =
56
55
  jni::findClassStatic("com/facebook/react/fabric/FabricUIManager")
57
56
  ->getMethod<jlong(
58
- jint,
59
57
  JReadableMapBuffer::javaobject,
60
58
  JReadableMapBuffer::javaobject,
61
59
  jfloat,
@@ -71,7 +69,6 @@ Size measureText(
71
69
 
72
70
  return yogaMeassureToSize(measure(
73
71
  fabricUIManager,
74
- rootTag,
75
72
  attributedStringBuffer.get(),
76
73
  paragraphAttributesBuffer.get(),
77
74
  minWidth,
@@ -105,7 +102,6 @@ TextMeasurement doMeasure(
105
102
 
106
103
  auto size = measureText(
107
104
  contextContainer,
108
- layoutContext.surfaceId,
109
105
  std::move(attributedStringMap),
110
106
  std::move(paragraphAttributesMap),
111
107
  minimumSize.width,
@@ -221,7 +217,6 @@ TextMeasurement TextLayoutManager::measureCachedSpannableById(
221
217
 
222
218
  auto size = measureText(
223
219
  contextContainer_,
224
- layoutContext.surfaceId,
225
220
  localDataBuilder.build(),
226
221
  toMapBuffer(paragraphAttributes),
227
222
  minimumSize.width,
@@ -304,7 +299,6 @@ TextLayoutManager::PreparedTextLayout TextLayoutManager::prepareLayout(
304
299
  static auto prepareTextLayout =
305
300
  jni::findClassStatic("com/facebook/react/fabric/FabricUIManager")
306
301
  ->getMethod<JPreparedLayout::javaobject(
307
- jint,
308
302
  JReadableMapBuffer::javaobject,
309
303
  JReadableMapBuffer::javaobject,
310
304
  jfloat,
@@ -335,7 +329,6 @@ TextLayoutManager::PreparedTextLayout TextLayoutManager::prepareLayout(
335
329
 
336
330
  return PreparedTextLayout{jni::make_global(prepareTextLayout(
337
331
  fabricUIManager,
338
- layoutContext.surfaceId,
339
332
  attributedStringMB.get(),
340
333
  paragraphAttributesMB.get(),
341
334
  minimumSize.width,
@@ -208,8 +208,9 @@ static NSLineBreakMode RCTNSLineBreakModeFromEllipsizeMode(EllipsizeMode ellipsi
208
208
  .width = usedRect.size.width, .height = usedRect.size.height}};
209
209
 
210
210
  CGFloat baseline = [layoutManager locationForGlyphAtIndex:range.location].y;
211
+ const char *renderedUTF8 = [renderedString UTF8String];
211
212
  auto line = LineMeasurement{
212
- std::string([renderedString UTF8String]),
213
+ std::string(renderedUTF8 != nullptr ? renderedUTF8 : ""),
213
214
  rect,
214
215
  overallRect.size.height - baseline,
215
216
  font.capHeight,
@@ -118,49 +118,51 @@ std::shared_ptr<ShadowNode> UIManager::cloneNode(
118
118
 
119
119
  auto& componentDescriptor = shadowNode.getComponentDescriptor();
120
120
  auto& family = shadowNode.getFamily();
121
- auto props = ShadowNodeFragment::propsPlaceholder();
122
121
 
122
+ auto props = ShadowNodeFragment::propsPlaceholder();
123
123
  if (!rawProps.isEmpty()) {
124
- if (family.nativeProps_DEPRECATED != nullptr) {
125
- // 1. update the nativeProps_DEPRECATED props.
126
- //
127
- // In this step, we want the most recent value for the props
128
- // managed by setNativeProps.
129
- // Values in `rawProps` patch (take precedence over)
130
- // `nativeProps_DEPRECATED`. For example, if both
131
- // `nativeProps_DEPRECATED` and `rawProps` contain key 'A'.
132
- // Value from `rawProps` overrides what was previously in
133
- // `nativeProps_DEPRECATED`. Notice that the `nativeProps_DEPRECATED`
134
- // patch will not get more props from `rawProps`: if the key is not
135
- // present in `nativeProps_DEPRECATED`, it will not be added.
136
- //
137
- // The result of this operation is the new `nativeProps_DEPRECATED`.
138
- family.nativeProps_DEPRECATED =
139
- std::make_unique<folly::dynamic>(mergeDynamicProps(
140
- *family.nativeProps_DEPRECATED, // source
141
- (folly::dynamic)rawProps, // patch
142
- NullValueStrategy::Ignore));
143
-
144
- // 2. Compute the final set of props.
145
- //
146
- // This step takes the new props handled by `setNativeProps` and
147
- // merges them in the `rawProps` managed by React.
148
- // The new props handled by `nativeProps` now takes precedence
149
- // on the props handled by React, as we want to make sure that
150
- // all the props are applied to the component.
151
- // We use these finalProps as source of truth for the component.
152
- auto finalProps = mergeDynamicProps(
153
- (folly::dynamic)rawProps, // source
154
- *family.nativeProps_DEPRECATED, // patch
155
- NullValueStrategy::Override);
156
-
157
- // 3. Clone the props by using finalProps.
158
- props = componentDescriptor.cloneProps(
159
- propsParserContext, shadowNode.getProps(), RawProps(finalProps));
160
- } else {
161
- props = componentDescriptor.cloneProps(
162
- propsParserContext, shadowNode.getProps(), std::move(rawProps));
124
+ std::optional<folly::dynamic> finalProps;
125
+ {
126
+ std::lock_guard<std::mutex> lock(family.nativePropsMutex);
127
+ if (family.nativeProps_DEPRECATED != nullptr) {
128
+ // 1. update the nativeProps_DEPRECATED props.
129
+ //
130
+ // In this step, we want the most recent value for the props
131
+ // managed by setNativeProps.
132
+ // Values in `rawProps` patch (take precedence over)
133
+ // `nativeProps_DEPRECATED`. For example, if both
134
+ // `nativeProps_DEPRECATED` and `rawProps` contain key 'A'.
135
+ // Value from `rawProps` overrides what was previously in
136
+ // `nativeProps_DEPRECATED`. Notice that the `nativeProps_DEPRECATED`
137
+ // patch will not get more props from `rawProps`: if the key is not
138
+ // present in `nativeProps_DEPRECATED`, it will not be added.
139
+ //
140
+ // The result of this operation is the new `nativeProps_DEPRECATED`.
141
+ family.nativeProps_DEPRECATED =
142
+ std::make_unique<folly::dynamic>(mergeDynamicProps(
143
+ *family.nativeProps_DEPRECATED, // source
144
+ (folly::dynamic)rawProps, // patch
145
+ NullValueStrategy::Ignore));
146
+
147
+ // 2. Compute the final set of props.
148
+ //
149
+ // This step takes the new props handled by `setNativeProps` and
150
+ // merges them in the `rawProps` managed by React.
151
+ // The new props handled by `nativeProps` now takes precedence
152
+ // on the props handled by React, as we want to make sure that
153
+ // all the props are applied to the component.
154
+ // We use these finalProps as source of truth for the component.
155
+ finalProps = mergeDynamicProps(
156
+ (folly::dynamic)rawProps, // source
157
+ *family.nativeProps_DEPRECATED, // patch
158
+ NullValueStrategy::Override);
159
+ }
163
160
  }
161
+
162
+ props = componentDescriptor.cloneProps(
163
+ propsParserContext,
164
+ shadowNode.getProps(),
165
+ finalProps ? RawProps(std::move(*finalProps)) : std::move(rawProps));
164
166
  }
165
167
 
166
168
  auto clonedShadowNode = componentDescriptor.cloneShadowNode(
@@ -272,9 +274,13 @@ void UIManager::setSurfaceProps(
272
274
  ShadowTree::Unique UIManager::stopSurface(SurfaceId surfaceId) const {
273
275
  TraceSection s("UIManager::stopSurface");
274
276
 
275
- // Stop any ongoing animations.
277
+ // Stop any ongoing layout animations.
276
278
  stopSurfaceForAnimationDelegate(surfaceId);
277
279
 
280
+ if (ReactNativeFeatureFlags::useSharedAnimatedBackend()) {
281
+ animationBackend_->clearRegistryOnSurfaceStop(surfaceId);
282
+ }
283
+
278
284
  // Waiting for all concurrent commits to be finished and unregistering the
279
285
  // `ShadowTree`.
280
286
  auto shadowTree = getShadowTreeRegistry().remove(surfaceId);
@@ -435,19 +441,22 @@ void UIManager::setNativeProps_DEPRECATED(
435
441
  const std::shared_ptr<const ShadowNode>& shadowNode,
436
442
  RawProps rawProps) const {
437
443
  auto& family = shadowNode->getFamily();
438
- if (family.nativeProps_DEPRECATED) {
439
- // Values in `rawProps` patch (take precedence over)
440
- // `nativeProps_DEPRECATED`. For example, if both `nativeProps_DEPRECATED`
441
- // and `rawProps` contain key 'A'. Value from `rawProps` overrides what
442
- // was previously in `nativeProps_DEPRECATED`.
443
- family.nativeProps_DEPRECATED =
444
- std::make_unique<folly::dynamic>(mergeDynamicProps(
445
- *family.nativeProps_DEPRECATED,
446
- (folly::dynamic)rawProps,
447
- NullValueStrategy::Override));
448
- } else {
449
- family.nativeProps_DEPRECATED =
450
- std::make_unique<folly::dynamic>((folly::dynamic)rawProps);
444
+ {
445
+ std::lock_guard<std::mutex> lock(family.nativePropsMutex);
446
+ if (family.nativeProps_DEPRECATED) {
447
+ // Values in `rawProps` patch (take precedence over)
448
+ // `nativeProps_DEPRECATED`. For example, if both
449
+ // `nativeProps_DEPRECATED` and `rawProps` contain key 'A'. Value from
450
+ // `rawProps` overrides what was previously in `nativeProps_DEPRECATED`.
451
+ family.nativeProps_DEPRECATED =
452
+ std::make_unique<folly::dynamic>(mergeDynamicProps(
453
+ *family.nativeProps_DEPRECATED,
454
+ (folly::dynamic)rawProps,
455
+ NullValueStrategy::Override));
456
+ } else {
457
+ family.nativeProps_DEPRECATED =
458
+ std::make_unique<folly::dynamic>((folly::dynamic)rawProps);
459
+ }
451
460
  }
452
461
 
453
462
  shadowTreeRegistry_.visit(
@@ -488,6 +497,10 @@ void UIManager::sendAccessibilityEvent(
488
497
  }
489
498
  }
490
499
 
500
+ UIManagerViewTransitionDelegate* UIManager::getViewTransitionDelegate() const {
501
+ return viewTransitionDelegate_;
502
+ }
503
+
491
504
  void UIManager::configureNextLayoutAnimation(
492
505
  jsi::Runtime& runtime,
493
506
  const RawValue& config,
@@ -708,6 +721,13 @@ void UIManager::setNativeAnimatedDelegate(
708
721
  nativeAnimatedDelegate_ = delegate;
709
722
  }
710
723
 
724
+ void UIManager::setViewTransitionDelegate(
725
+ UIManagerViewTransitionDelegate* delegate) {
726
+ if (ReactNativeFeatureFlags::viewTransitionEnabled()) {
727
+ viewTransitionDelegate_ = delegate;
728
+ }
729
+ }
730
+
711
731
  void UIManager::unstable_setAnimationBackend(
712
732
  std::shared_ptr<UIManagerAnimationBackend> animationBackend) {
713
733
  animationBackend_ = animationBackend;
@@ -27,6 +27,7 @@
27
27
  #include <react/renderer/uimanager/UIManagerAnimationDelegate.h>
28
28
  #include <react/renderer/uimanager/UIManagerDelegate.h>
29
29
  #include <react/renderer/uimanager/UIManagerNativeAnimatedDelegate.h>
30
+ #include <react/renderer/uimanager/UIManagerViewTransitionDelegate.h>
30
31
  #include <react/renderer/uimanager/consistency/LazyShadowTreeRevisionConsistencyManager.h>
31
32
  #include <react/renderer/uimanager/consistency/ShadowTreeRevisionProvider.h>
32
33
  #include <react/renderer/uimanager/primitives.h>
@@ -74,6 +75,12 @@ class UIManager final : public ShadowTreeDelegate {
74
75
 
75
76
  void setNativeAnimatedDelegate(std::weak_ptr<UIManagerNativeAnimatedDelegate> delegate);
76
77
 
78
+ /**
79
+ * Sets and gets UIManager's ViewTransition API delegate.
80
+ */
81
+ void setViewTransitionDelegate(UIManagerViewTransitionDelegate *delegate);
82
+ UIManagerViewTransitionDelegate *getViewTransitionDelegate() const;
83
+
77
84
  void animationTick() const;
78
85
 
79
86
  void synchronouslyUpdateViewOnUIThread(Tag tag, const folly::dynamic &props);
@@ -242,6 +249,7 @@ class UIManager final : public ShadowTreeDelegate {
242
249
  UIManagerDelegate *delegate_{};
243
250
  UIManagerAnimationDelegate *animationDelegate_{nullptr};
244
251
  std::weak_ptr<UIManagerNativeAnimatedDelegate> nativeAnimatedDelegate_;
252
+ UIManagerViewTransitionDelegate *viewTransitionDelegate_{nullptr};
245
253
 
246
254
  const RuntimeExecutor runtimeExecutor_{};
247
255
  ShadowTreeRegistry shadowTreeRegistry_{};
@@ -30,7 +30,9 @@ class UIManagerAnimationBackend {
30
30
  virtual CallbackId start(const Callback &callback) = 0;
31
31
  virtual void stop(CallbackId callbackId) = 0;
32
32
  virtual void clearRegistry(SurfaceId surfaceId) = 0;
33
+ virtual void clearRegistryOnSurfaceStop(SurfaceId surfaceId) = 0;
33
34
  virtual void trigger() = 0;
35
+ virtual void pushAnimationMutations(const Callback &callback) = 0;
34
36
  virtual void registerJSInvoker(std::shared_ptr<CallInvoker> jsInvoker) = 0;
35
37
  };
36
38