react-native-tvos 0.75.2-0rc0 → 0.76.0-0rc0

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 (989) hide show
  1. package/Libraries/Alert/Alert.js +3 -0
  2. package/Libraries/Animated/AnimatedEvent.js +1 -1
  3. package/Libraries/Animated/AnimatedImplementation.js +7 -7
  4. package/Libraries/Animated/NativeAnimatedAllowlist.js +111 -0
  5. package/Libraries/Animated/animations/Animation.js +11 -1
  6. package/Libraries/Animated/animations/DecayAnimation.js +1 -1
  7. package/Libraries/Animated/animations/SpringAnimation.js +1 -1
  8. package/Libraries/Animated/animations/TimingAnimation.js +2 -1
  9. package/Libraries/Animated/components/AnimatedScrollView.js +3 -2
  10. package/Libraries/Animated/createAnimatedComponent.js +10 -9
  11. package/Libraries/Animated/nodes/AnimatedColor.js +1 -1
  12. package/Libraries/Animated/nodes/AnimatedInterpolation.js +3 -2
  13. package/Libraries/Animated/nodes/AnimatedNode.js +42 -33
  14. package/Libraries/Animated/nodes/AnimatedObject.js +56 -50
  15. package/Libraries/Animated/nodes/AnimatedProps.js +77 -40
  16. package/Libraries/Animated/nodes/AnimatedStyle.js +103 -59
  17. package/Libraries/Animated/nodes/AnimatedTracking.js +1 -1
  18. package/Libraries/Animated/nodes/AnimatedTransform.js +102 -67
  19. package/Libraries/Animated/nodes/AnimatedValue.js +2 -1
  20. package/Libraries/Animated/nodes/AnimatedWithChildren.js +21 -22
  21. package/Libraries/Animated/useAnimatedProps.js +142 -7
  22. package/Libraries/AppDelegate/RCTAppDelegate.h +7 -5
  23. package/Libraries/AppDelegate/RCTAppDelegate.mm +2 -29
  24. package/Libraries/AppDelegate/RCTRootViewFactory.mm +2 -1
  25. package/Libraries/AppDelegate/React-RCTAppDelegate.podspec +2 -3
  26. package/Libraries/BatchedBridge/NativeModules.js +2 -0
  27. package/Libraries/Blob/FileReader.js +1 -1
  28. package/Libraries/Blob/URL.js +2 -62
  29. package/Libraries/Blob/URLSearchParams.js +71 -0
  30. package/Libraries/Blob/URLSearchParams.js.flow +23 -0
  31. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +1 -1
  32. package/Libraries/Components/Pressable/Pressable.js +5 -6
  33. package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +1 -1
  34. package/Libraries/Components/ScrollView/ScrollView.d.ts +1 -1
  35. package/Libraries/Components/ScrollView/ScrollView.js +132 -171
  36. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -1
  37. package/Libraries/Components/StatusBar/StatusBar.js +3 -1
  38. package/Libraries/Components/TV/TVEventHandler.js +11 -6
  39. package/Libraries/Components/TV/TVFocusEventHandler.js +2 -1
  40. package/Libraries/Components/TV/TVFocusGuideView.js +16 -15
  41. package/Libraries/Components/TV/TVTextScrollView.js +11 -10
  42. package/Libraries/Components/TV/TVViewPropTypes.js +1 -1
  43. package/Libraries/Components/TV/tagForComponentOrHandle.js +13 -13
  44. package/Libraries/Components/TV/useTVEventHandler.js +7 -3
  45. package/Libraries/Components/TabBarIOS/RCTTabBarNativeComponent.js +3 -2
  46. package/Libraries/Components/TabBarIOS/TabBarIOS.ios.js +6 -55
  47. package/Libraries/Components/TabBarIOS/{TabBarIOS.android.js → TabBarIOS.js} +8 -5
  48. package/Libraries/Components/TabBarIOS/TabBarIOSProps.js +52 -0
  49. package/Libraries/Components/TabBarIOS/{TabBarItemIOS.android.js → TabBarItemIOS.js} +3 -1
  50. package/Libraries/Components/TextInput/TextInput.d.ts +32 -2
  51. package/Libraries/Components/TextInput/TextInput.js +230 -94
  52. package/Libraries/Components/Touchable/TVTouchable.js +6 -5
  53. package/Libraries/Components/Touchable/Touchable.js +2 -3
  54. package/Libraries/Components/Touchable/TouchableBounce.js +2 -5
  55. package/Libraries/Components/Touchable/TouchableHighlight.js +3 -4
  56. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +3 -4
  57. package/Libraries/Components/View/ReactNativeStyleAttributes.js +22 -0
  58. package/Libraries/Components/View/ReactNativeViewAttributes.js +2 -0
  59. package/Libraries/Components/View/ViewAccessibility.d.ts +15 -0
  60. package/Libraries/Components/View/ViewNativeComponent.js +5 -1
  61. package/Libraries/Components/View/ViewPropTypes.js +14 -0
  62. package/Libraries/Core/ExceptionsManager.js +2 -0
  63. package/Libraries/Core/InitializeCore.js +3 -1
  64. package/Libraries/Core/ReactFiberErrorDialog.js +3 -0
  65. package/Libraries/Core/ReactNativeVersion.js +2 -2
  66. package/Libraries/Core/setUpErrorHandling.js +7 -1
  67. package/Libraries/Core/setUpGlobals.js +1 -0
  68. package/Libraries/Core/setUpReactRefresh.js +0 -4
  69. package/Libraries/Debugging/DebuggingOverlayRegistry.js +1 -1
  70. package/Libraries/Debugging/useSubscribeToDebuggingOverlayRegistry.js +3 -1
  71. package/Libraries/Image/AssetSourceResolver.js +28 -1
  72. package/Libraries/Image/Image.android.js +9 -14
  73. package/Libraries/Image/Image.ios.js +11 -22
  74. package/Libraries/Image/ImageBackground.js +1 -8
  75. package/Libraries/Image/ImageUtils.js +9 -9
  76. package/Libraries/Image/ImageViewNativeComponent.js +1 -0
  77. package/Libraries/Image/RCTImageLoader.mm +19 -10
  78. package/Libraries/Image/RCTImageView.mm +2 -2
  79. package/Libraries/Image/RCTResizeMode.h +28 -0
  80. package/Libraries/Image/React-RCTImage.podspec +1 -1
  81. package/Libraries/Inspector/Inspector.js +3 -2
  82. package/Libraries/Inspector/InspectorPanel.js +16 -10
  83. package/Libraries/Inspector/NetworkOverlay.js +1 -1
  84. package/Libraries/Interaction/TaskQueue.js +1 -0
  85. package/Libraries/LinkingIOS/React-RCTLinking.podspec +1 -0
  86. package/Libraries/Lists/FlatList.js +1 -1
  87. package/Libraries/Lists/SectionList.js +2 -2
  88. package/Libraries/Lists/SectionListModern.js +3 -3
  89. package/Libraries/LogBox/Data/LogBoxData.js +24 -3
  90. package/Libraries/LogBox/LogBoxNotificationContainer.js +3 -2
  91. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +9 -8
  92. package/Libraries/Modal/Modal.js +0 -1
  93. package/Libraries/NativeAnimation/RCTNativeAnimatedModule.mm +3 -1
  94. package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.h +2 -0
  95. package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.mm +27 -0
  96. package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +17 -1
  97. package/Libraries/NativeAnimation/React-RCTAnimation.podspec +1 -0
  98. package/Libraries/NativeComponent/BaseViewConfig.android.js +9 -2
  99. package/Libraries/NativeComponent/BaseViewConfig.ios.js +8 -2
  100. package/Libraries/NativeComponent/NativeComponentRegistry.js +22 -22
  101. package/Libraries/NativeComponent/StaticViewConfigValidator.js +0 -21
  102. package/Libraries/NativeComponent/TVViewConfig.js +4 -1
  103. package/Libraries/Network/RCTNetworkTask.h +1 -1
  104. package/Libraries/Network/RCTNetworkTask.mm +13 -9
  105. package/Libraries/Network/RCTNetworking.mm +6 -0
  106. package/Libraries/Network/XMLHttpRequest.js +4 -2
  107. package/Libraries/NewAppScreen/components/DebugInstructions.js +7 -7
  108. package/Libraries/NewAppScreen/components/HermesBadge.js +3 -6
  109. package/Libraries/Pressability/Pressability.js +6 -3
  110. package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +1 -1
  111. package/Libraries/ReactNative/AppContainer-dev.js +5 -8
  112. package/Libraries/ReactNative/AppContainer-prod.js +1 -5
  113. package/Libraries/ReactNative/AppContainer.js +0 -1
  114. package/Libraries/ReactNative/AppRegistry.js +0 -6
  115. package/Libraries/ReactNative/BridgelessUIManager.js +1 -0
  116. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +1 -1
  117. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +5 -5
  118. package/Libraries/ReactNative/RendererImplementation.js +28 -6
  119. package/Libraries/ReactNative/getNativeComponentAttributes.js +8 -0
  120. package/Libraries/ReactNative/renderApplication.js +0 -2
  121. package/Libraries/Renderer/shims/ReactNativeTypes.js +12 -4
  122. package/Libraries/StyleSheet/StyleSheet.js +1 -1
  123. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +74 -15
  124. package/Libraries/StyleSheet/StyleSheetTypes.js +60 -5
  125. package/Libraries/StyleSheet/processBackgroundImage.js +384 -0
  126. package/Libraries/StyleSheet/processBoxShadow.js +211 -0
  127. package/Libraries/StyleSheet/processFilter.js +231 -42
  128. package/Libraries/Text/BaseText/RCTBaseTextViewManager.mm +1 -0
  129. package/Libraries/Text/RCTTextAttributes.h +1 -0
  130. package/Libraries/Text/RCTTextAttributes.mm +8 -0
  131. package/Libraries/Text/Text/RCTTextShadowView.mm +46 -0
  132. package/Libraries/Text/Text.js +394 -196
  133. package/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.mm +3 -1
  134. package/Libraries/Text/TextInput/RCTBaseTextInputView.mm +20 -9
  135. package/Libraries/Text/TextNativeComponent.js +2 -1
  136. package/Libraries/TurboModule/TurboModuleRegistry.js +13 -50
  137. package/Libraries/Types/CodegenTypes.js +3 -1
  138. package/Libraries/Utilities/Appearance.js +108 -84
  139. package/Libraries/Utilities/BackHandler.ios.js +25 -23
  140. package/Libraries/Utilities/DevLoadingView.js +2 -4
  141. package/Libraries/Utilities/HMRClient.js +2 -1
  142. package/Libraries/Utilities/Platform.d.ts +1 -0
  143. package/Libraries/Utilities/Platform.flow.js +2 -0
  144. package/Libraries/Utilities/ReactNativeTestTools.js +1 -1
  145. package/Libraries/Utilities/createPerformanceLogger.js +0 -9
  146. package/Libraries/Utilities/stringifyViewConfig.js +22 -0
  147. package/Libraries/Utilities/useColorScheme.js +3 -3
  148. package/Libraries/Vibration/Vibration.js +1 -1
  149. package/Libraries/WebSocket/WebSocket.js +1 -1
  150. package/Libraries/promiseRejectionTrackingOptions.js +1 -1
  151. package/Libraries/vendor/emitter/EventEmitter.js +6 -5
  152. package/README-core.md +5 -5
  153. package/README.md +76 -41
  154. package/React/Base/RCTBridge.mm +20 -2
  155. package/React/Base/RCTBundleURLProvider.h +19 -0
  156. package/React/Base/RCTBundleURLProvider.mm +62 -8
  157. package/React/Base/RCTConvert.h +0 -3
  158. package/React/Base/RCTConvert.mm +0 -13
  159. package/React/Base/RCTKeyCommands.m +1 -2
  160. package/React/Base/RCTVersion.m +2 -2
  161. package/React/CoreModules/RCTAppearance.mm +5 -0
  162. package/React/CoreModules/RCTDevLoadingView.mm +5 -0
  163. package/React/CoreModules/RCTDevMenu.mm +1 -1
  164. package/React/CoreModules/RCTDeviceInfo.mm +13 -8
  165. package/React/CoreModules/RCTPerfMonitor.mm +7 -13
  166. package/React/CoreModules/RCTRedBox.mm +4 -0
  167. package/React/CoreModules/RCTStatusBarManager.mm +5 -1
  168. package/React/CoreModules/React-CoreModules.podspec +3 -1
  169. package/React/CxxBridge/NSDataBigString.mm +2 -25
  170. package/React/CxxBridge/RCTCxxBridge.mm +27 -5
  171. package/React/DevSupport/RCTInspectorDevServerHelper.mm +6 -0
  172. package/React/DevSupport/RCTInspectorNetworkHelper.h +29 -0
  173. package/React/DevSupport/RCTInspectorNetworkHelper.mm +115 -0
  174. package/React/DevSupport/RCTInspectorUtils.h +26 -0
  175. package/React/DevSupport/RCTInspectorUtils.mm +50 -0
  176. package/React/Fabric/Mounting/ComponentViews/Image/RCTImageComponentView.mm +4 -1
  177. package/React/Fabric/Mounting/ComponentViews/Modal/RCTFabricModalHostViewController.mm +2 -2
  178. package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +23 -1
  179. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.h +9 -0
  180. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +137 -10
  181. package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentView.mm +74 -35
  182. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +61 -12
  183. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.mm +8 -0
  184. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +356 -59
  185. package/React/Fabric/Mounting/RCTMountingManager.mm +0 -5
  186. package/React/Fabric/RCTScheduler.mm +2 -1
  187. package/React/Fabric/RCTSurfacePresenter.mm +0 -31
  188. package/React/Fabric/Utils/RCTBoxShadow.h +21 -0
  189. package/React/Fabric/Utils/RCTBoxShadow.mm +301 -0
  190. package/React/Modules/RCTRedBoxExtraDataViewController.m +105 -85
  191. package/React/Views/RCTBorderDrawing.h +9 -5
  192. package/React/Views/RCTBorderDrawing.m +23 -14
  193. package/React/Views/RCTModalHostView.m +2 -1
  194. package/React/Views/RCTModalHostViewController.m +1 -1
  195. package/React/Views/RCTModalHostViewManager.m +23 -3
  196. package/React/Views/RCTView.m +9 -5
  197. package/React/Views/RCTViewManager.h +3 -0
  198. package/React/Views/RCTViewManager.m +63 -8
  199. package/React/Views/RefreshControl/RCTRefreshControl.m +18 -0
  200. package/React-Core.podspec +4 -1
  201. package/ReactAndroid/api/ReactAndroid.api +593 -273
  202. package/ReactAndroid/build.gradle.kts +105 -282
  203. package/ReactAndroid/cmake-utils/ReactNative-application.cmake +10 -55
  204. package/ReactAndroid/gradle.properties +1 -1
  205. package/ReactAndroid/hermes-engine/build.gradle.kts +3 -2
  206. package/ReactAndroid/publish.gradle +1 -1
  207. package/ReactAndroid/src/main/AndroidManifest.xml +1 -1
  208. package/ReactAndroid/src/main/java/com/facebook/annotationprocessors/common/ProcessorBase.kt +23 -0
  209. package/ReactAndroid/src/main/java/com/facebook/react/CompositeReactPackage.java +2 -2
  210. package/ReactAndroid/src/main/java/com/facebook/react/CoreModulesPackage.java +1 -1
  211. package/ReactAndroid/src/main/java/com/facebook/react/DebugCorePackage.java +1 -1
  212. package/ReactAndroid/src/main/java/com/facebook/react/HeadlessJsTaskService.java +56 -12
  213. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivity.java +6 -0
  214. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +7 -1
  215. package/ReactAndroid/src/main/java/com/facebook/react/ReactDelegate.java +10 -0
  216. package/ReactAndroid/src/main/java/com/facebook/react/ReactHost.kt +26 -3
  217. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +117 -41
  218. package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +13 -6
  219. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageTurboModuleManagerDelegate.java +2 -17
  220. package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +6 -2
  221. package/ReactAndroid/src/main/java/com/facebook/react/animated/AdditionAnimatedNode.kt +52 -0
  222. package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimatedNode.kt +74 -0
  223. package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimatedNodeValueListener.kt +13 -0
  224. package/ReactAndroid/src/main/java/com/facebook/react/animated/{AnimatedNodeWithUpdateableConfig.java → AnimatedNodeWithUpdateableConfig.kt} +4 -4
  225. package/ReactAndroid/src/main/java/com/facebook/react/animated/{AnimationDriver.java → AnimationDriver.kt} +13 -14
  226. package/ReactAndroid/src/main/java/com/facebook/react/animated/ColorAnimatedNode.kt +111 -0
  227. package/ReactAndroid/src/main/java/com/facebook/react/animated/DecayAnimation.kt +73 -0
  228. package/ReactAndroid/src/main/java/com/facebook/react/animated/DiffClampAnimatedNode.kt +51 -0
  229. package/ReactAndroid/src/main/java/com/facebook/react/animated/DivisionAnimatedNode.kt +55 -0
  230. package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.kt +100 -0
  231. package/ReactAndroid/src/main/java/com/facebook/react/animated/FrameBasedAnimationDriver.kt +104 -0
  232. package/ReactAndroid/src/main/java/com/facebook/react/animated/InterpolationAnimatedNode.kt +278 -0
  233. package/ReactAndroid/src/main/java/com/facebook/react/animated/ModulusAnimatedNode.kt +3 -3
  234. package/ReactAndroid/src/main/java/com/facebook/react/animated/MultiplicationAnimatedNode.kt +50 -0
  235. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.java +40 -1
  236. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java +81 -52
  237. package/ReactAndroid/src/main/java/com/facebook/react/animated/ObjectAnimatedNode.kt +120 -0
  238. package/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.kt +120 -0
  239. package/ReactAndroid/src/main/java/com/facebook/react/animated/SpringAnimation.kt +187 -0
  240. package/ReactAndroid/src/main/java/com/facebook/react/animated/StyleAnimatedNode.kt +61 -0
  241. package/ReactAndroid/src/main/java/com/facebook/react/animated/SubtractionAnimatedNode.kt +52 -0
  242. package/ReactAndroid/src/main/java/com/facebook/react/animated/TrackingAnimatedNode.kt +36 -0
  243. package/ReactAndroid/src/main/java/com/facebook/react/animated/TransformAnimatedNode.kt +87 -0
  244. package/ReactAndroid/src/main/java/com/facebook/react/animated/ValueAnimatedNode.kt +50 -0
  245. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ActivityEventListener.java +4 -0
  246. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BaseJavaModule.java +8 -0
  247. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ColorPropConverter.java +5 -0
  248. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromMap.java +2 -1
  249. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromObject.java +4 -1
  250. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicNative.kt +51 -0
  251. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSBundleLoaderDelegate.kt +52 -0
  252. package/ReactAndroid/src/main/java/com/facebook/react/bridge/{JavaJSExecutor.java → JavaJSExecutor.kt} +13 -18
  253. package/ReactAndroid/src/main/java/com/facebook/react/bridge/{JavaScriptExecutorFactory.java → JavaScriptExecutorFactory.kt} +5 -5
  254. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptModule.kt +24 -0
  255. package/ReactAndroid/src/main/java/com/facebook/react/{animated/AnimatedNodeValueListener.java → bridge/PerformanceCounter.kt} +4 -4
  256. package/ReactAndroid/src/main/java/com/facebook/react/bridge/{Promise.java → Promise.kt} +19 -29
  257. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +13 -0
  258. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactInstanceManagerInspectorTarget.java +10 -0
  259. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMarkerConstants.java +2 -0
  260. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNoCrashSoftException.java +3 -1
  261. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManager.kt +178 -0
  262. package/ReactAndroid/src/main/java/com/facebook/react/bridge/interop/InteropModuleRegistry.java +2 -1
  263. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThread.java +2 -0
  264. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThreadImpl.java +28 -47
  265. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/ReactQueueConfigurationImpl.java +5 -19
  266. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/ReactQueueConfigurationSpec.java +4 -6
  267. package/ReactAndroid/src/main/java/com/facebook/react/common/ClearableSynchronizedPool.kt +51 -0
  268. package/ReactAndroid/src/main/java/com/facebook/react/common/DebugServerException.kt +107 -0
  269. package/ReactAndroid/src/main/java/com/facebook/react/common/JavascriptException.kt +2 -10
  270. package/ReactAndroid/src/main/java/com/facebook/react/common/MapBuilder.java +6 -1
  271. package/ReactAndroid/src/main/java/com/facebook/react/common/ShakeDetector.kt +124 -0
  272. package/ReactAndroid/src/main/java/com/facebook/react/common/assets/ReactFontManager.kt +197 -0
  273. package/ReactAndroid/src/main/java/com/facebook/react/common/build/{ReactBuildConfig.java → ReactBuildConfig.kt} +9 -6
  274. package/ReactAndroid/src/main/java/com/facebook/react/common/futures/SimpleSettableFuture.kt +111 -0
  275. package/ReactAndroid/src/main/java/com/facebook/react/common/network/OkHttpCallUtil.kt +38 -0
  276. package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java +16 -62
  277. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultComponentsRegistry.kt +5 -20
  278. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultNewArchitectureEntryPoint.kt +7 -55
  279. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHost.kt +16 -16
  280. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHostDelegate.kt +1 -1
  281. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactNativeHost.kt +1 -0
  282. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.java +0 -73
  283. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/CxxInspectorPackagerConnection.java +30 -13
  284. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevLoadingViewImplementation.kt +120 -0
  285. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevInternalSettings.kt +3 -7
  286. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.java +10 -1
  287. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +12 -5
  288. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialog.kt +29 -1
  289. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialogSurfaceDelegate.kt +2 -3
  290. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxModule.kt +10 -12
  291. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PausedInDebuggerOverlayDialogManager.java +19 -5
  292. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PerftestDevSupportManager.kt +38 -0
  293. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxDialogSurfaceDelegate.java +31 -0
  294. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ReleaseDevSupportManager.kt +168 -0
  295. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/InspectorNetworkHelper.java +94 -0
  296. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/InspectorNetworkRequestListener.java +34 -0
  297. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.kt +4 -1
  298. package/ReactAndroid/src/main/java/com/facebook/react/fabric/Binding.kt +2 -0
  299. package/ReactAndroid/src/main/java/com/facebook/react/fabric/BindingImpl.kt +2 -0
  300. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricComponents.kt +45 -0
  301. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +75 -37
  302. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventBeatManager.kt +43 -0
  303. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.kt +64 -0
  304. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/LayoutMetricsConversions.kt +3 -3
  305. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.java +23 -25
  306. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +110 -360
  307. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.java +16 -22
  308. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/MountItemFactory.kt +1 -4
  309. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.java +1 -5
  310. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEvent.kt +40 -0
  311. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEventMountItem.kt +40 -0
  312. package/ReactAndroid/src/main/java/com/facebook/react/internal/SystraceSection.kt +23 -0
  313. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +157 -13
  314. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +266 -26
  315. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +54 -6
  316. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +55 -7
  317. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +294 -30
  318. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +54 -6
  319. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeNewArchitectureFeatureFlagsDefaults.kt +43 -0
  320. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleInteropUtils.java +2 -5
  321. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManager.java +19 -57
  322. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManagerDelegate.java +2 -15
  323. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.kt +14 -14
  324. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/FileReaderModule.java +6 -0
  325. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ChoreographerCompat.kt +16 -0
  326. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/{DefaultHardwareBackBtnHandler.java → DefaultHardwareBackBtnHandler.kt} +4 -6
  327. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/DeviceEventManagerModule.kt +65 -0
  328. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ExceptionsManagerModule.kt +79 -0
  329. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/HeadlessJsTaskSupportModule.kt +51 -0
  330. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JSTimers.kt +21 -0
  331. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/{JavaScriptTimerExecutor.java → JavaScriptTimerExecutor.kt} +7 -8
  332. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.kt +363 -0
  333. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/PermissionAwareActivity.kt +30 -0
  334. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/{PermissionListener.java → PermissionListener.kt} +9 -9
  335. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/RCTNativeAppEventEmitter.kt +17 -0
  336. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactChoreographer.kt +144 -0
  337. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/TimingModule.kt +83 -0
  338. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DidJSUpdateUiDuringFrameDetector.kt +36 -48
  339. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/interfaces/DeveloperSettings.kt +2 -0
  340. package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/AlertFragment.java +58 -5
  341. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/FrescoModule.kt +163 -0
  342. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactNetworkImageRequest.kt +31 -0
  343. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactOkHttpNetworkFetcher.kt +56 -0
  344. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/SystraceRequestListener.kt +152 -0
  345. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nManagerModule.kt +2 -6
  346. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nUtil.kt +4 -3
  347. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/OkHttpCompat.java +35 -0
  348. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/RequestBodyUtil.java +1 -7
  349. package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/PermissionsModule.kt +189 -0
  350. package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/StatusBarModule.kt +4 -28
  351. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoHelpers.java +48 -0
  352. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +2 -2
  353. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/PackagerConnectionSettings.kt +55 -0
  354. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessDevSupportManager.java +9 -14
  355. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessReactContext.java +2 -2
  356. package/ReactAndroid/src/main/java/com/facebook/react/runtime/CoreReactPackage.java +2 -2
  357. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostDelegate.kt +0 -18
  358. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.java +243 -210
  359. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.java +47 -45
  360. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceView.kt +2 -1
  361. package/ReactAndroid/src/main/java/com/facebook/react/runtime/hermes/HermesInstance.kt +11 -4
  362. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/Executors.kt +44 -0
  363. package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.java +5 -2
  364. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BackgroundStyleApplicator.kt +263 -0
  365. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +64 -32
  366. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerDelegate.kt +109 -0
  367. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerInterface.kt +85 -0
  368. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BlendModeHelper.kt +44 -0
  369. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/FilterHelper.kt +89 -17
  370. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/IViewGroupManager.kt +35 -0
  371. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{IViewManagerWithChildren.java → IViewManagerWithChildren.kt} +3 -3
  372. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSTouchDispatcher.java +58 -11
  373. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutDirectionUtil.kt +29 -0
  374. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.java +2 -2
  375. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LengthPercentage.kt +8 -7
  376. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +23 -7
  377. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyOptimizer.java +4 -2
  378. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/PixelUtil.kt +21 -0
  379. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNodeImpl.java +2 -1
  380. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.java +1 -1
  381. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +14 -0
  382. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +16 -0
  383. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstantsHelper.java +9 -7
  384. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +33 -5
  385. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManager.java +20 -10
  386. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerDelegate.kt +24 -0
  387. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewProps.kt +3 -0
  388. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BoxShadowBorderRadius.kt +29 -0
  389. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/CSSBackgroundDrawable.java +160 -87
  390. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/CompositeBackgroundDrawable.kt +85 -0
  391. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/InsetBoxShadowDrawable.kt +191 -0
  392. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/OutsetBoxShadowDrawable.kt +159 -0
  393. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/BlackHoleEventDispatcher.kt +57 -0
  394. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ContentSizeChangeEvent.kt +37 -0
  395. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherImpl.java +2 -2
  396. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.java +55 -29
  397. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/SimpleSpringInterpolator.kt +48 -0
  398. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BackgroundImageLayer.kt +28 -0
  399. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderInsets.kt +105 -0
  400. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderRadiusStyle.kt +27 -12
  401. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderStyle.kt +26 -0
  402. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BoxShadow.kt +50 -0
  403. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/ComputedBorderRadius.kt +30 -6
  404. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/CornerRadii.kt +19 -0
  405. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/Gradient.kt +76 -0
  406. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/LogicalEdge.kt +79 -0
  407. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/Overflow.kt +26 -0
  408. package/ReactAndroid/src/main/java/com/facebook/react/views/debuggingoverlay/DebuggingOverlayManager.kt +3 -13
  409. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayout.kt +125 -0
  410. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayoutManager.kt +259 -0
  411. package/ReactAndroid/src/main/java/com/facebook/react/views/image/MultiPostprocessor.kt +61 -0
  412. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageDownloadListener.kt +1 -1
  413. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageManager.kt +307 -0
  414. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.kt +725 -0
  415. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ImageSource.kt +7 -5
  416. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ResourceDrawableIdHelper.kt +35 -0
  417. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ModalHostHelper.kt +1 -0
  418. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ModalHostShadowNode.kt +1 -4
  419. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.kt +13 -30
  420. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt +61 -90
  421. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarContainerView.kt +70 -0
  422. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ReactProgressBarViewManager.kt +165 -0
  423. package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaView.kt +65 -0
  424. package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaViewManager.kt +51 -0
  425. package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaViewShadowNode.kt +12 -0
  426. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/OnScrollDispatchHelper.kt +50 -0
  427. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +80 -11
  428. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.java +64 -20
  429. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +79 -11
  430. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.kt +22 -33
  431. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.java +65 -19
  432. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VelocityHelper.kt +51 -0
  433. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/ReactSwipeRefreshLayout.java +11 -0
  434. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitch.kt +110 -0
  435. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactRawTextManager.java +8 -0
  436. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.java +73 -20
  437. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +143 -77
  438. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java +36 -32
  439. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java +11 -0
  440. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +79 -104
  441. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactOpacitySpan.kt +33 -0
  442. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +89 -9
  443. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java +67 -38
  444. package/ReactAndroid/src/main/java/com/facebook/react/views/view/CanvasUtil.kt +95 -0
  445. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundDrawable.java +2 -0
  446. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundManager.java +6 -4
  447. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +257 -96
  448. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.java +86 -25
  449. package/ReactAndroid/src/main/java/com/facebook/react/views/view/WindowUtil.kt +63 -0
  450. package/ReactAndroid/src/main/java/com/facebook/systrace/Systrace.kt +23 -0
  451. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNative.java +1 -0
  452. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNode.java +2 -0
  453. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.java +4 -0
  454. package/ReactAndroid/src/main/jni/CMakeLists.txt +182 -3
  455. package/ReactAndroid/src/main/jni/first-party/fbgloginit/CMakeLists.txt +1 -1
  456. package/ReactAndroid/src/main/jni/first-party/jni-lib-merge/CMakeLists.txt +24 -0
  457. package/ReactAndroid/src/main/jni/first-party/jni-lib-merge/SoMerging-utils.cmake +23 -0
  458. package/ReactAndroid/src/main/jni/first-party/jni-lib-merge/jni_lib_merge.c +157 -0
  459. package/ReactAndroid/src/main/jni/first-party/jni-lib-merge/jni_lib_merge.h +108 -0
  460. package/ReactAndroid/src/main/jni/first-party/yogajni/CMakeLists.txt +5 -1
  461. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNIVanilla.cpp +12 -1
  462. package/ReactAndroid/src/main/jni/react/devsupport/CMakeLists.txt +5 -1
  463. package/ReactAndroid/src/main/jni/react/devsupport/JCxxInspectorPackagerConnectionWebSocketDelegate.cpp +11 -2
  464. package/ReactAndroid/src/main/jni/react/devsupport/JCxxInspectorPackagerConnectionWebSocketDelegate.h +1 -3
  465. package/ReactAndroid/src/main/jni/react/fabric/Binding.cpp +35 -19
  466. package/ReactAndroid/src/main/jni/react/fabric/Binding.h +3 -0
  467. package/ReactAndroid/src/main/jni/react/fabric/CMakeLists.txt +9 -1
  468. package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.cpp +6 -43
  469. package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.h +4 -27
  470. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.cpp +76 -40
  471. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.h +25 -1
  472. package/ReactAndroid/src/main/jni/react/fabric/MountItem.cpp +0 -7
  473. package/ReactAndroid/src/main/jni/react/fabric/MountItem.h +1 -7
  474. package/ReactAndroid/src/main/jni/react/fabric/OnLoad.cpp +0 -2
  475. package/ReactAndroid/src/main/jni/react/fabric/StateWrapperImpl.cpp +49 -13
  476. package/ReactAndroid/src/main/jni/react/fabric/StateWrapperImpl.h +3 -2
  477. package/ReactAndroid/src/main/jni/react/featureflags/CMakeLists.txt +5 -1
  478. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +369 -33
  479. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +79 -7
  480. package/ReactAndroid/src/main/jni/react/hermes/instrumentation/CMakeLists.txt +7 -6
  481. package/ReactAndroid/src/main/jni/react/hermes/reactexecutor/CMakeLists.txt +5 -6
  482. package/ReactAndroid/src/main/jni/react/hermes/reactexecutor/OnLoad.cpp +0 -1
  483. package/ReactAndroid/src/main/jni/react/hermes/tooling/CMakeLists.txt +41 -0
  484. package/ReactAndroid/src/main/jni/react/jni/CMakeLists.txt +3 -1
  485. package/ReactAndroid/src/main/jni/react/jni/InspectorNetworkRequestListener.cpp +76 -0
  486. package/ReactAndroid/src/main/jni/react/jni/InspectorNetworkRequestListener.h +44 -0
  487. package/ReactAndroid/src/main/jni/react/jni/JDynamicNative.cpp +46 -0
  488. package/ReactAndroid/src/main/jni/react/jni/JDynamicNative.h +56 -0
  489. package/ReactAndroid/src/main/jni/react/jni/JReactMarker.cpp +1 -0
  490. package/ReactAndroid/src/main/jni/react/jni/JWeakRefUtils.h +23 -0
  491. package/ReactAndroid/src/main/jni/react/jni/MethodInvoker.cpp +3 -1
  492. package/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp +4 -0
  493. package/ReactAndroid/src/main/jni/react/jni/ReactInstanceManagerInspectorTarget.cpp +71 -18
  494. package/ReactAndroid/src/main/jni/react/jni/ReactInstanceManagerInspectorTarget.h +17 -6
  495. package/ReactAndroid/src/main/jni/react/jscexecutor/CMakeLists.txt +6 -7
  496. package/ReactAndroid/src/main/jni/react/jsctooling/CMakeLists.txt +34 -0
  497. package/ReactAndroid/src/main/jni/react/mapbuffer/CMakeLists.txt +5 -1
  498. package/ReactAndroid/src/main/jni/react/newarchdefaults/CMakeLists.txt +10 -2
  499. package/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultComponentsRegistry.cpp +16 -33
  500. package/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultComponentsRegistry.h +2 -11
  501. package/ReactAndroid/src/main/jni/react/reactnativeblob/CMakeLists.txt +4 -1
  502. package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/CMakeLists.txt +8 -4
  503. package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/JHermesInstance.cpp +4 -3
  504. package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/JHermesInstance.h +8 -3
  505. package/ReactAndroid/src/main/jni/react/runtime/jni/CMakeLists.txt +4 -1
  506. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.cpp +64 -22
  507. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.h +35 -6
  508. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactInstance.cpp +1 -0
  509. package/ReactAndroid/src/main/jni/react/runtime/jsc/jni/CMakeLists.txt +7 -5
  510. package/ReactAndroid/src/main/jni/react/turbomodule/CMakeLists.txt +7 -2
  511. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.cpp +156 -166
  512. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.h +23 -17
  513. package/ReactAndroid/src/main/jni/react/uimanager/CMakeLists.txt +17 -5
  514. package/ReactAndroid/src/main/jni/third-party/folly/CMakeLists.txt +1 -1
  515. package/ReactAndroid/src/main/jni/third-party/glog/CMakeLists.txt +1 -1
  516. package/ReactAndroid/src/main/res/devsupport/drawable/paused_in_debugger_background.xml +1 -1
  517. package/ReactAndroid/src/main/res/devsupport/drawable/paused_in_debugger_dialog_background.xml +7 -0
  518. package/ReactAndroid/src/main/res/devsupport/drawable-hdpi/ic_resume.png +0 -0
  519. package/ReactAndroid/src/main/res/devsupport/drawable-mdpi/ic_resume.png +0 -0
  520. package/ReactAndroid/src/main/res/devsupport/drawable-xhdpi/ic_resume.png +0 -0
  521. package/ReactAndroid/src/main/res/devsupport/drawable-xxhdpi/ic_resume.png +0 -0
  522. package/ReactAndroid/src/main/res/devsupport/drawable-xxxhdpi/ic_resume.png +0 -0
  523. package/ReactAndroid/src/main/res/devsupport/layout/paused_in_debugger_view.xml +19 -18
  524. package/ReactAndroid/src/main/res/devsupport/values/strings.xml +2 -2
  525. package/ReactAndroid/src/main/res/devsupport/values/styles.xml +4 -0
  526. package/ReactAndroid/src/main/res/devsupport/xml/rn_dev_preferences.xml +0 -6
  527. package/ReactAndroid/src/main/res/views/alert/layout/alert_title_layout.xml +22 -0
  528. package/ReactAndroid/src/main/res/views/uimanager/values/ids.xml +3 -0
  529. package/ReactCommon/cxxreact/CMakeLists.txt +2 -1
  530. package/ReactCommon/cxxreact/CxxModule.h +0 -2
  531. package/ReactCommon/cxxreact/JSExecutor.cpp +2 -7
  532. package/ReactCommon/cxxreact/React-cxxreact.podspec +1 -0
  533. package/ReactCommon/cxxreact/ReactMarker.cpp +10 -2
  534. package/ReactCommon/cxxreact/ReactMarker.h +5 -1
  535. package/ReactCommon/cxxreact/ReactNativeVersion.h +2 -2
  536. package/ReactCommon/cxxreact/SystraceSection.h +15 -10
  537. package/ReactCommon/cxxreact/tests/jsarg_helpers.cpp +1 -1
  538. package/ReactCommon/hermes/executor/CMakeLists.txt +3 -3
  539. package/ReactCommon/hermes/inspector-modern/CMakeLists.txt +2 -5
  540. package/ReactCommon/jsc/CMakeLists.txt +5 -3
  541. package/ReactCommon/jserrorhandler/CMakeLists.txt +1 -1
  542. package/ReactCommon/jserrorhandler/JsErrorHandler.cpp +40 -1
  543. package/ReactCommon/jserrorhandler/JsErrorHandler.h +12 -1
  544. package/ReactCommon/jserrorhandler/React-jserrorhandler.podspec +6 -0
  545. package/ReactCommon/jsi/jsi/decorator.h +57 -4
  546. package/ReactCommon/jsi/jsi/instrumentation.h +15 -3
  547. package/ReactCommon/jsi/jsi/jsi.cpp +6 -2
  548. package/ReactCommon/jsiexecutor/CMakeLists.txt +1 -1
  549. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp +10 -4
  550. package/ReactCommon/jsiexecutor/jsireact/JSINativeModules.cpp +5 -1
  551. package/ReactCommon/jsinspector-modern/Base64.h +98 -0
  552. package/ReactCommon/jsinspector-modern/CMakeLists.txt +6 -1
  553. package/ReactCommon/jsinspector-modern/CdpJson.h +1 -1
  554. package/ReactCommon/jsinspector-modern/ExecutionContext.cpp +3 -4
  555. package/ReactCommon/jsinspector-modern/FallbackRuntimeAgentDelegate.h +5 -5
  556. package/ReactCommon/jsinspector-modern/HostAgent.cpp +45 -22
  557. package/ReactCommon/jsinspector-modern/HostAgent.h +7 -1
  558. package/ReactCommon/jsinspector-modern/HostTarget.cpp +36 -7
  559. package/ReactCommon/jsinspector-modern/HostTarget.h +25 -5
  560. package/ReactCommon/jsinspector-modern/InspectorFlags.cpp +14 -3
  561. package/ReactCommon/jsinspector-modern/InspectorFlags.h +1 -1
  562. package/ReactCommon/jsinspector-modern/InspectorInterfaces.cpp +5 -1
  563. package/ReactCommon/jsinspector-modern/InspectorInterfaces.h +18 -1
  564. package/ReactCommon/jsinspector-modern/InspectorPackagerConnection.h +4 -5
  565. package/ReactCommon/jsinspector-modern/NetworkIOAgent.cpp +440 -0
  566. package/ReactCommon/jsinspector-modern/NetworkIOAgent.h +266 -0
  567. package/ReactCommon/jsinspector-modern/React-jsinspector.podspec +1 -0
  568. package/ReactCommon/jsinspector-modern/RuntimeAgent.cpp +22 -0
  569. package/ReactCommon/jsinspector-modern/RuntimeTarget.cpp +46 -0
  570. package/ReactCommon/jsinspector-modern/RuntimeTarget.h +31 -0
  571. package/ReactCommon/jsinspector-modern/RuntimeTargetConsole.cpp +2 -2
  572. package/ReactCommon/jsinspector-modern/RuntimeTargetDebuggerSessionObserver.cpp +112 -0
  573. package/ReactCommon/jsinspector-modern/Utf8.h +56 -0
  574. package/ReactCommon/jsinspector-modern/WebSocketInterfaces.h +6 -0
  575. package/ReactCommon/jsinspector-modern/tests/ConsoleApiTest.cpp +54 -0
  576. package/ReactCommon/jsinspector-modern/tests/HostTargetTest.cpp +801 -0
  577. package/ReactCommon/jsinspector-modern/tests/InspectorMocks.h +6 -0
  578. package/ReactCommon/jsinspector-modern/tests/InspectorPackagerConnectionTest.cpp +29 -12
  579. package/ReactCommon/jsinspector-modern/tests/JsiIntegrationTest.cpp +38 -0
  580. package/ReactCommon/jsinspector-modern/tests/ReactInstanceIntegrationTest.cpp +2 -1
  581. package/ReactCommon/jsinspector-modern/tests/RuntimeTargetDebuggerSessionObserverTest.cpp +214 -0
  582. package/ReactCommon/jsinspector-modern/tests/Utf8.cpp +58 -0
  583. package/ReactCommon/logger/CMakeLists.txt +1 -1
  584. package/ReactCommon/react/bridging/Bool.h +1 -1
  585. package/ReactCommon/react/bridging/CMakeLists.txt +1 -1
  586. package/ReactCommon/react/config/CMakeLists.txt +1 -1
  587. package/ReactCommon/react/config/ReactNativeConfig.cpp +0 -3
  588. package/ReactCommon/react/debug/CMakeLists.txt +1 -1
  589. package/ReactCommon/react/featureflags/CMakeLists.txt +1 -1
  590. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +107 -11
  591. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +132 -12
  592. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +479 -47
  593. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +58 -10
  594. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +106 -10
  595. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +29 -5
  596. package/ReactCommon/react/nativemodule/core/CMakeLists.txt +2 -1
  597. package/ReactCommon/react/nativemodule/core/ReactCommon/CxxTurboModuleUtils.h +6 -38
  598. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +68 -66
  599. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.h +2 -2
  600. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.h +21 -2
  601. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +13 -0
  602. package/ReactCommon/react/nativemodule/defaults/CMakeLists.txt +1 -1
  603. package/ReactCommon/react/nativemodule/dom/CMakeLists.txt +5 -1
  604. package/ReactCommon/react/nativemodule/featureflags/CMakeLists.txt +1 -1
  605. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +132 -12
  606. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +54 -6
  607. package/ReactCommon/react/nativemodule/idlecallbacks/CMakeLists.txt +1 -1
  608. package/ReactCommon/react/nativemodule/microtasks/CMakeLists.txt +1 -1
  609. package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.cpp +0 -11
  610. package/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec +2 -0
  611. package/ReactCommon/react/nativemodule/samples/platform/android/CMakeLists.txt +2 -2
  612. package/ReactCommon/react/nativemodule/samples/platform/android/NativeSampleTurboModuleSpec.java +16 -0
  613. package/ReactCommon/react/nativemodule/samples/platform/android/ReactCommon/SampleTurboModuleSpec.cpp +9 -0
  614. package/ReactCommon/react/nativemodule/samples/platform/android/SampleTurboModule.java +20 -1
  615. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTNativeSampleTurboModuleSpec.h +11 -0
  616. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTNativeSampleTurboModuleSpec.mm +34 -0
  617. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboModule.h +1 -1
  618. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboModule.mm +4 -0
  619. package/ReactCommon/react/nativemodule/webperformance/NativePerformance.cpp +28 -16
  620. package/ReactCommon/react/nativemodule/webperformance/NativePerformanceObserver.cpp +8 -1
  621. package/ReactCommon/react/performance/timeline/CMakeLists.txt +2 -1
  622. package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.cpp +12 -2
  623. package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.h +8 -4
  624. package/ReactCommon/react/performance/timeline/React-performancetimeline.podspec +1 -0
  625. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +0 -18
  626. package/ReactCommon/react/renderer/attributedstring/CMakeLists.txt +1 -1
  627. package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +4 -0
  628. package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +2 -0
  629. package/ReactCommon/react/renderer/attributedstring/conversions.h +55 -2
  630. package/ReactCommon/react/renderer/attributedstring/primitives.h +9 -0
  631. package/ReactCommon/react/renderer/componentregistry/CMakeLists.txt +1 -1
  632. package/ReactCommon/react/renderer/componentregistry/native/CMakeLists.txt +1 -1
  633. package/ReactCommon/react/renderer/components/image/CMakeLists.txt +1 -1
  634. package/ReactCommon/react/renderer/components/image/conversions.h +9 -0
  635. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/CMakeLists.txt +1 -1
  636. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.mm +2 -3
  637. package/ReactCommon/react/renderer/components/modal/ModalHostViewState.h +10 -1
  638. package/{ReactAndroid/src/main/java/com/facebook/react/bridge/PerformanceCounter.java → ReactCommon/react/renderer/components/modal/ModalHostViewUtils.h} +5 -6
  639. package/ReactCommon/react/renderer/components/modal/ModalHostViewUtils.mm +20 -0
  640. package/ReactCommon/react/renderer/components/progressbar/CMakeLists.txt +1 -1
  641. package/ReactCommon/react/renderer/components/root/CMakeLists.txt +1 -1
  642. package/ReactCommon/react/renderer/components/safeareaview/CMakeLists.txt +46 -0
  643. package/ReactCommon/react/renderer/components/safeareaview/SafeAreaViewState.cpp +10 -1
  644. package/ReactCommon/react/renderer/components/safeareaview/SafeAreaViewState.h +20 -0
  645. package/ReactCommon/react/renderer/components/scrollview/ScrollEvent.cpp +99 -0
  646. package/ReactCommon/react/renderer/components/scrollview/ScrollEvent.h +44 -0
  647. package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.cpp +16 -72
  648. package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.h +12 -18
  649. package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.cpp +9 -0
  650. package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.h +1 -0
  651. package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +8 -0
  652. package/ReactCommon/react/renderer/components/text/CMakeLists.txt +1 -2
  653. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp +35 -17
  654. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.h +3 -0
  655. package/ReactCommon/react/renderer/components/textinput/CMakeLists.txt +1 -1
  656. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.cpp +27 -0
  657. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.h +3 -0
  658. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputEventEmitter.cpp +1 -1
  659. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputShadowNode.cpp +29 -0
  660. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputShadowNode.h +3 -0
  661. package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +20 -0
  662. package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +2 -0
  663. package/ReactCommon/react/renderer/components/view/BaseViewProps.cpp +117 -77
  664. package/ReactCommon/react/renderer/components/view/BaseViewProps.h +18 -1
  665. package/ReactCommon/react/renderer/components/view/CMakeLists.txt +1 -1
  666. package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +4 -1
  667. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +21 -0
  668. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.h +4 -0
  669. package/ReactCommon/react/renderer/components/view/conversions.h +307 -23
  670. package/ReactCommon/react/renderer/components/view/primitives.h +8 -1
  671. package/ReactCommon/react/renderer/consistency/CMakeLists.txt +1 -1
  672. package/ReactCommon/react/renderer/core/CMakeLists.txt +1 -1
  673. package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +21 -12
  674. package/ReactCommon/react/renderer/core/EventDispatcher.cpp +5 -3
  675. package/ReactCommon/react/renderer/core/EventDispatcher.h +1 -1
  676. package/ReactCommon/react/renderer/core/EventEmitter.cpp +1 -1
  677. package/ReactCommon/react/renderer/core/EventEmitter.h +2 -0
  678. package/ReactCommon/react/renderer/core/EventListener.cpp +6 -3
  679. package/ReactCommon/react/renderer/core/EventListener.h +1 -1
  680. package/ReactCommon/react/renderer/core/EventLogger.h +4 -1
  681. package/ReactCommon/react/renderer/core/EventPayloadType.h +1 -1
  682. package/ReactCommon/react/renderer/core/EventQueueProcessor.cpp +35 -11
  683. package/ReactCommon/react/renderer/core/EventTarget.cpp +8 -1
  684. package/ReactCommon/react/renderer/core/EventTarget.h +6 -1
  685. package/ReactCommon/react/renderer/core/LayoutableShadowNode.cpp +26 -6
  686. package/ReactCommon/react/renderer/core/LayoutableShadowNode.h +2 -3
  687. package/ReactCommon/react/renderer/core/Props.h +5 -0
  688. package/ReactCommon/react/renderer/core/PropsMacros.h +15 -11
  689. package/ReactCommon/react/renderer/core/RawProps.cpp +1 -6
  690. package/ReactCommon/react/renderer/core/RawProps.h +0 -8
  691. package/ReactCommon/react/renderer/core/RawPropsKeyMap.cpp +1 -1
  692. package/ReactCommon/react/renderer/core/RawPropsParser.cpp +19 -73
  693. package/ReactCommon/react/renderer/core/RawPropsParser.h +0 -9
  694. package/ReactCommon/react/renderer/core/RawValue.h +6 -7
  695. package/ReactCommon/react/renderer/core/ShadowNode.cpp +5 -4
  696. package/ReactCommon/react/renderer/core/ShadowNode.h +5 -5
  697. package/ReactCommon/react/renderer/core/ShadowNodeTraits.h +3 -0
  698. package/ReactCommon/react/renderer/core/tests/EventQueueProcessorTest.cpp +3 -1
  699. package/ReactCommon/react/renderer/core/tests/EventTargetTests.cpp +3 -1
  700. package/ReactCommon/react/renderer/core/tests/FindNodeAtPointTest.cpp +49 -0
  701. package/ReactCommon/react/renderer/core/tests/ShadowNodeTest.cpp +1 -1
  702. package/ReactCommon/react/renderer/debug/CMakeLists.txt +2 -2
  703. package/ReactCommon/react/renderer/dom/CMakeLists.txt +1 -1
  704. package/ReactCommon/react/renderer/element/CMakeLists.txt +1 -1
  705. package/ReactCommon/react/renderer/graphics/BackgroundImage.h +46 -0
  706. package/ReactCommon/react/renderer/graphics/BlendMode.h +72 -0
  707. package/ReactCommon/react/renderer/graphics/BoxShadow.h +25 -0
  708. package/ReactCommon/react/renderer/graphics/CMakeLists.txt +1 -1
  709. package/ReactCommon/react/renderer/graphics/Color.cpp +27 -0
  710. package/ReactCommon/react/renderer/graphics/Color.h +6 -0
  711. package/ReactCommon/react/renderer/graphics/Filter.h +19 -5
  712. package/ReactCommon/react/renderer/graphics/Isolation.h +31 -0
  713. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +1 -0
  714. package/ReactCommon/react/renderer/graphics/Transform.cpp +3 -2
  715. package/ReactCommon/react/renderer/graphics/Transform.h +11 -0
  716. package/ReactCommon/react/renderer/graphics/ValueUnit.h +3 -2
  717. package/ReactCommon/react/renderer/graphics/platform/android/react/renderer/graphics/HostPlatformColor.h +21 -0
  718. package/ReactCommon/react/renderer/graphics/platform/android/react/renderer/graphics/PlatformColorParser.h +48 -20
  719. package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/HostPlatformColor.h +31 -8
  720. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/HostPlatformColor.h +31 -0
  721. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/HostPlatformColor.mm +9 -0
  722. package/ReactCommon/react/renderer/graphics/tests/ColorTest.cpp +38 -0
  723. package/ReactCommon/react/renderer/imagemanager/CMakeLists.txt +1 -1
  724. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTImagePrimitivesConversions.h +7 -0
  725. package/ReactCommon/react/renderer/imagemanager/primitives.h +1 -0
  726. package/ReactCommon/react/renderer/mapbuffer/CMakeLists.txt +1 -1
  727. package/ReactCommon/react/renderer/mounting/CMakeLists.txt +1 -1
  728. package/ReactCommon/react/renderer/mounting/Differentiator.cpp +15 -52
  729. package/ReactCommon/react/renderer/mounting/MountingCoordinator.cpp +10 -3
  730. package/ReactCommon/react/renderer/mounting/MountingCoordinator.h +22 -1
  731. package/ReactCommon/react/renderer/mounting/ShadowViewMutation.cpp +4 -32
  732. package/ReactCommon/react/renderer/mounting/ShadowViewMutation.h +2 -28
  733. package/ReactCommon/react/renderer/mounting/stubs/StubViewTree.cpp +0 -5
  734. package/ReactCommon/react/renderer/observers/events/CMakeLists.txt +4 -1
  735. package/ReactCommon/react/renderer/observers/events/EventPerformanceLogger.cpp +75 -18
  736. package/ReactCommon/react/renderer/observers/events/EventPerformanceLogger.h +19 -2
  737. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserver.cpp +14 -10
  738. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserver.h +6 -3
  739. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverManager.cpp +24 -8
  740. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverManager.h +6 -3
  741. package/ReactCommon/react/renderer/runtimescheduler/CMakeLists.txt +2 -0
  742. package/ReactCommon/react/renderer/runtimescheduler/React-runtimescheduler.podspec +2 -0
  743. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +30 -7
  744. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h +25 -3
  745. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerEventTimingDelegate.h +25 -0
  746. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Legacy.cpp +19 -6
  747. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Legacy.h +12 -2
  748. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.cpp +116 -53
  749. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.h +36 -12
  750. package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +149 -2
  751. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +29 -22
  752. package/ReactCommon/react/renderer/scheduler/Scheduler.h +1 -7
  753. package/ReactCommon/react/renderer/scheduler/SchedulerToolbox.h +0 -10
  754. package/ReactCommon/react/renderer/telemetry/CMakeLists.txt +1 -1
  755. package/ReactCommon/react/renderer/textlayoutmanager/CMakeLists.txt +1 -2
  756. package/ReactCommon/react/renderer/textlayoutmanager/TextMeasureCache.h +44 -0
  757. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +70 -40
  758. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.h +17 -7
  759. package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/TextLayoutManager.cpp +14 -7
  760. package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/TextLayoutManager.h +16 -7
  761. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.h +2 -0
  762. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.mm +6 -2
  763. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTFontUtils.mm +3 -2
  764. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +83 -13
  765. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextPrimitivesConversions.h +18 -0
  766. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.h +17 -7
  767. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.mm +34 -10
  768. package/ReactCommon/react/renderer/uimanager/CMakeLists.txt +1 -1
  769. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +9 -11
  770. package/ReactCommon/react/renderer/uimanager/UIManager.h +0 -6
  771. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +16 -72
  772. package/ReactCommon/react/renderer/uimanager/UIManagerMountHook.h +6 -0
  773. package/ReactCommon/react/renderer/uimanager/consistency/CMakeLists.txt +1 -1
  774. package/ReactCommon/react/renderer/uimanager/primitives.h +8 -3
  775. package/ReactCommon/react/renderer/uimanager/tests/PointerEventsProcessorTest.cpp +1 -4
  776. package/ReactCommon/react/runtime/BufferedRuntimeExecutor.h +1 -1
  777. package/ReactCommon/react/runtime/CMakeLists.txt +2 -6
  778. package/ReactCommon/react/runtime/JSRuntimeFactory.h +8 -0
  779. package/ReactCommon/react/runtime/React-RuntimeCore.podspec +1 -0
  780. package/ReactCommon/react/runtime/ReactInstance.cpp +117 -50
  781. package/ReactCommon/react/runtime/TimerManager.cpp +156 -75
  782. package/ReactCommon/react/runtime/TimerManager.h +16 -4
  783. package/ReactCommon/react/runtime/hermes/CMakeLists.txt +3 -5
  784. package/ReactCommon/react/runtime/hermes/HermesInstance.cpp +24 -15
  785. package/ReactCommon/react/runtime/hermes/HermesInstance.h +3 -2
  786. package/ReactCommon/react/runtime/nativeviewconfig/CMakeLists.txt +1 -1
  787. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHermesInstance.h +7 -5
  788. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHermesInstance.mm +12 -8
  789. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.mm +22 -52
  790. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.h +1 -3
  791. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.mm +9 -8
  792. package/ReactCommon/react/runtime/tests/cxx/ReactInstanceTest.cpp +22 -16
  793. package/ReactCommon/react/test_utils/ios/Shims/ShimRCTInstance.mm +4 -5
  794. package/ReactCommon/react/timing/CMakeLists.txt +18 -0
  795. package/ReactCommon/react/timing/React-timing.podspec +44 -0
  796. package/ReactCommon/react/timing/primitives.h +31 -0
  797. package/ReactCommon/react/timing/tests/PrimitivesTest.cpp +47 -0
  798. package/ReactCommon/react/utils/CMakeLists.txt +1 -1
  799. package/ReactCommon/react/utils/CoreFeatures.cpp +0 -1
  800. package/ReactCommon/react/utils/CoreFeatures.h +0 -4
  801. package/ReactCommon/reactperflogger/CMakeLists.txt +7 -2
  802. package/ReactCommon/reactperflogger/React-perflogger.podspec +15 -2
  803. package/ReactCommon/reactperflogger/fusebox/FuseboxTracer.cpp +117 -0
  804. package/ReactCommon/reactperflogger/fusebox/FuseboxTracer.h +53 -0
  805. package/ReactCommon/reactperflogger/fusebox/tests/FuseboxTracerTest.cpp +90 -0
  806. package/ReactCommon/reactperflogger/reactperflogger/HermesPerfettoDataSource.cpp +19 -4
  807. package/ReactCommon/reactperflogger/reactperflogger/HermesPerfettoDataSource.h +9 -1
  808. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfetto.cpp +42 -6
  809. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfetto.h +6 -1
  810. package/ReactCommon/runtimeexecutor/CMakeLists.txt +1 -1
  811. package/ReactCommon/yoga/yoga/YGNodeStyle.cpp +5 -0
  812. package/ReactCommon/yoga/yoga/YGNodeStyle.h +3 -1
  813. package/ReactCommon/yoga/yoga/algorithm/AbsoluteLayout.cpp +48 -19
  814. package/ReactCommon/yoga/yoga/algorithm/AbsoluteLayout.h +2 -1
  815. package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.cpp +28 -2
  816. package/ReactCommon/yoga/yoga/config/Config.cpp +24 -5
  817. package/ReactCommon/yoga/yoga/config/Config.h +3 -0
  818. package/ReactCommon/yoga/yoga/node/LayoutResults.cpp +1 -0
  819. package/ReactCommon/yoga/yoga/node/LayoutResults.h +1 -0
  820. package/ReactCommon/yoga/yoga/node/Node.cpp +7 -1
  821. package/ReactCommon/yoga/yoga/style/Style.h +18 -0
  822. package/flow/jest.js +2 -2
  823. package/gradle/libs.versions.toml +4 -6
  824. package/index.js +6 -4
  825. package/jest/mockComponent.js +4 -1
  826. package/jest/mockModal.js +1 -3
  827. package/jest/mockScrollView.js +1 -1
  828. package/jest/renderer.js +2 -2
  829. package/jest/setup.js +16 -13
  830. package/package.json +14 -15
  831. package/react-native.config.js +26 -5
  832. package/scripts/bundle.js +7 -2
  833. package/scripts/cocoapods/autolinking.rb +2 -1
  834. package/scripts/cocoapods/helpers.rb +73 -6
  835. package/scripts/cocoapods/new_architecture.rb +1 -1
  836. package/scripts/cocoapods/utils.rb +18 -7
  837. package/scripts/codegen/generate-artifacts-executor.js +3 -2
  838. package/scripts/hermes/hermes-utils.js +0 -1
  839. package/scripts/ios-configure-glog.sh +2 -0
  840. package/scripts/react-native-xcode.sh +1 -2
  841. package/scripts/react_native_pods.rb +73 -2
  842. package/sdks/.hermesversion +1 -1
  843. package/sdks/hermes-engine/hermes-engine.podspec +9 -3
  844. package/sdks/hermes-engine/utils/build-apple-framework.sh +13 -4
  845. package/sdks/hermes-engine/utils/build-ios-framework.sh +2 -4
  846. package/sdks/hermesc/linux64-bin/hermesc +0 -0
  847. package/sdks/hermesc/osx-bin/hermes +0 -0
  848. package/sdks/hermesc/osx-bin/hermesc +0 -0
  849. package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
  850. package/sdks/ossonly-soloader/src/main/java/com/facebook/soloader/DoNotOptimize.kt +10 -0
  851. package/sdks/ossonly-soloader/src/main/java/com/facebook/soloader/MergedSoMapping.kt +117 -0
  852. package/sdks/ossonly-soloader/src/main/java/com/facebook/soloader/SoLoader.kt +53 -0
  853. package/sdks/ossonly-soloader/src/main/java/com/facebook/soloader/nativeloader/NativeLoader.kt +28 -0
  854. package/sdks/ossonly-soloader/src/main/java/com/facebook/soloader/nativeloader/NativeLoaderDelegate.kt +23 -0
  855. package/sdks/ossonly-soloader/src/main/java/com/facebook/soloader/nativeloader/SystemDelegate.kt +10 -0
  856. package/src/private/animated/NativeAnimatedHelper.js +438 -0
  857. package/src/private/animated/NativeAnimatedValidation.js +64 -0
  858. package/src/private/components/HScrollViewNativeComponents.js +56 -0
  859. package/src/private/components/SafeAreaView_INTERNAL_DO_NOT_USE.js +27 -0
  860. package/src/private/components/VScrollViewNativeComponents.js +48 -0
  861. package/src/private/components/useSyncOnScroll.js +48 -0
  862. package/src/private/featureflags/ReactNativeFeatureFlags.js +166 -16
  863. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +29 -5
  864. package/src/private/fusebox/FuseboxSessionObserver.js +42 -0
  865. package/{Libraries/Core → src/private/renderer/errorhandling}/ErrorHandlers.js +14 -4
  866. package/src/private/setup/setUpDOM.js +28 -0
  867. package/src/private/setup/setUpIntersectionObserver.js +27 -0
  868. package/src/private/setup/setUpMutationObserver.js +26 -0
  869. package/src/private/setup/setUpPerformanceObserver.js +64 -0
  870. package/src/private/specs/modules/NativeAppearance.js +3 -3
  871. package/src/private/specs/modules/NativeLinkingManager.js +1 -1
  872. package/src/private/specs/modules/NativeSampleTurboModule.js +14 -1
  873. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +6 -4
  874. package/{Libraries/IntersectionObserver → src/private/webapis/intersectionobserver}/IntersectionObserver.js +5 -3
  875. package/{Libraries/IntersectionObserver → src/private/webapis/intersectionobserver}/IntersectionObserverEntry.js +3 -3
  876. package/{Libraries/IntersectionObserver → src/private/webapis/intersectionobserver}/IntersectionObserverManager.js +14 -17
  877. package/src/private/{specs/modules → webapis/intersectionobserver/specs}/NativeIntersectionObserver.js +2 -2
  878. package/{Libraries/IntersectionObserver → src/private/webapis/intersectionobserver/specs}/__mocks__/NativeIntersectionObserver.js +4 -4
  879. package/{Libraries/MutationObserver → src/private/webapis/mutationobserver}/MutationObserver.js +5 -3
  880. package/{Libraries/MutationObserver → src/private/webapis/mutationobserver}/MutationObserverManager.js +24 -15
  881. package/{Libraries/MutationObserver → src/private/webapis/mutationobserver}/MutationRecord.js +4 -6
  882. package/src/private/{specs/modules → webapis/mutationobserver/specs}/NativeMutationObserver.js +2 -2
  883. package/{Libraries/MutationObserver → src/private/webapis/mutationobserver/specs}/__mocks__/NativeMutationObserver.js +5 -5
  884. package/src/private/webapis/performance/{EventCounts.js → EventTiming.js} +65 -3
  885. package/src/private/webapis/performance/LongTasks.js +39 -0
  886. package/src/private/webapis/performance/Performance.js +22 -9
  887. package/src/private/webapis/performance/PerformanceEntry.js +36 -18
  888. package/src/private/webapis/performance/PerformanceObserver.js +29 -43
  889. package/src/private/webapis/performance/RawPerformanceEntry.js +24 -1
  890. package/src/private/webapis/performance/UserTiming.js +17 -12
  891. package/src/private/webapis/performance/specs/NativePerformanceObserver.js +1 -1
  892. package/third-party-podspecs/DoubleConversion.podspec +4 -1
  893. package/third-party-podspecs/RCT-Folly.podspec +3 -1
  894. package/third-party-podspecs/boost.podspec +4 -1
  895. package/third-party-podspecs/fmt.podspec +4 -1
  896. package/third-party-podspecs/glog.podspec +4 -1
  897. package/types/experimental.d.ts +1 -1
  898. package/types/public/ReactNativeTVTypes.d.ts +44 -3
  899. package/Libraries/Animated/NativeAnimatedHelper.js +0 -615
  900. package/Libraries/Core/setUpIntersectionObserver.js +0 -16
  901. package/Libraries/Core/setUpMutationObserver.js +0 -16
  902. package/Libraries/Core/setUpPerformanceObserver.js +0 -18
  903. package/Libraries/IntersectionObserver/NativeIntersectionObserver.js +0 -13
  904. package/Libraries/MutationObserver/NativeMutationObserver.js +0 -13
  905. package/Libraries/Utilities/verifyComponentAttributeEquivalence.js +0 -135
  906. package/ReactAndroid/src/main/java/com/facebook/annotationprocessors/common/ProcessorBase.java +0 -24
  907. package/ReactAndroid/src/main/java/com/facebook/react/animated/AdditionAnimatedNode.java +0 -56
  908. package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimatedNode.java +0 -78
  909. package/ReactAndroid/src/main/java/com/facebook/react/animated/ColorAnimatedNode.java +0 -131
  910. package/ReactAndroid/src/main/java/com/facebook/react/animated/DecayAnimation.java +0 -79
  911. package/ReactAndroid/src/main/java/com/facebook/react/animated/DiffClampAnimatedNode.java +0 -66
  912. package/ReactAndroid/src/main/java/com/facebook/react/animated/DivisionAnimatedNode.java +0 -64
  913. package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.java +0 -116
  914. package/ReactAndroid/src/main/java/com/facebook/react/animated/FrameBasedAnimationDriver.java +0 -109
  915. package/ReactAndroid/src/main/java/com/facebook/react/animated/InterpolationAnimatedNode.java +0 -311
  916. package/ReactAndroid/src/main/java/com/facebook/react/animated/MultiplicationAnimatedNode.java +0 -56
  917. package/ReactAndroid/src/main/java/com/facebook/react/animated/ObjectAnimatedNode.java +0 -161
  918. package/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.java +0 -145
  919. package/ReactAndroid/src/main/java/com/facebook/react/animated/SpringAnimation.java +0 -207
  920. package/ReactAndroid/src/main/java/com/facebook/react/animated/StyleAnimatedNode.java +0 -70
  921. package/ReactAndroid/src/main/java/com/facebook/react/animated/SubtractionAnimatedNode.java +0 -60
  922. package/ReactAndroid/src/main/java/com/facebook/react/animated/TrackingAnimatedNode.java +0 -50
  923. package/ReactAndroid/src/main/java/com/facebook/react/animated/TransformAnimatedNode.java +0 -93
  924. package/ReactAndroid/src/main/java/com/facebook/react/animated/ValueAnimatedNode.java +0 -66
  925. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BackgroundExecutor.java +0 -64
  926. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSBundleLoaderDelegate.java +0 -51
  927. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptModule.java +0 -25
  928. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManager.java +0 -162
  929. package/ReactAndroid/src/main/java/com/facebook/react/common/ClearableSynchronizedPool.java +0 -53
  930. package/ReactAndroid/src/main/java/com/facebook/react/common/DebugServerException.java +0 -104
  931. package/ReactAndroid/src/main/java/com/facebook/react/common/HasJavascriptExceptionMetadata.java +0 -17
  932. package/ReactAndroid/src/main/java/com/facebook/react/common/LongArray.java +0 -75
  933. package/ReactAndroid/src/main/java/com/facebook/react/common/ShakeDetector.java +0 -144
  934. package/ReactAndroid/src/main/java/com/facebook/react/common/assets/ReactFontManager.java +0 -239
  935. package/ReactAndroid/src/main/java/com/facebook/react/common/futures/SimpleSettableFuture.java +0 -121
  936. package/ReactAndroid/src/main/java/com/facebook/react/common/network/OkHttpCallUtil.java +0 -36
  937. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevLoadingViewImplementation.java +0 -156
  938. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PerftestDevSupportManager.java +0 -50
  939. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ReleaseDevSupportManager.java +0 -214
  940. package/ReactAndroid/src/main/java/com/facebook/react/fabric/CoreComponentsRegistry.kt +0 -30
  941. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricComponents.java +0 -54
  942. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventBeatManager.java +0 -48
  943. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.java +0 -74
  944. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEvent.java +0 -56
  945. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEventMountItem.java +0 -57
  946. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ChoreographerCompat.java +0 -18
  947. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/DeviceEventManagerModule.java +0 -76
  948. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ExceptionsManagerModule.java +0 -91
  949. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/HeadlessJsTaskSupportModule.java +0 -61
  950. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JSTimers.java +0 -21
  951. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.java +0 -428
  952. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/PermissionAwareActivity.java +0 -29
  953. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/RCTNativeAppEventEmitter.java +0 -18
  954. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactChoreographer.java +0 -172
  955. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/TimingModule.java +0 -104
  956. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/FrescoModule.java +0 -225
  957. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactNetworkImageRequest.java +0 -33
  958. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactOkHttpNetworkFetcher.java +0 -80
  959. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/SystraceRequestListener.java +0 -160
  960. package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/PermissionsModule.java +0 -204
  961. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/PackagerConnectionSettings.java +0 -65
  962. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/Executors.java +0 -53
  963. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerDelegate.java +0 -141
  964. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerInterface.java +0 -84
  965. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/IViewGroupManager.java +0 -42
  966. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewHierarchyDumper.java +0 -45
  967. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerDelegate.java +0 -25
  968. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BoxShadowDrawable.kt +0 -102
  969. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/BlackHoleEventDispatcher.java +0 -62
  970. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ContentSizeChangeEvent.java +0 -52
  971. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/SimpleSpringInterpolator.java +0 -50
  972. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayout.java +0 -123
  973. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayoutManager.java +0 -302
  974. package/ReactAndroid/src/main/java/com/facebook/react/views/image/MultiPostprocessor.java +0 -76
  975. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageManager.java +0 -289
  976. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.java +0 -638
  977. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarContainerView.java +0 -99
  978. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ReactProgressBarViewManager.java +0 -203
  979. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/OnScrollDispatchHelper.java +0 -58
  980. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VelocityHelper.java +0 -64
  981. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitch.java +0 -124
  982. package/ReactAndroid/src/main/java/com/facebook/react/views/view/CanvasUtil.java +0 -87
  983. package/ReactAndroid/src/main/jni/react/devsupport/JOptional.cpp +0 -29
  984. package/ReactAndroid/src/main/jni/react/devsupport/JOptional.h +0 -27
  985. package/ReactAndroid/src/main/jni/react/fabric/JBackgroundExecutor.cpp +0 -28
  986. package/ReactAndroid/src/main/jni/react/fabric/JBackgroundExecutor.h +0 -23
  987. package/src/private/core/setUpDOM.js +0 -18
  988. package/src/private/webapis/performance/PerformanceEventTiming.js +0 -55
  989. /package/src/private/{core → styles}/composeStyles.js +0 -0
@@ -29,6 +29,9 @@ struct Color {
29
29
  std::shared_ptr<void> getUIColor() const {
30
30
  return uiColor_;
31
31
  }
32
+
33
+ float getChannel(int channelId) const;
34
+
32
35
  ColorComponents getColorComponents() const {
33
36
  float ratio = 255;
34
37
  int32_t primitiveColor = getColor();
@@ -59,6 +62,18 @@ namespace HostPlatformColor {
59
62
  NO_DESTROY static const facebook::react::Color UndefinedColor = Color(nullptr);
60
63
  } // namespace HostPlatformColor
61
64
 
65
+ inline Color
66
+ hostPlatformColorFromRGBA(uint8_t r, uint8_t g, uint8_t b, uint8_t a) {
67
+ float ratio = 255;
68
+ const auto colorComponents = ColorComponents{
69
+ .red = r / ratio,
70
+ .green = g / ratio,
71
+ .blue = b / ratio,
72
+ .alpha = a / ratio,
73
+ };
74
+ return Color(colorComponents);
75
+ }
76
+
62
77
  inline Color hostPlatformColorFromComponents(ColorComponents components) {
63
78
  return Color(components);
64
79
  }
@@ -67,6 +82,22 @@ inline ColorComponents colorComponentsFromHostPlatformColor(Color color) {
67
82
  return color.getColorComponents();
68
83
  }
69
84
 
85
+ inline float alphaFromHostPlatformColor(Color color) {
86
+ return color.getChannel(3) * 255;
87
+ }
88
+
89
+ inline float redFromHostPlatformColor(Color color) {
90
+ return color.getChannel(0) * 255;
91
+ }
92
+
93
+ inline float greenFromHostPlatformColor(Color color) {
94
+ return color.getChannel(1) * 255;
95
+ }
96
+
97
+ inline float blueFromHostPlatformColor(Color color) {
98
+ return color.getChannel(2) * 255;
99
+ }
100
+
70
101
  } // namespace facebook::react
71
102
 
72
103
  template <>
@@ -133,6 +133,15 @@ int32_t Color::getColor() const
133
133
  {
134
134
  return ColorFromUIColor(uiColor_);
135
135
  }
136
+
137
+ float Color::getChannel(int channelId) const
138
+ {
139
+ CGFloat rgba[4];
140
+ UIColor *color = (__bridge UIColor *)getUIColor().get();
141
+ [color getRed:&rgba[0] green:&rgba[1] blue:&rgba[2] alpha:&rgba[3]];
142
+ return static_cast<float>(rgba[channelId]);
143
+ }
144
+
136
145
  } // namespace facebook::react
137
146
 
138
147
  NS_ASSUME_NONNULL_END
@@ -0,0 +1,38 @@
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 <react/renderer/graphics/Color.h>
9
+
10
+ #include <gtest/gtest.h>
11
+
12
+ TEST(ColorTest, testColorConversion) {
13
+ using namespace facebook::react;
14
+ {
15
+ auto color = colorFromRGBA(255, 0, 15, 17);
16
+
17
+ EXPECT_EQ(alphaFromColor(color), 17);
18
+ EXPECT_EQ(redFromColor(color), 255);
19
+ EXPECT_EQ(greenFromColor(color), 0);
20
+ EXPECT_EQ(blueFromColor(color), 15);
21
+ }
22
+
23
+ {
24
+ auto color = colorFromComponents(
25
+ {.red = 0.1f, .green = 0.2f, .blue = 0, .alpha = 0.3f});
26
+
27
+ EXPECT_EQ(alphaFromColor(color), std::round(255 * 0.3f));
28
+ EXPECT_EQ(redFromColor(color), std::round(255 * 0.1f));
29
+ EXPECT_EQ(greenFromColor(color), 255 * 0.2f);
30
+ EXPECT_EQ(blueFromColor(color), 0.f);
31
+
32
+ auto colorComponents = colorComponentsFromColor(color);
33
+ EXPECT_EQ(std::round(colorComponents.alpha * 10) / 10.f, 0.3f);
34
+ EXPECT_EQ(std::round(colorComponents.red * 10) / 10.f, 0.1f);
35
+ EXPECT_EQ(std::round(colorComponents.green * 10) / 10.f, 0.2f);
36
+ EXPECT_EQ(std::round(colorComponents.blue * 10) / 10.f, 0);
37
+ }
38
+ }
@@ -19,7 +19,7 @@ file(GLOB react_render_imagemanager_SRC CONFIGURE_DEPENDS
19
19
  platform/cxx/react/renderer/imagemanager/*.cpp)
20
20
 
21
21
  add_library(react_render_imagemanager
22
- SHARED
22
+ OBJECT
23
23
  ${react_render_imagemanager_SRC})
24
24
 
25
25
  target_include_directories(react_render_imagemanager
@@ -109,6 +109,13 @@ inline static NSURLRequest *NSURLRequestFromImageSource(const facebook::react::I
109
109
  request.cachePolicy = ...;
110
110
  request.allHTTPHeaderFields = ...;
111
111
  */
112
+ for (const auto &header : imageSource.headers) {
113
+ NSString *key = [NSString stringWithUTF8String:header.first.c_str()];
114
+ NSString *value = [NSString stringWithUTF8String:header.second.c_str()];
115
+ if (key != NULL && value != NULL) {
116
+ [request setValue:value forHTTPHeaderField:key];
117
+ }
118
+ }
112
119
 
113
120
  return [request copy];
114
121
  }
@@ -24,6 +24,7 @@ class ImageSource {
24
24
  std::string bundle{};
25
25
  Float scale{3};
26
26
  Size size{0};
27
+ std::vector<std::pair<std::string, std::string>> headers{};
27
28
 
28
29
  bool operator==(const ImageSource& rhs) const {
29
30
  return std::tie(this->type, this->uri) == std::tie(rhs.type, rhs.uri);
@@ -15,7 +15,7 @@ add_compile_options(
15
15
  -DLOG_TAG=\"Fabric\")
16
16
 
17
17
  file(GLOB react_render_mapbuffer_SRC CONFIGURE_DEPENDS *.cpp)
18
- add_library(react_render_mapbuffer SHARED ${react_render_mapbuffer_SRC})
18
+ add_library(react_render_mapbuffer OBJECT ${react_render_mapbuffer_SRC})
19
19
 
20
20
  target_include_directories(react_render_mapbuffer PUBLIC ${REACT_COMMON_DIR})
21
21
  target_link_libraries(react_render_mapbuffer glog glog_init react_debug)
@@ -17,7 +17,7 @@ add_compile_options(
17
17
  file(GLOB react_render_mounting_SRC CONFIGURE_DEPENDS
18
18
  *.cpp
19
19
  stubs/*.cpp)
20
- add_library(react_render_mounting STATIC ${react_render_mounting_SRC})
20
+ add_library(react_render_mounting OBJECT ${react_render_mounting_SRC})
21
21
 
22
22
  target_include_directories(react_render_mounting PRIVATE .)
23
23
  target_include_directories(react_render_mounting PUBLIC ${REACT_COMMON_DIR})
@@ -232,24 +232,16 @@ static void sliceChildShadowNodeViewPairsRecursively(
232
232
  // This might not be a FormsView, or a FormsStackingContext. We let the
233
233
  // differ handle removal of flattened views from the Mounting layer and
234
234
  // shuffling their children around.
235
- bool isConcreteView = false;
236
- bool areChildrenFlattened = false;
237
- if (ReactNativeFeatureFlags::allowCollapsableChildren()) {
238
- bool childrenFormStackingContexts = shadowNode.getTraits().check(
239
- ShadowNodeTraits::Trait::ChildrenFormStackingContext);
240
- isConcreteView = childShadowNode.getTraits().check(
241
- ShadowNodeTraits::Trait::FormsView) ||
242
- childrenFormStackingContexts;
243
- areChildrenFlattened =
244
- !childShadowNode.getTraits().check(
245
- ShadowNodeTraits::Trait::FormsStackingContext) &&
246
- !childrenFormStackingContexts;
247
- } else {
248
- isConcreteView =
249
- childShadowNode.getTraits().check(ShadowNodeTraits::Trait::FormsView);
250
- areChildrenFlattened = !childShadowNode.getTraits().check(
251
- ShadowNodeTraits::Trait::FormsStackingContext);
252
- }
235
+ bool childrenFormStackingContexts = shadowNode.getTraits().check(
236
+ ShadowNodeTraits::Trait::ChildrenFormStackingContext);
237
+ bool isConcreteView =
238
+ childShadowNode.getTraits().check(ShadowNodeTraits::Trait::FormsView) ||
239
+ childrenFormStackingContexts;
240
+ bool areChildrenFlattened =
241
+ !childShadowNode.getTraits().check(
242
+ ShadowNodeTraits::Trait::FormsStackingContext) &&
243
+ !childrenFormStackingContexts;
244
+
253
245
  Point storedOrigin = {};
254
246
  if (areChildrenFlattened) {
255
247
  storedOrigin = origin;
@@ -362,8 +354,7 @@ static void calculateShadowViewMutations(
362
354
  ShadowViewMutation::List& mutations,
363
355
  const ShadowView& parentShadowView,
364
356
  ShadowViewNodePair::NonOwningList&& oldChildPairs,
365
- ShadowViewNodePair::NonOwningList&& newChildPairs,
366
- bool isRecursionRedundant = false);
357
+ ShadowViewNodePair::NonOwningList&& newChildPairs);
367
358
 
368
359
  struct OrderedMutationInstructionContainer {
369
360
  ShadowViewMutation::List createMutations{};
@@ -1052,8 +1043,7 @@ static void calculateShadowViewMutations(
1052
1043
  ShadowViewMutation::List& mutations,
1053
1044
  const ShadowView& parentShadowView,
1054
1045
  ShadowViewNodePair::NonOwningList&& oldChildPairs,
1055
- ShadowViewNodePair::NonOwningList&& newChildPairs,
1056
- bool isRecursionRedundant) {
1046
+ ShadowViewNodePair::NonOwningList&& newChildPairs) {
1057
1047
  if (oldChildPairs.empty() && newChildPairs.empty()) {
1058
1048
  return;
1059
1049
  }
@@ -1171,39 +1161,13 @@ static void calculateShadowViewMutations(
1171
1161
  continue;
1172
1162
  }
1173
1163
 
1174
- // If we take this path, technically the operations and recursion below
1175
- // are redundant. However, some parts of the Fabric ecosystem (namely, as
1176
- // of writing this, LayoutAnimations) rely heavily on getting /explicit/
1177
- // Remove/Delete instructions for every single node in the tree. Thus, we
1178
- // generate the "RemoveDeleteTree" instruction as well as all of the
1179
- // individual Remove/Delete operations below, but we mark those as
1180
- // redundant. The platform layer can then discard the unnecessary
1181
- // instructions. RemoveDeleteTreeMutation is a significant performance
1182
- // improvement but could be improved significantly by eliminating the need
1183
- // for any of the redundant instructions in the future.
1184
- if (ShadowViewMutation::PlatformSupportsRemoveDeleteTreeInstruction &&
1185
- !isRecursionRedundant) {
1186
- mutationContainer.removeMutations.push_back(
1187
- ShadowViewMutation::RemoveDeleteTreeMutation(
1188
- parentShadowView,
1189
- oldChildPair.shadowView,
1190
- static_cast<int>(oldChildPair.mountIndex)));
1191
- }
1192
-
1193
1164
  mutationContainer.deleteMutations.push_back(
1194
- ShadowViewMutation::DeleteMutation(
1195
- oldChildPair.shadowView,
1196
- isRecursionRedundant ||
1197
- ShadowViewMutation::
1198
- PlatformSupportsRemoveDeleteTreeInstruction));
1165
+ ShadowViewMutation::DeleteMutation(oldChildPair.shadowView));
1199
1166
  mutationContainer.removeMutations.push_back(
1200
1167
  ShadowViewMutation::RemoveMutation(
1201
1168
  parentShadowView,
1202
1169
  oldChildPair.shadowView,
1203
- static_cast<int>(oldChildPair.mountIndex),
1204
- isRecursionRedundant ||
1205
- ShadowViewMutation::
1206
- PlatformSupportsRemoveDeleteTreeInstruction));
1170
+ static_cast<int>(oldChildPair.mountIndex)));
1207
1171
 
1208
1172
  // We also have to call the algorithm recursively to clean up the entire
1209
1173
  // subtree starting from the removed view.
@@ -1214,8 +1178,7 @@ static void calculateShadowViewMutations(
1214
1178
  oldChildPair.shadowView,
1215
1179
  sliceChildShadowNodeViewPairsFromViewNodePair(
1216
1180
  oldChildPair, innerScope),
1217
- {},
1218
- ShadowViewMutation::PlatformSupportsRemoveDeleteTreeInstruction);
1181
+ {});
1219
1182
  }
1220
1183
  } else if (index == oldChildPairs.size()) {
1221
1184
  // If we don't have any more existing children we can choose a fast path
@@ -78,8 +78,8 @@ void MountingCoordinator::resetLatestRevision() const {
78
78
  lastRevision_.reset();
79
79
  }
80
80
 
81
- std::optional<MountingTransaction> MountingCoordinator::pullTransaction()
82
- const {
81
+ std::optional<MountingTransaction> MountingCoordinator::pullTransaction(
82
+ bool willPerformAsynchronously) const {
83
83
  SystraceSection section("MountingCoordinator::pullTransaction");
84
84
 
85
85
  std::scoped_lock lock(mutex_);
@@ -184,13 +184,20 @@ std::optional<MountingTransaction> MountingCoordinator::pullTransaction()
184
184
  if (lastRevision_.has_value()) {
185
185
  baseRevision_ = std::move(*lastRevision_);
186
186
  lastRevision_.reset();
187
+
188
+ hasPendingTransactionsOverride_ = willPerformAsynchronously;
187
189
  }
188
190
  return transaction;
189
191
  }
190
192
 
191
193
  bool MountingCoordinator::hasPendingTransactions() const {
192
194
  std::scoped_lock lock(mutex_);
193
- return lastRevision_.has_value();
195
+ return lastRevision_.has_value() || hasPendingTransactionsOverride_;
196
+ }
197
+
198
+ void MountingCoordinator::didPerformAsyncTransactions() const {
199
+ std::scoped_lock lock(mutex_);
200
+ hasPendingTransactionsOverride_ = false;
194
201
  }
195
202
 
196
203
  const TelemetryController& MountingCoordinator::getTelemetryController() const {
@@ -55,8 +55,28 @@ class MountingCoordinator final {
55
55
  * The method is thread-safe and can be called from any thread.
56
56
  * However, a consumer should always call it on the same thread (e.g. on the
57
57
  * main thread) or ensure sequentiality of mount transactions separately.
58
+ *
59
+ * `willPerformAsynchronously` indicates if this transaction is going to be
60
+ * applied asynchronously after this call. The preferred model is to apply
61
+ * them synchronously but Android doesn't follow it yet (it calls
62
+ * `pullTransaction` from the JS thread and schedules the updates
63
+ * asynchronously on the UI thread).
64
+ * If this is `true`, then `hasPendingTransactions` will continue returning
65
+ * `true` until `didPerformAsyncTransactions` is called.
58
66
  */
59
- std::optional<MountingTransaction> pullTransaction() const;
67
+ std::optional<MountingTransaction> pullTransaction(
68
+ // TODO: Clean up this parameter when Android migrates to a pull model.
69
+ bool willPerformAsynchronously = false) const;
70
+
71
+ /*
72
+ * This method is used to notify that transactions that weren't performed
73
+ * synchronously when calling `pullTransaction` were effectively applied
74
+ * on the UI thread.
75
+ *
76
+ * NOTE: This is only necessary on Android and can be removed when it's
77
+ * migrated to a pull model (as the rest of platforms).
78
+ */
79
+ void didPerformAsyncTransactions() const;
60
80
 
61
81
  /*
62
82
  * Indicates if there are transactions waiting to be consumed and mounted on
@@ -116,6 +136,7 @@ class MountingCoordinator final {
116
136
  // `mountingOverrideDelegate_`.
117
137
  mutable std::mutex mutex_;
118
138
  mutable ShadowTreeRevision baseRevision_;
139
+ mutable bool hasPendingTransactionsOverride_{false};
119
140
  mutable std::optional<ShadowTreeRevision> lastRevision_{};
120
141
  mutable MountingTransaction::Number number_{0};
121
142
  mutable std::condition_variable signal_;
@@ -11,12 +11,6 @@
11
11
 
12
12
  namespace facebook::react {
13
13
 
14
- /**
15
- * Initialize static feature flags for this module.
16
- * These flags should be treated as temporary.
17
- */
18
- bool ShadowViewMutation::PlatformSupportsRemoveDeleteTreeInstruction = false;
19
-
20
14
  ShadowViewMutation ShadowViewMutation::CreateMutation(ShadowView shadowView) {
21
15
  return {
22
16
  /* .type = */ Create,
@@ -27,16 +21,13 @@ ShadowViewMutation ShadowViewMutation::CreateMutation(ShadowView shadowView) {
27
21
  };
28
22
  }
29
23
 
30
- ShadowViewMutation ShadowViewMutation::DeleteMutation(
31
- ShadowView shadowView,
32
- bool isRedundantOperation) {
24
+ ShadowViewMutation ShadowViewMutation::DeleteMutation(ShadowView shadowView) {
33
25
  return {
34
26
  /* .type = */ Delete,
35
27
  /* .parentShadowView = */ {},
36
28
  /* .oldChildShadowView = */ std::move(shadowView),
37
29
  /* .newChildShadowView = */ {},
38
30
  /* .index = */ -1,
39
- /* .isRedundantOperation */ isRedundantOperation,
40
31
  };
41
32
  }
42
33
 
@@ -54,26 +45,11 @@ ShadowViewMutation ShadowViewMutation::InsertMutation(
54
45
  }
55
46
 
56
47
  ShadowViewMutation ShadowViewMutation::RemoveMutation(
57
- ShadowView parentShadowView,
58
- ShadowView childShadowView,
59
- int index,
60
- bool isRedundantOperation) {
61
- return {
62
- /* .type = */ Remove,
63
- /* .parentShadowView = */ std::move(parentShadowView),
64
- /* .oldChildShadowView = */ std::move(childShadowView),
65
- /* .newChildShadowView = */ {},
66
- /* .index = */ index,
67
- /* .isRedundantOperation */ isRedundantOperation,
68
- };
69
- }
70
-
71
- ShadowViewMutation ShadowViewMutation::RemoveDeleteTreeMutation(
72
48
  ShadowView parentShadowView,
73
49
  ShadowView childShadowView,
74
50
  int index) {
75
51
  return {
76
- /* .type = */ RemoveDeleteTree,
52
+ /* .type = */ Remove,
77
53
  /* .parentShadowView = */ std::move(parentShadowView),
78
54
  /* .oldChildShadowView = */ std::move(childShadowView),
79
55
  /* .newChildShadowView = */ {},
@@ -115,14 +91,12 @@ ShadowViewMutation::ShadowViewMutation(
115
91
  ShadowView parentShadowView,
116
92
  ShadowView oldChildShadowView,
117
93
  ShadowView newChildShadowView,
118
- int index,
119
- bool isRedundantOperation)
94
+ int index)
120
95
  : type(type),
121
96
  parentShadowView(std::move(parentShadowView)),
122
97
  oldChildShadowView(std::move(oldChildShadowView)),
123
98
  newChildShadowView(std::move(newChildShadowView)),
124
- index(index),
125
- isRedundantOperation(isRedundantOperation) {}
99
+ index(index) {}
126
100
 
127
101
  #if RN_DEBUG_STRING_CONVERTIBLE
128
102
 
@@ -138,8 +112,6 @@ std::string getDebugName(const ShadowViewMutation& mutation) {
138
112
  return "Remove";
139
113
  case ShadowViewMutation::Update:
140
114
  return "Update";
141
- case ShadowViewMutation::RemoveDeleteTree:
142
- return "RemoveDeleteTree";
143
115
  }
144
116
  }
145
117
 
@@ -24,10 +24,6 @@ struct ShadowViewMutation final {
24
24
 
25
25
  ShadowViewMutation() = delete;
26
26
 
27
- #pragma mark - Platform feature flags
28
-
29
- static bool PlatformSupportsRemoveDeleteTreeInstruction;
30
-
31
27
  #pragma mark - Designated Initializers
32
28
 
33
29
  /*
@@ -38,9 +34,7 @@ struct ShadowViewMutation final {
38
34
  /*
39
35
  * Creates and returns an `Delete` mutation.
40
36
  */
41
- static ShadowViewMutation DeleteMutation(
42
- ShadowView shadowView,
43
- bool isRedundantOperation = false);
37
+ static ShadowViewMutation DeleteMutation(ShadowView shadowView);
44
38
 
45
39
  /*
46
40
  * Creates and returns an `Insert` mutation.
@@ -54,18 +48,6 @@ struct ShadowViewMutation final {
54
48
  * Creates and returns a `Remove` mutation.
55
49
  */
56
50
  static ShadowViewMutation RemoveMutation(
57
- ShadowView parentShadowView,
58
- ShadowView childShadowView,
59
- int index,
60
- bool isRedundantOperation = false);
61
-
62
- /*
63
- * Creates and returns a `RemoveDelete` mutation.
64
- * This is a signal to (for supported platforms)
65
- * remove and delete an entire subtree with a single
66
- * instruction.
67
- */
68
- static ShadowViewMutation RemoveDeleteTreeMutation(
69
51
  ShadowView parentShadowView,
70
52
  ShadowView childShadowView,
71
53
  int index);
@@ -86,7 +68,6 @@ struct ShadowViewMutation final {
86
68
  Insert = 4,
87
69
  Remove = 8,
88
70
  Update = 16,
89
- RemoveDeleteTree = 32
90
71
  };
91
72
 
92
73
  #pragma mark - Fields
@@ -97,12 +78,6 @@ struct ShadowViewMutation final {
97
78
  ShadowView newChildShadowView = {};
98
79
  int index = -1;
99
80
 
100
- // RemoveDeleteTree causes many Remove/Delete operations to be redundant.
101
- // However, we must internally produce all of them for any consumers that
102
- // rely on explicit instructions to remove/delete every node in the tree.
103
- // Notably (as of the time of writing this) LayoutAnimations.
104
- bool isRedundantOperation = false;
105
-
106
81
  // Some platforms can have the notion of virtual views - views that are in the
107
82
  // ShadowTree hierarchy but never are on the platform. Generally this is used
108
83
  // so notify the platform that a view exists so that we can keep EventEmitters
@@ -116,8 +91,7 @@ struct ShadowViewMutation final {
116
91
  ShadowView parentShadowView,
117
92
  ShadowView oldChildShadowView,
118
93
  ShadowView newChildShadowView,
119
- int index,
120
- bool isRedundantOperation = false);
94
+ int index);
121
95
  };
122
96
 
123
97
  using ShadowViewMutationList = std::vector<ShadowViewMutation>;
@@ -205,11 +205,6 @@ void StubViewTree::mutate(const ShadowViewMutationList& mutations) {
205
205
  break;
206
206
  }
207
207
 
208
- case ShadowViewMutation::RemoveDeleteTree: {
209
- // TODO: do something here
210
- break;
211
- }
212
-
213
208
  case ShadowViewMutation::Update: {
214
209
  STUB_VIEW_LOG({
215
210
  LOG(ERROR) << "StubView: Update [" << mutation.newChildShadowView.tag
@@ -15,11 +15,14 @@ add_compile_options(
15
15
  -DLOG_TAG=\"Fabric\")
16
16
 
17
17
  file(GLOB react_render_observers_events_SRC CONFIGURE_DEPENDS *.cpp)
18
- add_library(react_render_observers_events SHARED ${react_render_observers_events_SRC})
18
+ add_library(react_render_observers_events OBJECT ${react_render_observers_events_SRC})
19
19
 
20
20
  target_include_directories(react_render_observers_events PUBLIC ${REACT_COMMON_DIR})
21
21
  target_link_libraries(react_render_observers_events
22
22
  react_performance_timeline
23
+ react_timing
23
24
  react_render_core
25
+ react_render_runtimescheduler
26
+ react_featureflags
24
27
  react_render_uimanager
25
28
  react_utils)
@@ -7,6 +7,8 @@
7
7
 
8
8
  #include "EventPerformanceLogger.h"
9
9
 
10
+ #include <react/featureflags/ReactNativeFeatureFlags.h>
11
+ #include <react/timing/primitives.h>
10
12
  #include <react/utils/CoreFeatures.h>
11
13
  #include <unordered_map>
12
14
 
@@ -14,6 +16,21 @@ namespace facebook::react {
14
16
 
15
17
  namespace {
16
18
 
19
+ bool isTargetInRootShadowNode(
20
+ const SharedEventTarget& target,
21
+ const RootShadowNode::Shared& rootShadowNode) {
22
+ return target && rootShadowNode &&
23
+ target->getSurfaceId() == rootShadowNode->getSurfaceId();
24
+ }
25
+
26
+ bool hasPendingRenderingUpdates(
27
+ const SharedEventTarget& target,
28
+ const std::unordered_set<SurfaceId>&
29
+ surfaceIdsWithPendingRenderingUpdates) {
30
+ return target != nullptr &&
31
+ surfaceIdsWithPendingRenderingUpdates.contains(target->getSurfaceId());
32
+ }
33
+
17
34
  struct StrKey {
18
35
  size_t key;
19
36
  StrKey(std::string_view s) : key(std::hash<std::string_view>{}(s)) {}
@@ -84,7 +101,9 @@ EventPerformanceLogger::EventPerformanceLogger(
84
101
  std::weak_ptr<PerformanceEntryReporter> performanceEntryReporter)
85
102
  : performanceEntryReporter_(std::move(performanceEntryReporter)) {}
86
103
 
87
- EventTag EventPerformanceLogger::onEventStart(std::string_view name) {
104
+ EventTag EventPerformanceLogger::onEventStart(
105
+ std::string_view name,
106
+ SharedEventTarget target) {
88
107
  auto performanceEntryReporter = performanceEntryReporter_.lock();
89
108
  if (performanceEntryReporter == nullptr) {
90
109
  return EMPTY_EVENT_TAG;
@@ -103,7 +122,8 @@ EventTag EventPerformanceLogger::onEventStart(std::string_view name) {
103
122
  auto timeStamp = performanceEntryReporter->getCurrentTimeStamp();
104
123
  {
105
124
  std::lock_guard lock(eventsInFlightMutex_);
106
- eventsInFlight_.emplace(eventTag, EventEntry{reportedName, timeStamp, 0.0});
125
+ eventsInFlight_.emplace(
126
+ eventTag, EventEntry{reportedName, target, timeStamp, 0.0});
107
127
  }
108
128
  return eventTag;
109
129
  }
@@ -137,12 +157,13 @@ void EventPerformanceLogger::onEventProcessingEnd(EventTag tag) {
137
157
  if (it == eventsInFlight_.end()) {
138
158
  return;
139
159
  }
160
+
140
161
  auto& entry = it->second;
141
162
  entry.processingEndTime = timeStamp;
142
163
 
143
- if (CoreFeatures::enableReportEventPaintTime) {
164
+ if (ReactNativeFeatureFlags::enableReportEventPaintTime()) {
144
165
  // If reporting paint time, don't send the entry just yet and wait for the
145
- // mount hook callback to be called
166
+ // task to finish.
146
167
  return;
147
168
  }
148
169
 
@@ -159,10 +180,47 @@ void EventPerformanceLogger::onEventProcessingEnd(EventTag tag) {
159
180
  }
160
181
  }
161
182
 
183
+ void EventPerformanceLogger::dispatchPendingEventTimingEntries(
184
+ const std::unordered_set<SurfaceId>&
185
+ surfaceIdsWithPendingRenderingUpdates) {
186
+ if (!ReactNativeFeatureFlags::enableReportEventPaintTime()) {
187
+ return;
188
+ }
189
+
190
+ auto performanceEntryReporter = performanceEntryReporter_.lock();
191
+ if (performanceEntryReporter == nullptr) {
192
+ return;
193
+ }
194
+
195
+ std::lock_guard lock(eventsInFlightMutex_);
196
+ auto it = eventsInFlight_.begin();
197
+ while (it != eventsInFlight_.end()) {
198
+ auto& entry = it->second;
199
+
200
+ if (entry.isWaitingForDispatch() || entry.isWaitingForMount) {
201
+ ++it;
202
+ } else if (hasPendingRenderingUpdates(
203
+ entry.target, surfaceIdsWithPendingRenderingUpdates)) {
204
+ // We'll wait for mount to report the event
205
+ entry.isWaitingForMount = true;
206
+ ++it;
207
+ } else {
208
+ performanceEntryReporter->logEventEntry(
209
+ std::string(entry.name),
210
+ entry.startTime,
211
+ performanceEntryReporter->getCurrentTimeStamp() - entry.startTime,
212
+ entry.processingStartTime,
213
+ entry.processingEndTime,
214
+ entry.interactionId);
215
+ it = eventsInFlight_.erase(it);
216
+ }
217
+ }
218
+ }
219
+
162
220
  void EventPerformanceLogger::shadowTreeDidMount(
163
- const RootShadowNode::Shared& /*rootShadowNode*/,
221
+ const RootShadowNode::Shared& rootShadowNode,
164
222
  double mountTime) noexcept {
165
- if (!CoreFeatures::enableReportEventPaintTime) {
223
+ if (!ReactNativeFeatureFlags::enableReportEventPaintTime()) {
166
224
  return;
167
225
  }
168
226
 
@@ -175,20 +233,19 @@ void EventPerformanceLogger::shadowTreeDidMount(
175
233
  auto it = eventsInFlight_.begin();
176
234
  while (it != eventsInFlight_.end()) {
177
235
  const auto& entry = it->second;
178
- if (entry.processingEndTime == 0.0 || entry.processingEndTime > mountTime) {
179
- // This mount doesn't correspond to the event
236
+ if (entry.isWaitingForMount &&
237
+ isTargetInRootShadowNode(entry.target, rootShadowNode)) {
238
+ performanceEntryReporter->logEventEntry(
239
+ std::string(entry.name),
240
+ entry.startTime,
241
+ mountTime - entry.startTime,
242
+ entry.processingStartTime,
243
+ entry.processingEndTime,
244
+ entry.interactionId);
245
+ it = eventsInFlight_.erase(it);
246
+ } else {
180
247
  ++it;
181
- continue;
182
248
  }
183
-
184
- performanceEntryReporter->logEventEntry(
185
- std::string(entry.name),
186
- entry.startTime,
187
- mountTime - entry.startTime,
188
- entry.processingStartTime,
189
- entry.processingEndTime,
190
- entry.interactionId);
191
- it = eventsInFlight_.erase(it);
192
249
  }
193
250
  }
194
251