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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (989) hide show
  1. package/Libraries/Alert/Alert.js +3 -0
  2. package/Libraries/Animated/AnimatedEvent.js +1 -1
  3. package/Libraries/Animated/AnimatedImplementation.js +7 -7
  4. package/Libraries/Animated/NativeAnimatedAllowlist.js +111 -0
  5. package/Libraries/Animated/animations/Animation.js +11 -1
  6. package/Libraries/Animated/animations/DecayAnimation.js +1 -1
  7. package/Libraries/Animated/animations/SpringAnimation.js +1 -1
  8. package/Libraries/Animated/animations/TimingAnimation.js +2 -1
  9. package/Libraries/Animated/components/AnimatedScrollView.js +3 -2
  10. package/Libraries/Animated/createAnimatedComponent.js +10 -9
  11. package/Libraries/Animated/nodes/AnimatedColor.js +1 -1
  12. package/Libraries/Animated/nodes/AnimatedInterpolation.js +3 -2
  13. package/Libraries/Animated/nodes/AnimatedNode.js +42 -33
  14. package/Libraries/Animated/nodes/AnimatedObject.js +56 -50
  15. package/Libraries/Animated/nodes/AnimatedProps.js +77 -40
  16. package/Libraries/Animated/nodes/AnimatedStyle.js +103 -59
  17. package/Libraries/Animated/nodes/AnimatedTracking.js +1 -1
  18. package/Libraries/Animated/nodes/AnimatedTransform.js +102 -67
  19. package/Libraries/Animated/nodes/AnimatedValue.js +2 -1
  20. package/Libraries/Animated/nodes/AnimatedWithChildren.js +21 -22
  21. package/Libraries/Animated/useAnimatedProps.js +142 -7
  22. package/Libraries/AppDelegate/RCTAppDelegate.h +7 -5
  23. package/Libraries/AppDelegate/RCTAppDelegate.mm +2 -29
  24. package/Libraries/AppDelegate/RCTRootViewFactory.mm +2 -1
  25. package/Libraries/AppDelegate/React-RCTAppDelegate.podspec +2 -3
  26. package/Libraries/BatchedBridge/NativeModules.js +2 -0
  27. package/Libraries/Blob/FileReader.js +1 -1
  28. package/Libraries/Blob/URL.js +2 -62
  29. package/Libraries/Blob/URLSearchParams.js +71 -0
  30. package/Libraries/Blob/URLSearchParams.js.flow +23 -0
  31. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +1 -1
  32. package/Libraries/Components/Pressable/Pressable.js +5 -6
  33. package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +1 -1
  34. package/Libraries/Components/ScrollView/ScrollView.d.ts +1 -1
  35. package/Libraries/Components/ScrollView/ScrollView.js +132 -171
  36. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -1
  37. package/Libraries/Components/StatusBar/StatusBar.js +3 -1
  38. package/Libraries/Components/TV/TVEventHandler.js +11 -6
  39. package/Libraries/Components/TV/TVFocusEventHandler.js +2 -1
  40. package/Libraries/Components/TV/TVFocusGuideView.js +16 -15
  41. package/Libraries/Components/TV/TVTextScrollView.js +11 -10
  42. package/Libraries/Components/TV/TVViewPropTypes.js +1 -1
  43. package/Libraries/Components/TV/tagForComponentOrHandle.js +13 -13
  44. package/Libraries/Components/TV/useTVEventHandler.js +7 -3
  45. package/Libraries/Components/TabBarIOS/RCTTabBarNativeComponent.js +3 -2
  46. package/Libraries/Components/TabBarIOS/TabBarIOS.ios.js +6 -55
  47. package/Libraries/Components/TabBarIOS/{TabBarIOS.android.js → TabBarIOS.js} +8 -5
  48. package/Libraries/Components/TabBarIOS/TabBarIOSProps.js +52 -0
  49. package/Libraries/Components/TabBarIOS/{TabBarItemIOS.android.js → TabBarItemIOS.js} +3 -1
  50. package/Libraries/Components/TextInput/TextInput.d.ts +32 -2
  51. package/Libraries/Components/TextInput/TextInput.js +230 -94
  52. package/Libraries/Components/Touchable/TVTouchable.js +6 -5
  53. package/Libraries/Components/Touchable/Touchable.js +2 -3
  54. package/Libraries/Components/Touchable/TouchableBounce.js +2 -5
  55. package/Libraries/Components/Touchable/TouchableHighlight.js +3 -4
  56. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +3 -4
  57. package/Libraries/Components/View/ReactNativeStyleAttributes.js +22 -0
  58. package/Libraries/Components/View/ReactNativeViewAttributes.js +2 -0
  59. package/Libraries/Components/View/ViewAccessibility.d.ts +15 -0
  60. package/Libraries/Components/View/ViewNativeComponent.js +5 -1
  61. package/Libraries/Components/View/ViewPropTypes.js +14 -0
  62. package/Libraries/Core/ExceptionsManager.js +2 -0
  63. package/Libraries/Core/InitializeCore.js +3 -1
  64. package/Libraries/Core/ReactFiberErrorDialog.js +3 -0
  65. package/Libraries/Core/ReactNativeVersion.js +2 -2
  66. package/Libraries/Core/setUpErrorHandling.js +7 -1
  67. package/Libraries/Core/setUpGlobals.js +1 -0
  68. package/Libraries/Core/setUpReactRefresh.js +0 -4
  69. package/Libraries/Debugging/DebuggingOverlayRegistry.js +1 -1
  70. package/Libraries/Debugging/useSubscribeToDebuggingOverlayRegistry.js +3 -1
  71. package/Libraries/Image/AssetSourceResolver.js +28 -1
  72. package/Libraries/Image/Image.android.js +9 -14
  73. package/Libraries/Image/Image.ios.js +11 -22
  74. package/Libraries/Image/ImageBackground.js +1 -8
  75. package/Libraries/Image/ImageUtils.js +9 -9
  76. package/Libraries/Image/ImageViewNativeComponent.js +1 -0
  77. package/Libraries/Image/RCTImageLoader.mm +19 -10
  78. package/Libraries/Image/RCTImageView.mm +2 -2
  79. package/Libraries/Image/RCTResizeMode.h +28 -0
  80. package/Libraries/Image/React-RCTImage.podspec +1 -1
  81. package/Libraries/Inspector/Inspector.js +3 -2
  82. package/Libraries/Inspector/InspectorPanel.js +16 -10
  83. package/Libraries/Inspector/NetworkOverlay.js +1 -1
  84. package/Libraries/Interaction/TaskQueue.js +1 -0
  85. package/Libraries/LinkingIOS/React-RCTLinking.podspec +1 -0
  86. package/Libraries/Lists/FlatList.js +1 -1
  87. package/Libraries/Lists/SectionList.js +2 -2
  88. package/Libraries/Lists/SectionListModern.js +3 -3
  89. package/Libraries/LogBox/Data/LogBoxData.js +24 -3
  90. package/Libraries/LogBox/LogBoxNotificationContainer.js +3 -2
  91. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +9 -8
  92. package/Libraries/Modal/Modal.js +0 -1
  93. package/Libraries/NativeAnimation/RCTNativeAnimatedModule.mm +3 -1
  94. package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.h +2 -0
  95. package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.mm +27 -0
  96. package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +17 -1
  97. package/Libraries/NativeAnimation/React-RCTAnimation.podspec +1 -0
  98. package/Libraries/NativeComponent/BaseViewConfig.android.js +9 -2
  99. package/Libraries/NativeComponent/BaseViewConfig.ios.js +8 -2
  100. package/Libraries/NativeComponent/NativeComponentRegistry.js +22 -22
  101. package/Libraries/NativeComponent/StaticViewConfigValidator.js +0 -21
  102. package/Libraries/NativeComponent/TVViewConfig.js +4 -1
  103. package/Libraries/Network/RCTNetworkTask.h +1 -1
  104. package/Libraries/Network/RCTNetworkTask.mm +13 -9
  105. package/Libraries/Network/RCTNetworking.mm +6 -0
  106. package/Libraries/Network/XMLHttpRequest.js +4 -2
  107. package/Libraries/NewAppScreen/components/DebugInstructions.js +7 -7
  108. package/Libraries/NewAppScreen/components/HermesBadge.js +3 -6
  109. package/Libraries/Pressability/Pressability.js +6 -3
  110. package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +1 -1
  111. package/Libraries/ReactNative/AppContainer-dev.js +5 -8
  112. package/Libraries/ReactNative/AppContainer-prod.js +1 -5
  113. package/Libraries/ReactNative/AppContainer.js +0 -1
  114. package/Libraries/ReactNative/AppRegistry.js +0 -6
  115. package/Libraries/ReactNative/BridgelessUIManager.js +1 -0
  116. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +1 -1
  117. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +5 -5
  118. package/Libraries/ReactNative/RendererImplementation.js +28 -6
  119. package/Libraries/ReactNative/getNativeComponentAttributes.js +8 -0
  120. package/Libraries/ReactNative/renderApplication.js +0 -2
  121. package/Libraries/Renderer/shims/ReactNativeTypes.js +12 -4
  122. package/Libraries/StyleSheet/StyleSheet.js +1 -1
  123. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +74 -15
  124. package/Libraries/StyleSheet/StyleSheetTypes.js +60 -5
  125. package/Libraries/StyleSheet/processBackgroundImage.js +384 -0
  126. package/Libraries/StyleSheet/processBoxShadow.js +211 -0
  127. package/Libraries/StyleSheet/processFilter.js +231 -42
  128. package/Libraries/Text/BaseText/RCTBaseTextViewManager.mm +1 -0
  129. package/Libraries/Text/RCTTextAttributes.h +1 -0
  130. package/Libraries/Text/RCTTextAttributes.mm +8 -0
  131. package/Libraries/Text/Text/RCTTextShadowView.mm +46 -0
  132. package/Libraries/Text/Text.js +394 -196
  133. package/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.mm +3 -1
  134. package/Libraries/Text/TextInput/RCTBaseTextInputView.mm +20 -9
  135. package/Libraries/Text/TextNativeComponent.js +2 -1
  136. package/Libraries/TurboModule/TurboModuleRegistry.js +13 -50
  137. package/Libraries/Types/CodegenTypes.js +3 -1
  138. package/Libraries/Utilities/Appearance.js +108 -84
  139. package/Libraries/Utilities/BackHandler.ios.js +25 -23
  140. package/Libraries/Utilities/DevLoadingView.js +2 -4
  141. package/Libraries/Utilities/HMRClient.js +2 -1
  142. package/Libraries/Utilities/Platform.d.ts +1 -0
  143. package/Libraries/Utilities/Platform.flow.js +2 -0
  144. package/Libraries/Utilities/ReactNativeTestTools.js +1 -1
  145. package/Libraries/Utilities/createPerformanceLogger.js +0 -9
  146. package/Libraries/Utilities/stringifyViewConfig.js +22 -0
  147. package/Libraries/Utilities/useColorScheme.js +3 -3
  148. package/Libraries/Vibration/Vibration.js +1 -1
  149. package/Libraries/WebSocket/WebSocket.js +1 -1
  150. package/Libraries/promiseRejectionTrackingOptions.js +1 -1
  151. package/Libraries/vendor/emitter/EventEmitter.js +6 -5
  152. package/README-core.md +5 -5
  153. package/README.md +76 -41
  154. package/React/Base/RCTBridge.mm +20 -2
  155. package/React/Base/RCTBundleURLProvider.h +19 -0
  156. package/React/Base/RCTBundleURLProvider.mm +62 -8
  157. package/React/Base/RCTConvert.h +0 -3
  158. package/React/Base/RCTConvert.mm +0 -13
  159. package/React/Base/RCTKeyCommands.m +1 -2
  160. package/React/Base/RCTVersion.m +2 -2
  161. package/React/CoreModules/RCTAppearance.mm +5 -0
  162. package/React/CoreModules/RCTDevLoadingView.mm +5 -0
  163. package/React/CoreModules/RCTDevMenu.mm +1 -1
  164. package/React/CoreModules/RCTDeviceInfo.mm +13 -8
  165. package/React/CoreModules/RCTPerfMonitor.mm +7 -13
  166. package/React/CoreModules/RCTRedBox.mm +4 -0
  167. package/React/CoreModules/RCTStatusBarManager.mm +5 -1
  168. package/React/CoreModules/React-CoreModules.podspec +3 -1
  169. package/React/CxxBridge/NSDataBigString.mm +2 -25
  170. package/React/CxxBridge/RCTCxxBridge.mm +27 -5
  171. package/React/DevSupport/RCTInspectorDevServerHelper.mm +6 -0
  172. package/React/DevSupport/RCTInspectorNetworkHelper.h +29 -0
  173. package/React/DevSupport/RCTInspectorNetworkHelper.mm +115 -0
  174. package/React/DevSupport/RCTInspectorUtils.h +26 -0
  175. package/React/DevSupport/RCTInspectorUtils.mm +50 -0
  176. package/React/Fabric/Mounting/ComponentViews/Image/RCTImageComponentView.mm +4 -1
  177. package/React/Fabric/Mounting/ComponentViews/Modal/RCTFabricModalHostViewController.mm +2 -2
  178. package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +23 -1
  179. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.h +9 -0
  180. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +137 -10
  181. package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentView.mm +74 -35
  182. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +61 -12
  183. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.mm +8 -0
  184. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +356 -59
  185. package/React/Fabric/Mounting/RCTMountingManager.mm +0 -5
  186. package/React/Fabric/RCTScheduler.mm +2 -1
  187. package/React/Fabric/RCTSurfacePresenter.mm +0 -31
  188. package/React/Fabric/Utils/RCTBoxShadow.h +21 -0
  189. package/React/Fabric/Utils/RCTBoxShadow.mm +301 -0
  190. package/React/Modules/RCTRedBoxExtraDataViewController.m +105 -85
  191. package/React/Views/RCTBorderDrawing.h +9 -5
  192. package/React/Views/RCTBorderDrawing.m +23 -14
  193. package/React/Views/RCTModalHostView.m +2 -1
  194. package/React/Views/RCTModalHostViewController.m +1 -1
  195. package/React/Views/RCTModalHostViewManager.m +23 -3
  196. package/React/Views/RCTView.m +9 -5
  197. package/React/Views/RCTViewManager.h +3 -0
  198. package/React/Views/RCTViewManager.m +63 -8
  199. package/React/Views/RefreshControl/RCTRefreshControl.m +18 -0
  200. package/React-Core.podspec +4 -1
  201. package/ReactAndroid/api/ReactAndroid.api +593 -273
  202. package/ReactAndroid/build.gradle.kts +105 -282
  203. package/ReactAndroid/cmake-utils/ReactNative-application.cmake +10 -55
  204. package/ReactAndroid/gradle.properties +1 -1
  205. package/ReactAndroid/hermes-engine/build.gradle.kts +3 -2
  206. package/ReactAndroid/publish.gradle +1 -1
  207. package/ReactAndroid/src/main/AndroidManifest.xml +1 -1
  208. package/ReactAndroid/src/main/java/com/facebook/annotationprocessors/common/ProcessorBase.kt +23 -0
  209. package/ReactAndroid/src/main/java/com/facebook/react/CompositeReactPackage.java +2 -2
  210. package/ReactAndroid/src/main/java/com/facebook/react/CoreModulesPackage.java +1 -1
  211. package/ReactAndroid/src/main/java/com/facebook/react/DebugCorePackage.java +1 -1
  212. package/ReactAndroid/src/main/java/com/facebook/react/HeadlessJsTaskService.java +56 -12
  213. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivity.java +6 -0
  214. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +7 -1
  215. package/ReactAndroid/src/main/java/com/facebook/react/ReactDelegate.java +10 -0
  216. package/ReactAndroid/src/main/java/com/facebook/react/ReactHost.kt +26 -3
  217. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +117 -41
  218. package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +13 -6
  219. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageTurboModuleManagerDelegate.java +2 -17
  220. package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +6 -2
  221. package/ReactAndroid/src/main/java/com/facebook/react/animated/AdditionAnimatedNode.kt +52 -0
  222. package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimatedNode.kt +74 -0
  223. package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimatedNodeValueListener.kt +13 -0
  224. package/ReactAndroid/src/main/java/com/facebook/react/animated/{AnimatedNodeWithUpdateableConfig.java → AnimatedNodeWithUpdateableConfig.kt} +4 -4
  225. package/ReactAndroid/src/main/java/com/facebook/react/animated/{AnimationDriver.java → AnimationDriver.kt} +13 -14
  226. package/ReactAndroid/src/main/java/com/facebook/react/animated/ColorAnimatedNode.kt +111 -0
  227. package/ReactAndroid/src/main/java/com/facebook/react/animated/DecayAnimation.kt +73 -0
  228. package/ReactAndroid/src/main/java/com/facebook/react/animated/DiffClampAnimatedNode.kt +51 -0
  229. package/ReactAndroid/src/main/java/com/facebook/react/animated/DivisionAnimatedNode.kt +55 -0
  230. package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.kt +100 -0
  231. package/ReactAndroid/src/main/java/com/facebook/react/animated/FrameBasedAnimationDriver.kt +104 -0
  232. package/ReactAndroid/src/main/java/com/facebook/react/animated/InterpolationAnimatedNode.kt +278 -0
  233. package/ReactAndroid/src/main/java/com/facebook/react/animated/ModulusAnimatedNode.kt +3 -3
  234. package/ReactAndroid/src/main/java/com/facebook/react/animated/MultiplicationAnimatedNode.kt +50 -0
  235. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.java +40 -1
  236. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java +81 -52
  237. package/ReactAndroid/src/main/java/com/facebook/react/animated/ObjectAnimatedNode.kt +120 -0
  238. package/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.kt +120 -0
  239. package/ReactAndroid/src/main/java/com/facebook/react/animated/SpringAnimation.kt +187 -0
  240. package/ReactAndroid/src/main/java/com/facebook/react/animated/StyleAnimatedNode.kt +61 -0
  241. package/ReactAndroid/src/main/java/com/facebook/react/animated/SubtractionAnimatedNode.kt +52 -0
  242. package/ReactAndroid/src/main/java/com/facebook/react/animated/TrackingAnimatedNode.kt +36 -0
  243. package/ReactAndroid/src/main/java/com/facebook/react/animated/TransformAnimatedNode.kt +87 -0
  244. package/ReactAndroid/src/main/java/com/facebook/react/animated/ValueAnimatedNode.kt +50 -0
  245. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ActivityEventListener.java +4 -0
  246. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BaseJavaModule.java +8 -0
  247. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ColorPropConverter.java +5 -0
  248. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromMap.java +2 -1
  249. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromObject.java +4 -1
  250. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicNative.kt +51 -0
  251. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSBundleLoaderDelegate.kt +52 -0
  252. package/ReactAndroid/src/main/java/com/facebook/react/bridge/{JavaJSExecutor.java → JavaJSExecutor.kt} +13 -18
  253. package/ReactAndroid/src/main/java/com/facebook/react/bridge/{JavaScriptExecutorFactory.java → JavaScriptExecutorFactory.kt} +5 -5
  254. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptModule.kt +24 -0
  255. package/ReactAndroid/src/main/java/com/facebook/react/{animated/AnimatedNodeValueListener.java → bridge/PerformanceCounter.kt} +4 -4
  256. package/ReactAndroid/src/main/java/com/facebook/react/bridge/{Promise.java → Promise.kt} +19 -29
  257. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +13 -0
  258. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactInstanceManagerInspectorTarget.java +10 -0
  259. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMarkerConstants.java +2 -0
  260. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNoCrashSoftException.java +3 -1
  261. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManager.kt +178 -0
  262. package/ReactAndroid/src/main/java/com/facebook/react/bridge/interop/InteropModuleRegistry.java +2 -1
  263. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThread.java +2 -0
  264. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThreadImpl.java +28 -47
  265. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/ReactQueueConfigurationImpl.java +5 -19
  266. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/ReactQueueConfigurationSpec.java +4 -6
  267. package/ReactAndroid/src/main/java/com/facebook/react/common/ClearableSynchronizedPool.kt +51 -0
  268. package/ReactAndroid/src/main/java/com/facebook/react/common/DebugServerException.kt +107 -0
  269. package/ReactAndroid/src/main/java/com/facebook/react/common/JavascriptException.kt +2 -10
  270. package/ReactAndroid/src/main/java/com/facebook/react/common/MapBuilder.java +6 -1
  271. package/ReactAndroid/src/main/java/com/facebook/react/common/ShakeDetector.kt +124 -0
  272. package/ReactAndroid/src/main/java/com/facebook/react/common/assets/ReactFontManager.kt +197 -0
  273. package/ReactAndroid/src/main/java/com/facebook/react/common/build/{ReactBuildConfig.java → ReactBuildConfig.kt} +9 -6
  274. package/ReactAndroid/src/main/java/com/facebook/react/common/futures/SimpleSettableFuture.kt +111 -0
  275. package/ReactAndroid/src/main/java/com/facebook/react/common/network/OkHttpCallUtil.kt +38 -0
  276. package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java +16 -62
  277. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultComponentsRegistry.kt +5 -20
  278. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultNewArchitectureEntryPoint.kt +7 -55
  279. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHost.kt +16 -16
  280. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHostDelegate.kt +1 -1
  281. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactNativeHost.kt +1 -0
  282. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.java +0 -73
  283. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/CxxInspectorPackagerConnection.java +30 -13
  284. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevLoadingViewImplementation.kt +120 -0
  285. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevInternalSettings.kt +3 -7
  286. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.java +10 -1
  287. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +12 -5
  288. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialog.kt +29 -1
  289. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialogSurfaceDelegate.kt +2 -3
  290. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxModule.kt +10 -12
  291. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PausedInDebuggerOverlayDialogManager.java +19 -5
  292. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PerftestDevSupportManager.kt +38 -0
  293. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxDialogSurfaceDelegate.java +31 -0
  294. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ReleaseDevSupportManager.kt +168 -0
  295. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/InspectorNetworkHelper.java +94 -0
  296. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/InspectorNetworkRequestListener.java +34 -0
  297. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.kt +4 -1
  298. package/ReactAndroid/src/main/java/com/facebook/react/fabric/Binding.kt +2 -0
  299. package/ReactAndroid/src/main/java/com/facebook/react/fabric/BindingImpl.kt +2 -0
  300. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricComponents.kt +45 -0
  301. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +75 -37
  302. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventBeatManager.kt +43 -0
  303. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.kt +64 -0
  304. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/LayoutMetricsConversions.kt +3 -3
  305. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.java +23 -25
  306. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +110 -360
  307. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.java +16 -22
  308. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/MountItemFactory.kt +1 -4
  309. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.java +1 -5
  310. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEvent.kt +40 -0
  311. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEventMountItem.kt +40 -0
  312. package/ReactAndroid/src/main/java/com/facebook/react/internal/SystraceSection.kt +23 -0
  313. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +157 -13
  314. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +266 -26
  315. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +54 -6
  316. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +55 -7
  317. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +294 -30
  318. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +54 -6
  319. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeNewArchitectureFeatureFlagsDefaults.kt +43 -0
  320. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleInteropUtils.java +2 -5
  321. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManager.java +19 -57
  322. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManagerDelegate.java +2 -15
  323. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.kt +14 -14
  324. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/FileReaderModule.java +6 -0
  325. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ChoreographerCompat.kt +16 -0
  326. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/{DefaultHardwareBackBtnHandler.java → DefaultHardwareBackBtnHandler.kt} +4 -6
  327. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/DeviceEventManagerModule.kt +65 -0
  328. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ExceptionsManagerModule.kt +79 -0
  329. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/HeadlessJsTaskSupportModule.kt +51 -0
  330. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JSTimers.kt +21 -0
  331. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/{JavaScriptTimerExecutor.java → JavaScriptTimerExecutor.kt} +7 -8
  332. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.kt +363 -0
  333. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/PermissionAwareActivity.kt +30 -0
  334. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/{PermissionListener.java → PermissionListener.kt} +9 -9
  335. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/RCTNativeAppEventEmitter.kt +17 -0
  336. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactChoreographer.kt +144 -0
  337. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/TimingModule.kt +83 -0
  338. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DidJSUpdateUiDuringFrameDetector.kt +36 -48
  339. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/interfaces/DeveloperSettings.kt +2 -0
  340. package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/AlertFragment.java +58 -5
  341. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/FrescoModule.kt +163 -0
  342. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactNetworkImageRequest.kt +31 -0
  343. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactOkHttpNetworkFetcher.kt +56 -0
  344. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/SystraceRequestListener.kt +152 -0
  345. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nManagerModule.kt +2 -6
  346. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nUtil.kt +4 -3
  347. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/OkHttpCompat.java +35 -0
  348. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/RequestBodyUtil.java +1 -7
  349. package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/PermissionsModule.kt +189 -0
  350. package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/StatusBarModule.kt +4 -28
  351. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoHelpers.java +48 -0
  352. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +2 -2
  353. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/PackagerConnectionSettings.kt +55 -0
  354. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessDevSupportManager.java +9 -14
  355. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessReactContext.java +2 -2
  356. package/ReactAndroid/src/main/java/com/facebook/react/runtime/CoreReactPackage.java +2 -2
  357. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostDelegate.kt +0 -18
  358. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.java +243 -210
  359. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.java +47 -45
  360. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceView.kt +2 -1
  361. package/ReactAndroid/src/main/java/com/facebook/react/runtime/hermes/HermesInstance.kt +11 -4
  362. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/Executors.kt +44 -0
  363. package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.java +5 -2
  364. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BackgroundStyleApplicator.kt +263 -0
  365. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +64 -32
  366. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerDelegate.kt +109 -0
  367. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerInterface.kt +85 -0
  368. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BlendModeHelper.kt +44 -0
  369. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/FilterHelper.kt +89 -17
  370. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/IViewGroupManager.kt +35 -0
  371. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{IViewManagerWithChildren.java → IViewManagerWithChildren.kt} +3 -3
  372. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSTouchDispatcher.java +58 -11
  373. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutDirectionUtil.kt +29 -0
  374. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.java +2 -2
  375. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LengthPercentage.kt +8 -7
  376. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +23 -7
  377. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyOptimizer.java +4 -2
  378. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/PixelUtil.kt +21 -0
  379. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNodeImpl.java +2 -1
  380. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.java +1 -1
  381. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +14 -0
  382. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +16 -0
  383. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstantsHelper.java +9 -7
  384. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +33 -5
  385. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManager.java +20 -10
  386. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerDelegate.kt +24 -0
  387. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewProps.kt +3 -0
  388. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BoxShadowBorderRadius.kt +29 -0
  389. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/CSSBackgroundDrawable.java +160 -87
  390. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/CompositeBackgroundDrawable.kt +85 -0
  391. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/InsetBoxShadowDrawable.kt +191 -0
  392. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/OutsetBoxShadowDrawable.kt +159 -0
  393. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/BlackHoleEventDispatcher.kt +57 -0
  394. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ContentSizeChangeEvent.kt +37 -0
  395. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherImpl.java +2 -2
  396. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.java +55 -29
  397. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/SimpleSpringInterpolator.kt +48 -0
  398. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BackgroundImageLayer.kt +28 -0
  399. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderInsets.kt +105 -0
  400. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderRadiusStyle.kt +27 -12
  401. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderStyle.kt +26 -0
  402. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BoxShadow.kt +50 -0
  403. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/ComputedBorderRadius.kt +30 -6
  404. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/CornerRadii.kt +19 -0
  405. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/Gradient.kt +76 -0
  406. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/LogicalEdge.kt +79 -0
  407. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/Overflow.kt +26 -0
  408. package/ReactAndroid/src/main/java/com/facebook/react/views/debuggingoverlay/DebuggingOverlayManager.kt +3 -13
  409. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayout.kt +125 -0
  410. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayoutManager.kt +259 -0
  411. package/ReactAndroid/src/main/java/com/facebook/react/views/image/MultiPostprocessor.kt +61 -0
  412. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageDownloadListener.kt +1 -1
  413. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageManager.kt +307 -0
  414. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.kt +725 -0
  415. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ImageSource.kt +7 -5
  416. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ResourceDrawableIdHelper.kt +35 -0
  417. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ModalHostHelper.kt +1 -0
  418. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ModalHostShadowNode.kt +1 -4
  419. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.kt +13 -30
  420. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt +61 -90
  421. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarContainerView.kt +70 -0
  422. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ReactProgressBarViewManager.kt +165 -0
  423. package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaView.kt +65 -0
  424. package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaViewManager.kt +51 -0
  425. package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaViewShadowNode.kt +12 -0
  426. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/OnScrollDispatchHelper.kt +50 -0
  427. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +80 -11
  428. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.java +64 -20
  429. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +79 -11
  430. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.kt +22 -33
  431. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.java +65 -19
  432. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VelocityHelper.kt +51 -0
  433. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/ReactSwipeRefreshLayout.java +11 -0
  434. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitch.kt +110 -0
  435. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactRawTextManager.java +8 -0
  436. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.java +73 -20
  437. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +143 -77
  438. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java +36 -32
  439. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java +11 -0
  440. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +79 -104
  441. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactOpacitySpan.kt +33 -0
  442. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +89 -9
  443. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java +67 -38
  444. package/ReactAndroid/src/main/java/com/facebook/react/views/view/CanvasUtil.kt +95 -0
  445. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundDrawable.java +2 -0
  446. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundManager.java +6 -4
  447. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +257 -96
  448. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.java +86 -25
  449. package/ReactAndroid/src/main/java/com/facebook/react/views/view/WindowUtil.kt +63 -0
  450. package/ReactAndroid/src/main/java/com/facebook/systrace/Systrace.kt +23 -0
  451. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNative.java +1 -0
  452. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNode.java +2 -0
  453. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.java +4 -0
  454. package/ReactAndroid/src/main/jni/CMakeLists.txt +182 -3
  455. package/ReactAndroid/src/main/jni/first-party/fbgloginit/CMakeLists.txt +1 -1
  456. package/ReactAndroid/src/main/jni/first-party/jni-lib-merge/CMakeLists.txt +24 -0
  457. package/ReactAndroid/src/main/jni/first-party/jni-lib-merge/SoMerging-utils.cmake +23 -0
  458. package/ReactAndroid/src/main/jni/first-party/jni-lib-merge/jni_lib_merge.c +157 -0
  459. package/ReactAndroid/src/main/jni/first-party/jni-lib-merge/jni_lib_merge.h +108 -0
  460. package/ReactAndroid/src/main/jni/first-party/yogajni/CMakeLists.txt +5 -1
  461. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNIVanilla.cpp +12 -1
  462. package/ReactAndroid/src/main/jni/react/devsupport/CMakeLists.txt +5 -1
  463. package/ReactAndroid/src/main/jni/react/devsupport/JCxxInspectorPackagerConnectionWebSocketDelegate.cpp +11 -2
  464. package/ReactAndroid/src/main/jni/react/devsupport/JCxxInspectorPackagerConnectionWebSocketDelegate.h +1 -3
  465. package/ReactAndroid/src/main/jni/react/fabric/Binding.cpp +35 -19
  466. package/ReactAndroid/src/main/jni/react/fabric/Binding.h +3 -0
  467. package/ReactAndroid/src/main/jni/react/fabric/CMakeLists.txt +9 -1
  468. package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.cpp +6 -43
  469. package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.h +4 -27
  470. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.cpp +76 -40
  471. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.h +25 -1
  472. package/ReactAndroid/src/main/jni/react/fabric/MountItem.cpp +0 -7
  473. package/ReactAndroid/src/main/jni/react/fabric/MountItem.h +1 -7
  474. package/ReactAndroid/src/main/jni/react/fabric/OnLoad.cpp +0 -2
  475. package/ReactAndroid/src/main/jni/react/fabric/StateWrapperImpl.cpp +49 -13
  476. package/ReactAndroid/src/main/jni/react/fabric/StateWrapperImpl.h +3 -2
  477. package/ReactAndroid/src/main/jni/react/featureflags/CMakeLists.txt +5 -1
  478. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +369 -33
  479. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +79 -7
  480. package/ReactAndroid/src/main/jni/react/hermes/instrumentation/CMakeLists.txt +7 -6
  481. package/ReactAndroid/src/main/jni/react/hermes/reactexecutor/CMakeLists.txt +5 -6
  482. package/ReactAndroid/src/main/jni/react/hermes/reactexecutor/OnLoad.cpp +0 -1
  483. package/ReactAndroid/src/main/jni/react/hermes/tooling/CMakeLists.txt +41 -0
  484. package/ReactAndroid/src/main/jni/react/jni/CMakeLists.txt +3 -1
  485. package/ReactAndroid/src/main/jni/react/jni/InspectorNetworkRequestListener.cpp +76 -0
  486. package/ReactAndroid/src/main/jni/react/jni/InspectorNetworkRequestListener.h +44 -0
  487. package/ReactAndroid/src/main/jni/react/jni/JDynamicNative.cpp +46 -0
  488. package/ReactAndroid/src/main/jni/react/jni/JDynamicNative.h +56 -0
  489. package/ReactAndroid/src/main/jni/react/jni/JReactMarker.cpp +1 -0
  490. package/ReactAndroid/src/main/jni/react/jni/JWeakRefUtils.h +23 -0
  491. package/ReactAndroid/src/main/jni/react/jni/MethodInvoker.cpp +3 -1
  492. package/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp +4 -0
  493. package/ReactAndroid/src/main/jni/react/jni/ReactInstanceManagerInspectorTarget.cpp +71 -18
  494. package/ReactAndroid/src/main/jni/react/jni/ReactInstanceManagerInspectorTarget.h +17 -6
  495. package/ReactAndroid/src/main/jni/react/jscexecutor/CMakeLists.txt +6 -7
  496. package/ReactAndroid/src/main/jni/react/jsctooling/CMakeLists.txt +34 -0
  497. package/ReactAndroid/src/main/jni/react/mapbuffer/CMakeLists.txt +5 -1
  498. package/ReactAndroid/src/main/jni/react/newarchdefaults/CMakeLists.txt +10 -2
  499. package/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultComponentsRegistry.cpp +16 -33
  500. package/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultComponentsRegistry.h +2 -11
  501. package/ReactAndroid/src/main/jni/react/reactnativeblob/CMakeLists.txt +4 -1
  502. package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/CMakeLists.txt +8 -4
  503. package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/JHermesInstance.cpp +4 -3
  504. package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/JHermesInstance.h +8 -3
  505. package/ReactAndroid/src/main/jni/react/runtime/jni/CMakeLists.txt +4 -1
  506. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.cpp +64 -22
  507. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.h +35 -6
  508. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactInstance.cpp +1 -0
  509. package/ReactAndroid/src/main/jni/react/runtime/jsc/jni/CMakeLists.txt +7 -5
  510. package/ReactAndroid/src/main/jni/react/turbomodule/CMakeLists.txt +7 -2
  511. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.cpp +156 -166
  512. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.h +23 -17
  513. package/ReactAndroid/src/main/jni/react/uimanager/CMakeLists.txt +17 -5
  514. package/ReactAndroid/src/main/jni/third-party/folly/CMakeLists.txt +1 -1
  515. package/ReactAndroid/src/main/jni/third-party/glog/CMakeLists.txt +1 -1
  516. package/ReactAndroid/src/main/res/devsupport/drawable/paused_in_debugger_background.xml +1 -1
  517. package/ReactAndroid/src/main/res/devsupport/drawable/paused_in_debugger_dialog_background.xml +7 -0
  518. package/ReactAndroid/src/main/res/devsupport/drawable-hdpi/ic_resume.png +0 -0
  519. package/ReactAndroid/src/main/res/devsupport/drawable-mdpi/ic_resume.png +0 -0
  520. package/ReactAndroid/src/main/res/devsupport/drawable-xhdpi/ic_resume.png +0 -0
  521. package/ReactAndroid/src/main/res/devsupport/drawable-xxhdpi/ic_resume.png +0 -0
  522. package/ReactAndroid/src/main/res/devsupport/drawable-xxxhdpi/ic_resume.png +0 -0
  523. package/ReactAndroid/src/main/res/devsupport/layout/paused_in_debugger_view.xml +19 -18
  524. package/ReactAndroid/src/main/res/devsupport/values/strings.xml +2 -2
  525. package/ReactAndroid/src/main/res/devsupport/values/styles.xml +4 -0
  526. package/ReactAndroid/src/main/res/devsupport/xml/rn_dev_preferences.xml +0 -6
  527. package/ReactAndroid/src/main/res/views/alert/layout/alert_title_layout.xml +22 -0
  528. package/ReactAndroid/src/main/res/views/uimanager/values/ids.xml +3 -0
  529. package/ReactCommon/cxxreact/CMakeLists.txt +2 -1
  530. package/ReactCommon/cxxreact/CxxModule.h +0 -2
  531. package/ReactCommon/cxxreact/JSExecutor.cpp +2 -7
  532. package/ReactCommon/cxxreact/React-cxxreact.podspec +1 -0
  533. package/ReactCommon/cxxreact/ReactMarker.cpp +10 -2
  534. package/ReactCommon/cxxreact/ReactMarker.h +5 -1
  535. package/ReactCommon/cxxreact/ReactNativeVersion.h +2 -2
  536. package/ReactCommon/cxxreact/SystraceSection.h +15 -10
  537. package/ReactCommon/cxxreact/tests/jsarg_helpers.cpp +1 -1
  538. package/ReactCommon/hermes/executor/CMakeLists.txt +3 -3
  539. package/ReactCommon/hermes/inspector-modern/CMakeLists.txt +2 -5
  540. package/ReactCommon/jsc/CMakeLists.txt +5 -3
  541. package/ReactCommon/jserrorhandler/CMakeLists.txt +1 -1
  542. package/ReactCommon/jserrorhandler/JsErrorHandler.cpp +40 -1
  543. package/ReactCommon/jserrorhandler/JsErrorHandler.h +12 -1
  544. package/ReactCommon/jserrorhandler/React-jserrorhandler.podspec +6 -0
  545. package/ReactCommon/jsi/jsi/decorator.h +57 -4
  546. package/ReactCommon/jsi/jsi/instrumentation.h +15 -3
  547. package/ReactCommon/jsi/jsi/jsi.cpp +6 -2
  548. package/ReactCommon/jsiexecutor/CMakeLists.txt +1 -1
  549. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp +10 -4
  550. package/ReactCommon/jsiexecutor/jsireact/JSINativeModules.cpp +5 -1
  551. package/ReactCommon/jsinspector-modern/Base64.h +98 -0
  552. package/ReactCommon/jsinspector-modern/CMakeLists.txt +6 -1
  553. package/ReactCommon/jsinspector-modern/CdpJson.h +1 -1
  554. package/ReactCommon/jsinspector-modern/ExecutionContext.cpp +3 -4
  555. package/ReactCommon/jsinspector-modern/FallbackRuntimeAgentDelegate.h +5 -5
  556. package/ReactCommon/jsinspector-modern/HostAgent.cpp +45 -22
  557. package/ReactCommon/jsinspector-modern/HostAgent.h +7 -1
  558. package/ReactCommon/jsinspector-modern/HostTarget.cpp +36 -7
  559. package/ReactCommon/jsinspector-modern/HostTarget.h +25 -5
  560. package/ReactCommon/jsinspector-modern/InspectorFlags.cpp +14 -3
  561. package/ReactCommon/jsinspector-modern/InspectorFlags.h +1 -1
  562. package/ReactCommon/jsinspector-modern/InspectorInterfaces.cpp +5 -1
  563. package/ReactCommon/jsinspector-modern/InspectorInterfaces.h +18 -1
  564. package/ReactCommon/jsinspector-modern/InspectorPackagerConnection.h +4 -5
  565. package/ReactCommon/jsinspector-modern/NetworkIOAgent.cpp +440 -0
  566. package/ReactCommon/jsinspector-modern/NetworkIOAgent.h +266 -0
  567. package/ReactCommon/jsinspector-modern/React-jsinspector.podspec +1 -0
  568. package/ReactCommon/jsinspector-modern/RuntimeAgent.cpp +22 -0
  569. package/ReactCommon/jsinspector-modern/RuntimeTarget.cpp +46 -0
  570. package/ReactCommon/jsinspector-modern/RuntimeTarget.h +31 -0
  571. package/ReactCommon/jsinspector-modern/RuntimeTargetConsole.cpp +2 -2
  572. package/ReactCommon/jsinspector-modern/RuntimeTargetDebuggerSessionObserver.cpp +112 -0
  573. package/ReactCommon/jsinspector-modern/Utf8.h +56 -0
  574. package/ReactCommon/jsinspector-modern/WebSocketInterfaces.h +6 -0
  575. package/ReactCommon/jsinspector-modern/tests/ConsoleApiTest.cpp +54 -0
  576. package/ReactCommon/jsinspector-modern/tests/HostTargetTest.cpp +801 -0
  577. package/ReactCommon/jsinspector-modern/tests/InspectorMocks.h +6 -0
  578. package/ReactCommon/jsinspector-modern/tests/InspectorPackagerConnectionTest.cpp +29 -12
  579. package/ReactCommon/jsinspector-modern/tests/JsiIntegrationTest.cpp +38 -0
  580. package/ReactCommon/jsinspector-modern/tests/ReactInstanceIntegrationTest.cpp +2 -1
  581. package/ReactCommon/jsinspector-modern/tests/RuntimeTargetDebuggerSessionObserverTest.cpp +214 -0
  582. package/ReactCommon/jsinspector-modern/tests/Utf8.cpp +58 -0
  583. package/ReactCommon/logger/CMakeLists.txt +1 -1
  584. package/ReactCommon/react/bridging/Bool.h +1 -1
  585. package/ReactCommon/react/bridging/CMakeLists.txt +1 -1
  586. package/ReactCommon/react/config/CMakeLists.txt +1 -1
  587. package/ReactCommon/react/config/ReactNativeConfig.cpp +0 -3
  588. package/ReactCommon/react/debug/CMakeLists.txt +1 -1
  589. package/ReactCommon/react/featureflags/CMakeLists.txt +1 -1
  590. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +107 -11
  591. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +132 -12
  592. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +479 -47
  593. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +58 -10
  594. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +106 -10
  595. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +29 -5
  596. package/ReactCommon/react/nativemodule/core/CMakeLists.txt +2 -1
  597. package/ReactCommon/react/nativemodule/core/ReactCommon/CxxTurboModuleUtils.h +6 -38
  598. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +68 -66
  599. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.h +2 -2
  600. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.h +21 -2
  601. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +13 -0
  602. package/ReactCommon/react/nativemodule/defaults/CMakeLists.txt +1 -1
  603. package/ReactCommon/react/nativemodule/dom/CMakeLists.txt +5 -1
  604. package/ReactCommon/react/nativemodule/featureflags/CMakeLists.txt +1 -1
  605. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +132 -12
  606. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +54 -6
  607. package/ReactCommon/react/nativemodule/idlecallbacks/CMakeLists.txt +1 -1
  608. package/ReactCommon/react/nativemodule/microtasks/CMakeLists.txt +1 -1
  609. package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.cpp +0 -11
  610. package/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec +2 -0
  611. package/ReactCommon/react/nativemodule/samples/platform/android/CMakeLists.txt +2 -2
  612. package/ReactCommon/react/nativemodule/samples/platform/android/NativeSampleTurboModuleSpec.java +16 -0
  613. package/ReactCommon/react/nativemodule/samples/platform/android/ReactCommon/SampleTurboModuleSpec.cpp +9 -0
  614. package/ReactCommon/react/nativemodule/samples/platform/android/SampleTurboModule.java +20 -1
  615. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTNativeSampleTurboModuleSpec.h +11 -0
  616. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTNativeSampleTurboModuleSpec.mm +34 -0
  617. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboModule.h +1 -1
  618. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboModule.mm +4 -0
  619. package/ReactCommon/react/nativemodule/webperformance/NativePerformance.cpp +28 -16
  620. package/ReactCommon/react/nativemodule/webperformance/NativePerformanceObserver.cpp +8 -1
  621. package/ReactCommon/react/performance/timeline/CMakeLists.txt +2 -1
  622. package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.cpp +12 -2
  623. package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.h +8 -4
  624. package/ReactCommon/react/performance/timeline/React-performancetimeline.podspec +1 -0
  625. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +0 -18
  626. package/ReactCommon/react/renderer/attributedstring/CMakeLists.txt +1 -1
  627. package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +4 -0
  628. package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +2 -0
  629. package/ReactCommon/react/renderer/attributedstring/conversions.h +55 -2
  630. package/ReactCommon/react/renderer/attributedstring/primitives.h +9 -0
  631. package/ReactCommon/react/renderer/componentregistry/CMakeLists.txt +1 -1
  632. package/ReactCommon/react/renderer/componentregistry/native/CMakeLists.txt +1 -1
  633. package/ReactCommon/react/renderer/components/image/CMakeLists.txt +1 -1
  634. package/ReactCommon/react/renderer/components/image/conversions.h +9 -0
  635. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/CMakeLists.txt +1 -1
  636. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.mm +2 -3
  637. package/ReactCommon/react/renderer/components/modal/ModalHostViewState.h +10 -1
  638. package/{ReactAndroid/src/main/java/com/facebook/react/bridge/PerformanceCounter.java → ReactCommon/react/renderer/components/modal/ModalHostViewUtils.h} +5 -6
  639. package/ReactCommon/react/renderer/components/modal/ModalHostViewUtils.mm +20 -0
  640. package/ReactCommon/react/renderer/components/progressbar/CMakeLists.txt +1 -1
  641. package/ReactCommon/react/renderer/components/root/CMakeLists.txt +1 -1
  642. package/ReactCommon/react/renderer/components/safeareaview/CMakeLists.txt +46 -0
  643. package/ReactCommon/react/renderer/components/safeareaview/SafeAreaViewState.cpp +10 -1
  644. package/ReactCommon/react/renderer/components/safeareaview/SafeAreaViewState.h +20 -0
  645. package/ReactCommon/react/renderer/components/scrollview/ScrollEvent.cpp +99 -0
  646. package/ReactCommon/react/renderer/components/scrollview/ScrollEvent.h +44 -0
  647. package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.cpp +16 -72
  648. package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.h +12 -18
  649. package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.cpp +9 -0
  650. package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.h +1 -0
  651. package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +8 -0
  652. package/ReactCommon/react/renderer/components/text/CMakeLists.txt +1 -2
  653. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp +35 -17
  654. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.h +3 -0
  655. package/ReactCommon/react/renderer/components/textinput/CMakeLists.txt +1 -1
  656. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.cpp +27 -0
  657. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.h +3 -0
  658. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputEventEmitter.cpp +1 -1
  659. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputShadowNode.cpp +29 -0
  660. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputShadowNode.h +3 -0
  661. package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +20 -0
  662. package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +2 -0
  663. package/ReactCommon/react/renderer/components/view/BaseViewProps.cpp +117 -77
  664. package/ReactCommon/react/renderer/components/view/BaseViewProps.h +18 -1
  665. package/ReactCommon/react/renderer/components/view/CMakeLists.txt +1 -1
  666. package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +4 -1
  667. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +21 -0
  668. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.h +4 -0
  669. package/ReactCommon/react/renderer/components/view/conversions.h +307 -23
  670. package/ReactCommon/react/renderer/components/view/primitives.h +8 -1
  671. package/ReactCommon/react/renderer/consistency/CMakeLists.txt +1 -1
  672. package/ReactCommon/react/renderer/core/CMakeLists.txt +1 -1
  673. package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +21 -12
  674. package/ReactCommon/react/renderer/core/EventDispatcher.cpp +5 -3
  675. package/ReactCommon/react/renderer/core/EventDispatcher.h +1 -1
  676. package/ReactCommon/react/renderer/core/EventEmitter.cpp +1 -1
  677. package/ReactCommon/react/renderer/core/EventEmitter.h +2 -0
  678. package/ReactCommon/react/renderer/core/EventListener.cpp +6 -3
  679. package/ReactCommon/react/renderer/core/EventListener.h +1 -1
  680. package/ReactCommon/react/renderer/core/EventLogger.h +4 -1
  681. package/ReactCommon/react/renderer/core/EventPayloadType.h +1 -1
  682. package/ReactCommon/react/renderer/core/EventQueueProcessor.cpp +35 -11
  683. package/ReactCommon/react/renderer/core/EventTarget.cpp +8 -1
  684. package/ReactCommon/react/renderer/core/EventTarget.h +6 -1
  685. package/ReactCommon/react/renderer/core/LayoutableShadowNode.cpp +26 -6
  686. package/ReactCommon/react/renderer/core/LayoutableShadowNode.h +2 -3
  687. package/ReactCommon/react/renderer/core/Props.h +5 -0
  688. package/ReactCommon/react/renderer/core/PropsMacros.h +15 -11
  689. package/ReactCommon/react/renderer/core/RawProps.cpp +1 -6
  690. package/ReactCommon/react/renderer/core/RawProps.h +0 -8
  691. package/ReactCommon/react/renderer/core/RawPropsKeyMap.cpp +1 -1
  692. package/ReactCommon/react/renderer/core/RawPropsParser.cpp +19 -73
  693. package/ReactCommon/react/renderer/core/RawPropsParser.h +0 -9
  694. package/ReactCommon/react/renderer/core/RawValue.h +6 -7
  695. package/ReactCommon/react/renderer/core/ShadowNode.cpp +5 -4
  696. package/ReactCommon/react/renderer/core/ShadowNode.h +5 -5
  697. package/ReactCommon/react/renderer/core/ShadowNodeTraits.h +3 -0
  698. package/ReactCommon/react/renderer/core/tests/EventQueueProcessorTest.cpp +3 -1
  699. package/ReactCommon/react/renderer/core/tests/EventTargetTests.cpp +3 -1
  700. package/ReactCommon/react/renderer/core/tests/FindNodeAtPointTest.cpp +49 -0
  701. package/ReactCommon/react/renderer/core/tests/ShadowNodeTest.cpp +1 -1
  702. package/ReactCommon/react/renderer/debug/CMakeLists.txt +2 -2
  703. package/ReactCommon/react/renderer/dom/CMakeLists.txt +1 -1
  704. package/ReactCommon/react/renderer/element/CMakeLists.txt +1 -1
  705. package/ReactCommon/react/renderer/graphics/BackgroundImage.h +46 -0
  706. package/ReactCommon/react/renderer/graphics/BlendMode.h +72 -0
  707. package/ReactCommon/react/renderer/graphics/BoxShadow.h +25 -0
  708. package/ReactCommon/react/renderer/graphics/CMakeLists.txt +1 -1
  709. package/ReactCommon/react/renderer/graphics/Color.cpp +27 -0
  710. package/ReactCommon/react/renderer/graphics/Color.h +6 -0
  711. package/ReactCommon/react/renderer/graphics/Filter.h +19 -5
  712. package/ReactCommon/react/renderer/graphics/Isolation.h +31 -0
  713. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +1 -0
  714. package/ReactCommon/react/renderer/graphics/Transform.cpp +3 -2
  715. package/ReactCommon/react/renderer/graphics/Transform.h +11 -0
  716. package/ReactCommon/react/renderer/graphics/ValueUnit.h +3 -2
  717. package/ReactCommon/react/renderer/graphics/platform/android/react/renderer/graphics/HostPlatformColor.h +21 -0
  718. package/ReactCommon/react/renderer/graphics/platform/android/react/renderer/graphics/PlatformColorParser.h +48 -20
  719. package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/HostPlatformColor.h +31 -8
  720. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/HostPlatformColor.h +31 -0
  721. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/HostPlatformColor.mm +9 -0
  722. package/ReactCommon/react/renderer/graphics/tests/ColorTest.cpp +38 -0
  723. package/ReactCommon/react/renderer/imagemanager/CMakeLists.txt +1 -1
  724. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTImagePrimitivesConversions.h +7 -0
  725. package/ReactCommon/react/renderer/imagemanager/primitives.h +1 -0
  726. package/ReactCommon/react/renderer/mapbuffer/CMakeLists.txt +1 -1
  727. package/ReactCommon/react/renderer/mounting/CMakeLists.txt +1 -1
  728. package/ReactCommon/react/renderer/mounting/Differentiator.cpp +15 -52
  729. package/ReactCommon/react/renderer/mounting/MountingCoordinator.cpp +10 -3
  730. package/ReactCommon/react/renderer/mounting/MountingCoordinator.h +22 -1
  731. package/ReactCommon/react/renderer/mounting/ShadowViewMutation.cpp +4 -32
  732. package/ReactCommon/react/renderer/mounting/ShadowViewMutation.h +2 -28
  733. package/ReactCommon/react/renderer/mounting/stubs/StubViewTree.cpp +0 -5
  734. package/ReactCommon/react/renderer/observers/events/CMakeLists.txt +4 -1
  735. package/ReactCommon/react/renderer/observers/events/EventPerformanceLogger.cpp +75 -18
  736. package/ReactCommon/react/renderer/observers/events/EventPerformanceLogger.h +19 -2
  737. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserver.cpp +14 -10
  738. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserver.h +6 -3
  739. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverManager.cpp +24 -8
  740. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverManager.h +6 -3
  741. package/ReactCommon/react/renderer/runtimescheduler/CMakeLists.txt +2 -0
  742. package/ReactCommon/react/renderer/runtimescheduler/React-runtimescheduler.podspec +2 -0
  743. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +30 -7
  744. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h +25 -3
  745. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerEventTimingDelegate.h +25 -0
  746. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Legacy.cpp +19 -6
  747. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Legacy.h +12 -2
  748. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.cpp +116 -53
  749. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.h +36 -12
  750. package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +149 -2
  751. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +29 -22
  752. package/ReactCommon/react/renderer/scheduler/Scheduler.h +1 -7
  753. package/ReactCommon/react/renderer/scheduler/SchedulerToolbox.h +0 -10
  754. package/ReactCommon/react/renderer/telemetry/CMakeLists.txt +1 -1
  755. package/ReactCommon/react/renderer/textlayoutmanager/CMakeLists.txt +1 -2
  756. package/ReactCommon/react/renderer/textlayoutmanager/TextMeasureCache.h +44 -0
  757. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +70 -40
  758. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.h +17 -7
  759. package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/TextLayoutManager.cpp +14 -7
  760. package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/TextLayoutManager.h +16 -7
  761. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.h +2 -0
  762. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.mm +6 -2
  763. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTFontUtils.mm +3 -2
  764. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +83 -13
  765. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextPrimitivesConversions.h +18 -0
  766. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.h +17 -7
  767. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.mm +34 -10
  768. package/ReactCommon/react/renderer/uimanager/CMakeLists.txt +1 -1
  769. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +9 -11
  770. package/ReactCommon/react/renderer/uimanager/UIManager.h +0 -6
  771. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +16 -72
  772. package/ReactCommon/react/renderer/uimanager/UIManagerMountHook.h +6 -0
  773. package/ReactCommon/react/renderer/uimanager/consistency/CMakeLists.txt +1 -1
  774. package/ReactCommon/react/renderer/uimanager/primitives.h +8 -3
  775. package/ReactCommon/react/renderer/uimanager/tests/PointerEventsProcessorTest.cpp +1 -4
  776. package/ReactCommon/react/runtime/BufferedRuntimeExecutor.h +1 -1
  777. package/ReactCommon/react/runtime/CMakeLists.txt +2 -6
  778. package/ReactCommon/react/runtime/JSRuntimeFactory.h +8 -0
  779. package/ReactCommon/react/runtime/React-RuntimeCore.podspec +1 -0
  780. package/ReactCommon/react/runtime/ReactInstance.cpp +117 -50
  781. package/ReactCommon/react/runtime/TimerManager.cpp +156 -75
  782. package/ReactCommon/react/runtime/TimerManager.h +16 -4
  783. package/ReactCommon/react/runtime/hermes/CMakeLists.txt +3 -5
  784. package/ReactCommon/react/runtime/hermes/HermesInstance.cpp +24 -15
  785. package/ReactCommon/react/runtime/hermes/HermesInstance.h +3 -2
  786. package/ReactCommon/react/runtime/nativeviewconfig/CMakeLists.txt +1 -1
  787. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHermesInstance.h +7 -5
  788. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHermesInstance.mm +12 -8
  789. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.mm +22 -52
  790. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.h +1 -3
  791. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.mm +9 -8
  792. package/ReactCommon/react/runtime/tests/cxx/ReactInstanceTest.cpp +22 -16
  793. package/ReactCommon/react/test_utils/ios/Shims/ShimRCTInstance.mm +4 -5
  794. package/ReactCommon/react/timing/CMakeLists.txt +18 -0
  795. package/ReactCommon/react/timing/React-timing.podspec +44 -0
  796. package/ReactCommon/react/timing/primitives.h +31 -0
  797. package/ReactCommon/react/timing/tests/PrimitivesTest.cpp +47 -0
  798. package/ReactCommon/react/utils/CMakeLists.txt +1 -1
  799. package/ReactCommon/react/utils/CoreFeatures.cpp +0 -1
  800. package/ReactCommon/react/utils/CoreFeatures.h +0 -4
  801. package/ReactCommon/reactperflogger/CMakeLists.txt +7 -2
  802. package/ReactCommon/reactperflogger/React-perflogger.podspec +15 -2
  803. package/ReactCommon/reactperflogger/fusebox/FuseboxTracer.cpp +117 -0
  804. package/ReactCommon/reactperflogger/fusebox/FuseboxTracer.h +53 -0
  805. package/ReactCommon/reactperflogger/fusebox/tests/FuseboxTracerTest.cpp +90 -0
  806. package/ReactCommon/reactperflogger/reactperflogger/HermesPerfettoDataSource.cpp +19 -4
  807. package/ReactCommon/reactperflogger/reactperflogger/HermesPerfettoDataSource.h +9 -1
  808. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfetto.cpp +42 -6
  809. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfetto.h +6 -1
  810. package/ReactCommon/runtimeexecutor/CMakeLists.txt +1 -1
  811. package/ReactCommon/yoga/yoga/YGNodeStyle.cpp +5 -0
  812. package/ReactCommon/yoga/yoga/YGNodeStyle.h +3 -1
  813. package/ReactCommon/yoga/yoga/algorithm/AbsoluteLayout.cpp +48 -19
  814. package/ReactCommon/yoga/yoga/algorithm/AbsoluteLayout.h +2 -1
  815. package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.cpp +28 -2
  816. package/ReactCommon/yoga/yoga/config/Config.cpp +24 -5
  817. package/ReactCommon/yoga/yoga/config/Config.h +3 -0
  818. package/ReactCommon/yoga/yoga/node/LayoutResults.cpp +1 -0
  819. package/ReactCommon/yoga/yoga/node/LayoutResults.h +1 -0
  820. package/ReactCommon/yoga/yoga/node/Node.cpp +7 -1
  821. package/ReactCommon/yoga/yoga/style/Style.h +18 -0
  822. package/flow/jest.js +2 -2
  823. package/gradle/libs.versions.toml +4 -6
  824. package/index.js +6 -4
  825. package/jest/mockComponent.js +4 -1
  826. package/jest/mockModal.js +1 -3
  827. package/jest/mockScrollView.js +1 -1
  828. package/jest/renderer.js +2 -2
  829. package/jest/setup.js +16 -13
  830. package/package.json +14 -15
  831. package/react-native.config.js +26 -5
  832. package/scripts/bundle.js +7 -2
  833. package/scripts/cocoapods/autolinking.rb +2 -1
  834. package/scripts/cocoapods/helpers.rb +73 -6
  835. package/scripts/cocoapods/new_architecture.rb +1 -1
  836. package/scripts/cocoapods/utils.rb +18 -7
  837. package/scripts/codegen/generate-artifacts-executor.js +3 -2
  838. package/scripts/hermes/hermes-utils.js +0 -1
  839. package/scripts/ios-configure-glog.sh +2 -0
  840. package/scripts/react-native-xcode.sh +1 -2
  841. package/scripts/react_native_pods.rb +73 -2
  842. package/sdks/.hermesversion +1 -1
  843. package/sdks/hermes-engine/hermes-engine.podspec +9 -3
  844. package/sdks/hermes-engine/utils/build-apple-framework.sh +13 -4
  845. package/sdks/hermes-engine/utils/build-ios-framework.sh +2 -4
  846. package/sdks/hermesc/linux64-bin/hermesc +0 -0
  847. package/sdks/hermesc/osx-bin/hermes +0 -0
  848. package/sdks/hermesc/osx-bin/hermesc +0 -0
  849. package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
  850. package/sdks/ossonly-soloader/src/main/java/com/facebook/soloader/DoNotOptimize.kt +10 -0
  851. package/sdks/ossonly-soloader/src/main/java/com/facebook/soloader/MergedSoMapping.kt +117 -0
  852. package/sdks/ossonly-soloader/src/main/java/com/facebook/soloader/SoLoader.kt +53 -0
  853. package/sdks/ossonly-soloader/src/main/java/com/facebook/soloader/nativeloader/NativeLoader.kt +28 -0
  854. package/sdks/ossonly-soloader/src/main/java/com/facebook/soloader/nativeloader/NativeLoaderDelegate.kt +23 -0
  855. package/sdks/ossonly-soloader/src/main/java/com/facebook/soloader/nativeloader/SystemDelegate.kt +10 -0
  856. package/src/private/animated/NativeAnimatedHelper.js +438 -0
  857. package/src/private/animated/NativeAnimatedValidation.js +64 -0
  858. package/src/private/components/HScrollViewNativeComponents.js +56 -0
  859. package/src/private/components/SafeAreaView_INTERNAL_DO_NOT_USE.js +27 -0
  860. package/src/private/components/VScrollViewNativeComponents.js +48 -0
  861. package/src/private/components/useSyncOnScroll.js +48 -0
  862. package/src/private/featureflags/ReactNativeFeatureFlags.js +166 -16
  863. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +29 -5
  864. package/src/private/fusebox/FuseboxSessionObserver.js +42 -0
  865. package/{Libraries/Core → src/private/renderer/errorhandling}/ErrorHandlers.js +14 -4
  866. package/src/private/setup/setUpDOM.js +28 -0
  867. package/src/private/setup/setUpIntersectionObserver.js +27 -0
  868. package/src/private/setup/setUpMutationObserver.js +26 -0
  869. package/src/private/setup/setUpPerformanceObserver.js +64 -0
  870. package/src/private/specs/modules/NativeAppearance.js +3 -3
  871. package/src/private/specs/modules/NativeLinkingManager.js +1 -1
  872. package/src/private/specs/modules/NativeSampleTurboModule.js +14 -1
  873. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +6 -4
  874. package/{Libraries/IntersectionObserver → src/private/webapis/intersectionobserver}/IntersectionObserver.js +5 -3
  875. package/{Libraries/IntersectionObserver → src/private/webapis/intersectionobserver}/IntersectionObserverEntry.js +3 -3
  876. package/{Libraries/IntersectionObserver → src/private/webapis/intersectionobserver}/IntersectionObserverManager.js +14 -17
  877. package/src/private/{specs/modules → webapis/intersectionobserver/specs}/NativeIntersectionObserver.js +2 -2
  878. package/{Libraries/IntersectionObserver → src/private/webapis/intersectionobserver/specs}/__mocks__/NativeIntersectionObserver.js +4 -4
  879. package/{Libraries/MutationObserver → src/private/webapis/mutationobserver}/MutationObserver.js +5 -3
  880. package/{Libraries/MutationObserver → src/private/webapis/mutationobserver}/MutationObserverManager.js +24 -15
  881. package/{Libraries/MutationObserver → src/private/webapis/mutationobserver}/MutationRecord.js +4 -6
  882. package/src/private/{specs/modules → webapis/mutationobserver/specs}/NativeMutationObserver.js +2 -2
  883. package/{Libraries/MutationObserver → src/private/webapis/mutationobserver/specs}/__mocks__/NativeMutationObserver.js +5 -5
  884. package/src/private/webapis/performance/{EventCounts.js → EventTiming.js} +65 -3
  885. package/src/private/webapis/performance/LongTasks.js +39 -0
  886. package/src/private/webapis/performance/Performance.js +22 -9
  887. package/src/private/webapis/performance/PerformanceEntry.js +36 -18
  888. package/src/private/webapis/performance/PerformanceObserver.js +29 -43
  889. package/src/private/webapis/performance/RawPerformanceEntry.js +24 -1
  890. package/src/private/webapis/performance/UserTiming.js +17 -12
  891. package/src/private/webapis/performance/specs/NativePerformanceObserver.js +1 -1
  892. package/third-party-podspecs/DoubleConversion.podspec +4 -1
  893. package/third-party-podspecs/RCT-Folly.podspec +3 -1
  894. package/third-party-podspecs/boost.podspec +4 -1
  895. package/third-party-podspecs/fmt.podspec +4 -1
  896. package/third-party-podspecs/glog.podspec +4 -1
  897. package/types/experimental.d.ts +1 -1
  898. package/types/public/ReactNativeTVTypes.d.ts +44 -3
  899. package/Libraries/Animated/NativeAnimatedHelper.js +0 -615
  900. package/Libraries/Core/setUpIntersectionObserver.js +0 -16
  901. package/Libraries/Core/setUpMutationObserver.js +0 -16
  902. package/Libraries/Core/setUpPerformanceObserver.js +0 -18
  903. package/Libraries/IntersectionObserver/NativeIntersectionObserver.js +0 -13
  904. package/Libraries/MutationObserver/NativeMutationObserver.js +0 -13
  905. package/Libraries/Utilities/verifyComponentAttributeEquivalence.js +0 -135
  906. package/ReactAndroid/src/main/java/com/facebook/annotationprocessors/common/ProcessorBase.java +0 -24
  907. package/ReactAndroid/src/main/java/com/facebook/react/animated/AdditionAnimatedNode.java +0 -56
  908. package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimatedNode.java +0 -78
  909. package/ReactAndroid/src/main/java/com/facebook/react/animated/ColorAnimatedNode.java +0 -131
  910. package/ReactAndroid/src/main/java/com/facebook/react/animated/DecayAnimation.java +0 -79
  911. package/ReactAndroid/src/main/java/com/facebook/react/animated/DiffClampAnimatedNode.java +0 -66
  912. package/ReactAndroid/src/main/java/com/facebook/react/animated/DivisionAnimatedNode.java +0 -64
  913. package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.java +0 -116
  914. package/ReactAndroid/src/main/java/com/facebook/react/animated/FrameBasedAnimationDriver.java +0 -109
  915. package/ReactAndroid/src/main/java/com/facebook/react/animated/InterpolationAnimatedNode.java +0 -311
  916. package/ReactAndroid/src/main/java/com/facebook/react/animated/MultiplicationAnimatedNode.java +0 -56
  917. package/ReactAndroid/src/main/java/com/facebook/react/animated/ObjectAnimatedNode.java +0 -161
  918. package/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.java +0 -145
  919. package/ReactAndroid/src/main/java/com/facebook/react/animated/SpringAnimation.java +0 -207
  920. package/ReactAndroid/src/main/java/com/facebook/react/animated/StyleAnimatedNode.java +0 -70
  921. package/ReactAndroid/src/main/java/com/facebook/react/animated/SubtractionAnimatedNode.java +0 -60
  922. package/ReactAndroid/src/main/java/com/facebook/react/animated/TrackingAnimatedNode.java +0 -50
  923. package/ReactAndroid/src/main/java/com/facebook/react/animated/TransformAnimatedNode.java +0 -93
  924. package/ReactAndroid/src/main/java/com/facebook/react/animated/ValueAnimatedNode.java +0 -66
  925. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BackgroundExecutor.java +0 -64
  926. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSBundleLoaderDelegate.java +0 -51
  927. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptModule.java +0 -25
  928. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManager.java +0 -162
  929. package/ReactAndroid/src/main/java/com/facebook/react/common/ClearableSynchronizedPool.java +0 -53
  930. package/ReactAndroid/src/main/java/com/facebook/react/common/DebugServerException.java +0 -104
  931. package/ReactAndroid/src/main/java/com/facebook/react/common/HasJavascriptExceptionMetadata.java +0 -17
  932. package/ReactAndroid/src/main/java/com/facebook/react/common/LongArray.java +0 -75
  933. package/ReactAndroid/src/main/java/com/facebook/react/common/ShakeDetector.java +0 -144
  934. package/ReactAndroid/src/main/java/com/facebook/react/common/assets/ReactFontManager.java +0 -239
  935. package/ReactAndroid/src/main/java/com/facebook/react/common/futures/SimpleSettableFuture.java +0 -121
  936. package/ReactAndroid/src/main/java/com/facebook/react/common/network/OkHttpCallUtil.java +0 -36
  937. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevLoadingViewImplementation.java +0 -156
  938. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PerftestDevSupportManager.java +0 -50
  939. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ReleaseDevSupportManager.java +0 -214
  940. package/ReactAndroid/src/main/java/com/facebook/react/fabric/CoreComponentsRegistry.kt +0 -30
  941. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricComponents.java +0 -54
  942. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventBeatManager.java +0 -48
  943. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.java +0 -74
  944. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEvent.java +0 -56
  945. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEventMountItem.java +0 -57
  946. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ChoreographerCompat.java +0 -18
  947. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/DeviceEventManagerModule.java +0 -76
  948. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ExceptionsManagerModule.java +0 -91
  949. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/HeadlessJsTaskSupportModule.java +0 -61
  950. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JSTimers.java +0 -21
  951. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.java +0 -428
  952. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/PermissionAwareActivity.java +0 -29
  953. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/RCTNativeAppEventEmitter.java +0 -18
  954. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactChoreographer.java +0 -172
  955. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/TimingModule.java +0 -104
  956. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/FrescoModule.java +0 -225
  957. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactNetworkImageRequest.java +0 -33
  958. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactOkHttpNetworkFetcher.java +0 -80
  959. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/SystraceRequestListener.java +0 -160
  960. package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/PermissionsModule.java +0 -204
  961. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/PackagerConnectionSettings.java +0 -65
  962. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/Executors.java +0 -53
  963. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerDelegate.java +0 -141
  964. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerInterface.java +0 -84
  965. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/IViewGroupManager.java +0 -42
  966. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewHierarchyDumper.java +0 -45
  967. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerDelegate.java +0 -25
  968. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BoxShadowDrawable.kt +0 -102
  969. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/BlackHoleEventDispatcher.java +0 -62
  970. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ContentSizeChangeEvent.java +0 -52
  971. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/SimpleSpringInterpolator.java +0 -50
  972. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayout.java +0 -123
  973. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayoutManager.java +0 -302
  974. package/ReactAndroid/src/main/java/com/facebook/react/views/image/MultiPostprocessor.java +0 -76
  975. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageManager.java +0 -289
  976. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.java +0 -638
  977. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarContainerView.java +0 -99
  978. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ReactProgressBarViewManager.java +0 -203
  979. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/OnScrollDispatchHelper.java +0 -58
  980. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VelocityHelper.java +0 -64
  981. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitch.java +0 -124
  982. package/ReactAndroid/src/main/java/com/facebook/react/views/view/CanvasUtil.java +0 -87
  983. package/ReactAndroid/src/main/jni/react/devsupport/JOptional.cpp +0 -29
  984. package/ReactAndroid/src/main/jni/react/devsupport/JOptional.h +0 -27
  985. package/ReactAndroid/src/main/jni/react/fabric/JBackgroundExecutor.cpp +0 -28
  986. package/ReactAndroid/src/main/jni/react/fabric/JBackgroundExecutor.h +0 -23
  987. package/src/private/core/setUpDOM.js +0 -18
  988. package/src/private/webapis/performance/PerformanceEventTiming.js +0 -55
  989. /package/src/private/{core → styles}/composeStyles.js +0 -0
@@ -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
+ }
@@ -0,0 +1,104 @@
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.common.logging.FLog
11
+ import com.facebook.react.bridge.ReadableMap
12
+ import com.facebook.react.bridge.ReadableType
13
+ import com.facebook.react.common.ReactConstants
14
+ import com.facebook.react.common.build.ReactBuildConfig
15
+
16
+ /**
17
+ * Implementation of [AnimationDriver] which provides a support for simple time-based animations
18
+ * that are pre-calculate on the JS side. For each animation frame JS provides a value from 0 to 1
19
+ * that indicates a progress of the animation at that frame.
20
+ */
21
+ internal class FrameBasedAnimationDriver(config: ReadableMap) : AnimationDriver() {
22
+ private var startFrameTimeNanos: Long = -1
23
+ private var frames: DoubleArray = DoubleArray(0)
24
+ private var toValue = 0.0
25
+ private var fromValue = 0.0
26
+ private var iterations = 1
27
+ private var currentLoop = 1
28
+ private var logCount = 0
29
+
30
+ init {
31
+ resetConfig(config)
32
+ }
33
+
34
+ override fun resetConfig(config: ReadableMap) {
35
+ val framesConfig = config.getArray("frames")
36
+ if (framesConfig != null) {
37
+ val numberOfFrames = framesConfig.size()
38
+ if (frames.size != numberOfFrames) {
39
+ frames = DoubleArray(numberOfFrames) { i -> framesConfig.getDouble(i) }
40
+ }
41
+ }
42
+ toValue =
43
+ if (config.hasKey("toValue") && config.getType("toValue") == ReadableType.Number)
44
+ config.getDouble("toValue")
45
+ else 0.0
46
+ iterations =
47
+ if (config.hasKey("iterations") && config.getType("iterations") == ReadableType.Number)
48
+ config.getInt("iterations")
49
+ else 1
50
+ currentLoop = 1
51
+ hasFinished = iterations == 0
52
+ startFrameTimeNanos = -1
53
+ }
54
+
55
+ override fun runAnimationStep(frameTimeNanos: Long) {
56
+ val animatedValue = requireNotNull(animatedValue) { "Animated value should not be null" }
57
+ if (startFrameTimeNanos < 0) {
58
+ startFrameTimeNanos = frameTimeNanos
59
+ if (currentLoop == 1) {
60
+ // initiate start value when animation runs for the first time
61
+ fromValue = animatedValue.nodeValue
62
+ }
63
+ }
64
+ val timeFromStartMillis = (frameTimeNanos - startFrameTimeNanos) / 1000000
65
+ val frameIndex = Math.round(timeFromStartMillis / FRAME_TIME_MILLIS).toInt()
66
+ if (frameIndex < 0) {
67
+ val message =
68
+ ("Calculated frame index should never be lower than 0. Called with frameTimeNanos " +
69
+ frameTimeNanos +
70
+ " and mStartFrameTimeNanos " +
71
+ startFrameTimeNanos)
72
+ check(!ReactBuildConfig.DEBUG) { message }
73
+ if (logCount < 100) {
74
+ FLog.w(ReactConstants.TAG, message)
75
+ logCount++
76
+ }
77
+ return
78
+ } else if (hasFinished) {
79
+ // nothing to do here
80
+ return
81
+ }
82
+ val nextValue: Double
83
+ if (frameIndex >= frames.size - 1) {
84
+ if (iterations == -1 || currentLoop < iterations) {
85
+ // Use last frame value, just in case it's different from mToValue
86
+ nextValue = fromValue + frames[frames.size - 1] * (toValue - fromValue)
87
+ startFrameTimeNanos = -1
88
+ currentLoop++
89
+ } else {
90
+ // animation has completed, no more frames left
91
+ nextValue = toValue
92
+ hasFinished = true
93
+ }
94
+ } else {
95
+ nextValue = fromValue + frames[frameIndex] * (toValue - fromValue)
96
+ }
97
+ animatedValue.nodeValue = nextValue
98
+ }
99
+
100
+ companion object {
101
+ // 60FPS
102
+ private const val FRAME_TIME_MILLIS = 1000.0 / 60.0
103
+ }
104
+ }