react-native-tvos 0.75.3-0 → 0.76.0-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (968) 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 +10 -5
  23. package/Libraries/AppDelegate/RCTAppDelegate.mm +24 -50
  24. package/Libraries/AppDelegate/RCTRootViewFactory.h +5 -23
  25. package/Libraries/AppDelegate/RCTRootViewFactory.mm +21 -26
  26. package/Libraries/AppDelegate/React-RCTAppDelegate.podspec +2 -3
  27. package/Libraries/BatchedBridge/NativeModules.js +2 -0
  28. package/Libraries/Blob/FileReader.js +1 -1
  29. package/Libraries/Blob/RCTFileReaderModule.mm +4 -3
  30. package/Libraries/Blob/URL.js +2 -62
  31. package/Libraries/Blob/URLSearchParams.js +71 -0
  32. package/Libraries/Blob/URLSearchParams.js.flow +23 -0
  33. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +1 -1
  34. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +17 -0
  35. package/Libraries/Components/Pressable/Pressable.js +3 -36
  36. package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +1 -1
  37. package/Libraries/Components/ScrollView/ScrollView.js +132 -171
  38. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +3 -0
  39. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -1
  40. package/Libraries/Components/StatusBar/StatusBar.js +3 -1
  41. package/Libraries/Components/TV/TVTextScrollView.js +1 -1
  42. package/Libraries/Components/TV/TVViewPropTypes.js +1 -0
  43. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +10 -0
  44. package/Libraries/Components/TextInput/TextInput.d.ts +32 -2
  45. package/Libraries/Components/TextInput/TextInput.js +230 -94
  46. package/Libraries/Components/View/ReactNativeStyleAttributes.js +23 -1
  47. package/Libraries/Components/View/ReactNativeViewAttributes.js +2 -0
  48. package/Libraries/Components/View/ViewAccessibility.d.ts +15 -0
  49. package/Libraries/Components/View/ViewNativeComponent.js +5 -1
  50. package/Libraries/Components/View/ViewPropTypes.js +14 -0
  51. package/Libraries/Core/ExceptionsManager.js +2 -0
  52. package/Libraries/Core/InitializeCore.js +3 -1
  53. package/Libraries/Core/ReactFiberErrorDialog.js +3 -0
  54. package/Libraries/Core/ReactNativeVersion.js +2 -2
  55. package/Libraries/Core/setUpDeveloperTools.js +5 -1
  56. package/Libraries/Core/setUpErrorHandling.js +7 -1
  57. package/Libraries/Core/setUpGlobals.js +1 -0
  58. package/Libraries/Core/setUpReactRefresh.js +0 -4
  59. package/Libraries/Image/AssetSourceResolver.js +28 -1
  60. package/Libraries/Image/Image.android.js +9 -14
  61. package/Libraries/Image/Image.ios.js +11 -22
  62. package/Libraries/Image/ImageBackground.js +1 -8
  63. package/Libraries/Image/ImageUtils.js +9 -9
  64. package/Libraries/Image/ImageViewNativeComponent.js +1 -0
  65. package/Libraries/Image/RCTImageLoader.mm +19 -10
  66. package/Libraries/Image/RCTImageView.mm +2 -2
  67. package/Libraries/Image/RCTResizeMode.h +28 -0
  68. package/Libraries/Image/React-RCTImage.podspec +1 -1
  69. package/Libraries/Inspector/Inspector.js +3 -2
  70. package/Libraries/Inspector/InspectorPanel.js +16 -10
  71. package/Libraries/Inspector/NetworkOverlay.js +1 -1
  72. package/Libraries/Interaction/TaskQueue.js +1 -0
  73. package/Libraries/LinkingIOS/React-RCTLinking.podspec +1 -0
  74. package/Libraries/Lists/FlatList.js +1 -1
  75. package/Libraries/Lists/SectionList.js +2 -2
  76. package/Libraries/Lists/SectionListModern.js +3 -3
  77. package/Libraries/LogBox/Data/LogBoxData.js +24 -3
  78. package/Libraries/LogBox/LogBoxNotificationContainer.js +3 -2
  79. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +9 -8
  80. package/Libraries/Modal/Modal.js +0 -1
  81. package/Libraries/NativeAnimation/RCTNativeAnimatedModule.mm +3 -1
  82. package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.h +2 -0
  83. package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.mm +27 -0
  84. package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +17 -1
  85. package/Libraries/NativeAnimation/React-RCTAnimation.podspec +1 -0
  86. package/Libraries/NativeComponent/BaseViewConfig.android.js +9 -1
  87. package/Libraries/NativeComponent/BaseViewConfig.ios.js +17 -1
  88. package/Libraries/NativeComponent/NativeComponentRegistry.js +22 -22
  89. package/Libraries/NativeComponent/StaticViewConfigValidator.js +0 -21
  90. package/Libraries/NativeComponent/TVViewConfig.js +4 -0
  91. package/Libraries/Network/RCTNetworkTask.h +1 -1
  92. package/Libraries/Network/RCTNetworkTask.mm +13 -9
  93. package/Libraries/Network/RCTNetworking.mm +6 -0
  94. package/Libraries/Network/XMLHttpRequest.js +4 -2
  95. package/Libraries/Pressability/Pressability.js +37 -0
  96. package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +1 -1
  97. package/Libraries/ReactNative/AppContainer-dev.js +1 -5
  98. package/Libraries/ReactNative/AppContainer-prod.js +1 -5
  99. package/Libraries/ReactNative/AppContainer.js +0 -1
  100. package/Libraries/ReactNative/AppRegistry.js +0 -6
  101. package/Libraries/ReactNative/BridgelessUIManager.js +1 -0
  102. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +1 -1
  103. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +5 -5
  104. package/Libraries/ReactNative/RendererImplementation.js +26 -4
  105. package/Libraries/ReactNative/getNativeComponentAttributes.js +12 -0
  106. package/Libraries/ReactNative/renderApplication.js +0 -2
  107. package/Libraries/Renderer/shims/ReactNativeTypes.js +11 -4
  108. package/Libraries/StyleSheet/StyleSheet.js +1 -1
  109. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +152 -2
  110. package/Libraries/StyleSheet/StyleSheetTypes.js +60 -5
  111. package/Libraries/StyleSheet/processBackgroundImage.js +384 -0
  112. package/Libraries/StyleSheet/processBoxShadow.js +209 -0
  113. package/Libraries/StyleSheet/processFilter.js +231 -42
  114. package/Libraries/Text/BaseText/RCTBaseTextViewManager.mm +1 -0
  115. package/Libraries/Text/RCTTextAttributes.h +1 -0
  116. package/Libraries/Text/RCTTextAttributes.mm +8 -0
  117. package/Libraries/Text/Text/RCTTextShadowView.mm +46 -0
  118. package/Libraries/Text/Text.js +394 -196
  119. package/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.mm +3 -1
  120. package/Libraries/Text/TextInput/RCTBaseTextInputView.mm +20 -9
  121. package/Libraries/Text/TextNativeComponent.js +2 -1
  122. package/Libraries/TurboModule/TurboModuleRegistry.js +13 -50
  123. package/Libraries/Types/CodegenTypes.js +3 -1
  124. package/Libraries/Utilities/Appearance.js +108 -84
  125. package/Libraries/Utilities/DevLoadingView.js +2 -4
  126. package/Libraries/Utilities/HMRClient.js +8 -6
  127. package/Libraries/Utilities/ReactNativeTestTools.js +1 -1
  128. package/Libraries/Utilities/createPerformanceLogger.js +0 -9
  129. package/Libraries/Utilities/stringifyViewConfig.js +22 -0
  130. package/Libraries/Utilities/useColorScheme.js +3 -3
  131. package/Libraries/WebSocket/WebSocket.js +1 -1
  132. package/Libraries/promiseRejectionTrackingOptions.js +1 -1
  133. package/Libraries/vendor/emitter/EventEmitter.js +6 -5
  134. package/README.md +38 -26
  135. package/React/Base/RCTBridge.mm +20 -2
  136. package/React/Base/RCTBundleURLProvider.h +19 -0
  137. package/React/Base/RCTBundleURLProvider.mm +62 -8
  138. package/React/Base/RCTConvert.h +0 -3
  139. package/React/Base/RCTConvert.mm +0 -13
  140. package/React/Base/RCTKeyCommands.m +1 -2
  141. package/React/Base/RCTVersion.m +2 -2
  142. package/React/CoreModules/RCTAppearance.mm +5 -0
  143. package/React/CoreModules/RCTDevLoadingView.mm +5 -0
  144. package/React/CoreModules/RCTDevMenu.mm +1 -1
  145. package/React/CoreModules/RCTDeviceInfo.mm +15 -8
  146. package/React/CoreModules/RCTPerfMonitor.mm +7 -13
  147. package/React/CoreModules/RCTRedBox.mm +4 -0
  148. package/React/CoreModules/RCTStatusBarManager.mm +5 -1
  149. package/React/CoreModules/React-CoreModules.podspec +3 -1
  150. package/React/CxxBridge/NSDataBigString.mm +2 -25
  151. package/React/CxxBridge/RCTCxxBridge.mm +27 -5
  152. package/React/DevSupport/RCTInspectorDevServerHelper.mm +6 -0
  153. package/React/DevSupport/RCTInspectorNetworkHelper.h +29 -0
  154. package/React/DevSupport/RCTInspectorNetworkHelper.mm +115 -0
  155. package/React/DevSupport/RCTInspectorUtils.h +26 -0
  156. package/React/DevSupport/RCTInspectorUtils.mm +50 -0
  157. package/React/Fabric/Mounting/ComponentViews/Image/RCTImageComponentView.mm +4 -1
  158. package/React/Fabric/Mounting/ComponentViews/Modal/RCTFabricModalHostViewController.mm +2 -2
  159. package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +23 -1
  160. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTPullToRefreshViewComponentView.mm +24 -2
  161. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.h +9 -0
  162. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +160 -10
  163. package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentView.mm +74 -35
  164. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +61 -12
  165. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.mm +8 -0
  166. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +356 -59
  167. package/React/Fabric/Mounting/RCTMountingManager.mm +0 -5
  168. package/React/Fabric/RCTScheduler.mm +2 -1
  169. package/React/Fabric/RCTSurfacePresenter.mm +0 -31
  170. package/React/Fabric/Utils/RCTBoxShadow.h +21 -0
  171. package/React/Fabric/Utils/RCTBoxShadow.mm +301 -0
  172. package/React/Modules/RCTRedBoxExtraDataViewController.m +105 -85
  173. package/React/Views/RCTBorderDrawing.h +9 -5
  174. package/React/Views/RCTBorderDrawing.m +29 -17
  175. package/React/Views/RCTModalHostView.m +2 -1
  176. package/React/Views/RCTModalHostViewController.m +1 -1
  177. package/React/Views/RCTModalHostViewManager.m +23 -3
  178. package/React/Views/RCTView.m +9 -5
  179. package/React/Views/RCTViewManager.h +3 -0
  180. package/React/Views/RCTViewManager.m +64 -8
  181. package/React/Views/RefreshControl/RCTRefreshControl.m +18 -0
  182. package/React/Views/ScrollView/RCTScrollView.m +20 -0
  183. package/React-Core.podspec +4 -1
  184. package/ReactAndroid/api/ReactAndroid.api +624 -268
  185. package/ReactAndroid/build.gradle.kts +109 -278
  186. package/ReactAndroid/cmake-utils/ReactNative-application.cmake +10 -55
  187. package/ReactAndroid/gradle.properties +1 -1
  188. package/ReactAndroid/hermes-engine/build.gradle.kts +1 -2
  189. package/ReactAndroid/publish.gradle +1 -1
  190. package/ReactAndroid/src/main/AndroidManifest.xml +1 -1
  191. package/ReactAndroid/src/main/java/com/facebook/annotationprocessors/common/ProcessorBase.kt +23 -0
  192. package/ReactAndroid/src/main/java/com/facebook/react/CompositeReactPackage.java +2 -2
  193. package/ReactAndroid/src/main/java/com/facebook/react/CoreModulesPackage.java +6 -1
  194. package/ReactAndroid/src/main/java/com/facebook/react/DebugCorePackage.java +1 -1
  195. package/ReactAndroid/src/main/java/com/facebook/react/HeadlessJsTaskService.java +56 -12
  196. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivity.java +6 -0
  197. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +7 -1
  198. package/ReactAndroid/src/main/java/com/facebook/react/ReactDelegate.java +10 -3
  199. package/ReactAndroid/src/main/java/com/facebook/react/ReactFragment.java +37 -4
  200. package/ReactAndroid/src/main/java/com/facebook/react/ReactHost.kt +26 -3
  201. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +117 -41
  202. package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +13 -6
  203. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageTurboModuleManagerDelegate.java +2 -17
  204. package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +6 -2
  205. package/ReactAndroid/src/main/java/com/facebook/react/animated/AdditionAnimatedNode.kt +52 -0
  206. package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimatedNode.kt +74 -0
  207. package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimatedNodeValueListener.kt +13 -0
  208. package/ReactAndroid/src/main/java/com/facebook/react/animated/{AnimatedNodeWithUpdateableConfig.java → AnimatedNodeWithUpdateableConfig.kt} +4 -4
  209. package/ReactAndroid/src/main/java/com/facebook/react/animated/{AnimationDriver.java → AnimationDriver.kt} +13 -14
  210. package/ReactAndroid/src/main/java/com/facebook/react/animated/ColorAnimatedNode.kt +111 -0
  211. package/ReactAndroid/src/main/java/com/facebook/react/animated/DecayAnimation.kt +73 -0
  212. package/ReactAndroid/src/main/java/com/facebook/react/animated/DiffClampAnimatedNode.kt +51 -0
  213. package/ReactAndroid/src/main/java/com/facebook/react/animated/DivisionAnimatedNode.kt +55 -0
  214. package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.kt +100 -0
  215. package/ReactAndroid/src/main/java/com/facebook/react/animated/FrameBasedAnimationDriver.kt +104 -0
  216. package/ReactAndroid/src/main/java/com/facebook/react/animated/InterpolationAnimatedNode.kt +278 -0
  217. package/ReactAndroid/src/main/java/com/facebook/react/animated/ModulusAnimatedNode.kt +3 -3
  218. package/ReactAndroid/src/main/java/com/facebook/react/animated/MultiplicationAnimatedNode.kt +50 -0
  219. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.java +40 -1
  220. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java +81 -52
  221. package/ReactAndroid/src/main/java/com/facebook/react/animated/ObjectAnimatedNode.kt +120 -0
  222. package/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.kt +120 -0
  223. package/ReactAndroid/src/main/java/com/facebook/react/animated/SpringAnimation.kt +187 -0
  224. package/ReactAndroid/src/main/java/com/facebook/react/animated/StyleAnimatedNode.kt +61 -0
  225. package/ReactAndroid/src/main/java/com/facebook/react/animated/SubtractionAnimatedNode.kt +52 -0
  226. package/ReactAndroid/src/main/java/com/facebook/react/animated/TrackingAnimatedNode.kt +36 -0
  227. package/ReactAndroid/src/main/java/com/facebook/react/animated/TransformAnimatedNode.kt +87 -0
  228. package/ReactAndroid/src/main/java/com/facebook/react/animated/ValueAnimatedNode.kt +50 -0
  229. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ActivityEventListener.java +4 -0
  230. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BaseJavaModule.java +8 -0
  231. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ColorPropConverter.java +5 -0
  232. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromMap.java +2 -1
  233. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromObject.java +4 -1
  234. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicNative.kt +51 -0
  235. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSBundleLoaderDelegate.kt +52 -0
  236. package/ReactAndroid/src/main/java/com/facebook/react/bridge/{JavaJSExecutor.java → JavaJSExecutor.kt} +13 -18
  237. package/ReactAndroid/src/main/java/com/facebook/react/bridge/{JavaScriptExecutorFactory.java → JavaScriptExecutorFactory.kt} +5 -5
  238. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptModule.kt +24 -0
  239. package/ReactAndroid/src/main/java/com/facebook/react/{animated/AnimatedNodeValueListener.java → bridge/PerformanceCounter.kt} +4 -4
  240. package/ReactAndroid/src/main/java/com/facebook/react/bridge/{Promise.java → Promise.kt} +19 -29
  241. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +13 -0
  242. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactInstanceManagerInspectorTarget.java +10 -0
  243. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMarkerConstants.java +2 -0
  244. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNoCrashSoftException.java +3 -1
  245. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManager.kt +179 -0
  246. package/ReactAndroid/src/main/java/com/facebook/react/bridge/interop/InteropModuleRegistry.java +2 -1
  247. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThread.java +2 -0
  248. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThreadImpl.java +28 -47
  249. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/ReactQueueConfigurationImpl.java +5 -19
  250. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/ReactQueueConfigurationSpec.java +4 -6
  251. package/ReactAndroid/src/main/java/com/facebook/react/common/ClearableSynchronizedPool.kt +51 -0
  252. package/ReactAndroid/src/main/java/com/facebook/react/common/DebugServerException.kt +107 -0
  253. package/ReactAndroid/src/main/java/com/facebook/react/common/JavascriptException.kt +2 -10
  254. package/ReactAndroid/src/main/java/com/facebook/react/common/MapBuilder.java +6 -1
  255. package/ReactAndroid/src/main/java/com/facebook/react/common/ShakeDetector.kt +124 -0
  256. package/ReactAndroid/src/main/java/com/facebook/react/common/assets/ReactFontManager.kt +197 -0
  257. package/ReactAndroid/src/main/java/com/facebook/react/common/build/{ReactBuildConfig.java → ReactBuildConfig.kt} +9 -6
  258. package/ReactAndroid/src/main/java/com/facebook/react/common/futures/SimpleSettableFuture.kt +111 -0
  259. package/ReactAndroid/src/main/java/com/facebook/react/common/network/OkHttpCallUtil.kt +38 -0
  260. package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java +16 -62
  261. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultComponentsRegistry.kt +5 -20
  262. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultNewArchitectureEntryPoint.kt +7 -55
  263. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHost.kt +16 -16
  264. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHostDelegate.kt +1 -1
  265. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactNativeHost.kt +1 -0
  266. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.java +0 -73
  267. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/CxxInspectorPackagerConnection.java +29 -10
  268. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevLoadingViewImplementation.kt +120 -0
  269. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevInternalSettings.kt +3 -7
  270. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.java +10 -1
  271. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +12 -5
  272. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialog.kt +29 -1
  273. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialogSurfaceDelegate.kt +2 -3
  274. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxModule.kt +10 -12
  275. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PausedInDebuggerOverlayDialogManager.java +19 -5
  276. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PerftestDevSupportManager.kt +38 -0
  277. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxDialogSurfaceDelegate.java +31 -0
  278. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ReleaseDevSupportManager.kt +168 -0
  279. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/InspectorNetworkHelper.java +94 -0
  280. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/InspectorNetworkRequestListener.java +34 -0
  281. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.kt +4 -1
  282. package/ReactAndroid/src/main/java/com/facebook/react/fabric/Binding.kt +2 -0
  283. package/ReactAndroid/src/main/java/com/facebook/react/fabric/BindingImpl.kt +2 -0
  284. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricComponents.kt +45 -0
  285. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +75 -38
  286. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventBeatManager.kt +43 -0
  287. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.kt +64 -0
  288. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/LayoutMetricsConversions.kt +3 -3
  289. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.java +23 -25
  290. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +110 -360
  291. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.java +16 -22
  292. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/MountItemFactory.kt +1 -4
  293. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.java +1 -5
  294. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEvent.kt +40 -0
  295. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEventMountItem.kt +40 -0
  296. package/ReactAndroid/src/main/java/com/facebook/react/flipper/ReactNativeFlipper.kt +2 -2
  297. package/ReactAndroid/src/main/java/com/facebook/react/internal/SystraceSection.kt +23 -0
  298. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +157 -13
  299. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +266 -26
  300. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +54 -6
  301. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +55 -7
  302. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +294 -30
  303. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +54 -6
  304. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeNewArchitectureFeatureFlagsDefaults.kt +43 -0
  305. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleInteropUtils.java +2 -5
  306. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManager.java +19 -57
  307. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManagerDelegate.java +2 -15
  308. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskContext.java +13 -14
  309. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.kt +14 -14
  310. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/FileReaderModule.java +6 -0
  311. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ChoreographerCompat.kt +16 -0
  312. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/{DefaultHardwareBackBtnHandler.java → DefaultHardwareBackBtnHandler.kt} +4 -6
  313. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/DeviceEventManagerModule.kt +65 -0
  314. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ExceptionsManagerModule.kt +79 -0
  315. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/HeadlessJsTaskSupportModule.kt +51 -0
  316. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JSTimers.kt +21 -0
  317. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/{JavaScriptTimerExecutor.java → JavaScriptTimerExecutor.kt} +7 -8
  318. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.kt +363 -0
  319. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/PermissionAwareActivity.kt +30 -0
  320. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/{PermissionListener.java → PermissionListener.kt} +9 -9
  321. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/RCTNativeAppEventEmitter.kt +17 -0
  322. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactChoreographer.kt +144 -0
  323. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/TimingModule.kt +83 -0
  324. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DevMenuModule.kt +46 -0
  325. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DidJSUpdateUiDuringFrameDetector.kt +36 -48
  326. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/interfaces/DeveloperSettings.kt +2 -0
  327. package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/AlertFragment.java +1 -0
  328. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/FrescoModule.kt +163 -0
  329. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactNetworkImageRequest.kt +31 -0
  330. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactOkHttpNetworkFetcher.kt +56 -0
  331. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/SystraceRequestListener.kt +152 -0
  332. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nManagerModule.kt +2 -6
  333. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nUtil.kt +4 -3
  334. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/OkHttpCompat.java +35 -0
  335. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/RequestBodyUtil.java +1 -7
  336. package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/PermissionsModule.kt +189 -0
  337. package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/StatusBarModule.kt +4 -28
  338. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoHelpers.java +48 -0
  339. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +2 -2
  340. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/PackagerConnectionSettings.kt +55 -0
  341. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessReactContext.java +2 -2
  342. package/ReactAndroid/src/main/java/com/facebook/react/runtime/CoreReactPackage.java +7 -2
  343. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostDelegate.kt +0 -18
  344. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.java +222 -184
  345. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.java +47 -45
  346. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceView.kt +2 -1
  347. package/ReactAndroid/src/main/java/com/facebook/react/runtime/hermes/HermesInstance.kt +11 -4
  348. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/Executors.kt +44 -0
  349. package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.java +5 -2
  350. package/ReactAndroid/src/main/java/com/facebook/react/soloader/OpenSourceMergedSoMapping.kt +119 -0
  351. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BackgroundStyleApplicator.kt +263 -0
  352. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +64 -32
  353. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerDelegate.kt +109 -0
  354. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerInterface.kt +85 -0
  355. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BlendModeHelper.kt +44 -0
  356. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/FilterHelper.kt +89 -17
  357. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/IViewGroupManager.kt +35 -0
  358. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{IViewManagerWithChildren.java → IViewManagerWithChildren.kt} +3 -3
  359. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSTouchDispatcher.java +58 -11
  360. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutDirectionUtil.kt +29 -0
  361. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.java +2 -2
  362. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LengthPercentage.kt +8 -7
  363. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +23 -7
  364. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyOptimizer.java +4 -2
  365. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/PixelUtil.kt +21 -0
  366. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNodeImpl.java +2 -1
  367. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.java +1 -1
  368. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +14 -0
  369. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +16 -0
  370. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstantsHelper.java +9 -7
  371. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +33 -5
  372. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManager.java +20 -10
  373. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerDelegate.kt +41 -0
  374. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewProps.kt +4 -1
  375. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BoxShadowBorderRadius.kt +29 -0
  376. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/CSSBackgroundDrawable.java +151 -83
  377. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/CompositeBackgroundDrawable.kt +85 -0
  378. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/InsetBoxShadowDrawable.kt +191 -0
  379. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/OutsetBoxShadowDrawable.kt +159 -0
  380. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/BlackHoleEventDispatcher.kt +57 -0
  381. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ContentSizeChangeEvent.kt +37 -0
  382. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherImpl.java +2 -2
  383. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.java +55 -29
  384. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/SimpleSpringInterpolator.kt +48 -0
  385. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BackgroundImageLayer.kt +28 -0
  386. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderInsets.kt +105 -0
  387. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderRadiusStyle.kt +27 -12
  388. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderStyle.kt +26 -0
  389. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BoxShadow.kt +50 -0
  390. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/ComputedBorderRadius.kt +30 -6
  391. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/CornerRadii.kt +19 -0
  392. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/Gradient.kt +76 -0
  393. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/LogicalEdge.kt +79 -0
  394. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/Overflow.kt +26 -0
  395. package/ReactAndroid/src/main/java/com/facebook/react/views/debuggingoverlay/DebuggingOverlayManager.kt +3 -13
  396. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayout.kt +125 -0
  397. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayoutManager.kt +259 -0
  398. package/ReactAndroid/src/main/java/com/facebook/react/views/image/MultiPostprocessor.kt +61 -0
  399. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageDownloadListener.kt +1 -1
  400. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageManager.kt +307 -0
  401. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.kt +725 -0
  402. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ImageSource.kt +1 -1
  403. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ResourceDrawableIdHelper.kt +35 -0
  404. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ModalHostHelper.kt +1 -0
  405. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ModalHostShadowNode.kt +1 -4
  406. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.kt +13 -30
  407. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt +80 -99
  408. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarContainerView.kt +70 -0
  409. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ReactProgressBarViewManager.kt +165 -0
  410. package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaView.kt +65 -0
  411. package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaViewManager.kt +51 -0
  412. package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaViewShadowNode.kt +12 -0
  413. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/OnScrollDispatchHelper.kt +50 -0
  414. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +80 -11
  415. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.java +64 -20
  416. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +79 -11
  417. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.kt +22 -33
  418. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.java +65 -19
  419. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VelocityHelper.kt +51 -0
  420. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/ReactSwipeRefreshLayout.java +11 -0
  421. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitch.kt +110 -0
  422. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactRawTextManager.java +8 -0
  423. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.java +73 -20
  424. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +143 -77
  425. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java +36 -32
  426. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java +11 -0
  427. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +79 -104
  428. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactOpacitySpan.kt +33 -0
  429. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +89 -9
  430. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java +67 -38
  431. package/ReactAndroid/src/main/java/com/facebook/react/views/view/CanvasUtil.kt +95 -0
  432. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundDrawable.java +2 -0
  433. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundManager.java +6 -4
  434. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +257 -96
  435. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.java +87 -26
  436. package/ReactAndroid/src/main/java/com/facebook/react/views/view/WindowUtil.kt +63 -0
  437. package/ReactAndroid/src/main/java/com/facebook/systrace/Systrace.kt +23 -0
  438. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNative.java +1 -0
  439. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNode.java +2 -0
  440. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.java +4 -0
  441. package/ReactAndroid/src/main/jni/CMakeLists.txt +182 -3
  442. package/ReactAndroid/src/main/jni/first-party/fbgloginit/CMakeLists.txt +1 -1
  443. package/ReactAndroid/src/main/jni/first-party/jni-lib-merge/CMakeLists.txt +24 -0
  444. package/ReactAndroid/src/main/jni/first-party/jni-lib-merge/SoMerging-utils.cmake +23 -0
  445. package/ReactAndroid/src/main/jni/first-party/jni-lib-merge/jni_lib_merge.c +158 -0
  446. package/ReactAndroid/src/main/jni/first-party/jni-lib-merge/jni_lib_merge.h +108 -0
  447. package/ReactAndroid/src/main/jni/first-party/yogajni/CMakeLists.txt +5 -1
  448. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNIVanilla.cpp +12 -1
  449. package/ReactAndroid/src/main/jni/react/devsupport/CMakeLists.txt +5 -1
  450. package/ReactAndroid/src/main/jni/react/fabric/Binding.cpp +35 -19
  451. package/ReactAndroid/src/main/jni/react/fabric/Binding.h +3 -0
  452. package/ReactAndroid/src/main/jni/react/fabric/CMakeLists.txt +9 -1
  453. package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.cpp +6 -43
  454. package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.h +4 -27
  455. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.cpp +76 -40
  456. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.h +25 -1
  457. package/ReactAndroid/src/main/jni/react/fabric/MountItem.cpp +0 -7
  458. package/ReactAndroid/src/main/jni/react/fabric/MountItem.h +1 -7
  459. package/ReactAndroid/src/main/jni/react/fabric/OnLoad.cpp +0 -2
  460. package/ReactAndroid/src/main/jni/react/fabric/StateWrapperImpl.cpp +49 -13
  461. package/ReactAndroid/src/main/jni/react/fabric/StateWrapperImpl.h +3 -2
  462. package/ReactAndroid/src/main/jni/react/featureflags/CMakeLists.txt +5 -1
  463. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +369 -33
  464. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +79 -7
  465. package/ReactAndroid/src/main/jni/react/hermes/instrumentation/CMakeLists.txt +7 -6
  466. package/ReactAndroid/src/main/jni/react/hermes/reactexecutor/CMakeLists.txt +5 -6
  467. package/ReactAndroid/src/main/jni/react/hermes/reactexecutor/OnLoad.cpp +0 -1
  468. package/ReactAndroid/src/main/jni/react/hermes/tooling/CMakeLists.txt +41 -0
  469. package/ReactAndroid/src/main/jni/react/jni/CMakeLists.txt +3 -1
  470. package/ReactAndroid/src/main/jni/react/jni/InspectorNetworkRequestListener.cpp +76 -0
  471. package/ReactAndroid/src/main/jni/react/jni/InspectorNetworkRequestListener.h +44 -0
  472. package/ReactAndroid/src/main/jni/react/jni/JDynamicNative.cpp +46 -0
  473. package/ReactAndroid/src/main/jni/react/jni/JDynamicNative.h +56 -0
  474. package/ReactAndroid/src/main/jni/react/jni/JReactMarker.cpp +1 -0
  475. package/ReactAndroid/src/main/jni/react/jni/JWeakRefUtils.h +23 -0
  476. package/ReactAndroid/src/main/jni/react/jni/MethodInvoker.cpp +3 -1
  477. package/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp +4 -0
  478. package/ReactAndroid/src/main/jni/react/jni/ReactInstanceManagerInspectorTarget.cpp +71 -18
  479. package/ReactAndroid/src/main/jni/react/jni/ReactInstanceManagerInspectorTarget.h +17 -6
  480. package/ReactAndroid/src/main/jni/react/jscexecutor/CMakeLists.txt +6 -7
  481. package/ReactAndroid/src/main/jni/react/jsctooling/CMakeLists.txt +34 -0
  482. package/ReactAndroid/src/main/jni/react/mapbuffer/CMakeLists.txt +5 -1
  483. package/ReactAndroid/src/main/jni/react/newarchdefaults/CMakeLists.txt +10 -2
  484. package/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultComponentsRegistry.cpp +16 -33
  485. package/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultComponentsRegistry.h +2 -11
  486. package/ReactAndroid/src/main/jni/react/reactnativeblob/CMakeLists.txt +4 -1
  487. package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/CMakeLists.txt +8 -4
  488. package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/JHermesInstance.cpp +4 -3
  489. package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/JHermesInstance.h +8 -3
  490. package/ReactAndroid/src/main/jni/react/runtime/jni/CMakeLists.txt +4 -1
  491. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.cpp +64 -22
  492. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.h +35 -6
  493. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactInstance.cpp +1 -0
  494. package/ReactAndroid/src/main/jni/react/runtime/jsc/jni/CMakeLists.txt +7 -5
  495. package/ReactAndroid/src/main/jni/react/turbomodule/CMakeLists.txt +7 -2
  496. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.cpp +156 -166
  497. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.h +23 -17
  498. package/ReactAndroid/src/main/jni/react/uimanager/CMakeLists.txt +17 -5
  499. package/ReactAndroid/src/main/jni/third-party/folly/CMakeLists.txt +1 -1
  500. package/ReactAndroid/src/main/jni/third-party/glog/CMakeLists.txt +1 -1
  501. package/ReactAndroid/src/main/res/devsupport/drawable/paused_in_debugger_background.xml +1 -1
  502. package/ReactAndroid/src/main/res/devsupport/drawable/paused_in_debugger_dialog_background.xml +7 -0
  503. package/ReactAndroid/src/main/res/devsupport/drawable-hdpi/ic_resume.png +0 -0
  504. package/ReactAndroid/src/main/res/devsupport/drawable-mdpi/ic_resume.png +0 -0
  505. package/ReactAndroid/src/main/res/devsupport/drawable-xhdpi/ic_resume.png +0 -0
  506. package/ReactAndroid/src/main/res/devsupport/drawable-xxhdpi/ic_resume.png +0 -0
  507. package/ReactAndroid/src/main/res/devsupport/drawable-xxxhdpi/ic_resume.png +0 -0
  508. package/ReactAndroid/src/main/res/devsupport/layout/paused_in_debugger_view.xml +19 -18
  509. package/ReactAndroid/src/main/res/devsupport/values/strings.xml +2 -2
  510. package/ReactAndroid/src/main/res/devsupport/values/styles.xml +4 -0
  511. package/ReactAndroid/src/main/res/devsupport/xml/rn_dev_preferences.xml +0 -6
  512. package/ReactAndroid/src/main/res/views/uimanager/values/ids.xml +3 -0
  513. package/ReactCommon/cxxreact/CMakeLists.txt +2 -1
  514. package/ReactCommon/cxxreact/CxxModule.h +0 -2
  515. package/ReactCommon/cxxreact/JSExecutor.cpp +2 -7
  516. package/ReactCommon/cxxreact/React-cxxreact.podspec +1 -0
  517. package/ReactCommon/cxxreact/ReactMarker.cpp +10 -2
  518. package/ReactCommon/cxxreact/ReactMarker.h +5 -1
  519. package/ReactCommon/cxxreact/ReactNativeVersion.h +2 -2
  520. package/ReactCommon/cxxreact/SystraceSection.h +15 -10
  521. package/ReactCommon/cxxreact/tests/jsarg_helpers.cpp +1 -1
  522. package/ReactCommon/hermes/executor/CMakeLists.txt +3 -3
  523. package/ReactCommon/hermes/inspector-modern/CMakeLists.txt +2 -5
  524. package/ReactCommon/jsc/CMakeLists.txt +5 -3
  525. package/ReactCommon/jserrorhandler/CMakeLists.txt +1 -1
  526. package/ReactCommon/jserrorhandler/JsErrorHandler.cpp +40 -1
  527. package/ReactCommon/jserrorhandler/JsErrorHandler.h +12 -1
  528. package/ReactCommon/jserrorhandler/React-jserrorhandler.podspec +6 -0
  529. package/ReactCommon/jsi/jsi/decorator.h +57 -4
  530. package/ReactCommon/jsi/jsi/instrumentation.h +15 -3
  531. package/ReactCommon/jsi/jsi/jsi.cpp +6 -2
  532. package/ReactCommon/jsiexecutor/CMakeLists.txt +1 -1
  533. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp +10 -4
  534. package/ReactCommon/jsiexecutor/jsireact/JSINativeModules.cpp +5 -1
  535. package/ReactCommon/jsinspector-modern/Base64.h +98 -0
  536. package/ReactCommon/jsinspector-modern/CMakeLists.txt +6 -1
  537. package/ReactCommon/jsinspector-modern/CdpJson.h +1 -1
  538. package/ReactCommon/jsinspector-modern/ExecutionContext.cpp +3 -4
  539. package/ReactCommon/jsinspector-modern/FallbackRuntimeAgentDelegate.h +5 -5
  540. package/ReactCommon/jsinspector-modern/HostAgent.cpp +45 -22
  541. package/ReactCommon/jsinspector-modern/HostAgent.h +7 -1
  542. package/ReactCommon/jsinspector-modern/HostTarget.cpp +36 -7
  543. package/ReactCommon/jsinspector-modern/HostTarget.h +25 -5
  544. package/ReactCommon/jsinspector-modern/InspectorFlags.cpp +14 -3
  545. package/ReactCommon/jsinspector-modern/InspectorFlags.h +1 -1
  546. package/ReactCommon/jsinspector-modern/InspectorInterfaces.cpp +5 -1
  547. package/ReactCommon/jsinspector-modern/InspectorInterfaces.h +18 -1
  548. package/ReactCommon/jsinspector-modern/InspectorPackagerConnection.h +4 -5
  549. package/ReactCommon/jsinspector-modern/NetworkIOAgent.cpp +440 -0
  550. package/ReactCommon/jsinspector-modern/NetworkIOAgent.h +266 -0
  551. package/ReactCommon/jsinspector-modern/React-jsinspector.podspec +1 -0
  552. package/ReactCommon/jsinspector-modern/RuntimeAgent.cpp +22 -0
  553. package/ReactCommon/jsinspector-modern/RuntimeTarget.cpp +46 -0
  554. package/ReactCommon/jsinspector-modern/RuntimeTarget.h +31 -0
  555. package/ReactCommon/jsinspector-modern/RuntimeTargetConsole.cpp +2 -2
  556. package/ReactCommon/jsinspector-modern/RuntimeTargetDebuggerSessionObserver.cpp +112 -0
  557. package/ReactCommon/jsinspector-modern/Utf8.h +56 -0
  558. package/ReactCommon/jsinspector-modern/WebSocketInterfaces.h +6 -0
  559. package/ReactCommon/jsinspector-modern/tests/ConsoleApiTest.cpp +54 -0
  560. package/ReactCommon/jsinspector-modern/tests/HostTargetTest.cpp +801 -0
  561. package/ReactCommon/jsinspector-modern/tests/InspectorMocks.h +6 -0
  562. package/ReactCommon/jsinspector-modern/tests/InspectorPackagerConnectionTest.cpp +29 -12
  563. package/ReactCommon/jsinspector-modern/tests/JsiIntegrationTest.cpp +38 -0
  564. package/ReactCommon/jsinspector-modern/tests/ReactInstanceIntegrationTest.cpp +2 -1
  565. package/ReactCommon/jsinspector-modern/tests/RuntimeTargetDebuggerSessionObserverTest.cpp +214 -0
  566. package/ReactCommon/jsinspector-modern/tests/Utf8.cpp +58 -0
  567. package/ReactCommon/logger/CMakeLists.txt +1 -1
  568. package/ReactCommon/react/bridging/Bool.h +1 -1
  569. package/ReactCommon/react/bridging/CMakeLists.txt +1 -1
  570. package/ReactCommon/react/config/CMakeLists.txt +1 -1
  571. package/ReactCommon/react/config/ReactNativeConfig.cpp +0 -3
  572. package/ReactCommon/react/debug/CMakeLists.txt +1 -1
  573. package/ReactCommon/react/featureflags/CMakeLists.txt +1 -1
  574. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +107 -11
  575. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +132 -12
  576. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +479 -47
  577. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +58 -10
  578. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +106 -10
  579. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +29 -5
  580. package/ReactCommon/react/nativemodule/core/CMakeLists.txt +2 -1
  581. package/ReactCommon/react/nativemodule/core/ReactCommon/CxxTurboModuleUtils.h +6 -38
  582. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +68 -66
  583. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.h +2 -2
  584. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.h +21 -2
  585. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +13 -0
  586. package/ReactCommon/react/nativemodule/defaults/CMakeLists.txt +1 -1
  587. package/ReactCommon/react/nativemodule/dom/CMakeLists.txt +5 -1
  588. package/ReactCommon/react/nativemodule/featureflags/CMakeLists.txt +1 -1
  589. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +132 -12
  590. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +54 -6
  591. package/ReactCommon/react/nativemodule/idlecallbacks/CMakeLists.txt +1 -1
  592. package/ReactCommon/react/nativemodule/microtasks/CMakeLists.txt +1 -1
  593. package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.cpp +0 -11
  594. package/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec +2 -0
  595. package/ReactCommon/react/nativemodule/samples/platform/android/CMakeLists.txt +2 -2
  596. package/ReactCommon/react/nativemodule/samples/platform/android/NativeSampleTurboModuleSpec.java +16 -0
  597. package/ReactCommon/react/nativemodule/samples/platform/android/ReactCommon/SampleTurboModuleSpec.cpp +9 -0
  598. package/ReactCommon/react/nativemodule/samples/platform/android/SampleTurboModule.java +20 -1
  599. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTNativeSampleTurboModuleSpec.h +11 -0
  600. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTNativeSampleTurboModuleSpec.mm +34 -0
  601. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboModule.h +1 -1
  602. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboModule.mm +4 -0
  603. package/ReactCommon/react/nativemodule/webperformance/NativePerformance.cpp +28 -16
  604. package/ReactCommon/react/nativemodule/webperformance/NativePerformanceObserver.cpp +8 -1
  605. package/ReactCommon/react/performance/timeline/CMakeLists.txt +2 -1
  606. package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.cpp +12 -2
  607. package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.h +8 -4
  608. package/ReactCommon/react/performance/timeline/React-performancetimeline.podspec +1 -0
  609. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +1 -22
  610. package/ReactCommon/react/renderer/animations/utils.h +45 -0
  611. package/ReactCommon/react/renderer/attributedstring/CMakeLists.txt +1 -1
  612. package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +4 -0
  613. package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +2 -0
  614. package/ReactCommon/react/renderer/attributedstring/conversions.h +55 -2
  615. package/ReactCommon/react/renderer/attributedstring/primitives.h +9 -0
  616. package/ReactCommon/react/renderer/componentregistry/CMakeLists.txt +1 -1
  617. package/ReactCommon/react/renderer/componentregistry/native/CMakeLists.txt +1 -1
  618. package/ReactCommon/react/renderer/components/image/CMakeLists.txt +1 -1
  619. package/ReactCommon/react/renderer/components/image/conversions.h +9 -0
  620. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/CMakeLists.txt +1 -1
  621. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.mm +2 -3
  622. package/ReactCommon/react/renderer/components/modal/ModalHostViewState.h +10 -1
  623. package/{ReactAndroid/src/main/java/com/facebook/react/bridge/PerformanceCounter.java → ReactCommon/react/renderer/components/modal/ModalHostViewUtils.h} +5 -6
  624. package/ReactCommon/react/renderer/components/modal/ModalHostViewUtils.mm +20 -0
  625. package/ReactCommon/react/renderer/components/progressbar/CMakeLists.txt +1 -1
  626. package/ReactCommon/react/renderer/components/root/CMakeLists.txt +1 -1
  627. package/ReactCommon/react/renderer/components/safeareaview/CMakeLists.txt +46 -0
  628. package/ReactCommon/react/renderer/components/safeareaview/SafeAreaViewState.cpp +10 -1
  629. package/ReactCommon/react/renderer/components/safeareaview/SafeAreaViewState.h +20 -0
  630. package/ReactCommon/react/renderer/components/scrollview/ScrollEvent.cpp +99 -0
  631. package/ReactCommon/react/renderer/components/scrollview/ScrollEvent.h +44 -0
  632. package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.cpp +16 -72
  633. package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.h +12 -18
  634. package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.cpp +9 -0
  635. package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.h +1 -0
  636. package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +8 -0
  637. package/ReactCommon/react/renderer/components/text/CMakeLists.txt +1 -2
  638. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp +35 -17
  639. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.h +3 -0
  640. package/ReactCommon/react/renderer/components/textinput/CMakeLists.txt +1 -1
  641. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.cpp +27 -0
  642. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.h +3 -0
  643. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputEventEmitter.cpp +1 -1
  644. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputShadowNode.cpp +29 -0
  645. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputShadowNode.h +3 -0
  646. package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +20 -0
  647. package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +2 -0
  648. package/ReactCommon/react/renderer/components/view/BaseViewProps.cpp +115 -75
  649. package/ReactCommon/react/renderer/components/view/BaseViewProps.h +18 -1
  650. package/ReactCommon/react/renderer/components/view/CMakeLists.txt +1 -1
  651. package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +4 -1
  652. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +21 -0
  653. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.h +4 -0
  654. package/ReactCommon/react/renderer/components/view/conversions.h +307 -23
  655. package/ReactCommon/react/renderer/components/view/primitives.h +8 -1
  656. package/ReactCommon/react/renderer/consistency/CMakeLists.txt +1 -1
  657. package/ReactCommon/react/renderer/core/CMakeLists.txt +1 -1
  658. package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +21 -12
  659. package/ReactCommon/react/renderer/core/EventDispatcher.cpp +5 -3
  660. package/ReactCommon/react/renderer/core/EventDispatcher.h +1 -1
  661. package/ReactCommon/react/renderer/core/EventEmitter.cpp +1 -1
  662. package/ReactCommon/react/renderer/core/EventEmitter.h +2 -0
  663. package/ReactCommon/react/renderer/core/EventListener.cpp +6 -3
  664. package/ReactCommon/react/renderer/core/EventListener.h +1 -1
  665. package/ReactCommon/react/renderer/core/EventLogger.h +4 -1
  666. package/ReactCommon/react/renderer/core/EventPayloadType.h +1 -1
  667. package/ReactCommon/react/renderer/core/EventQueueProcessor.cpp +35 -11
  668. package/ReactCommon/react/renderer/core/EventTarget.cpp +8 -1
  669. package/ReactCommon/react/renderer/core/EventTarget.h +6 -1
  670. package/ReactCommon/react/renderer/core/LayoutableShadowNode.cpp +26 -6
  671. package/ReactCommon/react/renderer/core/LayoutableShadowNode.h +2 -3
  672. package/ReactCommon/react/renderer/core/Props.h +5 -0
  673. package/ReactCommon/react/renderer/core/PropsMacros.h +15 -11
  674. package/ReactCommon/react/renderer/core/RawProps.cpp +1 -6
  675. package/ReactCommon/react/renderer/core/RawProps.h +0 -8
  676. package/ReactCommon/react/renderer/core/RawPropsKeyMap.cpp +1 -1
  677. package/ReactCommon/react/renderer/core/RawPropsParser.cpp +19 -73
  678. package/ReactCommon/react/renderer/core/RawPropsParser.h +0 -9
  679. package/ReactCommon/react/renderer/core/RawValue.h +6 -7
  680. package/ReactCommon/react/renderer/core/ShadowNode.cpp +5 -4
  681. package/ReactCommon/react/renderer/core/ShadowNode.h +5 -5
  682. package/ReactCommon/react/renderer/core/ShadowNodeTraits.h +3 -0
  683. package/ReactCommon/react/renderer/core/tests/EventQueueProcessorTest.cpp +3 -1
  684. package/ReactCommon/react/renderer/core/tests/EventTargetTests.cpp +3 -1
  685. package/ReactCommon/react/renderer/core/tests/FindNodeAtPointTest.cpp +49 -0
  686. package/ReactCommon/react/renderer/core/tests/ShadowNodeTest.cpp +1 -1
  687. package/ReactCommon/react/renderer/debug/CMakeLists.txt +2 -2
  688. package/ReactCommon/react/renderer/dom/CMakeLists.txt +1 -1
  689. package/ReactCommon/react/renderer/element/CMakeLists.txt +1 -1
  690. package/ReactCommon/react/renderer/graphics/BackgroundImage.h +46 -0
  691. package/ReactCommon/react/renderer/graphics/BlendMode.h +72 -0
  692. package/ReactCommon/react/renderer/graphics/BoxShadow.h +25 -0
  693. package/ReactCommon/react/renderer/graphics/CMakeLists.txt +1 -1
  694. package/ReactCommon/react/renderer/graphics/Color.cpp +27 -0
  695. package/ReactCommon/react/renderer/graphics/Color.h +6 -0
  696. package/ReactCommon/react/renderer/graphics/Filter.h +19 -5
  697. package/ReactCommon/react/renderer/graphics/Isolation.h +31 -0
  698. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +1 -0
  699. package/ReactCommon/react/renderer/graphics/Transform.cpp +3 -2
  700. package/ReactCommon/react/renderer/graphics/Transform.h +11 -0
  701. package/ReactCommon/react/renderer/graphics/ValueUnit.h +3 -2
  702. package/ReactCommon/react/renderer/graphics/platform/android/react/renderer/graphics/HostPlatformColor.h +21 -0
  703. package/ReactCommon/react/renderer/graphics/platform/android/react/renderer/graphics/PlatformColorParser.h +48 -20
  704. package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/HostPlatformColor.h +31 -8
  705. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/HostPlatformColor.h +31 -0
  706. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/HostPlatformColor.mm +9 -0
  707. package/ReactCommon/react/renderer/graphics/tests/ColorTest.cpp +38 -0
  708. package/ReactCommon/react/renderer/imagemanager/CMakeLists.txt +1 -1
  709. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTImagePrimitivesConversions.h +7 -0
  710. package/ReactCommon/react/renderer/imagemanager/primitives.h +1 -0
  711. package/ReactCommon/react/renderer/mapbuffer/CMakeLists.txt +1 -1
  712. package/ReactCommon/react/renderer/mounting/CMakeLists.txt +1 -1
  713. package/ReactCommon/react/renderer/mounting/Differentiator.cpp +15 -52
  714. package/ReactCommon/react/renderer/mounting/MountingCoordinator.cpp +10 -3
  715. package/ReactCommon/react/renderer/mounting/MountingCoordinator.h +22 -1
  716. package/ReactCommon/react/renderer/mounting/ShadowViewMutation.cpp +4 -32
  717. package/ReactCommon/react/renderer/mounting/ShadowViewMutation.h +2 -28
  718. package/ReactCommon/react/renderer/mounting/stubs/StubViewTree.cpp +0 -5
  719. package/ReactCommon/react/renderer/observers/events/CMakeLists.txt +4 -1
  720. package/ReactCommon/react/renderer/observers/events/EventPerformanceLogger.cpp +75 -18
  721. package/ReactCommon/react/renderer/observers/events/EventPerformanceLogger.h +19 -2
  722. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserver.cpp +14 -10
  723. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserver.h +6 -3
  724. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverManager.cpp +24 -8
  725. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverManager.h +6 -3
  726. package/ReactCommon/react/renderer/runtimescheduler/CMakeLists.txt +2 -0
  727. package/ReactCommon/react/renderer/runtimescheduler/React-runtimescheduler.podspec +2 -0
  728. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +30 -7
  729. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h +25 -3
  730. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerEventTimingDelegate.h +25 -0
  731. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Legacy.cpp +19 -6
  732. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Legacy.h +12 -2
  733. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.cpp +116 -53
  734. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.h +36 -12
  735. package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +149 -2
  736. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +29 -22
  737. package/ReactCommon/react/renderer/scheduler/Scheduler.h +1 -7
  738. package/ReactCommon/react/renderer/scheduler/SchedulerToolbox.h +0 -10
  739. package/ReactCommon/react/renderer/telemetry/CMakeLists.txt +1 -1
  740. package/ReactCommon/react/renderer/textlayoutmanager/CMakeLists.txt +1 -2
  741. package/ReactCommon/react/renderer/textlayoutmanager/TextMeasureCache.h +44 -0
  742. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +70 -40
  743. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.h +17 -7
  744. package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/TextLayoutManager.cpp +14 -7
  745. package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/TextLayoutManager.h +16 -7
  746. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.h +2 -0
  747. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.mm +6 -2
  748. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTFontUtils.mm +3 -2
  749. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +83 -13
  750. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextPrimitivesConversions.h +18 -0
  751. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.h +17 -7
  752. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.mm +34 -10
  753. package/ReactCommon/react/renderer/uimanager/CMakeLists.txt +1 -1
  754. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +9 -11
  755. package/ReactCommon/react/renderer/uimanager/UIManager.h +0 -6
  756. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +16 -72
  757. package/ReactCommon/react/renderer/uimanager/UIManagerMountHook.h +6 -0
  758. package/ReactCommon/react/renderer/uimanager/consistency/CMakeLists.txt +1 -1
  759. package/ReactCommon/react/renderer/uimanager/primitives.h +8 -3
  760. package/ReactCommon/react/renderer/uimanager/tests/PointerEventsProcessorTest.cpp +1 -4
  761. package/ReactCommon/react/runtime/BufferedRuntimeExecutor.h +1 -1
  762. package/ReactCommon/react/runtime/CMakeLists.txt +2 -6
  763. package/ReactCommon/react/runtime/JSRuntimeFactory.h +8 -0
  764. package/ReactCommon/react/runtime/React-RuntimeCore.podspec +1 -0
  765. package/ReactCommon/react/runtime/ReactInstance.cpp +117 -50
  766. package/ReactCommon/react/runtime/TimerManager.cpp +156 -75
  767. package/ReactCommon/react/runtime/TimerManager.h +16 -4
  768. package/ReactCommon/react/runtime/hermes/CMakeLists.txt +3 -5
  769. package/ReactCommon/react/runtime/hermes/HermesInstance.cpp +24 -15
  770. package/ReactCommon/react/runtime/hermes/HermesInstance.h +3 -2
  771. package/ReactCommon/react/runtime/nativeviewconfig/CMakeLists.txt +1 -1
  772. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHermesInstance.h +9 -4
  773. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHermesInstance.mm +18 -7
  774. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.h +5 -0
  775. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.mm +33 -52
  776. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.h +6 -3
  777. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.mm +10 -10
  778. package/ReactCommon/react/runtime/tests/cxx/ReactInstanceTest.cpp +22 -16
  779. package/ReactCommon/react/test_utils/ios/Shims/ShimRCTInstance.mm +4 -5
  780. package/ReactCommon/react/timing/CMakeLists.txt +18 -0
  781. package/ReactCommon/react/timing/React-timing.podspec +44 -0
  782. package/ReactCommon/react/timing/primitives.h +31 -0
  783. package/ReactCommon/react/timing/tests/PrimitivesTest.cpp +47 -0
  784. package/ReactCommon/react/utils/CMakeLists.txt +1 -1
  785. package/ReactCommon/react/utils/CoreFeatures.cpp +0 -1
  786. package/ReactCommon/react/utils/CoreFeatures.h +0 -4
  787. package/ReactCommon/reactperflogger/CMakeLists.txt +7 -2
  788. package/ReactCommon/reactperflogger/React-perflogger.podspec +15 -2
  789. package/ReactCommon/reactperflogger/fusebox/FuseboxTracer.cpp +117 -0
  790. package/ReactCommon/reactperflogger/fusebox/FuseboxTracer.h +53 -0
  791. package/ReactCommon/reactperflogger/fusebox/tests/FuseboxTracerTest.cpp +90 -0
  792. package/ReactCommon/reactperflogger/reactperflogger/HermesPerfettoDataSource.cpp +19 -4
  793. package/ReactCommon/reactperflogger/reactperflogger/HermesPerfettoDataSource.h +9 -1
  794. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfetto.cpp +42 -6
  795. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfetto.h +6 -1
  796. package/ReactCommon/runtimeexecutor/CMakeLists.txt +1 -1
  797. package/ReactCommon/yoga/yoga/YGNodeStyle.cpp +5 -0
  798. package/ReactCommon/yoga/yoga/YGNodeStyle.h +3 -1
  799. package/ReactCommon/yoga/yoga/algorithm/AbsoluteLayout.cpp +48 -19
  800. package/ReactCommon/yoga/yoga/algorithm/AbsoluteLayout.h +2 -1
  801. package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.cpp +28 -2
  802. package/ReactCommon/yoga/yoga/config/Config.cpp +24 -5
  803. package/ReactCommon/yoga/yoga/config/Config.h +3 -0
  804. package/ReactCommon/yoga/yoga/node/LayoutResults.cpp +1 -0
  805. package/ReactCommon/yoga/yoga/node/LayoutResults.h +1 -0
  806. package/ReactCommon/yoga/yoga/node/Node.cpp +7 -1
  807. package/ReactCommon/yoga/yoga/style/Style.h +18 -0
  808. package/cli.js +23 -5
  809. package/flow/jest.js +2 -2
  810. package/gradle/libs.versions.toml +5 -5
  811. package/index.js +3 -1
  812. package/jest/mockComponent.js +4 -1
  813. package/jest/mockModal.js +1 -3
  814. package/jest/mockScrollView.js +1 -1
  815. package/jest/renderer.js +2 -2
  816. package/jest/setup.js +16 -13
  817. package/package.json +15 -16
  818. package/react-native.config.js +26 -5
  819. package/scripts/bundle.js +5 -2
  820. package/scripts/cocoapods/helpers.rb +73 -6
  821. package/scripts/cocoapods/new_architecture.rb +17 -3
  822. package/scripts/cocoapods/privacy_manifest_utils.rb +23 -8
  823. package/scripts/cocoapods/utils.rb +30 -18
  824. package/scripts/ios-configure-glog.sh +2 -0
  825. package/scripts/react-native-xcode.sh +3 -2
  826. package/scripts/react_native_pods.rb +73 -2
  827. package/sdks/.hermesversion +1 -1
  828. package/sdks/hermes-engine/hermes-engine.podspec +9 -3
  829. package/sdks/hermes-engine/utils/build-apple-framework.sh +13 -16
  830. package/sdks/hermes-engine/utils/build-ios-framework.sh +20 -5
  831. package/sdks/hermesc/linux64-bin/hermesc +0 -0
  832. package/sdks/hermesc/osx-bin/hermes +0 -0
  833. package/sdks/hermesc/osx-bin/hermesc +0 -0
  834. package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
  835. package/sdks/hermesc/win64-bin/msvcp140.dll +0 -0
  836. package/sdks/hermesc/win64-bin/vcruntime140.dll +0 -0
  837. package/sdks/hermesc/win64-bin/vcruntime140_1.dll +0 -0
  838. package/src/private/animated/NativeAnimatedHelper.js +438 -0
  839. package/src/private/animated/NativeAnimatedValidation.js +64 -0
  840. package/src/private/components/HScrollViewNativeComponents.js +56 -0
  841. package/src/private/components/SafeAreaView_INTERNAL_DO_NOT_USE.js +29 -0
  842. package/src/private/components/VScrollViewNativeComponents.js +48 -0
  843. package/src/private/components/useSyncOnScroll.js +48 -0
  844. package/src/private/featureflags/ReactNativeFeatureFlags.js +166 -16
  845. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +29 -5
  846. package/src/private/fusebox/FuseboxSessionObserver.js +42 -0
  847. package/{Libraries/Core → src/private/renderer/errorhandling}/ErrorHandlers.js +14 -4
  848. package/src/private/setup/setUpDOM.js +28 -0
  849. package/src/private/setup/setUpIntersectionObserver.js +27 -0
  850. package/src/private/setup/setUpMutationObserver.js +26 -0
  851. package/src/private/setup/setUpPerformanceObserver.js +64 -0
  852. package/src/private/specs/modules/NativeAppearance.js +3 -3
  853. package/src/private/specs/modules/NativeLinkingManager.js +1 -1
  854. package/src/private/specs/modules/NativeSampleTurboModule.js +14 -1
  855. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +6 -4
  856. package/{Libraries/IntersectionObserver → src/private/webapis/intersectionobserver}/IntersectionObserver.js +5 -3
  857. package/{Libraries/IntersectionObserver → src/private/webapis/intersectionobserver}/IntersectionObserverEntry.js +3 -3
  858. package/{Libraries/IntersectionObserver → src/private/webapis/intersectionobserver}/IntersectionObserverManager.js +14 -17
  859. package/src/private/{specs/modules → webapis/intersectionobserver/specs}/NativeIntersectionObserver.js +2 -2
  860. package/{Libraries/IntersectionObserver → src/private/webapis/intersectionobserver/specs}/__mocks__/NativeIntersectionObserver.js +4 -4
  861. package/{Libraries/MutationObserver → src/private/webapis/mutationobserver}/MutationObserver.js +5 -3
  862. package/{Libraries/MutationObserver → src/private/webapis/mutationobserver}/MutationObserverManager.js +24 -15
  863. package/{Libraries/MutationObserver → src/private/webapis/mutationobserver}/MutationRecord.js +4 -6
  864. package/src/private/{specs/modules → webapis/mutationobserver/specs}/NativeMutationObserver.js +2 -2
  865. package/{Libraries/MutationObserver → src/private/webapis/mutationobserver/specs}/__mocks__/NativeMutationObserver.js +5 -5
  866. package/src/private/webapis/performance/{EventCounts.js → EventTiming.js} +65 -3
  867. package/src/private/webapis/performance/LongTasks.js +39 -0
  868. package/src/private/webapis/performance/Performance.js +22 -9
  869. package/src/private/webapis/performance/PerformanceEntry.js +36 -18
  870. package/src/private/webapis/performance/PerformanceObserver.js +29 -43
  871. package/src/private/webapis/performance/RawPerformanceEntry.js +24 -1
  872. package/src/private/webapis/performance/UserTiming.js +17 -12
  873. package/src/private/webapis/performance/specs/NativePerformanceObserver.js +1 -1
  874. package/third-party-podspecs/DoubleConversion.podspec +4 -1
  875. package/third-party-podspecs/RCT-Folly.podspec +3 -1
  876. package/third-party-podspecs/boost.podspec +4 -1
  877. package/third-party-podspecs/fmt.podspec +4 -1
  878. package/third-party-podspecs/glog.podspec +4 -1
  879. package/types/experimental.d.ts +12 -98
  880. package/Libraries/Animated/NativeAnimatedHelper.js +0 -615
  881. package/Libraries/Core/setUpIntersectionObserver.js +0 -16
  882. package/Libraries/Core/setUpMutationObserver.js +0 -16
  883. package/Libraries/Core/setUpPerformanceObserver.js +0 -18
  884. package/Libraries/IntersectionObserver/NativeIntersectionObserver.js +0 -13
  885. package/Libraries/MutationObserver/NativeMutationObserver.js +0 -13
  886. package/Libraries/Utilities/verifyComponentAttributeEquivalence.js +0 -135
  887. package/ReactAndroid/src/main/java/com/facebook/annotationprocessors/common/ProcessorBase.java +0 -24
  888. package/ReactAndroid/src/main/java/com/facebook/react/animated/AdditionAnimatedNode.java +0 -56
  889. package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimatedNode.java +0 -78
  890. package/ReactAndroid/src/main/java/com/facebook/react/animated/ColorAnimatedNode.java +0 -131
  891. package/ReactAndroid/src/main/java/com/facebook/react/animated/DecayAnimation.java +0 -79
  892. package/ReactAndroid/src/main/java/com/facebook/react/animated/DiffClampAnimatedNode.java +0 -66
  893. package/ReactAndroid/src/main/java/com/facebook/react/animated/DivisionAnimatedNode.java +0 -64
  894. package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.java +0 -116
  895. package/ReactAndroid/src/main/java/com/facebook/react/animated/FrameBasedAnimationDriver.java +0 -109
  896. package/ReactAndroid/src/main/java/com/facebook/react/animated/InterpolationAnimatedNode.java +0 -311
  897. package/ReactAndroid/src/main/java/com/facebook/react/animated/MultiplicationAnimatedNode.java +0 -56
  898. package/ReactAndroid/src/main/java/com/facebook/react/animated/ObjectAnimatedNode.java +0 -161
  899. package/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.java +0 -145
  900. package/ReactAndroid/src/main/java/com/facebook/react/animated/SpringAnimation.java +0 -207
  901. package/ReactAndroid/src/main/java/com/facebook/react/animated/StyleAnimatedNode.java +0 -70
  902. package/ReactAndroid/src/main/java/com/facebook/react/animated/SubtractionAnimatedNode.java +0 -60
  903. package/ReactAndroid/src/main/java/com/facebook/react/animated/TrackingAnimatedNode.java +0 -50
  904. package/ReactAndroid/src/main/java/com/facebook/react/animated/TransformAnimatedNode.java +0 -93
  905. package/ReactAndroid/src/main/java/com/facebook/react/animated/ValueAnimatedNode.java +0 -66
  906. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BackgroundExecutor.java +0 -64
  907. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSBundleLoaderDelegate.java +0 -51
  908. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptModule.java +0 -25
  909. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManager.java +0 -162
  910. package/ReactAndroid/src/main/java/com/facebook/react/common/ClearableSynchronizedPool.java +0 -53
  911. package/ReactAndroid/src/main/java/com/facebook/react/common/DebugServerException.java +0 -104
  912. package/ReactAndroid/src/main/java/com/facebook/react/common/HasJavascriptExceptionMetadata.java +0 -17
  913. package/ReactAndroid/src/main/java/com/facebook/react/common/LongArray.java +0 -75
  914. package/ReactAndroid/src/main/java/com/facebook/react/common/ShakeDetector.java +0 -144
  915. package/ReactAndroid/src/main/java/com/facebook/react/common/assets/ReactFontManager.java +0 -239
  916. package/ReactAndroid/src/main/java/com/facebook/react/common/futures/SimpleSettableFuture.java +0 -121
  917. package/ReactAndroid/src/main/java/com/facebook/react/common/network/OkHttpCallUtil.java +0 -36
  918. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevLoadingViewImplementation.java +0 -156
  919. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PerftestDevSupportManager.java +0 -50
  920. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ReleaseDevSupportManager.java +0 -214
  921. package/ReactAndroid/src/main/java/com/facebook/react/fabric/CoreComponentsRegistry.kt +0 -30
  922. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricComponents.java +0 -54
  923. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventBeatManager.java +0 -48
  924. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.java +0 -74
  925. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEvent.java +0 -56
  926. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEventMountItem.java +0 -57
  927. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ChoreographerCompat.java +0 -18
  928. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/DeviceEventManagerModule.java +0 -76
  929. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ExceptionsManagerModule.java +0 -91
  930. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/HeadlessJsTaskSupportModule.java +0 -61
  931. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JSTimers.java +0 -21
  932. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.java +0 -428
  933. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/PermissionAwareActivity.java +0 -29
  934. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/RCTNativeAppEventEmitter.java +0 -18
  935. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactChoreographer.java +0 -172
  936. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/TimingModule.java +0 -104
  937. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/FrescoModule.java +0 -225
  938. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactNetworkImageRequest.java +0 -33
  939. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactOkHttpNetworkFetcher.java +0 -80
  940. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/SystraceRequestListener.java +0 -160
  941. package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/PermissionsModule.java +0 -204
  942. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/PackagerConnectionSettings.java +0 -65
  943. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/Executors.java +0 -53
  944. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerDelegate.java +0 -141
  945. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerInterface.java +0 -84
  946. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/IViewGroupManager.java +0 -42
  947. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewHierarchyDumper.java +0 -45
  948. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerDelegate.java +0 -25
  949. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BoxShadowDrawable.kt +0 -102
  950. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/BlackHoleEventDispatcher.java +0 -62
  951. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ContentSizeChangeEvent.java +0 -52
  952. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/SimpleSpringInterpolator.java +0 -50
  953. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayout.java +0 -123
  954. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayoutManager.java +0 -302
  955. package/ReactAndroid/src/main/java/com/facebook/react/views/image/MultiPostprocessor.java +0 -76
  956. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageManager.java +0 -289
  957. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.java +0 -638
  958. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarContainerView.java +0 -99
  959. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ReactProgressBarViewManager.java +0 -203
  960. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/OnScrollDispatchHelper.java +0 -58
  961. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VelocityHelper.java +0 -64
  962. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitch.java +0 -124
  963. package/ReactAndroid/src/main/java/com/facebook/react/views/view/CanvasUtil.java +0 -87
  964. package/ReactAndroid/src/main/jni/react/fabric/JBackgroundExecutor.cpp +0 -28
  965. package/ReactAndroid/src/main/jni/react/fabric/JBackgroundExecutor.h +0 -23
  966. package/src/private/core/setUpDOM.js +0 -18
  967. package/src/private/webapis/performance/PerformanceEventTiming.js +0 -55
  968. /package/src/private/{core → styles}/composeStyles.js +0 -0
@@ -32,10 +32,12 @@ import com.facebook.react.uimanager.events.EventDispatcher;
32
32
  import com.facebook.react.uimanager.events.EventDispatcherListener;
33
33
  import java.util.ArrayDeque;
34
34
  import java.util.ArrayList;
35
+ import java.util.HashSet;
35
36
  import java.util.LinkedList;
36
37
  import java.util.List;
37
38
  import java.util.ListIterator;
38
39
  import java.util.Queue;
40
+ import java.util.Set;
39
41
 
40
42
  /**
41
43
  * This is the main class that coordinates how native animated JS implementation drives UI changes.
@@ -147,7 +149,7 @@ public class NativeAnimatedNodesManager implements EventDispatcherListener {
147
149
  } else {
148
150
  throw new JSApplicationIllegalArgumentException("Unsupported node type: " + type);
149
151
  }
150
- node.mTag = tag;
152
+ node.tag = tag;
151
153
  mAnimatedNodes.put(tag, node);
152
154
  mUpdatedNodes.put(tag, node);
153
155
  }
@@ -207,7 +209,7 @@ public class NativeAnimatedNodesManager implements EventDispatcherListener {
207
209
  + "] does not exist, or is not a 'value' node");
208
210
  }
209
211
  stopAnimationsForNode(node);
210
- ((ValueAnimatedNode) node).mValue = value;
212
+ ((ValueAnimatedNode) node).nodeValue = value;
211
213
  mUpdatedNodes.put(tag, node);
212
214
  }
213
215
 
@@ -220,7 +222,7 @@ public class NativeAnimatedNodesManager implements EventDispatcherListener {
220
222
  + tag
221
223
  + "] does not exist, or is not a 'value' node");
222
224
  }
223
- ((ValueAnimatedNode) node).mOffset = offset;
225
+ ((ValueAnimatedNode) node).offset = offset;
224
226
  mUpdatedNodes.put(tag, node);
225
227
  }
226
228
 
@@ -284,9 +286,9 @@ public class NativeAnimatedNodesManager implements EventDispatcherListener {
284
286
  throw new JSApplicationIllegalArgumentException(
285
287
  "startAnimatingNode: Unsupported animation type [" + animatedNodeTag + "]: " + type);
286
288
  }
287
- animation.mId = animationId;
288
- animation.mEndCallback = endCallback;
289
- animation.mAnimatedValue = (ValueAnimatedNode) node;
289
+ animation.id = animationId;
290
+ animation.endCallback = endCallback;
291
+ animation.animatedValue = (ValueAnimatedNode) node;
290
292
  mActiveAnimations.put(animationId, animation);
291
293
  }
292
294
 
@@ -299,21 +301,21 @@ public class NativeAnimatedNodesManager implements EventDispatcherListener {
299
301
  WritableArray events = null;
300
302
  for (int i = 0; i < mActiveAnimations.size(); i++) {
301
303
  AnimationDriver animation = mActiveAnimations.valueAt(i);
302
- if (animatedNode.equals(animation.mAnimatedValue)) {
303
- if (animation.mEndCallback != null) {
304
+ if (animatedNode.equals(animation.animatedValue)) {
305
+ if (animation.endCallback != null) {
304
306
  // Invoke animation end callback with {finished: false}
305
307
  WritableMap endCallbackResponse = Arguments.createMap();
306
308
  endCallbackResponse.putBoolean("finished", false);
307
- endCallbackResponse.putDouble("value", animation.mAnimatedValue.mValue);
308
- animation.mEndCallback.invoke(endCallbackResponse);
309
+ endCallbackResponse.putDouble("value", animation.animatedValue.nodeValue);
310
+ animation.endCallback.invoke(endCallbackResponse);
309
311
  } else if (mReactApplicationContext != null) {
310
312
  // If no callback is passed in, this /may/ be an animation set up by the single-op
311
313
  // instruction from JS, meaning that no jsi::functions are passed into native and
312
314
  // we communicate via RCTDeviceEventEmitter instead of callbacks.
313
315
  WritableMap params = Arguments.createMap();
314
- params.putInt("animationId", animation.mId);
316
+ params.putInt("animationId", animation.id);
315
317
  params.putBoolean("finished", false);
316
- params.putDouble("value", animation.mAnimatedValue.mValue);
318
+ params.putDouble("value", animation.animatedValue.nodeValue);
317
319
  if (events == null) {
318
320
  events = Arguments.createArray();
319
321
  }
@@ -337,21 +339,21 @@ public class NativeAnimatedNodesManager implements EventDispatcherListener {
337
339
  WritableArray events = null;
338
340
  for (int i = 0; i < mActiveAnimations.size(); i++) {
339
341
  AnimationDriver animation = mActiveAnimations.valueAt(i);
340
- if (animation.mId == animationId) {
341
- if (animation.mEndCallback != null) {
342
+ if (animation.id == animationId) {
343
+ if (animation.endCallback != null) {
342
344
  // Invoke animation end callback with {finished: false}
343
345
  WritableMap endCallbackResponse = Arguments.createMap();
344
346
  endCallbackResponse.putBoolean("finished", false);
345
- endCallbackResponse.putDouble("value", animation.mAnimatedValue.mValue);
346
- animation.mEndCallback.invoke(endCallbackResponse);
347
+ endCallbackResponse.putDouble("value", animation.animatedValue.nodeValue);
348
+ animation.endCallback.invoke(endCallbackResponse);
347
349
  } else if (mReactApplicationContext != null) {
348
350
  // If no callback is passed in, this /may/ be an animation set up by the single-op
349
351
  // instruction from JS, meaning that no jsi::functions are passed into native and
350
352
  // we communicate via RCTDeviceEventEmitter instead of callbacks.
351
353
  WritableMap params = Arguments.createMap();
352
- params.putInt("animationId", animation.mId);
354
+ params.putInt("animationId", animation.id);
353
355
  params.putBoolean("finished", false);
354
- params.putDouble("value", animation.mAnimatedValue.mValue);
356
+ params.putDouble("value", animation.animatedValue.nodeValue);
355
357
  if (events == null) {
356
358
  events = Arguments.createArray();
357
359
  }
@@ -545,6 +547,11 @@ public class NativeAnimatedNodesManager implements EventDispatcherListener {
545
547
  EventAnimationDriver eventDriver =
546
548
  new EventAnimationDriver(eventName, viewTag, pathList, (ValueAnimatedNode) node);
547
549
  mEventDrivers.add(eventDriver);
550
+
551
+ if (eventName.equals("topScroll")) {
552
+ // Handle the custom topScrollEnded event sent by the ScrollViews when the user stops dragging
553
+ addAnimatedEventToView(viewTag, "topScrollEnded", eventMapping);
554
+ }
548
555
  }
549
556
 
550
557
  @UiThread
@@ -556,9 +563,9 @@ public class NativeAnimatedNodesManager implements EventDispatcherListener {
556
563
  ListIterator<EventAnimationDriver> it = mEventDrivers.listIterator();
557
564
  while (it.hasNext()) {
558
565
  EventAnimationDriver driver = it.next();
559
- if (eventName.equals(driver.mEventName)
560
- && viewTag == driver.mViewTag
561
- && animatedValueTag == driver.mValueNode.mTag) {
566
+ if (eventName.equals(driver.eventName)
567
+ && viewTag == driver.viewTag
568
+ && animatedValueTag == driver.valueNode.tag) {
562
569
  it.remove();
563
570
  break;
564
571
  }
@@ -602,11 +609,11 @@ public class NativeAnimatedNodesManager implements EventDispatcherListener {
602
609
  boolean foundAtLeastOneDriver = false;
603
610
  Event.EventAnimationDriverMatchSpec matchSpec = event.getEventAnimationDriverMatchSpec();
604
611
  for (EventAnimationDriver driver : mEventDrivers) {
605
- if (matchSpec.match(driver.mViewTag, driver.mEventName)) {
612
+ if (matchSpec.match(driver.viewTag, driver.eventName)) {
606
613
  foundAtLeastOneDriver = true;
607
- stopAnimationsForNode(driver.mValueNode);
614
+ stopAnimationsForNode(driver.valueNode);
608
615
  event.dispatchModern(driver);
609
- mRunUpdateNodeList.add(driver.mValueNode);
616
+ mRunUpdateNodeList.add(driver.valueNode);
610
617
  }
611
618
  }
612
619
 
@@ -625,7 +632,7 @@ public class NativeAnimatedNodesManager implements EventDispatcherListener {
625
632
  * <p>First BFS starts with nodes that are in {@code mUpdatedNodes} (that is, their value have
626
633
  * been modified from JS in the last batch of JS operations) or directly attached to an active
627
634
  * animation (hence linked to objects from {@code mActiveAnimations}). In that step we calculate
628
- * an attribute {@code mActiveIncomingNodes}. The second BFS runs in topological order over the
635
+ * an attribute {@code activeIncomingNodes}. The second BFS runs in topological order over the
629
636
  * sub-graph of *active* nodes. This is done by adding node to the BFS queue only if all its
630
637
  * "predecessors" have already been visited.
631
638
  */
@@ -645,9 +652,9 @@ public class NativeAnimatedNodesManager implements EventDispatcherListener {
645
652
  for (int i = 0; i < mActiveAnimations.size(); i++) {
646
653
  AnimationDriver animation = mActiveAnimations.valueAt(i);
647
654
  animation.runAnimationStep(frameTimeNanos);
648
- AnimatedNode valueNode = animation.mAnimatedValue;
655
+ AnimatedNode valueNode = animation.animatedValue;
649
656
  mRunUpdateNodeList.add(valueNode);
650
- if (animation.mHasFinished) {
657
+ if (animation.hasFinished) {
651
658
  hasFinishedAnimations = true;
652
659
  }
653
660
  }
@@ -661,20 +668,20 @@ public class NativeAnimatedNodesManager implements EventDispatcherListener {
661
668
  WritableArray events = null;
662
669
  for (int i = mActiveAnimations.size() - 1; i >= 0; i--) {
663
670
  AnimationDriver animation = mActiveAnimations.valueAt(i);
664
- if (animation.mHasFinished) {
665
- if (animation.mEndCallback != null) {
671
+ if (animation.hasFinished) {
672
+ if (animation.endCallback != null) {
666
673
  WritableMap endCallbackResponse = Arguments.createMap();
667
674
  endCallbackResponse.putBoolean("finished", true);
668
- endCallbackResponse.putDouble("value", animation.mAnimatedValue.mValue);
669
- animation.mEndCallback.invoke(endCallbackResponse);
675
+ endCallbackResponse.putDouble("value", animation.animatedValue.nodeValue);
676
+ animation.endCallback.invoke(endCallbackResponse);
670
677
  } else if (mReactApplicationContext != null) {
671
678
  // If no callback is passed in, this /may/ be an animation set up by the single-op
672
679
  // instruction from JS, meaning that no jsi::functions are passed into native and
673
680
  // we communicate via RCTDeviceEventEmitter instead of callbacks.
674
681
  WritableMap params = Arguments.createMap();
675
- params.putInt("animationId", animation.mId);
682
+ params.putInt("animationId", animation.id);
676
683
  params.putBoolean("finished", true);
677
- params.putDouble("value", animation.mAnimatedValue.mValue);
684
+ params.putDouble("value", animation.animatedValue.nodeValue);
678
685
  if (events == null) {
679
686
  events = Arguments.createArray();
680
687
  }
@@ -689,6 +696,28 @@ public class NativeAnimatedNodesManager implements EventDispatcherListener {
689
696
  }
690
697
  }
691
698
 
699
+ Set<Integer> getTagsOfConnectedNodes(int tag, String eventName) {
700
+ Set<Integer> tags = new HashSet<>();
701
+
702
+ // Filter only relevant animation drivers
703
+ ListIterator<EventAnimationDriver> it = mEventDrivers.listIterator();
704
+ while (it.hasNext()) {
705
+ EventAnimationDriver driver = it.next();
706
+ if (driver != null) {
707
+ if (eventName.equals(driver.eventName) && tag == driver.viewTag) {
708
+ tags.add(driver.viewTag);
709
+ if (driver.valueNode != null && driver.valueNode.children != null) {
710
+ for (AnimatedNode node : driver.valueNode.children) {
711
+ tags.add(node.tag);
712
+ }
713
+ }
714
+ }
715
+ }
716
+ }
717
+
718
+ return tags;
719
+ }
720
+
692
721
  @UiThread
693
722
  private void updateNodes(List<AnimatedNode> nodes) {
694
723
  int activeNodesCount = 0;
@@ -708,8 +737,8 @@ public class NativeAnimatedNodesManager implements EventDispatcherListener {
708
737
 
709
738
  Queue<AnimatedNode> nodesQueue = new ArrayDeque<>();
710
739
  for (AnimatedNode node : nodes) {
711
- if (node.mBFSColor != mAnimatedGraphBFSColor) {
712
- node.mBFSColor = mAnimatedGraphBFSColor;
740
+ if (node.BFSColor != mAnimatedGraphBFSColor) {
741
+ node.BFSColor = mAnimatedGraphBFSColor;
713
742
  activeNodesCount++;
714
743
  nodesQueue.add(node);
715
744
  }
@@ -717,12 +746,12 @@ public class NativeAnimatedNodesManager implements EventDispatcherListener {
717
746
 
718
747
  while (!nodesQueue.isEmpty()) {
719
748
  AnimatedNode nextNode = nodesQueue.poll();
720
- if (nextNode.mChildren != null) {
721
- for (int i = 0; i < nextNode.mChildren.size(); i++) {
722
- AnimatedNode child = nextNode.mChildren.get(i);
723
- child.mActiveIncomingNodes++;
724
- if (child.mBFSColor != mAnimatedGraphBFSColor) {
725
- child.mBFSColor = mAnimatedGraphBFSColor;
749
+ if (nextNode.children != null) {
750
+ for (int i = 0; i < nextNode.children.size(); i++) {
751
+ AnimatedNode child = nextNode.children.get(i);
752
+ child.activeIncomingNodes++;
753
+ if (child.BFSColor != mAnimatedGraphBFSColor) {
754
+ child.BFSColor = mAnimatedGraphBFSColor;
726
755
  activeNodesCount++;
727
756
  nodesQueue.add(child);
728
757
  }
@@ -735,7 +764,7 @@ public class NativeAnimatedNodesManager implements EventDispatcherListener {
735
764
  // "predecessors" in the graph have already been visited. It is important to visit nodes in that
736
765
  // order as they may often use values of their predecessors in order to calculate "next state"
737
766
  // of their own. We start by determining the starting set of nodes by looking for nodes with
738
- // `mActiveIncomingNodes = 0` (those can only be the ones that we start BFS in the previous
767
+ // `activeIncomingNodes = 0` (those can only be the ones that we start BFS in the previous
739
768
  // step). We store number of visited nodes in this step in `updatedNodesCount`
740
769
 
741
770
  mAnimatedGraphBFSColor++;
@@ -747,8 +776,8 @@ public class NativeAnimatedNodesManager implements EventDispatcherListener {
747
776
  // find nodes with zero "incoming nodes", those can be either nodes from `mUpdatedNodes` or
748
777
  // ones connected to active animations
749
778
  for (AnimatedNode node : nodes) {
750
- if (node.mActiveIncomingNodes == 0 && node.mBFSColor != mAnimatedGraphBFSColor) {
751
- node.mBFSColor = mAnimatedGraphBFSColor;
779
+ if (node.activeIncomingNodes == 0 && node.BFSColor != mAnimatedGraphBFSColor) {
780
+ node.BFSColor = mAnimatedGraphBFSColor;
752
781
  updatedNodesCount++;
753
782
  nodesQueue.add(node);
754
783
  }
@@ -778,15 +807,15 @@ public class NativeAnimatedNodesManager implements EventDispatcherListener {
778
807
  // Potentially send events to JS when the node's value is updated
779
808
  ((ValueAnimatedNode) nextNode).onValueUpdate();
780
809
  }
781
- if (nextNode.mChildren != null) {
782
- for (int i = 0; i < nextNode.mChildren.size(); i++) {
783
- AnimatedNode child = nextNode.mChildren.get(i);
784
- child.mActiveIncomingNodes--;
785
- if (child.mBFSColor != mAnimatedGraphBFSColor && child.mActiveIncomingNodes == 0) {
786
- child.mBFSColor = mAnimatedGraphBFSColor;
810
+ if (nextNode.children != null) {
811
+ for (int i = 0; i < nextNode.children.size(); i++) {
812
+ AnimatedNode child = nextNode.children.get(i);
813
+ child.activeIncomingNodes--;
814
+ if (child.BFSColor != mAnimatedGraphBFSColor && child.activeIncomingNodes == 0) {
815
+ child.BFSColor = mAnimatedGraphBFSColor;
787
816
  updatedNodesCount++;
788
817
  nodesQueue.add(child);
789
- } else if (child.mBFSColor == mAnimatedGraphBFSColor) {
818
+ } else if (child.BFSColor == mAnimatedGraphBFSColor) {
790
819
  cyclesDetected++;
791
820
  }
792
821
  }
@@ -796,7 +825,7 @@ public class NativeAnimatedNodesManager implements EventDispatcherListener {
796
825
  // Verify that we've visited *all* active nodes. Throw otherwise as this could mean there is a
797
826
  // cycle in animated node graph, or that the graph is only partially set up. We also take
798
827
  // advantage of the fact that all active nodes are visited in the step above so that all the
799
- // nodes properties `mActiveIncomingNodes` are set to zero.
828
+ // nodes properties `activeIncomingNodes` are set to zero.
800
829
  // In Fabric there can be race conditions between the JS thread setting up or tearing down
801
830
  // animated nodes, and Fabric executing them on the UI thread, leading to temporary inconsistent
802
831
  // states.
@@ -0,0 +1,120 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ package com.facebook.react.animated
9
+
10
+ import com.facebook.react.bridge.JavaOnlyArray
11
+ import com.facebook.react.bridge.JavaOnlyMap
12
+ import com.facebook.react.bridge.ReadableArray
13
+ import com.facebook.react.bridge.ReadableMap
14
+ import com.facebook.react.bridge.ReadableType
15
+
16
+ /**
17
+ * Native counterpart of object animated node (see AnimatedObject class in
18
+ * AnimatedImplementation.js)
19
+ */
20
+ internal class ObjectAnimatedNode(
21
+ config: ReadableMap,
22
+ private val nativeAnimatedNodesManager: NativeAnimatedNodesManager
23
+ ) : AnimatedNode() {
24
+ private val configClone: JavaOnlyMap = JavaOnlyMap.deepClone(config)
25
+
26
+ fun collectViewUpdates(propKey: String, propsMap: JavaOnlyMap) {
27
+ val valueType = configClone.getType(VALUE_KEY)
28
+ if (valueType == ReadableType.Map) {
29
+ propsMap.putMap(propKey, collectViewUpdatesHelper(configClone.getMap(VALUE_KEY)))
30
+ } else if (valueType == ReadableType.Array) {
31
+ propsMap.putArray(propKey, collectViewUpdatesHelper(configClone.getArray(VALUE_KEY)))
32
+ } else {
33
+ throw IllegalArgumentException("Invalid value type for ObjectAnimatedNode")
34
+ }
35
+ }
36
+
37
+ private fun collectViewUpdatesHelper(source: ReadableArray?): JavaOnlyArray? {
38
+ source ?: return null
39
+ val result = JavaOnlyArray()
40
+ for (i in 0 until source.size()) {
41
+ when (source.getType(i)) {
42
+ ReadableType.Null -> result.pushNull()
43
+ ReadableType.Boolean -> result.pushBoolean(source.getBoolean(i))
44
+ ReadableType.Number -> result.pushDouble(source.getDouble(i))
45
+ ReadableType.String -> result.pushString(source.getString(i))
46
+ ReadableType.Map -> {
47
+ val map = source.getMap(i)
48
+ if (map.hasKey(NODE_TAG_KEY) && map.getType(NODE_TAG_KEY) == ReadableType.Number) {
49
+ val node = nativeAnimatedNodesManager.getNodeById(map.getInt(NODE_TAG_KEY))
50
+ requireNotNull(node) { "Mapped value node does not exist" }
51
+ if (node is ValueAnimatedNode) {
52
+ val animatedObject = node.getAnimatedObject()
53
+ if (animatedObject is Int) {
54
+ result.pushInt(animatedObject)
55
+ } else if (animatedObject is String) {
56
+ result.pushString(animatedObject)
57
+ } else {
58
+ result.pushDouble(node.getValue())
59
+ }
60
+ } else if (node is ColorAnimatedNode) {
61
+ result.pushInt(node.color)
62
+ }
63
+ } else {
64
+ result.pushMap(collectViewUpdatesHelper(source.getMap(i)))
65
+ }
66
+ }
67
+ ReadableType.Array -> result.pushArray(collectViewUpdatesHelper(source.getArray(i)))
68
+ }
69
+ }
70
+ return result
71
+ }
72
+
73
+ private fun collectViewUpdatesHelper(source: ReadableMap?): JavaOnlyMap? {
74
+ source ?: return null
75
+ val result = JavaOnlyMap()
76
+ val iter = source.keySetIterator()
77
+ while (iter.hasNextKey()) {
78
+ val propKey = iter.nextKey()
79
+ when (source.getType(propKey)) {
80
+ ReadableType.Null -> result.putNull(propKey)
81
+ ReadableType.Boolean -> result.putBoolean(propKey, source.getBoolean(propKey))
82
+ ReadableType.Number -> result.putDouble(propKey, source.getDouble(propKey))
83
+ ReadableType.String -> result.putString(propKey, source.getString(propKey))
84
+ ReadableType.Map -> {
85
+ val map = source.getMap(propKey)
86
+ if (map != null &&
87
+ map.hasKey(NODE_TAG_KEY) &&
88
+ map.getType(NODE_TAG_KEY) == ReadableType.Number) {
89
+ val node = nativeAnimatedNodesManager.getNodeById(map.getInt(NODE_TAG_KEY))
90
+ requireNotNull(node) { "Mapped value node does not exist" }
91
+ if (node is ValueAnimatedNode) {
92
+ val animatedObject = node.getAnimatedObject()
93
+ if (animatedObject is Int) {
94
+ result.putInt(propKey, animatedObject)
95
+ } else if (animatedObject is String) {
96
+ result.putString(propKey, animatedObject)
97
+ } else {
98
+ result.putDouble(propKey, node.getValue())
99
+ }
100
+ } else if (node is ColorAnimatedNode) {
101
+ result.putInt(propKey, node.color)
102
+ }
103
+ } else {
104
+ result.putMap(propKey, collectViewUpdatesHelper(map))
105
+ }
106
+ }
107
+ ReadableType.Array ->
108
+ result.putArray(propKey, collectViewUpdatesHelper(source.getArray(propKey)))
109
+ }
110
+ }
111
+ return result
112
+ }
113
+
114
+ override fun prettyPrint(): String = "ObjectAnimatedNode[$tag]: mConfig: $configClone"
115
+
116
+ companion object {
117
+ private const val VALUE_KEY = "value"
118
+ private const val NODE_TAG_KEY = "nodeTag"
119
+ }
120
+ }
@@ -0,0 +1,120 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ package com.facebook.react.animated
9
+
10
+ import android.view.View
11
+ import com.facebook.react.bridge.JSApplicationIllegalArgumentException
12
+ import com.facebook.react.bridge.JavaOnlyMap
13
+ import com.facebook.react.bridge.ReadableMap
14
+ import com.facebook.react.bridge.UIManager
15
+ import com.facebook.react.uimanager.common.UIManagerType
16
+ import com.facebook.react.uimanager.common.ViewUtil.getUIManagerType
17
+
18
+ /**
19
+ * Animated node that represents view properties. There is a special handling logic implemented for
20
+ * the nodes of this type in [NativeAnimatedNodesManager] that is responsible for extracting a map
21
+ * of updated properties, which can be then passed down to the view.
22
+ */
23
+ internal class PropsAnimatedNode(
24
+ config: ReadableMap,
25
+ private val nativeAnimatedNodesManager: NativeAnimatedNodesManager
26
+ ) : AnimatedNode() {
27
+ private var connectedViewTag = -1
28
+ private val propNodeMapping: MutableMap<String, Int>
29
+ private val propMap = JavaOnlyMap()
30
+ private var connectedViewUIManager: UIManager? = null
31
+
32
+ init {
33
+ val props = config.getMap("props")
34
+ val iter = props?.keySetIterator()
35
+ propNodeMapping = mutableMapOf()
36
+ while (iter != null && iter.hasNextKey()) {
37
+ val propKey = iter.nextKey()
38
+ val nodeIndex = props.getInt(propKey)
39
+ propNodeMapping[propKey] = nodeIndex
40
+ }
41
+ }
42
+
43
+ public fun connectToView(viewTag: Int, uiManager: UIManager?) {
44
+ if (connectedViewTag != -1) {
45
+ throw JSApplicationIllegalArgumentException(
46
+ "Animated node $tag is already attached to a view: $connectedViewTag")
47
+ }
48
+ connectedViewTag = viewTag
49
+ connectedViewUIManager = uiManager
50
+ }
51
+
52
+ public fun disconnectFromView(viewTag: Int) {
53
+ if (connectedViewTag != viewTag && connectedViewTag != -1) {
54
+ throw JSApplicationIllegalArgumentException(
55
+ "Attempting to disconnect view that has " +
56
+ "not been connected with the given animated node: $viewTag " +
57
+ "but is connected to view $connectedViewTag")
58
+ }
59
+ connectedViewTag = -1
60
+ }
61
+
62
+ public fun restoreDefaultValues() {
63
+ // Cannot restore default values if this view has already been disconnected.
64
+ if (connectedViewTag == -1) {
65
+ return
66
+ }
67
+ // Don't restore default values in Fabric.
68
+ // In Non-Fabric this had the effect of "restore the value to whatever the value was on the
69
+ // ShadowNode instead of in the View hierarchy". However, "synchronouslyUpdateViewOnUIThread"
70
+ // will not have that impact on Fabric, because the FabricUIManager doesn't have access to the
71
+ // ShadowNode layer.
72
+ if (getUIManagerType(connectedViewTag) == UIManagerType.FABRIC) {
73
+ return
74
+ }
75
+ val it = propMap.keySetIterator()
76
+ while (it.hasNextKey()) {
77
+ propMap.putNull(it.nextKey())
78
+ }
79
+ connectedViewUIManager?.synchronouslyUpdateViewOnUIThread(connectedViewTag, propMap)
80
+ }
81
+
82
+ public fun updateView() {
83
+ if (connectedViewTag == -1) {
84
+ return
85
+ }
86
+ for ((key, value) in propNodeMapping) {
87
+ val node = nativeAnimatedNodesManager.getNodeById(value)
88
+ requireNotNull(node) { "Mapped property node does not exist" }
89
+ if (node is StyleAnimatedNode) {
90
+ node.collectViewUpdates(propMap)
91
+ } else if (node is ValueAnimatedNode) {
92
+ val animatedObject = node.getAnimatedObject()
93
+ if (animatedObject is Int) {
94
+ propMap.putInt(key, animatedObject)
95
+ } else if (animatedObject is String) {
96
+ propMap.putString(key, animatedObject)
97
+ } else {
98
+ propMap.putDouble(key, node.getValue())
99
+ }
100
+ } else if (node is ColorAnimatedNode) {
101
+ propMap.putInt(key, node.color)
102
+ } else if (node is ObjectAnimatedNode) {
103
+ node.collectViewUpdates(key, propMap)
104
+ } else {
105
+ throw IllegalArgumentException(
106
+ "Unsupported type of node used in property node ${node.javaClass}")
107
+ }
108
+ }
109
+ connectedViewUIManager?.synchronouslyUpdateViewOnUIThread(connectedViewTag, propMap)
110
+ }
111
+
112
+ public val connectedView: View?
113
+ // resolveView throws an {@link IllegalViewOperationException} when the view doesn't exist
114
+ // (this can happen if the surface is being deallocated).
115
+ get() = runCatching { connectedViewUIManager?.resolveView(connectedViewTag) }.getOrNull()
116
+
117
+ override fun prettyPrint(): String =
118
+ "PropsAnimatedNode[$tag] connectedViewTag: $connectedViewTag " +
119
+ "propNodeMapping: $propNodeMapping propMap: $propMap"
120
+ }