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
@@ -17,7 +17,7 @@ import com.facebook.react.bridge.ReactApplicationContext;
17
17
  import com.facebook.react.bridge.ReadableArray;
18
18
  import com.facebook.react.bridge.ReadableMap;
19
19
  import com.facebook.react.common.mapbuffer.MapBuffer;
20
- import com.facebook.react.config.ReactFeatureFlags;
20
+ import com.facebook.react.internal.featureflags.ReactNativeFeatureFlags;
21
21
  import com.facebook.react.touch.JSResponderHandler;
22
22
  import com.facebook.react.touch.ReactInterceptingViewGroup;
23
23
  import com.facebook.react.uimanager.annotations.ReactProp;
@@ -56,16 +56,22 @@ public abstract class ViewManager<T extends View, C extends ReactShadowNode>
56
56
 
57
57
  /** Call in constructor of concrete ViewManager class to enable. */
58
58
  protected void setupViewRecycling() {
59
- if (ReactFeatureFlags.enableViewRecycling) {
59
+ if (ReactNativeFeatureFlags.enableViewRecycling()) {
60
60
  mRecyclableViews = new HashMap<>();
61
61
  }
62
62
  }
63
63
 
64
- private @Nullable Stack<T> getRecyclableViewStack(int surfaceId) {
64
+ /**
65
+ * Returns the stack of recycled views for the surface, if enabled
66
+ *
67
+ * @param create Whether to create a new stack if not found for the {@code surfaceId}. Should be
68
+ * {@code false} if it's possible the surface has been stopped.
69
+ */
70
+ private @Nullable Stack<T> getRecyclableViewStack(int surfaceId, boolean create) {
65
71
  if (mRecyclableViews == null) {
66
72
  return null;
67
73
  }
68
- if (!mRecyclableViews.containsKey(surfaceId)) {
74
+ if (create && !mRecyclableViews.containsKey(surfaceId)) {
69
75
  mRecyclableViews.put(surfaceId, new Stack<T>());
70
76
  }
71
77
  return mRecyclableViews.get(surfaceId);
@@ -177,7 +183,7 @@ public abstract class ViewManager<T extends View, C extends ReactShadowNode>
177
183
  @Nullable ReactStylesDiffMap initialProps,
178
184
  @Nullable StateWrapper stateWrapper) {
179
185
  T view = null;
180
- @Nullable Stack<T> recyclableViews = getRecyclableViewStack(reactContext.getSurfaceId());
186
+ @Nullable Stack<T> recyclableViews = getRecyclableViewStack(reactContext.getSurfaceId(), true);
181
187
  if (recyclableViews != null && !recyclableViews.empty()) {
182
188
  view = recycleView(reactContext, recyclableViews.pop());
183
189
  } else {
@@ -224,18 +230,22 @@ public abstract class ViewManager<T extends View, C extends ReactShadowNode>
224
230
  // View recycling
225
231
  ThemedReactContext themedReactContext = (ThemedReactContext) viewContext;
226
232
  int surfaceId = themedReactContext.getSurfaceId();
227
- @Nullable Stack<T> recyclableViews = getRecyclableViewStack(surfaceId);
233
+ @Nullable Stack<T> recyclableViews = getRecyclableViewStack(surfaceId, false);
228
234
  if (recyclableViews != null) {
229
- recyclableViews.push(prepareToRecycleView(themedReactContext, view));
235
+ T recyclableView = prepareToRecycleView(themedReactContext, view);
236
+ if (recyclableView != null) {
237
+ recyclableViews.push(recyclableView);
238
+ }
230
239
  }
231
240
  }
232
241
 
233
242
  /**
234
243
  * Called when a View is removed from the hierarchy. This should be used to reset any properties.
244
+ *
245
+ * @return {@code view} if it was properly recycled, or {@code null} if it could not be recycled
235
246
  */
236
- protected T prepareToRecycleView(@NonNull ThemedReactContext reactContext, @NonNull T view) {
237
- return view;
238
- }
247
+ protected abstract @Nullable T prepareToRecycleView(
248
+ @NonNull ThemedReactContext reactContext, @NonNull T view);
239
249
 
240
250
  /** Called when a View is going to be reused. */
241
251
  protected T recycleView(@NonNull ThemedReactContext reactContext, @NonNull T view) {
@@ -0,0 +1,24 @@
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.uimanager
9
+
10
+ import android.view.View
11
+ import com.facebook.react.bridge.ReadableArray
12
+
13
+ /**
14
+ * This is an interface that must be implemented by classes that wish to take over the
15
+ * responsibility of setting properties of all views managed by the view manager and executing view
16
+ * commands.
17
+ *
18
+ * @param <T> the type of the view supported by this delegate </T>
19
+ */
20
+ public interface ViewManagerDelegate<T : View?> {
21
+ public fun setProperty(view: T, propName: String, value: Any?)
22
+
23
+ public fun receiveCommand(view: T, commandName: String, args: ReadableArray?)
24
+ }
@@ -74,6 +74,7 @@ public object ViewProps {
74
74
  // Props that affect more than just layout
75
75
  public const val ENABLED: String = "enabled"
76
76
  public const val BACKGROUND_COLOR: String = "backgroundColor"
77
+ public const val BACKGROUND_IMAGE: String = "experimental_backgroundImage"
77
78
  public const val FOREGROUND_COLOR: String = "foregroundColor"
78
79
  public const val COLOR: String = "color"
79
80
  public const val FONT_SIZE: String = "fontSize"
@@ -135,7 +136,9 @@ public object ViewProps {
135
136
  public const val BORDER_START_COLOR: String = "borderStartColor"
136
137
  public const val BORDER_END_COLOR: String = "borderEndColor"
137
138
  public const val ON_LAYOUT: String = "onLayout"
139
+ public const val BOX_SHADOW: String = "experimental_boxShadow"
138
140
  public const val FILTER: String = "experimental_filter"
141
+ public const val MIX_BLEND_MODE: String = "experimental_mixBlendMode"
139
142
  public const val TRANSFORM: String = "transform"
140
143
  public const val TRANSFORM_ORIGIN: String = "transformOrigin"
141
144
  public const val ELEVATION: String = "elevation"
@@ -0,0 +1,29 @@
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.uimanager.drawable
9
+
10
+ import kotlin.math.abs
11
+ import kotlin.math.pow
12
+
13
+ /**
14
+ * Manipulates a corner radius of the shadow-shape according to the radius of the original
15
+ * background, and the applied spread (negative, if inset). See algorithm at
16
+ * https://drafts.csswg.org/css-backgrounds/#shadow-shape
17
+ */
18
+ internal fun adjustRadiusForSpread(
19
+ radius: Float,
20
+ spread: Float,
21
+ ): Float {
22
+ val spreadMultiplier =
23
+ if (radius < abs(spread)) {
24
+ 1 + (radius / abs(spread) - 1).pow(3)
25
+ } else {
26
+ 1f
27
+ }
28
+ return (radius + spread * spreadMultiplier).coerceAtLeast(0f)
29
+ }
@@ -12,30 +12,39 @@ import android.content.Context;
12
12
  import android.graphics.Canvas;
13
13
  import android.graphics.Color;
14
14
  import android.graphics.ColorFilter;
15
+ import android.graphics.ComposeShader;
15
16
  import android.graphics.DashPathEffect;
16
17
  import android.graphics.Outline;
17
18
  import android.graphics.Paint;
18
19
  import android.graphics.Path;
19
20
  import android.graphics.PathEffect;
20
21
  import android.graphics.PointF;
22
+ import android.graphics.PorterDuff;
21
23
  import android.graphics.Rect;
22
24
  import android.graphics.RectF;
23
25
  import android.graphics.Region;
26
+ import android.graphics.Shader;
24
27
  import android.graphics.drawable.Drawable;
25
28
  import android.view.View;
26
29
  import androidx.annotation.Nullable;
27
30
  import androidx.core.graphics.ColorUtils;
28
31
  import androidx.core.util.Preconditions;
29
32
  import com.facebook.infer.annotation.Nullsafe;
33
+ import com.facebook.react.common.annotations.UnstableReactNativeAPI;
30
34
  import com.facebook.react.common.annotations.VisibleForTesting;
31
35
  import com.facebook.react.modules.i18nmanager.I18nUtil;
32
36
  import com.facebook.react.uimanager.FloatUtil;
33
37
  import com.facebook.react.uimanager.LengthPercentage;
34
38
  import com.facebook.react.uimanager.LengthPercentageType;
39
+ import com.facebook.react.uimanager.PixelUtil;
35
40
  import com.facebook.react.uimanager.Spacing;
41
+ import com.facebook.react.uimanager.style.BackgroundImageLayer;
36
42
  import com.facebook.react.uimanager.style.BorderRadiusProp;
37
43
  import com.facebook.react.uimanager.style.BorderRadiusStyle;
44
+ import com.facebook.react.uimanager.style.BorderStyle;
38
45
  import com.facebook.react.uimanager.style.ComputedBorderRadius;
46
+ import com.facebook.react.uimanager.style.CornerRadii;
47
+ import java.util.List;
39
48
  import java.util.Locale;
40
49
  import java.util.Objects;
41
50
 
@@ -51,6 +60,7 @@ import java.util.Objects;
51
60
  * have a rectangular borders we allocate {@code mBorderWidthResult} and similar. When only
52
61
  * background color is set we won't allocate any extra/unnecessary objects.
53
62
  */
63
+ @UnstableReactNativeAPI
54
64
  @Nullsafe(Nullsafe.Mode.LOCAL)
55
65
  public class CSSBackgroundDrawable extends Drawable {
56
66
 
@@ -62,29 +72,23 @@ public class CSSBackgroundDrawable extends Drawable {
62
72
  // 0 == 0x00000000, all bits set to 0.
63
73
  private static final int ALL_BITS_UNSET = 0;
64
74
 
65
- private enum BorderStyle {
66
- SOLID,
67
- DASHED,
68
- DOTTED;
75
+ private static @Nullable PathEffect getPathEffect(BorderStyle style, float borderWidth) {
76
+ switch (style) {
77
+ case SOLID:
78
+ return null;
69
79
 
70
- public static @Nullable PathEffect getPathEffect(BorderStyle style, float borderWidth) {
71
- switch (style) {
72
- case SOLID:
73
- return null;
80
+ case DASHED:
81
+ return new DashPathEffect(
82
+ new float[] {borderWidth * 3, borderWidth * 3, borderWidth * 3, borderWidth * 3}, 0);
74
83
 
75
- case DASHED:
76
- return new DashPathEffect(
77
- new float[] {borderWidth * 3, borderWidth * 3, borderWidth * 3, borderWidth * 3}, 0);
84
+ case DOTTED:
85
+ return new DashPathEffect(
86
+ new float[] {borderWidth, borderWidth, borderWidth, borderWidth}, 0);
78
87
 
79
- case DOTTED:
80
- return new DashPathEffect(
81
- new float[] {borderWidth, borderWidth, borderWidth, borderWidth}, 0);
82
-
83
- default:
84
- return null;
85
- }
88
+ default:
89
+ return null;
86
90
  }
87
- };
91
+ }
88
92
 
89
93
  /* Value at Spacing.ALL index used for rounded borders, whole array used by rectangular borders */
90
94
  private @Nullable Spacing mBorderWidth;
@@ -112,6 +116,7 @@ public class CSSBackgroundDrawable extends Drawable {
112
116
  /* Used by all types of background and for drawing borders */
113
117
  private final Paint mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
114
118
  private int mColor = Color.TRANSPARENT;
119
+ private @Nullable List<BackgroundImageLayer> mBackgroundImageLayers = null;
115
120
  private int mAlpha = 255;
116
121
 
117
122
  // There is a small gap between the edges of adjacent paths
@@ -219,9 +224,12 @@ public class CSSBackgroundDrawable extends Drawable {
219
224
  }
220
225
  }
221
226
 
222
- public void setBorderColor(int position, float rgb, float alpha) {
223
- this.setBorderRGB(position, rgb);
224
- this.setBorderAlpha(position, alpha);
227
+ public void setBorderColor(int position, @Nullable Integer color) {
228
+ float rgbComponent = color == null ? Float.NaN : (float) ((int) color & 0x00FFFFFF);
229
+ float alphaComponent = color == null ? Float.NaN : (float) ((int) color >>> 24);
230
+
231
+ this.setBorderRGB(position, rgbComponent);
232
+ this.setBorderAlpha(position, alphaComponent);
225
233
  mNeedUpdatePathForBorderRadius = true;
226
234
  }
227
235
 
@@ -250,6 +258,10 @@ public class CSSBackgroundDrawable extends Drawable {
250
258
  public void setBorderStyle(@Nullable String style) {
251
259
  BorderStyle borderStyle =
252
260
  style == null ? null : BorderStyle.valueOf(style.toUpperCase(Locale.US));
261
+ setBorderStyle(borderStyle);
262
+ }
263
+
264
+ public void setBorderStyle(@Nullable BorderStyle borderStyle) {
253
265
  if (mBorderStyle != borderStyle) {
254
266
  mBorderStyle = borderStyle;
255
267
  mNeedUpdatePathForBorderRadius = true;
@@ -257,9 +269,14 @@ public class CSSBackgroundDrawable extends Drawable {
257
269
  }
258
270
  }
259
271
 
272
+ public @Nullable BorderStyle getBorderStyle() {
273
+ return mBorderStyle;
274
+ }
275
+
260
276
  /**
261
277
  * @deprecated Use {@link #setBorderRadius(BorderRadiusProp, LengthPercentage)} instead.
262
278
  */
279
+ @Deprecated(since = "0.75.0", forRemoval = true)
263
280
  public void setRadius(float radius) {
264
281
  @Nullable Float boxedRadius = Float.isNaN(radius) ? null : Float.valueOf(radius);
265
282
  if (boxedRadius == null) {
@@ -274,11 +291,13 @@ public class CSSBackgroundDrawable extends Drawable {
274
291
  /**
275
292
  * @deprecated Use {@link #setBorderRadius(BorderRadiusProp, LengthPercentage)} instead.
276
293
  */
294
+ @Deprecated(since = "0.75.0", forRemoval = true)
277
295
  public void setRadius(float radius, int position) {
278
296
  @Nullable Float boxedRadius = Float.isNaN(radius) ? null : Float.valueOf(radius);
279
297
 
280
298
  if (boxedRadius == null) {
281
299
  mBorderRadius.set(BorderRadiusProp.values()[position], null);
300
+ invalidateSelf();
282
301
  } else {
283
302
  setBorderRadius(
284
303
  BorderRadiusProp.values()[position],
@@ -302,6 +321,15 @@ public class CSSBackgroundDrawable extends Drawable {
302
321
  return mBorderRadius;
303
322
  }
304
323
 
324
+ // Here, "inner" refers to the border radius on the inside of the border. So
325
+ // it ends up being the "outer" border radius inset by the respective width.
326
+ public float getInnerBorderRadius(float computedRadius, float borderWidth) {
327
+ return Math.max(computedRadius - borderWidth, 0);
328
+ }
329
+
330
+ // TODO: This API is unsafe and should be removed when
331
+ // BackgroundStyleApplicator is rolled out
332
+ @Deprecated(forRemoval = true, since = "0.76.0")
305
333
  public ComputedBorderRadius getComputedBorderRadius() {
306
334
  return mComputedBorderRadius;
307
335
  }
@@ -311,6 +339,11 @@ public class CSSBackgroundDrawable extends Drawable {
311
339
  invalidateSelf();
312
340
  }
313
341
 
342
+ public void setBackgroundImage(@Nullable List<BackgroundImageLayer> backgroundImageLayers) {
343
+ mBackgroundImageLayers = backgroundImageLayers;
344
+ invalidateSelf();
345
+ }
346
+
314
347
  @VisibleForTesting
315
348
  public int getColor() {
316
349
  return mColor;
@@ -360,12 +393,19 @@ public class CSSBackgroundDrawable extends Drawable {
360
393
 
361
394
  // Draws the View without its border first (with background color fill)
362
395
  int useColor = ColorUtils.setAlphaComponent(mColor, getOpacity());
363
- if (Color.alpha(useColor) != 0) { // color is not transparent
396
+ if (Color.alpha(useColor) != 0) {
364
397
  mPaint.setColor(useColor);
365
398
  mPaint.setStyle(Paint.Style.FILL);
366
399
  canvas.drawPath(Preconditions.checkNotNull(mBackgroundColorRenderPath), mPaint);
367
400
  }
368
401
 
402
+ if (mBackgroundImageLayers != null && !mBackgroundImageLayers.isEmpty()) {
403
+ mPaint.setShader(getBackgroundImageShader());
404
+ mPaint.setStyle(Paint.Style.FILL);
405
+ canvas.drawPath(Preconditions.checkNotNull(mBackgroundColorRenderPath), mPaint);
406
+ mPaint.setShader(null);
407
+ }
408
+
369
409
  final RectF borderWidth = getDirectionAwareBorderInsets();
370
410
  int colorLeft = getBorderColor(Spacing.LEFT);
371
411
  int colorTop = getBorderColor(Spacing.TOP);
@@ -605,6 +645,7 @@ public class CSSBackgroundDrawable extends Drawable {
605
645
  }
606
646
 
607
647
  // Clip border ONLY if its color is non transparent
648
+ float pathAdjustment = 0f;
608
649
  if (Color.alpha(colorLeft) != 0
609
650
  && Color.alpha(colorTop) != 0
610
651
  && Color.alpha(colorRight) != 0
@@ -615,6 +656,10 @@ public class CSSBackgroundDrawable extends Drawable {
615
656
  mInnerClipTempRectForBorderRadius.bottom -= borderWidth.bottom;
616
657
  mInnerClipTempRectForBorderRadius.left += borderWidth.left;
617
658
  mInnerClipTempRectForBorderRadius.right -= borderWidth.right;
659
+
660
+ // only close gap between border and main path if we draw the border, otherwise
661
+ // we wind up pixelating small pixel-radius curves
662
+ pathAdjustment = mGapBetweenPaths;
618
663
  }
619
664
 
620
665
  mTempRectForCenterDrawPath.top += borderWidth.top * 0.5f;
@@ -626,21 +671,29 @@ public class CSSBackgroundDrawable extends Drawable {
626
671
  mBorderRadius.resolve(
627
672
  getLayoutDirection(),
628
673
  mContext,
629
- mOuterClipTempRectForBorderRadius.width(),
630
- mOuterClipTempRectForBorderRadius.height());
631
- float topLeftRadius = mComputedBorderRadius.getTopLeft();
632
- float topRightRadius = mComputedBorderRadius.getTopRight();
633
- float bottomLeftRadius = mComputedBorderRadius.getBottomLeft();
634
- float bottomRightRadius = mComputedBorderRadius.getBottomRight();
635
-
636
- final float innerTopLeftRadiusX = Math.max(topLeftRadius - borderWidth.left, 0);
637
- final float innerTopLeftRadiusY = Math.max(topLeftRadius - borderWidth.top, 0);
638
- final float innerTopRightRadiusX = Math.max(topRightRadius - borderWidth.right, 0);
639
- final float innerTopRightRadiusY = Math.max(topRightRadius - borderWidth.top, 0);
640
- final float innerBottomRightRadiusX = Math.max(bottomRightRadius - borderWidth.right, 0);
641
- final float innerBottomRightRadiusY = Math.max(bottomRightRadius - borderWidth.bottom, 0);
642
- final float innerBottomLeftRadiusX = Math.max(bottomLeftRadius - borderWidth.left, 0);
643
- final float innerBottomLeftRadiusY = Math.max(bottomLeftRadius - borderWidth.bottom, 0);
674
+ PixelUtil.toDIPFromPixel(mOuterClipTempRectForBorderRadius.width()),
675
+ PixelUtil.toDIPFromPixel(mOuterClipTempRectForBorderRadius.height()));
676
+ CornerRadii topLeftRadius = mComputedBorderRadius.getTopLeft().toPixelFromDIP();
677
+ CornerRadii topRightRadius = mComputedBorderRadius.getTopRight().toPixelFromDIP();
678
+ CornerRadii bottomLeftRadius = mComputedBorderRadius.getBottomLeft().toPixelFromDIP();
679
+ CornerRadii bottomRightRadius = mComputedBorderRadius.getBottomRight().toPixelFromDIP();
680
+
681
+ final float innerTopLeftRadiusX =
682
+ getInnerBorderRadius(topLeftRadius.getHorizontal(), borderWidth.left);
683
+ final float innerTopLeftRadiusY =
684
+ getInnerBorderRadius(topLeftRadius.getVertical(), borderWidth.top);
685
+ final float innerTopRightRadiusX =
686
+ getInnerBorderRadius(topRightRadius.getHorizontal(), borderWidth.right);
687
+ final float innerTopRightRadiusY =
688
+ getInnerBorderRadius(topRightRadius.getVertical(), borderWidth.top);
689
+ final float innerBottomRightRadiusX =
690
+ getInnerBorderRadius(bottomRightRadius.getHorizontal(), borderWidth.right);
691
+ final float innerBottomRightRadiusY =
692
+ getInnerBorderRadius(bottomRightRadius.getVertical(), borderWidth.bottom);
693
+ final float innerBottomLeftRadiusX =
694
+ getInnerBorderRadius(bottomLeftRadius.getHorizontal(), borderWidth.left);
695
+ final float innerBottomLeftRadiusY =
696
+ getInnerBorderRadius(bottomLeftRadius.getVertical(), borderWidth.bottom);
644
697
 
645
698
  mInnerClipPathForBorderRadius.addRoundRect(
646
699
  mInnerClipTempRectForBorderRadius,
@@ -661,10 +714,10 @@ public class CSSBackgroundDrawable extends Drawable {
661
714
  // (mInnerClipTempRectForBorderRadius), ensuring the border can be
662
715
  // drawn on top without the gap.
663
716
  mBackgroundColorRenderPath.addRoundRect(
664
- mInnerClipTempRectForBorderRadius.left - mGapBetweenPaths,
665
- mInnerClipTempRectForBorderRadius.top - mGapBetweenPaths,
666
- mInnerClipTempRectForBorderRadius.right + mGapBetweenPaths,
667
- mInnerClipTempRectForBorderRadius.bottom + mGapBetweenPaths,
717
+ mInnerClipTempRectForBorderRadius.left - pathAdjustment,
718
+ mInnerClipTempRectForBorderRadius.top - pathAdjustment,
719
+ mInnerClipTempRectForBorderRadius.right + pathAdjustment,
720
+ mInnerClipTempRectForBorderRadius.bottom + pathAdjustment,
668
721
  new float[] {
669
722
  innerTopLeftRadiusX,
670
723
  innerTopLeftRadiusY,
@@ -680,14 +733,14 @@ public class CSSBackgroundDrawable extends Drawable {
680
733
  mOuterClipPathForBorderRadius.addRoundRect(
681
734
  mOuterClipTempRectForBorderRadius,
682
735
  new float[] {
683
- topLeftRadius,
684
- topLeftRadius,
685
- topRightRadius,
686
- topRightRadius,
687
- bottomRightRadius,
688
- bottomRightRadius,
689
- bottomLeftRadius,
690
- bottomLeftRadius
736
+ topLeftRadius.getHorizontal(),
737
+ topLeftRadius.getVertical(),
738
+ topRightRadius.getHorizontal(),
739
+ topRightRadius.getVertical(),
740
+ bottomRightRadius.getHorizontal(),
741
+ bottomRightRadius.getVertical(),
742
+ bottomLeftRadius.getHorizontal(),
743
+ bottomLeftRadius.getVertical()
691
744
  },
692
745
  Path.Direction.CW);
693
746
 
@@ -700,44 +753,28 @@ public class CSSBackgroundDrawable extends Drawable {
700
753
  mPathForBorderRadiusOutline.addRoundRect(
701
754
  mTempRectForBorderRadiusOutline,
702
755
  new float[] {
703
- topLeftRadius + extraRadiusForOutline,
704
- topLeftRadius + extraRadiusForOutline,
705
- topRightRadius + extraRadiusForOutline,
706
- topRightRadius + extraRadiusForOutline,
707
- bottomRightRadius + extraRadiusForOutline,
708
- bottomRightRadius + extraRadiusForOutline,
709
- bottomLeftRadius + extraRadiusForOutline,
710
- bottomLeftRadius + extraRadiusForOutline
756
+ topLeftRadius.getHorizontal() + extraRadiusForOutline,
757
+ topLeftRadius.getVertical() + extraRadiusForOutline,
758
+ topRightRadius.getHorizontal() + extraRadiusForOutline,
759
+ topRightRadius.getVertical() + extraRadiusForOutline,
760
+ bottomRightRadius.getHorizontal() + extraRadiusForOutline,
761
+ bottomRightRadius.getVertical() + extraRadiusForOutline,
762
+ bottomLeftRadius.getHorizontal() + extraRadiusForOutline,
763
+ bottomLeftRadius.getVertical() + extraRadiusForOutline
711
764
  },
712
765
  Path.Direction.CW);
713
766
 
714
767
  mCenterDrawPath.addRoundRect(
715
768
  mTempRectForCenterDrawPath,
716
769
  new float[] {
717
- Math.max(
718
- topLeftRadius - borderWidth.left * 0.5f,
719
- (borderWidth.left > 0.0f) ? (topLeftRadius / borderWidth.left) : 0.0f),
720
- Math.max(
721
- topLeftRadius - borderWidth.top * 0.5f,
722
- (borderWidth.top > 0.0f) ? (topLeftRadius / borderWidth.top) : 0.0f),
723
- Math.max(
724
- topRightRadius - borderWidth.right * 0.5f,
725
- (borderWidth.right > 0.0f) ? (topRightRadius / borderWidth.right) : 0.0f),
726
- Math.max(
727
- topRightRadius - borderWidth.top * 0.5f,
728
- (borderWidth.top > 0.0f) ? (topRightRadius / borderWidth.top) : 0.0f),
729
- Math.max(
730
- bottomRightRadius - borderWidth.right * 0.5f,
731
- (borderWidth.right > 0.0f) ? (bottomRightRadius / borderWidth.right) : 0.0f),
732
- Math.max(
733
- bottomRightRadius - borderWidth.bottom * 0.5f,
734
- (borderWidth.bottom > 0.0f) ? (bottomRightRadius / borderWidth.bottom) : 0.0f),
735
- Math.max(
736
- bottomLeftRadius - borderWidth.left * 0.5f,
737
- (borderWidth.left > 0.0f) ? (bottomLeftRadius / borderWidth.left) : 0.0f),
738
- Math.max(
739
- bottomLeftRadius - borderWidth.bottom * 0.5f,
740
- (borderWidth.bottom > 0.0f) ? (bottomLeftRadius / borderWidth.bottom) : 0.0f)
770
+ topLeftRadius.getHorizontal() - borderWidth.left * 0.5f,
771
+ topLeftRadius.getVertical() - borderWidth.top * 0.5f,
772
+ topRightRadius.getHorizontal() - borderWidth.right * 0.5f,
773
+ topRightRadius.getVertical() - borderWidth.top * 0.5f,
774
+ bottomRightRadius.getHorizontal() - borderWidth.right * 0.5f,
775
+ bottomRightRadius.getVertical() - borderWidth.bottom * 0.5f,
776
+ bottomLeftRadius.getHorizontal() - borderWidth.left * 0.5f,
777
+ bottomLeftRadius.getVertical() - borderWidth.bottom * 0.5f,
741
778
  },
742
779
  Path.Direction.CW);
743
780
 
@@ -1005,14 +1042,23 @@ public class CSSBackgroundDrawable extends Drawable {
1005
1042
  }
1006
1043
 
1007
1044
  public float getBorderWidthOrDefaultTo(final float defaultValue, final int spacingType) {
1008
- if (mBorderWidth == null) {
1045
+ @Nullable Float width = getBorderWidth(spacingType);
1046
+ if (width == null) {
1009
1047
  return defaultValue;
1010
1048
  }
1011
1049
 
1050
+ return width;
1051
+ }
1052
+
1053
+ public @Nullable Float getBorderWidth(int spacingType) {
1054
+ if (mBorderWidth == null) {
1055
+ return null;
1056
+ }
1057
+
1012
1058
  final float width = mBorderWidth.getRaw(spacingType);
1013
1059
 
1014
1060
  if (Float.isNaN(width)) {
1015
- return defaultValue;
1061
+ return null;
1016
1062
  }
1017
1063
 
1018
1064
  return width;
@@ -1022,7 +1068,7 @@ public class CSSBackgroundDrawable extends Drawable {
1022
1068
  private void updatePathEffect() {
1023
1069
  // Used for rounded border and rounded background
1024
1070
  PathEffect mPathEffectForBorderStyle =
1025
- mBorderStyle != null ? BorderStyle.getPathEffect(mBorderStyle, getFullBorderWidth()) : null;
1071
+ mBorderStyle != null ? getPathEffect(mBorderStyle, getFullBorderWidth()) : null;
1026
1072
 
1027
1073
  mPaint.setPathEffect(mPathEffectForBorderStyle);
1028
1074
  }
@@ -1030,7 +1076,7 @@ public class CSSBackgroundDrawable extends Drawable {
1030
1076
  private void updatePathEffect(int borderWidth) {
1031
1077
  PathEffect pathEffectForBorderStyle = null;
1032
1078
  if (mBorderStyle != null) {
1033
- pathEffectForBorderStyle = BorderStyle.getPathEffect(mBorderStyle, borderWidth);
1079
+ pathEffectForBorderStyle = getPathEffect(mBorderStyle, borderWidth);
1034
1080
  }
1035
1081
  mPaint.setPathEffect(pathEffectForBorderStyle);
1036
1082
  }
@@ -1077,11 +1123,17 @@ public class CSSBackgroundDrawable extends Drawable {
1077
1123
  mPaint.setStyle(Paint.Style.FILL);
1078
1124
 
1079
1125
  int useColor = multiplyColorAlpha(mColor, mAlpha);
1080
- if (Color.alpha(useColor) != 0) { // color is not transparent
1126
+ if (Color.alpha(useColor) != 0) {
1081
1127
  mPaint.setColor(useColor);
1082
1128
  canvas.drawRect(getBounds(), mPaint);
1083
1129
  }
1084
1130
 
1131
+ if (mBackgroundImageLayers != null && !mBackgroundImageLayers.isEmpty()) {
1132
+ mPaint.setShader(getBackgroundImageShader());
1133
+ canvas.drawRect(getBounds(), mPaint);
1134
+ mPaint.setShader(null);
1135
+ }
1136
+
1085
1137
  final RectF borderWidth = getDirectionAwareBorderInsets();
1086
1138
 
1087
1139
  final int borderLeft = Math.round(borderWidth.left);
@@ -1373,6 +1425,27 @@ public class CSSBackgroundDrawable extends Drawable {
1373
1425
  return new RectF(borderLeftWidth, borderTopWidth, borderRightWidth, borderBottomWidth);
1374
1426
  }
1375
1427
 
1428
+ private @Nullable Shader getBackgroundImageShader() {
1429
+ if (mBackgroundImageLayers == null) {
1430
+ return null;
1431
+ }
1432
+
1433
+ Shader compositeShader = null;
1434
+ for (BackgroundImageLayer backgroundImageLayer : mBackgroundImageLayers) {
1435
+ Shader currentShader = backgroundImageLayer.getShader(getBounds());
1436
+ if (currentShader == null) {
1437
+ continue;
1438
+ }
1439
+ if (compositeShader == null) {
1440
+ compositeShader = currentShader;
1441
+ } else {
1442
+ compositeShader =
1443
+ new ComposeShader(currentShader, compositeShader, PorterDuff.Mode.SRC_OVER);
1444
+ }
1445
+ }
1446
+ return compositeShader;
1447
+ }
1448
+
1376
1449
  /**
1377
1450
  * Multiplies the color with the given alpha.
1378
1451
  *