react-native-tvos 0.82.1-0 → 0.83.0-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1432) hide show
  1. package/Libraries/Animated/components/AnimatedFlatList.js +5 -3
  2. package/Libraries/Animated/components/AnimatedImage.js +4 -3
  3. package/Libraries/Animated/components/AnimatedSectionList.js +2 -2
  4. package/Libraries/Animated/components/AnimatedText.js +7 -3
  5. package/Libraries/Animated/components/AnimatedView.js +3 -2
  6. package/Libraries/Animated/createAnimatedComponent.js +24 -12
  7. package/Libraries/Animated/nodes/AnimatedColor.js +26 -10
  8. package/Libraries/AppDelegate/RCTAppDelegate.h +0 -2
  9. package/Libraries/AppDelegate/RCTAppDelegate.mm +1 -0
  10. package/Libraries/AppDelegate/RCTAppSetupUtils.mm +16 -4
  11. package/Libraries/AppDelegate/RCTDefaultReactNativeFactoryDelegate.mm +5 -3
  12. package/Libraries/AppDelegate/RCTReactNativeFactory.h +3 -0
  13. package/Libraries/AppDelegate/RCTReactNativeFactory.mm +36 -1
  14. package/Libraries/AppDelegate/RCTRootViewFactory.h +13 -1
  15. package/Libraries/AppDelegate/RCTRootViewFactory.mm +33 -6
  16. package/Libraries/Blob/RCTBlobCollector.mm +1 -1
  17. package/Libraries/Blob/RCTFileReaderModule.mm +6 -9
  18. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +43 -15
  19. package/Libraries/Components/ActivityIndicator/ActivityIndicator.d.ts +2 -2
  20. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.d.ts +2 -2
  21. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.d.ts +2 -2
  22. package/Libraries/Components/RefreshControl/RefreshControl.d.ts +3 -3
  23. package/Libraries/Components/SafeAreaView/SafeAreaView.d.ts +2 -2
  24. package/Libraries/Components/ScrollView/ScrollView.js +1 -0
  25. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +6 -6
  26. package/Libraries/Components/Switch/Switch.d.ts +2 -2
  27. package/Libraries/Components/TextInput/TextInput.d.ts +2 -5
  28. package/Libraries/Components/TextInput/TextInput.js +6 -0
  29. package/Libraries/Components/Touchable/TouchableBounce.js +7 -7
  30. package/Libraries/Components/View/ReactNativeStyleAttributes.js +19 -1
  31. package/Libraries/Components/View/View.d.ts +2 -2
  32. package/Libraries/Components/View/ViewNativeComponent.js +14 -0
  33. package/Libraries/Core/ReactNativeVersion.js +2 -2
  34. package/Libraries/Core/setUpPerformance.js +2 -0
  35. package/Libraries/Debugging/DebuggingOverlay.js +14 -14
  36. package/Libraries/Debugging/DebuggingOverlayRegistry.js +8 -2
  37. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +5 -2
  38. package/Libraries/FBLazyVector/FBLazyVector/FBLazyIterator.h +39 -23
  39. package/Libraries/FBLazyVector/FBLazyVector/FBLazyVector.h +25 -15
  40. package/Libraries/Image/Image.d.ts +3 -3
  41. package/Libraries/Image/ImageInjection.js +3 -6
  42. package/Libraries/Image/ImageTypes.flow.js +3 -7
  43. package/Libraries/Image/RCTBundleAssetImageLoader.mm +2 -2
  44. package/Libraries/Image/RCTGIFImageDecoder.mm +2 -2
  45. package/Libraries/Image/RCTImageBlurUtils.mm +6 -5
  46. package/Libraries/Image/RCTImageEditingManager.mm +3 -5
  47. package/Libraries/Image/RCTImageLoader.mm +26 -37
  48. package/Libraries/Image/RCTImageShadowView.h +1 -1
  49. package/Libraries/Image/RCTImageShadowView.mm +1 -1
  50. package/Libraries/Image/RCTImageStoreManager.mm +13 -15
  51. package/Libraries/Image/RCTImageUtils.mm +41 -30
  52. package/Libraries/Image/RCTImageView.h +2 -2
  53. package/Libraries/Image/RCTImageView.mm +2 -2
  54. package/Libraries/Image/RCTImageViewManager.h +2 -2
  55. package/Libraries/Image/RCTImageViewManager.mm +13 -18
  56. package/Libraries/Image/RCTLocalAssetImageLoader.mm +2 -2
  57. package/Libraries/LinkingIOS/RCTLinkingManager.mm +8 -14
  58. package/Libraries/Lists/FlatList.js +8 -8
  59. package/Libraries/Lists/SectionList.d.ts +5 -1
  60. package/Libraries/Lists/ViewabilityHelper.js +1 -1
  61. package/Libraries/Lists/VirtualizedList.js +1 -0
  62. package/Libraries/LogBox/UI/AnsiHighlight.js +4 -1
  63. package/Libraries/NativeAnimation/Drivers/RCTEventAnimation.mm +1 -1
  64. package/Libraries/NativeAnimation/Nodes/RCTAnimatedNode.mm +9 -9
  65. package/Libraries/NativeAnimation/Nodes/RCTInterpolationAnimatedNode.mm +3 -3
  66. package/Libraries/NativeAnimation/Nodes/RCTObjectAnimatedNode.mm +1 -1
  67. package/Libraries/NativeAnimation/Nodes/RCTStyleAnimatedNode.mm +3 -3
  68. package/Libraries/NativeAnimation/Nodes/RCTTrackingAnimatedNode.mm +1 -1
  69. package/Libraries/NativeAnimation/Nodes/RCTTransformAnimatedNode.mm +1 -1
  70. package/Libraries/NativeAnimation/RCTAnimationUtils.mm +8 -2
  71. package/Libraries/NativeAnimation/RCTNativeAnimatedModule.mm +9 -13
  72. package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.mm +9 -9
  73. package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +9 -13
  74. package/Libraries/NativeComponent/BaseViewConfig.android.js +11 -2
  75. package/Libraries/NativeComponent/NativeComponentRegistry.d.ts +98 -0
  76. package/Libraries/NativeComponent/NativeComponentRegistry.js +2 -0
  77. package/Libraries/NativeComponent/NativeComponentRegistryUnstable.js +3 -1
  78. package/Libraries/Network/RCTDataRequestHandler.mm +4 -4
  79. package/Libraries/Network/RCTHTTPRequestHandler.h +1 -1
  80. package/Libraries/Network/RCTHTTPRequestHandler.mm +4 -4
  81. package/Libraries/Network/RCTInspectorNetworkReporter.h +8 -8
  82. package/Libraries/Network/RCTInspectorNetworkReporter.mm +20 -22
  83. package/Libraries/Network/RCTNetworkTask.h +5 -1
  84. package/Libraries/Network/RCTNetworkTask.mm +13 -0
  85. package/Libraries/Network/RCTNetworking+Internal.h +21 -0
  86. package/Libraries/Network/RCTNetworking.android.js +3 -1
  87. package/Libraries/Network/RCTNetworking.h +3 -0
  88. package/Libraries/Network/RCTNetworking.ios.js +3 -0
  89. package/Libraries/Network/RCTNetworking.mm +84 -37
  90. package/Libraries/Network/React-RCTNetwork.podspec +1 -0
  91. package/Libraries/Network/XMLHttpRequest.js +1 -41
  92. package/Libraries/Pressability/usePressability.js +14 -3
  93. package/Libraries/PushNotificationIOS/RCTPushNotificationManager.mm +5 -7
  94. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +20 -82
  95. package/Libraries/ReactNative/getNativeComponentAttributes.js +12 -0
  96. package/Libraries/Renderer/implementations/ReactFabric-dev.js +6759 -4478
  97. package/Libraries/Renderer/implementations/ReactFabric-prod.js +3169 -3119
  98. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +4732 -3535
  99. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +6646 -4070
  100. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +3136 -2825
  101. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +4761 -3312
  102. package/Libraries/Renderer/shims/ReactNative.js +3 -1
  103. package/Libraries/Renderer/shims/ReactNativeTypes.js +2 -1
  104. package/Libraries/Required/RCTRequired.h +14 -10
  105. package/Libraries/Settings/RCTSettingsManager.mm +2 -2
  106. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +1 -1
  107. package/Libraries/StyleSheet/StyleSheetTypes.js +44 -0
  108. package/Libraries/StyleSheet/processBackgroundPosition.js +284 -0
  109. package/Libraries/StyleSheet/processBackgroundRepeat.js +105 -0
  110. package/Libraries/StyleSheet/processBackgroundSize.js +104 -0
  111. package/Libraries/Text/BaseText/RCTBaseTextShadowView.h +2 -2
  112. package/Libraries/Text/BaseText/RCTBaseTextShadowView.mm +2 -2
  113. package/Libraries/Text/BaseText/RCTBaseTextViewManager.h +2 -2
  114. package/Libraries/Text/BaseText/RCTBaseTextViewManager.mm +2 -2
  115. package/Libraries/Text/RCTTextAttributes.h +2 -2
  116. package/Libraries/Text/RCTTextAttributes.mm +2 -2
  117. package/Libraries/Text/RawText/RCTRawTextShadowView.h +2 -2
  118. package/Libraries/Text/RawText/RCTRawTextShadowView.mm +2 -2
  119. package/Libraries/Text/RawText/RCTRawTextViewManager.h +2 -2
  120. package/Libraries/Text/RawText/RCTRawTextViewManager.mm +2 -2
  121. package/Libraries/Text/Text/RCTTextShadowView.h +2 -2
  122. package/Libraries/Text/Text/RCTTextShadowView.mm +6 -7
  123. package/Libraries/Text/Text/RCTTextView.h +2 -2
  124. package/Libraries/Text/Text/RCTTextView.mm +2 -2
  125. package/Libraries/Text/Text/RCTTextViewManager.h +2 -2
  126. package/Libraries/Text/Text/RCTTextViewManager.mm +2 -2
  127. package/Libraries/Text/Text.d.ts +2 -2
  128. package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputView.h +2 -2
  129. package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputView.mm +2 -2
  130. package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputViewManager.h +2 -2
  131. package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputViewManager.mm +2 -2
  132. package/Libraries/Text/TextInput/RCTBaseTextInputShadowView.h +2 -2
  133. package/Libraries/Text/TextInput/RCTBaseTextInputShadowView.mm +6 -7
  134. package/Libraries/Text/TextInput/RCTBaseTextInputView.h +2 -2
  135. package/Libraries/Text/TextInput/RCTBaseTextInputView.mm +2 -2
  136. package/Libraries/Text/TextInput/RCTBaseTextInputViewManager.h +2 -2
  137. package/Libraries/Text/TextInput/RCTBaseTextInputViewManager.mm +6 -9
  138. package/Libraries/Text/TextInput/RCTInputAccessoryShadowView.h +2 -2
  139. package/Libraries/Text/TextInput/RCTInputAccessoryShadowView.mm +2 -2
  140. package/Libraries/Text/TextInput/RCTInputAccessoryView.h +2 -2
  141. package/Libraries/Text/TextInput/RCTInputAccessoryView.mm +2 -2
  142. package/Libraries/Text/TextInput/RCTInputAccessoryViewContent.h +2 -2
  143. package/Libraries/Text/TextInput/RCTInputAccessoryViewContent.mm +2 -2
  144. package/Libraries/Text/TextInput/RCTInputAccessoryViewManager.h +2 -2
  145. package/Libraries/Text/TextInput/RCTInputAccessoryViewManager.mm +2 -2
  146. package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputView.h +2 -2
  147. package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputView.mm +2 -2
  148. package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputViewManager.h +2 -2
  149. package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputViewManager.mm +2 -2
  150. package/Libraries/Text/TextNativeComponent.js +10 -0
  151. package/Libraries/Text/VirtualText/RCTVirtualTextShadowView.h +2 -2
  152. package/Libraries/Text/VirtualText/RCTVirtualTextShadowView.mm +2 -2
  153. package/Libraries/Text/VirtualText/RCTVirtualTextView.h +2 -2
  154. package/Libraries/Text/VirtualText/RCTVirtualTextView.mm +2 -2
  155. package/Libraries/Text/VirtualText/RCTVirtualTextViewManager.h +2 -2
  156. package/Libraries/Text/VirtualText/RCTVirtualTextViewManager.mm +2 -2
  157. package/Libraries/TurboModule/TurboModuleRegistry.js +3 -9
  158. package/Libraries/TypeSafety/RCTConvertHelpers.h +1 -1
  159. package/Libraries/TypeSafety/RCTTypedModuleConstants.mm +3 -5
  160. package/Libraries/Utilities/DevLoadingView.js +14 -6
  161. package/Libraries/Utilities/HMRClient.js +13 -5
  162. package/Libraries/Wrapper/Example/RCTWrapperExampleView.h +2 -2
  163. package/Libraries/Wrapper/Example/RCTWrapperExampleView.m +2 -2
  164. package/Libraries/Wrapper/Example/RCTWrapperExampleViewController.h +2 -2
  165. package/Libraries/Wrapper/Example/RCTWrapperExampleViewController.m +2 -2
  166. package/Libraries/Wrapper/Example/RCTWrapperReactRootViewController.h +2 -2
  167. package/Libraries/Wrapper/Example/RCTWrapperReactRootViewController.m +2 -2
  168. package/Libraries/Wrapper/Example/RCTWrapperReactRootViewManager.h +2 -2
  169. package/Libraries/Wrapper/Example/RCTWrapperReactRootViewManager.m +2 -2
  170. package/Libraries/Wrapper/RCTWrapper.h +2 -2
  171. package/Libraries/Wrapper/RCTWrapperShadowView.h +2 -2
  172. package/Libraries/Wrapper/RCTWrapperShadowView.m +2 -2
  173. package/Libraries/Wrapper/RCTWrapperView.h +2 -2
  174. package/Libraries/Wrapper/RCTWrapperView.m +2 -2
  175. package/Libraries/Wrapper/RCTWrapperViewControllerHostingView.h +2 -2
  176. package/Libraries/Wrapper/RCTWrapperViewControllerHostingView.m +2 -2
  177. package/Libraries/Wrapper/RCTWrapperViewManager.h +2 -2
  178. package/Libraries/Wrapper/RCTWrapperViewManager.m +2 -2
  179. package/README-core.md +5 -2
  180. package/React/Base/RCTAssert.h +7 -42
  181. package/React/Base/RCTAssert.m +1 -113
  182. package/React/Base/RCTBridge+Private.h +4 -4
  183. package/React/Base/RCTBridge.mm +5 -6
  184. package/React/Base/RCTBridgeDelegate.h +2 -2
  185. package/React/Base/RCTBridgeModule.h +24 -10
  186. package/React/Base/RCTBridgeProxy.mm +8 -8
  187. package/React/Base/RCTBundleManager.h +2 -2
  188. package/React/Base/RCTBundleManager.m +10 -10
  189. package/React/Base/RCTBundleURLProvider.mm +4 -4
  190. package/React/Base/RCTCallableJSModules.m +6 -6
  191. package/React/Base/RCTConvert.h +8 -3
  192. package/React/Base/RCTConvert.mm +2 -2
  193. package/React/Base/RCTDefines.h +0 -10
  194. package/React/Base/RCTJavaScriptExecutor.h +2 -2
  195. package/React/Base/RCTLog.h +6 -4
  196. package/React/Base/RCTMockDef.h +3 -6
  197. package/React/Base/RCTModuleData.mm +3 -3
  198. package/React/Base/RCTModuleMethod.mm +13 -11
  199. package/React/Base/RCTModuleRegistry.m +8 -8
  200. package/React/Base/RCTRootContentView.h +2 -2
  201. package/React/Base/RCTRootContentView.m +2 -2
  202. package/React/Base/RCTRootView.m +3 -3
  203. package/React/Base/RCTRootViewInternal.h +2 -2
  204. package/React/Base/RCTUtils.mm +5 -5
  205. package/React/Base/RCTVersion.m +2 -2
  206. package/React/Base/RCTViewRegistry.m +8 -8
  207. package/React/Base/Surface/RCTSurface.mm +3 -4
  208. package/React/Base/Surface/RCTSurfaceRootShadowView.m +3 -3
  209. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceSizeMeasureMode.mm +4 -4
  210. package/React/CoreModules/RCTAccessibilityManager.mm +25 -30
  211. package/React/CoreModules/RCTActionSheetManager.mm +38 -20
  212. package/React/CoreModules/RCTAlertController.mm +2 -2
  213. package/React/CoreModules/RCTAlertManager.mm +2 -2
  214. package/React/CoreModules/RCTAppearance.h +1 -1
  215. package/React/CoreModules/RCTDevLoadingView.mm +6 -14
  216. package/React/CoreModules/RCTDevMenu.h +30 -1
  217. package/React/CoreModules/RCTDevMenu.mm +99 -19
  218. package/React/CoreModules/RCTDevMenuConfigurationDecorator.h +23 -0
  219. package/React/CoreModules/RCTDevMenuConfigurationDecorator.mm +52 -0
  220. package/React/CoreModules/RCTDevSettings.h +5 -0
  221. package/React/CoreModules/RCTDevSettings.mm +8 -1
  222. package/React/CoreModules/RCTDevToolsRuntimeSettingsModule.mm +2 -2
  223. package/React/CoreModules/RCTDeviceInfo.h +2 -0
  224. package/React/CoreModules/RCTDeviceInfo.mm +21 -4
  225. package/React/CoreModules/RCTEventDispatcher.mm +10 -8
  226. package/React/CoreModules/RCTExceptionsManager.mm +13 -15
  227. package/React/CoreModules/RCTFPSGraph.mm +3 -3
  228. package/React/CoreModules/RCTLogBox.mm +8 -8
  229. package/React/CoreModules/RCTLogBoxView.h +2 -2
  230. package/React/CoreModules/RCTLogBoxView.mm +7 -9
  231. package/React/CoreModules/RCTPerfMonitor.mm +19 -19
  232. package/React/CoreModules/RCTTiming.mm +3 -5
  233. package/React/CoreModules/RCTWebSocketModule.mm +3 -5
  234. package/React/CoreModules/React-CoreModules.podspec +1 -0
  235. package/React/CxxBridge/RCTCxxBridge.mm +9 -28
  236. package/React/CxxBridge/RCTJSIExecutorRuntimeInstaller.h +3 -4
  237. package/React/CxxBridge/RCTJSIExecutorRuntimeInstaller.mm +2 -2
  238. package/React/CxxBridge/RCTMessageThread.h +6 -7
  239. package/React/CxxBridge/RCTMessageThread.mm +1 -1
  240. package/React/CxxBridge/RCTObjcExecutor.h +4 -7
  241. package/React/CxxBridge/RCTObjcExecutor.mm +5 -5
  242. package/React/CxxLogUtils/RCTDefaultCxxLogFunction.h +1 -1
  243. package/React/CxxModule/DispatchMessageQueueThread.h +2 -2
  244. package/React/CxxModule/RCTCxxMethod.mm +1 -1
  245. package/React/CxxModule/RCTCxxUtils.h +2 -2
  246. package/React/CxxModule/RCTCxxUtils.mm +8 -7
  247. package/React/CxxModule/RCTNativeModule.h +8 -12
  248. package/React/CxxModule/RCTNativeModule.mm +7 -7
  249. package/React/DevSupport/RCTInspectorDevServerHelper.mm +4 -4
  250. package/React/DevSupport/RCTInspectorNetworkHelper.mm +2 -2
  251. package/React/DevSupport/RCTPackagerConnection.h +1 -1
  252. package/React/DevSupport/RCTPackagerConnection.mm +1 -0
  253. package/React/DevSupport/RCTPausedInDebuggerOverlayController.mm +1 -1
  254. package/React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec.h +6 -0
  255. package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +3709 -5764
  256. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/Props.cpp +8 -2
  257. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/Props.h +1 -0
  258. package/React/Fabric/AppleEventBeat.h +3 -4
  259. package/React/Fabric/Mounting/ComponentViews/Modal/RCTFabricModalHostViewController.mm +2 -2
  260. package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +6 -2
  261. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTEnhancedScrollView.mm +2 -1
  262. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +311 -51
  263. package/React/Fabric/Mounting/RCTComponentViewFactory.mm +3 -11
  264. package/React/Fabric/Mounting/RCTMountingManager.mm +1 -1
  265. package/React/Fabric/Mounting/RCTMountingTransactionObserverCoordinator.h +7 -10
  266. package/React/Fabric/RCTSurfacePointerHandler.mm +1 -1
  267. package/React/Fabric/RCTSurfaceTouchHandler.mm +1 -1
  268. package/React/Fabric/Utils/PlatformRunLoopObserver.h +5 -11
  269. package/React/Fabric/Utils/PlatformRunLoopObserver.mm +1 -1
  270. package/React/Fabric/Utils/RCTBackgroundImageUtils.h +28 -0
  271. package/React/Fabric/Utils/RCTBackgroundImageUtils.mm +209 -0
  272. package/React/Fabric/Utils/RCTBoxShadow.mm +1 -1
  273. package/React/Fabric/Utils/RCTGradientUtils.mm +4 -0
  274. package/React/Fabric/Utils/RCTIdentifierPool.h +6 -3
  275. package/React/Fabric/Utils/RCTLinearGradient.mm +1 -0
  276. package/React/Fabric/Utils/RCTRadialGradient.mm +11 -9
  277. package/React/Inspector/RCTCxxInspectorPackagerConnectionDelegate.h +5 -8
  278. package/React/Inspector/RCTCxxInspectorPackagerConnectionDelegate.mm +1 -1
  279. package/React/Inspector/RCTCxxInspectorWebSocketAdapter.mm +2 -2
  280. package/React/Modules/RCTUIManager.mm +36 -55
  281. package/React/Profiler/RCTProfile.h +6 -6
  282. package/React/Profiler/RCTProfile.m +47 -44
  283. package/React/React-RCTFabric.podspec +2 -1
  284. package/React/Runtime/React-RCTRuntime.podspec +1 -0
  285. package/React/Views/RCTActivityIndicatorView.h +2 -2
  286. package/React/Views/RCTActivityIndicatorView.m +2 -2
  287. package/React/Views/RCTActivityIndicatorViewManager.h +3 -3
  288. package/React/Views/RCTActivityIndicatorViewManager.m +2 -2
  289. package/React/Views/RCTBorderDrawing.h +1 -1
  290. package/React/Views/RCTBorderDrawing.m +37 -35
  291. package/React/Views/RCTComponentData.mm +19 -19
  292. package/React/Views/RCTConvert+CoreLocation.m +2 -2
  293. package/React/Views/RCTDebuggingOverlayManager.h +2 -2
  294. package/React/Views/RCTDebuggingOverlayManager.m +2 -2
  295. package/React/Views/RCTFont+Private.h +16 -0
  296. package/React/Views/RCTFont.h +3 -1
  297. package/React/Views/RCTFont.mm +13 -2
  298. package/React/Views/RCTLayout.m +21 -25
  299. package/React/Views/RCTModalHostView.h +2 -2
  300. package/React/Views/RCTModalHostView.m +2 -2
  301. package/React/Views/RCTModalHostViewController.h +2 -2
  302. package/React/Views/RCTModalHostViewController.m +2 -2
  303. package/React/Views/RCTModalHostViewManager.h +2 -2
  304. package/React/Views/RCTModalHostViewManager.m +2 -2
  305. package/React/Views/RCTModalManager.h +2 -2
  306. package/React/Views/RCTModalManager.m +2 -2
  307. package/React/Views/RCTRootShadowView.m +3 -3
  308. package/React/Views/RCTShadowView+Layout.m +12 -15
  309. package/React/Views/RCTShadowView.m +5 -6
  310. package/React/Views/RCTSwitch.h +2 -2
  311. package/React/Views/RCTSwitch.m +2 -2
  312. package/React/Views/RCTSwitchManager.h +2 -2
  313. package/React/Views/RCTSwitchManager.m +2 -2
  314. package/React/Views/RCTViewManager.m +2 -2
  315. package/React/Views/RefreshControl/RCTRefreshControl.h +2 -2
  316. package/React/Views/RefreshControl/RCTRefreshControl.m +2 -2
  317. package/React/Views/RefreshControl/RCTRefreshControlManager.h +2 -2
  318. package/React/Views/RefreshControl/RCTRefreshControlManager.m +2 -2
  319. package/React/Views/SafeAreaView/RCTSafeAreaShadowView.h +2 -2
  320. package/React/Views/SafeAreaView/RCTSafeAreaShadowView.m +2 -2
  321. package/React/Views/SafeAreaView/RCTSafeAreaView.h +2 -2
  322. package/React/Views/SafeAreaView/RCTSafeAreaView.m +2 -2
  323. package/React/Views/SafeAreaView/RCTSafeAreaViewLocalData.h +2 -2
  324. package/React/Views/SafeAreaView/RCTSafeAreaViewLocalData.m +2 -2
  325. package/React/Views/SafeAreaView/RCTSafeAreaViewManager.h +2 -2
  326. package/React/Views/SafeAreaView/RCTSafeAreaViewManager.m +2 -2
  327. package/React/Views/ScrollView/RCTScrollContentShadowView.h +2 -2
  328. package/React/Views/ScrollView/RCTScrollContentShadowView.m +2 -2
  329. package/React/Views/ScrollView/RCTScrollContentView.h +2 -2
  330. package/React/Views/ScrollView/RCTScrollContentView.m +2 -2
  331. package/React/Views/ScrollView/RCTScrollContentViewManager.h +2 -2
  332. package/React/Views/ScrollView/RCTScrollContentViewManager.m +2 -2
  333. package/React/Views/ScrollView/RCTScrollView.h +2 -2
  334. package/React/Views/ScrollView/RCTScrollView.m +6 -7
  335. package/React/Views/ScrollView/RCTScrollViewManager.h +3 -3
  336. package/React/Views/ScrollView/RCTScrollViewManager.m +4 -7
  337. package/ReactAndroid/api/ReactAndroid.api +92 -10
  338. package/ReactAndroid/build.gradle.kts +8 -5
  339. package/ReactAndroid/external-artifacts/build.gradle.kts +2 -47
  340. package/ReactAndroid/gradle.properties +1 -1
  341. package/ReactAndroid/hermes-engine/build.gradle.kts +4 -11
  342. package/ReactAndroid/proguard-rules.pro +5 -0
  343. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +25 -1
  344. package/ReactAndroid/src/main/java/com/facebook/react/ReactDelegate.kt +5 -1
  345. package/ReactAndroid/src/main/java/com/facebook/react/ReactHost.kt +21 -0
  346. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +0 -11
  347. package/ReactAndroid/src/main/java/com/facebook/react/animated/InterpolationAnimatedNode.kt +2 -2
  348. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java +1 -1
  349. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContextBaseJavaModule.kt +1 -1
  350. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableNativeArray.kt +37 -9
  351. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableNativeMap.kt +87 -50
  352. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultNewArchitectureEntryPoint.kt +1 -7
  353. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgelessDevSupportManager.kt +1 -1
  354. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/CxxInspectorPackagerConnection.kt +1 -0
  355. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevLoadingViewImplementation.kt +13 -3
  356. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevMenuConfiguration.kt +20 -0
  357. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.kt +5 -1
  358. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.kt +134 -31
  359. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ReleaseDevSupportManager.kt +13 -1
  360. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/InspectorNetworkRequestListener.kt +7 -0
  361. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevLoadingViewManager.kt +2 -0
  362. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.kt +16 -0
  363. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorDevHelper.kt +4 -0
  364. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorInspectorTargetBinding.kt +13 -2
  365. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorOverlayManager.kt +108 -0
  366. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorOverlayView.kt +219 -0
  367. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorUpdateListener.kt +4 -9
  368. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +41 -56
  369. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.kt +47 -32
  370. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.kt +13 -26
  371. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +143 -5
  372. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DestroyUnmountedViewMountItem.kt +3 -3
  373. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.kt +2 -4
  374. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PrefetchResourcesMountItem.kt +35 -0
  375. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEventMountItem.kt +6 -6
  376. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SynchronousMountItem.kt +38 -0
  377. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +101 -11
  378. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +170 -20
  379. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +35 -5
  380. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +40 -10
  381. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +188 -23
  382. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Canary_Android.kt +2 -2
  383. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Experimental_Android.kt +3 -1
  384. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Stable_Android.kt +3 -9
  385. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +35 -5
  386. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeNewArchitectureFeatureFlagsDefaults.kt +5 -3
  387. package/ReactAndroid/src/main/java/com/facebook/react/internal/tracing/PerformanceTracer.kt +109 -0
  388. package/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/AccessibilityInfoModule.kt +3 -3
  389. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.kt +12 -0
  390. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.kt +9 -2
  391. package/ReactAndroid/src/main/java/com/facebook/react/modules/devloading/DevLoadingModule.kt +3 -1
  392. package/ReactAndroid/src/main/java/com/facebook/react/modules/image/ImageLoaderModule.kt +2 -2
  393. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/InspectorNetworkReporter.kt +11 -11
  394. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkEventUtil.kt +20 -11
  395. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.kt +126 -11
  396. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ProgressRequestBody.kt +20 -0
  397. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoHelpers.kt +3 -3
  398. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoModule.kt +1 -10
  399. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +2 -2
  400. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/PackagerConnectionSettings.kt +20 -4
  401. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessReactContext.kt +13 -2
  402. package/ReactAndroid/src/main/java/com/facebook/react/runtime/JSTimerExecutor.kt +9 -4
  403. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.kt +127 -91
  404. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImplDevHelper.kt +1 -1
  405. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostInspectorTarget.kt +15 -12
  406. package/ReactAndroid/src/main/java/com/facebook/react/runtime/{BridgelessReactStateTracker.kt → ReactHostStateTracker.kt} +6 -7
  407. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.kt +1 -5
  408. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactLifecycleStateManager.kt +9 -11
  409. package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.kt +0 -8
  410. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BackgroundStyleApplicator.kt +261 -147
  411. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BlendModeHelper.kt +14 -1
  412. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ComponentNameResolver.kt +11 -1
  413. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ComponentNameResolverBinding.kt +12 -0
  414. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/DisplayMetricsHolder.kt +6 -1
  415. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/FilterHelper.kt +16 -0
  416. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/FloatUtil.kt +33 -0
  417. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LengthPercentage.kt +7 -9
  418. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +3 -5
  419. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactRoot.kt +66 -0
  420. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNodeImpl.java +1 -3
  421. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerHelper.kt +2 -1
  422. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +1 -6
  423. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +2 -2
  424. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManager.java +3 -2
  425. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewProps.kt +3 -0
  426. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BackgroundDrawable.kt +0 -48
  427. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BackgroundImageDrawable.kt +415 -0
  428. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/CompositeBackgroundDrawable.kt +15 -18
  429. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationController.kt +22 -174
  430. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BackgroundImageLayer.kt +1 -3
  431. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BackgroundPosition.kt +59 -0
  432. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BackgroundRepeat.kt +46 -0
  433. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BackgroundSize.kt +103 -0
  434. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderColors.kt +5 -5
  435. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BoxShadow.kt +1 -1
  436. package/ReactAndroid/src/main/java/com/facebook/react/views/image/MultiPostprocessor.kt +1 -1
  437. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +107 -14
  438. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.kt +6 -0
  439. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +101 -16
  440. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.kt +63 -18
  441. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.kt +6 -0
  442. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ScrollEvent.kt +5 -1
  443. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VirtualViewContainer.kt +50 -51
  444. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VirtualViewContainerStateClassic.kt +92 -0
  445. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VirtualViewContainerStateExperimental.kt +526 -0
  446. package/ReactAndroid/src/main/java/com/facebook/react/views/text/DefaultStyleValuesUtil.kt +4 -0
  447. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.kt +3 -5
  448. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageShadowNode.kt +2 -0
  449. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/ReactTextInlineImageShadowNode.kt +7 -0
  450. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/CustomStyleSpan.kt +4 -0
  451. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.kt +16 -7
  452. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.kt +22 -0
  453. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.kt +78 -1
  454. package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/view/ReactVirtualView.kt +16 -5
  455. package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/viewexperimental/ReactVirtualViewExperimental.kt +61 -3
  456. package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/viewexperimental/ReactVirtualViewExperimentalManager.kt +2 -2
  457. package/ReactAndroid/src/main/jni/CMakeLists.txt +15 -0
  458. package/ReactAndroid/src/main/jni/first-party/fbgloginit/fb/glog_init.h +1 -1
  459. package/ReactAndroid/src/main/jni/first-party/fbgloginit/glog_init.cpp +1 -1
  460. package/ReactAndroid/src/main/jni/first-party/jni-hack/real/jni.h +656 -643
  461. package/ReactAndroid/src/main/jni/first-party/jni-lib-merge/jni_lib_merge.h +57 -59
  462. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNIVanilla.cpp +3 -2
  463. package/ReactAndroid/src/main/jni/react/devsupport/CMakeLists.txt +8 -1
  464. package/ReactAndroid/src/main/jni/react/devsupport/JCxxInspectorPackagerConnection.h +10 -12
  465. package/ReactAndroid/src/main/jni/react/devsupport/JCxxInspectorPackagerConnectionDelegateImpl.h +6 -14
  466. package/ReactAndroid/src/main/jni/react/devsupport/JCxxInspectorPackagerConnectionWebSocket.h +2 -4
  467. package/ReactAndroid/src/main/jni/react/devsupport/JCxxInspectorPackagerConnectionWebSocketDelegate.h +4 -8
  468. package/ReactAndroid/src/main/jni/react/devsupport/JInspectorFlags.h +3 -4
  469. package/ReactAndroid/src/main/jni/react/devsupport/JInspectorNetworkReporter.cpp +26 -23
  470. package/ReactAndroid/src/main/jni/react/devsupport/JInspectorNetworkReporter.h +13 -21
  471. package/ReactAndroid/src/main/jni/react/fabric/AndroidEventBeat.h +4 -5
  472. package/ReactAndroid/src/main/jni/react/fabric/ComponentFactory.h +2 -3
  473. package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.cpp +53 -47
  474. package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.h +3 -2
  475. package/ReactAndroid/src/main/jni/react/fabric/EventBeatManager.h +4 -6
  476. package/ReactAndroid/src/main/jni/react/fabric/EventEmitterWrapper.h +5 -7
  477. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.cpp +87 -58
  478. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.h +12 -23
  479. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.h +22 -46
  480. package/ReactAndroid/src/main/jni/react/fabric/FocusOrderingHelper.cpp +6 -4
  481. package/ReactAndroid/src/main/jni/react/fabric/FocusOrderingHelper.h +7 -7
  482. package/ReactAndroid/src/main/jni/react/fabric/JFabricUIManager.h +2 -3
  483. package/ReactAndroid/src/main/jni/react/fabric/MountItem.h +11 -19
  484. package/ReactAndroid/src/main/jni/react/fabric/StateWrapperImpl.h +3 -5
  485. package/ReactAndroid/src/main/jni/react/fabric/SurfaceHandlerBinding.h +5 -9
  486. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +236 -26
  487. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +51 -6
  488. package/ReactAndroid/src/main/jni/react/hermes/instrumentation/HermesMemoryDumper.h +13 -14
  489. package/ReactAndroid/src/main/jni/react/hermes/instrumentation/HermesSamplingProfiler.h +4 -7
  490. package/ReactAndroid/src/main/jni/react/hermes/reactexecutor/OnLoad.cpp +2 -1
  491. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp +5 -5
  492. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.h +23 -40
  493. package/ReactAndroid/src/main/jni/react/jni/CxxModuleWrapper.h +7 -8
  494. package/ReactAndroid/src/main/jni/react/jni/CxxModuleWrapperBase.h +6 -9
  495. package/ReactAndroid/src/main/jni/react/jni/InspectorNetworkRequestListener.h +5 -11
  496. package/ReactAndroid/src/main/jni/react/jni/JCallback.h +6 -6
  497. package/ReactAndroid/src/main/jni/react/jni/JDynamicNative.cpp +7 -4
  498. package/ReactAndroid/src/main/jni/react/jni/JDynamicNative.h +3 -3
  499. package/ReactAndroid/src/main/jni/react/jni/JMessageQueueThread.h +3 -4
  500. package/ReactAndroid/src/main/jni/react/jni/JReactCxxErrorHandler.h +1 -2
  501. package/ReactAndroid/src/main/jni/react/jni/JReactMarker.h +8 -22
  502. package/ReactAndroid/src/main/jni/react/jni/JReactSoftExceptionLogger.h +3 -7
  503. package/ReactAndroid/src/main/jni/react/jni/JRuntimeExecutor.h +1 -2
  504. package/ReactAndroid/src/main/jni/react/jni/JRuntimeScheduler.h +1 -2
  505. package/ReactAndroid/src/main/jni/react/jni/JSLoader.cpp +1 -1
  506. package/ReactAndroid/src/main/jni/react/jni/JSLoader.h +2 -5
  507. package/ReactAndroid/src/main/jni/react/jni/JSLogging.h +1 -1
  508. package/ReactAndroid/src/main/jni/react/jni/JWeakRefUtils.h +2 -2
  509. package/ReactAndroid/src/main/jni/react/jni/JavaModuleWrapper.cpp +1 -1
  510. package/ReactAndroid/src/main/jni/react/jni/JavaModuleWrapper.h +19 -28
  511. package/ReactAndroid/src/main/jni/react/jni/JavaScriptExecutorHolder.h +6 -8
  512. package/ReactAndroid/src/main/jni/react/jni/JniJSModulesUnbundle.cpp +1 -1
  513. package/ReactAndroid/src/main/jni/react/jni/JniJSModulesUnbundle.h +10 -17
  514. package/ReactAndroid/src/main/jni/react/jni/MethodInvoker.cpp +1 -1
  515. package/ReactAndroid/src/main/jni/react/jni/MethodInvoker.h +11 -13
  516. package/ReactAndroid/src/main/jni/react/jni/ModuleRegistryBuilder.cpp +10 -8
  517. package/ReactAndroid/src/main/jni/react/jni/ModuleRegistryBuilder.h +6 -11
  518. package/ReactAndroid/src/main/jni/react/jni/NativeArray.h +7 -7
  519. package/ReactAndroid/src/main/jni/react/jni/NativeCommon.h +5 -6
  520. package/ReactAndroid/src/main/jni/react/jni/NativeMap.h +6 -6
  521. package/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp +1 -1
  522. package/ReactAndroid/src/main/jni/react/jni/ReactInstanceManagerInspectorTarget.h +16 -28
  523. package/ReactAndroid/src/main/jni/react/jni/ReadableNativeArray.h +6 -8
  524. package/ReactAndroid/src/main/jni/react/jni/ReadableNativeMap.h +4 -9
  525. package/ReactAndroid/src/main/jni/react/jni/SafeReleaseJniRef.h +20 -12
  526. package/ReactAndroid/src/main/jni/react/jni/TransformHelper.h +1 -2
  527. package/ReactAndroid/src/main/jni/react/jni/WritableNativeArray.h +6 -9
  528. package/ReactAndroid/src/main/jni/react/jni/WritableNativeMap.h +7 -10
  529. package/ReactAndroid/src/main/jni/react/mapbuffer/react/common/mapbuffer/JReadableMapBuffer.h +3 -5
  530. package/ReactAndroid/src/main/jni/react/mapbuffer/react/common/mapbuffer/JWritableMapBuffer.h +1 -2
  531. package/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultComponentsRegistry.cpp +7 -6
  532. package/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultComponentsRegistry.h +5 -11
  533. package/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultTurboModuleManagerDelegate.h +12 -21
  534. package/ReactAndroid/src/main/jni/react/reactnativeblob/BlobCollector.h +4 -8
  535. package/ReactAndroid/src/main/jni/react/reactperflogger/reactperflogger/JNativeModulePerfLogger.h +2 -4
  536. package/ReactAndroid/src/main/jni/react/runtime/cxxreactpackage/ReactCommon/CxxReactPackage.h +3 -4
  537. package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/JHermesInstance.h +5 -11
  538. package/ReactAndroid/src/main/jni/react/runtime/jni/JBindingsInstaller.h +2 -4
  539. package/ReactAndroid/src/main/jni/react/runtime/jni/JJSRuntimeFactory.h +2 -4
  540. package/ReactAndroid/src/main/jni/react/runtime/jni/JJSTimerExecutor.cpp +6 -0
  541. package/ReactAndroid/src/main/jni/react/runtime/jni/JJSTimerExecutor.h +6 -5
  542. package/ReactAndroid/src/main/jni/react/runtime/jni/JJavaTimerManager.h +1 -2
  543. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactExceptionManager.h +3 -7
  544. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.cpp +15 -12
  545. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.h +44 -58
  546. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactInstance.cpp +2 -10
  547. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactInstance.h +14 -36
  548. package/ReactAndroid/src/main/jni/react/runtime/jni/JavaTimerRegistry.h +1 -2
  549. package/ReactAndroid/src/main/jni/react/tracing/OnLoad.cpp +16 -0
  550. package/ReactAndroid/src/main/jni/react/tracing/PerformanceTracerCxxInterop.cpp +241 -0
  551. package/ReactAndroid/src/main/jni/react/tracing/PerformanceTracerCxxInterop.h +63 -0
  552. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/BindingsInstallerHolder.h +7 -14
  553. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/CallInvokerHolder.h +3 -3
  554. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/NativeMethodCallInvokerHolder.h +5 -7
  555. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.h +9 -19
  556. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManagerDelegate.h +6 -8
  557. package/ReactAndroid/src/main/jni/react/uimanager/ComponentNameResolverBinding.h +2 -4
  558. package/ReactAndroid/src/main/jni/react/uimanager/UIConstantsProviderBinding.h +19 -30
  559. package/ReactAndroid/src/main/res/devsupport/values/strings.xml +2 -0
  560. package/ReactAndroid/src/main/res/views/uimanager/values-bn/strings.xml +1 -1
  561. package/ReactApple/RCTAnimatedModuleProvider/RCTAnimatedModuleProvider.h +26 -0
  562. package/ReactApple/RCTAnimatedModuleProvider/RCTAnimatedModuleProvider.mm +94 -0
  563. package/ReactApple/RCTSwiftUI/RCTSwiftUI.podspec +39 -0
  564. package/ReactApple/RCTSwiftUI/RCTSwiftUIContainerView.swift +132 -0
  565. package/ReactApple/RCTSwiftUIWrapper/RCTSwiftUIContainerViewWrapper.h +29 -0
  566. package/ReactApple/RCTSwiftUIWrapper/RCTSwiftUIContainerViewWrapper.m +81 -0
  567. package/ReactApple/RCTSwiftUIWrapper/RCTSwiftUIWrapper.podspec +38 -0
  568. package/ReactCommon/React-Fabric.podspec +17 -0
  569. package/ReactCommon/callinvoker/ReactCommon/CallInvoker.h +13 -16
  570. package/ReactCommon/callinvoker/ReactCommon/tests/TestCallInvoker.h +10 -7
  571. package/ReactCommon/cxxreact/CxxModule.h +58 -87
  572. package/ReactCommon/cxxreact/CxxNativeModule.cpp +2 -2
  573. package/ReactCommon/cxxreact/CxxNativeModule.h +10 -19
  574. package/ReactCommon/cxxreact/ErrorUtils.h +4 -6
  575. package/ReactCommon/cxxreact/Instance.cpp +2 -2
  576. package/ReactCommon/cxxreact/Instance.h +24 -41
  577. package/ReactCommon/cxxreact/JSBigString.cpp +1 -1
  578. package/ReactCommon/cxxreact/JSBigString.h +28 -20
  579. package/ReactCommon/cxxreact/JSBundleType.h +5 -4
  580. package/ReactCommon/cxxreact/JSExecutor.cpp +2 -2
  581. package/ReactCommon/cxxreact/JSExecutor.h +22 -40
  582. package/ReactCommon/cxxreact/JSIndexedRAMBundle.cpp +2 -2
  583. package/ReactCommon/cxxreact/JSIndexedRAMBundle.h +13 -20
  584. package/ReactCommon/cxxreact/JSModulesUnbundle.h +7 -7
  585. package/ReactCommon/cxxreact/JsArgumentHelpers-inl.h +33 -41
  586. package/ReactCommon/cxxreact/JsArgumentHelpers.h +17 -26
  587. package/ReactCommon/cxxreact/MessageQueueThread.h +2 -2
  588. package/ReactCommon/cxxreact/MethodCall.cpp +2 -2
  589. package/ReactCommon/cxxreact/MethodCall.h +8 -10
  590. package/ReactCommon/cxxreact/ModuleRegistry.cpp +3 -3
  591. package/ReactCommon/cxxreact/ModuleRegistry.h +10 -23
  592. package/ReactCommon/cxxreact/MoveWrapper.h +17 -11
  593. package/ReactCommon/cxxreact/NativeModule.h +9 -15
  594. package/ReactCommon/cxxreact/NativeToJsBridge.cpp +4 -4
  595. package/ReactCommon/cxxreact/NativeToJsBridge.h +11 -17
  596. package/ReactCommon/cxxreact/RAMBundleRegistry.cpp +4 -4
  597. package/ReactCommon/cxxreact/RAMBundleRegistry.h +8 -11
  598. package/ReactCommon/cxxreact/React-cxxreact.podspec +1 -0
  599. package/ReactCommon/cxxreact/ReactMarker.h +15 -23
  600. package/ReactCommon/cxxreact/ReactNativeVersion.h +4 -4
  601. package/ReactCommon/cxxreact/RecoverableError.h +6 -5
  602. package/ReactCommon/cxxreact/SystraceSection.h +4 -4
  603. package/ReactCommon/cxxreact/TraceSection.h +25 -35
  604. package/ReactCommon/devtoolsruntimesettings/DevToolsRuntimeSettings.h +9 -12
  605. package/ReactCommon/hermes/executor/HermesExecutorFactory.h +9 -14
  606. package/ReactCommon/hermes/inspector-modern/chrome/ConnectionDemux.cpp +3 -2
  607. package/ReactCommon/hermes/inspector-modern/chrome/ConnectionDemux.h +7 -14
  608. package/ReactCommon/hermes/inspector-modern/chrome/HermesRuntimeAgentDelegate.cpp +26 -25
  609. package/ReactCommon/hermes/inspector-modern/chrome/HermesRuntimeAgentDelegate.h +8 -11
  610. package/ReactCommon/hermes/inspector-modern/chrome/HermesRuntimeSamplingProfileSerializer.h +4 -3
  611. package/ReactCommon/hermes/inspector-modern/chrome/HermesRuntimeTargetDelegate.cpp +54 -0
  612. package/ReactCommon/hermes/inspector-modern/chrome/HermesRuntimeTargetDelegate.h +9 -15
  613. package/ReactCommon/hermes/inspector-modern/chrome/Registration.h +1 -3
  614. package/ReactCommon/jsc/JSCRuntime.cpp +85 -62
  615. package/ReactCommon/jserrorhandler/JsErrorHandler.cpp +1 -1
  616. package/ReactCommon/jserrorhandler/JsErrorHandler.h +7 -21
  617. package/ReactCommon/jserrorhandler/StackTraceParser.h +1 -3
  618. package/ReactCommon/jserrorhandler/tests/StackTraceParserTest.cpp +599 -233
  619. package/ReactCommon/jsi/jsi/decorator.h +112 -108
  620. package/ReactCommon/jsi/jsi/hermes.h +189 -0
  621. package/ReactCommon/jsi/jsi/instrumentation.h +3 -0
  622. package/ReactCommon/jsi/jsi/jsi.cpp +4 -0
  623. package/ReactCommon/jsi/jsi/test/testlib.cpp +86 -67
  624. package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +1 -0
  625. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp +13 -8
  626. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.h +32 -43
  627. package/ReactCommon/jsiexecutor/jsireact/JSINativeModules.cpp +2 -2
  628. package/ReactCommon/jsiexecutor/jsireact/JSINativeModules.h +5 -8
  629. package/ReactCommon/jsinspector-modern/Base64.h +11 -10
  630. package/ReactCommon/jsinspector-modern/CMakeLists.txt +1 -0
  631. package/ReactCommon/jsinspector-modern/ConsoleMessage.h +13 -18
  632. package/ReactCommon/jsinspector-modern/EnumArray.h +46 -0
  633. package/ReactCommon/jsinspector-modern/ExecutionContext.h +14 -22
  634. package/ReactCommon/jsinspector-modern/FallbackRuntimeAgentDelegate.cpp +10 -9
  635. package/ReactCommon/jsinspector-modern/FallbackRuntimeAgentDelegate.h +2 -2
  636. package/ReactCommon/jsinspector-modern/FallbackRuntimeTargetDelegate.cpp +6 -0
  637. package/ReactCommon/jsinspector-modern/FallbackRuntimeTargetDelegate.h +7 -9
  638. package/ReactCommon/jsinspector-modern/HostAgent.cpp +124 -40
  639. package/ReactCommon/jsinspector-modern/HostAgent.h +30 -14
  640. package/ReactCommon/jsinspector-modern/HostTarget.cpp +75 -34
  641. package/ReactCommon/jsinspector-modern/HostTarget.h +73 -51
  642. package/ReactCommon/jsinspector-modern/HostTargetTraceRecording.h +7 -7
  643. package/ReactCommon/jsinspector-modern/InspectorFlags.cpp +9 -5
  644. package/ReactCommon/jsinspector-modern/InspectorFlags.h +14 -7
  645. package/ReactCommon/jsinspector-modern/InspectorInterfaces.cpp +42 -0
  646. package/ReactCommon/jsinspector-modern/InspectorInterfaces.h +22 -16
  647. package/ReactCommon/jsinspector-modern/InspectorPackagerConnection.cpp +9 -7
  648. package/ReactCommon/jsinspector-modern/InspectorPackagerConnection.h +2 -4
  649. package/ReactCommon/jsinspector-modern/InspectorPackagerConnectionImpl.h +18 -29
  650. package/ReactCommon/jsinspector-modern/InstanceAgent.cpp +17 -15
  651. package/ReactCommon/jsinspector-modern/InstanceAgent.h +7 -10
  652. package/ReactCommon/jsinspector-modern/InstanceTarget.h +15 -22
  653. package/ReactCommon/jsinspector-modern/NetworkIOAgent.cpp +84 -68
  654. package/ReactCommon/jsinspector-modern/NetworkIOAgent.h +30 -34
  655. package/ReactCommon/jsinspector-modern/PerfMonitorV2.cpp +6 -68
  656. package/ReactCommon/jsinspector-modern/PerfMonitorV2.h +7 -28
  657. package/ReactCommon/jsinspector-modern/React-jsinspector.podspec +1 -1
  658. package/ReactCommon/jsinspector-modern/RuntimeAgent.cpp +52 -34
  659. package/ReactCommon/jsinspector-modern/RuntimeAgent.h +10 -29
  660. package/ReactCommon/jsinspector-modern/RuntimeAgentDelegate.h +3 -2
  661. package/ReactCommon/jsinspector-modern/RuntimeTarget.cpp +95 -18
  662. package/ReactCommon/jsinspector-modern/RuntimeTarget.h +93 -44
  663. package/ReactCommon/jsinspector-modern/RuntimeTargetConsole.cpp +43 -45
  664. package/ReactCommon/jsinspector-modern/RuntimeTargetNetwork.cpp +98 -0
  665. package/ReactCommon/jsinspector-modern/ScopedExecutor.h +43 -18
  666. package/ReactCommon/jsinspector-modern/SessionState.h +2 -2
  667. package/ReactCommon/jsinspector-modern/StackTrace.h +6 -5
  668. package/ReactCommon/jsinspector-modern/TracingAgent.cpp +40 -26
  669. package/ReactCommon/jsinspector-modern/TracingAgent.h +10 -11
  670. package/ReactCommon/jsinspector-modern/UniqueMonostate.h +14 -9
  671. package/ReactCommon/jsinspector-modern/Utf8.h +4 -5
  672. package/ReactCommon/jsinspector-modern/WeakList.h +9 -5
  673. package/ReactCommon/jsinspector-modern/WebSocketInterfaces.h +1 -3
  674. package/ReactCommon/jsinspector-modern/cdp/CdpJson.cpp +2 -2
  675. package/ReactCommon/jsinspector-modern/cdp/CdpJson.h +6 -15
  676. package/ReactCommon/jsinspector-modern/network/BoundedRequestBuffer.cpp +2 -2
  677. package/ReactCommon/jsinspector-modern/network/BoundedRequestBuffer.h +3 -7
  678. package/ReactCommon/jsinspector-modern/network/CMakeLists.txt +1 -3
  679. package/ReactCommon/jsinspector-modern/network/CdpNetwork.cpp +9 -20
  680. package/ReactCommon/jsinspector-modern/network/CdpNetwork.h +7 -14
  681. package/ReactCommon/jsinspector-modern/network/HttpUtils.cpp +2 -1
  682. package/ReactCommon/jsinspector-modern/network/HttpUtils.h +4 -3
  683. package/ReactCommon/jsinspector-modern/network/NetworkHandler.cpp +246 -0
  684. package/ReactCommon/jsinspector-modern/network/NetworkHandler.h +147 -0
  685. package/ReactCommon/jsinspector-modern/network/React-jsinspectornetwork.podspec +0 -3
  686. package/ReactCommon/jsinspector-modern/tests/ConsoleApiTest.cpp +24 -14
  687. package/ReactCommon/jsinspector-modern/tests/DebuggerSessionObserverTest.cpp +195 -0
  688. package/ReactCommon/jsinspector-modern/tests/FollyDynamicMatchers.h +16 -22
  689. package/ReactCommon/jsinspector-modern/tests/GmockHelpers.h +25 -0
  690. package/ReactCommon/jsinspector-modern/tests/HostTargetTest.cpp +8 -5
  691. package/ReactCommon/jsinspector-modern/tests/InspectorMocks.h +55 -57
  692. package/ReactCommon/jsinspector-modern/tests/InspectorPackagerConnectionTest.cpp +163 -124
  693. package/ReactCommon/jsinspector-modern/tests/JsiIntegrationTest.cpp +120 -24
  694. package/ReactCommon/jsinspector-modern/tests/JsiIntegrationTest.h +107 -43
  695. package/ReactCommon/jsinspector-modern/tests/NetworkReporterTest.cpp +825 -0
  696. package/ReactCommon/jsinspector-modern/tests/ReactInstanceIntegrationTest.cpp +15 -28
  697. package/ReactCommon/jsinspector-modern/tests/ReactInstanceIntegrationTest.h +9 -12
  698. package/ReactCommon/jsinspector-modern/tests/ReactNativeMocks.h +5 -4
  699. package/ReactCommon/jsinspector-modern/tests/UniquePtrFactory.h +21 -20
  700. package/ReactCommon/jsinspector-modern/tests/engines/JsiIntegrationTestGenericEngineAdapter.cpp +0 -5
  701. package/ReactCommon/jsinspector-modern/tests/engines/JsiIntegrationTestGenericEngineAdapter.h +4 -4
  702. package/ReactCommon/jsinspector-modern/tests/engines/JsiIntegrationTestHermesEngineAdapter.cpp +6 -5
  703. package/ReactCommon/jsinspector-modern/tests/engines/JsiIntegrationTestHermesEngineAdapter.h +4 -4
  704. package/ReactCommon/jsinspector-modern/tests/utils/InspectorFlagOverridesGuard.cpp +12 -0
  705. package/ReactCommon/jsinspector-modern/tests/utils/InspectorFlagOverridesGuard.h +6 -7
  706. package/ReactCommon/jsinspector-modern/tracing/CMakeLists.txt +2 -0
  707. package/ReactCommon/jsinspector-modern/tracing/ConsoleTimeStamp.cpp +22 -0
  708. package/ReactCommon/jsinspector-modern/tracing/ConsoleTimeStamp.h +8 -3
  709. package/ReactCommon/jsinspector-modern/tracing/EventLoopReporter.h +4 -4
  710. package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.cpp +369 -123
  711. package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.h +144 -30
  712. package/ReactCommon/jsinspector-modern/tracing/ProfileTreeNode.h +22 -20
  713. package/ReactCommon/jsinspector-modern/tracing/React-jsinspectortracing.podspec +6 -0
  714. package/ReactCommon/jsinspector-modern/tracing/RuntimeSamplingProfile.h +22 -18
  715. package/ReactCommon/jsinspector-modern/tracing/RuntimeSamplingProfileTraceEventSerializer.h +8 -9
  716. package/ReactCommon/jsinspector-modern/tracing/TargetTracingAgent.h +3 -2
  717. package/ReactCommon/jsinspector-modern/tracing/Timing.h +8 -12
  718. package/ReactCommon/jsinspector-modern/tracing/TraceEvent.h +8 -2
  719. package/ReactCommon/jsinspector-modern/tracing/TraceEventSerializer.cpp +3 -0
  720. package/ReactCommon/jsinspector-modern/tracing/TraceEventSerializer.h +6 -10
  721. package/ReactCommon/jsinspector-modern/tracing/TraceRecordingStateSerializer.h +4 -4
  722. package/ReactCommon/jsinspector-modern/tracing/tests/ProfileTreeNodeTest.cpp +12 -4
  723. package/ReactCommon/jsitooling/React-jsitooling.podspec +1 -0
  724. package/ReactCommon/jsitooling/react/runtime/JSRuntimeFactory.h +7 -9
  725. package/ReactCommon/jsitooling/react/runtime/JSRuntimeFactoryCAPI.h +1 -1
  726. package/ReactCommon/logger/react_native_log.h +7 -7
  727. package/ReactCommon/react/bridging/AString.h +8 -6
  728. package/ReactCommon/react/bridging/Array.h +32 -49
  729. package/ReactCommon/react/bridging/Base.h +27 -76
  730. package/ReactCommon/react/bridging/Bool.h +4 -2
  731. package/ReactCommon/react/bridging/CallbackWrapper.h +19 -18
  732. package/ReactCommon/react/bridging/Class.h +25 -48
  733. package/ReactCommon/react/bridging/Convert.h +38 -31
  734. package/ReactCommon/react/bridging/Dynamic.h +4 -2
  735. package/ReactCommon/react/bridging/Error.h +11 -6
  736. package/ReactCommon/react/bridging/EventEmitter.h +47 -45
  737. package/ReactCommon/react/bridging/Function.h +69 -89
  738. package/ReactCommon/react/bridging/HighResTimeStamp.h +8 -8
  739. package/ReactCommon/react/bridging/LongLivedObject.h +6 -6
  740. package/ReactCommon/react/bridging/Number.h +16 -8
  741. package/ReactCommon/react/bridging/Object.h +17 -24
  742. package/ReactCommon/react/bridging/Promise.h +17 -17
  743. package/ReactCommon/react/bridging/Value.h +20 -29
  744. package/ReactCommon/react/bridging/tests/BridgingTest.cpp +16 -13
  745. package/ReactCommon/react/bridging/tests/BridgingTest.h +24 -16
  746. package/ReactCommon/react/bridging/tests/ClassTest.cpp +6 -5
  747. package/ReactCommon/react/debug/react_native_assert.h +2 -7
  748. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +69 -9
  749. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +85 -10
  750. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +361 -91
  751. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +36 -6
  752. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +70 -10
  753. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +151 -16
  754. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSCanary.h +2 -2
  755. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSExperimental.h +5 -1
  756. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSStable.h +11 -7
  757. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +18 -3
  758. package/ReactCommon/react/nativemodule/core/ReactCommon/CxxTurboModuleUtils.h +2 -6
  759. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboCxxModule.h +7 -16
  760. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModule.h +24 -36
  761. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +0 -1
  762. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.h +8 -10
  763. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModulePerfLogger.h +38 -67
  764. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +5 -8
  765. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleWithJSIBindings.h +2 -4
  766. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaInteropTurboModule.h +5 -7
  767. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +2 -1
  768. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.h +11 -13
  769. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.mm +8 -7
  770. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +15 -15
  771. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.h +7 -0
  772. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.mm +38 -12
  773. package/ReactCommon/react/nativemodule/core/tests/TurboModuleTestFixture.h +57 -37
  774. package/ReactCommon/react/nativemodule/cputime/CPUTime.h +17 -14
  775. package/ReactCommon/react/nativemodule/cputime/NativeCPUTime.h +2 -2
  776. package/ReactCommon/react/nativemodule/defaults/CMakeLists.txt +1 -0
  777. package/ReactCommon/react/nativemodule/defaults/DefaultTurboModules.cpp +7 -0
  778. package/ReactCommon/react/nativemodule/defaults/DefaultTurboModules.h +2 -2
  779. package/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec +7 -2
  780. package/ReactCommon/react/nativemodule/devtoolsruntimesettings/DevToolsRuntimeSettingsModule.h +3 -6
  781. package/ReactCommon/react/nativemodule/dom/NativeDOM.h +28 -66
  782. package/ReactCommon/react/nativemodule/fantomtestspecificmethods/NativeFantomTestSpecificMethods.h +4 -7
  783. package/ReactCommon/react/nativemodule/fantomtestspecificmethods/internal/FantomForcedCloneCommitHook.cpp +4 -3
  784. package/ReactCommon/react/nativemodule/fantomtestspecificmethods/internal/FantomForcedCloneCommitHook.h +5 -7
  785. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +86 -11
  786. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +36 -6
  787. package/ReactCommon/react/nativemodule/idlecallbacks/NativeIdleCallbacks.h +6 -10
  788. package/ReactCommon/react/nativemodule/intersectionobserver/NativeIntersectionObserver.cpp +2 -0
  789. package/ReactCommon/react/nativemodule/intersectionobserver/NativeIntersectionObserver.h +43 -48
  790. package/ReactCommon/react/nativemodule/intersectionobserver/React-intersectionobservernativemodule.podspec +66 -0
  791. package/ReactCommon/react/nativemodule/microtasks/NativeMicrotasks.h +1 -1
  792. package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.cpp +8 -7
  793. package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.h +20 -31
  794. package/ReactCommon/react/nativemodule/samples/platform/android/ReactCommon/SampleTurboModuleJSIBindings.h +4 -6
  795. package/ReactCommon/react/nativemodule/samples/platform/android/ReactCommon/SampleTurboModuleSpec.h +3 -3
  796. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleLegacyModule.mm +10 -16
  797. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboModule.mm +6 -8
  798. package/ReactCommon/react/nativemodule/webperformance/NativePerformance.cpp +3 -0
  799. package/ReactCommon/react/nativemodule/webperformance/NativePerformance.h +40 -58
  800. package/ReactCommon/react/nativemodule/webperformance/React-webperformancenativemodule.podspec +2 -0
  801. package/ReactCommon/react/networking/CMakeLists.txt +30 -0
  802. package/ReactCommon/react/networking/NetworkReporter.cpp +251 -0
  803. package/ReactCommon/react/networking/NetworkReporter.h +148 -0
  804. package/ReactCommon/{jsinspector-modern/network → react/networking}/NetworkTypes.h +2 -2
  805. package/ReactCommon/react/networking/React-networking.podspec +52 -0
  806. package/ReactCommon/react/performance/cdpmetrics/CdpInteractionTypes.cpp +1 -1
  807. package/ReactCommon/react/performance/cdpmetrics/CdpInteractionTypes.h +3 -4
  808. package/ReactCommon/react/performance/cdpmetrics/CdpMetricsReporter.cpp +1 -24
  809. package/ReactCommon/react/performance/cdpmetrics/CdpMetricsReporter.h +5 -6
  810. package/ReactCommon/react/performance/cdpmetrics/CdpPerfIssuesReporter.cpp +60 -0
  811. package/ReactCommon/react/performance/cdpmetrics/CdpPerfIssuesReporter.h +37 -0
  812. package/ReactCommon/react/performance/timeline/CircularBuffer.h +24 -19
  813. package/ReactCommon/react/performance/timeline/PerformanceEntry.h +10 -9
  814. package/ReactCommon/react/performance/timeline/PerformanceEntryBuffer.h +4 -6
  815. package/ReactCommon/react/performance/timeline/PerformanceEntryCircularBuffer.h +4 -6
  816. package/ReactCommon/react/performance/timeline/PerformanceEntryKeyedBuffer.h +5 -7
  817. package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.cpp +33 -26
  818. package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.h +42 -51
  819. package/ReactCommon/react/performance/timeline/PerformanceEntryReporterListeners.h +10 -4
  820. package/ReactCommon/react/performance/timeline/PerformanceObserver.h +16 -19
  821. package/ReactCommon/react/performance/timeline/PerformanceObserverRegistry.h +2 -5
  822. package/ReactCommon/react/performance/timeline/tests/PerformanceObserverTest.cpp +6 -2
  823. package/ReactCommon/react/renderer/animated/AnimatedModule.cpp +17 -14
  824. package/ReactCommon/react/renderer/animated/AnimatedModule.h +31 -40
  825. package/ReactCommon/react/renderer/animated/CMakeLists.txt +2 -0
  826. package/ReactCommon/react/renderer/animated/EventEmitterListener.h +10 -11
  827. package/ReactCommon/react/renderer/animated/MergedValueDispatcher.h +4 -7
  828. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.cpp +250 -30
  829. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.h +55 -51
  830. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManagerProvider.cpp +52 -25
  831. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManagerProvider.h +18 -21
  832. package/ReactCommon/react/renderer/animated/drivers/AnimationDriver.h +16 -12
  833. package/ReactCommon/react/renderer/animated/drivers/AnimationDriverUtils.h +3 -3
  834. package/ReactCommon/react/renderer/animated/drivers/DecayAnimationDriver.h +1 -1
  835. package/ReactCommon/react/renderer/animated/drivers/FrameAnimationDriver.h +1 -1
  836. package/ReactCommon/react/renderer/animated/drivers/SpringAnimationDriver.h +2 -3
  837. package/ReactCommon/react/renderer/animated/event_drivers/EventAnimationDriver.h +9 -10
  838. package/ReactCommon/react/renderer/animated/internal/AnimatedMountingOverrideDelegate.cpp +6 -5
  839. package/ReactCommon/react/renderer/animated/internal/AnimatedMountingOverrideDelegate.h +4 -6
  840. package/ReactCommon/react/renderer/animated/internal/NativeAnimatedAllowlist.h +2 -1
  841. package/ReactCommon/react/renderer/animated/nodes/AdditionAnimatedNode.h +4 -5
  842. package/ReactCommon/react/renderer/animated/nodes/AnimatedNode.cpp +2 -0
  843. package/ReactCommon/react/renderer/animated/nodes/AnimatedNode.h +20 -17
  844. package/ReactCommon/react/renderer/animated/nodes/ColorAnimatedNode.h +1 -4
  845. package/ReactCommon/react/renderer/animated/nodes/DiffClampAnimatedNode.h +1 -4
  846. package/ReactCommon/react/renderer/animated/nodes/DivisionAnimatedNode.h +4 -5
  847. package/ReactCommon/react/renderer/animated/nodes/InterpolationAnimatedNode.h +1 -4
  848. package/ReactCommon/react/renderer/animated/nodes/ModulusAnimatedNode.h +1 -4
  849. package/ReactCommon/react/renderer/animated/nodes/MultiplicationAnimatedNode.h +4 -5
  850. package/ReactCommon/react/renderer/animated/nodes/ObjectAnimatedNode.cpp +121 -0
  851. package/ReactCommon/react/renderer/animated/nodes/ObjectAnimatedNode.h +33 -0
  852. package/ReactCommon/react/renderer/animated/nodes/PropsAnimatedNode.cpp +7 -0
  853. package/ReactCommon/react/renderer/animated/nodes/PropsAnimatedNode.h +5 -6
  854. package/ReactCommon/react/renderer/animated/nodes/RoundAnimatedNode.h +1 -4
  855. package/ReactCommon/react/renderer/animated/nodes/StyleAnimatedNode.cpp +7 -0
  856. package/ReactCommon/react/renderer/animated/nodes/StyleAnimatedNode.h +4 -6
  857. package/ReactCommon/react/renderer/animated/nodes/SubtractionAnimatedNode.h +4 -5
  858. package/ReactCommon/react/renderer/animated/nodes/TrackingAnimatedNode.h +1 -4
  859. package/ReactCommon/react/renderer/animated/nodes/TransformAnimatedNode.h +2 -5
  860. package/ReactCommon/react/renderer/animated/nodes/ValueAnimatedNode.h +5 -10
  861. package/ReactCommon/react/renderer/animated/tests/AnimatedNodeTests.cpp +51 -0
  862. package/ReactCommon/react/renderer/animated/tests/AnimationTestsBase.h +9 -5
  863. package/ReactCommon/react/renderer/animationbackend/AnimatedProps.h +40 -0
  864. package/ReactCommon/react/renderer/animationbackend/AnimatedPropsBuilder.h +52 -0
  865. package/ReactCommon/react/renderer/animationbackend/AnimationBackend.cpp +176 -0
  866. package/ReactCommon/react/renderer/animationbackend/AnimationBackend.h +59 -0
  867. package/ReactCommon/react/renderer/animationbackend/CMakeLists.txt +28 -0
  868. package/ReactCommon/react/renderer/animations/LayoutAnimationCallbackWrapper.h +6 -3
  869. package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.cpp +3 -2
  870. package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.h +7 -10
  871. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +52 -42
  872. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.h +35 -47
  873. package/ReactCommon/react/renderer/animations/conversions.h +36 -45
  874. package/ReactCommon/react/renderer/animations/primitives.h +2 -9
  875. package/ReactCommon/react/renderer/animations/tests/LayoutAnimationTest.cpp +50 -35
  876. package/ReactCommon/react/renderer/animations/utils.h +24 -38
  877. package/ReactCommon/react/renderer/attributedstring/AttributedString.cpp +6 -5
  878. package/ReactCommon/react/renderer/attributedstring/AttributedString.h +17 -18
  879. package/ReactCommon/react/renderer/attributedstring/AttributedStringBox.cpp +2 -2
  880. package/ReactCommon/react/renderer/attributedstring/AttributedStringBox.h +12 -14
  881. package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.h +4 -4
  882. package/ReactCommon/react/renderer/attributedstring/PlaceholderAttributedString.h +3 -5
  883. package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +6 -6
  884. package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +3 -3
  885. package/ReactCommon/react/renderer/attributedstring/conversions.h +145 -208
  886. package/ReactCommon/react/renderer/attributedstring/primitives.h +1 -6
  887. package/ReactCommon/react/renderer/bridging/bridging.h +7 -12
  888. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorFactory.h +3 -4
  889. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorProvider.h +6 -6
  890. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorProviderRegistry.h +7 -12
  891. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +3 -3
  892. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.h +11 -18
  893. package/ReactCommon/react/renderer/componentregistry/native/NativeComponentRegistryBinding.h +2 -5
  894. package/ReactCommon/react/renderer/components/image/ImageComponentDescriptor.cpp +2 -1
  895. package/ReactCommon/react/renderer/components/image/ImageComponentDescriptor.h +3 -5
  896. package/ReactCommon/react/renderer/components/image/ImageEventEmitter.h +2 -2
  897. package/ReactCommon/react/renderer/components/image/ImageProps.cpp +2 -2
  898. package/ReactCommon/react/renderer/components/image/ImageProps.h +4 -10
  899. package/ReactCommon/react/renderer/components/image/ImageShadowNode.cpp +18 -0
  900. package/ReactCommon/react/renderer/components/image/ImageShadowNode.h +9 -10
  901. package/ReactCommon/react/renderer/components/image/ImageState.h +9 -10
  902. package/ReactCommon/react/renderer/components/image/conversions.h +16 -25
  903. package/ReactCommon/react/renderer/components/inputaccessory/InputAccessoryComponentDescriptor.h +6 -12
  904. package/ReactCommon/react/renderer/components/inputaccessory/InputAccessoryShadowNode.h +2 -1
  905. package/ReactCommon/react/renderer/components/inputaccessory/InputAccessoryState.h +2 -2
  906. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.h +2 -3
  907. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.mm +3 -3
  908. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropViewProps.h +3 -3
  909. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/UnstableLegacyViewManagerAutomaticComponentDescriptor.h +5 -5
  910. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/UnstableLegacyViewManagerAutomaticShadowNode.h +2 -3
  911. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/UnstableLegacyViewManagerInteropComponentDescriptor.h +6 -7
  912. package/ReactCommon/react/renderer/components/modal/ModalHostViewComponentDescriptor.h +9 -18
  913. package/ReactCommon/react/renderer/components/modal/ModalHostViewShadowNode.h +2 -1
  914. package/ReactCommon/react/renderer/components/modal/ModalHostViewState.h +5 -7
  915. package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarComponentDescriptor.h +10 -14
  916. package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarMeasurementsManager.h +5 -7
  917. package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarShadowNode.cpp +1 -0
  918. package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarShadowNode.h +4 -6
  919. package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/conversions.h +2 -1
  920. package/ReactCommon/react/renderer/components/root/RootProps.cpp +1 -1
  921. package/ReactCommon/react/renderer/components/root/RootProps.h +5 -8
  922. package/ReactCommon/react/renderer/components/root/RootShadowNode.h +7 -8
  923. package/ReactCommon/react/renderer/components/safeareaview/SafeAreaViewComponentDescriptor.h +5 -8
  924. package/ReactCommon/react/renderer/components/safeareaview/SafeAreaViewShadowNode.h +2 -5
  925. package/ReactCommon/react/renderer/components/safeareaview/SafeAreaViewState.h +8 -9
  926. package/ReactCommon/react/renderer/components/scrollview/BaseScrollViewProps.h +7 -12
  927. package/ReactCommon/react/renderer/components/scrollview/ScrollEvent.h +8 -8
  928. package/ReactCommon/react/renderer/components/scrollview/ScrollViewComponentDescriptor.h +1 -2
  929. package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.h +7 -8
  930. package/ReactCommon/react/renderer/components/scrollview/ScrollViewShadowNode.h +5 -8
  931. package/ReactCommon/react/renderer/components/scrollview/ScrollViewState.h +7 -12
  932. package/ReactCommon/react/renderer/components/scrollview/conversions.h +26 -34
  933. package/ReactCommon/react/renderer/components/scrollview/platform/android/react/renderer/components/scrollview/AndroidHorizontalScrollContentViewShadowNode.h +5 -1
  934. package/ReactCommon/react/renderer/components/scrollview/platform/android/react/renderer/components/scrollview/HostPlatformScrollViewProps.cpp +52 -4
  935. package/ReactCommon/react/renderer/components/scrollview/platform/android/react/renderer/components/scrollview/HostPlatformScrollViewProps.h +10 -10
  936. package/ReactCommon/react/renderer/components/scrollview/primitives.h +5 -8
  937. package/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchComponentDescriptor.h +9 -11
  938. package/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchMeasurementsManager.h +4 -3
  939. package/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchShadowNode.h +6 -10
  940. package/ReactCommon/react/renderer/components/switch/iosswitch/react/renderer/components/switch/AppleSwitchComponentDescriptor.h +6 -5
  941. package/ReactCommon/react/renderer/components/switch/iosswitch/react/renderer/components/switch/AppleSwitchShadowNode.h +5 -8
  942. package/ReactCommon/react/renderer/components/text/BaseParagraphProps.h +6 -9
  943. package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +1 -1
  944. package/ReactCommon/react/renderer/components/text/BaseTextProps.h +4 -12
  945. package/ReactCommon/react/renderer/components/text/BaseTextShadowNode.cpp +3 -2
  946. package/ReactCommon/react/renderer/components/text/BaseTextShadowNode.h +5 -5
  947. package/ReactCommon/react/renderer/components/text/ParagraphComponentDescriptor.h +8 -9
  948. package/ReactCommon/react/renderer/components/text/ParagraphEventEmitter.h +1 -1
  949. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp +19 -16
  950. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.h +19 -29
  951. package/ReactCommon/react/renderer/components/text/RawTextComponentDescriptor.h +1 -2
  952. package/ReactCommon/react/renderer/components/text/RawTextProps.cpp +1 -1
  953. package/ReactCommon/react/renderer/components/text/RawTextProps.h +2 -5
  954. package/ReactCommon/react/renderer/components/text/RawTextShadowNode.cpp +1 -0
  955. package/ReactCommon/react/renderer/components/text/RawTextShadowNode.h +1 -4
  956. package/ReactCommon/react/renderer/components/text/TextProps.cpp +1 -1
  957. package/ReactCommon/react/renderer/components/text/TextProps.h +4 -10
  958. package/ReactCommon/react/renderer/components/text/TextShadowNode.h +8 -17
  959. package/ReactCommon/react/renderer/components/text/platform/android/react/renderer/components/text/HostPlatformParagraphProps.cpp +1 -1
  960. package/ReactCommon/react/renderer/components/text/platform/android/react/renderer/components/text/HostPlatformParagraphProps.h +6 -9
  961. package/ReactCommon/react/renderer/components/text/platform/android/react/renderer/components/text/ParagraphState.h +8 -9
  962. package/ReactCommon/react/renderer/components/text/platform/android/react/renderer/components/text/conversions.h +4 -5
  963. package/ReactCommon/react/renderer/components/text/stateConversions.h +2 -1
  964. package/ReactCommon/react/renderer/components/text/tests/BaseTextShadowNodeTest.cpp +26 -24
  965. package/ReactCommon/react/renderer/components/textinput/BaseTextInputProps.h +6 -9
  966. package/ReactCommon/react/renderer/components/textinput/BaseTextInputShadowNode.h +56 -78
  967. package/ReactCommon/react/renderer/components/textinput/TextInputEventEmitter.h +12 -14
  968. package/ReactCommon/react/renderer/components/textinput/TextInputState.h +3 -1
  969. package/ReactCommon/react/renderer/components/textinput/baseConversions.h +4 -5
  970. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputComponentDescriptor.h +31 -49
  971. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputProps.h +16 -19
  972. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.cpp +6 -5
  973. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.h +10 -16
  974. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputState.h +8 -12
  975. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputComponentDescriptor.h +8 -7
  976. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputProps.cpp +1 -1
  977. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputProps.h +1 -4
  978. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputShadowNode.h +2 -5
  979. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/conversions.h +11 -20
  980. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/primitives.h +2 -4
  981. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/propsConversions.h +37 -115
  982. package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewComponentDescriptor.h +3 -6
  983. package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewProps.h +1 -1
  984. package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewShadowNode.h +1 -3
  985. package/ReactCommon/react/renderer/components/view/AccessibilityPrimitives.h +25 -95
  986. package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +7 -12
  987. package/ReactCommon/react/renderer/components/view/BackgroundImagePropsConversions.cpp +619 -0
  988. package/ReactCommon/react/renderer/components/view/BackgroundImagePropsConversions.h +44 -0
  989. package/ReactCommon/react/renderer/components/view/BaseTouch.h +7 -10
  990. package/ReactCommon/react/renderer/components/view/BaseViewEventEmitter.h +3 -4
  991. package/ReactCommon/react/renderer/components/view/BaseViewProps.cpp +36 -0
  992. package/ReactCommon/react/renderer/components/view/BaseViewProps.h +23 -17
  993. package/ReactCommon/react/renderer/components/view/BoxShadowPropsConversions.h +27 -40
  994. package/ReactCommon/react/renderer/components/view/CSSConversions.h +12 -11
  995. package/ReactCommon/react/renderer/components/view/ConcreteViewShadowNode.h +27 -34
  996. package/ReactCommon/react/renderer/components/view/FilterPropsConversions.h +46 -70
  997. package/ReactCommon/react/renderer/components/view/LayoutConformanceComponentDescriptor.h +1 -2
  998. package/ReactCommon/react/renderer/components/view/LayoutConformanceProps.h +6 -9
  999. package/ReactCommon/react/renderer/components/view/LayoutConformanceShadowNode.h +6 -7
  1000. package/ReactCommon/react/renderer/components/view/PointerEvent.cpp +40 -21
  1001. package/ReactCommon/react/renderer/components/view/PointerEvent.h +3 -3
  1002. package/ReactCommon/react/renderer/components/view/TouchEvent.cpp +6 -4
  1003. package/ReactCommon/react/renderer/components/view/TouchEvent.h +2 -2
  1004. package/ReactCommon/react/renderer/components/view/TouchEventEmitter.h +2 -8
  1005. package/ReactCommon/react/renderer/components/view/ViewComponentDescriptor.h +5 -4
  1006. package/ReactCommon/react/renderer/components/view/ViewPropsInterpolation.h +14 -20
  1007. package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +1 -1
  1008. package/ReactCommon/react/renderer/components/view/ViewShadowNode.h +7 -15
  1009. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +11 -9
  1010. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.h +20 -40
  1011. package/ReactCommon/react/renderer/components/view/YogaStylableProps.h +10 -14
  1012. package/ReactCommon/react/renderer/components/view/accessibilityPropsConversions.h +85 -42
  1013. package/ReactCommon/react/renderer/components/view/conversions.h +375 -430
  1014. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.cpp +97 -40
  1015. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.h +14 -12
  1016. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +9 -9
  1017. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/NativeDrawable.h +15 -21
  1018. package/ReactCommon/react/renderer/components/view/platform/cxx/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +6 -3
  1019. package/ReactCommon/react/renderer/components/view/primitives.h +32 -34
  1020. package/ReactCommon/react/renderer/components/view/propsConversions.h +135 -522
  1021. package/ReactCommon/react/renderer/components/view/tests/ConversionsTest.cpp +11 -8
  1022. package/ReactCommon/react/renderer/components/view/tests/LayoutTest.cpp +1 -1
  1023. package/ReactCommon/react/renderer/components/view/tests/ViewTest.cpp +13 -13
  1024. package/ReactCommon/react/renderer/components/virtualview/VirtualViewComponentDescriptor.h +1 -2
  1025. package/ReactCommon/react/renderer/components/virtualview/VirtualViewShadowNode.h +4 -5
  1026. package/ReactCommon/react/renderer/components/virtualviewexperimental/VirtualViewExperimentalComponentDescriptor.h +1 -2
  1027. package/ReactCommon/react/renderer/components/virtualviewexperimental/VirtualViewExperimentalShadowNode.h +7 -8
  1028. package/ReactCommon/react/renderer/consistency/ScopedShadowTreeRevisionLock.h +10 -11
  1029. package/ReactCommon/react/renderer/core/ComponentDescriptor.h +15 -23
  1030. package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +49 -63
  1031. package/ReactCommon/react/renderer/core/ConcreteShadowNode.h +34 -35
  1032. package/ReactCommon/react/renderer/core/ConcreteState.h +23 -23
  1033. package/ReactCommon/react/renderer/core/DynamicEventPayload.cpp +3 -3
  1034. package/ReactCommon/react/renderer/core/DynamicEventPayload.h +3 -4
  1035. package/ReactCommon/react/renderer/core/DynamicPropsUtilities.h +4 -8
  1036. package/ReactCommon/react/renderer/core/EventBeat.h +6 -9
  1037. package/ReactCommon/react/renderer/core/EventDispatcher.h +5 -8
  1038. package/ReactCommon/react/renderer/core/EventEmitter.h +11 -16
  1039. package/ReactCommon/react/renderer/core/EventListener.h +3 -3
  1040. package/ReactCommon/react/renderer/core/EventPayload.h +7 -7
  1041. package/ReactCommon/react/renderer/core/EventPipe.h +5 -5
  1042. package/ReactCommon/react/renderer/core/EventQueue.h +6 -10
  1043. package/ReactCommon/react/renderer/core/EventQueueProcessor.h +2 -2
  1044. package/ReactCommon/react/renderer/core/EventTarget.h +4 -6
  1045. package/ReactCommon/react/renderer/core/InstanceHandle.h +2 -5
  1046. package/ReactCommon/react/renderer/core/LayoutConstraints.cpp +4 -2
  1047. package/ReactCommon/react/renderer/core/LayoutConstraints.h +10 -17
  1048. package/ReactCommon/react/renderer/core/LayoutContext.h +5 -3
  1049. package/ReactCommon/react/renderer/core/LayoutMetrics.cpp +14 -14
  1050. package/ReactCommon/react/renderer/core/LayoutMetrics.h +30 -25
  1051. package/ReactCommon/react/renderer/core/LayoutableShadowNode.cpp +16 -12
  1052. package/ReactCommon/react/renderer/core/LayoutableShadowNode.h +14 -26
  1053. package/ReactCommon/react/renderer/core/Props.h +16 -19
  1054. package/ReactCommon/react/renderer/core/PropsMacros.h +50 -79
  1055. package/ReactCommon/react/renderer/core/PropsParserContext.h +7 -7
  1056. package/ReactCommon/react/renderer/core/RawProps.cpp +2 -1
  1057. package/ReactCommon/react/renderer/core/RawProps.h +11 -14
  1058. package/ReactCommon/react/renderer/core/RawPropsKey.h +6 -6
  1059. package/ReactCommon/react/renderer/core/RawPropsKeyMap.h +4 -8
  1060. package/ReactCommon/react/renderer/core/RawPropsParser.h +7 -10
  1061. package/ReactCommon/react/renderer/core/RawPropsPrimitives.h +2 -5
  1062. package/ReactCommon/react/renderer/core/RawValue.h +145 -183
  1063. package/ReactCommon/react/renderer/core/ReactEventPriority.h +3 -4
  1064. package/ReactCommon/react/renderer/core/ReactPrimitives.h +1 -1
  1065. package/ReactCommon/react/renderer/core/Sealable.cpp +1 -1
  1066. package/ReactCommon/react/renderer/core/Sealable.h +6 -5
  1067. package/ReactCommon/react/renderer/core/ShadowNode.cpp +1 -1
  1068. package/ReactCommon/react/renderer/core/ShadowNode.h +44 -70
  1069. package/ReactCommon/react/renderer/core/ShadowNodeFamily.h +15 -21
  1070. package/ReactCommon/react/renderer/core/ShadowNodeFragment.h +6 -6
  1071. package/ReactCommon/react/renderer/core/ShadowNodeTraits.h +8 -4
  1072. package/ReactCommon/react/renderer/core/State.cpp +1 -1
  1073. package/ReactCommon/react/renderer/core/State.h +4 -3
  1074. package/ReactCommon/react/renderer/core/StateData.h +1 -1
  1075. package/ReactCommon/react/renderer/core/StatePipe.h +1 -1
  1076. package/ReactCommon/react/renderer/core/StateUpdate.h +1 -2
  1077. package/ReactCommon/react/renderer/core/ValueFactory.h +1 -1
  1078. package/ReactCommon/react/renderer/core/ValueFactoryEventPayload.h +1 -1
  1079. package/ReactCommon/react/renderer/core/conversions.h +13 -10
  1080. package/ReactCommon/react/renderer/core/graphicsConversions.h +49 -62
  1081. package/ReactCommon/react/renderer/core/propsConversions.h +62 -42
  1082. package/ReactCommon/react/renderer/core/tests/ComponentDescriptorTest.cpp +47 -36
  1083. package/ReactCommon/react/renderer/core/tests/ConcreteShadowNodeTest.cpp +4 -1
  1084. package/ReactCommon/react/renderer/core/tests/FindNodeAtPointTest.cpp +53 -50
  1085. package/ReactCommon/react/renderer/core/tests/LayoutableShadowNodeTest.cpp +95 -95
  1086. package/ReactCommon/react/renderer/core/tests/RawPropsTest.cpp +12 -9
  1087. package/ReactCommon/react/renderer/core/tests/ShadowNodeFamilyTest.cpp +4 -1
  1088. package/ReactCommon/react/renderer/core/tests/ShadowNodeTest.cpp +81 -67
  1089. package/ReactCommon/react/renderer/core/tests/TestComponent.h +14 -17
  1090. package/ReactCommon/react/renderer/core/tests/benchmarks/RawPropsBenchmark.cpp +4 -2
  1091. package/ReactCommon/react/renderer/css/CSSAngle.h +3 -3
  1092. package/ReactCommon/react/renderer/css/CSSAngleUnit.h +4 -2
  1093. package/ReactCommon/react/renderer/css/CSSBackgroundImage.h +864 -0
  1094. package/ReactCommon/react/renderer/css/CSSColor.h +9 -8
  1095. package/ReactCommon/react/renderer/css/CSSColorFunction.h +65 -102
  1096. package/ReactCommon/react/renderer/css/CSSCompoundDataType.h +14 -46
  1097. package/ReactCommon/react/renderer/css/CSSDataType.h +10 -15
  1098. package/ReactCommon/react/renderer/css/CSSFilter.h +38 -58
  1099. package/ReactCommon/react/renderer/css/CSSFontVariant.h +1 -2
  1100. package/ReactCommon/react/renderer/css/CSSHexColor.h +10 -9
  1101. package/ReactCommon/react/renderer/css/CSSKeyword.h +6 -6
  1102. package/ReactCommon/react/renderer/css/CSSLength.h +5 -5
  1103. package/ReactCommon/react/renderer/css/CSSLengthUnit.h +2 -2
  1104. package/ReactCommon/react/renderer/css/CSSList.h +7 -12
  1105. package/ReactCommon/react/renderer/css/CSSNamedColor.h +2 -1
  1106. package/ReactCommon/react/renderer/css/CSSNumber.h +3 -3
  1107. package/ReactCommon/react/renderer/css/CSSPercentage.h +3 -3
  1108. package/ReactCommon/react/renderer/css/CSSRatio.h +10 -13
  1109. package/ReactCommon/react/renderer/css/CSSShadow.h +15 -32
  1110. package/ReactCommon/react/renderer/css/CSSSyntaxParser.h +66 -73
  1111. package/ReactCommon/react/renderer/css/CSSToken.h +18 -14
  1112. package/ReactCommon/react/renderer/css/CSSTokenizer.h +41 -32
  1113. package/ReactCommon/react/renderer/css/CSSTransform.h +70 -107
  1114. package/ReactCommon/react/renderer/css/CSSTransformOrigin.h +28 -49
  1115. package/ReactCommon/react/renderer/css/CSSValueParser.h +46 -76
  1116. package/ReactCommon/react/renderer/css/CSSZero.h +3 -3
  1117. package/ReactCommon/react/renderer/css/tests/CSSBackgroundImageTest.cpp +560 -0
  1118. package/ReactCommon/react/renderer/css/tests/CSSColorTest.cpp +6 -4
  1119. package/ReactCommon/react/renderer/css/tests/CSSFilterTest.cpp +5 -5
  1120. package/ReactCommon/react/renderer/css/tests/CSSFontVariantTest.cpp +3 -2
  1121. package/ReactCommon/react/renderer/css/tests/CSSListTest.cpp +12 -8
  1122. package/ReactCommon/react/renderer/css/tests/CSSShadowTest.cpp +6 -6
  1123. package/ReactCommon/react/renderer/css/tests/CSSSyntaxParserTest.cpp +11 -9
  1124. package/ReactCommon/react/renderer/debug/DebugStringConvertible.h +78 -92
  1125. package/ReactCommon/react/renderer/debug/DebugStringConvertibleItem.h +1 -1
  1126. package/ReactCommon/react/renderer/debug/debugStringConvertibleUtils.h +18 -26
  1127. package/ReactCommon/react/renderer/dom/DOM.cpp +3 -1
  1128. package/ReactCommon/react/renderer/dom/DOM.h +24 -42
  1129. package/ReactCommon/react/renderer/element/ComponentBuilder.cpp +12 -9
  1130. package/ReactCommon/react/renderer/element/ComponentBuilder.h +8 -9
  1131. package/ReactCommon/react/renderer/element/Element.h +37 -35
  1132. package/ReactCommon/react/renderer/element/ElementFragment.h +3 -5
  1133. package/ReactCommon/react/renderer/element/testUtils.h +12 -20
  1134. package/ReactCommon/react/renderer/graphics/BackgroundImage.cpp +23 -0
  1135. package/ReactCommon/react/renderer/graphics/BackgroundImage.h +28 -2
  1136. package/ReactCommon/react/renderer/graphics/BackgroundPosition.h +27 -0
  1137. package/ReactCommon/react/renderer/graphics/BackgroundRepeat.h +29 -0
  1138. package/ReactCommon/react/renderer/graphics/BackgroundSize.h +39 -0
  1139. package/ReactCommon/react/renderer/graphics/BlendMode.h +4 -3
  1140. package/ReactCommon/react/renderer/graphics/BoxShadow.h +5 -3
  1141. package/ReactCommon/react/renderer/graphics/Color.cpp +22 -3
  1142. package/ReactCommon/react/renderer/graphics/Color.h +20 -10
  1143. package/ReactCommon/react/renderer/graphics/ColorStop.cpp +21 -0
  1144. package/ReactCommon/react/renderer/graphics/ColorStop.h +20 -2
  1145. package/ReactCommon/react/renderer/graphics/DoubleConversions.cpp +38 -0
  1146. package/ReactCommon/react/renderer/graphics/DoubleConversions.h +16 -0
  1147. package/ReactCommon/react/renderer/graphics/Filter.h +13 -8
  1148. package/ReactCommon/react/renderer/graphics/Isolation.h +2 -2
  1149. package/ReactCommon/react/renderer/graphics/LinearGradient.cpp +92 -0
  1150. package/ReactCommon/react/renderer/graphics/LinearGradient.h +19 -15
  1151. package/ReactCommon/react/renderer/graphics/Point.h +16 -9
  1152. package/ReactCommon/react/renderer/graphics/RadialGradient.cpp +138 -0
  1153. package/ReactCommon/react/renderer/graphics/RadialGradient.h +47 -29
  1154. package/ReactCommon/react/renderer/graphics/Rect.h +39 -33
  1155. package/ReactCommon/react/renderer/graphics/RectangleCorners.h +11 -17
  1156. package/ReactCommon/react/renderer/graphics/RectangleEdges.h +27 -31
  1157. package/ReactCommon/react/renderer/graphics/Size.h +10 -5
  1158. package/ReactCommon/react/renderer/graphics/Transform.cpp +91 -64
  1159. package/ReactCommon/react/renderer/graphics/Transform.h +39 -49
  1160. package/ReactCommon/react/renderer/graphics/ValueUnit.cpp +41 -0
  1161. package/ReactCommon/react/renderer/graphics/ValueUnit.h +24 -4
  1162. package/ReactCommon/react/renderer/graphics/fromRawValueShared.h +7 -7
  1163. package/ReactCommon/react/renderer/graphics/platform/android/react/renderer/graphics/HostPlatformColor.h +19 -14
  1164. package/ReactCommon/react/renderer/graphics/platform/android/react/renderer/graphics/PlatformColorParser.h +56 -36
  1165. package/ReactCommon/react/renderer/graphics/platform/android/react/renderer/graphics/configurePlatformColorCacheInvalidationHook.cpp +27 -0
  1166. package/ReactCommon/react/renderer/graphics/platform/android/react/renderer/graphics/configurePlatformColorCacheInvalidationHook.h +12 -0
  1167. package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/HostPlatformColor.h +21 -14
  1168. package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/PlatformColorParser.h +7 -11
  1169. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/HostPlatformColor.h +37 -26
  1170. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/HostPlatformColor.mm +14 -14
  1171. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/PlatformColorParser.h +5 -11
  1172. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/PlatformColorParser.mm +10 -9
  1173. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/RCTPlatformColorUtils.h +3 -5
  1174. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/RCTPlatformColorUtils.mm +3 -3
  1175. package/ReactCommon/react/renderer/graphics/rounding.h +28 -18
  1176. package/ReactCommon/react/renderer/imagemanager/ImageManager.h +5 -7
  1177. package/ReactCommon/react/renderer/imagemanager/ImageRequest.h +8 -9
  1178. package/ReactCommon/react/renderer/imagemanager/ImageResponseObserver.h +3 -4
  1179. package/ReactCommon/react/renderer/imagemanager/ImageResponseObserverCoordinator.cpp +3 -5
  1180. package/ReactCommon/react/renderer/imagemanager/ImageResponseObserverCoordinator.h +7 -12
  1181. package/ReactCommon/react/renderer/imagemanager/ImageTelemetry.h +2 -1
  1182. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageFetcher.cpp +19 -41
  1183. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageFetcher.h +14 -23
  1184. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageRequestParams.h +7 -4
  1185. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/conversions.h +21 -39
  1186. package/ReactCommon/react/renderer/imagemanager/platform/cxx/react/renderer/imagemanager/ImageRequestParams.h +4 -2
  1187. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/ImageRequestParams.h +4 -2
  1188. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTImagePrimitivesConversions.h +2 -2
  1189. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTSyncImageManager.mm +1 -1
  1190. package/ReactCommon/react/renderer/imagemanager/primitives.h +25 -31
  1191. package/ReactCommon/react/renderer/leakchecker/LeakChecker.h +1 -2
  1192. package/ReactCommon/react/renderer/leakchecker/WeakFamilyRegistry.h +1 -1
  1193. package/ReactCommon/react/renderer/mapbuffer/MapBuffer.h +6 -7
  1194. package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.h +4 -10
  1195. package/ReactCommon/react/renderer/mounting/Differentiator.cpp +3 -2
  1196. package/ReactCommon/react/renderer/mounting/Differentiator.h +2 -2
  1197. package/ReactCommon/react/renderer/mounting/MountingCoordinator.h +6 -9
  1198. package/ReactCommon/react/renderer/mounting/MountingOverrideDelegate.h +1 -1
  1199. package/ReactCommon/react/renderer/mounting/MountingTransaction.h +8 -10
  1200. package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +22 -13
  1201. package/ReactCommon/react/renderer/mounting/ShadowTree.h +12 -23
  1202. package/ReactCommon/react/renderer/mounting/ShadowTreeDelegate.h +4 -4
  1203. package/ReactCommon/react/renderer/mounting/ShadowTreeRegistry.h +4 -9
  1204. package/ReactCommon/react/renderer/mounting/ShadowView.cpp +11 -8
  1205. package/ReactCommon/react/renderer/mounting/ShadowView.h +11 -10
  1206. package/ReactCommon/react/renderer/mounting/ShadowViewMutation.h +14 -30
  1207. package/ReactCommon/react/renderer/mounting/TelemetryController.h +9 -11
  1208. package/ReactCommon/react/renderer/mounting/internal/CullingContext.cpp +14 -0
  1209. package/ReactCommon/react/renderer/mounting/internal/CullingContext.h +2 -3
  1210. package/ReactCommon/react/renderer/mounting/internal/ShadowViewNodePair.h +9 -6
  1211. package/ReactCommon/react/renderer/mounting/internal/TinyMap.h +18 -14
  1212. package/ReactCommon/react/renderer/mounting/internal/sliceChildShadowNodeViewPairs.cpp +5 -3
  1213. package/ReactCommon/react/renderer/mounting/internal/sliceChildShadowNodeViewPairs.h +4 -4
  1214. package/ReactCommon/react/renderer/mounting/stubs/StubView.h +7 -9
  1215. package/ReactCommon/react/renderer/mounting/stubs/StubViewTree.h +14 -16
  1216. package/ReactCommon/react/renderer/mounting/stubs/stubs.cpp +13 -10
  1217. package/ReactCommon/react/renderer/mounting/stubs/stubs.h +2 -4
  1218. package/ReactCommon/react/renderer/mounting/tests/OrderIndexTest.cpp +2 -1
  1219. package/ReactCommon/react/renderer/mounting/tests/ShadowTreeLifeCycleTest.cpp +40 -22
  1220. package/ReactCommon/react/renderer/mounting/tests/StackingContextTest.cpp +3 -2
  1221. package/ReactCommon/react/renderer/mounting/updateMountedFlag.cpp +6 -0
  1222. package/ReactCommon/react/renderer/mounting/updateMountedFlag.h +2 -2
  1223. package/ReactCommon/react/renderer/observers/events/EventPerformanceLogger.cpp +3 -1
  1224. package/ReactCommon/react/renderer/observers/events/EventPerformanceLogger.h +6 -10
  1225. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserver.cpp +175 -56
  1226. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserver.h +34 -19
  1227. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverManager.cpp +15 -6
  1228. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverManager.h +18 -30
  1229. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverState.h +4 -9
  1230. package/ReactCommon/react/renderer/observers/mutation/MutationObserver.cpp +6 -5
  1231. package/ReactCommon/react/renderer/observers/mutation/MutationObserver.h +20 -24
  1232. package/ReactCommon/react/renderer/observers/mutation/MutationObserverManager.h +14 -17
  1233. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h +36 -62
  1234. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerBinding.cpp +1 -1
  1235. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerBinding.h +4 -5
  1236. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerCallInvoker.h +3 -4
  1237. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerEventTimingDelegate.h +1 -2
  1238. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerIntersectionObserverDelegate.h +1 -2
  1239. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Legacy.h +23 -43
  1240. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.h +31 -56
  1241. package/ReactCommon/react/renderer/runtimescheduler/SchedulerPriorityUtils.h +7 -7
  1242. package/ReactCommon/react/renderer/runtimescheduler/Task.h +6 -13
  1243. package/ReactCommon/react/renderer/runtimescheduler/primitives.h +4 -6
  1244. package/ReactCommon/react/renderer/runtimescheduler/tests/StubClock.h +8 -4
  1245. package/ReactCommon/react/renderer/runtimescheduler/tests/StubErrorUtils.h +9 -12
  1246. package/ReactCommon/react/renderer/runtimescheduler/tests/StubQueue.h +16 -13
  1247. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +12 -36
  1248. package/ReactCommon/react/renderer/scheduler/Scheduler.h +26 -33
  1249. package/ReactCommon/react/renderer/scheduler/SchedulerDelegate.h +11 -22
  1250. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp +3 -3
  1251. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.h +15 -22
  1252. package/ReactCommon/react/renderer/scheduler/SurfaceManager.cpp +5 -5
  1253. package/ReactCommon/react/renderer/scheduler/SurfaceManager.h +13 -17
  1254. package/ReactCommon/react/renderer/telemetry/SurfaceTelemetry.h +1 -3
  1255. package/ReactCommon/react/renderer/telemetry/TransactionTelemetry.h +1 -1
  1256. package/ReactCommon/react/renderer/textlayoutmanager/TextLayoutContext.h +1 -1
  1257. package/ReactCommon/react/renderer/textlayoutmanager/TextLayoutManagerExtended.h +27 -34
  1258. package/ReactCommon/react/renderer/textlayoutmanager/TextMeasureCache.h +68 -106
  1259. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/JPreparedLayout.h +1 -2
  1260. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +9 -7
  1261. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.h +23 -28
  1262. package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/react/renderer/textlayoutmanager/TextLayoutManager.cpp +9 -4
  1263. package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/react/renderer/textlayoutmanager/TextLayoutManager.h +9 -10
  1264. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.h +1 -1
  1265. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.mm +10 -10
  1266. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTFontUtils.h +10 -2
  1267. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTFontUtils.mm +71 -40
  1268. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +6 -7
  1269. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.h +12 -13
  1270. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.mm +2 -2
  1271. package/ReactCommon/react/renderer/uimanager/AppRegistryBinding.h +7 -7
  1272. package/ReactCommon/react/renderer/uimanager/PointerEventsProcessor.cpp +5 -3
  1273. package/ReactCommon/react/renderer/uimanager/PointerEventsProcessor.h +28 -37
  1274. package/ReactCommon/react/renderer/uimanager/PointerHoverTracker.h +7 -14
  1275. package/ReactCommon/react/renderer/uimanager/SurfaceRegistryBinding.h +1 -2
  1276. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +17 -5
  1277. package/ReactCommon/react/renderer/uimanager/UIManager.h +68 -77
  1278. package/ReactCommon/react/renderer/uimanager/UIManagerAnimationBackend.h +24 -0
  1279. package/ReactCommon/react/renderer/uimanager/UIManagerAnimationDelegate.h +5 -6
  1280. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +3 -3
  1281. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.h +13 -15
  1282. package/ReactCommon/react/renderer/uimanager/UIManagerCommitHook.h +12 -23
  1283. package/ReactCommon/react/renderer/uimanager/UIManagerDelegate.h +14 -21
  1284. package/ReactCommon/react/renderer/uimanager/UIManagerMountHook.h +3 -4
  1285. package/ReactCommon/react/renderer/uimanager/UIManagerUpdateShadowTree.cpp +1 -2
  1286. package/ReactCommon/react/renderer/uimanager/consistency/LazyShadowTreeRevisionConsistencyManager.h +6 -11
  1287. package/ReactCommon/react/renderer/uimanager/primitives.h +37 -51
  1288. package/ReactCommon/react/renderer/uimanager/tests/PointerEventsProcessorTest.cpp +4 -2
  1289. package/ReactCommon/react/runtime/BindingsInstaller.h +2 -1
  1290. package/ReactCommon/react/runtime/BridgelessNativeMethodCallInvoker.h +3 -7
  1291. package/ReactCommon/react/runtime/BufferedRuntimeExecutor.h +4 -3
  1292. package/ReactCommon/react/runtime/ReactInstance.cpp +14 -1
  1293. package/ReactCommon/react/runtime/ReactInstance.h +14 -20
  1294. package/ReactCommon/react/runtime/TimerManager.h +17 -25
  1295. package/ReactCommon/react/runtime/nativeviewconfig/LegacyUIManagerConstantsProviderBinding.h +4 -7
  1296. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHermesInstance.h +14 -15
  1297. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHermesInstance.mm +3 -15
  1298. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.h +10 -1
  1299. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.mm +22 -2
  1300. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.h +10 -0
  1301. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.mm +31 -1
  1302. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTJscInstance.h +2 -3
  1303. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTLegacyUIManagerConstantsProvider.h +1 -1
  1304. package/ReactCommon/react/test_utils/Entropy.h +24 -18
  1305. package/ReactCommon/react/test_utils/MockClock.h +5 -4
  1306. package/ReactCommon/react/test_utils/MockSurfaceHandler.h +1 -1
  1307. package/ReactCommon/react/test_utils/ios/RCTSwizzleHelpers.h +1 -4
  1308. package/ReactCommon/react/test_utils/ios/Shims/ShimRCTInstance.mm +9 -6
  1309. package/ReactCommon/react/test_utils/shadowTreeGeneration.h +70 -91
  1310. package/ReactCommon/react/timing/primitives.h +127 -115
  1311. package/ReactCommon/react/utils/CMakeLists.txt +1 -1
  1312. package/ReactCommon/react/utils/ContextContainer.h +16 -13
  1313. package/ReactCommon/react/utils/FloatComparison.h +3 -4
  1314. package/ReactCommon/react/utils/OnScopeExit.h +7 -7
  1315. package/ReactCommon/react/utils/PackTraits.h +5 -4
  1316. package/ReactCommon/react/utils/React-utils.podspec +3 -1
  1317. package/ReactCommon/react/utils/RunLoopObserver.h +4 -7
  1318. package/ReactCommon/react/utils/SharedFunction.h +10 -9
  1319. package/ReactCommon/react/utils/SimpleThreadSafeCache.h +10 -11
  1320. package/ReactCommon/react/utils/Telemetry.h +19 -27
  1321. package/ReactCommon/react/utils/TemplateStringLiteral.h +4 -2
  1322. package/ReactCommon/react/utils/Uuid.cpp +69 -0
  1323. package/ReactCommon/react/utils/Uuid.h +20 -0
  1324. package/ReactCommon/react/utils/fnv1a.h +8 -6
  1325. package/ReactCommon/react/utils/hash_combine.h +5 -3
  1326. package/ReactCommon/react/utils/iequals.h +2 -1
  1327. package/ReactCommon/react/utils/jsi-utils.h +1 -4
  1328. package/ReactCommon/react/utils/platform/android/react/utils/LowPriorityExecutor.cpp +1 -1
  1329. package/ReactCommon/react/utils/platform/android/react/utils/LowPriorityExecutor.h +1 -1
  1330. package/ReactCommon/react/utils/platform/cxx/react/utils/LowPriorityExecutor.h +2 -1
  1331. package/ReactCommon/react/utils/platform/ios/react/utils/FollyConvert.mm +2 -2
  1332. package/ReactCommon/react/utils/platform/ios/react/utils/LowPriorityExecutor.h +1 -1
  1333. package/ReactCommon/react/utils/tests/UuidTest.cpp +28 -0
  1334. package/ReactCommon/react/utils/tests/hash_combineTests.cpp +2 -2
  1335. package/ReactCommon/react/utils/toLower.h +2 -1
  1336. package/ReactCommon/react/utils/to_underlying.h +2 -1
  1337. package/ReactCommon/reactperflogger/fusebox/FuseboxTracer.cpp +24 -16
  1338. package/ReactCommon/reactperflogger/fusebox/FuseboxTracer.h +7 -11
  1339. package/ReactCommon/reactperflogger/reactperflogger/BridgeNativeModulePerfLogger.h +38 -67
  1340. package/ReactCommon/reactperflogger/reactperflogger/FuseboxPerfettoDataSource.h +9 -11
  1341. package/ReactCommon/reactperflogger/reactperflogger/HermesPerfettoDataSource.h +9 -11
  1342. package/ReactCommon/reactperflogger/reactperflogger/NativeModulePerfLogger.h +38 -84
  1343. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfetto.h +2 -2
  1344. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfettoCategories.h +1 -2
  1345. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfettoLogger.h +6 -6
  1346. package/ReactCommon/runtimeexecutor/ReactCommon/RuntimeExecutor.h +1 -2
  1347. package/ReactCommon/runtimeexecutor/platform/cxx/ReactCommon/RuntimeExecutorSyncUIThreadUtils.h +6 -6
  1348. package/ReactCommon/runtimeexecutor/platform/ios/ReactCommon/RuntimeExecutorSyncUIThreadUtils.h +6 -6
  1349. package/ReactCommon/yoga/cmake/yoga-config.cmake.in +1 -1
  1350. package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.cpp +14 -11
  1351. package/flow/bom.js.flow +1 -0
  1352. package/index.js +6 -0
  1353. package/index.js.flow +4 -0
  1354. package/jest/mockComponent.js +6 -6
  1355. package/jest/setup.js +15 -10
  1356. package/package.json +15 -17
  1357. package/scripts/cocoapods/rncore.rb +261 -36
  1358. package/scripts/cocoapods/rndependencies.rb +56 -19
  1359. package/scripts/cocoapods/utils.rb +5 -0
  1360. package/scripts/codegen/codegen-utils.js +2 -2
  1361. package/scripts/codegen/generate-artifacts-executor/generatePackageSwift.js +44 -0
  1362. package/scripts/codegen/generate-artifacts-executor/generateReactCodegenPodspec.js +12 -3
  1363. package/scripts/codegen/generate-artifacts-executor/index.js +75 -29
  1364. package/scripts/codegen/generate-artifacts-executor/utils.js +44 -6
  1365. package/scripts/codegen/templates/Package.swift.template +59 -0
  1366. package/scripts/hermes/hermes-utils.js +52 -304
  1367. package/scripts/react_native_pods.rb +13 -2
  1368. package/scripts/react_native_pods_utils/script_phases.sh +1 -3
  1369. package/sdks/.hermesv1version +1 -0
  1370. package/sdks/.hermesversion +1 -1
  1371. package/sdks/hermes-engine/hermes-engine.podspec +5 -9
  1372. package/sdks/hermes-engine/hermes-utils.rb +24 -27
  1373. package/sdks/hermes-engine/version.properties +2 -1
  1374. package/src/private/components/virtualview/VirtualView.js +22 -27
  1375. package/src/private/components/virtualview/VirtualViewExperimentalNativeComponent.js +6 -0
  1376. package/src/private/featureflags/ReactNativeFeatureFlags.js +100 -19
  1377. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +18 -3
  1378. package/src/private/setup/setUpDefaultReactNativeEnvironment.js +6 -0
  1379. package/src/private/specs_DEPRECATED/modules/NativeNetworkingIOS.js +1 -0
  1380. package/src/private/webapis/dom/nodes/ReactNativeElement.js +12 -2
  1381. package/src/private/webapis/intersectionobserver/IntersectionObserver.js +76 -15
  1382. package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +1 -0
  1383. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +1 -0
  1384. package/src/private/webapis/performance/ResourceTiming.js +31 -4
  1385. package/src/private/webapis/performance/internals/RawPerformanceEntry.js +4 -1
  1386. package/src/private/webapis/performance/specs/NativePerformance.js +3 -0
  1387. package/types/index.d.ts +1 -0
  1388. package/types/public/ReactNativeTypes.d.ts +115 -2
  1389. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +0 -152
  1390. package/React/FBReactNativeSpec/FBReactNativeSpecJSI-generated.cpp +0 -3371
  1391. package/ReactAndroid/src/main/java/com/facebook/react/CoreModulesPackage.kt +0 -207
  1392. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PerfMonitorOverlayViewManager.kt +0 -278
  1393. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/PerfMonitorOverlayManager.kt +0 -20
  1394. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutDirectionUtil.kt +0 -36
  1395. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NoSuchNativeViewException.kt +0 -34
  1396. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactRoot.java +0 -76
  1397. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/YogaNodePool.kt +0 -34
  1398. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/CSSBackgroundDrawable.java +0 -1474
  1399. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/AbstractLayoutAnimation.kt +0 -137
  1400. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/AnimatedPropertyType.kt +0 -42
  1401. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/BaseLayoutAnimation.kt +0 -96
  1402. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/InterpolatorType.kt +0 -43
  1403. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationType.kt +0 -46
  1404. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutCreateAnimation.kt +0 -33
  1405. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutDeleteAnimation.kt +0 -37
  1406. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutHandlingAnimation.kt +0 -42
  1407. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutUpdateAnimation.kt +0 -66
  1408. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/OpacityAnimation.kt +0 -77
  1409. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/PositionAndSizeAnimation.kt +0 -98
  1410. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/SimpleSpringInterpolator.kt +0 -62
  1411. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactRawTextManager.kt +0 -54
  1412. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactRawTextShadowNode.kt +0 -38
  1413. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactVirtualTextShadowNode.kt +0 -34
  1414. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactVirtualTextViewManager.kt +0 -54
  1415. package/ReactCommon/jsinspector-modern/network/NetworkReporter.cpp +0 -316
  1416. package/ReactCommon/jsinspector-modern/network/NetworkReporter.h +0 -211
  1417. package/ReactCommon/jsinspector-modern/tests/RuntimeTargetDebuggerSessionObserverTest.cpp +0 -214
  1418. package/scripts/hermes/prepare-hermes-for-build.js +0 -49
  1419. package/sdks/hermesc/linux64-bin/hermesc +0 -0
  1420. package/sdks/hermesc/osx-bin/hermes +0 -0
  1421. package/sdks/hermesc/osx-bin/hermes-lit +0 -15
  1422. package/sdks/hermesc/osx-bin/hermesc +0 -0
  1423. package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
  1424. package/sdks/hermesc/win64-bin/icudt64.dll +0 -0
  1425. package/sdks/hermesc/win64-bin/icuin64.dll +0 -0
  1426. package/sdks/hermesc/win64-bin/icuio64.dll +0 -0
  1427. package/sdks/hermesc/win64-bin/icutest64.dll +0 -0
  1428. package/sdks/hermesc/win64-bin/icutu64.dll +0 -0
  1429. package/sdks/hermesc/win64-bin/icuuc64.dll +0 -0
  1430. package/sdks/hermesc/win64-bin/msvcp140.dll +0 -0
  1431. package/sdks/hermesc/win64-bin/vcruntime140.dll +0 -0
  1432. package/sdks/hermesc/win64-bin/vcruntime140_1.dll +0 -0
@@ -0,0 +1,560 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ #include <gtest/gtest.h>
9
+ #include <react/renderer/css/CSSBackgroundImage.h>
10
+
11
+ namespace facebook::react {
12
+
13
+ namespace {
14
+
15
+ CSSColorStop
16
+ makeCSSColorStop(uint8_t r, uint8_t g, uint8_t b, uint8_t a = 255) {
17
+ return CSSColorStop{.color = CSSColor{.r = r, .g = g, .b = b, .a = a}};
18
+ }
19
+
20
+ } // namespace
21
+
22
+ class CSSBackgroundImageTest : public ::testing::Test {};
23
+
24
+ TEST_F(CSSBackgroundImageTest, LinearGradientToRight) {
25
+ auto result = parseCSSProperty<CSSBackgroundImage>(
26
+ "linear-gradient(to right, red, blue)");
27
+ decltype(result) expected = CSSLinearGradientFunction{
28
+ .direction =
29
+ CSSLinearGradientDirection{.value = CSSAngle{.degrees = 90.0f}},
30
+ .items = {makeCSSColorStop(255, 0, 0), makeCSSColorStop(0, 0, 255)}};
31
+ ASSERT_EQ(result, expected);
32
+ }
33
+
34
+ TEST_F(CSSBackgroundImageTest, LinearGradientToBottomRight) {
35
+ auto result = parseCSSProperty<CSSBackgroundImage>(
36
+ "linear-gradient(to bottom right, red, blue)");
37
+ decltype(result) expected = CSSLinearGradientFunction{
38
+ .direction =
39
+ CSSLinearGradientDirection{
40
+ .value = CSSLinearGradientDirectionKeyword::ToBottomRight},
41
+ .items = {makeCSSColorStop(255, 0, 0), makeCSSColorStop(0, 0, 255)}};
42
+ ASSERT_EQ(result, expected);
43
+ }
44
+
45
+ TEST_F(CSSBackgroundImageTest, EmptyStringReturnsEmptyArray) {
46
+ auto result = parseCSSProperty<CSSBackgroundImageList>("");
47
+ ASSERT_TRUE(std::holds_alternative<std::monostate>(result));
48
+ }
49
+
50
+ TEST_F(CSSBackgroundImageTest, InvalidValueReturnsEmptyArray) {
51
+ auto result = parseCSSProperty<CSSBackgroundImageList>("linear-");
52
+ ASSERT_TRUE(std::holds_alternative<std::monostate>(result));
53
+ }
54
+
55
+ TEST_F(CSSBackgroundImageTest, LinearGradientWithWhitespacesInDirection) {
56
+ auto result = parseCSSProperty<CSSBackgroundImage>(
57
+ "linear-gradient(to bottom right, red, blue)");
58
+ decltype(result) expected = CSSLinearGradientFunction{
59
+ .direction =
60
+ CSSLinearGradientDirection{
61
+ .value = CSSLinearGradientDirectionKeyword::ToBottomRight},
62
+ .items = {makeCSSColorStop(255, 0, 0), makeCSSColorStop(0, 0, 255)}};
63
+ ASSERT_EQ(result, expected);
64
+ }
65
+
66
+ TEST_F(CSSBackgroundImageTest, LinearGradientWithRandomWhitespaces) {
67
+ auto result = parseCSSProperty<CSSBackgroundImage>(
68
+ " linear-gradient(to bottom right, red 30%, blue 80%) ");
69
+ decltype(result) expected = CSSLinearGradientFunction{
70
+ .direction =
71
+ CSSLinearGradientDirection{
72
+ .value = CSSLinearGradientDirectionKeyword::ToBottomRight},
73
+ .items = {
74
+ CSSColorStop{
75
+ .color = CSSColor{.r = 255, .g = 0, .b = 0, .a = 255},
76
+ .startPosition = CSSPercentage{.value = 30.0f}},
77
+ CSSColorStop{
78
+ .color = CSSColor{.r = 0, .g = 0, .b = 255, .a = 255},
79
+ .startPosition = CSSPercentage{.value = 80.0f}},
80
+ }};
81
+ ASSERT_EQ(result, expected);
82
+ }
83
+
84
+ TEST_F(CSSBackgroundImageTest, LinearGradientWithAngle) {
85
+ auto result =
86
+ parseCSSProperty<CSSBackgroundImage>("linear-gradient(45deg, red, blue)");
87
+ decltype(result) expected = CSSLinearGradientFunction{
88
+ .direction =
89
+ CSSLinearGradientDirection{.value = CSSAngle{.degrees = 45.0f}},
90
+ .items = {makeCSSColorStop(255, 0, 0), makeCSSColorStop(0, 0, 255)}};
91
+ ASSERT_EQ(result, expected);
92
+ }
93
+
94
+ TEST_F(CSSBackgroundImageTest, LinearGradientCaseInsensitive) {
95
+ auto result = parseCSSProperty<CSSBackgroundImage>(
96
+ "LiNeAr-GradieNt(To Bottom, Red, Blue)");
97
+ decltype(result) expected = CSSLinearGradientFunction{
98
+ .direction =
99
+ CSSLinearGradientDirection{.value = CSSAngle{.degrees = 180.0f}},
100
+ .items = {makeCSSColorStop(255, 0, 0), makeCSSColorStop(0, 0, 255)}};
101
+ ASSERT_EQ(result, expected);
102
+ }
103
+
104
+ TEST_F(CSSBackgroundImageTest, MultipleLinearGradientsWithNewlines) {
105
+ auto result = parseCSSProperty<CSSBackgroundImageList>(
106
+ "\n linear-gradient(to top, red, blue),\n linear-gradient(to bottom, green, yellow)");
107
+ decltype(result) expected = CSSBackgroundImageList{
108
+ {CSSLinearGradientFunction{
109
+ .direction =
110
+ CSSLinearGradientDirection{.value = CSSAngle{.degrees = 0.0f}},
111
+ .items =
112
+ {CSSColorStop{
113
+ .color = CSSColor{.r = 255, .g = 0, .b = 0, .a = 255}},
114
+ CSSColorStop{
115
+ .color = CSSColor{.r = 0, .g = 0, .b = 255, .a = 255}}}},
116
+ CSSLinearGradientFunction{
117
+ .direction =
118
+ CSSLinearGradientDirection{.value = CSSAngle{.degrees = 180.0f}},
119
+ .items = {
120
+ CSSColorStop{
121
+ .color = CSSColor{.r = 0, .g = 128, .b = 0, .a = 255}},
122
+ CSSColorStop{
123
+ .color = CSSColor{.r = 255, .g = 255, .b = 0, .a = 255}},
124
+ }}}};
125
+ ASSERT_EQ(result, expected);
126
+ }
127
+
128
+ TEST_F(CSSBackgroundImageTest, LinearGradientWithMultipleColorStops) {
129
+ auto result = parseCSSProperty<CSSBackgroundImage>(
130
+ "linear-gradient(to bottom, red 0%, green 50%, blue 100%)");
131
+ decltype(result) expected = CSSLinearGradientFunction{
132
+ .direction =
133
+ CSSLinearGradientDirection{.value = CSSAngle{.degrees = 180.0f}},
134
+ .items = {
135
+ CSSColorStop{
136
+ .color = CSSColor{.r = 255, .g = 0, .b = 0, .a = 255},
137
+ .startPosition = CSSPercentage{.value = 0.0f}},
138
+ CSSColorStop{
139
+ .color = CSSColor{.r = 0, .g = 128, .b = 0, .a = 255},
140
+ .startPosition = CSSPercentage{.value = 50.0f}},
141
+ CSSColorStop{
142
+ .color = CSSColor{.r = 0, .g = 0, .b = 255, .a = 255},
143
+ .startPosition = CSSPercentage{.value = 100.0f}},
144
+ }};
145
+ ASSERT_EQ(result, expected);
146
+ }
147
+
148
+ TEST_F(CSSBackgroundImageTest, LinearGradientWithColorStopEndPosition) {
149
+ auto result = parseCSSProperty<CSSBackgroundImage>(
150
+ "linear-gradient(red 10% 30%, blue 50%)");
151
+ decltype(result) expected = CSSLinearGradientFunction{
152
+ .direction =
153
+ CSSLinearGradientDirection{.value = CSSAngle{.degrees = 180.0f}},
154
+ .items = {
155
+ CSSColorStop{
156
+ .color = CSSColor{.r = 255, .g = 0, .b = 0, .a = 255},
157
+ .startPosition = CSSPercentage{.value = 10.0f},
158
+ .endPosition = CSSPercentage{.value = 30.0f}},
159
+ CSSColorStop{
160
+ .color = CSSColor{.r = 0, .g = 0, .b = 255, .a = 255},
161
+ .startPosition = CSSPercentage{.value = 50.0f}}}};
162
+ ASSERT_EQ(result, expected);
163
+ }
164
+
165
+ TEST_F(CSSBackgroundImageTest, LinearGradientMixedPositionedStops) {
166
+ auto result = parseCSSProperty<CSSBackgroundImage>(
167
+ "linear-gradient(to right, red, green, blue 60%, yellow, purple)");
168
+ decltype(result) expected = CSSLinearGradientFunction{
169
+ .direction =
170
+ CSSLinearGradientDirection{.value = CSSAngle{.degrees = 90.0f}},
171
+ .items = {
172
+ makeCSSColorStop(255, 0, 0),
173
+ makeCSSColorStop(0, 128, 0),
174
+ CSSColorStop{
175
+ .color = CSSColor{.r = 0, .g = 0, .b = 255, .a = 255},
176
+ .startPosition = CSSPercentage{.value = 60.0f}},
177
+ makeCSSColorStop(255, 255, 0),
178
+ makeCSSColorStop(128, 0, 128),
179
+ }};
180
+ ASSERT_EQ(result, expected);
181
+ }
182
+
183
+ TEST_F(CSSBackgroundImageTest, LinearGradientWithHslColors) {
184
+ auto result = parseCSSProperty<CSSBackgroundImage>(
185
+ "linear-gradient(hsl(330, 100%, 45.1%), hsl(0, 100%, 50%))");
186
+ decltype(result) expected = CSSLinearGradientFunction{
187
+ .direction =
188
+ CSSLinearGradientDirection{.value = CSSAngle{.degrees = 180.0f}},
189
+ .items = {makeCSSColorStop(230, 0, 115), makeCSSColorStop(255, 0, 0)}};
190
+ ASSERT_EQ(result, expected);
191
+ }
192
+
193
+ TEST_F(CSSBackgroundImageTest, LinearGradientWithoutDirection) {
194
+ auto result =
195
+ parseCSSProperty<CSSBackgroundImage>("linear-gradient(#e66465, #9198e5)");
196
+ decltype(result) expected = CSSLinearGradientFunction{
197
+ .direction =
198
+ CSSLinearGradientDirection{.value = CSSAngle{.degrees = 180.0f}},
199
+ .items = {
200
+ makeCSSColorStop(230, 100, 101), makeCSSColorStop(145, 152, 229)}};
201
+ ASSERT_EQ(result, expected);
202
+ }
203
+
204
+ TEST_F(CSSBackgroundImageTest, LinearGradientInvalidCases) {
205
+ const std::vector<std::string> invalidInputs = {
206
+ "linear-gradient(45deg, rede, blue)",
207
+ "linear-gradient(45 deg, red, blue)",
208
+ "linear-gradient(to left2, red, blue)",
209
+ "linear-gradient(to left, red 5, blue)"};
210
+ for (const auto& input : invalidInputs) {
211
+ const auto result = parseCSSProperty<CSSBackgroundImage>(input);
212
+ ASSERT_TRUE(std::holds_alternative<std::monostate>(result))
213
+ << "Input should be invalid: " << input;
214
+ }
215
+ }
216
+
217
+ TEST_F(CSSBackgroundImageTest, LinearGradientWithMultipleTransitionHints) {
218
+ auto result = parseCSSProperty<CSSBackgroundImage>(
219
+ "linear-gradient(red, 20%, blue, 60%, green, 80%, yellow)");
220
+ decltype(result) expected = CSSLinearGradientFunction{
221
+ .direction =
222
+ CSSLinearGradientDirection{.value = CSSAngle{.degrees = 180.0f}},
223
+ .items = {
224
+ makeCSSColorStop(255, 0, 0),
225
+ CSSColorHint{.position = CSSPercentage{.value = 20.0f}},
226
+ makeCSSColorStop(0, 0, 255),
227
+ CSSColorHint{.position = CSSPercentage{.value = 60.0f}},
228
+ makeCSSColorStop(0, 128, 0),
229
+ CSSColorHint{.position = CSSPercentage{.value = 80.0f}},
230
+ makeCSSColorStop(255, 255, 0),
231
+ }};
232
+ ASSERT_EQ(result, expected);
233
+ }
234
+
235
+ TEST_F(CSSBackgroundImageTest, LinearGradientInvalidTransitionHints) {
236
+ const std::vector<std::string> invalidInputs = {
237
+ // color hints must be between two color stops
238
+ "linear-gradient(red, 30%, blue, 60%, green, 80%)",
239
+ "linear-gradient(red, 30%, 60%, green)",
240
+ "linear-gradient(20%, red, green)"};
241
+ for (const auto& input : invalidInputs) {
242
+ const auto result = parseCSSProperty<CSSBackgroundImageList>(input);
243
+ ASSERT_TRUE(std::holds_alternative<std::monostate>(result))
244
+ << "Input should be invalid: " << input;
245
+ }
246
+ }
247
+
248
+ TEST_F(CSSBackgroundImageTest, LinearGradientWithMixedUnits) {
249
+ auto result = parseCSSProperty<CSSBackgroundImage>(
250
+ "linear-gradient(red 10%, 20px, blue 30%, purple 40px)");
251
+ decltype(result) expected = CSSLinearGradientFunction{
252
+ .direction =
253
+ CSSLinearGradientDirection{.value = CSSAngle{.degrees = 180.0f}},
254
+ .items = {
255
+ CSSColorStop{
256
+ .color = CSSColor{.r = 255, .g = 0, .b = 0, .a = 255},
257
+ .startPosition = CSSPercentage{.value = 10.0f}},
258
+ CSSColorHint{
259
+ .position = CSSLength{.value = 20.0f, .unit = CSSLengthUnit::Px}},
260
+ CSSColorStop{
261
+ .color = CSSColor{.r = 0, .g = 0, .b = 255, .a = 255},
262
+ .startPosition = CSSPercentage{.value = 30.0f}},
263
+ CSSColorStop{
264
+ .color = CSSColor{.r = 128, .g = 0, .b = 128, .a = 255},
265
+ .startPosition =
266
+ CSSLength{.value = 40.0f, .unit = CSSLengthUnit::Px}},
267
+ }};
268
+ ASSERT_EQ(result, expected);
269
+ }
270
+
271
+ TEST_F(CSSBackgroundImageTest, RadialGradientBasic) {
272
+ auto result =
273
+ parseCSSProperty<CSSBackgroundImage>("radial-gradient(red, blue)");
274
+ decltype(result) expected = CSSRadialGradientFunction{
275
+ .shape = CSSRadialGradientShape::Ellipse,
276
+ .size = CSSRadialGradientSizeKeyword::FarthestCorner,
277
+ .position =
278
+ CSSRadialGradientPosition{
279
+ .top = CSSPercentage{.value = 50.0f},
280
+ .left = CSSPercentage{.value = 50.0f}},
281
+ .items = {makeCSSColorStop(255, 0, 0), makeCSSColorStop(0, 0, 255)}};
282
+ ASSERT_EQ(result, expected);
283
+ }
284
+
285
+ TEST_F(CSSBackgroundImageTest, RadialGradientInferCircleFromSingleLength) {
286
+ auto result =
287
+ parseCSSProperty<CSSBackgroundImage>("radial-gradient(100px, red, blue)");
288
+ decltype(result) expected = CSSRadialGradientFunction{
289
+ .shape = CSSRadialGradientShape::Circle,
290
+ .size =
291
+ CSSRadialGradientExplicitSize{
292
+ .sizeX = CSSLength{.value = 100.0f, .unit = CSSLengthUnit::Px},
293
+ .sizeY = CSSLength{.value = 100.0f, .unit = CSSLengthUnit::Px}},
294
+ .position =
295
+ CSSRadialGradientPosition{
296
+ .top = CSSPercentage{.value = 50.0f},
297
+ .left = CSSPercentage{.value = 50.0f}},
298
+ .items = {makeCSSColorStop(255, 0, 0), makeCSSColorStop(0, 0, 255)}};
299
+ ASSERT_EQ(result, expected);
300
+ }
301
+
302
+ TEST_F(CSSBackgroundImageTest, RadialGradientInferEllipseFromDoubleLength) {
303
+ auto result = parseCSSProperty<CSSBackgroundImage>(
304
+ "radial-gradient(100px 50px, red, blue)");
305
+ decltype(result) expected = CSSRadialGradientFunction{
306
+ .shape = CSSRadialGradientShape::Ellipse,
307
+ .size =
308
+ CSSRadialGradientExplicitSize{
309
+ .sizeX = CSSLength{.value = 100.0f, .unit = CSSLengthUnit::Px},
310
+ .sizeY = CSSLength{.value = 50.0f, .unit = CSSLengthUnit::Px}},
311
+ .position =
312
+ CSSRadialGradientPosition{
313
+ .top = CSSPercentage{.value = 50.0f},
314
+ .left = CSSPercentage{.value = 50.0f}},
315
+ .items = {makeCSSColorStop(255, 0, 0), makeCSSColorStop(0, 0, 255)}};
316
+ ASSERT_EQ(result, expected);
317
+ }
318
+
319
+ TEST_F(CSSBackgroundImageTest, RadialGradientExplicitShapeWithSize) {
320
+ auto result = parseCSSProperty<CSSBackgroundImage>(
321
+ "radial-gradient(circle 100px at center, red, blue 80%)");
322
+ decltype(result) expected = CSSRadialGradientFunction{
323
+ .shape = CSSRadialGradientShape::Circle,
324
+ .size =
325
+ CSSRadialGradientExplicitSize{
326
+ .sizeX = CSSLength{.value = 100.0f, .unit = CSSLengthUnit::Px},
327
+ .sizeY = CSSLength{.value = 100.0f, .unit = CSSLengthUnit::Px}},
328
+ .position =
329
+ CSSRadialGradientPosition{
330
+ .top = CSSPercentage{.value = 50.0f},
331
+ .left = CSSPercentage{.value = 50.0f}},
332
+ .items = {
333
+ makeCSSColorStop(255, 0, 0),
334
+ CSSColorStop{
335
+ .color = CSSColor{.r = 0, .g = 0, .b = 255, .a = 255},
336
+ .startPosition = CSSPercentage{.value = 80.0f}}}};
337
+ ASSERT_EQ(result, expected);
338
+ }
339
+
340
+ // 1. position syntax: [ left | center | right | top | bottom |
341
+ // <length-percentage> ]
342
+ TEST_F(CSSBackgroundImageTest, RadialGradientPositionLengthSyntax) {
343
+ auto result = parseCSSProperty<CSSBackgroundImage>(
344
+ "radial-gradient(circle at 20px, red, blue)");
345
+ decltype(result) expected = CSSRadialGradientFunction{
346
+ .shape = CSSRadialGradientShape::Circle,
347
+ .size = CSSRadialGradientSizeKeyword::FarthestCorner,
348
+ .position =
349
+ CSSRadialGradientPosition{
350
+ .top = CSSPercentage{.value = 50.0f},
351
+ .left = CSSLength{.value = 20.0f, .unit = CSSLengthUnit::Px}},
352
+ .items = {makeCSSColorStop(255, 0, 0), makeCSSColorStop(0, 0, 255)}};
353
+ ASSERT_EQ(result, expected);
354
+ }
355
+ // 2. position syntax: [ left | center | right ] && [ top | center | bottom ]
356
+ TEST_F(CSSBackgroundImageTest, RadialGradientPositionKeywordCombinations) {
357
+ const std::vector<std::string> inputs = {
358
+ "radial-gradient(circle at left top, red, blue)",
359
+ "radial-gradient(circle at top left, red, blue)"};
360
+ decltype(parseCSSProperty<CSSBackgroundImage>(inputs[0])) expected =
361
+ CSSRadialGradientFunction{
362
+ .shape = CSSRadialGradientShape::Circle,
363
+ .size = CSSRadialGradientSizeKeyword::FarthestCorner,
364
+ .position =
365
+ CSSRadialGradientPosition{
366
+ .top = CSSPercentage{.value = 0.0f},
367
+ .left = CSSPercentage{.value = 0.0f}},
368
+ .items = {makeCSSColorStop(255, 0, 0), makeCSSColorStop(0, 0, 255)}};
369
+ for (const auto& input : inputs) {
370
+ auto result = parseCSSProperty<CSSBackgroundImage>(input);
371
+ ASSERT_EQ(result, expected) << "Failed for input: " << input;
372
+ }
373
+ }
374
+
375
+ // 3. position syntax: [ left | center | right | <length-percentage> ] [ top
376
+ // | center | bottom | <length-percentage> ]
377
+ TEST_F(CSSBackgroundImageTest, RadialGradientComplexPositionSyntax) {
378
+ const std::vector<std::pair<std::string, CSSRadialGradientPosition>>
379
+ testCases = {
380
+ {
381
+ "radial-gradient(circle at left 20px, red, blue)",
382
+ {.top = CSSLength{.value = 20.0f, .unit = CSSLengthUnit::Px},
383
+ .left = CSSPercentage{.value = 0.f}},
384
+ },
385
+ {
386
+ "radial-gradient(circle at 20px 20px, red, blue)",
387
+ {.top = CSSLength{.value = 20.0f, .unit = CSSLengthUnit::Px},
388
+ .left = CSSLength{.value = 20.0f, .unit = CSSLengthUnit::Px}},
389
+ },
390
+ {
391
+ "radial-gradient(circle at right 50px, red, blue)",
392
+ {.top = CSSLength{.value = 50.0f, .unit = CSSLengthUnit::Px},
393
+ .right = CSSPercentage{.value = 0.f}},
394
+ }};
395
+ for (const auto& [input, expectedPosition] : testCases) {
396
+ const auto result = parseCSSProperty<CSSBackgroundImage>(input);
397
+ decltype(result) expected = CSSRadialGradientFunction{
398
+ .shape = CSSRadialGradientShape::Circle,
399
+ .size = CSSRadialGradientSizeKeyword::FarthestCorner,
400
+ .position = expectedPosition,
401
+ .items = {makeCSSColorStop(255, 0, 0), makeCSSColorStop(0, 0, 255)}};
402
+ ASSERT_EQ(result, expected);
403
+ }
404
+ }
405
+
406
+ // 4. position syntax: [ [ left | right ] <length-percentage> ] && [ [ top |
407
+ // bottom ] <length-percentage> ]
408
+ TEST_F(CSSBackgroundImageTest, RadialGradientSeparatePositionPercentages) {
409
+ auto result = parseCSSProperty<CSSBackgroundImage>(
410
+ "radial-gradient(at top 0% right 10%, red, blue)");
411
+ decltype(result) expected = CSSRadialGradientFunction{
412
+ .shape = CSSRadialGradientShape::Ellipse,
413
+ .size = CSSRadialGradientSizeKeyword::FarthestCorner,
414
+ .position =
415
+ CSSRadialGradientPosition{
416
+ .top = CSSPercentage{.value = 0.0f},
417
+ .right = CSSPercentage{.value = 10.0f}},
418
+ .items = {makeCSSColorStop(255, 0, 0), makeCSSColorStop(0, 0, 255)}};
419
+ ASSERT_EQ(result, expected);
420
+ }
421
+
422
+ TEST_F(CSSBackgroundImageTest, RadialGradientWithTransitionHints) {
423
+ auto result = parseCSSProperty<CSSBackgroundImage>(
424
+ "radial-gradient(circle, red 0%, 25%, blue 50%, 75%, green 100%)");
425
+ decltype(result) expected = CSSRadialGradientFunction{
426
+ .shape = CSSRadialGradientShape::Circle,
427
+ .size = CSSRadialGradientSizeKeyword::FarthestCorner,
428
+ .position =
429
+ CSSRadialGradientPosition{
430
+ .top = CSSPercentage{.value = 50.0f},
431
+ .left = CSSPercentage{.value = 50.0f}},
432
+ .items = {
433
+ CSSColorStop{
434
+ .color = CSSColor{.r = 255, .g = 0, .b = 0, .a = 255},
435
+ .startPosition = CSSPercentage{.value = 0.0f}},
436
+ CSSColorHint{.position = CSSPercentage{.value = 25.0f}},
437
+ CSSColorStop{
438
+ .color = CSSColor{.r = 0, .g = 0, .b = 255, .a = 255},
439
+ .startPosition = CSSPercentage{.value = 50.0f}},
440
+ CSSColorHint{.position = CSSPercentage{.value = 75.0f}},
441
+ CSSColorStop{
442
+ .color = CSSColor{.r = 0, .g = 128, .b = 0, .a = 255},
443
+ .startPosition = CSSPercentage{.value = 100.0f}},
444
+ }};
445
+ ASSERT_EQ(result, expected);
446
+ }
447
+
448
+ TEST_F(CSSBackgroundImageTest, MultipleGradientsRadialAndLinear) {
449
+ auto result = parseCSSProperty<CSSBackgroundImageList>(
450
+ "radial-gradient(circle at top left, red, blue), linear-gradient(to bottom, green, yellow)");
451
+ decltype(result) expected = CSSBackgroundImageList{
452
+ {CSSRadialGradientFunction{
453
+ .shape = CSSRadialGradientShape::Circle,
454
+ .size = CSSRadialGradientSizeKeyword::FarthestCorner,
455
+ .position =
456
+ CSSRadialGradientPosition{
457
+ .top = CSSPercentage{.value = 0.0f},
458
+ .left = CSSPercentage{.value = 0.0f}},
459
+ .items = {makeCSSColorStop(255, 0, 0), makeCSSColorStop(0, 0, 255)}},
460
+ CSSLinearGradientFunction{
461
+ .direction =
462
+ CSSLinearGradientDirection{.value = CSSAngle{.degrees = 180.0f}},
463
+ .items = {
464
+ makeCSSColorStop(0, 128, 0), makeCSSColorStop(255, 255, 0)}}}};
465
+ ASSERT_EQ(result, expected);
466
+ }
467
+
468
+ TEST_F(CSSBackgroundImageTest, RadialGradientMixedCase) {
469
+ auto result = parseCSSProperty<CSSBackgroundImage>(
470
+ "RaDiAl-GrAdIeNt(CiRcLe ClOsEsT-sIdE aT cEnTeR, rEd, bLuE)");
471
+ decltype(result) expected = CSSRadialGradientFunction{
472
+ .shape = CSSRadialGradientShape::Circle,
473
+ .size = CSSRadialGradientSizeKeyword::ClosestSide,
474
+ .position =
475
+ CSSRadialGradientPosition{
476
+ .top = CSSPercentage{.value = 50.0f},
477
+ .left = CSSPercentage{.value = 50.0f}},
478
+ .items = {makeCSSColorStop(255, 0, 0), makeCSSColorStop(0, 0, 255)}};
479
+ ASSERT_EQ(result, expected);
480
+ }
481
+
482
+ TEST_F(CSSBackgroundImageTest, RadialGradientWhitespaceVariations) {
483
+ auto result = parseCSSProperty<CSSBackgroundImage>(
484
+ "radial-gradient( circle farthest-corner at 25% 75% , red 0% , blue 100% )");
485
+ decltype(result) expected = CSSRadialGradientFunction{
486
+ .shape = CSSRadialGradientShape::Circle,
487
+ .size = CSSRadialGradientSizeKeyword::FarthestCorner,
488
+ .position =
489
+ CSSRadialGradientPosition{
490
+ .top = CSSPercentage{.value = 75.0f},
491
+ .left = CSSPercentage{.value = 25.0f}},
492
+ .items = {
493
+ CSSColorStop{
494
+ .color = CSSColor{.r = 255, .g = 0, .b = 0, .a = 255},
495
+ .startPosition = CSSPercentage{.value = 0.0f}},
496
+ CSSColorStop{
497
+ .color = CSSColor{.r = 0, .g = 0, .b = 255, .a = 255},
498
+ .startPosition = CSSPercentage{.value = 100.0f}},
499
+ }};
500
+ ASSERT_EQ(result, expected);
501
+ }
502
+
503
+ TEST_F(CSSBackgroundImageTest, RadialGradientInvalidCases) {
504
+ const std::vector<std::string> invalidInputs = {
505
+ "radial-gradient(circle at top leftt, red, blue)",
506
+ "radial-gradient(circle at, red, blue)",
507
+ "radial-gradient(ellipse 100px, red, blue)",
508
+ "radial-gradient(ellipse at top 20% top 50%, red, blue)"};
509
+ for (const auto& input : invalidInputs) {
510
+ const auto result = parseCSSProperty<CSSBackgroundImageList>(input);
511
+ ASSERT_TRUE(std::holds_alternative<std::monostate>(result))
512
+ << "Input should be invalid: " << input;
513
+ }
514
+ }
515
+
516
+ TEST_F(CSSBackgroundImageTest, RadialGradientMultipleColorStops) {
517
+ auto result = parseCSSProperty<CSSBackgroundImage>(
518
+ "radial-gradient(red 0%, yellow 30%, green 60%, blue 100%)");
519
+ decltype(result) expected = CSSRadialGradientFunction{
520
+ .shape = CSSRadialGradientShape::Ellipse,
521
+ .size = CSSRadialGradientSizeKeyword::FarthestCorner,
522
+ .position =
523
+ CSSRadialGradientPosition{
524
+ .top = CSSPercentage{.value = 50.0f},
525
+ .left = CSSPercentage{.value = 50.0f}},
526
+ .items = {
527
+ CSSColorStop{
528
+ .color = CSSColor{.r = 255, .g = 0, .b = 0, .a = 255},
529
+ .startPosition = CSSPercentage{.value = 0.0f}},
530
+ CSSColorStop{
531
+ .color = CSSColor{.r = 255, .g = 255, .b = 0, .a = 255},
532
+ .startPosition = CSSPercentage{.value = 30.0f}},
533
+ CSSColorStop{
534
+ .color = CSSColor{.r = 0, .g = 128, .b = 0, .a = 255},
535
+ .startPosition = CSSPercentage{.value = 60.0f}},
536
+ CSSColorStop{
537
+ .color = CSSColor{.r = 0, .g = 0, .b = 255, .a = 255},
538
+ .startPosition = CSSPercentage{.value = 100.0f}}}};
539
+ ASSERT_EQ(result, expected);
540
+ }
541
+
542
+ TEST_F(CSSBackgroundImageTest, InvalidGradientFunctionName) {
543
+ const std::string input =
544
+ "aoeusntial-gradient(red 0%, yellow 30%, green 60%, blue 100%)";
545
+ const auto result = parseCSSProperty<CSSBackgroundImageList>(input);
546
+ ASSERT_TRUE(std::holds_alternative<std::monostate>(result));
547
+ }
548
+
549
+ TEST_F(CSSBackgroundImageTest, RadialGradientNegativeRadius) {
550
+ const std::vector<std::string> invalidInputs = {
551
+ "radial-gradient(circle -100px, red, blue)",
552
+ "radial-gradient(ellipse 100px -40px, red, blue)"};
553
+ for (const auto& input : invalidInputs) {
554
+ const auto result = parseCSSProperty<CSSBackgroundImageList>(input);
555
+ ASSERT_TRUE(std::holds_alternative<std::monostate>(result))
556
+ << "Input should be invalid: " << input;
557
+ }
558
+ }
559
+
560
+ } // namespace facebook::react
@@ -191,8 +191,9 @@ TEST(CSSColor, rgb_rgba_values) {
191
191
 
192
192
  auto rgbLegacySyntaxWithSolidusAlphaValue =
193
193
  parseCSSProperty<CSSColor>("rgb(1, 4, 5 /0.5)");
194
- EXPECT_TRUE(std::holds_alternative<std::monostate>(
195
- rgbLegacySyntaxWithSolidusAlphaValue));
194
+ EXPECT_TRUE(
195
+ std::holds_alternative<std::monostate>(
196
+ rgbLegacySyntaxWithSolidusAlphaValue));
196
197
 
197
198
  auto rgbaWithSolidusAlphaValue =
198
199
  parseCSSProperty<CSSColor>("rgba(255 255 255 / 0.5)");
@@ -317,8 +318,9 @@ TEST(CSSColor, hsl_hsla_values) {
317
318
 
318
319
  auto rgbLegacySyntaxWithSolidusAlphaValue =
319
320
  parseCSSProperty<CSSColor>("hsl(1, 4, 5 / 0.5)");
320
- EXPECT_TRUE(std::holds_alternative<std::monostate>(
321
- rgbLegacySyntaxWithSolidusAlphaValue));
321
+ EXPECT_TRUE(
322
+ std::holds_alternative<std::monostate>(
323
+ rgbLegacySyntaxWithSolidusAlphaValue));
322
324
 
323
325
  auto hslaWithoutAlphaValue = parseCSSProperty<CSSColor>("hsla(70 190% 75%)");
324
326
  EXPECT_TRUE(std::holds_alternative<CSSColor>(hslaWithoutAlphaValue));
@@ -177,7 +177,7 @@ TEST(CSSFilter, drop_shadow_no_blur_pre_color) {
177
177
  std::get<CSSDropShadowFilter>(value).standardDeviation.unit,
178
178
  CSSLengthUnit::Px);
179
179
 
180
- CSSColor red{255, 0, 0, 255};
180
+ CSSColor red{.r = 255, .g = 0, .b = 0, .a = 255};
181
181
  EXPECT_EQ(std::get<CSSDropShadowFilter>(value).color, red);
182
182
  }
183
183
 
@@ -195,7 +195,7 @@ TEST(CSSFilter, drop_shadow_no_blur_post_color) {
195
195
  EXPECT_EQ(
196
196
  std::get<CSSDropShadowFilter>(value).standardDeviation.unit,
197
197
  CSSLengthUnit::Px);
198
- CSSColor red{255, 0, 0, 255};
198
+ CSSColor red{.r = 255, .g = 0, .b = 0, .a = 255};
199
199
 
200
200
  EXPECT_EQ(std::get<CSSDropShadowFilter>(value).color, red);
201
201
  }
@@ -231,7 +231,7 @@ TEST(CSSFilter, drop_shadow_with_blur_pre_color) {
231
231
  std::get<CSSDropShadowFilter>(value).standardDeviation.unit,
232
232
  CSSLengthUnit::Px);
233
233
 
234
- CSSColor red{255, 0, 0, 255};
234
+ CSSColor red{.r = 255, .g = 0, .b = 0, .a = 255};
235
235
  EXPECT_EQ(std::get<CSSDropShadowFilter>(value).color, red);
236
236
  }
237
237
 
@@ -250,7 +250,7 @@ TEST(CSSFilter, drop_shadow_with_blur_post_color) {
250
250
  std::get<CSSDropShadowFilter>(value).standardDeviation.unit,
251
251
  CSSLengthUnit::Px);
252
252
 
253
- CSSColor red{255, 0, 0, 255};
253
+ CSSColor red{.r = 255, .g = 0, .b = 0, .a = 255};
254
254
  EXPECT_EQ(std::get<CSSDropShadowFilter>(value).color, red);
255
255
  }
256
256
 
@@ -550,7 +550,7 @@ TEST(CSSFilter, filter_list) {
550
550
  EXPECT_EQ(
551
551
  std::get<CSSDropShadowFilter>(list[2]).standardDeviation.unit,
552
552
  CSSLengthUnit::Px);
553
- CSSColor red{255, 0, 0, 255};
553
+ CSSColor red{.r = 255, .g = 0, .b = 0, .a = 255};
554
554
  EXPECT_EQ(std::get<CSSDropShadowFilter>(list[2]).color, red);
555
555
 
556
556
  EXPECT_TRUE(std::holds_alternative<CSSDropShadowFilter>(list[3]));
@@ -38,8 +38,9 @@ TEST(CSSFontVariant, multiple_variants) {
38
38
 
39
39
  auto commonLigaturesAndHistoricalForms =
40
40
  parseCSSProperty<CSSFontVariantList>("common-ligatures no-contextual");
41
- EXPECT_TRUE(std::holds_alternative<CSSFontVariantList>(
42
- commonLigaturesAndHistoricalForms));
41
+ EXPECT_TRUE(
42
+ std::holds_alternative<CSSFontVariantList>(
43
+ commonLigaturesAndHistoricalForms));
43
44
  EXPECT_EQ(
44
45
  std::get<CSSFontVariantList>(commonLigaturesAndHistoricalForms).size(),
45
46
  2);
@@ -35,8 +35,9 @@ TEST(CSSList, single_value) {
35
35
 
36
36
  auto whitespaceValue =
37
37
  parseCSSProperty<CSSCommaSeparatedList<CSSNumber>>(" 20 ");
38
- EXPECT_TRUE(std::holds_alternative<CSSCommaSeparatedList<CSSNumber>>(
39
- whitespaceValue));
38
+ EXPECT_TRUE(
39
+ std::holds_alternative<CSSCommaSeparatedList<CSSNumber>>(
40
+ whitespaceValue));
40
41
  EXPECT_EQ(
41
42
  std::get<CSSCommaSeparatedList<CSSNumber>>(whitespaceValue).size(), 1);
42
43
  EXPECT_EQ(
@@ -63,8 +64,9 @@ TEST(CSSList, multiple_comma_values) {
63
64
 
64
65
  auto whitespaceValue =
65
66
  parseCSSProperty<CSSCommaSeparatedList<CSSNumber>>(" 20 , 30 , 40 ");
66
- EXPECT_TRUE(std::holds_alternative<CSSCommaSeparatedList<CSSNumber>>(
67
- whitespaceValue));
67
+ EXPECT_TRUE(
68
+ std::holds_alternative<CSSCommaSeparatedList<CSSNumber>>(
69
+ whitespaceValue));
68
70
  EXPECT_EQ(
69
71
  std::get<CSSCommaSeparatedList<CSSNumber>>(whitespaceValue).size(), 3);
70
72
  EXPECT_EQ(
@@ -78,8 +80,9 @@ TEST(CSSList, multiple_comma_values) {
78
80
  TEST(CSSList, multiple_space_values) {
79
81
  auto simpleValue =
80
82
  parseCSSProperty<CSSWhitespaceSeparatedList<CSSNumber>>("20 30 40");
81
- EXPECT_TRUE(std::holds_alternative<CSSWhitespaceSeparatedList<CSSNumber>>(
82
- simpleValue));
83
+ EXPECT_TRUE(
84
+ std::holds_alternative<CSSWhitespaceSeparatedList<CSSNumber>>(
85
+ simpleValue));
83
86
  EXPECT_EQ(
84
87
  std::get<CSSWhitespaceSeparatedList<CSSNumber>>(simpleValue).size(), 3);
85
88
  EXPECT_EQ(
@@ -94,8 +97,9 @@ TEST(CSSList, multiple_space_values) {
94
97
 
95
98
  auto whitespaceValue =
96
99
  parseCSSProperty<CSSWhitespaceSeparatedList<CSSNumber>>(" 20 \n 30 40 ");
97
- EXPECT_TRUE(std::holds_alternative<CSSWhitespaceSeparatedList<CSSNumber>>(
98
- whitespaceValue));
100
+ EXPECT_TRUE(
101
+ std::holds_alternative<CSSWhitespaceSeparatedList<CSSNumber>>(
102
+ whitespaceValue));
99
103
  EXPECT_EQ(
100
104
  std::get<CSSWhitespaceSeparatedList<CSSNumber>>(whitespaceValue).size(),
101
105
  3);