react-native-tvos 0.75.4-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 (965) 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/URL.js +2 -62
  30. package/Libraries/Blob/URLSearchParams.js +71 -0
  31. package/Libraries/Blob/URLSearchParams.js.flow +23 -0
  32. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +1 -1
  33. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +17 -0
  34. package/Libraries/Components/Pressable/Pressable.js +3 -36
  35. package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +1 -1
  36. package/Libraries/Components/ScrollView/ScrollView.js +132 -171
  37. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +3 -0
  38. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -1
  39. package/Libraries/Components/StatusBar/StatusBar.js +3 -1
  40. package/Libraries/Components/TV/TVTextScrollView.js +1 -1
  41. package/Libraries/Components/TV/TVViewPropTypes.js +1 -0
  42. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +10 -0
  43. package/Libraries/Components/TextInput/TextInput.d.ts +32 -2
  44. package/Libraries/Components/TextInput/TextInput.js +230 -94
  45. package/Libraries/Components/View/ReactNativeStyleAttributes.js +23 -1
  46. package/Libraries/Components/View/ReactNativeViewAttributes.js +2 -0
  47. package/Libraries/Components/View/ViewAccessibility.d.ts +15 -0
  48. package/Libraries/Components/View/ViewNativeComponent.js +5 -1
  49. package/Libraries/Components/View/ViewPropTypes.js +14 -0
  50. package/Libraries/Core/ExceptionsManager.js +2 -0
  51. package/Libraries/Core/InitializeCore.js +3 -1
  52. package/Libraries/Core/ReactFiberErrorDialog.js +3 -0
  53. package/Libraries/Core/ReactNativeVersion.js +2 -2
  54. package/Libraries/Core/setUpDeveloperTools.js +5 -1
  55. package/Libraries/Core/setUpErrorHandling.js +7 -1
  56. package/Libraries/Core/setUpGlobals.js +1 -0
  57. package/Libraries/Core/setUpReactRefresh.js +0 -4
  58. package/Libraries/Image/AssetSourceResolver.js +28 -1
  59. package/Libraries/Image/Image.android.js +9 -14
  60. package/Libraries/Image/Image.ios.js +11 -22
  61. package/Libraries/Image/ImageBackground.js +1 -8
  62. package/Libraries/Image/ImageUtils.js +9 -9
  63. package/Libraries/Image/ImageViewNativeComponent.js +1 -0
  64. package/Libraries/Image/RCTImageLoader.mm +19 -10
  65. package/Libraries/Image/RCTImageView.mm +2 -2
  66. package/Libraries/Image/RCTResizeMode.h +28 -0
  67. package/Libraries/Image/React-RCTImage.podspec +1 -1
  68. package/Libraries/Inspector/Inspector.js +3 -2
  69. package/Libraries/Inspector/InspectorPanel.js +16 -10
  70. package/Libraries/Inspector/NetworkOverlay.js +1 -1
  71. package/Libraries/Interaction/TaskQueue.js +1 -0
  72. package/Libraries/LinkingIOS/React-RCTLinking.podspec +1 -0
  73. package/Libraries/Lists/FlatList.js +1 -1
  74. package/Libraries/Lists/SectionList.js +2 -2
  75. package/Libraries/Lists/SectionListModern.js +3 -3
  76. package/Libraries/LogBox/Data/LogBoxData.js +24 -3
  77. package/Libraries/LogBox/LogBoxNotificationContainer.js +3 -2
  78. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +9 -8
  79. package/Libraries/Modal/Modal.js +0 -1
  80. package/Libraries/NativeAnimation/RCTNativeAnimatedModule.mm +3 -1
  81. package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.h +2 -0
  82. package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.mm +27 -0
  83. package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +17 -1
  84. package/Libraries/NativeAnimation/React-RCTAnimation.podspec +1 -0
  85. package/Libraries/NativeComponent/BaseViewConfig.android.js +9 -1
  86. package/Libraries/NativeComponent/BaseViewConfig.ios.js +17 -1
  87. package/Libraries/NativeComponent/NativeComponentRegistry.js +22 -22
  88. package/Libraries/NativeComponent/StaticViewConfigValidator.js +0 -21
  89. package/Libraries/NativeComponent/TVViewConfig.js +4 -0
  90. package/Libraries/Network/RCTNetworkTask.h +1 -1
  91. package/Libraries/Network/RCTNetworkTask.mm +13 -9
  92. package/Libraries/Network/RCTNetworking.mm +6 -0
  93. package/Libraries/Network/XMLHttpRequest.js +4 -2
  94. package/Libraries/Pressability/Pressability.js +37 -0
  95. package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +1 -1
  96. package/Libraries/ReactNative/AppContainer-dev.js +1 -5
  97. package/Libraries/ReactNative/AppContainer-prod.js +1 -5
  98. package/Libraries/ReactNative/AppContainer.js +0 -1
  99. package/Libraries/ReactNative/AppRegistry.js +0 -6
  100. package/Libraries/ReactNative/BridgelessUIManager.js +1 -0
  101. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +1 -1
  102. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +5 -5
  103. package/Libraries/ReactNative/RendererImplementation.js +26 -4
  104. package/Libraries/ReactNative/getNativeComponentAttributes.js +12 -0
  105. package/Libraries/ReactNative/renderApplication.js +0 -2
  106. package/Libraries/Renderer/shims/ReactNativeTypes.js +11 -4
  107. package/Libraries/StyleSheet/StyleSheet.js +1 -1
  108. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +152 -2
  109. package/Libraries/StyleSheet/StyleSheetTypes.js +60 -5
  110. package/Libraries/StyleSheet/processBackgroundImage.js +384 -0
  111. package/Libraries/StyleSheet/processBoxShadow.js +209 -0
  112. package/Libraries/StyleSheet/processFilter.js +231 -42
  113. package/Libraries/Text/BaseText/RCTBaseTextViewManager.mm +1 -0
  114. package/Libraries/Text/RCTTextAttributes.h +1 -0
  115. package/Libraries/Text/RCTTextAttributes.mm +8 -0
  116. package/Libraries/Text/Text/RCTTextShadowView.mm +46 -0
  117. package/Libraries/Text/Text.js +394 -196
  118. package/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.mm +3 -1
  119. package/Libraries/Text/TextInput/RCTBaseTextInputView.mm +20 -9
  120. package/Libraries/Text/TextNativeComponent.js +2 -1
  121. package/Libraries/TurboModule/TurboModuleRegistry.js +13 -50
  122. package/Libraries/Types/CodegenTypes.js +3 -1
  123. package/Libraries/Utilities/Appearance.js +108 -84
  124. package/Libraries/Utilities/DevLoadingView.js +2 -4
  125. package/Libraries/Utilities/HMRClient.js +8 -6
  126. package/Libraries/Utilities/ReactNativeTestTools.js +1 -1
  127. package/Libraries/Utilities/createPerformanceLogger.js +0 -9
  128. package/Libraries/Utilities/stringifyViewConfig.js +22 -0
  129. package/Libraries/Utilities/useColorScheme.js +3 -3
  130. package/Libraries/WebSocket/WebSocket.js +1 -1
  131. package/Libraries/promiseRejectionTrackingOptions.js +1 -1
  132. package/Libraries/vendor/emitter/EventEmitter.js +6 -5
  133. package/README.md +38 -26
  134. package/React/Base/RCTBridge.mm +20 -2
  135. package/React/Base/RCTBundleURLProvider.h +19 -0
  136. package/React/Base/RCTBundleURLProvider.mm +62 -8
  137. package/React/Base/RCTConvert.h +0 -3
  138. package/React/Base/RCTConvert.mm +0 -13
  139. package/React/Base/RCTKeyCommands.m +1 -2
  140. package/React/Base/RCTVersion.m +2 -2
  141. package/React/CoreModules/RCTAppearance.mm +5 -0
  142. package/React/CoreModules/RCTDevLoadingView.mm +5 -0
  143. package/React/CoreModules/RCTDevMenu.mm +1 -1
  144. package/React/CoreModules/RCTDeviceInfo.mm +15 -8
  145. package/React/CoreModules/RCTPerfMonitor.mm +7 -13
  146. package/React/CoreModules/RCTRedBox.mm +4 -0
  147. package/React/CoreModules/RCTStatusBarManager.mm +5 -1
  148. package/React/CoreModules/React-CoreModules.podspec +3 -1
  149. package/React/CxxBridge/NSDataBigString.mm +2 -25
  150. package/React/CxxBridge/RCTCxxBridge.mm +27 -5
  151. package/React/DevSupport/RCTInspectorDevServerHelper.mm +6 -0
  152. package/React/DevSupport/RCTInspectorNetworkHelper.h +29 -0
  153. package/React/DevSupport/RCTInspectorNetworkHelper.mm +115 -0
  154. package/React/DevSupport/RCTInspectorUtils.h +26 -0
  155. package/React/DevSupport/RCTInspectorUtils.mm +50 -0
  156. package/React/Fabric/Mounting/ComponentViews/Image/RCTImageComponentView.mm +4 -1
  157. package/React/Fabric/Mounting/ComponentViews/Modal/RCTFabricModalHostViewController.mm +2 -2
  158. package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +23 -1
  159. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTPullToRefreshViewComponentView.mm +24 -2
  160. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.h +9 -0
  161. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +160 -10
  162. package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentView.mm +74 -35
  163. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +61 -12
  164. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.mm +8 -0
  165. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +356 -59
  166. package/React/Fabric/Mounting/RCTMountingManager.mm +0 -5
  167. package/React/Fabric/RCTScheduler.mm +2 -1
  168. package/React/Fabric/RCTSurfacePresenter.mm +0 -31
  169. package/React/Fabric/Utils/RCTBoxShadow.h +21 -0
  170. package/React/Fabric/Utils/RCTBoxShadow.mm +301 -0
  171. package/React/Modules/RCTRedBoxExtraDataViewController.m +105 -85
  172. package/React/Views/RCTBorderDrawing.h +9 -5
  173. package/React/Views/RCTBorderDrawing.m +29 -17
  174. package/React/Views/RCTModalHostView.m +1 -1
  175. package/React/Views/RCTModalHostViewController.m +1 -1
  176. package/React/Views/RCTModalHostViewManager.m +23 -3
  177. package/React/Views/RCTView.m +9 -5
  178. package/React/Views/RCTViewManager.h +3 -0
  179. package/React/Views/RCTViewManager.m +64 -8
  180. package/React/Views/RefreshControl/RCTRefreshControl.m +18 -0
  181. package/React/Views/ScrollView/RCTScrollView.m +20 -0
  182. package/React-Core.podspec +4 -1
  183. package/ReactAndroid/api/ReactAndroid.api +623 -268
  184. package/ReactAndroid/build.gradle.kts +109 -278
  185. package/ReactAndroid/cmake-utils/ReactNative-application.cmake +10 -55
  186. package/ReactAndroid/gradle.properties +1 -1
  187. package/ReactAndroid/hermes-engine/build.gradle.kts +1 -2
  188. package/ReactAndroid/publish.gradle +1 -1
  189. package/ReactAndroid/src/main/AndroidManifest.xml +1 -1
  190. package/ReactAndroid/src/main/java/com/facebook/annotationprocessors/common/ProcessorBase.kt +23 -0
  191. package/ReactAndroid/src/main/java/com/facebook/react/CompositeReactPackage.java +2 -2
  192. package/ReactAndroid/src/main/java/com/facebook/react/CoreModulesPackage.java +6 -1
  193. package/ReactAndroid/src/main/java/com/facebook/react/DebugCorePackage.java +1 -1
  194. package/ReactAndroid/src/main/java/com/facebook/react/HeadlessJsTaskService.java +56 -12
  195. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivity.java +6 -0
  196. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +7 -1
  197. package/ReactAndroid/src/main/java/com/facebook/react/ReactDelegate.java +10 -3
  198. package/ReactAndroid/src/main/java/com/facebook/react/ReactFragment.java +37 -4
  199. package/ReactAndroid/src/main/java/com/facebook/react/ReactHost.kt +26 -3
  200. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +117 -41
  201. package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +13 -6
  202. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageTurboModuleManagerDelegate.java +2 -17
  203. package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +6 -2
  204. package/ReactAndroid/src/main/java/com/facebook/react/animated/AdditionAnimatedNode.kt +52 -0
  205. package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimatedNode.kt +74 -0
  206. package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimatedNodeValueListener.kt +13 -0
  207. package/ReactAndroid/src/main/java/com/facebook/react/animated/{AnimatedNodeWithUpdateableConfig.java → AnimatedNodeWithUpdateableConfig.kt} +4 -4
  208. package/ReactAndroid/src/main/java/com/facebook/react/animated/{AnimationDriver.java → AnimationDriver.kt} +13 -14
  209. package/ReactAndroid/src/main/java/com/facebook/react/animated/ColorAnimatedNode.kt +111 -0
  210. package/ReactAndroid/src/main/java/com/facebook/react/animated/DecayAnimation.kt +73 -0
  211. package/ReactAndroid/src/main/java/com/facebook/react/animated/DiffClampAnimatedNode.kt +51 -0
  212. package/ReactAndroid/src/main/java/com/facebook/react/animated/DivisionAnimatedNode.kt +55 -0
  213. package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.kt +100 -0
  214. package/ReactAndroid/src/main/java/com/facebook/react/animated/FrameBasedAnimationDriver.kt +104 -0
  215. package/ReactAndroid/src/main/java/com/facebook/react/animated/InterpolationAnimatedNode.kt +278 -0
  216. package/ReactAndroid/src/main/java/com/facebook/react/animated/ModulusAnimatedNode.kt +3 -3
  217. package/ReactAndroid/src/main/java/com/facebook/react/animated/MultiplicationAnimatedNode.kt +50 -0
  218. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.java +40 -1
  219. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java +81 -52
  220. package/ReactAndroid/src/main/java/com/facebook/react/animated/ObjectAnimatedNode.kt +120 -0
  221. package/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.kt +120 -0
  222. package/ReactAndroid/src/main/java/com/facebook/react/animated/SpringAnimation.kt +187 -0
  223. package/ReactAndroid/src/main/java/com/facebook/react/animated/StyleAnimatedNode.kt +61 -0
  224. package/ReactAndroid/src/main/java/com/facebook/react/animated/SubtractionAnimatedNode.kt +52 -0
  225. package/ReactAndroid/src/main/java/com/facebook/react/animated/TrackingAnimatedNode.kt +36 -0
  226. package/ReactAndroid/src/main/java/com/facebook/react/animated/TransformAnimatedNode.kt +87 -0
  227. package/ReactAndroid/src/main/java/com/facebook/react/animated/ValueAnimatedNode.kt +50 -0
  228. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ActivityEventListener.java +4 -0
  229. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BaseJavaModule.java +8 -0
  230. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ColorPropConverter.java +5 -0
  231. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromMap.java +2 -1
  232. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromObject.java +4 -1
  233. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicNative.kt +51 -0
  234. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSBundleLoaderDelegate.kt +52 -0
  235. package/ReactAndroid/src/main/java/com/facebook/react/bridge/{JavaJSExecutor.java → JavaJSExecutor.kt} +13 -18
  236. package/ReactAndroid/src/main/java/com/facebook/react/bridge/{JavaScriptExecutorFactory.java → JavaScriptExecutorFactory.kt} +5 -5
  237. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptModule.kt +24 -0
  238. package/ReactAndroid/src/main/java/com/facebook/react/{animated/AnimatedNodeValueListener.java → bridge/PerformanceCounter.kt} +4 -4
  239. package/ReactAndroid/src/main/java/com/facebook/react/bridge/{Promise.java → Promise.kt} +19 -29
  240. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +13 -0
  241. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactInstanceManagerInspectorTarget.java +10 -0
  242. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMarkerConstants.java +2 -0
  243. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNoCrashSoftException.java +3 -1
  244. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManager.kt +179 -0
  245. package/ReactAndroid/src/main/java/com/facebook/react/bridge/interop/InteropModuleRegistry.java +2 -1
  246. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThread.java +2 -0
  247. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThreadImpl.java +28 -47
  248. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/ReactQueueConfigurationImpl.java +5 -19
  249. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/ReactQueueConfigurationSpec.java +4 -6
  250. package/ReactAndroid/src/main/java/com/facebook/react/common/ClearableSynchronizedPool.kt +51 -0
  251. package/ReactAndroid/src/main/java/com/facebook/react/common/DebugServerException.kt +107 -0
  252. package/ReactAndroid/src/main/java/com/facebook/react/common/JavascriptException.kt +2 -10
  253. package/ReactAndroid/src/main/java/com/facebook/react/common/MapBuilder.java +6 -1
  254. package/ReactAndroid/src/main/java/com/facebook/react/common/ShakeDetector.kt +124 -0
  255. package/ReactAndroid/src/main/java/com/facebook/react/common/assets/ReactFontManager.kt +197 -0
  256. package/ReactAndroid/src/main/java/com/facebook/react/common/build/{ReactBuildConfig.java → ReactBuildConfig.kt} +9 -6
  257. package/ReactAndroid/src/main/java/com/facebook/react/common/futures/SimpleSettableFuture.kt +111 -0
  258. package/ReactAndroid/src/main/java/com/facebook/react/common/network/OkHttpCallUtil.kt +38 -0
  259. package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java +16 -62
  260. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultComponentsRegistry.kt +5 -20
  261. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultNewArchitectureEntryPoint.kt +7 -55
  262. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHost.kt +16 -16
  263. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHostDelegate.kt +1 -1
  264. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactNativeHost.kt +1 -0
  265. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.java +0 -73
  266. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/CxxInspectorPackagerConnection.java +29 -10
  267. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevLoadingViewImplementation.kt +120 -0
  268. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevInternalSettings.kt +3 -7
  269. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.java +10 -1
  270. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +12 -5
  271. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialog.kt +29 -1
  272. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialogSurfaceDelegate.kt +2 -3
  273. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxModule.kt +10 -12
  274. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PausedInDebuggerOverlayDialogManager.java +19 -5
  275. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PerftestDevSupportManager.kt +38 -0
  276. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxDialogSurfaceDelegate.java +31 -0
  277. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ReleaseDevSupportManager.kt +168 -0
  278. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/InspectorNetworkHelper.java +94 -0
  279. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/InspectorNetworkRequestListener.java +34 -0
  280. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.kt +4 -1
  281. package/ReactAndroid/src/main/java/com/facebook/react/fabric/Binding.kt +2 -0
  282. package/ReactAndroid/src/main/java/com/facebook/react/fabric/BindingImpl.kt +2 -0
  283. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricComponents.kt +45 -0
  284. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +75 -38
  285. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventBeatManager.kt +43 -0
  286. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.kt +64 -0
  287. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/LayoutMetricsConversions.kt +3 -3
  288. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.java +23 -25
  289. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +110 -360
  290. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.java +16 -22
  291. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/MountItemFactory.kt +1 -4
  292. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.java +1 -5
  293. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEvent.kt +40 -0
  294. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEventMountItem.kt +40 -0
  295. package/ReactAndroid/src/main/java/com/facebook/react/flipper/ReactNativeFlipper.kt +2 -2
  296. package/ReactAndroid/src/main/java/com/facebook/react/internal/SystraceSection.kt +23 -0
  297. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +157 -13
  298. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +266 -26
  299. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +54 -6
  300. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +55 -7
  301. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +294 -30
  302. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +54 -6
  303. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeNewArchitectureFeatureFlagsDefaults.kt +43 -0
  304. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleInteropUtils.java +2 -5
  305. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManager.java +19 -57
  306. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManagerDelegate.java +2 -15
  307. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.kt +14 -14
  308. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/FileReaderModule.java +6 -0
  309. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ChoreographerCompat.kt +16 -0
  310. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/{DefaultHardwareBackBtnHandler.java → DefaultHardwareBackBtnHandler.kt} +4 -6
  311. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/DeviceEventManagerModule.kt +65 -0
  312. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ExceptionsManagerModule.kt +79 -0
  313. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/HeadlessJsTaskSupportModule.kt +51 -0
  314. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JSTimers.kt +21 -0
  315. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/{JavaScriptTimerExecutor.java → JavaScriptTimerExecutor.kt} +7 -8
  316. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.kt +363 -0
  317. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/PermissionAwareActivity.kt +30 -0
  318. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/{PermissionListener.java → PermissionListener.kt} +9 -9
  319. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/RCTNativeAppEventEmitter.kt +17 -0
  320. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactChoreographer.kt +144 -0
  321. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/TimingModule.kt +83 -0
  322. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DevMenuModule.kt +46 -0
  323. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DidJSUpdateUiDuringFrameDetector.kt +36 -48
  324. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/interfaces/DeveloperSettings.kt +2 -0
  325. package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/AlertFragment.java +1 -0
  326. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/FrescoModule.kt +163 -0
  327. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactNetworkImageRequest.kt +31 -0
  328. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactOkHttpNetworkFetcher.kt +56 -0
  329. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/SystraceRequestListener.kt +152 -0
  330. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nManagerModule.kt +2 -6
  331. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nUtil.kt +4 -3
  332. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/OkHttpCompat.java +35 -0
  333. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/RequestBodyUtil.java +1 -7
  334. package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/PermissionsModule.kt +189 -0
  335. package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/StatusBarModule.kt +4 -28
  336. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoHelpers.java +48 -0
  337. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +2 -2
  338. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/PackagerConnectionSettings.kt +55 -0
  339. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessReactContext.java +2 -2
  340. package/ReactAndroid/src/main/java/com/facebook/react/runtime/CoreReactPackage.java +7 -2
  341. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostDelegate.kt +0 -18
  342. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.java +222 -184
  343. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.java +47 -45
  344. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceView.kt +2 -1
  345. package/ReactAndroid/src/main/java/com/facebook/react/runtime/hermes/HermesInstance.kt +11 -4
  346. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/Executors.kt +44 -0
  347. package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.java +5 -2
  348. package/ReactAndroid/src/main/java/com/facebook/react/soloader/OpenSourceMergedSoMapping.kt +119 -0
  349. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BackgroundStyleApplicator.kt +263 -0
  350. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +64 -32
  351. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerDelegate.kt +109 -0
  352. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerInterface.kt +85 -0
  353. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BlendModeHelper.kt +44 -0
  354. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/FilterHelper.kt +89 -17
  355. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/IViewGroupManager.kt +35 -0
  356. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{IViewManagerWithChildren.java → IViewManagerWithChildren.kt} +3 -3
  357. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSTouchDispatcher.java +58 -11
  358. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutDirectionUtil.kt +29 -0
  359. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.java +2 -2
  360. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LengthPercentage.kt +8 -7
  361. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +23 -7
  362. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyOptimizer.java +4 -2
  363. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/PixelUtil.kt +21 -0
  364. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNodeImpl.java +2 -1
  365. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.java +1 -1
  366. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +14 -0
  367. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +16 -0
  368. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstantsHelper.java +9 -7
  369. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +33 -5
  370. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManager.java +20 -10
  371. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerDelegate.kt +41 -0
  372. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewProps.kt +4 -1
  373. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BoxShadowBorderRadius.kt +29 -0
  374. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/CSSBackgroundDrawable.java +151 -83
  375. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/CompositeBackgroundDrawable.kt +85 -0
  376. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/InsetBoxShadowDrawable.kt +191 -0
  377. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/OutsetBoxShadowDrawable.kt +159 -0
  378. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/BlackHoleEventDispatcher.kt +57 -0
  379. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ContentSizeChangeEvent.kt +37 -0
  380. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherImpl.java +2 -2
  381. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.java +55 -29
  382. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/SimpleSpringInterpolator.kt +48 -0
  383. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BackgroundImageLayer.kt +28 -0
  384. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderInsets.kt +105 -0
  385. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderRadiusStyle.kt +27 -12
  386. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderStyle.kt +26 -0
  387. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BoxShadow.kt +50 -0
  388. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/ComputedBorderRadius.kt +30 -6
  389. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/CornerRadii.kt +19 -0
  390. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/Gradient.kt +76 -0
  391. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/LogicalEdge.kt +79 -0
  392. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/Overflow.kt +26 -0
  393. package/ReactAndroid/src/main/java/com/facebook/react/views/debuggingoverlay/DebuggingOverlayManager.kt +3 -13
  394. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayout.kt +125 -0
  395. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayoutManager.kt +259 -0
  396. package/ReactAndroid/src/main/java/com/facebook/react/views/image/MultiPostprocessor.kt +61 -0
  397. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageDownloadListener.kt +1 -1
  398. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageManager.kt +307 -0
  399. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.kt +725 -0
  400. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ImageSource.kt +1 -1
  401. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ResourceDrawableIdHelper.kt +35 -0
  402. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ModalHostHelper.kt +1 -0
  403. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ModalHostShadowNode.kt +1 -4
  404. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.kt +13 -30
  405. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt +80 -99
  406. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarContainerView.kt +70 -0
  407. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ReactProgressBarViewManager.kt +165 -0
  408. package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaView.kt +65 -0
  409. package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaViewManager.kt +51 -0
  410. package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaViewShadowNode.kt +12 -0
  411. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/OnScrollDispatchHelper.kt +50 -0
  412. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +80 -11
  413. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.java +64 -20
  414. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +79 -11
  415. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.kt +22 -33
  416. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.java +65 -19
  417. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VelocityHelper.kt +51 -0
  418. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/ReactSwipeRefreshLayout.java +11 -0
  419. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitch.kt +110 -0
  420. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactRawTextManager.java +8 -0
  421. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.java +73 -20
  422. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +143 -77
  423. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java +36 -32
  424. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java +11 -0
  425. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +79 -104
  426. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactOpacitySpan.kt +33 -0
  427. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +81 -9
  428. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java +66 -30
  429. package/ReactAndroid/src/main/java/com/facebook/react/views/view/CanvasUtil.kt +95 -0
  430. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundDrawable.java +2 -0
  431. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundManager.java +6 -4
  432. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +257 -96
  433. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.java +87 -26
  434. package/ReactAndroid/src/main/java/com/facebook/react/views/view/WindowUtil.kt +63 -0
  435. package/ReactAndroid/src/main/java/com/facebook/systrace/Systrace.kt +23 -0
  436. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNative.java +1 -0
  437. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNode.java +2 -0
  438. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.java +4 -0
  439. package/ReactAndroid/src/main/jni/CMakeLists.txt +182 -3
  440. package/ReactAndroid/src/main/jni/first-party/fbgloginit/CMakeLists.txt +1 -1
  441. package/ReactAndroid/src/main/jni/first-party/jni-lib-merge/CMakeLists.txt +24 -0
  442. package/ReactAndroid/src/main/jni/first-party/jni-lib-merge/SoMerging-utils.cmake +23 -0
  443. package/ReactAndroid/src/main/jni/first-party/jni-lib-merge/jni_lib_merge.c +158 -0
  444. package/ReactAndroid/src/main/jni/first-party/jni-lib-merge/jni_lib_merge.h +108 -0
  445. package/ReactAndroid/src/main/jni/first-party/yogajni/CMakeLists.txt +5 -1
  446. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNIVanilla.cpp +12 -1
  447. package/ReactAndroid/src/main/jni/react/devsupport/CMakeLists.txt +5 -1
  448. package/ReactAndroid/src/main/jni/react/fabric/Binding.cpp +35 -19
  449. package/ReactAndroid/src/main/jni/react/fabric/Binding.h +3 -0
  450. package/ReactAndroid/src/main/jni/react/fabric/CMakeLists.txt +9 -1
  451. package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.cpp +6 -43
  452. package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.h +4 -27
  453. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.cpp +76 -40
  454. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.h +25 -1
  455. package/ReactAndroid/src/main/jni/react/fabric/MountItem.cpp +0 -7
  456. package/ReactAndroid/src/main/jni/react/fabric/MountItem.h +1 -7
  457. package/ReactAndroid/src/main/jni/react/fabric/OnLoad.cpp +0 -2
  458. package/ReactAndroid/src/main/jni/react/fabric/StateWrapperImpl.cpp +49 -13
  459. package/ReactAndroid/src/main/jni/react/fabric/StateWrapperImpl.h +3 -2
  460. package/ReactAndroid/src/main/jni/react/featureflags/CMakeLists.txt +5 -1
  461. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +369 -33
  462. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +79 -7
  463. package/ReactAndroid/src/main/jni/react/hermes/instrumentation/CMakeLists.txt +7 -6
  464. package/ReactAndroid/src/main/jni/react/hermes/reactexecutor/CMakeLists.txt +5 -6
  465. package/ReactAndroid/src/main/jni/react/hermes/reactexecutor/OnLoad.cpp +0 -1
  466. package/ReactAndroid/src/main/jni/react/hermes/tooling/CMakeLists.txt +41 -0
  467. package/ReactAndroid/src/main/jni/react/jni/CMakeLists.txt +3 -1
  468. package/ReactAndroid/src/main/jni/react/jni/InspectorNetworkRequestListener.cpp +76 -0
  469. package/ReactAndroid/src/main/jni/react/jni/InspectorNetworkRequestListener.h +44 -0
  470. package/ReactAndroid/src/main/jni/react/jni/JDynamicNative.cpp +46 -0
  471. package/ReactAndroid/src/main/jni/react/jni/JDynamicNative.h +56 -0
  472. package/ReactAndroid/src/main/jni/react/jni/JReactMarker.cpp +1 -0
  473. package/ReactAndroid/src/main/jni/react/jni/JWeakRefUtils.h +23 -0
  474. package/ReactAndroid/src/main/jni/react/jni/MethodInvoker.cpp +3 -1
  475. package/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp +4 -0
  476. package/ReactAndroid/src/main/jni/react/jni/ReactInstanceManagerInspectorTarget.cpp +71 -18
  477. package/ReactAndroid/src/main/jni/react/jni/ReactInstanceManagerInspectorTarget.h +17 -6
  478. package/ReactAndroid/src/main/jni/react/jscexecutor/CMakeLists.txt +6 -7
  479. package/ReactAndroid/src/main/jni/react/jsctooling/CMakeLists.txt +34 -0
  480. package/ReactAndroid/src/main/jni/react/mapbuffer/CMakeLists.txt +5 -1
  481. package/ReactAndroid/src/main/jni/react/newarchdefaults/CMakeLists.txt +10 -2
  482. package/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultComponentsRegistry.cpp +16 -33
  483. package/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultComponentsRegistry.h +2 -11
  484. package/ReactAndroid/src/main/jni/react/reactnativeblob/CMakeLists.txt +4 -1
  485. package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/CMakeLists.txt +8 -4
  486. package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/JHermesInstance.cpp +4 -3
  487. package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/JHermesInstance.h +8 -3
  488. package/ReactAndroid/src/main/jni/react/runtime/jni/CMakeLists.txt +4 -1
  489. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.cpp +64 -22
  490. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.h +35 -6
  491. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactInstance.cpp +1 -0
  492. package/ReactAndroid/src/main/jni/react/runtime/jsc/jni/CMakeLists.txt +7 -5
  493. package/ReactAndroid/src/main/jni/react/turbomodule/CMakeLists.txt +7 -2
  494. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.cpp +156 -166
  495. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.h +23 -17
  496. package/ReactAndroid/src/main/jni/react/uimanager/CMakeLists.txt +17 -5
  497. package/ReactAndroid/src/main/jni/third-party/folly/CMakeLists.txt +1 -1
  498. package/ReactAndroid/src/main/jni/third-party/glog/CMakeLists.txt +1 -1
  499. package/ReactAndroid/src/main/res/devsupport/drawable/paused_in_debugger_background.xml +1 -1
  500. package/ReactAndroid/src/main/res/devsupport/drawable/paused_in_debugger_dialog_background.xml +7 -0
  501. package/ReactAndroid/src/main/res/devsupport/drawable-hdpi/ic_resume.png +0 -0
  502. package/ReactAndroid/src/main/res/devsupport/drawable-mdpi/ic_resume.png +0 -0
  503. package/ReactAndroid/src/main/res/devsupport/drawable-xhdpi/ic_resume.png +0 -0
  504. package/ReactAndroid/src/main/res/devsupport/drawable-xxhdpi/ic_resume.png +0 -0
  505. package/ReactAndroid/src/main/res/devsupport/drawable-xxxhdpi/ic_resume.png +0 -0
  506. package/ReactAndroid/src/main/res/devsupport/layout/paused_in_debugger_view.xml +19 -18
  507. package/ReactAndroid/src/main/res/devsupport/values/strings.xml +2 -2
  508. package/ReactAndroid/src/main/res/devsupport/values/styles.xml +4 -0
  509. package/ReactAndroid/src/main/res/devsupport/xml/rn_dev_preferences.xml +0 -6
  510. package/ReactAndroid/src/main/res/views/uimanager/values/ids.xml +3 -0
  511. package/ReactCommon/cxxreact/CMakeLists.txt +2 -1
  512. package/ReactCommon/cxxreact/CxxModule.h +0 -2
  513. package/ReactCommon/cxxreact/JSExecutor.cpp +2 -7
  514. package/ReactCommon/cxxreact/React-cxxreact.podspec +1 -0
  515. package/ReactCommon/cxxreact/ReactMarker.cpp +10 -2
  516. package/ReactCommon/cxxreact/ReactMarker.h +5 -1
  517. package/ReactCommon/cxxreact/ReactNativeVersion.h +2 -2
  518. package/ReactCommon/cxxreact/SystraceSection.h +15 -10
  519. package/ReactCommon/cxxreact/tests/jsarg_helpers.cpp +1 -1
  520. package/ReactCommon/hermes/executor/CMakeLists.txt +3 -3
  521. package/ReactCommon/hermes/inspector-modern/CMakeLists.txt +2 -5
  522. package/ReactCommon/jsc/CMakeLists.txt +5 -3
  523. package/ReactCommon/jserrorhandler/CMakeLists.txt +1 -1
  524. package/ReactCommon/jserrorhandler/JsErrorHandler.cpp +40 -1
  525. package/ReactCommon/jserrorhandler/JsErrorHandler.h +12 -1
  526. package/ReactCommon/jserrorhandler/React-jserrorhandler.podspec +6 -0
  527. package/ReactCommon/jsi/jsi/decorator.h +57 -4
  528. package/ReactCommon/jsi/jsi/instrumentation.h +15 -3
  529. package/ReactCommon/jsi/jsi/jsi.cpp +6 -2
  530. package/ReactCommon/jsiexecutor/CMakeLists.txt +1 -1
  531. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp +10 -4
  532. package/ReactCommon/jsiexecutor/jsireact/JSINativeModules.cpp +5 -1
  533. package/ReactCommon/jsinspector-modern/Base64.h +98 -0
  534. package/ReactCommon/jsinspector-modern/CMakeLists.txt +6 -1
  535. package/ReactCommon/jsinspector-modern/CdpJson.h +1 -1
  536. package/ReactCommon/jsinspector-modern/ExecutionContext.cpp +3 -4
  537. package/ReactCommon/jsinspector-modern/FallbackRuntimeAgentDelegate.h +5 -5
  538. package/ReactCommon/jsinspector-modern/HostAgent.cpp +45 -22
  539. package/ReactCommon/jsinspector-modern/HostAgent.h +7 -1
  540. package/ReactCommon/jsinspector-modern/HostTarget.cpp +36 -7
  541. package/ReactCommon/jsinspector-modern/HostTarget.h +25 -5
  542. package/ReactCommon/jsinspector-modern/InspectorFlags.cpp +14 -3
  543. package/ReactCommon/jsinspector-modern/InspectorFlags.h +1 -1
  544. package/ReactCommon/jsinspector-modern/InspectorInterfaces.cpp +5 -1
  545. package/ReactCommon/jsinspector-modern/InspectorInterfaces.h +18 -1
  546. package/ReactCommon/jsinspector-modern/InspectorPackagerConnection.h +4 -5
  547. package/ReactCommon/jsinspector-modern/NetworkIOAgent.cpp +440 -0
  548. package/ReactCommon/jsinspector-modern/NetworkIOAgent.h +266 -0
  549. package/ReactCommon/jsinspector-modern/React-jsinspector.podspec +1 -0
  550. package/ReactCommon/jsinspector-modern/RuntimeAgent.cpp +22 -0
  551. package/ReactCommon/jsinspector-modern/RuntimeTarget.cpp +46 -0
  552. package/ReactCommon/jsinspector-modern/RuntimeTarget.h +31 -0
  553. package/ReactCommon/jsinspector-modern/RuntimeTargetConsole.cpp +2 -2
  554. package/ReactCommon/jsinspector-modern/RuntimeTargetDebuggerSessionObserver.cpp +112 -0
  555. package/ReactCommon/jsinspector-modern/Utf8.h +56 -0
  556. package/ReactCommon/jsinspector-modern/WebSocketInterfaces.h +6 -0
  557. package/ReactCommon/jsinspector-modern/tests/ConsoleApiTest.cpp +54 -0
  558. package/ReactCommon/jsinspector-modern/tests/HostTargetTest.cpp +801 -0
  559. package/ReactCommon/jsinspector-modern/tests/InspectorMocks.h +6 -0
  560. package/ReactCommon/jsinspector-modern/tests/InspectorPackagerConnectionTest.cpp +29 -12
  561. package/ReactCommon/jsinspector-modern/tests/JsiIntegrationTest.cpp +38 -0
  562. package/ReactCommon/jsinspector-modern/tests/ReactInstanceIntegrationTest.cpp +2 -1
  563. package/ReactCommon/jsinspector-modern/tests/RuntimeTargetDebuggerSessionObserverTest.cpp +214 -0
  564. package/ReactCommon/jsinspector-modern/tests/Utf8.cpp +58 -0
  565. package/ReactCommon/logger/CMakeLists.txt +1 -1
  566. package/ReactCommon/react/bridging/Bool.h +1 -1
  567. package/ReactCommon/react/bridging/CMakeLists.txt +1 -1
  568. package/ReactCommon/react/config/CMakeLists.txt +1 -1
  569. package/ReactCommon/react/config/ReactNativeConfig.cpp +0 -3
  570. package/ReactCommon/react/debug/CMakeLists.txt +1 -1
  571. package/ReactCommon/react/featureflags/CMakeLists.txt +1 -1
  572. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +107 -11
  573. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +132 -12
  574. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +479 -47
  575. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +58 -10
  576. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +106 -10
  577. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +29 -5
  578. package/ReactCommon/react/nativemodule/core/CMakeLists.txt +2 -1
  579. package/ReactCommon/react/nativemodule/core/ReactCommon/CxxTurboModuleUtils.h +6 -38
  580. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +68 -66
  581. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.h +2 -2
  582. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.h +21 -2
  583. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +13 -0
  584. package/ReactCommon/react/nativemodule/defaults/CMakeLists.txt +1 -1
  585. package/ReactCommon/react/nativemodule/dom/CMakeLists.txt +5 -1
  586. package/ReactCommon/react/nativemodule/featureflags/CMakeLists.txt +1 -1
  587. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +132 -12
  588. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +54 -6
  589. package/ReactCommon/react/nativemodule/idlecallbacks/CMakeLists.txt +1 -1
  590. package/ReactCommon/react/nativemodule/microtasks/CMakeLists.txt +1 -1
  591. package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.cpp +0 -11
  592. package/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec +2 -0
  593. package/ReactCommon/react/nativemodule/samples/platform/android/CMakeLists.txt +2 -2
  594. package/ReactCommon/react/nativemodule/samples/platform/android/NativeSampleTurboModuleSpec.java +16 -0
  595. package/ReactCommon/react/nativemodule/samples/platform/android/ReactCommon/SampleTurboModuleSpec.cpp +9 -0
  596. package/ReactCommon/react/nativemodule/samples/platform/android/SampleTurboModule.java +20 -1
  597. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTNativeSampleTurboModuleSpec.h +11 -0
  598. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTNativeSampleTurboModuleSpec.mm +34 -0
  599. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboModule.h +1 -1
  600. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboModule.mm +4 -0
  601. package/ReactCommon/react/nativemodule/webperformance/NativePerformance.cpp +28 -16
  602. package/ReactCommon/react/nativemodule/webperformance/NativePerformanceObserver.cpp +8 -1
  603. package/ReactCommon/react/performance/timeline/CMakeLists.txt +2 -1
  604. package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.cpp +12 -2
  605. package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.h +8 -4
  606. package/ReactCommon/react/performance/timeline/React-performancetimeline.podspec +1 -0
  607. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +1 -22
  608. package/ReactCommon/react/renderer/animations/utils.h +45 -0
  609. package/ReactCommon/react/renderer/attributedstring/CMakeLists.txt +1 -1
  610. package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +4 -0
  611. package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +2 -0
  612. package/ReactCommon/react/renderer/attributedstring/conversions.h +55 -2
  613. package/ReactCommon/react/renderer/attributedstring/primitives.h +9 -0
  614. package/ReactCommon/react/renderer/componentregistry/CMakeLists.txt +1 -1
  615. package/ReactCommon/react/renderer/componentregistry/native/CMakeLists.txt +1 -1
  616. package/ReactCommon/react/renderer/components/image/CMakeLists.txt +1 -1
  617. package/ReactCommon/react/renderer/components/image/conversions.h +9 -0
  618. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/CMakeLists.txt +1 -1
  619. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.mm +2 -3
  620. package/ReactCommon/react/renderer/components/modal/ModalHostViewState.h +10 -1
  621. package/{ReactAndroid/src/main/java/com/facebook/react/bridge/PerformanceCounter.java → ReactCommon/react/renderer/components/modal/ModalHostViewUtils.h} +5 -6
  622. package/ReactCommon/react/renderer/components/modal/ModalHostViewUtils.mm +20 -0
  623. package/ReactCommon/react/renderer/components/progressbar/CMakeLists.txt +1 -1
  624. package/ReactCommon/react/renderer/components/root/CMakeLists.txt +1 -1
  625. package/ReactCommon/react/renderer/components/safeareaview/CMakeLists.txt +46 -0
  626. package/ReactCommon/react/renderer/components/safeareaview/SafeAreaViewState.cpp +10 -1
  627. package/ReactCommon/react/renderer/components/safeareaview/SafeAreaViewState.h +20 -0
  628. package/ReactCommon/react/renderer/components/scrollview/ScrollEvent.cpp +99 -0
  629. package/ReactCommon/react/renderer/components/scrollview/ScrollEvent.h +44 -0
  630. package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.cpp +16 -72
  631. package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.h +12 -18
  632. package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.cpp +9 -0
  633. package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.h +1 -0
  634. package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +8 -0
  635. package/ReactCommon/react/renderer/components/text/CMakeLists.txt +1 -2
  636. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp +35 -17
  637. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.h +3 -0
  638. package/ReactCommon/react/renderer/components/textinput/CMakeLists.txt +1 -1
  639. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.cpp +27 -0
  640. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.h +3 -0
  641. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputEventEmitter.cpp +1 -1
  642. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputShadowNode.cpp +29 -0
  643. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputShadowNode.h +3 -0
  644. package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +20 -0
  645. package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +2 -0
  646. package/ReactCommon/react/renderer/components/view/BaseViewProps.cpp +115 -75
  647. package/ReactCommon/react/renderer/components/view/BaseViewProps.h +18 -1
  648. package/ReactCommon/react/renderer/components/view/CMakeLists.txt +1 -1
  649. package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +4 -1
  650. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +21 -0
  651. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.h +4 -0
  652. package/ReactCommon/react/renderer/components/view/conversions.h +307 -23
  653. package/ReactCommon/react/renderer/components/view/primitives.h +8 -1
  654. package/ReactCommon/react/renderer/consistency/CMakeLists.txt +1 -1
  655. package/ReactCommon/react/renderer/core/CMakeLists.txt +1 -1
  656. package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +21 -12
  657. package/ReactCommon/react/renderer/core/EventDispatcher.cpp +5 -3
  658. package/ReactCommon/react/renderer/core/EventDispatcher.h +1 -1
  659. package/ReactCommon/react/renderer/core/EventEmitter.cpp +1 -1
  660. package/ReactCommon/react/renderer/core/EventEmitter.h +2 -0
  661. package/ReactCommon/react/renderer/core/EventListener.cpp +6 -3
  662. package/ReactCommon/react/renderer/core/EventListener.h +1 -1
  663. package/ReactCommon/react/renderer/core/EventLogger.h +4 -1
  664. package/ReactCommon/react/renderer/core/EventPayloadType.h +1 -1
  665. package/ReactCommon/react/renderer/core/EventQueueProcessor.cpp +35 -11
  666. package/ReactCommon/react/renderer/core/EventTarget.cpp +8 -1
  667. package/ReactCommon/react/renderer/core/EventTarget.h +6 -1
  668. package/ReactCommon/react/renderer/core/LayoutableShadowNode.cpp +26 -6
  669. package/ReactCommon/react/renderer/core/LayoutableShadowNode.h +2 -3
  670. package/ReactCommon/react/renderer/core/Props.h +5 -0
  671. package/ReactCommon/react/renderer/core/PropsMacros.h +15 -11
  672. package/ReactCommon/react/renderer/core/RawProps.cpp +1 -6
  673. package/ReactCommon/react/renderer/core/RawProps.h +0 -8
  674. package/ReactCommon/react/renderer/core/RawPropsKeyMap.cpp +1 -1
  675. package/ReactCommon/react/renderer/core/RawPropsParser.cpp +19 -73
  676. package/ReactCommon/react/renderer/core/RawPropsParser.h +0 -9
  677. package/ReactCommon/react/renderer/core/RawValue.h +6 -7
  678. package/ReactCommon/react/renderer/core/ShadowNode.cpp +5 -4
  679. package/ReactCommon/react/renderer/core/ShadowNode.h +5 -5
  680. package/ReactCommon/react/renderer/core/ShadowNodeTraits.h +3 -0
  681. package/ReactCommon/react/renderer/core/tests/EventQueueProcessorTest.cpp +3 -1
  682. package/ReactCommon/react/renderer/core/tests/EventTargetTests.cpp +3 -1
  683. package/ReactCommon/react/renderer/core/tests/FindNodeAtPointTest.cpp +49 -0
  684. package/ReactCommon/react/renderer/core/tests/ShadowNodeTest.cpp +1 -1
  685. package/ReactCommon/react/renderer/debug/CMakeLists.txt +2 -2
  686. package/ReactCommon/react/renderer/dom/CMakeLists.txt +1 -1
  687. package/ReactCommon/react/renderer/element/CMakeLists.txt +1 -1
  688. package/ReactCommon/react/renderer/graphics/BackgroundImage.h +46 -0
  689. package/ReactCommon/react/renderer/graphics/BlendMode.h +72 -0
  690. package/ReactCommon/react/renderer/graphics/BoxShadow.h +25 -0
  691. package/ReactCommon/react/renderer/graphics/CMakeLists.txt +1 -1
  692. package/ReactCommon/react/renderer/graphics/Color.cpp +27 -0
  693. package/ReactCommon/react/renderer/graphics/Color.h +6 -0
  694. package/ReactCommon/react/renderer/graphics/Filter.h +19 -5
  695. package/ReactCommon/react/renderer/graphics/Isolation.h +31 -0
  696. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +1 -0
  697. package/ReactCommon/react/renderer/graphics/Transform.cpp +3 -2
  698. package/ReactCommon/react/renderer/graphics/Transform.h +11 -0
  699. package/ReactCommon/react/renderer/graphics/ValueUnit.h +3 -2
  700. package/ReactCommon/react/renderer/graphics/platform/android/react/renderer/graphics/HostPlatformColor.h +21 -0
  701. package/ReactCommon/react/renderer/graphics/platform/android/react/renderer/graphics/PlatformColorParser.h +48 -20
  702. package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/HostPlatformColor.h +31 -8
  703. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/HostPlatformColor.h +31 -0
  704. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/HostPlatformColor.mm +9 -0
  705. package/ReactCommon/react/renderer/graphics/tests/ColorTest.cpp +38 -0
  706. package/ReactCommon/react/renderer/imagemanager/CMakeLists.txt +1 -1
  707. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTImagePrimitivesConversions.h +7 -0
  708. package/ReactCommon/react/renderer/imagemanager/primitives.h +1 -0
  709. package/ReactCommon/react/renderer/mapbuffer/CMakeLists.txt +1 -1
  710. package/ReactCommon/react/renderer/mounting/CMakeLists.txt +1 -1
  711. package/ReactCommon/react/renderer/mounting/Differentiator.cpp +15 -52
  712. package/ReactCommon/react/renderer/mounting/MountingCoordinator.cpp +10 -3
  713. package/ReactCommon/react/renderer/mounting/MountingCoordinator.h +22 -1
  714. package/ReactCommon/react/renderer/mounting/ShadowViewMutation.cpp +4 -32
  715. package/ReactCommon/react/renderer/mounting/ShadowViewMutation.h +2 -28
  716. package/ReactCommon/react/renderer/mounting/stubs/StubViewTree.cpp +0 -5
  717. package/ReactCommon/react/renderer/observers/events/CMakeLists.txt +4 -1
  718. package/ReactCommon/react/renderer/observers/events/EventPerformanceLogger.cpp +75 -18
  719. package/ReactCommon/react/renderer/observers/events/EventPerformanceLogger.h +19 -2
  720. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserver.cpp +14 -10
  721. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserver.h +6 -3
  722. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverManager.cpp +24 -8
  723. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverManager.h +6 -3
  724. package/ReactCommon/react/renderer/runtimescheduler/CMakeLists.txt +2 -0
  725. package/ReactCommon/react/renderer/runtimescheduler/React-runtimescheduler.podspec +2 -0
  726. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +30 -7
  727. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h +25 -3
  728. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerEventTimingDelegate.h +25 -0
  729. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Legacy.cpp +19 -6
  730. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Legacy.h +12 -2
  731. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.cpp +116 -53
  732. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.h +36 -12
  733. package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +149 -2
  734. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +29 -22
  735. package/ReactCommon/react/renderer/scheduler/Scheduler.h +1 -7
  736. package/ReactCommon/react/renderer/scheduler/SchedulerToolbox.h +0 -10
  737. package/ReactCommon/react/renderer/telemetry/CMakeLists.txt +1 -1
  738. package/ReactCommon/react/renderer/textlayoutmanager/CMakeLists.txt +1 -2
  739. package/ReactCommon/react/renderer/textlayoutmanager/TextMeasureCache.h +44 -0
  740. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +70 -40
  741. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.h +17 -7
  742. package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/TextLayoutManager.cpp +14 -7
  743. package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/TextLayoutManager.h +16 -7
  744. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.h +2 -0
  745. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.mm +6 -2
  746. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTFontUtils.mm +3 -2
  747. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +83 -13
  748. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextPrimitivesConversions.h +18 -0
  749. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.h +17 -7
  750. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.mm +34 -10
  751. package/ReactCommon/react/renderer/uimanager/CMakeLists.txt +1 -1
  752. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +9 -11
  753. package/ReactCommon/react/renderer/uimanager/UIManager.h +0 -6
  754. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +16 -72
  755. package/ReactCommon/react/renderer/uimanager/UIManagerMountHook.h +6 -0
  756. package/ReactCommon/react/renderer/uimanager/consistency/CMakeLists.txt +1 -1
  757. package/ReactCommon/react/renderer/uimanager/primitives.h +8 -3
  758. package/ReactCommon/react/renderer/uimanager/tests/PointerEventsProcessorTest.cpp +1 -4
  759. package/ReactCommon/react/runtime/BufferedRuntimeExecutor.h +1 -1
  760. package/ReactCommon/react/runtime/CMakeLists.txt +2 -6
  761. package/ReactCommon/react/runtime/JSRuntimeFactory.h +8 -0
  762. package/ReactCommon/react/runtime/React-RuntimeCore.podspec +1 -0
  763. package/ReactCommon/react/runtime/ReactInstance.cpp +117 -50
  764. package/ReactCommon/react/runtime/TimerManager.cpp +156 -75
  765. package/ReactCommon/react/runtime/TimerManager.h +16 -4
  766. package/ReactCommon/react/runtime/hermes/CMakeLists.txt +3 -5
  767. package/ReactCommon/react/runtime/hermes/HermesInstance.cpp +24 -15
  768. package/ReactCommon/react/runtime/hermes/HermesInstance.h +3 -2
  769. package/ReactCommon/react/runtime/nativeviewconfig/CMakeLists.txt +1 -1
  770. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHermesInstance.h +9 -4
  771. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHermesInstance.mm +18 -7
  772. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.h +5 -0
  773. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.mm +33 -52
  774. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.h +6 -3
  775. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.mm +10 -10
  776. package/ReactCommon/react/runtime/tests/cxx/ReactInstanceTest.cpp +22 -16
  777. package/ReactCommon/react/test_utils/ios/Shims/ShimRCTInstance.mm +4 -5
  778. package/ReactCommon/react/timing/CMakeLists.txt +18 -0
  779. package/ReactCommon/react/timing/React-timing.podspec +44 -0
  780. package/ReactCommon/react/timing/primitives.h +31 -0
  781. package/ReactCommon/react/timing/tests/PrimitivesTest.cpp +47 -0
  782. package/ReactCommon/react/utils/CMakeLists.txt +1 -1
  783. package/ReactCommon/react/utils/CoreFeatures.cpp +0 -1
  784. package/ReactCommon/react/utils/CoreFeatures.h +0 -4
  785. package/ReactCommon/reactperflogger/CMakeLists.txt +7 -2
  786. package/ReactCommon/reactperflogger/React-perflogger.podspec +15 -2
  787. package/ReactCommon/reactperflogger/fusebox/FuseboxTracer.cpp +117 -0
  788. package/ReactCommon/reactperflogger/fusebox/FuseboxTracer.h +53 -0
  789. package/ReactCommon/reactperflogger/fusebox/tests/FuseboxTracerTest.cpp +90 -0
  790. package/ReactCommon/reactperflogger/reactperflogger/HermesPerfettoDataSource.cpp +19 -4
  791. package/ReactCommon/reactperflogger/reactperflogger/HermesPerfettoDataSource.h +9 -1
  792. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfetto.cpp +42 -6
  793. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfetto.h +6 -1
  794. package/ReactCommon/runtimeexecutor/CMakeLists.txt +1 -1
  795. package/ReactCommon/yoga/yoga/YGNodeStyle.cpp +5 -0
  796. package/ReactCommon/yoga/yoga/YGNodeStyle.h +3 -1
  797. package/ReactCommon/yoga/yoga/algorithm/AbsoluteLayout.cpp +48 -19
  798. package/ReactCommon/yoga/yoga/algorithm/AbsoluteLayout.h +2 -1
  799. package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.cpp +28 -2
  800. package/ReactCommon/yoga/yoga/config/Config.cpp +24 -5
  801. package/ReactCommon/yoga/yoga/config/Config.h +3 -0
  802. package/ReactCommon/yoga/yoga/node/LayoutResults.cpp +1 -0
  803. package/ReactCommon/yoga/yoga/node/LayoutResults.h +1 -0
  804. package/ReactCommon/yoga/yoga/node/Node.cpp +7 -1
  805. package/ReactCommon/yoga/yoga/style/Style.h +18 -0
  806. package/cli.js +23 -5
  807. package/flow/jest.js +2 -2
  808. package/gradle/libs.versions.toml +5 -5
  809. package/index.js +3 -1
  810. package/jest/mockComponent.js +4 -1
  811. package/jest/mockModal.js +1 -3
  812. package/jest/mockScrollView.js +1 -1
  813. package/jest/renderer.js +2 -2
  814. package/jest/setup.js +16 -13
  815. package/package.json +15 -16
  816. package/react-native.config.js +26 -5
  817. package/scripts/bundle.js +5 -2
  818. package/scripts/cocoapods/helpers.rb +73 -6
  819. package/scripts/cocoapods/new_architecture.rb +17 -3
  820. package/scripts/cocoapods/privacy_manifest_utils.rb +23 -8
  821. package/scripts/cocoapods/utils.rb +30 -18
  822. package/scripts/ios-configure-glog.sh +2 -0
  823. package/scripts/react_native_pods.rb +73 -2
  824. package/sdks/.hermesversion +1 -1
  825. package/sdks/hermes-engine/hermes-engine.podspec +9 -3
  826. package/sdks/hermes-engine/utils/build-apple-framework.sh +13 -16
  827. package/sdks/hermes-engine/utils/build-ios-framework.sh +20 -5
  828. package/sdks/hermesc/linux64-bin/hermesc +0 -0
  829. package/sdks/hermesc/osx-bin/hermes +0 -0
  830. package/sdks/hermesc/osx-bin/hermesc +0 -0
  831. package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
  832. package/sdks/hermesc/win64-bin/msvcp140.dll +0 -0
  833. package/sdks/hermesc/win64-bin/vcruntime140.dll +0 -0
  834. package/sdks/hermesc/win64-bin/vcruntime140_1.dll +0 -0
  835. package/src/private/animated/NativeAnimatedHelper.js +438 -0
  836. package/src/private/animated/NativeAnimatedValidation.js +64 -0
  837. package/src/private/components/HScrollViewNativeComponents.js +56 -0
  838. package/src/private/components/SafeAreaView_INTERNAL_DO_NOT_USE.js +29 -0
  839. package/src/private/components/VScrollViewNativeComponents.js +48 -0
  840. package/src/private/components/useSyncOnScroll.js +48 -0
  841. package/src/private/featureflags/ReactNativeFeatureFlags.js +166 -16
  842. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +29 -5
  843. package/src/private/fusebox/FuseboxSessionObserver.js +42 -0
  844. package/{Libraries/Core → src/private/renderer/errorhandling}/ErrorHandlers.js +14 -4
  845. package/src/private/setup/setUpDOM.js +28 -0
  846. package/src/private/setup/setUpIntersectionObserver.js +27 -0
  847. package/src/private/setup/setUpMutationObserver.js +26 -0
  848. package/src/private/setup/setUpPerformanceObserver.js +64 -0
  849. package/src/private/specs/modules/NativeAppearance.js +3 -3
  850. package/src/private/specs/modules/NativeLinkingManager.js +1 -1
  851. package/src/private/specs/modules/NativeSampleTurboModule.js +14 -1
  852. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +6 -4
  853. package/{Libraries/IntersectionObserver → src/private/webapis/intersectionobserver}/IntersectionObserver.js +5 -3
  854. package/{Libraries/IntersectionObserver → src/private/webapis/intersectionobserver}/IntersectionObserverEntry.js +3 -3
  855. package/{Libraries/IntersectionObserver → src/private/webapis/intersectionobserver}/IntersectionObserverManager.js +14 -17
  856. package/src/private/{specs/modules → webapis/intersectionobserver/specs}/NativeIntersectionObserver.js +2 -2
  857. package/{Libraries/IntersectionObserver → src/private/webapis/intersectionobserver/specs}/__mocks__/NativeIntersectionObserver.js +4 -4
  858. package/{Libraries/MutationObserver → src/private/webapis/mutationobserver}/MutationObserver.js +5 -3
  859. package/{Libraries/MutationObserver → src/private/webapis/mutationobserver}/MutationObserverManager.js +24 -15
  860. package/{Libraries/MutationObserver → src/private/webapis/mutationobserver}/MutationRecord.js +4 -6
  861. package/src/private/{specs/modules → webapis/mutationobserver/specs}/NativeMutationObserver.js +2 -2
  862. package/{Libraries/MutationObserver → src/private/webapis/mutationobserver/specs}/__mocks__/NativeMutationObserver.js +5 -5
  863. package/src/private/webapis/performance/{EventCounts.js → EventTiming.js} +65 -3
  864. package/src/private/webapis/performance/LongTasks.js +39 -0
  865. package/src/private/webapis/performance/Performance.js +22 -9
  866. package/src/private/webapis/performance/PerformanceEntry.js +36 -18
  867. package/src/private/webapis/performance/PerformanceObserver.js +29 -43
  868. package/src/private/webapis/performance/RawPerformanceEntry.js +24 -1
  869. package/src/private/webapis/performance/UserTiming.js +17 -12
  870. package/src/private/webapis/performance/specs/NativePerformanceObserver.js +1 -1
  871. package/third-party-podspecs/DoubleConversion.podspec +4 -1
  872. package/third-party-podspecs/RCT-Folly.podspec +3 -1
  873. package/third-party-podspecs/boost.podspec +4 -1
  874. package/third-party-podspecs/fmt.podspec +4 -1
  875. package/third-party-podspecs/glog.podspec +4 -1
  876. package/types/experimental.d.ts +12 -98
  877. package/Libraries/Animated/NativeAnimatedHelper.js +0 -615
  878. package/Libraries/Core/setUpIntersectionObserver.js +0 -16
  879. package/Libraries/Core/setUpMutationObserver.js +0 -16
  880. package/Libraries/Core/setUpPerformanceObserver.js +0 -18
  881. package/Libraries/IntersectionObserver/NativeIntersectionObserver.js +0 -13
  882. package/Libraries/MutationObserver/NativeMutationObserver.js +0 -13
  883. package/Libraries/Utilities/verifyComponentAttributeEquivalence.js +0 -135
  884. package/ReactAndroid/src/main/java/com/facebook/annotationprocessors/common/ProcessorBase.java +0 -24
  885. package/ReactAndroid/src/main/java/com/facebook/react/animated/AdditionAnimatedNode.java +0 -56
  886. package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimatedNode.java +0 -78
  887. package/ReactAndroid/src/main/java/com/facebook/react/animated/ColorAnimatedNode.java +0 -131
  888. package/ReactAndroid/src/main/java/com/facebook/react/animated/DecayAnimation.java +0 -79
  889. package/ReactAndroid/src/main/java/com/facebook/react/animated/DiffClampAnimatedNode.java +0 -66
  890. package/ReactAndroid/src/main/java/com/facebook/react/animated/DivisionAnimatedNode.java +0 -64
  891. package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.java +0 -116
  892. package/ReactAndroid/src/main/java/com/facebook/react/animated/FrameBasedAnimationDriver.java +0 -109
  893. package/ReactAndroid/src/main/java/com/facebook/react/animated/InterpolationAnimatedNode.java +0 -311
  894. package/ReactAndroid/src/main/java/com/facebook/react/animated/MultiplicationAnimatedNode.java +0 -56
  895. package/ReactAndroid/src/main/java/com/facebook/react/animated/ObjectAnimatedNode.java +0 -161
  896. package/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.java +0 -145
  897. package/ReactAndroid/src/main/java/com/facebook/react/animated/SpringAnimation.java +0 -207
  898. package/ReactAndroid/src/main/java/com/facebook/react/animated/StyleAnimatedNode.java +0 -70
  899. package/ReactAndroid/src/main/java/com/facebook/react/animated/SubtractionAnimatedNode.java +0 -60
  900. package/ReactAndroid/src/main/java/com/facebook/react/animated/TrackingAnimatedNode.java +0 -50
  901. package/ReactAndroid/src/main/java/com/facebook/react/animated/TransformAnimatedNode.java +0 -93
  902. package/ReactAndroid/src/main/java/com/facebook/react/animated/ValueAnimatedNode.java +0 -66
  903. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BackgroundExecutor.java +0 -64
  904. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSBundleLoaderDelegate.java +0 -51
  905. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptModule.java +0 -25
  906. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManager.java +0 -162
  907. package/ReactAndroid/src/main/java/com/facebook/react/common/ClearableSynchronizedPool.java +0 -53
  908. package/ReactAndroid/src/main/java/com/facebook/react/common/DebugServerException.java +0 -104
  909. package/ReactAndroid/src/main/java/com/facebook/react/common/HasJavascriptExceptionMetadata.java +0 -17
  910. package/ReactAndroid/src/main/java/com/facebook/react/common/LongArray.java +0 -75
  911. package/ReactAndroid/src/main/java/com/facebook/react/common/ShakeDetector.java +0 -144
  912. package/ReactAndroid/src/main/java/com/facebook/react/common/assets/ReactFontManager.java +0 -239
  913. package/ReactAndroid/src/main/java/com/facebook/react/common/futures/SimpleSettableFuture.java +0 -121
  914. package/ReactAndroid/src/main/java/com/facebook/react/common/network/OkHttpCallUtil.java +0 -36
  915. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevLoadingViewImplementation.java +0 -156
  916. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PerftestDevSupportManager.java +0 -50
  917. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ReleaseDevSupportManager.java +0 -214
  918. package/ReactAndroid/src/main/java/com/facebook/react/fabric/CoreComponentsRegistry.kt +0 -30
  919. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricComponents.java +0 -54
  920. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventBeatManager.java +0 -48
  921. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.java +0 -74
  922. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEvent.java +0 -56
  923. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEventMountItem.java +0 -57
  924. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ChoreographerCompat.java +0 -18
  925. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/DeviceEventManagerModule.java +0 -76
  926. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ExceptionsManagerModule.java +0 -91
  927. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/HeadlessJsTaskSupportModule.java +0 -61
  928. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JSTimers.java +0 -21
  929. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.java +0 -428
  930. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/PermissionAwareActivity.java +0 -29
  931. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/RCTNativeAppEventEmitter.java +0 -18
  932. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactChoreographer.java +0 -172
  933. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/TimingModule.java +0 -104
  934. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/FrescoModule.java +0 -225
  935. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactNetworkImageRequest.java +0 -33
  936. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactOkHttpNetworkFetcher.java +0 -80
  937. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/SystraceRequestListener.java +0 -160
  938. package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/PermissionsModule.java +0 -204
  939. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/PackagerConnectionSettings.java +0 -65
  940. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/Executors.java +0 -53
  941. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerDelegate.java +0 -141
  942. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerInterface.java +0 -84
  943. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/IViewGroupManager.java +0 -42
  944. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewHierarchyDumper.java +0 -45
  945. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerDelegate.java +0 -25
  946. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BoxShadowDrawable.kt +0 -102
  947. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/BlackHoleEventDispatcher.java +0 -62
  948. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ContentSizeChangeEvent.java +0 -52
  949. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/SimpleSpringInterpolator.java +0 -50
  950. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayout.java +0 -123
  951. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayoutManager.java +0 -302
  952. package/ReactAndroid/src/main/java/com/facebook/react/views/image/MultiPostprocessor.java +0 -76
  953. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageManager.java +0 -289
  954. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.java +0 -638
  955. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarContainerView.java +0 -99
  956. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ReactProgressBarViewManager.java +0 -203
  957. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/OnScrollDispatchHelper.java +0 -58
  958. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VelocityHelper.java +0 -64
  959. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitch.java +0 -124
  960. package/ReactAndroid/src/main/java/com/facebook/react/views/view/CanvasUtil.java +0 -87
  961. package/ReactAndroid/src/main/jni/react/fabric/JBackgroundExecutor.cpp +0 -28
  962. package/ReactAndroid/src/main/jni/react/fabric/JBackgroundExecutor.h +0 -23
  963. package/src/private/core/setUpDOM.js +0 -18
  964. package/src/private/webapis/performance/PerformanceEventTiming.js +0 -55
  965. /package/src/private/{core → styles}/composeStyles.js +0 -0
@@ -49,6 +49,7 @@ import com.facebook.react.bridge.WritableMap;
49
49
  import com.facebook.react.bridge.WritableNativeMap;
50
50
  import com.facebook.react.common.annotations.VisibleForTesting;
51
51
  import com.facebook.react.config.ReactFeatureFlags;
52
+ import com.facebook.react.internal.featureflags.ReactNativeFeatureFlags;
52
53
  import com.facebook.react.modules.appregistry.AppRegistry;
53
54
  import com.facebook.react.modules.deviceinfo.DeviceInfoModule;
54
55
  import com.facebook.react.uimanager.DisplayMetricsHolder;
@@ -360,7 +361,7 @@ public class ReactRootView extends FrameLayout implements RootView, ReactRoot {
360
361
  EventDispatcher eventDispatcher =
361
362
  UIManagerHelper.getEventDispatcher(getCurrentReactContext(), getUIManagerType());
362
363
  if (eventDispatcher != null) {
363
- mJSTouchDispatcher.handleTouchEvent(event, eventDispatcher);
364
+ mJSTouchDispatcher.handleTouchEvent(event, eventDispatcher, getCurrentReactContext());
364
365
  }
365
366
  }
366
367
 
@@ -479,7 +480,7 @@ public class ReactRootView extends FrameLayout implements RootView, ReactRoot {
479
480
  mReactInstanceManager.createReactContextInBackground();
480
481
  // if in this experiment, we initialize the root earlier in startReactApplication
481
482
  // instead of waiting for the initial measure
482
- if (ReactFeatureFlags.enableEagerRootViewAttachment) {
483
+ if (ReactNativeFeatureFlags.enableEagerRootViewAttachment()) {
483
484
  if (!mWasMeasured) {
484
485
  // Ideally, those values will be used by default, but we only update them here to scope
485
486
  // this change to `enableEagerRootViewAttachment` experiment.
@@ -824,6 +825,9 @@ public class ReactRootView extends FrameLayout implements RootView, ReactRoot {
824
825
 
825
826
  @Nullable
826
827
  public ReactContext getCurrentReactContext() {
828
+ if (mReactInstanceManager == null) {
829
+ return null;
830
+ }
827
831
  return mReactInstanceManager.getCurrentReactContext();
828
832
  }
829
833
 
@@ -0,0 +1,52 @@
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.JSApplicationCausedNativeException
11
+ import com.facebook.react.bridge.ReadableMap
12
+
13
+ /**
14
+ * Animated node that plays a role of value aggregator. It takes two or more value nodes as an input
15
+ * and outputs a sum of values outputted by those nodes.
16
+ */
17
+ internal class AdditionAnimatedNode(
18
+ config: ReadableMap,
19
+ private val nativeAnimatedNodesManager: NativeAnimatedNodesManager
20
+ ) : ValueAnimatedNode() {
21
+
22
+ private val inputNodes: IntArray
23
+
24
+ init {
25
+ val input = config.getArray("input")
26
+ inputNodes =
27
+ if (input == null) {
28
+ IntArray(0)
29
+ } else {
30
+ IntArray(input.size()) { i -> input.getInt(i) }
31
+ }
32
+ }
33
+
34
+ override fun update() {
35
+ nodeValue = 0.0
36
+ nodeValue +=
37
+ inputNodes.fold(
38
+ 0.0,
39
+ { acc, id ->
40
+ val animatedNode = nativeAnimatedNodesManager.getNodeById(id)
41
+ if (animatedNode is ValueAnimatedNode) {
42
+ acc + animatedNode.getValue()
43
+ } else {
44
+ throw JSApplicationCausedNativeException(
45
+ "Illegal node ID set as an input for Animated.Add node")
46
+ }
47
+ })
48
+ }
49
+
50
+ override fun prettyPrint(): String =
51
+ "AdditionAnimatedNode[${tag}]: input nodes: ${inputNodes.joinToString()} - super: ${super.prettyPrint()}"
52
+ }
@@ -0,0 +1,74 @@
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 java.util.ArrayList
11
+
12
+ /** Base class for all Animated.js library node types that can be created on the "native" side. */
13
+ public abstract class AnimatedNode {
14
+
15
+ public companion object {
16
+ public const val INITIAL_BFS_COLOR: Int = 0
17
+ public const val DEFAULT_ANIMATED_NODE_CHILD_COUNT: Int = 1
18
+ }
19
+
20
+ // TODO: T196787278 Reduce the visibility of these fields to package once we have
21
+ // converted the whole module to Kotlin
22
+
23
+ @JvmField
24
+ internal var children: MutableList<AnimatedNode>? =
25
+ null /* lazy-initialized when a child is added */
26
+ @JvmField internal var activeIncomingNodes: Int = 0
27
+ @JvmField internal var BFSColor: Int = INITIAL_BFS_COLOR
28
+ @JvmField internal var tag: Int = -1
29
+
30
+ public fun addChild(child: AnimatedNode): Unit {
31
+ val currentChildren =
32
+ children
33
+ ?: ArrayList<AnimatedNode>(DEFAULT_ANIMATED_NODE_CHILD_COUNT).also { children = it }
34
+
35
+ currentChildren.add(child)
36
+ child.onAttachedToNode(this)
37
+ }
38
+
39
+ public fun removeChild(child: AnimatedNode): Unit {
40
+ val currentChildren = children ?: return
41
+ child.onDetachedFromNode(this)
42
+ currentChildren.remove(child)
43
+ }
44
+
45
+ /**
46
+ * Subclasses may want to override this method in order to store a reference to the parent of a
47
+ * given node that can then be used to calculate current node's value in {@link #update}. In that
48
+ * case it is important to also override {@link #onDetachedFromNode} to clear that reference once
49
+ * current node gets detached.
50
+ */
51
+ public open fun onAttachedToNode(parent: AnimatedNode): Unit = Unit
52
+
53
+ /** See {@link #onAttachedToNode} */
54
+ public open fun onDetachedFromNode(parent: AnimatedNode): Unit = Unit
55
+
56
+ /**
57
+ * This method will be run on each node at most once every repetition of the animation loop. It
58
+ * will be executed on a node only when all the node's parent has already been updated. Therefore
59
+ * it can be used to calculate node's value.
60
+ */
61
+ public open fun update(): Unit = Unit
62
+
63
+ /**
64
+ * Pretty-printer for the AnimatedNode. Only called in production pre-crash for debug diagnostics.
65
+ */
66
+ public abstract fun prettyPrint(): String
67
+
68
+ public fun prettyPrintWithChildren(): String {
69
+
70
+ val currentChildren = children?.joinToString(" ")
71
+ return prettyPrint() +
72
+ if (!currentChildren.isNullOrBlank()) " children: $currentChildren" else ""
73
+ }
74
+ }
@@ -0,0 +1,13 @@
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
+ /** Interface used to listen to [ValueAnimatedNode] updates. */
11
+ public fun interface AnimatedNodeValueListener {
12
+ public fun onValueUpdate(value: Double)
13
+ }
@@ -5,11 +5,11 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- package com.facebook.react.animated;
8
+ package com.facebook.react.animated
9
9
 
10
- import com.facebook.react.bridge.ReadableMap;
10
+ import com.facebook.react.bridge.ReadableMap
11
11
 
12
12
  /** Indicates that AnimatedNode is able to receive native config updates. */
13
- interface AnimatedNodeWithUpdateableConfig {
14
- void onUpdateConfig(ReadableMap config);
13
+ public fun interface AnimatedNodeWithUpdateableConfig {
14
+ public fun onUpdateConfig(config: ReadableMap?)
15
15
  }
@@ -5,28 +5,27 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- package com.facebook.react.animated;
8
+ package com.facebook.react.animated
9
9
 
10
- import com.facebook.react.bridge.Callback;
11
- import com.facebook.react.bridge.JSApplicationCausedNativeException;
12
- import com.facebook.react.bridge.ReadableMap;
10
+ import com.facebook.react.bridge.Callback
11
+ import com.facebook.react.bridge.JSApplicationCausedNativeException
12
+ import com.facebook.react.bridge.ReadableMap
13
13
 
14
14
  /**
15
15
  * Base class for different types of animation drivers. Can be used to implement simple time-based
16
16
  * animations as well as spring based animations.
17
17
  */
18
- /*package*/ abstract class AnimationDriver {
19
-
20
- /*package*/ boolean mHasFinished = false;
21
- /*package*/ ValueAnimatedNode mAnimatedValue;
22
- /*package*/ Callback mEndCallback;
23
- /*package*/ int mId;
18
+ internal abstract class AnimationDriver {
19
+ @JvmField internal var hasFinished = false
20
+ @JvmField internal var animatedValue: ValueAnimatedNode? = null
21
+ @JvmField internal var endCallback: Callback? = null
22
+ @JvmField internal var id = 0
24
23
 
25
24
  /**
26
25
  * This method gets called in the main animation loop with a frame time passed down from the
27
26
  * android choreographer callback.
28
27
  */
29
- public abstract void runAnimationStep(long frameTimeNanos);
28
+ abstract fun runAnimationStep(frameTimeNanos: Long)
30
29
 
31
30
  /**
32
31
  * This method will get called when some of the configuration gets updated while the animation is
@@ -34,8 +33,8 @@ import com.facebook.react.bridge.ReadableMap;
34
33
  * transition. E.g. in case of a spring animation we want to keep the current value and speed and
35
34
  * start animating with the new properties (different destination or spring settings)
36
35
  */
37
- public void resetConfig(ReadableMap config) {
38
- throw new JSApplicationCausedNativeException(
39
- "Animation config for " + getClass().getSimpleName() + " cannot be reset");
36
+ open fun resetConfig(config: ReadableMap) {
37
+ throw JSApplicationCausedNativeException(
38
+ "Animation config for ${javaClass.simpleName} cannot be reset")
40
39
  }
41
40
  }
@@ -0,0 +1,111 @@
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.content.Context
11
+ import android.graphics.Color
12
+ import com.facebook.react.bridge.ColorPropConverter
13
+ import com.facebook.react.bridge.ReactApplicationContext
14
+ import com.facebook.react.bridge.ReadableMap
15
+ import com.facebook.react.views.view.ColorUtil.normalize
16
+
17
+ /** Animated node that represents a color. */
18
+ internal class ColorAnimatedNode(
19
+ config: ReadableMap,
20
+ private val nativeAnimatedNodesManager: NativeAnimatedNodesManager,
21
+ private val reactApplicationContext: ReactApplicationContext
22
+ ) : AnimatedNode(), AnimatedNodeWithUpdateableConfig {
23
+ private var rNodeId = 0
24
+ private var gNodeId = 0
25
+ private var bNodeId = 0
26
+ private var aNodeId = 0
27
+ private var nativeColor: ReadableMap? = null
28
+ private var nativeColorApplied = false
29
+
30
+ init {
31
+ onUpdateConfig(config)
32
+ }
33
+
34
+ val color: Int
35
+ get() {
36
+ tryApplyNativeColor()
37
+ val rNode = nativeAnimatedNodesManager.getNodeById(rNodeId) as ValueAnimatedNode?
38
+ val gNode = nativeAnimatedNodesManager.getNodeById(gNodeId) as ValueAnimatedNode?
39
+ val bNode = nativeAnimatedNodesManager.getNodeById(bNodeId) as ValueAnimatedNode?
40
+ val aNode = nativeAnimatedNodesManager.getNodeById(aNodeId) as ValueAnimatedNode?
41
+ val r = rNode?.nodeValue ?: 0.0
42
+ val g = gNode?.nodeValue ?: 0.0
43
+ val b = bNode?.nodeValue ?: 0.0
44
+ val a = aNode?.nodeValue ?: 0.0
45
+ return normalize(r, g, b, a)
46
+ }
47
+
48
+ override fun onUpdateConfig(config: ReadableMap?) {
49
+ if (config != null) {
50
+ rNodeId = config.getInt("r")
51
+ gNodeId = config.getInt("g")
52
+ bNodeId = config.getInt("b")
53
+ aNodeId = config.getInt("a")
54
+ nativeColor = config.getMap("nativeColor")
55
+ nativeColorApplied = false
56
+ tryApplyNativeColor()
57
+ } else {
58
+ rNodeId = 0
59
+ gNodeId = 0
60
+ bNodeId = 0
61
+ aNodeId = 0
62
+ nativeColor = null
63
+ nativeColorApplied = false
64
+ }
65
+ }
66
+
67
+ override fun prettyPrint(): String =
68
+ "ColorAnimatedNode[$tag]: r: $rNodeId g: $gNodeId b: $bNodeId a: $aNodeId"
69
+
70
+ private fun tryApplyNativeColor() {
71
+ if (nativeColor == null || nativeColorApplied) {
72
+ return
73
+ }
74
+ val context = context ?: return
75
+ val color = ColorPropConverter.getColor(nativeColor, context)
76
+ val rNode = nativeAnimatedNodesManager.getNodeById(rNodeId) as ValueAnimatedNode?
77
+ val gNode = nativeAnimatedNodesManager.getNodeById(gNodeId) as ValueAnimatedNode?
78
+ val bNode = nativeAnimatedNodesManager.getNodeById(bNodeId) as ValueAnimatedNode?
79
+ val aNode = nativeAnimatedNodesManager.getNodeById(aNodeId) as ValueAnimatedNode?
80
+ rNode?.nodeValue = Color.red(color).toDouble()
81
+ gNode?.nodeValue = Color.green(color).toDouble()
82
+ bNode?.nodeValue = Color.blue(color).toDouble()
83
+ aNode?.nodeValue = Color.alpha(color) / 255.0
84
+ nativeColorApplied = true
85
+ }
86
+
87
+ private val context: Context?
88
+ get() {
89
+ // There are cases where the activity may not exist (such as for VRShell panel apps). In this
90
+ // case we will search for a view associated with a PropsAnimatedNode to get the context.
91
+ return reactApplicationContext.currentActivity ?: getContextHelper(this)
92
+ }
93
+
94
+ companion object {
95
+ private fun getContextHelper(node: AnimatedNode): Context? {
96
+ // Search children depth-first until we get to a PropsAnimatedNode, from which we can
97
+ // get the view and its context
98
+ node.children?.let { children ->
99
+ for (child in children) {
100
+ return if (child is PropsAnimatedNode) {
101
+ val view = child.connectedView
102
+ view?.context
103
+ } else {
104
+ getContextHelper(child)
105
+ }
106
+ }
107
+ }
108
+ return null
109
+ }
110
+ }
111
+ }
@@ -0,0 +1,73 @@
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.ReadableMap
11
+ import kotlin.math.abs
12
+ import kotlin.math.exp
13
+
14
+ /**
15
+ * Implementation of [AnimationDriver] providing support for decay animations. The implementation is
16
+ * copied from the JS version in `AnimatedImplementation.js`.
17
+ */
18
+ internal class DecayAnimation(config: ReadableMap) : AnimationDriver() {
19
+ private var velocity: Double = 0.0
20
+ private var deceleration: Double = 0.0
21
+ private var startFrameTimeMillis: Long = -1
22
+ private var fromValue: Double = 0.0
23
+ private var lastValue: Double = 0.0
24
+ private var iterations: Int = 1
25
+ private var currentLoop: Int = 1
26
+
27
+ init {
28
+ resetConfig(config)
29
+ }
30
+
31
+ public override fun resetConfig(config: ReadableMap): Unit {
32
+ velocity = config.getDouble("velocity")
33
+ deceleration = config.getDouble("deceleration")
34
+ startFrameTimeMillis = -1
35
+ fromValue = 0.0
36
+ lastValue = 0.0
37
+ iterations = if (config.hasKey("iterations")) config.getInt("iterations") else 1
38
+ currentLoop = 1
39
+ hasFinished = iterations == 0
40
+ }
41
+
42
+ public override fun runAnimationStep(frameTimeNanos: Long) {
43
+ val animatedValue = requireNotNull(animatedValue) { "Animated value should not be null" }
44
+ val frameTimeMillis = frameTimeNanos / 1000000
45
+ if (startFrameTimeMillis == -1L) {
46
+ // since this is the first animation step, consider the start to be on the previous frame
47
+ startFrameTimeMillis = frameTimeMillis - 16
48
+ if (fromValue == lastValue) { // first iteration, assign [fromValue] based on [animatedValue]
49
+ fromValue = animatedValue.nodeValue
50
+ } else { // not the first iteration, reset [animatedValue] based on [fromValue]
51
+ animatedValue.nodeValue = fromValue
52
+ }
53
+ lastValue = animatedValue.nodeValue
54
+ }
55
+ val value =
56
+ (fromValue +
57
+ velocity / (1 - deceleration) *
58
+ (1 - exp(-(1 - deceleration) * (frameTimeMillis - startFrameTimeMillis))))
59
+ if (abs(lastValue - value) < 0.1) {
60
+ if (iterations == -1 || currentLoop < iterations) { // looping animation, return to start
61
+ // set [startFrameTimeMillis] to -1 to reset instance variables on the next
62
+ // [runAnimationStep]
63
+ startFrameTimeMillis = -1
64
+ currentLoop++
65
+ } else { // animation has completed
66
+ hasFinished = true
67
+ return
68
+ }
69
+ }
70
+ lastValue = value
71
+ animatedValue.nodeValue = value
72
+ }
73
+ }
@@ -0,0 +1,51 @@
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.JSApplicationCausedNativeException
11
+ import com.facebook.react.bridge.ReadableMap
12
+ import kotlin.math.max
13
+ import kotlin.math.min
14
+
15
+ internal class DiffClampAnimatedNode(
16
+ config: ReadableMap,
17
+ private val nativeAnimatedNodesManager: NativeAnimatedNodesManager
18
+ ) : ValueAnimatedNode() {
19
+ private val inputNodeTag: Int
20
+ private val minValue: Double
21
+ private val maxValue: Double
22
+ private var lastValue: Double = 0.0
23
+
24
+ init {
25
+ inputNodeTag = config.getInt("input")
26
+ minValue = config.getDouble("min")
27
+ maxValue = config.getDouble("max")
28
+ nodeValue = lastValue
29
+ }
30
+
31
+ override fun update() {
32
+ val value = inputNodeValue
33
+ val diff = value - lastValue
34
+ lastValue = value
35
+ nodeValue = min(max(nodeValue + diff, minValue), maxValue)
36
+ }
37
+
38
+ private val inputNodeValue: Double
39
+ get() {
40
+ val animatedNode = nativeAnimatedNodesManager.getNodeById(inputNodeTag)
41
+ if (animatedNode == null || animatedNode !is ValueAnimatedNode) {
42
+ throw JSApplicationCausedNativeException(
43
+ "Illegal node ID set as an input for Animated.DiffClamp node")
44
+ }
45
+ return animatedNode.getValue()
46
+ }
47
+
48
+ override fun prettyPrint(): String =
49
+ "DiffClampAnimatedNode[$tag]: InputNodeTag: $inputNodeTag min: $minValue " +
50
+ "max: $maxValue lastValue: $lastValue super: ${super.prettyPrint()}"
51
+ }
@@ -0,0 +1,55 @@
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.JSApplicationCausedNativeException
11
+ import com.facebook.react.bridge.ReadableMap
12
+
13
+ /**
14
+ * Animated node which takes two or more value node as an input and outputs an in-order division of
15
+ * their values.
16
+ */
17
+ internal class DivisionAnimatedNode(
18
+ config: ReadableMap,
19
+ private val nativeAnimatedNodesManager: NativeAnimatedNodesManager
20
+ ) : ValueAnimatedNode() {
21
+ private val inputNodes: IntArray
22
+
23
+ init {
24
+ val input = config.getArray("input")
25
+ inputNodes =
26
+ if (input == null) {
27
+ IntArray(0)
28
+ } else {
29
+ IntArray(input.size()) { i -> input.getInt(i) }
30
+ }
31
+ }
32
+
33
+ override fun update() {
34
+ inputNodes.forEachIndexed { i, inputNode ->
35
+ val animatedNode = nativeAnimatedNodesManager.getNodeById(inputNode)
36
+ if (animatedNode != null && animatedNode is ValueAnimatedNode) {
37
+ val v = animatedNode.nodeValue
38
+ if (i == 0) {
39
+ nodeValue = v
40
+ } else if (v == 0.0) {
41
+ throw JSApplicationCausedNativeException(
42
+ "Detected a division by zero in Animated.divide node with Animated ID $tag")
43
+ } else {
44
+ nodeValue /= v
45
+ }
46
+ } else {
47
+ throw JSApplicationCausedNativeException(
48
+ "Illegal node ID set as an input for Animated.divide node with Animated ID $tag")
49
+ }
50
+ }
51
+ }
52
+
53
+ override fun prettyPrint(): String =
54
+ "DivisionAnimatedNode[$tag]: input nodes: $inputNodes - super: ${super.prettyPrint()}"
55
+ }
@@ -0,0 +1,100 @@
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.ReadableArray
11
+ import com.facebook.react.bridge.ReadableMap
12
+ import com.facebook.react.bridge.ReadableType
13
+ import com.facebook.react.bridge.UnexpectedNativeTypeException
14
+ import com.facebook.react.bridge.WritableArray
15
+ import com.facebook.react.bridge.WritableMap
16
+ import com.facebook.react.uimanager.events.EventCategoryDef
17
+ import com.facebook.react.uimanager.events.RCTModernEventEmitter
18
+ import com.facebook.react.uimanager.events.TouchEvent
19
+
20
+ /** Handles updating a [ValueAnimatedNode] when an event gets dispatched. */
21
+ internal class EventAnimationDriver(
22
+ @JvmField var eventName: String,
23
+ @JvmField internal var viewTag: Int,
24
+ private val eventPath: List<String>,
25
+ @JvmField internal var valueNode: ValueAnimatedNode
26
+ ) : RCTModernEventEmitter {
27
+ override fun receiveEvent(targetReactTag: Int, eventName: String, event: WritableMap?) =
28
+ receiveEvent(-1, targetReactTag, eventName, event)
29
+
30
+ override fun receiveEvent(
31
+ surfaceId: Int,
32
+ targetTag: Int,
33
+ eventName: String,
34
+ event: WritableMap?
35
+ ) =
36
+ // We assume this event can't be coalesced. `customCoalesceKey` has no meaning in Fabric.
37
+ receiveEvent(surfaceId, targetTag, eventName, false, 0, event, EventCategoryDef.UNSPECIFIED)
38
+
39
+ override fun receiveTouches(
40
+ eventName: String,
41
+ touches: WritableArray,
42
+ changedIndices: WritableArray
43
+ ) {
44
+ throw UnsupportedOperationException("receiveTouches is not support by native animated events")
45
+ }
46
+
47
+ override fun receiveTouches(touchEvent: TouchEvent) {
48
+ throw UnsupportedOperationException("receiveTouches is not support by native animated events")
49
+ }
50
+
51
+ override fun receiveEvent(
52
+ surfaceId: Int,
53
+ targetTag: Int,
54
+ eventName: String,
55
+ canCoalesceEvent: Boolean,
56
+ customCoalesceKey: Int,
57
+ event: WritableMap?,
58
+ @EventCategoryDef category: Int
59
+ ) {
60
+ requireNotNull(event) { "Native animated events must have event data." }
61
+
62
+ // Get the new value for the node by looking into the event map using the provided event path.
63
+ var currMap: ReadableMap? = event
64
+ var currArray: ReadableArray? = null
65
+ for (i in 0 until eventPath.size - 1) {
66
+ if (currMap != null) {
67
+ val key = eventPath[i]
68
+ val keyType = currMap.getType(key)
69
+ if (keyType == ReadableType.Map) {
70
+ currMap = currMap.getMap(key)
71
+ currArray = null
72
+ } else if (keyType == ReadableType.Array) {
73
+ currArray = currMap.getArray(key)
74
+ currMap = null
75
+ } else {
76
+ throw UnexpectedNativeTypeException("Unexpected type $keyType for key '$key'")
77
+ }
78
+ } else {
79
+ val index = eventPath[i].toInt()
80
+ val keyType = currArray?.getType(index)
81
+ if (keyType == ReadableType.Map) {
82
+ currMap = currArray?.getMap(index)
83
+ currArray = null
84
+ } else if (keyType == ReadableType.Array) {
85
+ currArray = currArray?.getArray(index)
86
+ currMap = null
87
+ } else {
88
+ throw UnexpectedNativeTypeException("Unexpected type $keyType for index '$index'")
89
+ }
90
+ }
91
+ }
92
+ val lastKey = eventPath[eventPath.size - 1]
93
+ if (currMap != null) {
94
+ valueNode.nodeValue = currMap.getDouble(lastKey)
95
+ } else {
96
+ val lastIndex = lastKey.toInt()
97
+ valueNode.nodeValue = currArray?.getDouble(lastIndex) ?: 0.0
98
+ }
99
+ }
100
+ }