react-native-tvos 0.81.3-0 → 0.82.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 (1620) hide show
  1. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +7 -3
  2. package/Libraries/Alert/RCTAlertManager.android.js +4 -2
  3. package/Libraries/Animated/Animated.d.ts +2 -0
  4. package/Libraries/Animated/AnimatedEvent.js +1 -1
  5. package/Libraries/Animated/AnimatedExports.js.flow +1 -0
  6. package/Libraries/Animated/AnimatedImplementation.js +4 -2
  7. package/Libraries/Animated/AnimatedMock.js +1 -1
  8. package/Libraries/Animated/Easing.js +2 -0
  9. package/Libraries/Animated/NativeAnimatedAllowlist.js +1 -0
  10. package/Libraries/Animated/animations/Animation.js +19 -20
  11. package/Libraries/Animated/animations/TimingAnimation.js +2 -0
  12. package/Libraries/Animated/components/AnimatedScrollView.js +3 -2
  13. package/Libraries/Animated/components/AnimatedSectionList.js +1 -1
  14. package/Libraries/Animated/nodes/AnimatedColor.js +9 -9
  15. package/Libraries/Animated/nodes/AnimatedInterpolation.js +4 -4
  16. package/Libraries/Animated/nodes/AnimatedNode.js +14 -7
  17. package/Libraries/Animated/nodes/AnimatedObject.js +7 -7
  18. package/Libraries/Animated/nodes/AnimatedProps.js +32 -32
  19. package/Libraries/Animated/nodes/AnimatedStyle.js +23 -21
  20. package/Libraries/Animated/nodes/AnimatedTransform.js +6 -6
  21. package/Libraries/Animated/nodes/AnimatedValue.js +18 -26
  22. package/Libraries/AppDelegate/RCTAppDelegate.h +5 -2
  23. package/Libraries/AppDelegate/RCTAppSetupUtils.h +10 -7
  24. package/Libraries/AppDelegate/RCTAppSetupUtils.mm +7 -10
  25. package/Libraries/AppDelegate/RCTArchConfiguratorProtocol.h +6 -4
  26. package/Libraries/AppDelegate/RCTDefaultReactNativeFactoryDelegate.mm +5 -6
  27. package/Libraries/AppDelegate/RCTReactNativeFactory.h +12 -4
  28. package/Libraries/AppDelegate/RCTReactNativeFactory.mm +22 -33
  29. package/Libraries/AppDelegate/RCTRootViewFactory.h +3 -2
  30. package/Libraries/AppDelegate/RCTRootViewFactory.mm +50 -65
  31. package/Libraries/AppState/AppState.js +8 -4
  32. package/Libraries/BatchedBridge/BatchedBridge.js +1 -0
  33. package/Libraries/BatchedBridge/MessageQueue.js +5 -0
  34. package/Libraries/BatchedBridge/NativeModules.js +1 -1
  35. package/Libraries/Blob/BlobManager.js +1 -1
  36. package/Libraries/Blob/URLSearchParams.js +2 -0
  37. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +2 -2
  38. package/Libraries/Components/Button.js +1 -2
  39. package/Libraries/Components/Pressable/Pressable.d.ts +1 -1
  40. package/Libraries/Components/Pressable/Pressable.js +24 -13
  41. package/Libraries/Components/Pressable/useAndroidRippleForView.js +2 -2
  42. package/Libraries/Components/ScrollView/ScrollView.js +13 -4
  43. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -1
  44. package/Libraries/Components/StatusBar/StatusBar.js +2 -2
  45. package/Libraries/Components/Switch/Switch.js +1 -1
  46. package/Libraries/Components/TV/TVParallaxProperties.d.ts +42 -0
  47. package/Libraries/Components/TV/TVViewPropTypes.js +45 -8
  48. package/Libraries/Components/TextInput/TextInput.flow.js +12 -5
  49. package/Libraries/Components/TextInput/TextInput.js +14 -5
  50. package/Libraries/Components/TextInput/TextInputState.js +1 -1
  51. package/Libraries/Components/Touchable/TouchableBounce.js +1 -1
  52. package/Libraries/Components/Touchable/TouchableHighlight.js +6 -33
  53. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +6 -51
  54. package/Libraries/Components/Touchable/TouchableOpacity.d.ts +0 -1
  55. package/Libraries/Components/Touchable/TouchableOpacity.js +6 -57
  56. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +3 -3
  57. package/Libraries/Components/View/View.js +92 -166
  58. package/Libraries/Components/View/ViewPropTypes.d.ts +59 -41
  59. package/Libraries/Components/View/ViewPropTypes.js +5 -86
  60. package/Libraries/Core/Devtools/loadBundleFromServer.js +1 -1
  61. package/Libraries/Core/ExceptionsManager.js +4 -2
  62. package/Libraries/Core/ReactFiberErrorDialog.js +3 -3
  63. package/Libraries/Core/ReactNativeVersion.js +37 -10
  64. package/Libraries/Core/Timers/JSTimers.js +4 -1
  65. package/Libraries/Core/Timers/NativeTiming.js +1 -0
  66. package/Libraries/Core/Timers/immediateShim.js +2 -1
  67. package/Libraries/Core/Timers/queueMicrotask.js +1 -0
  68. package/Libraries/Core/setUpPerformance.js +3 -4
  69. package/Libraries/Debugging/DebuggingOverlayRegistry.js +5 -3
  70. package/Libraries/FBLazyVector/FBLazyVector/FBLazyVector.h +2 -1
  71. package/Libraries/Image/Image.android.js +327 -111
  72. package/Libraries/Image/Image.ios.js +6 -1
  73. package/Libraries/Image/ImageSourceUtils.js +8 -2
  74. package/Libraries/Image/RCTImageShadowView.h +5 -0
  75. package/Libraries/Image/RCTImageShadowView.mm +4 -0
  76. package/Libraries/Image/RCTImageView.h +5 -0
  77. package/Libraries/Image/RCTImageView.mm +4 -0
  78. package/Libraries/Image/RCTImageViewManager.h +5 -0
  79. package/Libraries/Image/RCTImageViewManager.mm +4 -0
  80. package/Libraries/Image/RCTUIImageViewAnimated.mm +6 -3
  81. package/Libraries/Image/resolveAssetSource.js +1 -1
  82. package/Libraries/Interaction/InteractionManager.js +118 -167
  83. package/Libraries/Interaction/PanResponder.js +7 -52
  84. package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -0
  85. package/Libraries/Lists/FlatList.js +5 -6
  86. package/Libraries/LogBox/Data/LogBoxData.js +5 -2
  87. package/Libraries/LogBox/Data/parseLogBoxLog.js +1 -1
  88. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +1 -1
  89. package/Libraries/Modal/Modal.js +3 -3
  90. package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +13 -33
  91. package/Libraries/NativeComponent/NativeComponentRegistry.js +1 -1
  92. package/Libraries/NativeComponent/ViewConfig.js +2 -2
  93. package/Libraries/Network/RCTNetworking.android.js +1 -1
  94. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  95. package/Libraries/Network/React-RCTNetwork.podspec +1 -1
  96. package/Libraries/Network/XMLHttpRequest.js +20 -5
  97. package/Libraries/Network/convertRequestBody.js +1 -1
  98. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +10 -9
  99. package/Libraries/Pressability/HoverState.js +2 -0
  100. package/Libraries/Pressability/Pressability.js +1 -1
  101. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +2 -2
  102. package/Libraries/ReactNative/AppRegistryImpl.js +4 -2
  103. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +2 -0
  104. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +3 -3
  105. package/Libraries/ReactNative/RendererImplementation.js +117 -118
  106. package/Libraries/ReactNative/UIManager.js +3 -3
  107. package/Libraries/ReactNative/renderApplication.js +1 -0
  108. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +1 -1
  109. package/Libraries/Renderer/README.md +1 -1
  110. package/Libraries/Renderer/implementations/ReactFabric-dev.js +38 -35
  111. package/Libraries/Renderer/implementations/ReactFabric-prod.js +51 -22
  112. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +54 -24
  113. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +36 -33
  114. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +5 -5
  115. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +5 -5
  116. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +3 -1
  117. package/Libraries/Share/Share.js +4 -0
  118. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +2 -2
  119. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +2 -2
  120. package/Libraries/StyleSheet/StyleSheet.d.ts +7 -22
  121. package/Libraries/StyleSheet/StyleSheetExports.js +2 -8
  122. package/Libraries/StyleSheet/StyleSheetExports.js.flow +11 -18
  123. package/Libraries/StyleSheet/flattenStyle.js +2 -2
  124. package/Libraries/StyleSheet/processAspectRatio.js +2 -0
  125. package/Libraries/StyleSheet/processFilter.js +5 -5
  126. package/Libraries/StyleSheet/splitLayoutProps.js +2 -2
  127. package/Libraries/Text/BaseText/RCTBaseTextShadowView.h +7 -1
  128. package/Libraries/Text/BaseText/RCTBaseTextShadowView.mm +4 -0
  129. package/Libraries/Text/BaseText/RCTBaseTextViewManager.h +5 -0
  130. package/Libraries/Text/BaseText/RCTBaseTextViewManager.mm +4 -0
  131. package/Libraries/Text/RCTTextAttributes.h +10 -3
  132. package/Libraries/Text/RCTTextAttributes.mm +4 -0
  133. package/Libraries/Text/RawText/RCTRawTextShadowView.h +5 -0
  134. package/Libraries/Text/RawText/RCTRawTextShadowView.mm +4 -0
  135. package/Libraries/Text/RawText/RCTRawTextViewManager.h +5 -0
  136. package/Libraries/Text/RawText/RCTRawTextViewManager.mm +4 -0
  137. package/Libraries/Text/Text/RCTTextShadowView.h +5 -0
  138. package/Libraries/Text/Text/RCTTextShadowView.mm +4 -0
  139. package/Libraries/Text/Text/RCTTextView.h +5 -0
  140. package/Libraries/Text/Text/RCTTextView.mm +4 -0
  141. package/Libraries/Text/Text/RCTTextViewManager.h +5 -0
  142. package/Libraries/Text/Text/RCTTextViewManager.mm +4 -0
  143. package/Libraries/Text/Text.js +534 -234
  144. package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputView.h +5 -0
  145. package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputView.mm +4 -0
  146. package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputViewManager.h +5 -0
  147. package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputViewManager.mm +4 -0
  148. package/Libraries/Text/TextInput/RCTBaseTextInputShadowView.h +5 -0
  149. package/Libraries/Text/TextInput/RCTBaseTextInputShadowView.mm +4 -0
  150. package/Libraries/Text/TextInput/RCTBaseTextInputView.h +6 -1
  151. package/Libraries/Text/TextInput/RCTBaseTextInputView.mm +4 -0
  152. package/Libraries/Text/TextInput/RCTBaseTextInputViewManager.h +5 -0
  153. package/Libraries/Text/TextInput/RCTBaseTextInputViewManager.mm +4 -0
  154. package/Libraries/Text/TextInput/RCTInputAccessoryShadowView.h +5 -0
  155. package/Libraries/Text/TextInput/RCTInputAccessoryShadowView.mm +4 -0
  156. package/Libraries/Text/TextInput/RCTInputAccessoryView.h +5 -0
  157. package/Libraries/Text/TextInput/RCTInputAccessoryView.mm +4 -0
  158. package/Libraries/Text/TextInput/RCTInputAccessoryViewContent.h +5 -0
  159. package/Libraries/Text/TextInput/RCTInputAccessoryViewContent.mm +4 -0
  160. package/Libraries/Text/TextInput/RCTInputAccessoryViewManager.h +5 -0
  161. package/Libraries/Text/TextInput/RCTInputAccessoryViewManager.mm +4 -0
  162. package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputView.h +5 -0
  163. package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputView.mm +4 -0
  164. package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputViewManager.h +5 -0
  165. package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputViewManager.mm +4 -0
  166. package/Libraries/Text/TextNativeComponent.js +2 -2
  167. package/Libraries/Text/VirtualText/RCTVirtualTextShadowView.h +5 -0
  168. package/Libraries/Text/VirtualText/RCTVirtualTextShadowView.mm +4 -0
  169. package/Libraries/Text/VirtualText/RCTVirtualTextView.h +5 -0
  170. package/Libraries/Text/VirtualText/RCTVirtualTextView.mm +4 -0
  171. package/Libraries/Text/VirtualText/RCTVirtualTextViewManager.h +5 -0
  172. package/Libraries/Text/VirtualText/RCTVirtualTextViewManager.mm +4 -0
  173. package/Libraries/Utilities/Appearance.d.ts +3 -5
  174. package/Libraries/Utilities/Appearance.js +5 -17
  175. package/Libraries/Utilities/HMRClient.js +2 -1
  176. package/Libraries/Utilities/Platform.android.js +3 -3
  177. package/Libraries/Utilities/Platform.d.ts +1 -0
  178. package/Libraries/Utilities/Platform.ios.js +1 -1
  179. package/Libraries/Utilities/PlatformTypes.js +1 -1
  180. package/Libraries/Utilities/ReactNativeTestTools.js +12 -0
  181. package/Libraries/Utilities/SceneTracker.js +1 -1
  182. package/Libraries/Utilities/codegenNativeCommands.js +1 -1
  183. package/Libraries/Utilities/codegenNativeComponent.js +1 -1
  184. package/Libraries/Utilities/createPerformanceLogger.js +32 -0
  185. package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +2 -0
  186. package/Libraries/Utilities/differ/pointsDiffer.js +1 -1
  187. package/Libraries/Utilities/useMergeRefs.js +1 -1
  188. package/Libraries/WebSocket/WebSocketInterceptor.js +2 -0
  189. package/Libraries/Wrapper/Example/RCTWrapperExampleView.h +5 -0
  190. package/Libraries/Wrapper/Example/RCTWrapperExampleView.m +4 -0
  191. package/Libraries/Wrapper/Example/RCTWrapperExampleViewController.h +5 -0
  192. package/Libraries/Wrapper/Example/RCTWrapperExampleViewController.m +4 -0
  193. package/Libraries/Wrapper/Example/RCTWrapperReactRootViewController.h +5 -0
  194. package/Libraries/Wrapper/Example/RCTWrapperReactRootViewController.m +4 -0
  195. package/Libraries/Wrapper/Example/RCTWrapperReactRootViewManager.h +5 -0
  196. package/Libraries/Wrapper/Example/RCTWrapperReactRootViewManager.m +4 -0
  197. package/Libraries/Wrapper/RCTWrapper.h +28 -23
  198. package/Libraries/Wrapper/RCTWrapperShadowView.h +5 -0
  199. package/Libraries/Wrapper/RCTWrapperShadowView.m +4 -0
  200. package/Libraries/Wrapper/RCTWrapperView.h +7 -1
  201. package/Libraries/Wrapper/RCTWrapperView.m +4 -0
  202. package/Libraries/Wrapper/RCTWrapperViewControllerHostingView.h +5 -0
  203. package/Libraries/Wrapper/RCTWrapperViewControllerHostingView.m +4 -0
  204. package/Libraries/Wrapper/RCTWrapperViewManager.h +5 -0
  205. package/Libraries/Wrapper/RCTWrapperViewManager.m +4 -0
  206. package/Libraries/promiseRejectionTrackingOptions.js +17 -31
  207. package/Libraries/vendor/emitter/EventEmitter.js +1 -1
  208. package/README.md +25 -17
  209. package/React/Base/RCTBridge+Private.h +4 -2
  210. package/React/Base/RCTBridge.h +5 -2
  211. package/React/Base/RCTBridge.mm +19 -4
  212. package/React/Base/RCTBridgeDelegate.h +14 -6
  213. package/React/Base/RCTBridgeMethod.h +1 -1
  214. package/React/Base/RCTBridgeProxy.mm +1 -1
  215. package/React/Base/RCTJavaScriptExecutor.h +6 -3
  216. package/React/Base/RCTModuleData.h +29 -15
  217. package/React/Base/RCTRootContentView.h +15 -8
  218. package/React/Base/RCTRootView.h +2 -0
  219. package/React/Base/RCTRootViewInternal.h +1 -1
  220. package/React/Base/RCTUtils.h +0 -1
  221. package/React/Base/RCTUtils.mm +1 -17
  222. package/React/Base/RCTVersion.m +2 -2
  223. package/React/Base/Surface/RCTSurface.h +2 -1
  224. package/React/Base/Surface/RCTSurfaceRootShadowView.h +4 -2
  225. package/React/CoreModules/RCTAlertController.mm +6 -1
  226. package/React/CoreModules/RCTDevMenu.mm +1 -8
  227. package/React/CoreModules/RCTLogBoxView.mm +2 -0
  228. package/React/CoreModules/RCTPerfMonitor.mm +1 -1
  229. package/React/CoreModules/React-CoreModules.podspec +1 -1
  230. package/React/CxxBridge/RCTCxxBridge.mm +1 -1
  231. package/React/CxxBridge/RCTJSIExecutorRuntimeInstaller.h +1 -0
  232. package/React/CxxBridge/RCTObjcExecutor.h +3 -1
  233. package/React/CxxModule/DispatchMessageQueueThread.h +2 -1
  234. package/React/CxxModule/RCTCxxUtils.h +1 -0
  235. package/React/CxxModule/RCTNativeModule.h +3 -1
  236. package/React/DevSupport/RCTInspectorNetworkHelper.h +3 -3
  237. package/React/DevSupport/RCTInspectorNetworkHelper.mm +1 -1
  238. package/React/FBReactNativeSpec/FBReactNativeSpecJSI-generated.cpp +165 -51
  239. package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +285 -66
  240. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/EventEmitters.cpp +25 -0
  241. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/EventEmitters.h +25 -0
  242. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/Props.cpp +208 -2
  243. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/Props.h +81 -2
  244. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/RCTComponentViewHelpers.h +4 -0
  245. package/React/Fabric/Mounting/ComponentViews/Image/RCTImageComponentView.mm +1 -1
  246. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTPullToRefreshViewComponentView.mm +31 -25
  247. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.h +4 -1
  248. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +92 -6
  249. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTVirtualViewContainerProtocol.h +14 -0
  250. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTVirtualViewContainerState.h +25 -0
  251. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTVirtualViewContainerState.mm +190 -0
  252. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTVirtualViewProtocol.h +20 -0
  253. package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentView.mm +0 -5
  254. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +4 -1
  255. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +23 -36
  256. package/React/Fabric/Mounting/ComponentViews/VirtualView/RCTVirtualViewComponentView.mm +23 -20
  257. package/React/Fabric/Mounting/ComponentViews/VirtualViewExperimental/RCTVirtualViewExperimentalComponentView.h +25 -0
  258. package/React/Fabric/Mounting/ComponentViews/VirtualViewExperimental/RCTVirtualViewExperimentalComponentView.mm +323 -0
  259. package/React/Fabric/Mounting/ComponentViews/VirtualViewExperimental/RCTVirtualViewMode.h +18 -0
  260. package/React/Fabric/Mounting/ComponentViews/VirtualViewExperimental/RCTVirtualViewRenderState.h +17 -0
  261. package/React/Fabric/Mounting/RCTComponentViewDescriptor.h +4 -4
  262. package/React/Fabric/Mounting/RCTComponentViewFactory.mm +4 -2
  263. package/React/Fabric/Mounting/RCTComponentViewProtocol.h +6 -0
  264. package/React/Fabric/Mounting/RCTComponentViewRegistry.mm +1 -0
  265. package/React/Fabric/Mounting/RCTMountingManager.h +1 -1
  266. package/React/Fabric/Mounting/RCTMountingManager.mm +2 -2
  267. package/React/Fabric/Mounting/UIView+ComponentViewProtocol.h +2 -0
  268. package/React/Fabric/Mounting/UIView+ComponentViewProtocol.mm +5 -0
  269. package/React/Fabric/RCTConversions.h +3 -3
  270. package/React/Fabric/RCTPrimitives.h +1 -1
  271. package/React/Fabric/RCTSurfacePresenter.h +2 -2
  272. package/React/Fabric/RCTSurfacePresenter.mm +12 -10
  273. package/React/Fabric/RCTSurfacePresenterBridgeAdapter.h +1 -1
  274. package/React/Fabric/RCTSurfacePresenterBridgeAdapter.mm +3 -2
  275. package/React/Fabric/RCTSurfaceRegistry.h +1 -1
  276. package/React/Fabric/Utils/RCTGradientUtils.mm +9 -9
  277. package/React/Fabric/Utils/RCTRadialGradient.mm +6 -5
  278. package/React/Modules/RCTUIManager.h +8 -8
  279. package/React/Modules/RCTUIManager.mm +11 -16
  280. package/React/Profiler/RCTProfile.h +45 -28
  281. package/React/React-RCTFabric.podspec +1 -0
  282. package/React/Runtime/React-RCTRuntime.podspec +1 -0
  283. package/React/Tests/Text/RCTParagraphComponentViewTests.mm +4 -2
  284. package/React/Views/RCTActivityIndicatorView.h +5 -0
  285. package/React/Views/RCTActivityIndicatorView.m +4 -0
  286. package/React/Views/RCTActivityIndicatorViewManager.h +5 -0
  287. package/React/Views/RCTActivityIndicatorViewManager.m +4 -0
  288. package/React/Views/RCTDebuggingOverlayManager.h +5 -0
  289. package/React/Views/RCTDebuggingOverlayManager.m +4 -0
  290. package/React/Views/RCTFont.mm +3 -3
  291. package/React/Views/RCTModalHostView.h +6 -1
  292. package/React/Views/RCTModalHostView.m +4 -0
  293. package/React/Views/RCTModalHostViewController.h +5 -0
  294. package/React/Views/RCTModalHostViewController.m +4 -0
  295. package/React/Views/RCTModalHostViewManager.h +8 -2
  296. package/React/Views/RCTModalHostViewManager.m +4 -0
  297. package/React/Views/RCTModalManager.h +6 -1
  298. package/React/Views/RCTModalManager.m +4 -0
  299. package/React/Views/RCTRootShadowView.h +1 -0
  300. package/React/Views/RCTRootShadowView.m +12 -0
  301. package/React/Views/RCTShadowView.m +92 -0
  302. package/React/Views/RCTSwitch.h +6 -1
  303. package/React/Views/RCTSwitch.m +5 -1
  304. package/React/Views/RCTSwitchManager.h +6 -1
  305. package/React/Views/RCTSwitchManager.m +5 -1
  306. package/React/Views/RefreshControl/RCTRefreshControl.h +7 -2
  307. package/React/Views/RefreshControl/RCTRefreshControl.m +9 -3
  308. package/React/Views/RefreshControl/RCTRefreshControlManager.h +6 -1
  309. package/React/Views/RefreshControl/RCTRefreshControlManager.m +5 -1
  310. package/React/Views/SafeAreaView/RCTSafeAreaShadowView.h +5 -0
  311. package/React/Views/SafeAreaView/RCTSafeAreaShadowView.m +4 -0
  312. package/React/Views/SafeAreaView/RCTSafeAreaView.h +5 -0
  313. package/React/Views/SafeAreaView/RCTSafeAreaView.m +4 -0
  314. package/React/Views/SafeAreaView/RCTSafeAreaViewLocalData.h +5 -0
  315. package/React/Views/SafeAreaView/RCTSafeAreaViewLocalData.m +4 -0
  316. package/React/Views/SafeAreaView/RCTSafeAreaViewManager.h +5 -0
  317. package/React/Views/SafeAreaView/RCTSafeAreaViewManager.m +4 -0
  318. package/React/Views/ScrollView/RCTScrollContentShadowView.h +5 -0
  319. package/React/Views/ScrollView/RCTScrollContentShadowView.m +4 -0
  320. package/React/Views/ScrollView/RCTScrollContentView.h +5 -0
  321. package/React/Views/ScrollView/RCTScrollContentView.m +4 -0
  322. package/React/Views/ScrollView/RCTScrollContentViewManager.h +5 -0
  323. package/React/Views/ScrollView/RCTScrollContentViewManager.m +4 -0
  324. package/React/Views/ScrollView/RCTScrollView.h +5 -0
  325. package/React/Views/ScrollView/RCTScrollView.m +4 -0
  326. package/React/Views/ScrollView/RCTScrollViewManager.h +6 -0
  327. package/React/Views/ScrollView/RCTScrollViewManager.m +4 -0
  328. package/ReactAndroid/api/ReactAndroid.api +340 -254
  329. package/ReactAndroid/build.gradle.kts +82 -32
  330. package/ReactAndroid/gradle.properties +2 -1
  331. package/ReactAndroid/hermes-engine/build.gradle.kts +40 -20
  332. package/ReactAndroid/src/main/java/com/facebook/debug/tags/ReactDebugOverlayTags.kt +2 -1
  333. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/HermesExecutor.kt +4 -4
  334. package/ReactAndroid/src/main/java/com/facebook/react/BaseReactPackage.kt +8 -5
  335. package/ReactAndroid/src/main/java/com/facebook/react/CoreModulesPackage.kt +36 -23
  336. package/ReactAndroid/src/main/java/com/facebook/react/DebugCorePackage.kt +4 -3
  337. package/ReactAndroid/src/main/java/com/facebook/react/HeadlessJsTaskService.kt +7 -3
  338. package/ReactAndroid/src/main/java/com/facebook/react/MemoryPressureRouter.kt +4 -2
  339. package/ReactAndroid/src/main/java/com/facebook/react/NativeModuleRegistryBuilder.kt +12 -3
  340. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +1 -0
  341. package/ReactAndroid/src/main/java/com/facebook/react/ReactAndroidHWInputDeviceHelper.kt +19 -28
  342. package/ReactAndroid/src/main/java/com/facebook/react/ReactApplication.kt +5 -1
  343. package/ReactAndroid/src/main/java/com/facebook/react/ReactDelegate.kt +70 -44
  344. package/ReactAndroid/src/main/java/com/facebook/react/ReactFragment.kt +19 -11
  345. package/ReactAndroid/src/main/java/com/facebook/react/ReactHost.kt +3 -3
  346. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +15 -7
  347. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.kt +18 -5
  348. package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +2 -1
  349. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageHelper.kt +3 -2
  350. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageTurboModuleManagerDelegate.kt +16 -10
  351. package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +15 -30
  352. package/ReactAndroid/src/main/java/com/facebook/react/TurboReactPackage.kt +2 -1
  353. package/ReactAndroid/src/main/java/com/facebook/react/ViewManagerOnDemandReactPackage.kt +1 -1
  354. package/ReactAndroid/src/main/java/com/facebook/react/animated/AdditionAnimatedNode.kt +5 -3
  355. package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimatedNode.kt +1 -1
  356. package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimationDriver.kt +2 -1
  357. package/ReactAndroid/src/main/java/com/facebook/react/animated/ColorAnimatedNode.kt +1 -1
  358. package/ReactAndroid/src/main/java/com/facebook/react/animated/DecayAnimation.kt +1 -1
  359. package/ReactAndroid/src/main/java/com/facebook/react/animated/DiffClampAnimatedNode.kt +3 -2
  360. package/ReactAndroid/src/main/java/com/facebook/react/animated/DivisionAnimatedNode.kt +5 -3
  361. package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.kt +7 -5
  362. package/ReactAndroid/src/main/java/com/facebook/react/animated/InterpolationAnimatedNode.kt +17 -11
  363. package/ReactAndroid/src/main/java/com/facebook/react/animated/ModulusAnimatedNode.kt +3 -2
  364. package/ReactAndroid/src/main/java/com/facebook/react/animated/MultiplicationAnimatedNode.kt +3 -2
  365. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.kt +129 -63
  366. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.kt +75 -52
  367. package/ReactAndroid/src/main/java/com/facebook/react/animated/ObjectAnimatedNode.kt +11 -7
  368. package/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.kt +7 -4
  369. package/ReactAndroid/src/main/java/com/facebook/react/animated/StyleAnimatedNode.kt +3 -2
  370. package/ReactAndroid/src/main/java/com/facebook/react/animated/SubtractionAnimatedNode.kt +3 -2
  371. package/ReactAndroid/src/main/java/com/facebook/react/animated/TrackingAnimatedNode.kt +1 -1
  372. package/ReactAndroid/src/main/java/com/facebook/react/animated/TransformAnimatedNode.kt +3 -2
  373. package/ReactAndroid/src/main/java/com/facebook/react/animated/ValueAnimatedNode.kt +4 -4
  374. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Arguments.kt +358 -0
  375. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BaseActivityEventListener.kt +3 -2
  376. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BridgeReactContext.java +2 -1
  377. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CallbackImpl.kt +13 -3
  378. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstance.kt +16 -6
  379. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java +7 -1
  380. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ColorPropConverter.kt +8 -4
  381. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxCallbackImpl.kt +1 -1
  382. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxModuleWrapperBase.kt +6 -3
  383. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DimensionPropConverter.kt +2 -1
  384. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Dynamic.kt +1 -1
  385. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSBundleLoader.kt +4 -4
  386. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSBundleLoaderDelegate.kt +1 -1
  387. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSInstance.kt +2 -2
  388. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaMethodWrapper.kt +52 -24
  389. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaModuleWrapper.kt +4 -3
  390. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaOnlyMap.kt +2 -1
  391. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptModuleRegistry.kt +6 -4
  392. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleHolder.kt +10 -3
  393. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleSpec.kt +5 -4
  394. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModuleRegistry.kt +21 -7
  395. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NotThreadSafeBridgeIdleDebugListener.kt +6 -0
  396. package/ReactAndroid/src/main/java/com/facebook/react/bridge/OnBatchCompleteListener.kt +6 -2
  397. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Promise.kt +2 -1
  398. package/ReactAndroid/src/main/java/com/facebook/react/bridge/PromiseImpl.kt +1 -1
  399. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +2 -8
  400. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContextBaseJavaModule.kt +2 -1
  401. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactCxxErrorHandler.kt +9 -3
  402. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactInstanceManagerInspectorTarget.kt +12 -3
  403. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMarker.kt +8 -13
  404. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMarkerConstants.kt +1 -1
  405. package/ReactAndroid/src/main/java/com/facebook/react/bridge/{BridgeSoLoader.kt → ReactNativeJNISoLoader.kt} +3 -7
  406. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactSoftExceptionLogger.kt +6 -5
  407. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableNativeMap.kt +4 -2
  408. package/ReactAndroid/src/main/java/com/facebook/react/bridge/SoftAssertions.kt +5 -3
  409. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManager.kt +2 -2
  410. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManagerListener.kt +5 -5
  411. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManagerProvider.kt +4 -0
  412. package/ReactAndroid/src/main/java/com/facebook/react/bridge/WindowFocusChangeListener.kt +1 -1
  413. package/ReactAndroid/src/main/java/com/facebook/react/bridge/WritableNativeMap.kt +3 -1
  414. package/ReactAndroid/src/main/java/com/facebook/react/bridge/interop/InteropModuleRegistry.kt +1 -1
  415. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThread.kt +5 -2
  416. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThreadHandler.kt +1 -1
  417. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThreadImpl.kt +14 -36
  418. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThreadPerfStats.kt +1 -0
  419. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThreadSpec.kt +2 -1
  420. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/ReactQueueConfigurationImpl.kt +2 -2
  421. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/ReactQueueConfigurationSpec.kt +4 -2
  422. package/ReactAndroid/src/main/java/com/facebook/react/common/DebugServerException.kt +1 -2
  423. package/ReactAndroid/src/main/java/com/facebook/react/common/MapBuilder.kt +3 -3
  424. package/ReactAndroid/src/main/java/com/facebook/react/common/ReleaseLevel.kt +1 -1
  425. package/ReactAndroid/src/main/java/com/facebook/react/common/annotations/FrameworkAPI.kt +2 -1
  426. package/ReactAndroid/src/main/java/com/facebook/react/common/annotations/UnstableReactNativeAPI.kt +2 -1
  427. package/ReactAndroid/src/main/java/com/facebook/react/common/annotations/internal/LegacyArchitectureLogLevel.kt +1 -1
  428. package/ReactAndroid/src/main/java/com/facebook/react/common/annotations/internal/LegacyArchitectureLogger.kt +4 -3
  429. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/MapBuffer.kt +1 -1
  430. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.kt +1 -1
  431. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultComponentsRegistry.kt +1 -1
  432. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultNewArchitectureEntryPoint.kt +33 -15
  433. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactActivityDelegate.kt +2 -1
  434. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHost.kt +5 -165
  435. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHostDelegate.kt +1 -1
  436. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactNativeHost.kt +15 -8
  437. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultTurboModuleManagerDelegate.kt +7 -3
  438. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.kt +10 -3
  439. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgelessDevSupportManager.kt +11 -4
  440. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BundleDownloader.kt +43 -19
  441. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ChangeBundleLocationDialog.kt +13 -5
  442. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/CxxInspectorPackagerConnection.kt +10 -7
  443. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DebugOverlayController.kt +8 -4
  444. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevLoadingViewImplementation.kt +8 -3
  445. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevSupportManagerFactory.kt +15 -5
  446. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevInternalSettings.kt +5 -3
  447. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.kt +53 -18
  448. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.kt +155 -49
  449. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.kt +10 -2
  450. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/FpsView.kt +5 -3
  451. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/HMRClient.kt +1 -1
  452. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialogSurfaceDelegate.kt +5 -2
  453. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxModule.kt +1 -1
  454. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/MultipartStreamReader.kt +2 -2
  455. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PackagerStatusCheck.kt +11 -6
  456. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PausedInDebuggerOverlayDialogManager.kt +1 -1
  457. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PerfMonitorOverlayViewManager.kt +278 -0
  458. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PerftestDevSupportManager.kt +2 -1
  459. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxContentView.kt +11 -6
  460. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxDialogSurfaceDelegate.kt +6 -3
  461. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ReleaseDevSupportManager.kt +5 -5
  462. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/StackTraceHelper.kt +19 -8
  463. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/InspectorNetworkHelper.kt +2 -1
  464. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/BundleLoadCallback.kt +1 -1
  465. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DebuggerFrontendPanelName.kt +21 -0
  466. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.kt +8 -2
  467. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/PausedInDebuggerOverlayManager.kt +1 -1
  468. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/PerfMonitorOverlayManager.kt +20 -0
  469. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/RedBoxHandler.kt +1 -1
  470. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/TracingState.kt +19 -0
  471. package/{ReactCommon/react/nativemodule/core/ReactCommon/CallbackWrapper.h → ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/TracingStateProvider.kt} +4 -3
  472. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorDevHelper.kt +20 -0
  473. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorEventDispatcher.kt +12 -0
  474. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorInspectorTarget.kt +11 -0
  475. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorInspectorTargetBinding.kt +20 -0
  476. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorUpdateListener.kt +24 -0
  477. package/ReactAndroid/src/main/java/com/facebook/react/fabric/DevToolsReactPerfLogger.kt +2 -2
  478. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +44 -14
  479. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManagerBinding.kt +9 -4
  480. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManagerProviderImpl.kt +15 -3
  481. package/ReactAndroid/src/main/java/com/facebook/react/fabric/SurfaceHandlerBinding.kt +4 -3
  482. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.kt +1 -1
  483. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.kt +5 -4
  484. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.kt +22 -9
  485. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.kt +25 -20
  486. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DestroyUnmountedViewMountItem.kt +1 -1
  487. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DispatchIntCommandMountItem.kt +1 -1
  488. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DispatchStringCommandMountItem.kt +1 -1
  489. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.kt +61 -22
  490. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/MountItemFactory.kt +5 -5
  491. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.kt +9 -3
  492. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEventMountItem.kt +1 -1
  493. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +77 -23
  494. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +131 -41
  495. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +27 -9
  496. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +32 -14
  497. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +145 -46
  498. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Canary_Android.kt +3 -1
  499. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Experimental_Android.kt +3 -5
  500. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Stable_Android.kt +1 -1
  501. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +27 -9
  502. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeNewArchitectureFeatureFlags.kt +10 -9
  503. package/ReactAndroid/src/main/java/com/facebook/react/internal/interop/InteropEvent.kt +1 -1
  504. package/ReactAndroid/src/main/java/com/facebook/react/internal/interop/InteropEventEmitter.kt +3 -2
  505. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleInteropUtils.kt +68 -47
  506. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManager.kt +10 -7
  507. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskConfig.kt +3 -2
  508. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskContext.kt +10 -6
  509. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/LinearCountingRetryPolicy.kt +1 -1
  510. package/ReactAndroid/src/main/java/com/facebook/react/module/annotations/ReactModule.kt +3 -2
  511. package/ReactAndroid/src/main/java/com/facebook/react/module/model/ReactModuleInfo.kt +6 -4
  512. package/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/AccessibilityInfoModule.kt +15 -9
  513. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.kt +1 -1
  514. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobModule.kt +8 -9
  515. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobProvider.kt +2 -2
  516. package/ReactAndroid/src/main/java/com/facebook/react/modules/clipboard/ClipboardModule.kt +1 -2
  517. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/DeviceEventManagerModule.kt +1 -1
  518. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/HeadlessJsTaskSupportModule.kt +4 -2
  519. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.kt +17 -8
  520. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/PermissionAwareActivity.kt +1 -1
  521. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/PermissionListener.kt +1 -1
  522. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactAndroidHWInputDeviceHelper.java +0 -20
  523. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactChoreographer.kt +1 -1
  524. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/TimingModule.kt +2 -2
  525. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DevMenuModule.kt +1 -1
  526. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DevSettingsModule.kt +1 -1
  527. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DidJSUpdateUiDuringFrameDetector.kt +12 -5
  528. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/FpsDebugFrameCallback.kt +6 -4
  529. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/SourceCodeModule.kt +3 -1
  530. package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/DeviceInfoModule.kt +3 -1
  531. package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/AlertFragment.kt +8 -6
  532. package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/DialogTitle.kt +2 -2
  533. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/FrescoModule.kt +4 -3
  534. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/SystraceRequestListener.kt +9 -6
  535. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nManagerModule.kt +2 -1
  536. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nUtil.kt +8 -4
  537. package/ReactAndroid/src/main/java/com/facebook/react/modules/image/ImageLoaderModule.kt +1 -1
  538. package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.kt +25 -17
  539. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.kt +2 -2
  540. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/InspectorNetworkReporter.kt +128 -0
  541. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkEventUtil.kt +268 -0
  542. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.kt +221 -115
  543. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ProgressRequestBody.kt +3 -2
  544. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ProgressResponseBody.kt +5 -2
  545. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/RequestBodyUtil.kt +3 -2
  546. package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/PermissionsModule.kt +13 -16
  547. package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/StatusBarModule.kt +23 -11
  548. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoHelpers.kt +2 -1
  549. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +2 -2
  550. package/ReactAndroid/src/main/java/com/facebook/react/modules/toast/ToastModule.kt +1 -1
  551. package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/WebSocketModule.kt +6 -5
  552. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/FileIoHandler.kt +4 -2
  553. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/JSPackagerClient.kt +1 -1
  554. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/PackagerConnectionSettings.kt +2 -1
  555. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/ReconnectingWebSocket.kt +5 -5
  556. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessAtomicRef.kt +5 -3
  557. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessCatalystInstance.kt +14 -7
  558. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessReactContext.kt +24 -12
  559. package/ReactAndroid/src/main/java/com/facebook/react/runtime/CoreReactPackage.kt +8 -4
  560. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.kt +184 -104
  561. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImplDevHelper.kt +12 -1
  562. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostInspectorTarget.kt +49 -1
  563. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.kt +54 -26
  564. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceImpl.kt +20 -12
  565. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceView.kt +24 -6
  566. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/Task.kt +12 -8
  567. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/TaskCompletionSource.kt +3 -3
  568. package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.kt +29 -16
  569. package/ReactAndroid/src/main/java/com/facebook/react/soloader/OpenSourceMergedSoMapping.kt +1 -1
  570. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BackgroundStyleApplicator.kt +43 -25
  571. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerDelegate.kt +26 -10
  572. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/DisplayMetricsHolder.kt +39 -4
  573. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/FilterHelper.kt +21 -9
  574. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSPointerDispatcher.java +15 -49
  575. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSTouchDispatcher.kt +56 -15
  576. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutDirectionUtil.kt +7 -1
  577. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.java +2 -0
  578. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/MatrixMathHelper.kt +15 -6
  579. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/MeasureSpecAssertions.kt +2 -1
  580. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeKind.kt +4 -0
  581. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +2 -0
  582. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyOptimizer.java +2 -0
  583. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NoSuchNativeViewException.kt +7 -1
  584. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/OnLayoutEvent.kt +13 -4
  585. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/PixelUtil.kt +7 -4
  586. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.kt +1045 -0
  587. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAxOrderHelper.kt +32 -50
  588. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactClippingViewGroupHelper.kt +9 -6
  589. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNode.java +2 -0
  590. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNodeImpl.java +7 -1
  591. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactStage.kt +3 -1
  592. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/RootView.kt +2 -1
  593. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ShadowNodeRegistry.kt +11 -2
  594. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/SimpleViewManager.kt +1 -0
  595. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/Spacing.kt +11 -7
  596. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ThemedReactContext.kt +15 -9
  597. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.kt +37 -20
  598. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TransformHelper.kt +36 -18
  599. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIBlock.kt +3 -1
  600. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIConstantsProviderBinding.kt +1 -1
  601. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +2 -0
  602. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerHelper.kt +30 -13
  603. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +2 -15
  604. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstants.kt +24 -10
  605. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstantsHelper.kt +25 -14
  606. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +2 -0
  607. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewAtIndex.kt +10 -2
  608. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupDrawingOrderHelper.kt +7 -4
  609. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupManager.kt +1 -0
  610. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManager.java +14 -18
  611. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerDelegate.kt +6 -3
  612. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerPropertyUpdater.kt +15 -11
  613. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerRegistry.kt +2 -1
  614. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewProps.kt +15 -8
  615. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/YogaNodePool.kt +7 -1
  616. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactProp.kt +5 -2
  617. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactPropGroup.kt +5 -2
  618. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/UIManagerType.kt +2 -1
  619. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/ViewUtil.kt +2 -1
  620. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/debug/NotThreadSafeViewHierarchyUpdateDebugListener.kt +2 -1
  621. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BackgroundDrawable.kt +17 -7
  622. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BorderDrawable.kt +66 -40
  623. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/CompositeBackgroundDrawable.kt +14 -6
  624. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/InsetBoxShadowDrawable.kt +16 -8
  625. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/OutlineDrawable.kt +9 -3
  626. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/OutsetBoxShadowDrawable.kt +13 -7
  627. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/BlackHoleEventDispatcher.kt +2 -1
  628. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ContentSizeChangeEvent.kt +3 -2
  629. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/Event.kt +8 -3
  630. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventCategoryDef.kt +3 -1
  631. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherImpl.kt +4 -2
  632. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventEmitterImpl.kt +18 -7
  633. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.kt +9 -5
  634. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEvent.kt +19 -10
  635. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTEventEmitter.kt +1 -1
  636. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTModernEventEmitter.kt +1 -1
  637. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/SynchronousEventReceiver.kt +2 -2
  638. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEvent.kt +15 -8
  639. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchesHelper.kt +4 -2
  640. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/internal/LegacyArchitectureShadowNodeLogger.kt +8 -6
  641. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/AbstractLayoutAnimation.kt +12 -3
  642. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/AnimatedPropertyType.kt +6 -0
  643. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/BaseLayoutAnimation.kt +15 -4
  644. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/InterpolatorType.kt +6 -0
  645. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationController.kt +19 -5
  646. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationListener.kt +6 -0
  647. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationType.kt +9 -1
  648. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutCreateAnimation.kt +5 -1
  649. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutDeleteAnimation.kt +9 -1
  650. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutHandlingAnimation.kt +6 -0
  651. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutUpdateAnimation.kt +10 -2
  652. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/OpacityAnimation.kt +9 -1
  653. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/PositionAndSizeAnimation.kt +11 -2
  654. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/SimpleSpringInterpolator.kt +9 -1
  655. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderColors.kt +6 -3
  656. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderInsets.kt +6 -3
  657. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderRadiusStyle.kt +11 -6
  658. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/ColorStop.kt +5 -3
  659. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/CornerRadii.kt +1 -1
  660. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/LinearGradient.kt +4 -3
  661. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/RadialGradient.kt +18 -11
  662. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/util/ReactFindViewUtil.kt +6 -6
  663. package/ReactAndroid/src/main/java/com/facebook/react/util/JSStackTrace.kt +15 -9
  664. package/ReactAndroid/src/main/java/com/facebook/react/views/debuggingoverlay/DebuggingOverlayManager.kt +15 -12
  665. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayout.kt +3 -2
  666. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayoutManager.kt +25 -16
  667. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerSlideEvent.kt +3 -1
  668. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerStateChangedEvent.kt +2 -1
  669. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ImageLoadEvent.kt +15 -10
  670. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ImageResizeMethod.kt +22 -1
  671. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ImageResizeMode.kt +20 -5
  672. package/ReactAndroid/src/main/java/com/facebook/react/views/image/MultiPostprocessor.kt +1 -1
  673. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageManager.kt +22 -21
  674. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.kt +31 -13
  675. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ScaleTypeStartInside.kt +2 -4
  676. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/MultiSourceHelper.kt +11 -8
  677. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ResourceDrawableIdHelper.kt +2 -1
  678. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.kt +15 -17
  679. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt +22 -43
  680. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/RequestCloseEvent.kt +2 -1
  681. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ShowEvent.kt +2 -1
  682. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarContainerView.kt +4 -1
  683. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarShadowNode.kt +14 -5
  684. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ReactProgressBarViewManager.kt +16 -12
  685. package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaView.kt +6 -4
  686. package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaViewManager.kt +7 -5
  687. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/MaintainVisibleScrollPositionHelper.kt +4 -2
  688. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollContainerViewManager.kt +1 -1
  689. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +70 -26
  690. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.kt +47 -21
  691. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +110 -42
  692. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewAccessibilityDelegate.kt +11 -4
  693. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewCommandHelper.kt +11 -8
  694. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.kt +100 -77
  695. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.kt +46 -17
  696. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ScrollEvent.kt +6 -3
  697. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VirtualViewContainer.kt +165 -0
  698. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/SwipeRefreshLayoutManager.kt +25 -21
  699. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitch.kt +1 -1
  700. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchEvent.kt +2 -1
  701. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchManager.kt +22 -19
  702. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchShadowNode.kt +11 -4
  703. package/ReactAndroid/src/main/java/com/facebook/react/views/text/FontMetricsUtil.kt +10 -2
  704. package/ReactAndroid/src/main/java/com/facebook/react/views/text/PreparedLayout.kt +2 -1
  705. package/ReactAndroid/src/main/java/com/facebook/react/views/text/PreparedLayoutTextView.kt +28 -15
  706. package/ReactAndroid/src/main/java/com/facebook/react/views/text/PreparedLayoutTextViewManager.kt +26 -12
  707. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.kt +679 -0
  708. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactFontManager.kt +4 -3
  709. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactRawTextManager.kt +6 -0
  710. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactRawTextShadowNode.kt +6 -0
  711. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.kt +16 -8
  712. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.kt +59 -39
  713. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextUpdate.kt +17 -8
  714. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewAccessibilityDelegate.kt +27 -15
  715. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.kt +24 -10
  716. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTypefaceUtils.kt +1 -1
  717. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactVirtualTextShadowNode.kt +9 -1
  718. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactVirtualTextViewManager.kt +8 -1
  719. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.kt +565 -0
  720. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributes.kt +17 -17
  721. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.kt +254 -128
  722. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageShadowNode.kt +12 -5
  723. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageSpan.kt +3 -3
  724. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageViewManager.kt +5 -2
  725. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/ReactTextInlineImageShadowNode.kt +2 -0
  726. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/CustomStyleSpan.kt +2 -2
  727. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactClickableSpan.kt +2 -1
  728. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactFragmentIndexSpan.kt +14 -0
  729. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactLinkSpan.kt +48 -0
  730. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/SetSpanOperation.kt +1 -1
  731. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ShadowStyleSpan.kt +1 -1
  732. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/TextInlineViewPlaceholderSpan.kt +2 -2
  733. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactContentSizeChangedEvent.kt +1 -12
  734. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.kt +68 -30
  735. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditTextInputConnectionWrapper.kt +4 -3
  736. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextChangedEvent.kt +1 -11
  737. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextContentSizeWatcher.kt +3 -1
  738. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputEndEditingEvent.kt +1 -7
  739. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputKeyPressEvent.kt +0 -6
  740. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.kt +95 -38
  741. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputSelectionEvent.kt +1 -11
  742. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputShadowNode.kt +30 -19
  743. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputSubmitEditingEvent.kt +1 -7
  744. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputTextWatcher.kt +7 -2
  745. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextScrollWatcher.kt +2 -1
  746. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextSelectionWatcher.kt +2 -1
  747. package/ReactAndroid/src/main/java/com/facebook/react/views/unimplementedview/ReactUnimplementedView.kt +1 -1
  748. package/ReactAndroid/src/main/java/com/facebook/react/views/unimplementedview/ReactUnimplementedViewManager.kt +2 -2
  749. package/ReactAndroid/src/main/java/com/facebook/react/views/view/CanvasUtil.kt +12 -3
  750. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactDrawableHelper.kt +24 -12
  751. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.kt +72 -66
  752. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.kt +40 -26
  753. package/ReactAndroid/src/main/java/com/facebook/react/views/view/WindowUtil.kt +2 -1
  754. package/ReactAndroid/src/main/java/com/facebook/react/views/{virtualview → virtual}/VirtualViewMode.kt +2 -2
  755. package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/VirtualViewModeChangeEmitter.kt +19 -0
  756. package/ReactAndroid/src/main/java/com/facebook/react/views/{virtualview → virtual}/VirtualViewModeChangeEvent.kt +1 -1
  757. package/ReactAndroid/src/main/java/com/facebook/react/views/{virtualview → virtual}/VirtualViewRenderState.kt +1 -1
  758. package/ReactAndroid/src/main/java/com/facebook/react/views/{virtualview → virtual/view}/ReactVirtualView.kt +86 -26
  759. package/ReactAndroid/src/main/java/com/facebook/react/views/{virtualview → virtual/view}/ReactVirtualViewManager.kt +13 -8
  760. package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/viewexperimental/ReactVirtualViewExperimental.kt +256 -0
  761. package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/viewexperimental/ReactVirtualViewExperimentalManager.kt +110 -0
  762. package/ReactAndroid/src/main/java/com/facebook/systrace/Systrace.kt +1 -1
  763. package/ReactAndroid/src/main/java/com/facebook/systrace/SystraceMessage.kt +2 -1
  764. package/ReactAndroid/src/main/java/com/facebook/yoga/LayoutPassReason.kt +35 -0
  765. package/ReactAndroid/src/main/java/com/facebook/yoga/{YogaBaselineFunction.java → YogaBaselineFunction.kt} +3 -3
  766. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfig.kt +33 -0
  767. package/ReactAndroid/src/main/java/com/facebook/yoga/{YogaConfigFactory.java → YogaConfigFactory.kt} +3 -5
  768. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConstants.kt +18 -0
  769. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaLayoutType.kt +27 -0
  770. package/ReactAndroid/src/main/java/com/facebook/yoga/{YogaLogger.java → YogaLogger.kt} +6 -7
  771. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaMeasureFunction.kt +19 -0
  772. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaMeasureOutput.kt +29 -0
  773. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNative.kt +331 -0
  774. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeFactory.kt +14 -0
  775. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaStyleInputs.kt +51 -0
  776. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaValue.kt +66 -0
  777. package/ReactAndroid/src/main/java/com/facebook/yoga/annotations/DoNotStrip.kt +19 -0
  778. package/ReactAndroid/src/main/jni/CMakeLists.txt +8 -3
  779. package/ReactAndroid/src/main/jni/first-party/hermes/CMakeLists.txt +1 -1
  780. package/ReactAndroid/src/main/jni/react/devsupport/CMakeLists.txt +2 -1
  781. package/ReactAndroid/src/main/jni/react/devsupport/JCxxInspectorPackagerConnection.cpp +1 -1
  782. package/ReactAndroid/src/main/jni/react/devsupport/JCxxInspectorPackagerConnectionWebSocketDelegate.cpp +2 -1
  783. package/ReactAndroid/src/main/jni/react/devsupport/JInspectorNetworkReporter.cpp +207 -0
  784. package/ReactAndroid/src/main/jni/react/devsupport/JInspectorNetworkReporter.h +76 -0
  785. package/ReactAndroid/src/main/jni/react/devsupport/OnLoad.cpp +4 -1
  786. package/ReactAndroid/src/main/jni/react/fabric/ComponentFactory.cpp +1 -1
  787. package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.cpp +3 -0
  788. package/ReactAndroid/src/main/jni/react/fabric/EventEmitterWrapper.cpp +6 -3
  789. package/ReactAndroid/src/main/jni/react/fabric/EventEmitterWrapper.h +2 -2
  790. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.cpp +8 -8
  791. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.cpp +18 -14
  792. package/ReactAndroid/src/main/jni/react/fabric/MountItem.cpp +59 -10
  793. package/ReactAndroid/src/main/jni/react/fabric/OnLoad.cpp +1 -1
  794. package/ReactAndroid/src/main/jni/react/fabric/SurfaceHandlerBinding.cpp +8 -7
  795. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +181 -55
  796. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +39 -12
  797. package/ReactAndroid/src/main/jni/react/featureflags/OnLoad.cpp +1 -1
  798. package/ReactAndroid/src/main/jni/react/hermes/instrumentation/CMakeLists.txt +1 -1
  799. package/ReactAndroid/src/main/jni/react/hermes/instrumentation/HermesSamplingProfiler.cpp +4 -4
  800. package/ReactAndroid/src/main/jni/react/hermes/instrumentation/HermesSamplingProfiler.h +1 -1
  801. package/ReactAndroid/src/main/jni/react/hermes/instrumentation/OnLoad.cpp +1 -1
  802. package/ReactAndroid/src/main/jni/react/hermes/reactexecutor/CMakeLists.txt +5 -1
  803. package/ReactAndroid/src/main/jni/react/hermes/reactexecutor/OnLoad.cpp +8 -3
  804. package/ReactAndroid/src/main/jni/react/hermes/tooling/CMakeLists.txt +1 -1
  805. package/ReactAndroid/src/main/jni/react/jni/CMakeLists.txt +1 -2
  806. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp +8 -5
  807. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.h +7 -3
  808. package/ReactAndroid/src/main/jni/react/jni/JDynamicNative.cpp +2 -2
  809. package/ReactAndroid/src/main/jni/react/jni/JMessageQueueThread.cpp +1 -1
  810. package/ReactAndroid/src/main/jni/react/jni/JReactCxxErrorHandler.cpp +3 -1
  811. package/ReactAndroid/src/main/jni/react/jni/JReactMarker.cpp +1 -1
  812. package/ReactAndroid/src/main/jni/react/jni/JReactMarker.h +1 -1
  813. package/ReactAndroid/src/main/jni/react/jni/JReactSoftExceptionLogger.cpp +4 -1
  814. package/ReactAndroid/src/main/jni/react/jni/JRuntimeExecutor.cpp +3 -1
  815. package/ReactAndroid/src/main/jni/react/jni/JRuntimeScheduler.cpp +3 -1
  816. package/ReactAndroid/src/main/jni/react/jni/JSLoader.cpp +4 -4
  817. package/ReactAndroid/src/main/jni/react/jni/JavaModuleWrapper.cpp +1 -3
  818. package/ReactAndroid/src/main/jni/react/jni/JavaModuleWrapper.h +9 -3
  819. package/ReactAndroid/src/main/jni/react/jni/JavaScriptExecutorHolder.h +2 -1
  820. package/ReactAndroid/src/main/jni/react/jni/JniJSModulesUnbundle.cpp +8 -5
  821. package/ReactAndroid/src/main/jni/react/jni/JniJSModulesUnbundle.h +4 -2
  822. package/ReactAndroid/src/main/jni/react/jni/MethodInvoker.cpp +7 -2
  823. package/ReactAndroid/src/main/jni/react/jni/MethodInvoker.h +8 -3
  824. package/ReactAndroid/src/main/jni/react/jni/ModuleRegistryBuilder.h +4 -1
  825. package/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp +3 -4
  826. package/ReactAndroid/src/main/jni/react/jni/ReactInstanceManagerInspectorTarget.cpp +1 -1
  827. package/ReactAndroid/src/main/jni/react/jni/ReadableNativeMap.cpp +3 -2
  828. package/ReactAndroid/src/main/jni/react/jni/WritableNativeMap.cpp +3 -3
  829. package/ReactAndroid/src/main/jni/react/jni/WritableNativeMap.h +2 -2
  830. package/ReactAndroid/src/main/jni/react/mapbuffer/react/common/mapbuffer/JWritableMapBuffer.cpp +1 -1
  831. package/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultComponentsRegistry.cpp +3 -2
  832. package/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultTurboModuleManagerDelegate.cpp +2 -2
  833. package/ReactAndroid/src/main/jni/react/newarchdefaults/OnLoad.cpp +1 -1
  834. package/ReactAndroid/src/main/jni/react/reactnativeblob/BlobCollector.cpp +6 -6
  835. package/ReactAndroid/src/main/jni/react/reactnativeblob/BlobCollector.h +1 -1
  836. package/ReactAndroid/src/main/jni/react/reactnativeblob/OnLoad.cpp +1 -1
  837. package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/CMakeLists.txt +5 -1
  838. package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/OnLoad.cpp +1 -1
  839. package/ReactAndroid/src/main/jni/react/runtime/jni/CMakeLists.txt +4 -0
  840. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.cpp +84 -13
  841. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.h +55 -2
  842. package/ReactAndroid/src/main/jni/react/runtime/jni/JavaTimerRegistry.cpp +3 -1
  843. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/OnLoad.cpp +2 -2
  844. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.cpp +4 -6
  845. package/ReactAndroid/src/main/jni/react/uimanager/OnLoad.cpp +1 -1
  846. package/ReactAndroid/src/main/res/devsupport/values/strings.xml +4 -1
  847. package/ReactAndroid/src/main/res/views/uimanager/values-am/strings.xml +1 -0
  848. package/ReactCommon/React-Fabric.podspec +1 -0
  849. package/ReactCommon/React-FabricComponents.podspec +6 -0
  850. package/ReactCommon/callinvoker/ReactCommon/tests/TestCallInvoker.h +46 -0
  851. package/ReactCommon/cxxreact/CxxModule.h +2 -2
  852. package/ReactCommon/cxxreact/CxxNativeModule.cpp +3 -2
  853. package/ReactCommon/cxxreact/CxxNativeModule.h +4 -1
  854. package/ReactCommon/cxxreact/Instance.cpp +13 -9
  855. package/ReactCommon/cxxreact/Instance.h +6 -3
  856. package/ReactCommon/cxxreact/JSBigString.cpp +2 -2
  857. package/ReactCommon/cxxreact/JSExecutor.h +6 -3
  858. package/ReactCommon/cxxreact/JSIndexedRAMBundle.cpp +4 -4
  859. package/ReactCommon/cxxreact/JSIndexedRAMBundle.h +5 -3
  860. package/ReactCommon/cxxreact/JSModulesUnbundle.h +2 -1
  861. package/ReactCommon/cxxreact/JsArgumentHelpers.h +2 -2
  862. package/ReactCommon/cxxreact/MethodCall.h +4 -2
  863. package/ReactCommon/cxxreact/ModuleRegistry.cpp +3 -1
  864. package/ReactCommon/cxxreact/ModuleRegistry.h +7 -5
  865. package/ReactCommon/cxxreact/NativeModule.h +4 -2
  866. package/ReactCommon/cxxreact/NativeToJsBridge.cpp +5 -2
  867. package/ReactCommon/cxxreact/NativeToJsBridge.h +7 -6
  868. package/ReactCommon/cxxreact/RAMBundleRegistry.h +2 -1
  869. package/ReactCommon/cxxreact/ReactMarker.h +1 -1
  870. package/ReactCommon/cxxreact/ReactNativeVersion.h +4 -4
  871. package/ReactCommon/cxxreact/TraceSection.h +20 -4
  872. package/ReactCommon/cxxreact/tests/RecoverableErrorTest.cpp +1 -1
  873. package/ReactCommon/cxxreact/tests/jsbigstring.cpp +3 -2
  874. package/ReactCommon/cxxreact/tests/methodcall.cpp +1 -2
  875. package/ReactCommon/hermes/React-hermes.podspec +1 -0
  876. package/ReactCommon/hermes/executor/CMakeLists.txt +5 -1
  877. package/ReactCommon/hermes/executor/HermesExecutorFactory.cpp +8 -5
  878. package/ReactCommon/hermes/executor/HermesExecutorFactory.h +6 -2
  879. package/ReactCommon/hermes/inspector-modern/CMakeLists.txt +5 -1
  880. package/ReactCommon/hermes/inspector-modern/chrome/ConnectionDemux.cpp +11 -10
  881. package/ReactCommon/hermes/inspector-modern/chrome/ConnectionDemux.h +2 -2
  882. package/ReactCommon/hermes/inspector-modern/chrome/HermesRuntimeAgentDelegate.cpp +4 -2
  883. package/ReactCommon/hermes/inspector-modern/chrome/HermesRuntimeSamplingProfileSerializer.cpp +30 -20
  884. package/ReactCommon/hermes/inspector-modern/chrome/Registration.cpp +2 -2
  885. package/ReactCommon/hermes/inspector-modern/chrome/Registration.h +2 -2
  886. package/ReactCommon/jsi/jsi/decorator.h +50 -0
  887. package/ReactCommon/jsi/jsi/jsi-inl.h +31 -0
  888. package/ReactCommon/jsi/jsi/jsi.cpp +58 -0
  889. package/ReactCommon/jsi/jsi/jsi.h +50 -2
  890. package/ReactCommon/jsi/jsi/test/testlib.cpp +113 -1
  891. package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +4 -3
  892. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp +1 -1
  893. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.h +3 -1
  894. package/ReactCommon/jsiexecutor/jsireact/JSINativeModules.h +2 -1
  895. package/ReactCommon/jsinspector-modern/CMakeLists.txt +1 -0
  896. package/ReactCommon/jsinspector-modern/ExecutionContext.h +1 -2
  897. package/ReactCommon/jsinspector-modern/FallbackRuntimeAgentDelegate.cpp +3 -1
  898. package/ReactCommon/jsinspector-modern/HostAgent.cpp +178 -61
  899. package/ReactCommon/jsinspector-modern/HostAgent.h +26 -1
  900. package/ReactCommon/jsinspector-modern/HostTarget.cpp +88 -12
  901. package/ReactCommon/jsinspector-modern/HostTarget.h +85 -0
  902. package/ReactCommon/jsinspector-modern/HostTargetTraceRecording.cpp +54 -0
  903. package/ReactCommon/jsinspector-modern/HostTargetTraceRecording.h +86 -0
  904. package/ReactCommon/jsinspector-modern/HostTargetTracing.cpp +71 -0
  905. package/ReactCommon/jsinspector-modern/InspectorFlags.cpp +7 -0
  906. package/ReactCommon/jsinspector-modern/InspectorFlags.h +6 -0
  907. package/ReactCommon/jsinspector-modern/InspectorInterfaces.cpp +16 -16
  908. package/ReactCommon/jsinspector-modern/InspectorInterfaces.h +1 -1
  909. package/ReactCommon/jsinspector-modern/InspectorPackagerConnection.cpp +23 -17
  910. package/ReactCommon/jsinspector-modern/InspectorPackagerConnectionImpl.h +9 -8
  911. package/ReactCommon/jsinspector-modern/InspectorUtilities.cpp +8 -0
  912. package/ReactCommon/jsinspector-modern/InspectorUtilities.h +19 -0
  913. package/ReactCommon/jsinspector-modern/InstanceAgent.cpp +36 -14
  914. package/ReactCommon/jsinspector-modern/InstanceAgent.h +24 -17
  915. package/ReactCommon/jsinspector-modern/InstanceTarget.cpp +33 -4
  916. package/ReactCommon/jsinspector-modern/InstanceTarget.h +23 -3
  917. package/ReactCommon/jsinspector-modern/NetworkIOAgent.cpp +14 -6
  918. package/ReactCommon/jsinspector-modern/PerfMonitorV2.cpp +91 -0
  919. package/ReactCommon/jsinspector-modern/PerfMonitorV2.h +59 -0
  920. package/ReactCommon/jsinspector-modern/React-jsinspector.podspec +2 -0
  921. package/ReactCommon/jsinspector-modern/RuntimeAgent.cpp +37 -54
  922. package/ReactCommon/jsinspector-modern/RuntimeAgent.h +23 -7
  923. package/ReactCommon/jsinspector-modern/RuntimeTarget.cpp +21 -17
  924. package/ReactCommon/jsinspector-modern/RuntimeTarget.h +19 -11
  925. package/ReactCommon/jsinspector-modern/RuntimeTargetConsole.cpp +33 -3
  926. package/ReactCommon/jsinspector-modern/SessionState.h +6 -0
  927. package/ReactCommon/jsinspector-modern/TracingAgent.cpp +55 -56
  928. package/ReactCommon/jsinspector-modern/TracingAgent.h +20 -19
  929. package/ReactCommon/jsinspector-modern/Utf8.h +1 -0
  930. package/ReactCommon/jsinspector-modern/network/HttpUtils.cpp +18 -2
  931. package/ReactCommon/jsinspector-modern/network/NetworkReporter.cpp +4 -4
  932. package/ReactCommon/jsinspector-modern/tests/ConsoleApiTest.cpp +4 -3
  933. package/ReactCommon/jsinspector-modern/tests/ConsoleTimeStampTest.cpp +22 -25
  934. package/ReactCommon/jsinspector-modern/tests/FollyDynamicMatchers.cpp +1 -1
  935. package/ReactCommon/jsinspector-modern/tests/FollyDynamicMatchers.h +1 -1
  936. package/ReactCommon/jsinspector-modern/tests/HostTargetTest.cpp +24 -2
  937. package/ReactCommon/jsinspector-modern/tests/InspectorPackagerConnectionTest.cpp +36 -37
  938. package/ReactCommon/jsinspector-modern/tests/JsiIntegrationTest.cpp +58 -10
  939. package/ReactCommon/jsinspector-modern/tests/JsiIntegrationTest.h +2 -2
  940. package/ReactCommon/jsinspector-modern/tests/ReactInstanceIntegrationTest.cpp +1 -2
  941. package/ReactCommon/jsinspector-modern/tests/ReactInstanceIntegrationTest.h +1 -0
  942. package/ReactCommon/jsinspector-modern/tests/engines/JsiIntegrationTestGenericEngineAdapter.cpp +0 -2
  943. package/ReactCommon/jsinspector-modern/tracing/ConsoleTimeStamp.h +7 -0
  944. package/ReactCommon/jsinspector-modern/tracing/InstanceTracingProfile.h +2 -11
  945. package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.cpp +347 -242
  946. package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.h +116 -51
  947. package/ReactCommon/jsinspector-modern/tracing/RuntimeSamplingProfile.h +37 -111
  948. package/ReactCommon/jsinspector-modern/tracing/RuntimeSamplingProfileTraceEventSerializer.cpp +254 -122
  949. package/ReactCommon/jsinspector-modern/tracing/RuntimeSamplingProfileTraceEventSerializer.h +40 -125
  950. package/ReactCommon/jsinspector-modern/tracing/TargetTracingAgent.h +33 -0
  951. package/ReactCommon/jsinspector-modern/tracing/TraceEvent.h +12 -4
  952. package/ReactCommon/jsinspector-modern/tracing/TraceEventProfile.h +4 -62
  953. package/ReactCommon/jsinspector-modern/tracing/TraceEventSerializer.cpp +111 -0
  954. package/ReactCommon/jsinspector-modern/tracing/TraceEventSerializer.h +93 -0
  955. package/ReactCommon/jsinspector-modern/tracing/TraceRecordingState.h +39 -0
  956. package/ReactCommon/jsinspector-modern/tracing/TraceRecordingStateSerializer.cpp +68 -0
  957. package/ReactCommon/jsinspector-modern/tracing/TraceRecordingStateSerializer.h +42 -0
  958. package/ReactCommon/jsinspector-modern/tracing/TracingMode.h +17 -0
  959. package/ReactCommon/jsinspector-modern/tracing/TracingState.h +24 -0
  960. package/ReactCommon/jsinspector-modern/tracing/tests/RuntimeSamplingProfileTraceEventSerializerTest.cpp +115 -45
  961. package/ReactCommon/jsitooling/React-jsitooling.podspec +1 -0
  962. package/ReactCommon/jsitooling/react/runtime/JSRuntimeFactoryCAPI.cpp +1 -1
  963. package/ReactCommon/logger/react_native_log.h +7 -7
  964. package/ReactCommon/react/bridging/Class.h +5 -0
  965. package/ReactCommon/react/bridging/tests/BridgingTest.h +13 -26
  966. package/ReactCommon/react/bridging/tests/ClassTest.cpp +14 -8
  967. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +53 -17
  968. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +65 -20
  969. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +273 -111
  970. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +30 -12
  971. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +54 -18
  972. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +115 -34
  973. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSCanary.h +5 -1
  974. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSExperimental.h +3 -7
  975. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +15 -6
  976. package/ReactCommon/react/nativemodule/core/ReactCommon/CxxTurboModuleUtils.cpp +4 -1
  977. package/ReactCommon/react/nativemodule/core/ReactCommon/CxxTurboModuleUtils.h +3 -3
  978. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboCxxModule.cpp +13 -14
  979. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModule.cpp +4 -3
  980. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModule.h +2 -2
  981. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +1 -1
  982. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleUtils.cpp +2 -55
  983. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +4 -8
  984. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaInteropTurboModule.cpp +5 -4
  985. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaInteropTurboModule.h +1 -1
  986. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +11 -11
  987. package/ReactCommon/react/nativemodule/core/platform/ios/React-NativeModulesApple.podspec +1 -0
  988. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.mm +4 -3
  989. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +53 -18
  990. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.mm +1 -5
  991. package/ReactCommon/react/nativemodule/core/tests/TurboModuleTestFixture.h +135 -0
  992. package/ReactCommon/react/nativemodule/defaults/CMakeLists.txt +1 -0
  993. package/ReactCommon/react/nativemodule/defaults/DefaultTurboModules.cpp +8 -0
  994. package/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec +1 -0
  995. package/ReactCommon/react/nativemodule/dom/NativeDOM.cpp +41 -35
  996. package/ReactCommon/react/nativemodule/dom/NativeDOM.h +15 -3
  997. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +65 -20
  998. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +27 -9
  999. package/ReactCommon/react/nativemodule/idlecallbacks/NativeIdleCallbacks.cpp +1 -1
  1000. package/ReactCommon/react/nativemodule/intersectionobserver/NativeIntersectionObserver.cpp +0 -15
  1001. package/ReactCommon/react/nativemodule/intersectionobserver/NativeIntersectionObserver.h +0 -13
  1002. package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.cpp +2 -2
  1003. package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.h +1 -1
  1004. package/ReactCommon/react/nativemodule/samples/ReactCommon/README.md +2 -0
  1005. package/ReactCommon/react/nativemodule/samples/platform/android/ReactCommon/SampleTurboModuleSpec.cpp +47 -25
  1006. package/ReactCommon/react/nativemodule/samples/platform/android/SampleLegacyModule.kt +6 -2
  1007. package/ReactCommon/react/nativemodule/samples/platform/android/SampleTurboModule.kt +6 -2
  1008. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTNativeSampleTurboModuleSpec.mm +36 -19
  1009. package/ReactCommon/react/nativemodule/webperformance/CMakeLists.txt +2 -2
  1010. package/ReactCommon/react/nativemodule/webperformance/NativePerformance.cpp +51 -58
  1011. package/ReactCommon/react/nativemodule/webperformance/NativePerformance.h +18 -12
  1012. package/ReactCommon/react/nativemodule/webperformance/React-webperformancenativemodule.podspec +58 -0
  1013. package/ReactCommon/react/performance/cdpmetrics/CMakeLists.txt +23 -0
  1014. package/ReactCommon/react/performance/cdpmetrics/CdpInteractionTypes.cpp +63 -0
  1015. package/ReactCommon/react/performance/cdpmetrics/CdpInteractionTypes.h +22 -0
  1016. package/ReactCommon/react/performance/cdpmetrics/CdpMetricsReporter.cpp +98 -0
  1017. package/ReactCommon/react/performance/cdpmetrics/CdpMetricsReporter.h +37 -0
  1018. package/ReactCommon/react/performance/cdpmetrics/React-performancecdpmetrics.podspec +53 -0
  1019. package/ReactCommon/react/performance/timeline/CMakeLists.txt +2 -1
  1020. package/ReactCommon/react/performance/timeline/PerformanceEntry.h +4 -0
  1021. package/ReactCommon/react/performance/timeline/PerformanceEntryKeyedBuffer.cpp +1 -3
  1022. package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.cpp +104 -70
  1023. package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.h +32 -19
  1024. package/ReactCommon/react/performance/timeline/PerformanceEntryReporterListeners.h +26 -0
  1025. package/ReactCommon/react/performance/timeline/tests/PerformanceEntryReporterTest.cpp +19 -30
  1026. package/ReactCommon/react/performance/timeline/tests/PerformanceObserverTest.cpp +28 -4
  1027. package/ReactCommon/react/renderer/animated/AnimatedModule.cpp +298 -0
  1028. package/ReactCommon/react/renderer/animated/AnimatedModule.h +214 -0
  1029. package/ReactCommon/react/renderer/animated/CMakeLists.txt +33 -0
  1030. package/ReactCommon/react/renderer/animated/EventEmitterListener.h +72 -0
  1031. package/ReactCommon/react/renderer/animated/MergedValueDispatcher.cpp +46 -0
  1032. package/ReactCommon/react/renderer/animated/MergedValueDispatcher.h +56 -0
  1033. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.cpp +917 -0
  1034. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.h +264 -0
  1035. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManagerProvider.cpp +154 -0
  1036. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManagerProvider.h +64 -0
  1037. package/ReactCommon/react/renderer/animated/drivers/AnimationDriver.cpp +102 -0
  1038. package/ReactCommon/react/renderer/animated/drivers/AnimationDriver.h +91 -0
  1039. package/ReactCommon/react/renderer/animated/drivers/AnimationDriverUtils.h +64 -0
  1040. package/ReactCommon/react/renderer/animated/drivers/DecayAnimationDriver.cpp +81 -0
  1041. package/ReactCommon/react/renderer/animated/drivers/DecayAnimationDriver.h +40 -0
  1042. package/ReactCommon/react/renderer/animated/drivers/FrameAnimationDriver.cpp +113 -0
  1043. package/ReactCommon/react/renderer/animated/drivers/FrameAnimationDriver.h +40 -0
  1044. package/ReactCommon/react/renderer/animated/drivers/SpringAnimationDriver.cpp +148 -0
  1045. package/ReactCommon/react/renderer/animated/drivers/SpringAnimationDriver.h +50 -0
  1046. package/ReactCommon/react/renderer/animated/event_drivers/EventAnimationDriver.cpp +28 -0
  1047. package/ReactCommon/react/renderer/animated/event_drivers/EventAnimationDriver.h +63 -0
  1048. package/ReactCommon/react/renderer/animated/internal/AnimatedMountingOverrideDelegate.cpp +105 -0
  1049. package/ReactCommon/react/renderer/animated/internal/AnimatedMountingOverrideDelegate.h +42 -0
  1050. package/ReactCommon/react/renderer/animated/internal/NativeAnimatedAllowlist.h +63 -0
  1051. package/ReactCommon/react/renderer/animated/internal/primitives.h +16 -0
  1052. package/ReactCommon/react/renderer/animated/nodes/AdditionAnimatedNode.cpp +30 -0
  1053. package/ReactCommon/react/renderer/animated/nodes/AdditionAnimatedNode.h +29 -0
  1054. package/ReactCommon/react/renderer/animated/nodes/AnimatedNode.cpp +81 -0
  1055. package/ReactCommon/react/renderer/animated/nodes/AnimatedNode.h +109 -0
  1056. package/ReactCommon/react/renderer/animated/nodes/ColorAnimatedNode.cpp +68 -0
  1057. package/ReactCommon/react/renderer/animated/nodes/ColorAnimatedNode.h +38 -0
  1058. package/ReactCommon/react/renderer/animated/nodes/DiffClampAnimatedNode.cpp +37 -0
  1059. package/ReactCommon/react/renderer/animated/nodes/DiffClampAnimatedNode.h +34 -0
  1060. package/ReactCommon/react/renderer/animated/nodes/DivisionAnimatedNode.cpp +37 -0
  1061. package/ReactCommon/react/renderer/animated/nodes/DivisionAnimatedNode.h +29 -0
  1062. package/ReactCommon/react/renderer/animated/nodes/InterpolationAnimatedNode.cpp +144 -0
  1063. package/ReactCommon/react/renderer/animated/nodes/InterpolationAnimatedNode.h +44 -0
  1064. package/ReactCommon/react/renderer/animated/nodes/ModulusAnimatedNode.cpp +33 -0
  1065. package/ReactCommon/react/renderer/animated/nodes/ModulusAnimatedNode.h +32 -0
  1066. package/ReactCommon/react/renderer/animated/nodes/MultiplicationAnimatedNode.cpp +36 -0
  1067. package/ReactCommon/react/renderer/animated/nodes/MultiplicationAnimatedNode.h +29 -0
  1068. package/ReactCommon/react/renderer/animated/nodes/PropsAnimatedNode.cpp +143 -0
  1069. package/ReactCommon/react/renderer/animated/nodes/PropsAnimatedNode.h +50 -0
  1070. package/ReactCommon/react/renderer/animated/nodes/RoundAnimatedNode.cpp +38 -0
  1071. package/ReactCommon/react/renderer/animated/nodes/RoundAnimatedNode.h +38 -0
  1072. package/ReactCommon/react/renderer/animated/nodes/StyleAnimatedNode.cpp +96 -0
  1073. package/ReactCommon/react/renderer/animated/nodes/StyleAnimatedNode.h +34 -0
  1074. package/ReactCommon/react/renderer/animated/nodes/SubtractionAnimatedNode.cpp +37 -0
  1075. package/ReactCommon/react/renderer/animated/nodes/SubtractionAnimatedNode.h +30 -0
  1076. package/ReactCommon/react/renderer/animated/nodes/TrackingAnimatedNode.cpp +43 -0
  1077. package/ReactCommon/react/renderer/animated/nodes/TrackingAnimatedNode.h +33 -0
  1078. package/ReactCommon/react/renderer/animated/nodes/TransformAnimatedNode.cpp +58 -0
  1079. package/ReactCommon/react/renderer/animated/nodes/TransformAnimatedNode.h +34 -0
  1080. package/ReactCommon/react/renderer/animated/nodes/ValueAnimatedNode.cpp +101 -0
  1081. package/ReactCommon/react/renderer/animated/nodes/ValueAnimatedNode.h +63 -0
  1082. package/ReactCommon/react/renderer/animated/tests/AnimatedNodeTests.cpp +217 -0
  1083. package/ReactCommon/react/renderer/animated/tests/AnimationDriverTests.cpp +61 -0
  1084. package/ReactCommon/react/renderer/animated/tests/AnimationTestsBase.h +53 -0
  1085. package/ReactCommon/react/renderer/animated/tests/EventAnimationDriverTests.cpp +70 -0
  1086. package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.h +1 -1
  1087. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +1 -1
  1088. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.h +2 -2
  1089. package/ReactCommon/react/renderer/animations/utils.h +1 -1
  1090. package/ReactCommon/react/renderer/attributedstring/conversions.h +0 -1
  1091. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorFactory.h +1 -1
  1092. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +2 -2
  1093. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.h +4 -3
  1094. package/ReactCommon/react/renderer/components/image/ImageProps.cpp +50 -0
  1095. package/ReactCommon/react/renderer/components/image/ImageProps.h +4 -0
  1096. package/ReactCommon/react/renderer/components/image/ImageShadowNode.cpp +9 -12
  1097. package/ReactCommon/react/renderer/components/image/ImageShadowNode.h +2 -2
  1098. package/ReactCommon/react/renderer/components/inputaccessory/InputAccessoryComponentDescriptor.h +3 -2
  1099. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.mm +1 -1
  1100. package/ReactCommon/react/renderer/components/modal/ModalHostViewComponentDescriptor.cpp +48 -0
  1101. package/ReactCommon/react/renderer/components/modal/ModalHostViewComponentDescriptor.h +10 -0
  1102. package/ReactCommon/react/renderer/components/modal/ModalHostViewUtils.mm +1 -1
  1103. package/ReactCommon/react/renderer/components/modal/platform/android/ModalHostViewUtils.cpp +1 -2
  1104. package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarMeasurementsManager.h +2 -2
  1105. package/ReactCommon/react/renderer/components/root/RootShadowNode.cpp +1 -0
  1106. package/ReactCommon/react/renderer/components/safeareaview/SafeAreaViewShadowNode.cpp +2 -1
  1107. package/ReactCommon/react/renderer/components/safeareaview/SafeAreaViewShadowNode.h +1 -0
  1108. package/ReactCommon/react/renderer/components/scrollview/BaseScrollViewProps.cpp +1 -1
  1109. package/ReactCommon/react/renderer/components/scrollview/ScrollViewShadowNode.cpp +6 -3
  1110. package/ReactCommon/react/renderer/components/scrollview/ScrollViewState.h +8 -0
  1111. package/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchMeasurementsManager.h +2 -2
  1112. package/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchShadowNode.cpp +1 -0
  1113. package/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchShadowNode.h +1 -0
  1114. package/ReactCommon/react/renderer/components/text/{ParagraphProps.cpp → BaseParagraphProps.cpp} +8 -96
  1115. package/ReactCommon/react/renderer/components/text/BaseParagraphProps.h +62 -0
  1116. package/ReactCommon/react/renderer/components/text/ParagraphProps.h +2 -49
  1117. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp +1 -0
  1118. package/ReactCommon/react/renderer/components/text/platform/android/react/renderer/components/text/HostPlatformParagraphProps.cpp +198 -0
  1119. package/ReactCommon/react/renderer/components/text/platform/android/react/renderer/components/text/HostPlatformParagraphProps.h +59 -0
  1120. package/ReactCommon/react/renderer/components/text/platform/android/react/renderer/components/text/ParagraphState.cpp +1 -1
  1121. package/ReactCommon/react/renderer/components/text/platform/android/react/renderer/components/text/conversions.h +52 -0
  1122. package/ReactCommon/react/{nativemodule/core/ReactCommon/LongLivedObject.h → renderer/components/text/platform/android/react/renderer/components/text/primitives.h} +11 -2
  1123. package/ReactCommon/react/renderer/components/text/platform/cxx/react/renderer/components/text/HostPlatformParagraphProps.h +14 -0
  1124. package/ReactCommon/react/renderer/components/textinput/BaseTextInputProps.cpp +5 -9
  1125. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.cpp +1 -0
  1126. package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewShadowNode.cpp +1 -0
  1127. package/ReactCommon/react/renderer/components/view/AccessibilityPrimitives.h +26 -1
  1128. package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +14 -2
  1129. package/ReactCommon/react/renderer/components/view/BaseViewProps.h +1 -8
  1130. package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +1 -0
  1131. package/ReactCommon/react/renderer/components/view/ViewShadowNode.h +1 -0
  1132. package/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +1 -1
  1133. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.cpp +1 -40
  1134. package/ReactCommon/react/renderer/components/virtualviewexperimental/VirtualViewExperimentalComponentDescriptor.h +20 -0
  1135. package/ReactCommon/react/renderer/components/virtualviewexperimental/VirtualViewExperimentalShadowNode.h +39 -0
  1136. package/ReactCommon/react/renderer/core/ComponentDescriptor.h +1 -1
  1137. package/ReactCommon/react/renderer/core/ConcreteState.h +13 -6
  1138. package/ReactCommon/react/renderer/core/DynamicEventPayload.cpp +1 -1
  1139. package/ReactCommon/react/renderer/core/DynamicPropsUtilities.h +1 -1
  1140. package/ReactCommon/react/renderer/core/EventDispatcher.cpp +4 -2
  1141. package/ReactCommon/react/renderer/core/EventDispatcher.h +3 -1
  1142. package/ReactCommon/react/renderer/core/EventQueue.cpp +9 -9
  1143. package/ReactCommon/react/renderer/core/EventQueue.h +15 -1
  1144. package/ReactCommon/react/renderer/core/RawProps.cpp +1 -2
  1145. package/ReactCommon/react/renderer/core/RawProps.h +1 -1
  1146. package/ReactCommon/react/renderer/core/RawPropsParser.cpp +1 -1
  1147. package/ReactCommon/react/renderer/core/RawValue.h +6 -22
  1148. package/ReactCommon/react/renderer/core/ShadowNode.cpp +2 -1
  1149. package/ReactCommon/react/renderer/core/ShadowNode.h +7 -3
  1150. package/ReactCommon/react/renderer/core/ShadowNodeFamily.cpp +4 -2
  1151. package/ReactCommon/react/renderer/core/ShadowNodeFamily.h +3 -1
  1152. package/ReactCommon/react/renderer/core/tests/RawPropsTest.cpp +2 -2
  1153. package/ReactCommon/react/renderer/core/tests/RawValueTest.cpp +26 -0
  1154. package/ReactCommon/react/renderer/css/CSSHexColor.h +2 -2
  1155. package/ReactCommon/react/renderer/css/tests/CSSSyntaxParserTest.cpp +3 -3
  1156. package/ReactCommon/react/renderer/debug/DebugStringConvertible.h +16 -0
  1157. package/ReactCommon/react/renderer/dom/DOM.cpp +17 -0
  1158. package/ReactCommon/react/renderer/dom/DOM.h +4 -0
  1159. package/ReactCommon/react/renderer/element/testUtils.h +1 -1
  1160. package/ReactCommon/react/renderer/graphics/BoxShadow.h +20 -0
  1161. package/ReactCommon/react/renderer/graphics/Color.cpp +4 -4
  1162. package/ReactCommon/react/renderer/graphics/Color.h +4 -5
  1163. package/ReactCommon/react/renderer/graphics/Filter.h +47 -16
  1164. package/ReactCommon/react/renderer/graphics/Transform.cpp +24 -21
  1165. package/ReactCommon/react/renderer/graphics/Transform.h +21 -20
  1166. package/ReactCommon/react/renderer/graphics/ValueUnit.h +1 -1
  1167. package/ReactCommon/react/renderer/graphics/platform/android/react/renderer/graphics/HostPlatformColor.h +5 -5
  1168. package/ReactCommon/react/renderer/graphics/platform/android/react/renderer/graphics/PlatformColorParser.h +1 -1
  1169. package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/HostPlatformColor.h +1 -1
  1170. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/HostPlatformColor.h +12 -12
  1171. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/HostPlatformColor.mm +13 -12
  1172. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/PlatformColorParser.mm +4 -4
  1173. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/RCTPlatformColorUtils.mm +1 -1
  1174. package/ReactCommon/react/renderer/imagemanager/ImageManager.h +6 -8
  1175. package/ReactCommon/react/renderer/imagemanager/ImageResponse.h +1 -0
  1176. package/ReactCommon/react/renderer/imagemanager/ImageResponseObserverCoordinator.cpp +15 -1
  1177. package/ReactCommon/react/renderer/imagemanager/ImageResponseObserverCoordinator.h +5 -0
  1178. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageFetcher.cpp +59 -20
  1179. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageFetcher.h +25 -12
  1180. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageManager.cpp +17 -8
  1181. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageRequestParams.h +7 -0
  1182. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/conversions.h +50 -44
  1183. package/ReactCommon/react/renderer/imagemanager/platform/cxx/react/renderer/imagemanager/ImageManager.cpp +1 -7
  1184. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/ImageManager.mm +1 -6
  1185. package/ReactCommon/react/renderer/imagemanager/primitives.h +69 -7
  1186. package/ReactCommon/react/renderer/mapbuffer/tests/MapBufferTest.cpp +9 -0
  1187. package/ReactCommon/react/renderer/mounting/Differentiator.cpp +6 -10
  1188. package/ReactCommon/react/renderer/mounting/internal/CullingContext.cpp +14 -1
  1189. package/ReactCommon/react/renderer/mounting/internal/sliceChildShadowNodeViewPairs.cpp +8 -1
  1190. package/ReactCommon/react/renderer/mounting/stubs/StubView.cpp +1 -0
  1191. package/ReactCommon/react/renderer/mounting/stubs/StubViewTree.cpp +3 -2
  1192. package/ReactCommon/react/renderer/mounting/stubs/StubViewTree.h +4 -4
  1193. package/ReactCommon/react/renderer/mounting/tests/OrderIndexTest.cpp +8 -38
  1194. package/ReactCommon/react/renderer/mounting/tests/ShadowTreeLifeCycleTest.cpp +6 -39
  1195. package/ReactCommon/react/renderer/mounting/tests/StackingContextTest.cpp +8 -34
  1196. package/ReactCommon/react/renderer/mounting/tests/StateReconciliationTest.cpp +3 -3
  1197. package/ReactCommon/react/renderer/observers/events/EventPerformanceLogger.cpp +10 -6
  1198. package/ReactCommon/react/renderer/observers/events/EventPerformanceLogger.h +2 -0
  1199. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverManager.cpp +1 -1
  1200. package/ReactCommon/react/renderer/observers/mutation/MutationObserverManager.cpp +3 -5
  1201. package/ReactCommon/react/renderer/observers/mutation/MutationObserverManager.h +4 -4
  1202. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerEventTimingDelegate.h +2 -0
  1203. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.cpp +3 -3
  1204. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.h +1 -1
  1205. package/ReactCommon/react/renderer/runtimescheduler/SchedulerPriorityUtils.h +6 -4
  1206. package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +3 -3
  1207. package/ReactCommon/react/renderer/scheduler/CMakeLists.txt +1 -0
  1208. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +47 -5
  1209. package/ReactCommon/react/renderer/scheduler/Scheduler.h +4 -3
  1210. package/ReactCommon/react/renderer/scheduler/SchedulerToolbox.h +1 -1
  1211. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp +1 -1
  1212. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.h +2 -2
  1213. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +48 -9
  1214. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.h +2 -1
  1215. package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/react/renderer/textlayoutmanager/TextLayoutManager.cpp +1 -1
  1216. package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/react/renderer/textlayoutmanager/TextLayoutManager.h +2 -1
  1217. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +41 -34
  1218. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.h +2 -1
  1219. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.mm +29 -24
  1220. package/ReactCommon/react/renderer/uimanager/PointerHoverTracker.cpp +2 -2
  1221. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +2 -2
  1222. package/ReactCommon/react/renderer/uimanager/UIManager.h +3 -4
  1223. package/ReactCommon/react/renderer/uimanager/UIManagerCommitHook.h +11 -0
  1224. package/ReactCommon/react/renderer/uimanager/UIManagerUpdateShadowTree.cpp +7 -6
  1225. package/ReactCommon/react/renderer/uimanager/consistency/tests/LazyShadowTreeRevisionConsistencyManagerTest.cpp +2 -2
  1226. package/ReactCommon/react/renderer/uimanager/primitives.h +2 -1
  1227. package/ReactCommon/react/renderer/uimanager/tests/PointerEventsProcessorTest.cpp +5 -7
  1228. package/ReactCommon/react/runtime/BridgelessNativeMethodCallInvoker.cpp +2 -2
  1229. package/ReactCommon/react/runtime/BufferedRuntimeExecutor.cpp +3 -5
  1230. package/ReactCommon/react/runtime/CMakeLists.txt +4 -0
  1231. package/ReactCommon/react/runtime/ReactInstance.cpp +18 -10
  1232. package/ReactCommon/react/runtime/ReactInstance.h +1 -2
  1233. package/ReactCommon/react/runtime/TimerManager.cpp +10 -10
  1234. package/ReactCommon/react/runtime/hermes/CMakeLists.txt +5 -1
  1235. package/ReactCommon/react/runtime/hermes/HermesInstance.cpp +7 -3
  1236. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.mm +1 -1
  1237. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTJscInstance.h +2 -4
  1238. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTJscInstance.mm +2 -4
  1239. package/ReactCommon/react/runtime/tests/cxx/ReactInstanceTest.cpp +12 -11
  1240. package/ReactCommon/react/test_utils/MockClock.h +2 -3
  1241. package/ReactCommon/react/timing/CMakeLists.txt +2 -0
  1242. package/ReactCommon/react/timing/primitives.h +44 -4
  1243. package/ReactCommon/react/utils/ContextContainer.h +3 -2
  1244. package/ReactCommon/react/utils/SimpleThreadSafeCache.h +36 -17
  1245. package/ReactCommon/reactperflogger/fusebox/FuseboxTracer.cpp +2 -2
  1246. package/ReactCommon/reactperflogger/fusebox/FuseboxTracer.h +1 -1
  1247. package/ReactCommon/reactperflogger/reactperflogger/FuseboxPerfettoDataSource.cpp +6 -2
  1248. package/ReactCommon/reactperflogger/reactperflogger/HermesPerfettoDataSource.cpp +1 -3
  1249. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfetto.cpp +3 -5
  1250. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfettoCategories.cpp +2 -1
  1251. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfettoCategories.h +2 -1
  1252. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfettoLogger.cpp +32 -8
  1253. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfettoLogger.h +5 -3
  1254. package/ReactCommon/yoga/yoga/Yoga.h +8 -8
  1255. package/cli.js +1 -1
  1256. package/flow/bom.js.flow +223 -1
  1257. package/flow/prettier.js.flow +14 -0
  1258. package/gradle/libs.versions.toml +5 -3
  1259. package/index.js +14 -2
  1260. package/index.js.flow +4 -0
  1261. package/jest/local-setup.js +2 -2
  1262. package/jest/mock.js +1 -1
  1263. package/jest/mockComponent.js +9 -9
  1264. package/jest/mockNativeComponent.js +3 -2
  1265. package/jest/mocks/Modal.js +1 -1
  1266. package/jest/mocks/ScrollView.js +1 -1
  1267. package/jest/mocks/ViewNativeComponent.js +1 -1
  1268. package/jest/setup.js +23 -12
  1269. package/package.json +12 -11
  1270. package/react-native.config.js +1 -1
  1271. package/scripts/cocoapods/autolinking.rb +6 -0
  1272. package/scripts/cocoapods/codegen.rb +1 -1
  1273. package/scripts/cocoapods/codegen_utils.rb +1 -1
  1274. package/scripts/cocoapods/jsengine.rb +2 -1
  1275. package/scripts/cocoapods/new_architecture.rb +8 -4
  1276. package/scripts/cocoapods/utils.rb +8 -2
  1277. package/scripts/codegen/codegen-utils.js +4 -4
  1278. package/scripts/codegen/generate-artifacts-executor/constants.js +29 -29
  1279. package/scripts/codegen/generate-artifacts-executor/generateNativeCode.js +1 -1
  1280. package/scripts/codegen/generate-artifacts-executor/generateRCTModuleProviders.js +1 -1
  1281. package/scripts/codegen/generate-artifacts-executor/generateRCTThirdPartyComponents.js +2 -2
  1282. package/scripts/codegen/generate-artifacts-executor/generateSchemaInfos.js +1 -1
  1283. package/scripts/codegen/generate-artifacts-executor/index.js +5 -6
  1284. package/scripts/codegen/generate-artifacts-executor/utils.js +63 -12
  1285. package/scripts/codegen/generate-specs-cli-executor.js +18 -15
  1286. package/scripts/generate-provider-cli.js +5 -5
  1287. package/scripts/hermes/hermes-utils.js +12 -6
  1288. package/scripts/react_native_pods.rb +29 -8
  1289. package/sdks/.hermesversion +1 -1
  1290. package/sdks/hermes-engine/hermes-engine.podspec +47 -24
  1291. package/sdks/hermes-engine/hermes-utils.rb +42 -11
  1292. package/sdks/hermes-engine/utils/build-apple-framework.sh +21 -15
  1293. package/sdks/hermes-engine/utils/build-hermes-xcode.sh +11 -4
  1294. package/sdks/hermes-engine/utils/build-hermesc-xcode.sh +1 -1
  1295. package/sdks/hermes-engine/utils/build-ios-framework.sh +3 -3
  1296. package/sdks/hermes-engine/utils/build-mac-framework.sh +1 -1
  1297. package/sdks/hermes-engine/utils/create-dummy-hermes-xcframework.sh +5 -5
  1298. package/sdks/hermes-engine/version.properties +1 -0
  1299. package/sdks/hermesc/osx-bin/hermes +0 -0
  1300. package/sdks/hermesc/osx-bin/hermesc +0 -0
  1301. package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
  1302. package/settings.gradle.kts +32 -0
  1303. package/src/private/animated/NativeAnimatedHelper.js +16 -5
  1304. package/src/private/animated/createAnimatedPropsHook.js +11 -60
  1305. package/src/private/animated/createAnimatedPropsMemoHook.js +8 -54
  1306. package/src/private/components/virtualview/VirtualView.js +43 -12
  1307. package/src/private/components/virtualview/VirtualViewExperimentalNativeComponent.js +93 -0
  1308. package/src/private/components/virtualview/VirtualViewNativeComponent.js +6 -0
  1309. package/src/private/devsupport/devmenu/elementinspector/Inspector.js +2 -2
  1310. package/src/private/devsupport/devmenu/elementinspector/ReactDevToolsOverlay.js +2 -2
  1311. package/src/private/featureflags/ReactNativeFeatureFlags.js +85 -52
  1312. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +23 -4
  1313. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +15 -6
  1314. package/src/private/renderer/errorhandling/ErrorHandlers.js +3 -3
  1315. package/src/private/setup/{setUpPerformanceObserver.js → setUpPerformanceModern.js} +43 -18
  1316. package/src/private/specs_DEPRECATED/modules/NativeTiming.js +1 -0
  1317. package/src/private/types/HostInstance.js +4 -1
  1318. package/src/private/webapis/dom/nodes/ReactNativeDocument.js +22 -2
  1319. package/src/private/webapis/dom/nodes/ReactNativeElement.js +1 -1
  1320. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +5 -3
  1321. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +16 -13
  1322. package/src/private/webapis/dom/nodes/internals/NodeInternals.js +45 -22
  1323. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.js +1 -1
  1324. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +26 -192
  1325. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +15 -12
  1326. package/src/private/webapis/dom/oldstylecollections/NodeList.js +14 -11
  1327. package/src/private/webapis/geometry/DOMRectList.js +2 -2
  1328. package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +19 -74
  1329. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +0 -4
  1330. package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +1 -1
  1331. package/src/private/webapis/performance/EventTiming.js +40 -25
  1332. package/src/private/webapis/performance/LongTasks.js +35 -2
  1333. package/src/private/webapis/performance/Performance.js +347 -166
  1334. package/src/private/webapis/performance/PerformanceEntry.js +40 -23
  1335. package/src/private/webapis/performance/PerformanceObserver.js +37 -29
  1336. package/src/private/webapis/performance/ReactNativeStartupTiming.js +3 -24
  1337. package/src/private/webapis/performance/ResourceTiming.js +29 -18
  1338. package/src/private/webapis/performance/UserTiming.js +92 -34
  1339. package/src/private/webapis/performance/UserTimingExtensibility.js.flow +38 -0
  1340. package/src/private/webapis/performance/internals/RawPerformanceEntry.js +3 -4
  1341. package/src/private/webapis/performance/internals/Utilities.js +9 -0
  1342. package/src/private/webapis/performance/specs/NativePerformance.js +23 -23
  1343. package/src/private/webapis/structuredClone/structuredClone.js +10 -10
  1344. package/third-party-podspecs/ReactNativeDependencies.podspec +1 -1
  1345. package/types/public/ReactNativeTVTypes.d.ts +1 -43
  1346. package/Libraries/Interaction/InteractionManagerStub.js +0 -184
  1347. package/Libraries/Interaction/TaskQueue.js +0 -183
  1348. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +0 -31
  1349. package/React/Fabric/Mounting/ComponentViews/View/RCTViewAccessibilityElement.h +0 -28
  1350. package/React/Fabric/Mounting/ComponentViews/View/RCTViewAccessibilityElement.mm +0 -83
  1351. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageLogger.kt +0 -19
  1352. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Arguments.java +0 -423
  1353. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Inspector.kt +0 -78
  1354. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSONArguments.kt +0 -115
  1355. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeArgumentsParseException.kt +0 -28
  1356. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNoCrashBridgeNotAllowedSoftException.kt +0 -29
  1357. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ResponseUtil.kt +0 -133
  1358. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.java +0 -1049
  1359. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactYogaConfigProvider.kt +0 -30
  1360. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleListener.kt +0 -22
  1361. package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaViewShadowNode.kt +0 -15
  1362. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.java +0 -669
  1363. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java +0 -811
  1364. package/ReactAndroid/src/main/java/com/facebook/yoga/LayoutPassReason.java +0 -43
  1365. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfig.java +0 -29
  1366. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConstants.java +0 -25
  1367. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaLayoutType.java +0 -35
  1368. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaMeasureFunction.java +0 -20
  1369. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaMeasureOutput.java +0 -32
  1370. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNative.java +0 -141
  1371. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeFactory.java +0 -18
  1372. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaStyleInputs.java +0 -51
  1373. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaValue.java +0 -80
  1374. package/ReactAndroid/src/main/java/com/facebook/yoga/annotations/DoNotStrip.java +0 -18
  1375. package/ReactAndroid/src/main/jni/react/jni/CxxSharedModuleWrapper.h +0 -37
  1376. package/ReactAndroid/src/main/jni/react/jni/JInspector.cpp +0 -112
  1377. package/ReactAndroid/src/main/jni/react/jni/JInspector.h +0 -77
  1378. package/ReactCommon/cxxreact/SharedProxyCxxModule.h +0 -40
  1379. package/ReactCommon/jsinspector-modern/tracing/CdpTracing.h +0 -21
  1380. package/ReactCommon/react/nativemodule/samples/ReactCommon/NativeSampleTurboCxxModuleSpecJSI.cpp +0 -151
  1381. package/ReactCommon/react/nativemodule/samples/ReactCommon/NativeSampleTurboCxxModuleSpecJSI.h +0 -42
  1382. package/ReactCommon/react/nativemodule/samples/ReactCommon/SampleTurboCxxModule.cpp +0 -96
  1383. package/ReactCommon/react/nativemodule/samples/ReactCommon/SampleTurboCxxModule.h +0 -43
  1384. package/ReactCommon/react/renderer/components/modal/platform/android/JReactModalHostView.h +0 -38
  1385. package/types_generated/Libraries/ActionSheetIOS/ActionSheetIOS.d.ts +0 -101
  1386. package/types_generated/Libraries/Alert/Alert.d.ts +0 -55
  1387. package/types_generated/Libraries/Animated/Animated.d.ts +0 -14
  1388. package/types_generated/Libraries/Animated/AnimatedEvent.d.ts +0 -30
  1389. package/types_generated/Libraries/Animated/AnimatedExports.d.ts +0 -190
  1390. package/types_generated/Libraries/Animated/AnimatedImplementation.d.ts +0 -128
  1391. package/types_generated/Libraries/Animated/AnimatedPlatformConfig.d.ts +0 -13
  1392. package/types_generated/Libraries/Animated/Easing.d.ts +0 -171
  1393. package/types_generated/Libraries/Animated/animations/Animation.d.ts +0 -35
  1394. package/types_generated/Libraries/Animated/animations/DecayAnimation.d.ts +0 -42
  1395. package/types_generated/Libraries/Animated/animations/SpringAnimation.d.ts +0 -130
  1396. package/types_generated/Libraries/Animated/animations/TimingAnimation.d.ts +0 -54
  1397. package/types_generated/Libraries/Animated/components/AnimatedFlatList.d.ts +0 -22
  1398. package/types_generated/Libraries/Animated/components/AnimatedImage.d.ts +0 -18
  1399. package/types_generated/Libraries/Animated/components/AnimatedScrollView.d.ts +0 -23
  1400. package/types_generated/Libraries/Animated/components/AnimatedSectionList.d.ts +0 -22
  1401. package/types_generated/Libraries/Animated/components/AnimatedText.d.ts +0 -18
  1402. package/types_generated/Libraries/Animated/components/AnimatedView.d.ts +0 -19
  1403. package/types_generated/Libraries/Animated/createAnimatedComponent.d.ts +0 -42
  1404. package/types_generated/Libraries/Animated/nodes/AnimatedAddition.d.ts +0 -22
  1405. package/types_generated/Libraries/Animated/nodes/AnimatedColor.d.ts +0 -76
  1406. package/types_generated/Libraries/Animated/nodes/AnimatedDiffClamp.d.ts +0 -22
  1407. package/types_generated/Libraries/Animated/nodes/AnimatedDivision.d.ts +0 -22
  1408. package/types_generated/Libraries/Animated/nodes/AnimatedInterpolation.d.ts +0 -36
  1409. package/types_generated/Libraries/Animated/nodes/AnimatedModulo.d.ts +0 -22
  1410. package/types_generated/Libraries/Animated/nodes/AnimatedMultiplication.d.ts +0 -22
  1411. package/types_generated/Libraries/Animated/nodes/AnimatedNode.d.ts +0 -46
  1412. package/types_generated/Libraries/Animated/nodes/AnimatedProps.d.ts +0 -29
  1413. package/types_generated/Libraries/Animated/nodes/AnimatedStyle.d.ts +0 -32
  1414. package/types_generated/Libraries/Animated/nodes/AnimatedSubtraction.d.ts +0 -22
  1415. package/types_generated/Libraries/Animated/nodes/AnimatedTracking.d.ts +0 -21
  1416. package/types_generated/Libraries/Animated/nodes/AnimatedValue.d.ts +0 -126
  1417. package/types_generated/Libraries/Animated/nodes/AnimatedValueXY.d.ts +0 -135
  1418. package/types_generated/Libraries/Animated/nodes/AnimatedWithChildren.d.ts +0 -15
  1419. package/types_generated/Libraries/Animated/useAnimatedValue.d.ts +0 -15
  1420. package/types_generated/Libraries/AppState/AppState.d.ts +0 -63
  1421. package/types_generated/Libraries/BatchedBridge/BatchedBridge.d.ts +0 -17
  1422. package/types_generated/Libraries/BatchedBridge/MessageQueue.d.ts +0 -39
  1423. package/types_generated/Libraries/BatchedBridge/NativeModules.d.ts +0 -20
  1424. package/types_generated/Libraries/Blob/Blob.d.ts +0 -80
  1425. package/types_generated/Libraries/Blob/BlobTypes.d.ts +0 -27
  1426. package/types_generated/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +0 -220
  1427. package/types_generated/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.d.ts +0 -20
  1428. package/types_generated/Libraries/Components/ActivityIndicator/ActivityIndicator.d.ts +0 -84
  1429. package/types_generated/Libraries/Components/Button.d.ts +0 -251
  1430. package/types_generated/Libraries/Components/Clipboard/Clipboard.d.ts +0 -38
  1431. package/types_generated/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.d.ts +0 -17
  1432. package/types_generated/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidFallback.d.ts +0 -27
  1433. package/types_generated/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidTypes.d.ts +0 -176
  1434. package/types_generated/Libraries/Components/Keyboard/Keyboard.d.ts +0 -146
  1435. package/types_generated/Libraries/Components/Keyboard/KeyboardAvoidingView.d.ts +0 -73
  1436. package/types_generated/Libraries/Components/LayoutConformance/LayoutConformance.d.ts +0 -24
  1437. package/types_generated/Libraries/Components/Pressable/Pressable.d.ts +0 -141
  1438. package/types_generated/Libraries/Components/Pressable/useAndroidRippleForView.d.ts +0 -45
  1439. package/types_generated/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.d.ts +0 -32
  1440. package/types_generated/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.d.ts +0 -14
  1441. package/types_generated/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidTypes.d.ts +0 -50
  1442. package/types_generated/Libraries/Components/RefreshControl/RefreshControl.d.ts +0 -113
  1443. package/types_generated/Libraries/Components/SafeAreaView/SafeAreaView.d.ts +0 -33
  1444. package/types_generated/Libraries/Components/ScrollView/ScrollView.d.ts +0 -560
  1445. package/types_generated/Libraries/Components/ScrollView/ScrollViewContext.d.ts +0 -24
  1446. package/types_generated/Libraries/Components/ScrollView/ScrollViewNativeComponent.d.ts +0 -21
  1447. package/types_generated/Libraries/Components/ScrollView/ScrollViewNativeComponentType.d.ts +0 -134
  1448. package/types_generated/Libraries/Components/ScrollView/ScrollViewStickyHeader.d.ts +0 -36
  1449. package/types_generated/Libraries/Components/StatusBar/StatusBar.d.ts +0 -222
  1450. package/types_generated/Libraries/Components/Switch/AndroidSwitchNativeComponent.d.ts +0 -14
  1451. package/types_generated/Libraries/Components/Switch/Switch.d.ts +0 -138
  1452. package/types_generated/Libraries/Components/Switch/SwitchNativeComponent.d.ts +0 -14
  1453. package/types_generated/Libraries/Components/TV/TVEventControl.d.ts +0 -23
  1454. package/types_generated/Libraries/Components/TV/TVEventHandler.d.ts +0 -21
  1455. package/types_generated/Libraries/Components/TV/TVFocusGuideView.d.ts +0 -71
  1456. package/types_generated/Libraries/Components/TV/TVTextScrollView.d.ts +0 -97
  1457. package/types_generated/Libraries/Components/TV/TVViewPropTypes.d.ts +0 -79
  1458. package/types_generated/Libraries/Components/TV/tagForComponentOrHandle.d.ts +0 -24
  1459. package/types_generated/Libraries/Components/TV/useTVEventHandler.d.ts +0 -20
  1460. package/types_generated/Libraries/Components/TextInput/InputAccessoryView.d.ts +0 -86
  1461. package/types_generated/Libraries/Components/TextInput/TextInput.d.ts +0 -47
  1462. package/types_generated/Libraries/Components/TextInput/TextInput.flow.d.ts +0 -984
  1463. package/types_generated/Libraries/Components/TextInput/TextInputState.d.ts +0 -54
  1464. package/types_generated/Libraries/Components/ToastAndroid/ToastAndroid.d.ts +0 -99
  1465. package/types_generated/Libraries/Components/Touchable/Touchable.d.ts +0 -257
  1466. package/types_generated/Libraries/Components/Touchable/TouchableHighlight.d.ts +0 -71
  1467. package/types_generated/Libraries/Components/Touchable/TouchableNativeFeedback.d.ts +0 -228
  1468. package/types_generated/Libraries/Components/Touchable/TouchableOpacity.d.ts +0 -76
  1469. package/types_generated/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +0 -121
  1470. package/types_generated/Libraries/Components/View/View.d.ts +0 -30
  1471. package/types_generated/Libraries/Components/View/ViewAccessibility.d.ts +0 -415
  1472. package/types_generated/Libraries/Components/View/ViewNativeComponent.d.ts +0 -29
  1473. package/types_generated/Libraries/Components/View/ViewPropTypes.d.ts +0 -431
  1474. package/types_generated/Libraries/Core/Devtools/symbolicateStackTrace.d.ts +0 -27
  1475. package/types_generated/Libraries/Core/ExceptionsManager.d.ts +0 -43
  1476. package/types_generated/Libraries/Core/ExtendedError.d.ts +0 -26
  1477. package/types_generated/Libraries/Core/NativeExceptionsManager.d.ts +0 -17
  1478. package/types_generated/Libraries/Core/RawEventEmitter.d.ts +0 -26
  1479. package/types_generated/Libraries/Core/ReactFiberErrorDialog.d.ts +0 -27
  1480. package/types_generated/Libraries/Core/registerCallableModule.d.ts +0 -18
  1481. package/types_generated/Libraries/EventEmitter/NativeEventEmitter.d.ts +0 -42
  1482. package/types_generated/Libraries/EventEmitter/RCTDeviceEventEmitter.d.ts +0 -19
  1483. package/types_generated/Libraries/EventEmitter/RCTEventEmitter.d.ts +0 -18
  1484. package/types_generated/Libraries/EventEmitter/RCTNativeAppEventEmitter.d.ts +0 -21
  1485. package/types_generated/Libraries/Image/AssetSourceResolver.d.ts +0 -71
  1486. package/types_generated/Libraries/Image/Image.d.ts +0 -18
  1487. package/types_generated/Libraries/Image/ImageBackground.d.ts +0 -44
  1488. package/types_generated/Libraries/Image/ImageProps.d.ts +0 -512
  1489. package/types_generated/Libraries/Image/ImageResizeMode.d.ts +0 -17
  1490. package/types_generated/Libraries/Image/ImageSource.d.ts +0 -94
  1491. package/types_generated/Libraries/Image/ImageTypes.flow.d.ts +0 -64
  1492. package/types_generated/Libraries/Image/ImageViewNativeComponent.d.ts +0 -68
  1493. package/types_generated/Libraries/Image/TextInlineImageNativeComponent.d.ts +0 -42
  1494. package/types_generated/Libraries/Interaction/InteractionManager.d.ts +0 -100
  1495. package/types_generated/Libraries/Interaction/PanResponder.d.ts +0 -231
  1496. package/types_generated/Libraries/Interaction/TaskQueue.d.ts +0 -73
  1497. package/types_generated/Libraries/LayoutAnimation/LayoutAnimation.d.ts +0 -76
  1498. package/types_generated/Libraries/Linking/Linking.d.ts +0 -68
  1499. package/types_generated/Libraries/Lists/FlatList.d.ts +0 -317
  1500. package/types_generated/Libraries/Lists/SectionList.d.ts +0 -172
  1501. package/types_generated/Libraries/Lists/VirtualizedList.d.ts +0 -19
  1502. package/types_generated/Libraries/Lists/VirtualizedSectionList.d.ts +0 -19
  1503. package/types_generated/Libraries/LogBox/Data/LogBoxData.d.ts +0 -78
  1504. package/types_generated/Libraries/LogBox/Data/LogBoxLog.d.ts +0 -88
  1505. package/types_generated/Libraries/LogBox/Data/LogBoxSymbolication.d.ts +0 -17
  1506. package/types_generated/Libraries/LogBox/Data/parseLogBoxLog.d.ts +0 -53
  1507. package/types_generated/Libraries/LogBox/LogBox.d.ts +0 -29
  1508. package/types_generated/Libraries/Modal/Modal.d.ts +0 -110
  1509. package/types_generated/Libraries/NativeModules/specs/NativeDialogManagerAndroid.d.ts +0 -17
  1510. package/types_generated/Libraries/Network/FormData.d.ts +0 -56
  1511. package/types_generated/Libraries/Network/RCTNetworking.d.ts +0 -25
  1512. package/types_generated/Libraries/Network/RCTNetworkingEventDefinitions.flow.d.ts +0 -22
  1513. package/types_generated/Libraries/Network/XMLHttpRequest.d.ts +0 -96
  1514. package/types_generated/Libraries/Network/convertRequestBody.d.ts +0 -21
  1515. package/types_generated/Libraries/Performance/Systrace.d.ts +0 -61
  1516. package/types_generated/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +0 -129
  1517. package/types_generated/Libraries/Pressability/Pressability.d.ts +0 -241
  1518. package/types_generated/Libraries/PushNotificationIOS/PushNotificationIOS.d.ts +0 -323
  1519. package/types_generated/Libraries/ReactNative/AppRegistry.d.ts +0 -14
  1520. package/types_generated/Libraries/ReactNative/AppRegistry.flow.d.ts +0 -44
  1521. package/types_generated/Libraries/ReactNative/AppRegistryImpl.d.ts +0 -73
  1522. package/types_generated/Libraries/ReactNative/DisplayMode.d.ts +0 -24
  1523. package/types_generated/Libraries/ReactNative/I18nManager.d.ts +0 -23
  1524. package/types_generated/Libraries/ReactNative/NativeI18nManager.d.ts +0 -17
  1525. package/types_generated/Libraries/ReactNative/NativeUIManager.d.ts +0 -17
  1526. package/types_generated/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.d.ts +0 -28
  1527. package/types_generated/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.d.ts +0 -32
  1528. package/types_generated/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.d.ts +0 -15
  1529. package/types_generated/Libraries/ReactNative/RendererImplementation.d.ts +0 -37
  1530. package/types_generated/Libraries/ReactNative/RendererProxy.d.ts +0 -28
  1531. package/types_generated/Libraries/ReactNative/RootTag.d.ts +0 -22
  1532. package/types_generated/Libraries/ReactNative/UIManager.d.ts +0 -17
  1533. package/types_generated/Libraries/ReactNative/requireNativeComponent.d.ts +0 -25
  1534. package/types_generated/Libraries/ReactPrivate/ReactNativePrivateInterface.d.ts +0 -33
  1535. package/types_generated/Libraries/Renderer/shims/ReactNativeTypes.d.ts +0 -169
  1536. package/types_generated/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.d.ts +0 -41
  1537. package/types_generated/Libraries/Settings/Settings.d.ts +0 -21
  1538. package/types_generated/Libraries/Share/Share.d.ts +0 -85
  1539. package/types_generated/Libraries/StyleSheet/EdgeInsetsPropType.d.ts +0 -15
  1540. package/types_generated/Libraries/StyleSheet/PlatformColorValueTypes.d.ts +0 -17
  1541. package/types_generated/Libraries/StyleSheet/PlatformColorValueTypesIOS.d.ts +0 -27
  1542. package/types_generated/Libraries/StyleSheet/PointPropType.d.ts +0 -16
  1543. package/types_generated/Libraries/StyleSheet/Rect.d.ts +0 -22
  1544. package/types_generated/Libraries/StyleSheet/StyleSheet.d.ts +0 -153
  1545. package/types_generated/Libraries/StyleSheet/StyleSheetExports.d.ts +0 -107
  1546. package/types_generated/Libraries/StyleSheet/StyleSheetTypes.d.ts +0 -826
  1547. package/types_generated/Libraries/StyleSheet/flattenStyle.d.ts +0 -19
  1548. package/types_generated/Libraries/StyleSheet/private/_StyleSheetTypesOverrides.d.ts +0 -17
  1549. package/types_generated/Libraries/StyleSheet/private/_TransformStyle.d.ts +0 -76
  1550. package/types_generated/Libraries/StyleSheet/processColor.d.ts +0 -18
  1551. package/types_generated/Libraries/Text/Text.d.ts +0 -30
  1552. package/types_generated/Libraries/Text/TextAncestorContext.d.ts +0 -20
  1553. package/types_generated/Libraries/Text/TextNativeComponent.d.ts +0 -31
  1554. package/types_generated/Libraries/Text/TextProps.d.ts +0 -220
  1555. package/types_generated/Libraries/TurboModule/RCTExport.d.ts +0 -35
  1556. package/types_generated/Libraries/TurboModule/TurboModuleRegistry.d.ts +0 -15
  1557. package/types_generated/Libraries/Types/CodegenTypes.d.ts +0 -24
  1558. package/types_generated/Libraries/Types/CodegenTypesNamespace.d.ts +0 -14
  1559. package/types_generated/Libraries/Types/CoreEventTypes.d.ts +0 -327
  1560. package/types_generated/Libraries/Types/RootTagTypes.d.ts +0 -13
  1561. package/types_generated/Libraries/Types/UIManagerJSInterface.d.ts +0 -17
  1562. package/types_generated/Libraries/UTFSequence.d.ts +0 -39
  1563. package/types_generated/Libraries/Utilities/Appearance.d.ts +0 -31
  1564. package/types_generated/Libraries/Utilities/BackHandler.d.ts +0 -23
  1565. package/types_generated/Libraries/Utilities/DevSettings.d.ts +0 -34
  1566. package/types_generated/Libraries/Utilities/DeviceInfo.d.ts +0 -17
  1567. package/types_generated/Libraries/Utilities/Dimensions.d.ts +0 -54
  1568. package/types_generated/Libraries/Utilities/IPerformanceLogger.d.ts +0 -51
  1569. package/types_generated/Libraries/Utilities/NativeAppearance.d.ts +0 -17
  1570. package/types_generated/Libraries/Utilities/NativeDeviceInfo.d.ts +0 -14
  1571. package/types_generated/Libraries/Utilities/PixelRatio.d.ts +0 -110
  1572. package/types_generated/Libraries/Utilities/Platform.d.ts +0 -16
  1573. package/types_generated/Libraries/Utilities/PlatformTypes.d.ts +0 -134
  1574. package/types_generated/Libraries/Utilities/codegenNativeCommands.d.ts +0 -19
  1575. package/types_generated/Libraries/Utilities/codegenNativeComponent.d.ts +0 -24
  1576. package/types_generated/Libraries/Utilities/createPerformanceLogger.d.ts +0 -23
  1577. package/types_generated/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.d.ts +0 -33
  1578. package/types_generated/Libraries/Utilities/differ/deepDiffer.d.ts +0 -19
  1579. package/types_generated/Libraries/Utilities/useColorScheme.d.ts +0 -15
  1580. package/types_generated/Libraries/Utilities/useWindowDimensions.d.ts +0 -15
  1581. package/types_generated/Libraries/Vibration/Vibration.d.ts +0 -29
  1582. package/types_generated/Libraries/vendor/core/ErrorUtils.d.ts +0 -39
  1583. package/types_generated/Libraries/vendor/emitter/EventEmitter.d.ts +0 -67
  1584. package/types_generated/index.d.ts +0 -164
  1585. package/types_generated/src/private/components/virtualview/VirtualView.d.ts +0 -70
  1586. package/types_generated/src/private/components/virtualview/VirtualViewNativeComponent.d.ts +0 -97
  1587. package/types_generated/src/private/devsupport/devmenu/DevMenu.d.ts +0 -28
  1588. package/types_generated/src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent.d.ts +0 -53
  1589. package/types_generated/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.d.ts +0 -36
  1590. package/types_generated/src/private/specs_DEPRECATED/components/SwitchNativeComponent.d.ts +0 -51
  1591. package/types_generated/src/private/specs_DEPRECATED/modules/NativeAppearance.d.ts +0 -26
  1592. package/types_generated/src/private/specs_DEPRECATED/modules/NativeDeviceInfo.d.ts +0 -46
  1593. package/types_generated/src/private/specs_DEPRECATED/modules/NativeDialogManagerAndroid.d.ts +0 -37
  1594. package/types_generated/src/private/specs_DEPRECATED/modules/NativeExceptionsManager.d.ts +0 -45
  1595. package/types_generated/src/private/specs_DEPRECATED/modules/NativeI18nManager.d.ts +0 -27
  1596. package/types_generated/src/private/specs_DEPRECATED/modules/NativeUIManager.d.ts +0 -109
  1597. package/types_generated/src/private/styles/composeStyles.d.ts +0 -19
  1598. package/types_generated/src/private/types/HostComponent.d.ts +0 -19
  1599. package/types_generated/src/private/types/HostInstance.d.ts +0 -91
  1600. package/types_generated/src/private/webapis/dom/events/CustomEvent.d.ts +0 -27
  1601. package/types_generated/src/private/webapis/dom/events/Event.d.ts +0 -58
  1602. package/types_generated/src/private/webapis/dom/events/EventTarget.d.ts +0 -48
  1603. package/types_generated/src/private/webapis/dom/nodes/ReactNativeDocument.d.ts +0 -32
  1604. package/types_generated/src/private/webapis/dom/nodes/ReactNativeElement.d.ts +0 -36
  1605. package/types_generated/src/private/webapis/dom/nodes/ReadOnlyCharacterData.d.ts +0 -30
  1606. package/types_generated/src/private/webapis/dom/nodes/ReadOnlyElement.d.ts +0 -54
  1607. package/types_generated/src/private/webapis/dom/nodes/ReadOnlyNode.d.ts +0 -126
  1608. package/types_generated/src/private/webapis/dom/nodes/ReadOnlyText.d.ts +0 -24
  1609. package/types_generated/src/private/webapis/dom/nodes/internals/NodeInternals.d.ts +0 -29
  1610. package/types_generated/src/private/webapis/dom/nodes/internals/ReactNativeDocumentElementInstanceHandle.d.ts +0 -23
  1611. package/types_generated/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.d.ts +0 -22
  1612. package/types_generated/src/private/webapis/dom/nodes/specs/NativeDOM.d.ts +0 -222
  1613. package/types_generated/src/private/webapis/dom/oldstylecollections/HTMLCollection.d.ts +0 -22
  1614. package/types_generated/src/private/webapis/dom/oldstylecollections/NodeList.d.ts +0 -25
  1615. package/types_generated/src/private/webapis/geometry/DOMRect.d.ts +0 -46
  1616. package/types_generated/src/private/webapis/geometry/DOMRectReadOnly.d.ts +0 -73
  1617. package/types_generated/src/private/webapis/utils/ArrayLikeUtils.d.ts +0 -27
  1618. package/types_generated/tsconfig.json +0 -3
  1619. package/types_generated/tsconfig.test.json +0 -16
  1620. /package/ReactCommon/react/renderer/components/text/{conversions.h → stateConversions.h} +0 -0
@@ -0,0 +1,917 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ #include "NativeAnimatedNodesManager.h"
9
+
10
+ #include <cxxreact/TraceSection.h>
11
+ #include <folly/json.h>
12
+ #include <glog/logging.h>
13
+ #include <react/debug/react_native_assert.h>
14
+ #include <react/featureflags/ReactNativeFeatureFlags.h>
15
+ #include <react/renderer/animated/drivers/AnimationDriver.h>
16
+ #include <react/renderer/animated/drivers/AnimationDriverUtils.h>
17
+ #include <react/renderer/animated/drivers/DecayAnimationDriver.h>
18
+ #include <react/renderer/animated/drivers/FrameAnimationDriver.h>
19
+ #include <react/renderer/animated/drivers/SpringAnimationDriver.h>
20
+ #include <react/renderer/animated/nodes/AdditionAnimatedNode.h>
21
+ #include <react/renderer/animated/nodes/AnimatedNode.h>
22
+ #include <react/renderer/animated/nodes/ColorAnimatedNode.h>
23
+ #include <react/renderer/animated/nodes/DiffClampAnimatedNode.h>
24
+ #include <react/renderer/animated/nodes/DivisionAnimatedNode.h>
25
+ #include <react/renderer/animated/nodes/InterpolationAnimatedNode.h>
26
+ #include <react/renderer/animated/nodes/ModulusAnimatedNode.h>
27
+ #include <react/renderer/animated/nodes/MultiplicationAnimatedNode.h>
28
+ #include <react/renderer/animated/nodes/PropsAnimatedNode.h>
29
+ #include <react/renderer/animated/nodes/RoundAnimatedNode.h>
30
+ #include <react/renderer/animated/nodes/StyleAnimatedNode.h>
31
+ #include <react/renderer/animated/nodes/SubtractionAnimatedNode.h>
32
+ #include <react/renderer/animated/nodes/TrackingAnimatedNode.h>
33
+ #include <react/renderer/animated/nodes/TransformAnimatedNode.h>
34
+ #include <react/renderer/animated/nodes/ValueAnimatedNode.h>
35
+ #include <react/renderer/core/EventEmitter.h>
36
+
37
+ namespace facebook::react {
38
+
39
+ // Global function pointer for getting current time. Current time
40
+ // can be injected for testing purposes.
41
+ static TimePointFunction g_now = &std::chrono::steady_clock::now;
42
+ void g_setNativeAnimatedNowTimestampFunction(TimePointFunction nowFunction) {
43
+ g_now = nowFunction;
44
+ }
45
+
46
+ namespace {
47
+
48
+ struct NodesQueueItem {
49
+ AnimatedNode* node;
50
+ bool connectedToFinishedAnimation;
51
+ };
52
+
53
+ void mergeObjects(folly::dynamic& out, const folly::dynamic& objectToMerge) {
54
+ react_native_assert(objectToMerge.isObject());
55
+ if (out.isObject() && !out.empty()) {
56
+ for (const auto& pair : objectToMerge.items()) {
57
+ out[pair.first] = pair.second;
58
+ }
59
+ } else {
60
+ out = objectToMerge;
61
+ }
62
+ }
63
+
64
+ } // namespace
65
+
66
+ NativeAnimatedNodesManager::NativeAnimatedNodesManager(
67
+ DirectManipulationCallback&& directManipulationCallback,
68
+ FabricCommitCallback&& fabricCommitCallback,
69
+ StartOnRenderCallback&& startOnRenderCallback,
70
+ StopOnRenderCallback&& stopOnRenderCallback) noexcept
71
+ : directManipulationCallback_(std::move(directManipulationCallback)),
72
+ fabricCommitCallback_(std::move(fabricCommitCallback)),
73
+ startOnRenderCallback_(std::move(startOnRenderCallback)),
74
+ stopOnRenderCallback_(std::move(stopOnRenderCallback)) {
75
+ if (!fabricCommitCallback_) {
76
+ LOG(WARNING)
77
+ << "C++ Animated was setup without commit callback. This may lead to issue where buttons are not tappable when animation is driven by onScroll event.";
78
+ }
79
+
80
+ if (!directManipulationCallback_) {
81
+ LOG(WARNING)
82
+ << "C++ Animated was setup without direct manipulation callback. This may lead to suboptimal performance.";
83
+ }
84
+
85
+ if (!directManipulationCallback_ && fabricCommitCallback_) {
86
+ LOG(ERROR)
87
+ << "C++ Animated was setup without a way to update UI. Animations will not work.";
88
+ }
89
+ }
90
+
91
+ NativeAnimatedNodesManager::~NativeAnimatedNodesManager() noexcept {
92
+ stopRenderCallbackIfNeeded();
93
+ }
94
+
95
+ std::optional<double> NativeAnimatedNodesManager::getValue(Tag tag) noexcept {
96
+ auto node = getAnimatedNode<ValueAnimatedNode>(tag);
97
+ if (node != nullptr) {
98
+ return node->getValue();
99
+ } else {
100
+ LOG(WARNING)
101
+ << "Cannot get value from AnimatedNode, it's not a ValueAnimatedNode";
102
+ return std::nullopt;
103
+ }
104
+ }
105
+
106
+ #pragma mark - Graph
107
+
108
+ std::unique_ptr<AnimatedNode> NativeAnimatedNodesManager::animatedNode(
109
+ Tag tag,
110
+ const folly::dynamic& config) noexcept {
111
+ auto typeName = config["type"].asString();
112
+
113
+ auto type = AnimatedNode::getNodeTypeByName(typeName);
114
+ if (!type) {
115
+ LOG(WARNING) << "Invalid AnimatedNode type " << typeName;
116
+ return nullptr;
117
+ }
118
+
119
+ switch (type.value()) {
120
+ case AnimatedNodeType::Style:
121
+ return std::make_unique<StyleAnimatedNode>(tag, config, *this);
122
+ case AnimatedNodeType::Value:
123
+ return std::make_unique<ValueAnimatedNode>(tag, config, *this);
124
+ case AnimatedNodeType::Color:
125
+ return std::make_unique<ColorAnimatedNode>(tag, config, *this);
126
+ case AnimatedNodeType::Props:
127
+ return std::make_unique<PropsAnimatedNode>(tag, config, *this);
128
+ case AnimatedNodeType::Tracking:
129
+ return std::make_unique<TrackingAnimatedNode>(tag, config, *this);
130
+ case AnimatedNodeType::Interpolation:
131
+ return std::make_unique<InterpolationAnimatedNode>(tag, config, *this);
132
+ case AnimatedNodeType::Transform:
133
+ return std::make_unique<TransformAnimatedNode>(tag, config, *this);
134
+ case AnimatedNodeType::Subtraction:
135
+ return std::make_unique<SubtractionAnimatedNode>(tag, config, *this);
136
+ case AnimatedNodeType::Addition:
137
+ return std::make_unique<AdditionAnimatedNode>(tag, config, *this);
138
+ case AnimatedNodeType::Multiplication:
139
+ return std::make_unique<MultiplicationAnimatedNode>(tag, config, *this);
140
+ case AnimatedNodeType::Division:
141
+ return std::make_unique<DivisionAnimatedNode>(tag, config, *this);
142
+ case AnimatedNodeType::Modulus:
143
+ return std::make_unique<ModulusAnimatedNode>(tag, config, *this);
144
+ case AnimatedNodeType::Diffclamp:
145
+ return std::make_unique<DiffClampAnimatedNode>(tag, config, *this);
146
+ case AnimatedNodeType::Round:
147
+ return std::make_unique<RoundAnimatedNode>(tag, config, *this);
148
+ default:
149
+ LOG(WARNING) << "Cannot create AnimatedNode of type " << typeName
150
+ << ", it's not implemented yet";
151
+ return nullptr;
152
+ }
153
+ }
154
+
155
+ void NativeAnimatedNodesManager::createAnimatedNode(
156
+ Tag tag,
157
+ const folly::dynamic& config) noexcept {
158
+ auto node = animatedNode(tag, config);
159
+ if (node) {
160
+ std::lock_guard<std::mutex> lock(connectedAnimatedNodesMutex_);
161
+ animatedNodes_.emplace(tag, std::move(node));
162
+ updatedNodeTags_.insert(tag);
163
+ }
164
+ }
165
+
166
+ void NativeAnimatedNodesManager::connectAnimatedNodes(
167
+ Tag parentTag,
168
+ Tag childTag) noexcept {
169
+ react_native_assert(parentTag);
170
+ react_native_assert(childTag);
171
+
172
+ auto parentNode = getAnimatedNode<AnimatedNode>(parentTag);
173
+ auto childNode = getAnimatedNode<AnimatedNode>(childTag);
174
+
175
+ if ((parentNode != nullptr) && (childNode != nullptr)) {
176
+ parentNode->addChild(childTag);
177
+ updatedNodeTags_.insert(childTag);
178
+ } else {
179
+ LOG(WARNING) << "Cannot ConnectAnimatedNodes, parentTag = " << parentTag
180
+ << ", childTag = " << childTag
181
+ << ", not all of them are created";
182
+ }
183
+ }
184
+
185
+ void NativeAnimatedNodesManager::connectAnimatedNodeToView(
186
+ Tag propsNodeTag,
187
+ Tag viewTag) noexcept {
188
+ react_native_assert(propsNodeTag);
189
+ react_native_assert(viewTag);
190
+
191
+ auto node = getAnimatedNode<PropsAnimatedNode>(propsNodeTag);
192
+ if (node != nullptr) {
193
+ node->connectToView(viewTag);
194
+ {
195
+ std::lock_guard<std::mutex> lock(connectedAnimatedNodesMutex_);
196
+ connectedAnimatedNodes_.insert({viewTag, propsNodeTag});
197
+ }
198
+ updatedNodeTags_.insert(node->tag());
199
+ } else {
200
+ LOG(WARNING)
201
+ << "Cannot ConnectAnimatedNodeToView, animated node has to be props type";
202
+ }
203
+ }
204
+
205
+ void NativeAnimatedNodesManager::disconnectAnimatedNodeFromView(
206
+ Tag propsNodeTag,
207
+ Tag viewTag) noexcept {
208
+ react_native_assert(propsNodeTag);
209
+ react_native_assert(viewTag);
210
+
211
+ auto node = getAnimatedNode<PropsAnimatedNode>(propsNodeTag);
212
+ if (node != nullptr) {
213
+ node->disconnectFromView(viewTag);
214
+ {
215
+ std::lock_guard<std::mutex> lock(connectedAnimatedNodesMutex_);
216
+ connectedAnimatedNodes_.erase(viewTag);
217
+ }
218
+ updatedNodeTags_.insert(node->tag());
219
+
220
+ onManagedPropsRemoved(viewTag);
221
+ } else {
222
+ LOG(WARNING)
223
+ << "Cannot DisconnectAnimatedNodeToView, animated node has to be props type";
224
+ }
225
+ }
226
+
227
+ void NativeAnimatedNodesManager::disconnectAnimatedNodes(
228
+ Tag parentTag,
229
+ Tag childTag) noexcept {
230
+ react_native_assert(parentTag);
231
+ react_native_assert(childTag);
232
+
233
+ auto parentNode = getAnimatedNode<AnimatedNode>(parentTag);
234
+ auto childNode = getAnimatedNode<AnimatedNode>(childTag);
235
+
236
+ if ((parentNode != nullptr) && (childNode != nullptr)) {
237
+ parentNode->removeChild(childTag);
238
+ } else {
239
+ LOG(WARNING) << "Cannot DisconnectAnimatedNodes, parentTag = " << parentTag
240
+ << ", childTag = " << childTag
241
+ << ", not all of them are created";
242
+ }
243
+ }
244
+
245
+ void NativeAnimatedNodesManager::restoreDefaultValues(Tag tag) noexcept {
246
+ if (auto propsNode = getAnimatedNode<PropsAnimatedNode>(tag)) {
247
+ propsNode->restoreDefaultValues();
248
+ }
249
+ }
250
+
251
+ void NativeAnimatedNodesManager::dropAnimatedNode(Tag tag) noexcept {
252
+ std::lock_guard<std::mutex> lock(connectedAnimatedNodesMutex_);
253
+ animatedNodes_.erase(tag);
254
+ }
255
+
256
+ #pragma mark - Mutations
257
+
258
+ void NativeAnimatedNodesManager::setAnimatedNodeValue(Tag tag, double value) {
259
+ if (auto node = getAnimatedNode<ValueAnimatedNode>(tag)) {
260
+ stopAnimationsForNode(node->tag());
261
+ if (node->setRawValue(value)) {
262
+ updatedNodeTags_.insert(node->tag());
263
+ }
264
+ }
265
+ }
266
+
267
+ void NativeAnimatedNodesManager::setAnimatedNodeOffset(Tag tag, double offset) {
268
+ if (auto node = getAnimatedNode<ValueAnimatedNode>(tag)) {
269
+ if (node->setOffset(offset)) {
270
+ updatedNodeTags_.insert(node->tag());
271
+ }
272
+ }
273
+ }
274
+
275
+ void NativeAnimatedNodesManager::flattenAnimatedNodeOffset(Tag tag) {
276
+ if (auto node = getAnimatedNode<ValueAnimatedNode>(tag)) {
277
+ node->flattenOffset();
278
+ }
279
+ }
280
+
281
+ void NativeAnimatedNodesManager::extractAnimatedNodeOffsetOp(Tag tag) {
282
+ if (auto node = getAnimatedNode<ValueAnimatedNode>(tag)) {
283
+ node->extractOffset();
284
+ }
285
+ }
286
+
287
+ void NativeAnimatedNodesManager::stopAnimationsForNode(Tag nodeTag) {
288
+ std::vector<int> discardedAnimIds{};
289
+
290
+ for (const auto& [animationId, driver] : activeAnimations_) {
291
+ if (driver->getAnimatedValueTag() == nodeTag) {
292
+ discardedAnimIds.emplace_back(animationId);
293
+ }
294
+ }
295
+ for (const auto& id : discardedAnimIds) {
296
+ activeAnimations_.at(id)->stopAnimation();
297
+ activeAnimations_.erase(id);
298
+ }
299
+ }
300
+
301
+ #pragma mark - Drivers
302
+
303
+ void NativeAnimatedNodesManager::startAnimatingNode(
304
+ int animationId,
305
+ Tag animatedNodeTag,
306
+ folly::dynamic config,
307
+ std::optional<AnimationEndCallback> endCallback) noexcept {
308
+ if (auto iter = activeAnimations_.find(animationId);
309
+ iter != activeAnimations_.end()) {
310
+ // reset animation config
311
+ auto& animation = iter->second;
312
+ animation->updateConfig(config);
313
+ } else if (animatedNodes_.contains(animatedNodeTag)) {
314
+ auto type = config["type"].asString();
315
+ auto typeEnum = AnimationDriver::getDriverTypeByName(type);
316
+ std::unique_ptr<AnimationDriver> animation = nullptr;
317
+ if (typeEnum) {
318
+ switch (typeEnum.value()) {
319
+ case AnimationDriverType::Frames: {
320
+ animation = std::make_unique<FrameAnimationDriver>(
321
+ animationId,
322
+ animatedNodeTag,
323
+ std::move(endCallback),
324
+ std::move(config),
325
+ this);
326
+ } break;
327
+ case AnimationDriverType::Spring: {
328
+ animation = std::make_unique<SpringAnimationDriver>(
329
+ animationId,
330
+ animatedNodeTag,
331
+ std::move(endCallback),
332
+ std::move(config),
333
+ this);
334
+ } break;
335
+ case AnimationDriverType::Decay: {
336
+ animation = std::make_unique<DecayAnimationDriver>(
337
+ animationId,
338
+ animatedNodeTag,
339
+ std::move(endCallback),
340
+ std::move(config),
341
+ this);
342
+ } break;
343
+ }
344
+ if (animation) {
345
+ animation->startAnimation();
346
+ activeAnimations_.insert({animationId, std::move(animation)});
347
+ }
348
+ } else {
349
+ LOG(ERROR) << "Unknown AnimationDriver type " << type;
350
+ }
351
+ }
352
+ }
353
+
354
+ void NativeAnimatedNodesManager::stopAnimation(
355
+ int animationId,
356
+ bool /*isTrackingAnimation*/) noexcept {
357
+ if (auto iter = activeAnimations_.find(animationId);
358
+ iter != activeAnimations_.end()) {
359
+ iter->second->stopAnimation();
360
+ activeAnimations_.erase(iter);
361
+ }
362
+ }
363
+
364
+ void NativeAnimatedNodesManager::addAnimatedEventToView(
365
+ Tag viewTag,
366
+ const std::string& eventName,
367
+ const folly::dynamic& eventMapping) noexcept {
368
+ const auto animatedValueTag = (eventMapping.count("animatedValueTag") != 0u)
369
+ ? static_cast<Tag>(eventMapping["animatedValueTag"].asInt())
370
+ : 0;
371
+ const auto& pathList = eventMapping["nativeEventPath"];
372
+ auto numPaths = pathList.size();
373
+ std::vector<std::string> eventPath(numPaths);
374
+ for (size_t i = 0; i < numPaths; i++) {
375
+ eventPath[i] = pathList[i].asString();
376
+ }
377
+
378
+ const auto key = EventAnimationDriverKey{
379
+ .viewTag = viewTag,
380
+ .eventName = EventEmitter::normalizeEventType(eventName)};
381
+ if (auto driversIter = eventDrivers_.find(key);
382
+ driversIter != eventDrivers_.end()) {
383
+ auto& drivers = driversIter->second;
384
+ drivers.emplace_back(
385
+ std::make_unique<EventAnimationDriver>(eventPath, animatedValueTag));
386
+ } else {
387
+ std::vector<std::unique_ptr<EventAnimationDriver>> drivers(1);
388
+ drivers[0] =
389
+ std::make_unique<EventAnimationDriver>(eventPath, animatedValueTag);
390
+ eventDrivers_.insert({key, std::move(drivers)});
391
+ }
392
+ }
393
+
394
+ void NativeAnimatedNodesManager::removeAnimatedEventFromView(
395
+ Tag viewTag,
396
+ const std::string& eventName,
397
+ Tag animatedValueTag) noexcept {
398
+ const auto key = EventAnimationDriverKey{
399
+ .viewTag = viewTag,
400
+ .eventName = EventEmitter::normalizeEventType(eventName)};
401
+ auto driversIter = eventDrivers_.find(key);
402
+ if (driversIter != eventDrivers_.end()) {
403
+ auto& drivers = driversIter->second;
404
+ std::erase_if(drivers, [animatedValueTag](auto& it) {
405
+ return it->getAnimatedNodeTag() == animatedValueTag;
406
+ });
407
+ }
408
+ }
409
+
410
+ static thread_local bool isOnRenderThread_{false};
411
+
412
+ void NativeAnimatedNodesManager::handleAnimatedEvent(
413
+ Tag viewTag,
414
+ const std::string& eventName,
415
+ const EventPayload& eventPayload) noexcept {
416
+ // We currently reject events that are not on the same thread as `onRender`
417
+ // callbacks, as the assumption is these events can synchronously update
418
+ // UI components or otherwise Animated nodes with single-threaded assumptions.
419
+ // While we could dispatch event handling back to the UI thread using the
420
+ // scheduleOnUI helper, we are not yet doing that because it would violate
421
+ // the assumption that the events have synchronous side-effects. We can
422
+ // revisit this decision later.
423
+ if (!isOnRenderThread_) {
424
+ return;
425
+ }
426
+ if (eventDrivers_.empty()) {
427
+ return;
428
+ }
429
+
430
+ bool foundAtLeastOneDriver = false;
431
+
432
+ const auto key = EventAnimationDriverKey{
433
+ .viewTag = viewTag,
434
+ .eventName = EventEmitter::normalizeEventType(eventName)};
435
+ if (auto driversIter = eventDrivers_.find(key);
436
+ driversIter != eventDrivers_.end()) {
437
+ auto& drivers = driversIter->second;
438
+ if (!drivers.empty()) {
439
+ foundAtLeastOneDriver = true;
440
+ }
441
+ for (const auto& driver : drivers) {
442
+ if (auto value = driver->getValueFromPayload(eventPayload)) {
443
+ auto node =
444
+ getAnimatedNode<ValueAnimatedNode>(driver->getAnimatedNodeTag());
445
+ if (node == nullptr) {
446
+ continue;
447
+ }
448
+ stopAnimationsForNode(node->tag());
449
+ if (node->setRawValue(value.value())) {
450
+ updatedNodeTags_.insert(node->tag());
451
+ }
452
+ }
453
+ }
454
+ }
455
+
456
+ if (foundAtLeastOneDriver && !isEventAnimationInProgress_) {
457
+ // There is an animation driver handling this event and
458
+ // event driven animation has not been started yet.
459
+ isEventAnimationInProgress_ = true;
460
+ // Some platforms (e.g. iOS) have UI tick listener disable
461
+ // when there are no active animations. Calling
462
+ // `startRenderCallbackIfNeeded` will call platform specific code to
463
+ // register UI tick listener.
464
+ startRenderCallbackIfNeeded();
465
+ // Calling startOnRenderCallback_ will register a UI tick listener.
466
+ // The UI ticker listener will not be called until the next frame.
467
+ // That's why, in case this is called from the UI thread, we need to
468
+ // proactivelly trigger the animation loop to avoid showing stale
469
+ // frames.
470
+ onRender();
471
+ }
472
+ }
473
+
474
+ std::shared_ptr<EventEmitterListener>
475
+ NativeAnimatedNodesManager::ensureEventEmitterListener() noexcept {
476
+ if (!eventEmitterListener_) {
477
+ eventEmitterListener_ = std::make_shared<EventEmitterListener>(
478
+ [this](
479
+ Tag tag,
480
+ const std::string& eventName,
481
+ const EventPayload& payload) -> bool {
482
+ handleAnimatedEvent(tag, eventName, payload);
483
+ return false;
484
+ });
485
+ }
486
+ return eventEmitterListener_;
487
+ }
488
+
489
+ void NativeAnimatedNodesManager::startRenderCallbackIfNeeded() {
490
+ // This method can be called from either the UI thread or JavaScript thread.
491
+ // It ensures `startOnRenderCallback_` is called exactly once using atomic
492
+ // operations. We use std::atomic_bool rather than std::mutex to avoid
493
+ // potential deadlocks that could occur if we called external code while
494
+ // holding a mutex.
495
+ auto isRenderCallbackStarted = isRenderCallbackStarted_.exchange(true);
496
+ if (isRenderCallbackStarted) {
497
+ // onRender callback is already started.
498
+ return;
499
+ }
500
+
501
+ if (startOnRenderCallback_) {
502
+ startOnRenderCallback_([this]() { onRender(); });
503
+ }
504
+ }
505
+
506
+ void NativeAnimatedNodesManager::stopRenderCallbackIfNeeded() noexcept {
507
+ // When multiple threads reach this point, only one thread should call
508
+ // stopOnRenderCallback_. This synchronization is primarily needed during
509
+ // destruction of NativeAnimatedNodesManager. In normal operation,
510
+ // stopRenderCallbackIfNeeded is always called from the UI thread.
511
+ auto isRenderCallbackStarted = isRenderCallbackStarted_.exchange(false);
512
+
513
+ if (isRenderCallbackStarted) {
514
+ if (stopOnRenderCallback_) {
515
+ stopOnRenderCallback_();
516
+ }
517
+ }
518
+ }
519
+
520
+ bool NativeAnimatedNodesManager::isAnimationUpdateNeeded() const noexcept {
521
+ return !activeAnimations_.empty() || !updatedNodeTags_.empty() ||
522
+ isEventAnimationInProgress_;
523
+ }
524
+
525
+ void NativeAnimatedNodesManager::updateNodes(
526
+ const std::set<int>& finishedAnimationValueNodes) noexcept {
527
+ auto nodesQueue = std::deque<NodesQueueItem>{};
528
+
529
+ const auto is_node_connected_to_finished_animation =
530
+ [&finishedAnimationValueNodes](
531
+ AnimatedNode* node,
532
+ int nodeTag,
533
+ bool parentFinishedAnimation) -> bool {
534
+ return parentFinishedAnimation ||
535
+ (node->type() == AnimatedNodeType::Value &&
536
+ finishedAnimationValueNodes.contains(nodeTag));
537
+ };
538
+
539
+ #ifdef REACT_NATIVE_DEBUG
540
+ int activeNodesCount = 0;
541
+ int updatedNodesCount = 0;
542
+ #endif
543
+
544
+ // STEP 1.
545
+ // BFS over graph of nodes. Update `mIncomingNodes` attribute for each node
546
+ // during that BFS. Store number of visited nodes in `activeNodesCount`. We
547
+ // "execute" active animations as a part of this step.
548
+
549
+ animatedGraphBFSColor_++;
550
+ if (animatedGraphBFSColor_ == AnimatedNode::INITIAL_BFS_COLOR) {
551
+ animatedGraphBFSColor_++;
552
+ }
553
+
554
+ for (const auto& nodeTag : updatedNodeTags_) {
555
+ if (auto node = getAnimatedNode<AnimatedNode>(nodeTag)) {
556
+ if (node->bfsColor != animatedGraphBFSColor_) {
557
+ node->bfsColor = animatedGraphBFSColor_;
558
+ #ifdef REACT_NATIVE_DEBUG
559
+ activeNodesCount++;
560
+ #endif
561
+ const auto connectedToFinishedAnimation =
562
+ is_node_connected_to_finished_animation(node, nodeTag, false);
563
+ nodesQueue.emplace_back(NodesQueueItem{
564
+ .node = node,
565
+ .connectedToFinishedAnimation = connectedToFinishedAnimation});
566
+ }
567
+ }
568
+ }
569
+
570
+ while (!nodesQueue.empty()) {
571
+ auto nextNode = nodesQueue.front();
572
+ nodesQueue.pop_front();
573
+ // in Animated, value nodes like RGBA are parents and Color node is child
574
+ // (the opposite of tree structure)
575
+ for (const auto childTag : nextNode.node->getChildren()) {
576
+ auto child = getAnimatedNode<AnimatedNode>(childTag);
577
+ child->activeIncomingNodes++;
578
+ if (child->bfsColor != animatedGraphBFSColor_) {
579
+ child->bfsColor = animatedGraphBFSColor_;
580
+ #ifdef REACT_NATIVE_DEBUG
581
+ activeNodesCount++;
582
+ #endif
583
+ const auto connectedToFinishedAnimation =
584
+ is_node_connected_to_finished_animation(
585
+ child, childTag, nextNode.connectedToFinishedAnimation);
586
+ nodesQueue.emplace_back(NodesQueueItem{
587
+ .node = child,
588
+ .connectedToFinishedAnimation = connectedToFinishedAnimation});
589
+ }
590
+ }
591
+ }
592
+
593
+ // STEP 2
594
+ // BFS over the graph of active nodes in topological order -> visit node only
595
+ // when all its "predecessors" in the graph have already been visited. It is
596
+ // important to visit nodes in that order as they may often use values of
597
+ // their predecessors in order to calculate "next state" of their own. We
598
+ // start by determining the starting set of nodes by looking for nodes with
599
+ // `activeIncomingNodes = 0` (those can only be the ones that we start BFS in
600
+ // the previous step). We store number of visited nodes in this step in
601
+ // `updatedNodesCount`
602
+
603
+ animatedGraphBFSColor_++;
604
+ if (animatedGraphBFSColor_ == AnimatedNode::INITIAL_BFS_COLOR) {
605
+ animatedGraphBFSColor_++;
606
+ }
607
+
608
+ for (const auto& nodeTag : updatedNodeTags_) {
609
+ if (auto node = getAnimatedNode<AnimatedNode>(nodeTag)) {
610
+ if (node->activeIncomingNodes == 0 &&
611
+ node->bfsColor != animatedGraphBFSColor_) {
612
+ node->bfsColor = animatedGraphBFSColor_;
613
+ #ifdef REACT_NATIVE_DEBUG
614
+ updatedNodesCount++;
615
+ #endif
616
+ const auto connectedToFinishedAnimation =
617
+ is_node_connected_to_finished_animation(node, nodeTag, false);
618
+ nodesQueue.emplace_back(NodesQueueItem{
619
+ .node = node,
620
+ .connectedToFinishedAnimation = connectedToFinishedAnimation});
621
+ }
622
+ }
623
+ }
624
+
625
+ // Run main "update" loop
626
+ #ifdef REACT_NATIVE_DEBUG
627
+ int cyclesDetected = 0;
628
+ #endif
629
+ while (!nodesQueue.empty()) {
630
+ auto nextNode = nodesQueue.front();
631
+ nodesQueue.pop_front();
632
+ if (nextNode.connectedToFinishedAnimation &&
633
+ nextNode.node->type() == AnimatedNodeType::Props) {
634
+ if (auto propsNode = dynamic_cast<PropsAnimatedNode*>(nextNode.node)) {
635
+ propsNode->update(/*forceFabricCommit*/ true);
636
+ };
637
+ } else {
638
+ nextNode.node->update();
639
+ }
640
+
641
+ for (auto childTag : nextNode.node->getChildren()) {
642
+ auto child = getAnimatedNode<AnimatedNode>(childTag);
643
+ child->activeIncomingNodes--;
644
+ if (child->activeIncomingNodes == 0 && child->activeIncomingNodes == 0) {
645
+ child->bfsColor = animatedGraphBFSColor_;
646
+ #ifdef REACT_NATIVE_DEBUG
647
+ updatedNodesCount++;
648
+ #endif
649
+ const auto connectedToFinishedAnimation =
650
+ is_node_connected_to_finished_animation(
651
+ child, childTag, nextNode.connectedToFinishedAnimation);
652
+ nodesQueue.emplace_back(NodesQueueItem{
653
+ .node = child,
654
+ .connectedToFinishedAnimation = connectedToFinishedAnimation});
655
+ }
656
+ #ifdef REACT_NATIVE_DEBUG
657
+ else if (child->bfsColor == animatedGraphBFSColor_) {
658
+ cyclesDetected++;
659
+ }
660
+ #endif
661
+ }
662
+ }
663
+
664
+ #ifdef REACT_NATIVE_DEBUG
665
+ // Verify that we've visited *all* active nodes. Throw otherwise as this could
666
+ // mean there is a cycle in animated node graph, or that the graph is only
667
+ // partially set up. We also take advantage of the fact that all active nodes
668
+ // are visited in the step above so that all the nodes properties
669
+ // `activeIncomingNodes` are set to zero. In Fabric there can be race
670
+ // conditions between the JS thread setting up or tearing down animated nodes,
671
+ // and Fabric executing them on the UI thread, leading to temporary
672
+ // inconsistent states.
673
+ if (activeNodesCount != updatedNodesCount) {
674
+ if (warnedAboutGraphTraversal_) {
675
+ return;
676
+ }
677
+ warnedAboutGraphTraversal_ = true;
678
+ auto reason = cyclesDetected > 0
679
+ ? ("cycles (" + std::to_string(cyclesDetected) + ")")
680
+ : "disconnected regions";
681
+ LOG(ERROR) << "Detected animation cycle or disconnected graph. "
682
+ << "Looks like animated nodes graph has " << reason
683
+ << ", there are " << activeNodesCount
684
+ << " but toposort visited only " << updatedNodesCount;
685
+ } else {
686
+ warnedAboutGraphTraversal_ = false;
687
+ }
688
+ #endif
689
+
690
+ updatedNodeTags_.clear();
691
+ }
692
+
693
+ bool NativeAnimatedNodesManager::onAnimationFrame(double timestamp) {
694
+ // Run all active animations
695
+ auto hasFinishedAnimations = false;
696
+ std::set<int> finishedAnimationValueNodes;
697
+ for (const auto& [_id, driver] : activeAnimations_) {
698
+ driver->runAnimationStep(timestamp);
699
+
700
+ if (driver->getIsComplete()) {
701
+ hasFinishedAnimations = true;
702
+ const auto shouldRemoveJsSync =
703
+ ReactNativeFeatureFlags::cxxNativeAnimatedRemoveJsSync() &&
704
+ !ReactNativeFeatureFlags::disableFabricCommitInCXXAnimated();
705
+ if (shouldRemoveJsSync) {
706
+ finishedAnimationValueNodes.insert(driver->getAnimatedValueTag());
707
+ }
708
+ }
709
+ }
710
+
711
+ // Update all animated nodes
712
+ updateNodes(finishedAnimationValueNodes);
713
+
714
+ // remove finished animations
715
+ if (hasFinishedAnimations) {
716
+ std::vector<int> finishedAnimations;
717
+ for (const auto& [animationId, driver] : activeAnimations_) {
718
+ if (driver->getIsComplete()) {
719
+ if (getAnimatedNode<ValueAnimatedNode>(driver->getAnimatedValueTag()) !=
720
+ nullptr) {
721
+ driver->stopAnimation();
722
+ }
723
+ finishedAnimations.emplace_back(animationId);
724
+ }
725
+ }
726
+ for (const auto& id : finishedAnimations) {
727
+ activeAnimations_.erase(id);
728
+ }
729
+ }
730
+
731
+ return commitProps();
732
+ }
733
+
734
+ folly::dynamic NativeAnimatedNodesManager::managedProps(
735
+ Tag tag) const noexcept {
736
+ std::lock_guard<std::mutex> lock(connectedAnimatedNodesMutex_);
737
+ if (const auto iter = connectedAnimatedNodes_.find(tag);
738
+ iter != connectedAnimatedNodes_.end()) {
739
+ if (const auto node = getAnimatedNode<PropsAnimatedNode>(iter->second)) {
740
+ return node->props();
741
+ }
742
+ } else {
743
+ std::lock_guard<std::mutex> lockUnsyncedDirectViewProps(
744
+ unsyncedDirectViewPropsMutex_);
745
+ if (auto it = unsyncedDirectViewProps_.find(tag);
746
+ it != unsyncedDirectViewProps_.end()) {
747
+ return it->second;
748
+ }
749
+ }
750
+
751
+ return nullptr;
752
+ }
753
+
754
+ bool NativeAnimatedNodesManager::hasManagedProps() const noexcept {
755
+ {
756
+ std::lock_guard<std::mutex> lock(connectedAnimatedNodesMutex_);
757
+ if (!connectedAnimatedNodes_.empty()) {
758
+ return true;
759
+ }
760
+ }
761
+ {
762
+ std::lock_guard<std::mutex> lock(unsyncedDirectViewPropsMutex_);
763
+ if (!unsyncedDirectViewProps_.empty()) {
764
+ return true;
765
+ }
766
+ }
767
+ return false;
768
+ }
769
+
770
+ void NativeAnimatedNodesManager::onManagedPropsRemoved(Tag tag) noexcept {
771
+ std::lock_guard<std::mutex> lock(unsyncedDirectViewPropsMutex_);
772
+ if (auto iter = unsyncedDirectViewProps_.find(tag);
773
+ iter != unsyncedDirectViewProps_.end()) {
774
+ unsyncedDirectViewProps_.erase(iter);
775
+ }
776
+ }
777
+
778
+ bool NativeAnimatedNodesManager::isOnRenderThread() const noexcept {
779
+ return isOnRenderThread_;
780
+ }
781
+
782
+ #pragma mark - Listeners
783
+
784
+ void NativeAnimatedNodesManager::startListeningToAnimatedNodeValue(
785
+ Tag tag,
786
+ ValueListenerCallback&& callback) noexcept {
787
+ if (auto iter = animatedNodes_.find(tag); iter != animatedNodes_.end() &&
788
+ iter->second->type() == AnimatedNodeType::Value) {
789
+ static_cast<ValueAnimatedNode*>(iter->second.get())
790
+ ->setValueListener(std::move(callback));
791
+ } else {
792
+ LOG(ERROR) << "startListeningToAnimatedNodeValue: Animated node [" << tag
793
+ << "] does not exist, or is not a 'value' node";
794
+ }
795
+ }
796
+
797
+ void NativeAnimatedNodesManager::stopListeningToAnimatedNodeValue(
798
+ Tag tag) noexcept {
799
+ if (auto iter = animatedNodes_.find(tag); iter != animatedNodes_.end() &&
800
+ iter->second->type() == AnimatedNodeType::Value) {
801
+ static_cast<ValueAnimatedNode*>(iter->second.get())
802
+ ->setValueListener(nullptr);
803
+ } else {
804
+ LOG(ERROR) << "stopListeningToAnimatedNodeValue: Animated node [" << tag
805
+ << "] does not exist, or is not a 'value' node";
806
+ }
807
+ }
808
+
809
+ void NativeAnimatedNodesManager::schedulePropsCommit(
810
+ Tag viewTag,
811
+ const folly::dynamic& props,
812
+ bool layoutStyleUpdated,
813
+ bool forceFabricCommit) noexcept {
814
+ // When fabricCommitCallback_ & directManipulationCallback_ are both
815
+ // available, we commit layout props via Fabric and the other using direct
816
+ // manipulation. If only fabricCommitCallback_ is available, we commit all
817
+ // props using that; if only directManipulationCallback_ is available, we
818
+ // commit all except for layout props.
819
+ if (fabricCommitCallback_ != nullptr &&
820
+ (layoutStyleUpdated || forceFabricCommit ||
821
+ directManipulationCallback_ == nullptr)) {
822
+ mergeObjects(updateViewProps_[viewTag], props);
823
+
824
+ // Must call direct manipulation to set final values on components.
825
+ mergeObjects(updateViewPropsDirect_[viewTag], props);
826
+ } else if (!layoutStyleUpdated && directManipulationCallback_ != nullptr) {
827
+ mergeObjects(updateViewPropsDirect_[viewTag], props);
828
+ {
829
+ std::lock_guard<std::mutex> lock(unsyncedDirectViewPropsMutex_);
830
+ mergeObjects(unsyncedDirectViewProps_[viewTag], props);
831
+ }
832
+ }
833
+ }
834
+
835
+ void NativeAnimatedNodesManager::onRender() {
836
+ TraceSection s(
837
+ "NativeAnimatedNodesManager::onRender",
838
+ "numActiveAnimations",
839
+ activeAnimations_.size());
840
+
841
+ isOnRenderThread_ = true;
842
+
843
+ // Run operations scheduled from AnimatedModule
844
+ std::vector<UiTask> operations;
845
+ {
846
+ std::lock_guard<std::mutex> lock(uiTasksMutex_);
847
+ std::swap(operations_, operations);
848
+ }
849
+
850
+ for (auto& task : operations) {
851
+ task();
852
+ }
853
+
854
+ // Step through the animation loop
855
+ if (isAnimationUpdateNeeded()) {
856
+ auto microseconds = std::chrono::duration_cast<std::chrono::microseconds>(
857
+ g_now().time_since_epoch())
858
+ .count();
859
+
860
+ auto timestamp = static_cast<double>(microseconds) / 1000.0;
861
+ auto containsChange = onAnimationFrame(timestamp);
862
+
863
+ if (!containsChange) {
864
+ // The last animation tick didn't result in any changes to the UI.
865
+ // It is safe to assume any event animation that was in progress has
866
+ // completed.
867
+
868
+ // Step 1: gather all animations driven by events.
869
+ std::set<int> finishedAnimationValueNodes;
870
+ for (auto& [key, drivers] : eventDrivers_) {
871
+ for (auto& driver : drivers) {
872
+ finishedAnimationValueNodes.insert(driver->getAnimatedNodeTag());
873
+ if (auto node = getAnimatedNode<ValueAnimatedNode>(
874
+ driver->getAnimatedNodeTag())) {
875
+ updatedNodeTags_.insert(node->tag());
876
+ }
877
+ }
878
+ }
879
+
880
+ // Step 2: update all nodes that are connected to the finished animations.
881
+ updateNodes(finishedAnimationValueNodes);
882
+
883
+ isEventAnimationInProgress_ = false;
884
+
885
+ // Step 3: commit the changes to the UI.
886
+ commitProps();
887
+ }
888
+ } else {
889
+ // There is no active animation. Stop the render callback.
890
+ stopRenderCallbackIfNeeded();
891
+ }
892
+ }
893
+
894
+ bool NativeAnimatedNodesManager::commitProps() {
895
+ bool containsChange =
896
+ !updateViewProps_.empty() || !updateViewPropsDirect_.empty();
897
+
898
+ if (fabricCommitCallback_ != nullptr) {
899
+ if (!updateViewProps_.empty()) {
900
+ fabricCommitCallback_(updateViewProps_);
901
+ }
902
+ }
903
+
904
+ updateViewProps_.clear();
905
+
906
+ if (directManipulationCallback_ != nullptr) {
907
+ for (const auto& [viewTag, props] : updateViewPropsDirect_) {
908
+ directManipulationCallback_(viewTag, folly::dynamic(props));
909
+ }
910
+ }
911
+
912
+ updateViewPropsDirect_.clear();
913
+
914
+ return containsChange;
915
+ }
916
+
917
+ } // namespace facebook::react