react-native-tvos 0.84.0-0rc5 → 0.85.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 (877) hide show
  1. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +3 -3
  2. package/Libraries/Animated/Animated.d.ts +8 -1
  3. package/Libraries/Animated/AnimatedEvent.js +4 -4
  4. package/Libraries/Animated/AnimatedImplementation.js +2 -2
  5. package/Libraries/Animated/animations/Animation.js +3 -3
  6. package/Libraries/Animated/animations/DecayAnimation.js +4 -4
  7. package/Libraries/Animated/animations/SpringAnimation.js +5 -5
  8. package/Libraries/Animated/animations/TimingAnimation.js +5 -5
  9. package/Libraries/Animated/createAnimatedComponent.js +7 -7
  10. package/Libraries/Animated/nodes/AnimatedColor.js +2 -2
  11. package/Libraries/Animated/nodes/AnimatedInterpolation.js +12 -12
  12. package/Libraries/Animated/nodes/AnimatedNode.js +3 -3
  13. package/Libraries/Animated/nodes/AnimatedObject.js +3 -3
  14. package/Libraries/Animated/nodes/AnimatedProps.js +6 -6
  15. package/Libraries/Animated/nodes/AnimatedStyle.js +7 -7
  16. package/Libraries/Animated/nodes/AnimatedTransform.js +13 -13
  17. package/Libraries/Animated/nodes/AnimatedValue.js +1 -1
  18. package/Libraries/Animated/nodes/AnimatedValueXY.js +1 -1
  19. package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -1
  20. package/{jest/mocks/Vibration.js → Libraries/Animated/useAnimatedColor.d.ts} +5 -6
  21. package/Libraries/Animated/useAnimatedColor.js +25 -0
  22. package/{jest/mocks/Clipboard.js → Libraries/Animated/useAnimatedValueXY.d.ts} +5 -6
  23. package/Libraries/Animated/useAnimatedValueXY.js +26 -0
  24. package/Libraries/AppDelegate/RCTAppDelegate.mm +0 -8
  25. package/Libraries/AppDelegate/RCTDefaultReactNativeFactoryDelegate.mm +1 -3
  26. package/Libraries/AppDelegate/RCTReactNativeFactory.mm +1 -0
  27. package/Libraries/AppDelegate/RCTRootViewFactory.mm +2 -6
  28. package/Libraries/AppState/AppState.js +1 -1
  29. package/Libraries/BatchedBridge/MessageQueue.js +3 -3
  30. package/Libraries/BatchedBridge/NativeModules.js +12 -10
  31. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +30 -26
  32. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +2 -2
  33. package/Libraries/Components/Button.js +2 -2
  34. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidTypes.js +2 -2
  35. package/Libraries/Components/Keyboard/Keyboard.js +6 -6
  36. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +1 -1
  37. package/Libraries/Components/LayoutConformance/LayoutConformance.js +1 -1
  38. package/Libraries/Components/LayoutConformance/LayoutConformanceNativeComponent.js +1 -1
  39. package/Libraries/Components/Pressable/Pressable.d.ts +5 -0
  40. package/Libraries/Components/Pressable/Pressable.js +3 -3
  41. package/Libraries/Components/Pressable/useAndroidRippleForView.js +4 -4
  42. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +1 -1
  43. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidTypes.js +3 -3
  44. package/Libraries/Components/RefreshControl/RefreshControl.js +5 -5
  45. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +10 -12
  46. package/Libraries/Components/ScrollView/ScrollView.d.ts +18 -1
  47. package/Libraries/Components/ScrollView/ScrollView.js +33 -10
  48. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +12 -18
  49. package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +7 -4
  50. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -1
  51. package/Libraries/Components/StaticRenderer.js +1 -1
  52. package/Libraries/Components/StatusBar/StatusBar.js +8 -8
  53. package/Libraries/Components/Switch/Switch.js +3 -3
  54. package/Libraries/Components/TV/TVViewPropTypes.js +7 -0
  55. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +33 -48
  56. package/Libraries/Components/TextInput/InputAccessoryView.js +1 -1
  57. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +6 -11
  58. package/Libraries/Components/TextInput/TextInput.flow.js +21 -20
  59. package/Libraries/Components/TextInput/TextInput.js +8 -4
  60. package/Libraries/Components/Touchable/PooledClass.js +1 -1
  61. package/Libraries/Components/Touchable/Touchable.js +2 -2
  62. package/Libraries/Components/Touchable/TouchableBounce.js +4 -4
  63. package/Libraries/Components/Touchable/TouchableHighlight.js +6 -6
  64. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +7 -7
  65. package/Libraries/Components/Touchable/TouchableOpacity.js +3 -3
  66. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +1 -1
  67. package/Libraries/Components/UnimplementedViews/UnimplementedView.js +1 -1
  68. package/Libraries/Components/View/ReactNativeStyleAttributes.js +68 -31
  69. package/Libraries/Components/View/View.js +6 -0
  70. package/Libraries/Components/View/ViewAccessibility.js +7 -7
  71. package/Libraries/Components/View/ViewPropTypes.js +15 -15
  72. package/Libraries/Core/Devtools/parseHermesStack.js +8 -8
  73. package/Libraries/Core/Devtools/symbolicateStackTrace.js +2 -2
  74. package/Libraries/Core/ExceptionsManager.js +2 -2
  75. package/Libraries/Core/ExtendedError.js +3 -3
  76. package/Libraries/Core/RawEventEmitter.js +1 -1
  77. package/Libraries/Core/ReactNativeVersion.js +2 -2
  78. package/Libraries/Core/Timers/JSTimers.js +3 -2
  79. package/Libraries/Core/setUpDeveloperTools.js +1 -1
  80. package/Libraries/Core/setUpErrorHandling.js +4 -2
  81. package/Libraries/Core/setUpReactDevTools.js +23 -6
  82. package/Libraries/Core/setUpSegmentFetcher.js +1 -1
  83. package/Libraries/Debugging/DebuggingOverlay.js +2 -2
  84. package/Libraries/EventEmitter/NativeEventEmitter.js +7 -9
  85. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +1 -1
  86. package/Libraries/FBLazyVector/FBLazyVector/FBLazyIterator.h +0 -6
  87. package/Libraries/Image/AssetSourceResolver.js +1 -1
  88. package/Libraries/Image/Image.android.js +172 -306
  89. package/Libraries/Image/ImageProps.js +9 -11
  90. package/Libraries/Image/ImageSource.js +2 -2
  91. package/Libraries/Image/ImageSourceUtils.js +8 -4
  92. package/Libraries/Image/ImageTypes.flow.js +2 -2
  93. package/Libraries/Image/ImageViewNativeComponent.js +7 -16
  94. package/Libraries/Image/RCTImageUtils.mm +37 -1
  95. package/Libraries/Image/nativeImageSource.js +1 -1
  96. package/Libraries/Interaction/InteractionManager.js +5 -4
  97. package/Libraries/Interaction/PanResponder.js +1 -1
  98. package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -2
  99. package/Libraries/Linking/Linking.js +1 -1
  100. package/Libraries/Lists/FlatList.js +3 -3
  101. package/Libraries/Lists/SectionList.js +1 -1
  102. package/Libraries/Lists/SectionListModern.js +2 -2
  103. package/Libraries/LogBox/Data/LogBoxData.js +38 -24
  104. package/Libraries/LogBox/Data/LogBoxLog.js +43 -112
  105. package/Libraries/LogBox/Data/parseLogBoxLog.js +21 -117
  106. package/Libraries/LogBox/LogBox.js +42 -19
  107. package/Libraries/LogBox/LogBoxInspectorContainer.js +2 -2
  108. package/Libraries/LogBox/LogBoxNotificationContainer.js +2 -2
  109. package/Libraries/LogBox/UI/LogBoxButton.js +28 -30
  110. package/Libraries/LogBox/UI/LogBoxInspector.js +2 -2
  111. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +6 -9
  112. package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +1 -1
  113. package/Libraries/LogBox/UI/LogBoxInspectorFooterButton.js +1 -1
  114. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +1 -1
  115. package/Libraries/LogBox/UI/LogBoxInspectorHeaderButton.js +1 -1
  116. package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +10 -15
  117. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +25 -18
  118. package/Libraries/LogBox/UI/LogBoxInspectorSection.js +5 -7
  119. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +8 -10
  120. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +8 -6
  121. package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +17 -29
  122. package/Libraries/LogBox/UI/LogBoxMessage.js +28 -37
  123. package/Libraries/LogBox/UI/LogBoxNotification.js +1 -1
  124. package/Libraries/Modal/Modal.js +3 -3
  125. package/Libraries/NativeComponent/BaseViewConfig.android.js +28 -52
  126. package/Libraries/NativeComponent/BaseViewConfig.ios.js +19 -21
  127. package/Libraries/NativeComponent/TVViewConfig.js +1 -0
  128. package/Libraries/Network/RCTHTTPRequestHandler.h +9 -0
  129. package/Libraries/Network/RCTHTTPRequestHandler.mm +15 -1
  130. package/Libraries/Network/RCTNetworking.android.js +1 -1
  131. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  132. package/Libraries/Network/RCTNetworking.js.flow +1 -1
  133. package/Libraries/Network/RCTNetworkingEventDefinitions.flow.js +1 -1
  134. package/Libraries/Network/XMLHttpRequest.js +1 -1
  135. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +3 -3
  136. package/Libraries/Pressability/Pressability.js +12 -5
  137. package/Libraries/Pressability/PressabilityDebug.js +1 -1
  138. package/Libraries/Pressability/PressabilityPerformanceEventEmitter.js +1 -1
  139. package/Libraries/Pressability/usePressability.js +3 -14
  140. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +2 -2
  141. package/Libraries/PushNotificationIOS/RCTPushNotificationManager.mm +11 -21
  142. package/Libraries/ReactNative/AppContainer-dev.js +18 -1
  143. package/Libraries/ReactNative/AppContainer.js +1 -1
  144. package/Libraries/ReactNative/AppRegistry.flow.js +2 -2
  145. package/Libraries/ReactNative/AppRegistryImpl.js +2 -2
  146. package/Libraries/ReactNative/FabricUIManager.js +1 -1
  147. package/Libraries/ReactNative/RendererImplementation.js +4 -4
  148. package/Libraries/ReactNative/UIManagerProperties.js +1 -1
  149. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +3 -2
  150. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +3 -2
  151. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +3 -2
  152. package/Libraries/Renderer/shims/ReactFabric.js +1 -3
  153. package/Libraries/Renderer/shims/ReactFeatureFlags.js +1 -3
  154. package/Libraries/Renderer/shims/ReactNative.js +3 -2
  155. package/Libraries/Renderer/shims/ReactNativeTypes.js +1 -3
  156. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +1 -3
  157. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +1 -3
  158. package/Libraries/StyleSheet/PointPropType.js +1 -1
  159. package/Libraries/StyleSheet/Rect.js +1 -1
  160. package/Libraries/StyleSheet/StyleSheet.d.ts +0 -5
  161. package/Libraries/StyleSheet/StyleSheet.js +1 -1
  162. package/Libraries/StyleSheet/StyleSheet.js.flow +1 -1
  163. package/Libraries/StyleSheet/StyleSheetExports.js +16 -25
  164. package/Libraries/StyleSheet/StyleSheetExports.js.flow +2 -7
  165. package/Libraries/StyleSheet/StyleSheetTypes.js +33 -36
  166. package/Libraries/StyleSheet/private/_StyleSheetTypesOverrides.js +5 -5
  167. package/Libraries/StyleSheet/private/_TransformStyle.js +7 -7
  168. package/Libraries/StyleSheet/processBackgroundImage.js +7 -7
  169. package/Libraries/StyleSheet/processBackgroundPosition.js +4 -4
  170. package/Libraries/StyleSheet/processBackgroundRepeat.js +4 -4
  171. package/Libraries/StyleSheet/processBackgroundSize.js +4 -4
  172. package/Libraries/StyleSheet/processBoxShadow.js +44 -4
  173. package/Libraries/StyleSheet/processColorArray.js +2 -2
  174. package/Libraries/StyleSheet/processFilter.js +2 -2
  175. package/Libraries/Text/Text/RCTDynamicTypeRamp.mm +5 -4
  176. package/Libraries/Text/Text.js +295 -627
  177. package/Libraries/Text/TextInput/Multiline/RCTUITextView.mm +7 -1
  178. package/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.mm +14 -12
  179. package/Libraries/Text/TextInput/Singleline/RCTUITextField.mm +1 -1
  180. package/Libraries/Text/TextNativeComponent.js +14 -7
  181. package/Libraries/Text/TextProps.js +4 -4
  182. package/Libraries/Types/CodegenTypes.js +1 -1
  183. package/Libraries/Types/CoreEventTypes.js +21 -21
  184. package/Libraries/Types/ReactDevToolsTypes.js +2 -2
  185. package/Libraries/Utilities/Appearance.js +6 -1
  186. package/Libraries/Utilities/Dimensions.js +1 -1
  187. package/Libraries/Utilities/HMRClient.js +4 -4
  188. package/Libraries/Utilities/IPerformanceLogger.js +4 -4
  189. package/Libraries/Utilities/codegenNativeCommands.js +4 -4
  190. package/Libraries/Utilities/codegenNativeComponent.d.ts +2 -0
  191. package/Libraries/Utilities/codegenNativeComponent.js +2 -2
  192. package/Libraries/Utilities/logError.js +1 -1
  193. package/Libraries/Utilities/stringifySafe.js +3 -3
  194. package/Libraries/Utilities/useMergeRefs.js +2 -2
  195. package/Libraries/WebSocket/RCTReconnectingWebSocket.m +4 -1
  196. package/Libraries/vendor/core/ErrorUtils.js +4 -4
  197. package/Libraries/vendor/emitter/EventEmitter.js +16 -20
  198. package/README.md +68 -54
  199. package/React/Base/RCTBridge.mm +1 -1
  200. package/React/Base/RCTBundleURLProvider.mm +29 -8
  201. package/React/Base/RCTConvert.mm +3 -18
  202. package/React/Base/RCTDefines.h +7 -8
  203. package/React/Base/RCTDevSupportHttpHeaders.h +24 -0
  204. package/React/Base/RCTDevSupportHttpHeaders.m +65 -0
  205. package/React/Base/RCTJavaScriptLoader.h +1 -0
  206. package/React/Base/RCTJavaScriptLoader.mm +6 -2
  207. package/React/Base/RCTMultipartDataTask.h +9 -0
  208. package/React/Base/RCTMultipartDataTask.m +19 -1
  209. package/React/Base/RCTTVColorSupport.h +17 -0
  210. package/React/Base/RCTTVColorSupport.mm +23 -0
  211. package/React/Base/RCTUtils.mm +15 -6
  212. package/React/Base/RCTVersion.m +2 -2
  213. package/React/CoreModules/RCTActionSheetManager.mm +28 -3
  214. package/React/CoreModules/RCTClipboard.mm +5 -5
  215. package/React/CoreModules/RCTDevLoadingView.mm +1 -1
  216. package/React/CoreModules/RCTDevSettings.mm +8 -0
  217. package/React/CoreModules/RCTDeviceInfo.mm +4 -3
  218. package/React/CoreModules/RCTKeyboardObserver.mm +9 -2
  219. package/React/CoreModules/RCTLogBoxView.mm +4 -8
  220. package/React/CoreModules/RCTPerfMonitor.mm +5 -0
  221. package/React/CoreModules/RCTStatusBarManager.h +2 -0
  222. package/React/CoreModules/RCTWebSocketModule.h +6 -0
  223. package/React/CoreModules/RCTWebSocketModule.mm +14 -1
  224. package/React/DevSupport/RCTInspectorDevServerHelper.mm +33 -22
  225. package/React/DevSupport/RCTInspectorNetworkHelper.mm +2 -0
  226. package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +66 -79
  227. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/Props.cpp +8 -8
  228. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/Props.h +1 -1
  229. package/React/Fabric/Mounting/ComponentViews/Image/RCTImageComponentView.mm +2 -2
  230. package/React/Fabric/Mounting/ComponentViews/InputAccessory/RCTInputAccessoryComponentView.mm +4 -0
  231. package/React/Fabric/Mounting/ComponentViews/Modal/RCTFabricModalHostViewController.mm +6 -0
  232. package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +8 -4
  233. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTEnhancedScrollView.h +2 -0
  234. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTEnhancedScrollView.mm +81 -0
  235. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTPullToRefreshViewComponentView.mm +16 -4
  236. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +157 -8
  237. package/React/Fabric/Mounting/ComponentViews/Switch/RCTSwitchComponentView.mm +10 -5
  238. package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentView.mm +13 -0
  239. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +9 -13
  240. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.h +2 -0
  241. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.mm +2 -0
  242. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.h +2 -0
  243. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +56 -8
  244. package/React/Fabric/Mounting/ComponentViews/VirtualView/RCTVirtualViewComponentView.h +2 -1
  245. package/React/Fabric/Mounting/ComponentViews/VirtualView/RCTVirtualViewComponentView.mm +92 -163
  246. package/React/Fabric/Mounting/RCTMountingManager.mm +8 -3
  247. package/React/Fabric/RCTScheduler.h +2 -0
  248. package/React/Fabric/RCTScheduler.mm +57 -0
  249. package/React/Fabric/RCTSurfacePointerHandler.mm +15 -9
  250. package/React/Fabric/RCTSurfacePresenter.mm +9 -0
  251. package/React/Fabric/RCTSurfaceTouchHandler.mm +4 -2
  252. package/React/Fabric/Surface/RCTFabricSurface.mm +4 -0
  253. package/React/Fabric/Utils/RCTLinearGradient.mm +4 -9
  254. package/React/Inspector/RCTCxxInspectorWebSocketAdapter.mm +5 -1
  255. package/React/Modules/RCTLayoutAnimation.m +10 -0
  256. package/React/Modules/RCTUIManager.mm +2 -4
  257. package/React/Profiler/RCTProfile.m +2 -0
  258. package/React/React-RCTFabric.podspec +3 -0
  259. package/React/Views/RCTView.m +6 -1
  260. package/React/Views/ScrollView/RCTScrollViewManager.m +1 -0
  261. package/React-Core-prebuilt.podspec +1 -1
  262. package/ReactAndroid/api/ReactAndroid.api +120 -298
  263. package/ReactAndroid/build.gradle.kts +9 -0
  264. package/ReactAndroid/gradle.properties +1 -1
  265. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +11 -101
  266. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.kt +2 -2
  267. package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +10 -10
  268. package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimationDriver.kt +1 -3
  269. package/ReactAndroid/src/main/java/com/facebook/react/animated/ColorAnimatedNode.kt +11 -11
  270. package/ReactAndroid/src/main/java/com/facebook/react/animated/DiffClampAnimatedNode.kt +11 -11
  271. package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.kt +0 -26
  272. package/ReactAndroid/src/main/java/com/facebook/react/animated/InterpolationAnimatedNode.kt +12 -0
  273. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.kt +11 -1
  274. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.kt +5 -5
  275. package/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.kt +5 -5
  276. package/ReactAndroid/src/main/java/com/facebook/react/animated/SpringAnimation.kt +19 -19
  277. package/ReactAndroid/src/main/java/com/facebook/react/animated/TrackingAnimatedNode.kt +5 -1
  278. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromArray.kt +9 -4
  279. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaMethodWrapper.kt +15 -15
  280. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaOnlyMap.kt +8 -6
  281. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModuleRegistry.kt +3 -1
  282. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +10 -0
  283. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ScrollEndedListener.kt +70 -0
  284. package/ReactAndroid/src/main/java/com/facebook/react/common/assets/ReactFontManager.kt +4 -0
  285. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.kt +4 -4
  286. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHost.kt +36 -34
  287. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BundleDownloader.kt +14 -9
  288. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/CxxInspectorPackagerConnection.kt +2 -8
  289. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevLoadingViewImplementation.kt +3 -2
  290. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.kt +17 -13
  291. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.kt +5 -5
  292. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PackagerStatusCheck.kt +10 -19
  293. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxContentView.kt +2 -2
  294. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/DevSupportHttpClient.kt +74 -0
  295. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/FrameTimingSequence.kt +2 -3
  296. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/FrameTimingsObserver.kt +110 -80
  297. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/InspectorNetworkHelper.kt +1 -12
  298. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevBundleDownloadListener.kt +1 -1
  299. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevLoadingViewManager.kt +1 -1
  300. package/ReactAndroid/src/main/java/com/facebook/react/fabric/AnimationBackendChoreographer.kt +87 -0
  301. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +36 -7
  302. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManagerBinding.kt +16 -2
  303. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManagerProviderImpl.kt +3 -0
  304. package/ReactAndroid/src/main/java/com/facebook/react/fabric/LongStreamingStats.kt +2 -2
  305. package/ReactAndroid/src/main/java/com/facebook/react/fabric/SurfaceHandlerBinding.kt +6 -6
  306. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventBeatManager.kt +2 -2
  307. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.kt +0 -29
  308. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.kt +2 -8
  309. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.kt +1258 -0
  310. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/FabricNameComponentMapping.kt +1 -0
  311. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.kt +2 -2
  312. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/MountItemFactory.kt +1 -1
  313. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.kt +1 -1
  314. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +37 -55
  315. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +66 -96
  316. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +14 -20
  317. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +15 -21
  318. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +74 -107
  319. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Experimental_Android.kt +5 -1
  320. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +14 -20
  321. package/ReactAndroid/src/main/java/com/facebook/react/internal/interop/InteropEventEmitter.kt +1 -15
  322. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManager.kt +2 -2
  323. package/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/AccessibilityInfoModule.kt +4 -10
  324. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobModule.kt +1 -1
  325. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.kt +4 -2
  326. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nManagerModule.kt +4 -1
  327. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkEventUtil.kt +45 -74
  328. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.kt +17 -13
  329. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ProgressRequestBody.kt +2 -5
  330. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoHelpers.kt +1 -1
  331. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +2 -2
  332. package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/WebSocketModule.kt +3 -4
  333. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/JSPackagerClient.kt +2 -1
  334. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/ReconnectingWebSocket.kt +2 -8
  335. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessAtomicRef.kt +2 -0
  336. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessCatalystInstance.kt +9 -3
  337. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessReactContext.kt +8 -8
  338. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.kt +12 -12
  339. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostInspectorTarget.kt +2 -2
  340. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.kt +13 -7
  341. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceView.kt +14 -14
  342. package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.kt +14 -6
  343. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BackgroundStyleApplicator.kt +42 -28
  344. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +8 -49
  345. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/DisplayMetricsHolder.kt +11 -8
  346. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/GuardedFrameCallback.kt +17 -0
  347. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSPointerDispatcher.java +13 -8
  348. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.kt +751 -0
  349. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +104 -781
  350. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyOptimizer.kt +18 -0
  351. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNode.java +7 -9
  352. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNodeImpl.java +7 -31
  353. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactZIndexedViewGroup.kt +11 -1
  354. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ThemedReactContext.kt +4 -0
  355. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.kt +1 -4
  356. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +103 -759
  357. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerHelper.kt +14 -38
  358. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +41 -170
  359. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +33 -962
  360. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupDrawingOrderHelper.kt +2 -0
  361. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/UIManagerType.kt +22 -0
  362. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/ViewUtil.kt +15 -0
  363. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.kt +1 -6
  364. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTEventEmitter.kt +2 -9
  365. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTModernEventEmitter.kt +12 -1
  366. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEvent.kt +1 -16
  367. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchesHelper.kt +0 -33
  368. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BackgroundImageLayer.kt +27 -0
  369. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BackgroundPosition.kt +20 -0
  370. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BackgroundRepeat.kt +27 -0
  371. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BackgroundSize.kt +50 -0
  372. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderColors.kt +33 -0
  373. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderInsets.kt +25 -1
  374. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderRadiusStyle.kt +46 -2
  375. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderStyle.kt +14 -0
  376. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BoxShadow.kt +23 -1
  377. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/ColorStop.kt +45 -7
  378. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/ComputedBorderRadius.kt +40 -2
  379. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/CornerRadii.kt +21 -1
  380. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/Gradient.kt +16 -0
  381. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/LinearGradient.kt +34 -0
  382. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/LogicalEdge.kt +33 -1
  383. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/OutlineStyle.kt +17 -0
  384. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/Overflow.kt +15 -0
  385. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/RadialGradient.kt +42 -0
  386. package/ReactAndroid/src/main/java/com/facebook/react/views/common/UiModeUtils.kt +20 -0
  387. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayoutManager.kt +1 -2
  388. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.kt +9 -10
  389. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.kt +1 -1
  390. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ReactProgressBarViewManager.kt +6 -5
  391. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +132 -16
  392. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.kt +17 -0
  393. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactNestedScrollView.java +1647 -0
  394. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactNestedScrollViewManager.kt +466 -0
  395. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +104 -10
  396. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.kt +71 -9
  397. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.kt +17 -0
  398. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VirtualViewContainer.kt +2 -35
  399. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VirtualViewContainerStateClassic.kt +7 -30
  400. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VirtualViewContainerStateExperimental.kt +20 -41
  401. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/generate-nested-scroll-view.js +270 -0
  402. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/ReactSwipeRefreshLayout.kt +1 -1
  403. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/SwipeRefreshLayoutManager.kt +1 -1
  404. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchManager.kt +7 -7
  405. package/ReactAndroid/src/main/java/com/facebook/react/views/text/PreparedLayout.kt +2 -0
  406. package/ReactAndroid/src/main/java/com/facebook/react/views/text/PreparedLayoutTextView.kt +39 -17
  407. package/ReactAndroid/src/main/java/com/facebook/react/views/text/PreparedLayoutTextViewManager.kt +4 -3
  408. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextUpdate.kt +4 -65
  409. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +86 -111
  410. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewAccessibilityDelegate.kt +6 -0
  411. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.kt +243 -20
  412. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTypefaceUtils.kt +1 -2
  413. package/ReactAndroid/src/main/java/com/facebook/react/views/text/SelectableTextViewManager.kt +29 -0
  414. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.kt +1 -2
  415. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.kt +54 -77
  416. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/DrawCommandSpan.kt +27 -0
  417. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactClickableSpan.kt +1 -1
  418. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactLinkSpan.kt +10 -3
  419. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.kt +2 -75
  420. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextChangedEvent.kt +8 -0
  421. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextContentSizeWatcher.kt +1 -1
  422. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.kt +5 -38
  423. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputTextWatcher.kt +3 -2
  424. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextScrollWatcher.kt +1 -1
  425. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextSelectionWatcher.kt +1 -1
  426. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ImportantForInteractionHelper.kt +55 -0
  427. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.kt +19 -60
  428. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.kt +7 -4
  429. package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/view/ReactVirtualView.kt +150 -296
  430. package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/view/ReactVirtualViewManager.kt +11 -13
  431. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfig.kt +2 -2
  432. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfigJNIBase.kt +64 -0
  433. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfigJNIFinalizer.java +4 -4
  434. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDirection.kt +29 -0
  435. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNative.kt +1 -1
  436. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNode.kt +244 -0
  437. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.java +1 -1
  438. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaProps.kt +183 -0
  439. package/ReactAndroid/src/main/jni/CMakeLists.txt +6 -0
  440. package/ReactAndroid/src/main/jni/react/fabric/AndroidAnimationChoreographer.h +38 -0
  441. package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.cpp +4 -4
  442. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.cpp +7 -0
  443. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.h +2 -0
  444. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.cpp +50 -2
  445. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.h +11 -0
  446. package/ReactAndroid/src/main/jni/react/fabric/JAnimationBackendChoreographer.cpp +23 -0
  447. package/ReactAndroid/src/main/jni/react/fabric/JAnimationBackendChoreographer.h +37 -0
  448. package/ReactAndroid/src/main/jni/react/fabric/StateWrapperImpl.h +2 -1
  449. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +89 -131
  450. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +19 -28
  451. package/ReactAndroid/src/main/jni/react/jni/CMakeLists.txt +0 -1
  452. package/ReactAndroid/src/main/jni/react/jni/JavaModuleWrapper.cpp +1 -1
  453. package/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp +0 -7
  454. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.cpp +24 -60
  455. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.h +12 -28
  456. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.cpp +13 -6
  457. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.h +2 -1
  458. package/{ReactCommon/react/renderer/components/text/ParagraphComponentDescriptor.cpp → ReactAndroid/src/main/jni/react/uimanager/StateWrapper.h} +7 -2
  459. package/ReactAndroid/src/main/res/views/uimanager/values/ids.xml +3 -0
  460. package/ReactAndroid/src/main/res/views/uimanager/values-ne/strings.xml +2 -0
  461. package/ReactApple/RCTAnimatedModuleProvider/RCTAnimatedModuleProvider.mm +8 -1
  462. package/ReactApple/RCTSwiftUI/RCTSwiftUI.podspec +1 -1
  463. package/ReactApple/RCTSwiftUIWrapper/RCTSwiftUIWrapper.podspec +1 -2
  464. package/ReactCommon/React-Fabric.podspec +5 -6
  465. package/ReactCommon/React-FabricComponents.podspec +6 -8
  466. package/ReactCommon/cxxreact/ReactNativeVersion.h +7 -5
  467. package/ReactCommon/hermes/executor/HermesExecutorFactory.cpp +1 -1
  468. package/ReactCommon/hermes/inspector-modern/chrome/HermesRuntimeTargetDelegate.cpp +25 -16
  469. package/ReactCommon/hermes/inspector-modern/chrome/HermesRuntimeTargetDelegate.h +1 -1
  470. package/ReactCommon/hermes/inspector-modern/chrome/Registration.cpp +44 -3
  471. package/ReactCommon/jsinspector-modern/HostAgent.cpp +10 -30
  472. package/ReactCommon/jsinspector-modern/HostAgent.h +4 -11
  473. package/ReactCommon/jsinspector-modern/HostTarget.cpp +33 -33
  474. package/ReactCommon/jsinspector-modern/HostTarget.h +23 -24
  475. package/ReactCommon/jsinspector-modern/HostTargetTraceRecording.cpp +1 -2
  476. package/ReactCommon/jsinspector-modern/HostTargetTracing.h +89 -0
  477. package/ReactCommon/jsinspector-modern/InspectorInterfaces.cpp +4 -9
  478. package/ReactCommon/jsinspector-modern/InspectorInterfaces.h +0 -1
  479. package/ReactCommon/jsinspector-modern/InspectorPackagerConnection.cpp +164 -54
  480. package/ReactCommon/jsinspector-modern/InspectorPackagerConnectionImpl.h +39 -4
  481. package/ReactCommon/jsinspector-modern/NetworkIOAgent.cpp +12 -3
  482. package/ReactCommon/jsinspector-modern/NetworkIOAgent.h +13 -0
  483. package/ReactCommon/jsinspector-modern/RuntimeAgent.cpp +6 -0
  484. package/ReactCommon/jsinspector-modern/RuntimeTarget.cpp +34 -18
  485. package/ReactCommon/jsinspector-modern/RuntimeTarget.h +19 -0
  486. package/ReactCommon/jsinspector-modern/RuntimeTargetDebuggerSessionObserver.cpp +6 -95
  487. package/ReactCommon/jsinspector-modern/RuntimeTargetGlobalStateObserver.cpp +122 -0
  488. package/ReactCommon/jsinspector-modern/RuntimeTargetGlobalStateObserver.h +42 -0
  489. package/ReactCommon/jsinspector-modern/RuntimeTargetTracingStateObserver.cpp +27 -0
  490. package/ReactCommon/jsinspector-modern/RuntimeTargetTracingStateObserver.h +27 -0
  491. package/ReactCommon/jsinspector-modern/TracingAgent.cpp +7 -45
  492. package/ReactCommon/jsinspector-modern/TracingAgent.h +0 -11
  493. package/ReactCommon/jsinspector-modern/UniqueMonostate.h +0 -4
  494. package/ReactCommon/jsinspector-modern/WeakList.h +60 -1
  495. package/ReactCommon/jsinspector-modern/network/NetworkHandler.cpp +25 -21
  496. package/ReactCommon/jsinspector-modern/network/NetworkHandler.h +21 -15
  497. package/ReactCommon/jsinspector-modern/tests/GmockHelpers.h +1 -1
  498. package/ReactCommon/jsinspector-modern/tests/HostTargetTest.cpp +3 -3
  499. package/ReactCommon/jsinspector-modern/tests/InspectorPackagerConnectionMultiSessionTest.cpp +692 -0
  500. package/ReactCommon/jsinspector-modern/tests/InspectorPackagerConnectionTest.cpp +10 -123
  501. package/ReactCommon/jsinspector-modern/tests/InspectorPackagerConnectionTest.h +140 -0
  502. package/ReactCommon/jsinspector-modern/tests/JsiIntegrationTest.cpp +158 -6
  503. package/ReactCommon/jsinspector-modern/tests/NetworkReporterTest.cpp +34 -0
  504. package/ReactCommon/jsinspector-modern/tests/TracingTest.cpp +223 -4
  505. package/ReactCommon/jsinspector-modern/tests/WeakListTest.cpp +31 -1
  506. package/ReactCommon/jsinspector-modern/tests/engines/JsiIntegrationTestHermesEngineAdapter.cpp +1 -1
  507. package/ReactCommon/jsinspector-modern/tracing/FrameTimingSequence.h +6 -9
  508. package/ReactCommon/jsinspector-modern/tracing/HostTracingProfileSerializer.cpp +4 -6
  509. package/ReactCommon/jsinspector-modern/tracing/TraceEventGenerator.cpp +6 -17
  510. package/ReactCommon/jsinspector-modern/tracing/TraceEventGenerator.h +4 -5
  511. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +27 -39
  512. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +32 -47
  513. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +153 -207
  514. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +18 -24
  515. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +26 -38
  516. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +56 -83
  517. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSExperimental.h +9 -1
  518. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +9 -12
  519. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +3 -1
  520. package/ReactCommon/react/nativemodule/defaults/CMakeLists.txt +1 -0
  521. package/ReactCommon/react/nativemodule/defaults/DefaultTurboModules.cpp +10 -4
  522. package/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec +1 -0
  523. package/ReactCommon/react/nativemodule/fantomtestspecificmethods/NativeFantomTestSpecificMethods.cpp +32 -0
  524. package/ReactCommon/react/nativemodule/fantomtestspecificmethods/NativeFantomTestSpecificMethods.h +2 -0
  525. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +32 -47
  526. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +14 -20
  527. package/ReactCommon/react/renderer/animated/AnimatedModule.h +1 -1
  528. package/ReactCommon/react/renderer/animated/CMakeLists.txt +0 -1
  529. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.cpp +108 -151
  530. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.h +16 -11
  531. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManagerProvider.cpp +80 -86
  532. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManagerProvider.h +0 -1
  533. package/ReactCommon/react/renderer/animated/event_drivers/EventAnimationDriver.h +0 -1
  534. package/ReactCommon/react/renderer/animated/internal/AnimatedMountingOverrideDelegate.h +0 -2
  535. package/ReactCommon/react/renderer/animated/internal/NativeAnimatedAllowlist.h +2 -2
  536. package/ReactCommon/react/renderer/animated/nodes/PropsAnimatedNode.cpp +32 -4
  537. package/ReactCommon/react/renderer/animated/nodes/PropsAnimatedNode.h +6 -0
  538. package/ReactCommon/react/renderer/animationbackend/AnimatedPropSerializer.cpp +14 -21
  539. package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.cpp +3 -1
  540. package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.h +6 -3
  541. package/ReactCommon/react/renderer/animationbackend/AnimationBackend.cpp +125 -63
  542. package/ReactCommon/react/renderer/animationbackend/AnimationBackend.h +33 -33
  543. package/ReactCommon/react/renderer/animationbackend/AnimationBackendCommitHook.cpp +18 -8
  544. package/ReactCommon/react/renderer/animationbackend/AnimationBackendCommitHook.h +1 -1
  545. package/ReactCommon/react/renderer/animationbackend/AnimationChoreographer.h +39 -0
  546. package/ReactCommon/react/renderer/animationbackend/CMakeLists.txt +0 -1
  547. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +1 -2
  548. package/ReactCommon/react/renderer/attributedstring/AttributedString.h +0 -1
  549. package/ReactCommon/react/renderer/attributedstring/AttributedStringBox.cpp +0 -6
  550. package/ReactCommon/react/renderer/attributedstring/AttributedStringBox.h +0 -1
  551. package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.cpp +0 -4
  552. package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.h +0 -1
  553. package/ReactCommon/react/renderer/attributedstring/conversions.h +60 -0
  554. package/ReactCommon/react/renderer/componentregistry/componentNameByReactViewName.cpp +3 -5
  555. package/ReactCommon/react/renderer/components/image/ImageProps.h +1 -1
  556. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/{LegacyViewManagerInteropComponentDescriptor.mm → platform/ios/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.mm} +1 -1
  557. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/{LegacyViewManagerInteropState.mm → platform/ios/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropState.mm} +1 -1
  558. package/ReactCommon/react/renderer/components/root/RootShadowNode.cpp +1 -1
  559. package/ReactCommon/react/renderer/components/scrollview/BaseScrollViewProps.cpp +20 -0
  560. package/ReactCommon/react/renderer/components/scrollview/BaseScrollViewProps.h +2 -0
  561. package/ReactCommon/react/renderer/components/scrollview/ScrollViewState.h +1 -1
  562. package/ReactCommon/react/renderer/components/scrollview/conversions.h +6 -0
  563. package/ReactCommon/react/renderer/components/scrollview/platform/android/react/renderer/components/scrollview/HostPlatformScrollViewProps.cpp +18 -1
  564. package/ReactCommon/react/renderer/components/scrollview/platform/android/react/renderer/components/scrollview/HostPlatformScrollViewProps.h +2 -0
  565. package/ReactCommon/react/renderer/components/scrollview/primitives.h +2 -11
  566. package/ReactCommon/react/renderer/components/scrollview/tests/ScrollViewTest.cpp +83 -3
  567. package/ReactCommon/react/renderer/components/text/BaseParagraphComponentDescriptor.h +49 -0
  568. package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +14 -14
  569. package/ReactCommon/react/renderer/components/text/ParagraphComponentDescriptor.h +3 -28
  570. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp +10 -10
  571. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.h +4 -4
  572. package/ReactCommon/react/renderer/components/text/SelectableParagraphComponentDescriptor.h +24 -0
  573. package/ReactCommon/react/renderer/components/text/SelectableParagraphShadowNode.h +32 -0
  574. package/ReactCommon/react/renderer/components/text/platform/android/react/renderer/components/text/HostPlatformParagraphProps.cpp +1 -1
  575. package/ReactCommon/react/renderer/components/text/platform/android/react/renderer/components/text/ParagraphState.cpp +1 -1
  576. package/ReactCommon/react/renderer/components/text/platform/android/react/renderer/components/text/ParagraphState.h +2 -2
  577. package/ReactCommon/react/renderer/components/textinput/BaseTextInputShadowNode.h +13 -1
  578. package/ReactCommon/react/renderer/components/textinput/TextInputEventEmitter.cpp +2 -1
  579. package/ReactCommon/react/renderer/components/view/AccessibilityPrimitives.h +2 -21
  580. package/ReactCommon/react/renderer/components/view/BackgroundImagePropsConversions.cpp +15 -24
  581. package/ReactCommon/react/renderer/components/view/BaseTouch.h +7 -7
  582. package/ReactCommon/react/renderer/components/view/BaseViewProps.cpp +11 -1
  583. package/ReactCommon/react/renderer/components/view/BaseViewProps.h +4 -0
  584. package/ReactCommon/react/renderer/components/view/ConcreteViewShadowNode.h +0 -3
  585. package/ReactCommon/react/renderer/components/view/FilterPropsConversions.h +57 -53
  586. package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +1 -0
  587. package/ReactCommon/react/renderer/components/view/conversions.h +250 -2
  588. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.cpp +19 -63
  589. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.h +1 -0
  590. package/ReactCommon/react/renderer/components/view/primitives.h +3 -86
  591. package/ReactCommon/react/renderer/components/view/tests/ConversionsTest.cpp +215 -0
  592. package/ReactCommon/react/renderer/components/view/tests/LayoutTest.cpp +1 -1
  593. package/ReactCommon/react/renderer/components/virtualview/VirtualViewComponentDescriptor.h +1 -1
  594. package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +1 -1
  595. package/ReactCommon/react/renderer/core/EventEmitter.cpp +2 -2
  596. package/ReactCommon/react/renderer/core/EventEmitter.h +8 -8
  597. package/ReactCommon/react/renderer/core/EventPipe.h +1 -1
  598. package/ReactCommon/react/renderer/core/EventTarget.cpp +3 -3
  599. package/ReactCommon/react/renderer/core/EventTarget.h +7 -7
  600. package/ReactCommon/react/renderer/core/LayoutConstraints.h +0 -5
  601. package/ReactCommon/react/renderer/core/LayoutContext.h +0 -5
  602. package/ReactCommon/react/renderer/core/LayoutMetrics.h +0 -2
  603. package/ReactCommon/react/renderer/core/RawPropsKey.cpp +11 -21
  604. package/ReactCommon/react/renderer/core/RawPropsKey.h +0 -1
  605. package/ReactCommon/react/renderer/core/RawPropsKeyMap.cpp +4 -1
  606. package/ReactCommon/react/renderer/core/RawPropsParser.cpp +1 -7
  607. package/ReactCommon/react/renderer/core/RawPropsParser.h +2 -6
  608. package/ReactCommon/react/renderer/core/RawValue.h +1 -2
  609. package/ReactCommon/react/renderer/core/ShadowNode.cpp +33 -31
  610. package/ReactCommon/react/renderer/core/ShadowNode.h +19 -29
  611. package/ReactCommon/react/renderer/core/ShadowNodeFamily.cpp +6 -6
  612. package/ReactCommon/react/renderer/core/ShadowNodeFamily.h +14 -14
  613. package/ReactCommon/react/renderer/core/ShadowNodeFragment.cpp +4 -2
  614. package/ReactCommon/react/renderer/core/ShadowNodeFragment.h +2 -2
  615. package/ReactCommon/react/renderer/core/tests/ShadowNodeTest.cpp +57 -2
  616. package/ReactCommon/react/renderer/css/CSSBackgroundImage.h +112 -140
  617. package/ReactCommon/react/renderer/css/CSSColor.h +7 -8
  618. package/ReactCommon/react/renderer/css/CSSColorFunction.h +38 -39
  619. package/ReactCommon/react/renderer/css/CSSCompoundDataType.h +23 -17
  620. package/ReactCommon/react/renderer/css/CSSDataType.h +15 -10
  621. package/ReactCommon/react/renderer/css/CSSFilter.h +12 -17
  622. package/ReactCommon/react/renderer/css/CSSKeyword.h +8 -0
  623. package/ReactCommon/react/renderer/css/CSSList.h +11 -11
  624. package/ReactCommon/react/renderer/css/CSSRatio.h +4 -4
  625. package/ReactCommon/react/renderer/css/CSSShadow.h +7 -7
  626. package/ReactCommon/react/renderer/css/CSSSyntaxParser.h +10 -6
  627. package/ReactCommon/react/renderer/css/CSSTokenizer.h +2 -0
  628. package/ReactCommon/react/renderer/css/CSSTransform.h +20 -20
  629. package/ReactCommon/react/renderer/css/CSSTransformOrigin.h +4 -5
  630. package/ReactCommon/react/renderer/css/CSSValueParser.h +71 -67
  631. package/ReactCommon/react/renderer/css/tests/CSSValueParserTest.cpp +11 -10
  632. package/ReactCommon/react/renderer/graphics/BackgroundPosition.h +0 -1
  633. package/ReactCommon/react/renderer/graphics/BackgroundRepeat.h +0 -1
  634. package/ReactCommon/react/renderer/graphics/BackgroundSize.h +0 -1
  635. package/ReactCommon/react/renderer/graphics/Filter.h +3 -2
  636. package/ReactCommon/react/renderer/graphics/LinearGradient.cpp +9 -15
  637. package/ReactCommon/react/renderer/graphics/LinearGradient.h +7 -19
  638. package/ReactCommon/react/renderer/graphics/Point.h +0 -2
  639. package/ReactCommon/react/renderer/graphics/RadialGradient.h +4 -35
  640. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +1 -0
  641. package/ReactCommon/react/renderer/graphics/Rect.h +1 -9
  642. package/ReactCommon/react/renderer/graphics/RectangleCorners.h +1 -10
  643. package/ReactCommon/react/renderer/graphics/RectangleEdges.h +1 -10
  644. package/ReactCommon/react/renderer/graphics/Size.h +0 -5
  645. package/ReactCommon/react/renderer/graphics/Transform.cpp +0 -4
  646. package/ReactCommon/react/renderer/graphics/Transform.h +1 -13
  647. package/ReactCommon/react/renderer/graphics/TransformUtils.h +95 -0
  648. package/ReactCommon/react/renderer/graphics/ValueUnit.h +3 -11
  649. package/ReactCommon/react/renderer/graphics/fromRawValueShared.h +13 -1
  650. package/ReactCommon/react/renderer/imagemanager/ImageManager.h +0 -4
  651. package/ReactCommon/react/renderer/imagemanager/ImageResponseObserverCoordinator.cpp +11 -12
  652. package/ReactCommon/react/renderer/imagemanager/ImageResponseObserverCoordinator.h +4 -3
  653. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageRequestParams.h +1 -36
  654. package/ReactCommon/react/renderer/imagemanager/platform/cxx/react/renderer/imagemanager/ImageRequestParams.h +1 -9
  655. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/ImageRequestParams.h +1 -9
  656. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTSyncImageManager.mm +1 -1
  657. package/ReactCommon/react/renderer/imagemanager/primitives.h +0 -5
  658. package/ReactCommon/react/renderer/mapbuffer/MapBuffer.cpp +51 -30
  659. package/ReactCommon/react/renderer/mapbuffer/MapBuffer.h +2 -0
  660. package/ReactCommon/react/renderer/mounting/Differentiator.cpp +21 -38
  661. package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +153 -18
  662. package/ReactCommon/react/renderer/mounting/ShadowTree.h +30 -6
  663. package/ReactCommon/react/renderer/mounting/ShadowTreeDelegate.h +11 -0
  664. package/ReactCommon/react/renderer/mounting/ShadowView.cpp +0 -4
  665. package/ReactCommon/react/renderer/mounting/ShadowView.h +0 -1
  666. package/ReactCommon/react/renderer/mounting/internal/DiffMap.h +170 -0
  667. package/ReactCommon/react/renderer/mounting/internal/ShadowViewNodePair.h +0 -5
  668. package/ReactCommon/react/renderer/mounting/internal/sliceChildShadowNodeViewPairs.h +3 -3
  669. package/ReactCommon/react/renderer/mounting/stubs/StubView.cpp +0 -4
  670. package/ReactCommon/react/renderer/mounting/stubs/StubView.h +0 -1
  671. package/ReactCommon/react/renderer/mounting/stubs/StubViewTree.cpp +0 -4
  672. package/ReactCommon/react/renderer/mounting/stubs/StubViewTree.h +0 -2
  673. package/ReactCommon/react/renderer/mounting/tests/StateReconciliationTest.cpp +6 -0
  674. package/ReactCommon/react/renderer/mounting/updateMountedFlag.cpp +12 -4
  675. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserver.cpp +2 -1
  676. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverState.cpp +0 -5
  677. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverState.h +0 -1
  678. package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +1 -1
  679. package/ReactCommon/react/renderer/scheduler/CMakeLists.txt +1 -0
  680. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +28 -1
  681. package/ReactCommon/react/renderer/scheduler/Scheduler.h +2 -2
  682. package/ReactCommon/react/renderer/scheduler/SchedulerDelegate.h +6 -0
  683. package/ReactCommon/react/renderer/scheduler/SchedulerToolbox.h +7 -0
  684. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp +2 -2
  685. package/ReactCommon/react/renderer/textlayoutmanager/TextLayoutManagerExtended.h +18 -18
  686. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +8 -7
  687. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.h +5 -5
  688. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.h +3 -3
  689. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.mm +4 -3
  690. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.h +1 -1
  691. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +15 -5
  692. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextPrimitivesConversions.h +2 -2
  693. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.mm +10 -1
  694. package/ReactCommon/react/renderer/uimanager/PointerEventsProcessor.cpp +1 -1
  695. package/ReactCommon/react/renderer/uimanager/PointerEventsProcessor.h +1 -3
  696. package/ReactCommon/react/renderer/uimanager/PointerHoverTracker.cpp +1 -1
  697. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +68 -38
  698. package/ReactCommon/react/renderer/uimanager/UIManager.h +17 -8
  699. package/ReactCommon/react/renderer/uimanager/UIManagerAnimationBackend.h +17 -5
  700. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +2 -2
  701. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.h +2 -2
  702. package/ReactCommon/react/renderer/uimanager/UIManagerDelegate.h +10 -0
  703. package/ReactCommon/react/renderer/uimanager/consistency/LazyShadowTreeRevisionConsistencyManager.cpp +19 -23
  704. package/ReactCommon/react/renderer/uimanager/consistency/LazyShadowTreeRevisionConsistencyManager.h +2 -3
  705. package/ReactCommon/react/renderer/uimanager/consistency/tests/LazyShadowTreeRevisionConsistencyManagerTest.cpp +13 -5
  706. package/ReactCommon/react/renderer/uimanager/primitives.h +16 -7
  707. package/ReactCommon/react/renderer/uimanager/tests/FindShadowNodeByTagTest.cpp +287 -0
  708. package/ReactCommon/react/runtime/TimerManager.cpp +16 -2
  709. package/ReactCommon/react/runtime/hermes/HermesInstance.cpp +11 -6
  710. package/ReactCommon/react/runtime/iostests/RCTHostTests.mm +11 -0
  711. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.h +17 -3
  712. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.mm +8 -1
  713. package/ReactCommon/react/test_utils/shadowTreeGeneration.h +8 -5
  714. package/ReactCommon/react/utils/ContextContainer.h +0 -2
  715. package/ReactCommon/yoga/yoga/YGNode.cpp +14 -0
  716. package/ReactCommon/yoga/yoga/YGValue.h +0 -4
  717. package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.cpp +7 -7
  718. package/ReactCommon/yoga/yoga/enums/YogaEnums.h +0 -1
  719. package/ReactCommon/yoga/yoga/node/LayoutResults.h +0 -3
  720. package/ReactCommon/yoga/yoga/numeric/FloatOptional.h +0 -9
  721. package/ReactCommon/yoga/yoga/style/Style.h +0 -4
  722. package/flow/bom.js.flow +18 -17
  723. package/flow/dom.js.flow +12 -5
  724. package/flow/global.js +1 -1
  725. package/gradle/libs.versions.toml +1 -1
  726. package/index.js +9 -0
  727. package/index.js.flow +8 -1
  728. package/jest-preset.js +14 -18
  729. package/package.json +17 -17
  730. package/react-native.config.js +17 -0
  731. package/scripts/cocoapods/rncore.rb +111 -2
  732. package/scripts/cocoapods/utils.rb +2 -0
  733. package/scripts/codegen/templates/Package.swift.template +7 -0
  734. package/scripts/react_native_pods.rb +13 -6
  735. package/scripts/replace-rncore-version.js +12 -3
  736. package/sdks/.hermesv1version +1 -1
  737. package/sdks/.hermesversion +1 -1
  738. package/sdks/hermes-engine/version.properties +2 -2
  739. package/settings.gradle.kts +21 -1
  740. package/src/private/animated/NativeAnimatedHelper.js +2 -2
  741. package/src/private/animated/createAnimatedPropsMemoHook.js +19 -19
  742. package/src/private/components/virtualview/VirtualView.js +14 -21
  743. package/src/private/components/virtualview/VirtualViewExperimentalNativeComponent.js +11 -10
  744. package/src/private/components/virtualview/VirtualViewNativeComponent.js +4 -4
  745. package/src/private/devsupport/devmenu/elementinspector/BorderBox.js +2 -2
  746. package/src/private/devsupport/devmenu/elementinspector/BoxInspector.js +3 -3
  747. package/src/private/devsupport/devmenu/elementinspector/ElementBox.js +4 -4
  748. package/src/private/devsupport/devmenu/elementinspector/ElementProperties.js +1 -1
  749. package/src/private/devsupport/devmenu/elementinspector/Inspector.js +39 -17
  750. package/src/private/devsupport/devmenu/elementinspector/InspectorOverlay.js +15 -3
  751. package/src/private/devsupport/devmenu/elementinspector/InspectorPanel.js +2 -2
  752. package/src/private/devsupport/devmenu/elementinspector/ReactDevToolsOverlay.js +2 -8
  753. package/src/private/devsupport/devmenu/elementinspector/StyleInspector.js +1 -1
  754. package/src/private/devsupport/devmenu/elementinspector/resolveBoxStyle.js +1 -1
  755. package/src/private/devsupport/devmenu/elementinspector/useExternalInspection.js +102 -0
  756. package/src/private/devsupport/rndevtools/FuseboxSessionObserver.js +12 -25
  757. package/src/private/devsupport/rndevtools/GlobalStateObserver.js +56 -0
  758. package/src/private/devsupport/rndevtools/TracingStateObserver.js +28 -0
  759. package/src/private/featureflags/ReactNativeFeatureFlags.js +49 -82
  760. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +2 -2
  761. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +9 -12
  762. package/src/private/specs_DEPRECATED/components/ActivityIndicatorViewNativeComponent.js +1 -1
  763. package/src/private/specs_DEPRECATED/components/AndroidDrawerLayoutNativeComponent.js +3 -3
  764. package/src/private/specs_DEPRECATED/components/AndroidHorizontalScrollContentViewNativeComponent.js +1 -1
  765. package/src/private/specs_DEPRECATED/components/AndroidSwipeRefreshLayoutNativeComponent.js +2 -2
  766. package/src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent.js +2 -2
  767. package/src/private/specs_DEPRECATED/components/DebuggingOverlayNativeComponent.js +3 -3
  768. package/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.js +1 -1
  769. package/src/private/specs_DEPRECATED/components/PullToRefreshViewNativeComponent.js +1 -1
  770. package/src/private/specs_DEPRECATED/components/RCTInputAccessoryViewNativeComponent.js +1 -1
  771. package/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js +3 -3
  772. package/src/private/specs_DEPRECATED/components/RCTSafeAreaViewNativeComponent.js +1 -1
  773. package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +2 -2
  774. package/src/private/specs_DEPRECATED/components/UnimplementedNativeViewNativeComponent.js +1 -1
  775. package/src/private/specs_DEPRECATED/modules/NativeImageLoaderIOS.js +1 -1
  776. package/src/private/styles/composeStyles.js +1 -1
  777. package/src/private/utilities/toError.js +27 -0
  778. package/src/private/utilities/toExtendedError.js +30 -0
  779. package/src/private/webapis/dom/events/Event.js +1 -1
  780. package/src/private/webapis/dom/events/EventHandlerAttributes.js +2 -2
  781. package/src/private/webapis/dom/events/EventTarget.js +3 -3
  782. package/src/private/webapis/dom/events/internals/EventInternals.js +2 -2
  783. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +1 -1
  784. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +2 -2
  785. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +14 -14
  786. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +2 -2
  787. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js.flow +1 -1
  788. package/src/private/webapis/dom/oldstylecollections/NodeList.js +2 -2
  789. package/src/private/webapis/dom/oldstylecollections/NodeList.js.flow +1 -1
  790. package/src/private/webapis/geometry/DOMRectList.js +2 -2
  791. package/src/private/webapis/geometry/DOMRectList.js.flow +1 -1
  792. package/src/private/webapis/intersectionobserver/IntersectionObserver.js +8 -8
  793. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +6 -6
  794. package/src/private/webapis/mutationobserver/MutationObserver.js +2 -2
  795. package/src/private/webapis/mutationobserver/MutationRecord.js +2 -2
  796. package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +1 -1
  797. package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +3 -3
  798. package/src/private/webapis/performance/LongTasks.js +3 -3
  799. package/src/private/webapis/performance/Performance.js +4 -4
  800. package/src/private/webapis/performance/PerformanceEntry.js +1 -1
  801. package/src/private/webapis/performance/PerformanceObserver.js +2 -2
  802. package/src/private/webapis/performance/specs/NativePerformance.js +8 -8
  803. package/src/private/webapis/structuredClone/structuredClone.js +2 -2
  804. package/src/types/globals.d.ts +4 -4
  805. package/third-party-podspecs/RCT-Folly.podspec +1 -1
  806. package/third-party-podspecs/fmt.podspec +2 -2
  807. package/tvosCommands.js +51 -0
  808. package/types/index.d.ts +2 -0
  809. package/types/public/ReactNativeTVTypes.d.ts +27 -2
  810. package/Libraries/Components/View/ReactNativeViewAttributes.js +0 -60
  811. package/Libraries/Image/TextInlineImageNativeComponent.js +0 -49
  812. package/React/Fabric/Mounting/ComponentViews/VirtualViewExperimental/RCTVirtualViewExperimentalComponentView.h +0 -25
  813. package/React/Fabric/Mounting/ComponentViews/VirtualViewExperimental/RCTVirtualViewExperimentalComponentView.mm +0 -321
  814. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java +0 -620
  815. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +0 -1411
  816. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.java +0 -985
  817. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyOptimizer.java +0 -403
  818. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherImpl.kt +0 -336
  819. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventEmitterImpl.kt +0 -135
  820. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarShadowNode.kt +0 -81
  821. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchShadowNode.kt +0 -72
  822. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.kt +0 -677
  823. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.kt +0 -218
  824. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.kt +0 -369
  825. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageShadowNode.kt +0 -156
  826. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageSpan.kt +0 -174
  827. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageViewManager.kt +0 -54
  828. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/ReactTextInlineImageShadowNode.kt +0 -30
  829. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/TextInlineImageSpan.kt +0 -58
  830. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputShadowNode.kt +0 -228
  831. package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/viewexperimental/ReactVirtualViewExperimental.kt +0 -305
  832. package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/viewexperimental/ReactVirtualViewExperimentalManager.kt +0 -110
  833. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfigJNIBase.java +0 -62
  834. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDirection.java +0 -35
  835. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNode.java +0 -279
  836. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaProps.java +0 -197
  837. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp +0 -410
  838. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.h +0 -113
  839. package/ReactCommon/react/renderer/components/virtualviewexperimental/VirtualViewExperimentalComponentDescriptor.h +0 -19
  840. package/ReactCommon/react/renderer/components/virtualviewexperimental/VirtualViewExperimentalShadowNode.h +0 -38
  841. package/jest/MockNativeMethods.js +0 -27
  842. package/jest/RefreshControlMock.js +0 -32
  843. package/jest/assetFileTransformer.js +0 -33
  844. package/jest/local-setup.js +0 -29
  845. package/jest/mock.js +0 -39
  846. package/jest/mockComponent.js +0 -104
  847. package/jest/mockNativeComponent.js +0 -52
  848. package/jest/mocks/AccessibilityInfo.js +0 -62
  849. package/jest/mocks/ActivityIndicator.js +0 -23
  850. package/jest/mocks/AppState.js +0 -19
  851. package/jest/mocks/Image.js +0 -23
  852. package/jest/mocks/InitializeCore.js +0 -9
  853. package/jest/mocks/Linking.js +0 -28
  854. package/jest/mocks/Modal.js +0 -33
  855. package/jest/mocks/NativeComponentRegistry.js +0 -30
  856. package/jest/mocks/NativeModules.js +0 -239
  857. package/jest/mocks/RefreshControl.js +0 -31
  858. package/jest/mocks/RendererProxy.js +0 -45
  859. package/jest/mocks/ScrollView.js +0 -58
  860. package/jest/mocks/Text.js +0 -27
  861. package/jest/mocks/TextInput.js +0 -32
  862. package/jest/mocks/UIManager.js +0 -60
  863. package/jest/mocks/View.js +0 -27
  864. package/jest/mocks/ViewNativeComponent.js +0 -23
  865. package/jest/mocks/requireNativeComponent.js +0 -22
  866. package/jest/mocks/useColorScheme.js +0 -18
  867. package/jest/react-native-env.js +0 -17
  868. package/jest/renderer.js +0 -40
  869. package/jest/resolver.js +0 -32
  870. package/jest/setup.js +0 -140
  871. /package/React/Fabric/Mounting/ComponentViews/{VirtualViewExperimental → VirtualView}/RCTVirtualViewMode.h +0 -0
  872. /package/React/Fabric/Mounting/ComponentViews/{VirtualViewExperimental → VirtualView}/RCTVirtualViewRenderState.h +0 -0
  873. /package/ReactAndroid/src/main/java/com/facebook/react/fabric/internal/interop/{InteropUiBlockListener.kt → InteropUIBlockListener.kt} +0 -0
  874. /package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/{LegacyViewManagerInteropComponentDescriptor.h → platform/ios/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.h} +0 -0
  875. /package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/{RCTLegacyViewManagerInteropCoordinator.h → platform/ios/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.h} +0 -0
  876. /package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/{RCTLegacyViewManagerInteropCoordinator.mm → platform/ios/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.mm} +0 -0
  877. /package/ReactCommon/react/renderer/components/scrollview/{RCTComponentViewHelpers.h → platform/ios/react/renderer/components/scrollview/RCTComponentViewHelpers.h} +0 -0
@@ -25,6 +25,37 @@
25
25
 
26
26
  namespace facebook::react {
27
27
 
28
+ enum class CSSGradientToKeyword : std::underlying_type_t<CSSKeyword> {
29
+ To = to_underlying(CSSKeyword::To),
30
+ };
31
+
32
+ static_assert(CSSDataType<CSSGradientToKeyword>);
33
+
34
+ enum class CSSGradientDirectionKeyword : std::underlying_type_t<CSSKeyword> {
35
+ Top = to_underlying(CSSKeyword::Top),
36
+ Bottom = to_underlying(CSSKeyword::Bottom),
37
+ Left = to_underlying(CSSKeyword::Left),
38
+ Right = to_underlying(CSSKeyword::Right),
39
+ };
40
+
41
+ static_assert(CSSDataType<CSSGradientDirectionKeyword>);
42
+
43
+ enum class CSSGradientAtKeyword : std::underlying_type_t<CSSKeyword> {
44
+ At = to_underlying(CSSKeyword::At),
45
+ };
46
+
47
+ static_assert(CSSDataType<CSSGradientAtKeyword>);
48
+
49
+ enum class CSSGradientPositionKeyword : std::underlying_type_t<CSSKeyword> {
50
+ Top = to_underlying(CSSKeyword::Top),
51
+ Bottom = to_underlying(CSSKeyword::Bottom),
52
+ Left = to_underlying(CSSKeyword::Left),
53
+ Right = to_underlying(CSSKeyword::Right),
54
+ Center = to_underlying(CSSKeyword::Center),
55
+ };
56
+
57
+ static_assert(CSSDataType<CSSGradientPositionKeyword>);
58
+
28
59
  enum class CSSLinearGradientDirectionKeyword : uint8_t {
29
60
  ToTopLeft,
30
61
  ToTopRight,
@@ -41,115 +72,81 @@ struct CSSLinearGradientDirection {
41
72
 
42
73
  template <>
43
74
  struct CSSDataTypeParser<CSSLinearGradientDirection> {
44
- static constexpr auto consume(CSSSyntaxParser &parser) -> std::optional<CSSLinearGradientDirection>
75
+ static constexpr auto consume(CSSValueParser &parser) -> std::optional<CSSLinearGradientDirection>
45
76
  {
46
77
  return parseLinearGradientDirection(parser);
47
78
  }
48
79
 
49
80
  private:
50
- static constexpr std::optional<CSSLinearGradientDirection> parseLinearGradientDirection(CSSSyntaxParser &parser)
81
+ static constexpr std::optional<CSSLinearGradientDirection> parseLinearGradientDirection(CSSValueParser &parser)
51
82
  {
52
- auto angle = parseNextCSSValue<CSSAngle>(parser);
83
+ auto angle = parser.parseNextValue<CSSAngle>();
53
84
  if (std::holds_alternative<CSSAngle>(angle)) {
54
85
  return CSSLinearGradientDirection{std::get<CSSAngle>(angle)};
55
86
  }
56
- auto toResult = parser.consumeComponentValue<bool>([](const CSSPreservedToken &token) -> bool {
57
- return token.type() == CSSTokenType::Ident && fnv1aLowercase(token.stringValue()) == fnv1a("to");
58
- });
59
-
60
- if (!toResult) {
87
+ auto toResult = parser.parseNextValue<CSSGradientToKeyword>();
88
+ if (!std::holds_alternative<CSSGradientToKeyword>(toResult)) {
61
89
  // no direction found, default to 180 degrees (to bottom)
62
90
  return CSSLinearGradientDirection{CSSAngle{180.0f}};
63
91
  }
64
92
 
65
- parser.consumeWhitespace();
66
-
67
- std::optional<CSSKeyword> primaryDir;
68
- auto primaryResult = parser.consumeComponentValue<std::optional<CSSKeyword>>(
69
- [](const CSSPreservedToken &token) -> std::optional<CSSKeyword> {
70
- if (token.type() == CSSTokenType::Ident) {
71
- switch (fnv1aLowercase(token.stringValue())) {
72
- case fnv1a("top"):
73
- return CSSKeyword::Top;
74
- case fnv1a("bottom"):
75
- return CSSKeyword::Bottom;
76
- case fnv1a("left"):
77
- return CSSKeyword::Left;
78
- case fnv1a("right"):
79
- return CSSKeyword::Right;
80
- }
81
- }
82
- return {};
83
- });
93
+ parser.syntaxParser().consumeWhitespace();
84
94
 
85
- if (!primaryResult) {
95
+ auto primaryResult = parser.parseNextValue<CSSGradientDirectionKeyword>();
96
+ if (std::holds_alternative<std::monostate>(primaryResult)) {
86
97
  return {};
87
98
  }
88
-
89
- primaryDir = primaryResult;
90
- parser.consumeWhitespace();
91
-
92
- std::optional<CSSKeyword> secondaryDir;
93
- auto secondaryResult = parser.consumeComponentValue<std::optional<CSSKeyword>>(
94
- [&](const CSSPreservedToken &token) -> std::optional<CSSKeyword> {
95
- if (token.type() == CSSTokenType::Ident) {
96
- auto hash = fnv1aLowercase(token.stringValue());
97
- // validate compatible combinations
98
- if (primaryDir == CSSKeyword::Top || primaryDir == CSSKeyword::Bottom) {
99
- if (hash == fnv1a("left")) {
100
- return CSSKeyword::Left;
101
- }
102
- if (hash == fnv1a("right")) {
103
- return CSSKeyword::Right;
104
- }
105
- }
106
- if (primaryDir == CSSKeyword::Left || primaryDir == CSSKeyword::Right) {
107
- if (hash == fnv1a("top")) {
108
- return CSSKeyword::Top;
109
- }
110
- if (hash == fnv1a("bottom")) {
111
- return CSSKeyword::Bottom;
112
- }
113
- }
114
- }
115
- return {};
116
- });
117
-
118
- if (secondaryResult) {
119
- secondaryDir = secondaryResult;
99
+ auto primaryDir = std::get<CSSGradientDirectionKeyword>(primaryResult);
100
+
101
+ parser.syntaxParser().consumeWhitespace();
102
+
103
+ auto secondaryPeek = parser.peekNextValue<CSSGradientDirectionKeyword>();
104
+ std::optional<CSSGradientDirectionKeyword> secondaryDir;
105
+ if (std::holds_alternative<CSSGradientDirectionKeyword>(secondaryPeek)) {
106
+ auto kw = std::get<CSSGradientDirectionKeyword>(secondaryPeek);
107
+ bool isCompatible = false;
108
+ if (primaryDir == CSSGradientDirectionKeyword::Top || primaryDir == CSSGradientDirectionKeyword::Bottom) {
109
+ isCompatible = (kw == CSSGradientDirectionKeyword::Left || kw == CSSGradientDirectionKeyword::Right);
110
+ } else if (primaryDir == CSSGradientDirectionKeyword::Left || primaryDir == CSSGradientDirectionKeyword::Right) {
111
+ isCompatible = (kw == CSSGradientDirectionKeyword::Top || kw == CSSGradientDirectionKeyword::Bottom);
112
+ }
113
+ if (isCompatible) {
114
+ parser.parseNextValue<CSSGradientDirectionKeyword>();
115
+ secondaryDir = kw;
116
+ }
120
117
  }
121
118
 
122
- if (primaryDir == CSSKeyword::Top) {
123
- if (secondaryDir == CSSKeyword::Left) {
119
+ if (primaryDir == CSSGradientDirectionKeyword::Top) {
120
+ if (secondaryDir == CSSGradientDirectionKeyword::Left) {
124
121
  return CSSLinearGradientDirection{CSSLinearGradientDirectionKeyword::ToTopLeft};
125
- } else if (secondaryDir == CSSKeyword::Right) {
122
+ } else if (secondaryDir == CSSGradientDirectionKeyword::Right) {
126
123
  return CSSLinearGradientDirection{CSSLinearGradientDirectionKeyword::ToTopRight};
127
124
  } else {
128
125
  // "to top" = 0 degrees
129
126
  return CSSLinearGradientDirection{CSSAngle{0.0f}};
130
127
  }
131
- } else if (primaryDir == CSSKeyword::Bottom) {
132
- if (secondaryDir == CSSKeyword::Left) {
128
+ } else if (primaryDir == CSSGradientDirectionKeyword::Bottom) {
129
+ if (secondaryDir == CSSGradientDirectionKeyword::Left) {
133
130
  return CSSLinearGradientDirection{CSSLinearGradientDirectionKeyword::ToBottomLeft};
134
- } else if (secondaryDir == CSSKeyword::Right) {
131
+ } else if (secondaryDir == CSSGradientDirectionKeyword::Right) {
135
132
  return CSSLinearGradientDirection{CSSLinearGradientDirectionKeyword::ToBottomRight};
136
133
  } else {
137
134
  // "to bottom" = 180 degrees
138
135
  return CSSLinearGradientDirection{CSSAngle{180.0f}};
139
136
  }
140
- } else if (primaryDir == CSSKeyword::Left) {
141
- if (secondaryDir == CSSKeyword::Top) {
137
+ } else if (primaryDir == CSSGradientDirectionKeyword::Left) {
138
+ if (secondaryDir == CSSGradientDirectionKeyword::Top) {
142
139
  return CSSLinearGradientDirection{CSSLinearGradientDirectionKeyword::ToTopLeft};
143
- } else if (secondaryDir == CSSKeyword::Bottom) {
140
+ } else if (secondaryDir == CSSGradientDirectionKeyword::Bottom) {
144
141
  return CSSLinearGradientDirection{CSSLinearGradientDirectionKeyword::ToBottomLeft};
145
142
  } else {
146
143
  // "to left" = 270 degrees
147
144
  return CSSLinearGradientDirection{CSSAngle{270.0f}};
148
145
  }
149
- } else if (primaryDir == CSSKeyword::Right) {
150
- if (secondaryDir == CSSKeyword::Top) {
146
+ } else if (primaryDir == CSSGradientDirectionKeyword::Right) {
147
+ if (secondaryDir == CSSGradientDirectionKeyword::Top) {
151
148
  return CSSLinearGradientDirection{CSSLinearGradientDirectionKeyword::ToTopRight};
152
- } else if (secondaryDir == CSSKeyword::Bottom) {
149
+ } else if (secondaryDir == CSSGradientDirectionKeyword::Bottom) {
153
150
  return CSSLinearGradientDirection{CSSLinearGradientDirectionKeyword::ToBottomRight};
154
151
  } else {
155
152
  // "to right" = 90 degrees
@@ -169,23 +166,20 @@ static_assert(CSSDataType<CSSLinearGradientDirection>);
169
166
  struct CSSColorHint {
170
167
  std::variant<CSSLength, CSSPercentage> position{}; // Support both lengths and percentages
171
168
 
172
- bool operator==(const CSSColorHint &rhs) const
173
- {
174
- return position == rhs.position;
175
- }
169
+ bool operator==(const CSSColorHint &rhs) const = default;
176
170
  };
177
171
 
178
172
  template <>
179
173
  struct CSSDataTypeParser<CSSColorHint> {
180
- static auto consume(CSSSyntaxParser &parser) -> std::optional<CSSColorHint>
174
+ static auto consume(CSSValueParser &parser) -> std::optional<CSSColorHint>
181
175
  {
182
176
  return parseCSSColorHint(parser);
183
177
  }
184
178
 
185
179
  private:
186
- static std::optional<CSSColorHint> parseCSSColorHint(CSSSyntaxParser &parser)
180
+ static std::optional<CSSColorHint> parseCSSColorHint(CSSValueParser &parser)
187
181
  {
188
- auto position = parseNextCSSValue<CSSLengthPercentage>(parser);
182
+ auto position = parser.parseNextValue<CSSLengthPercentage>();
189
183
  if (std::holds_alternative<CSSLength>(position)) {
190
184
  return CSSColorHint{std::get<CSSLength>(position)};
191
185
  } else if (std::holds_alternative<CSSPercentage>(position)) {
@@ -238,15 +232,15 @@ struct CSSColorStop {
238
232
 
239
233
  template <>
240
234
  struct CSSDataTypeParser<CSSColorStop> {
241
- static constexpr auto consume(CSSSyntaxParser &parser) -> std::optional<CSSColorStop>
235
+ static constexpr auto consume(CSSValueParser &parser) -> std::optional<CSSColorStop>
242
236
  {
243
237
  return parseCSSColorStop(parser);
244
238
  }
245
239
 
246
240
  private:
247
- static constexpr std::optional<CSSColorStop> parseCSSColorStop(CSSSyntaxParser &parser)
241
+ static constexpr std::optional<CSSColorStop> parseCSSColorStop(CSSValueParser &parser)
248
242
  {
249
- auto color = parseNextCSSValue<CSSColor>(parser);
243
+ auto color = parser.parseNextValue<CSSColor>();
250
244
  if (!std::holds_alternative<CSSColor>(color)) {
251
245
  return {};
252
246
  }
@@ -254,7 +248,7 @@ struct CSSDataTypeParser<CSSColorStop> {
254
248
  CSSColorStop colorStop;
255
249
  colorStop.color = std::get<CSSColor>(color);
256
250
 
257
- auto startPosition = parseNextCSSValue<CSSLengthPercentage>(parser, CSSDelimiter::Whitespace);
251
+ auto startPosition = parser.parseNextValue<CSSLengthPercentage>(CSSDelimiter::Whitespace);
258
252
  if (std::holds_alternative<CSSLength>(startPosition)) {
259
253
  colorStop.startPosition = std::get<CSSLength>(startPosition);
260
254
  } else if (std::holds_alternative<CSSPercentage>(startPosition)) {
@@ -264,7 +258,7 @@ struct CSSDataTypeParser<CSSColorStop> {
264
258
  if (colorStop.startPosition) {
265
259
  // Try to parse second optional position (supports both lengths and
266
260
  // percentages)
267
- auto endPosition = parseNextCSSValue<CSSLengthPercentage>(parser, CSSDelimiter::Whitespace);
261
+ auto endPosition = parser.parseNextValue<CSSLengthPercentage>(CSSDelimiter::Whitespace);
268
262
  if (std::holds_alternative<CSSLength>(endPosition)) {
269
263
  colorStop.endPosition = std::get<CSSLength>(endPosition);
270
264
  } else if (std::holds_alternative<CSSPercentage>(endPosition)) {
@@ -284,27 +278,27 @@ struct CSSLinearGradientFunction {
284
278
  bool operator==(const CSSLinearGradientFunction &rhs) const = default;
285
279
 
286
280
  static std::pair<std::vector<std::variant<CSSColorStop, CSSColorHint>>, int> parseGradientColorStopsAndHints(
287
- CSSSyntaxParser &parser)
281
+ CSSValueParser &parser)
288
282
  {
289
283
  std::vector<std::variant<CSSColorStop, CSSColorHint>> items;
290
284
  int colorStopCount = 0;
291
285
 
292
286
  std::optional<CSSColorStop> prevColorStop = std::nullopt;
293
287
  do {
294
- auto colorStop = parseNextCSSValue<CSSColorStop>(parser);
288
+ auto colorStop = parser.parseNextValue<CSSColorStop>();
295
289
  if (std::holds_alternative<CSSColorStop>(colorStop)) {
296
290
  auto parsedColorStop = std::get<CSSColorStop>(colorStop);
297
291
  items.emplace_back(parsedColorStop);
298
292
  prevColorStop = parsedColorStop;
299
293
  colorStopCount++;
300
294
  } else {
301
- auto colorHint = parseNextCSSValue<CSSColorHint>(parser);
295
+ auto colorHint = parser.parseNextValue<CSSColorHint>();
302
296
  if (std::holds_alternative<CSSColorHint>(colorHint)) {
303
297
  // color hint must be between two color stops
304
298
  if (!prevColorStop) {
305
299
  return {};
306
300
  }
307
- auto nextColorStop = peekNextCSSValue<CSSColorStop>(parser, CSSDelimiter::Comma);
301
+ auto nextColorStop = parser.peekNextValue<CSSColorStop>(CSSDelimiter::Comma);
308
302
  if (!std::holds_alternative<CSSColorStop>(nextColorStop)) {
309
303
  return {};
310
304
  }
@@ -313,7 +307,7 @@ struct CSSLinearGradientFunction {
313
307
  break; // No more valid items
314
308
  }
315
309
  }
316
- } while (parser.consumeDelimiter(CSSDelimiter::Comma));
310
+ } while (parser.syntaxParser().consumeDelimiter(CSSDelimiter::Comma));
317
311
 
318
312
  return {items, colorStopCount};
319
313
  }
@@ -381,16 +375,16 @@ struct CSSRadialGradientExplicitSize {
381
375
 
382
376
  template <>
383
377
  struct CSSDataTypeParser<CSSRadialGradientExplicitSize> {
384
- static auto consume(CSSSyntaxParser &syntaxParser) -> std::optional<CSSRadialGradientExplicitSize>
378
+ static auto consume(CSSValueParser &syntaxParser) -> std::optional<CSSRadialGradientExplicitSize>
385
379
  {
386
- auto sizeX = parseNextCSSValue<CSSLengthPercentage>(syntaxParser);
380
+ auto sizeX = syntaxParser.parseNextValue<CSSLengthPercentage>();
387
381
  if (std::holds_alternative<std::monostate>(sizeX)) {
388
382
  return {};
389
383
  }
390
384
 
391
- syntaxParser.consumeWhitespace();
385
+ syntaxParser.syntaxParser().consumeWhitespace();
392
386
 
393
- auto sizeY = parseNextCSSValue<CSSLengthPercentage>(syntaxParser);
387
+ auto sizeY = syntaxParser.parseNextValue<CSSLengthPercentage>();
394
388
 
395
389
  CSSRadialGradientExplicitSize result;
396
390
  if (std::holds_alternative<CSSLength>(sizeX)) {
@@ -423,10 +417,7 @@ struct CSSRadialGradientPosition {
423
417
  std::optional<std::variant<CSSLength, CSSPercentage>> left{};
424
418
  std::optional<std::variant<CSSLength, CSSPercentage>> right{};
425
419
 
426
- bool operator==(const CSSRadialGradientPosition &rhs) const
427
- {
428
- return top == rhs.top && bottom == rhs.bottom && left == rhs.left && right == rhs.right;
429
- }
420
+ bool operator==(const CSSRadialGradientPosition &rhs) const = default;
430
421
  };
431
422
 
432
423
  struct CSSRadialGradientFunction {
@@ -440,7 +431,7 @@ struct CSSRadialGradientFunction {
440
431
 
441
432
  template <>
442
433
  struct CSSDataTypeParser<CSSRadialGradientFunction> {
443
- static auto consumeFunctionBlock(const CSSFunctionBlock &func, CSSSyntaxParser &parser)
434
+ static auto consumeFunctionBlock(const CSSFunctionBlock &func, CSSValueParser &parser)
444
435
  -> std::optional<CSSRadialGradientFunction>
445
436
  {
446
437
  if (!iequals(func.name, "radial-gradient")) {
@@ -451,20 +442,20 @@ struct CSSDataTypeParser<CSSRadialGradientFunction> {
451
442
 
452
443
  auto hasExplicitShape = false;
453
444
  auto hasExplicitSingleSize = false;
454
- auto shapeResult = parseNextCSSValue<CSSRadialGradientShape>(parser);
445
+ auto shapeResult = parser.parseNextValue<CSSRadialGradientShape>();
455
446
  if (std::holds_alternative<CSSRadialGradientShape>(shapeResult)) {
456
- parser.consumeWhitespace();
447
+ parser.syntaxParser().consumeWhitespace();
457
448
  }
458
449
 
459
450
  std::optional<CSSRadialGradientSize> sizeResult;
460
451
 
461
- auto sizeKeywordResult = parseNextCSSValue<CSSRadialGradientSizeKeyword>(parser);
452
+ auto sizeKeywordResult = parser.parseNextValue<CSSRadialGradientSizeKeyword>();
462
453
 
463
454
  if (std::holds_alternative<CSSRadialGradientSizeKeyword>(sizeKeywordResult)) {
464
455
  sizeResult = CSSRadialGradientSize{std::get<CSSRadialGradientSizeKeyword>(sizeKeywordResult)};
465
- parser.consumeWhitespace();
456
+ parser.syntaxParser().consumeWhitespace();
466
457
  } else {
467
- auto explicitSizeResult = parseNextCSSValue<CSSRadialGradientExplicitSize>(parser);
458
+ auto explicitSizeResult = parser.parseNextValue<CSSRadialGradientExplicitSize>();
468
459
  if (std::holds_alternative<CSSRadialGradientExplicitSize>(explicitSizeResult)) {
469
460
  auto explicitSize = std::get<CSSRadialGradientExplicitSize>(explicitSizeResult);
470
461
  // negative value validation
@@ -498,7 +489,7 @@ struct CSSDataTypeParser<CSSRadialGradientFunction> {
498
489
  }
499
490
 
500
491
  sizeResult = CSSRadialGradientSize{explicitSize};
501
- parser.consumeWhitespace();
492
+ parser.syntaxParser().consumeWhitespace();
502
493
  }
503
494
  }
504
495
 
@@ -527,38 +518,24 @@ struct CSSDataTypeParser<CSSRadialGradientFunction> {
527
518
  return {};
528
519
  }
529
520
 
530
- auto atResult = parser.consumeComponentValue<bool>([](const CSSPreservedToken &token) -> bool {
531
- return token.type() == CSSTokenType::Ident && fnv1aLowercase(token.stringValue()) == fnv1a("at");
532
- });
521
+ auto atResult = parser.parseNextValue<CSSGradientAtKeyword>();
522
+ bool hasAtKeyword = std::holds_alternative<CSSGradientAtKeyword>(atResult);
533
523
 
534
524
  CSSRadialGradientPosition position;
535
525
 
536
- if (atResult) {
537
- parser.consumeWhitespace();
526
+ if (hasAtKeyword) {
527
+ parser.syntaxParser().consumeWhitespace();
538
528
  std::vector<std::variant<CSSLength, CSSPercentage, CSSKeyword>> positionKeywordValues;
539
529
  for (int i = 0; i < 2; i++) {
540
530
  auto keywordFound = false;
541
531
  auto valueFound = false;
542
532
 
543
- auto positionKeyword = parser.consumeComponentValue<std::optional<CSSKeyword>>(
544
- [](const CSSPreservedToken &token) -> std::optional<CSSKeyword> {
545
- if (token.type() == CSSTokenType::Ident) {
546
- auto keyword = std::string(token.stringValue());
547
- auto hash = fnv1aLowercase(keyword);
548
- if (hash == fnv1a("top")) {
549
- return CSSKeyword::Top;
550
- } else if (hash == fnv1a("bottom")) {
551
- return CSSKeyword::Bottom;
552
- } else if (hash == fnv1a("left")) {
553
- return CSSKeyword::Left;
554
- } else if (hash == fnv1a("right")) {
555
- return CSSKeyword::Right;
556
- } else if (hash == fnv1a("center")) {
557
- return CSSKeyword::Center;
558
- }
559
- }
560
- return {};
561
- });
533
+ auto positionKeywordResult = parser.parseNextValue<CSSGradientPositionKeyword>();
534
+ std::optional<CSSKeyword> positionKeyword;
535
+ if (std::holds_alternative<CSSGradientPositionKeyword>(positionKeywordResult)) {
536
+ positionKeyword =
537
+ static_cast<CSSKeyword>(to_underlying(std::get<CSSGradientPositionKeyword>(positionKeywordResult)));
538
+ }
562
539
 
563
540
  if (positionKeyword) {
564
541
  // invalid position declaration of same keyword "at top 10% top 20%"
@@ -573,9 +550,9 @@ struct CSSDataTypeParser<CSSRadialGradientFunction> {
573
550
  keywordFound = true;
574
551
  }
575
552
 
576
- parser.consumeWhitespace();
553
+ parser.syntaxParser().consumeWhitespace();
577
554
 
578
- auto lengthPercentageValue = parseNextCSSValue<CSSLengthPercentage>(parser);
555
+ auto lengthPercentageValue = parser.parseNextValue<CSSLengthPercentage>();
579
556
 
580
557
  std::optional<decltype(positionKeywordValues)::value_type> value;
581
558
  if (std::holds_alternative<CSSLength>(lengthPercentageValue)) {
@@ -588,7 +565,7 @@ struct CSSDataTypeParser<CSSRadialGradientFunction> {
588
565
  valueFound = true;
589
566
  }
590
567
 
591
- parser.consumeWhitespace();
568
+ parser.syntaxParser().consumeWhitespace();
592
569
 
593
570
  if (!keywordFound && !valueFound) {
594
571
  break;
@@ -797,7 +774,7 @@ struct CSSDataTypeParser<CSSRadialGradientFunction> {
797
774
  gradient.position = position;
798
775
  }
799
776
 
800
- parser.consumeDelimiter(CSSDelimiter::Comma);
777
+ parser.syntaxParser().consumeDelimiter(CSSDelimiter::Comma);
801
778
  auto [items, colorStopCount] = CSSLinearGradientFunction::parseGradientColorStopsAndHints(parser);
802
779
 
803
780
  if (items.empty() || colorStopCount < 2) {
@@ -813,7 +790,7 @@ static_assert(CSSDataType<CSSRadialGradientFunction>);
813
790
 
814
791
  template <>
815
792
  struct CSSDataTypeParser<CSSLinearGradientFunction> {
816
- static auto consumeFunctionBlock(const CSSFunctionBlock &func, CSSSyntaxParser &parser)
793
+ static auto consumeFunctionBlock(const CSSFunctionBlock &func, CSSValueParser &parser)
817
794
  -> std::optional<CSSLinearGradientFunction>
818
795
  {
819
796
  if (!iequals(func.name, "linear-gradient")) {
@@ -822,12 +799,12 @@ struct CSSDataTypeParser<CSSLinearGradientFunction> {
822
799
 
823
800
  CSSLinearGradientFunction gradient;
824
801
 
825
- auto parsedDirection = parseNextCSSValue<CSSLinearGradientDirection>(parser);
802
+ auto parsedDirection = parser.parseNextValue<CSSLinearGradientDirection>();
826
803
  if (!std::holds_alternative<CSSLinearGradientDirection>(parsedDirection)) {
827
804
  return {};
828
805
  }
829
806
 
830
- parser.consumeDelimiter(CSSDelimiter::Comma);
807
+ parser.syntaxParser().consumeDelimiter(CSSDelimiter::Comma);
831
808
 
832
809
  gradient.direction = std::get<CSSLinearGradientDirection>(parsedDirection);
833
810
 
@@ -851,11 +828,6 @@ static_assert(CSSDataType<CSSLinearGradientFunction>);
851
828
  */
852
829
  using CSSBackgroundImage = CSSCompoundDataType<CSSLinearGradientFunction, CSSRadialGradientFunction>;
853
830
 
854
- /**
855
- * Variant of possible CSS background image types
856
- */
857
- using CSSBackgroundImageVariant = CSSVariantWithTypes<CSSBackgroundImage>;
858
-
859
831
  /**
860
832
  * Representation of <background-image-list>
861
833
  */
@@ -38,17 +38,16 @@ template <>
38
38
  struct CSSDataTypeParser<CSSColor> {
39
39
  static constexpr auto consumePreservedToken(const CSSPreservedToken &token) -> std::optional<CSSColor>
40
40
  {
41
- switch (token.type()) {
42
- case CSSTokenType::Ident:
43
- return parseCSSNamedColor<CSSColor>(token.stringValue());
44
- case CSSTokenType::Hash:
45
- return parseCSSHexColor<CSSColor>(token.stringValue());
46
- default:
47
- return {};
41
+ if (token.type() == CSSTokenType::Ident) {
42
+ return parseCSSNamedColor<CSSColor>(token.stringValue());
43
+ } else if (token.type() == CSSTokenType::Hash) {
44
+ return parseCSSHexColor<CSSColor>(token.stringValue());
48
45
  }
46
+
47
+ return {};
49
48
  }
50
49
 
51
- static constexpr auto consumeFunctionBlock(const CSSFunctionBlock &func, CSSSyntaxParser &parser)
50
+ static constexpr auto consumeFunctionBlock(const CSSFunctionBlock &func, CSSValueParser &parser)
52
51
  -> std::optional<CSSColor>
53
52
  {
54
53
  return parseCSSColorFunction<CSSColor>(func.name, parser);