react-native-tvos 0.79.2-0 → 0.80.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 (1463) hide show
  1. package/Libraries/Alert/Alert.d.ts +4 -1
  2. package/Libraries/Alert/Alert.js +3 -0
  3. package/Libraries/Alert/RCTAlertManager.js +17 -0
  4. package/Libraries/Animated/Animated.js.flow +1 -3
  5. package/Libraries/Animated/AnimatedEvent.js +4 -3
  6. package/Libraries/Animated/AnimatedExports.js +2 -2
  7. package/Libraries/Animated/AnimatedExports.js.flow +140 -0
  8. package/Libraries/Animated/AnimatedImplementation.js +2 -123
  9. package/Libraries/Animated/Easing.js +13 -15
  10. package/Libraries/Animated/animations/Animation.js +8 -4
  11. package/Libraries/Animated/components/AnimatedFlatList.js +7 -6
  12. package/Libraries/Animated/components/AnimatedScrollView.js +48 -42
  13. package/Libraries/Animated/components/AnimatedSectionList.js +11 -7
  14. package/Libraries/Animated/createAnimatedComponent.js +105 -57
  15. package/Libraries/Animated/nodes/AnimatedNode.js +4 -3
  16. package/Libraries/Animated/nodes/AnimatedProps.js +46 -26
  17. package/Libraries/Animated/nodes/AnimatedValue.js +16 -7
  18. package/Libraries/Animated/nodes/AnimatedValueXY.js +3 -1
  19. package/Libraries/AppDelegate/RCTAppSetupUtils.h +2 -0
  20. package/Libraries/AppDelegate/RCTAppSetupUtils.mm +6 -0
  21. package/Libraries/AppDelegate/RCTArchConfiguratorProtocol.h +4 -4
  22. package/Libraries/AppDelegate/RCTDefaultReactNativeFactoryDelegate.mm +6 -5
  23. package/Libraries/AppDelegate/RCTDependencyProvider.h +2 -0
  24. package/Libraries/AppDelegate/RCTReactNativeFactory.h +4 -0
  25. package/Libraries/AppDelegate/RCTReactNativeFactory.mm +54 -40
  26. package/Libraries/AppDelegate/RCTRootViewFactory.h +9 -0
  27. package/Libraries/AppDelegate/RCTRootViewFactory.mm +14 -6
  28. package/Libraries/AppDelegate/React-RCTAppDelegate.podspec +2 -11
  29. package/Libraries/AppState/AppState.js +7 -2
  30. package/Libraries/BatchedBridge/MessageQueue.js +2 -2
  31. package/Libraries/BatchedBridge/NativeModules.js +2 -0
  32. package/Libraries/Blob/BlobManager.js +1 -0
  33. package/Libraries/Blob/FileReader.js +219 -8
  34. package/Libraries/Blob/RCTBlobCollector.mm +1 -1
  35. package/Libraries/Blob/RCTBlobManager.h +0 -4
  36. package/Libraries/Blob/RCTBlobManager.mm +4 -21
  37. package/Libraries/Blob/RCTFileReaderModule.mm +2 -2
  38. package/Libraries/Blob/React-RCTBlob.podspec +4 -14
  39. package/Libraries/Blob/URL.js +24 -11
  40. package/Libraries/Blob/URLSearchParams.js +106 -31
  41. package/Libraries/Blob/URLSearchParams.js.flow +12 -7
  42. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +1 -1
  43. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.js +17 -0
  44. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +1 -0
  45. package/Libraries/Components/Button.js +1 -1
  46. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +1 -3
  47. package/Libraries/{NewAppScreen/components/Colors.js → Components/DrawerAndroid/DrawerLayoutAndroid.ios.js} +6 -10
  48. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +6 -66
  49. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js.flow +18 -0
  50. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidFallback.js +71 -0
  51. package/Libraries/Components/Keyboard/Keyboard.js +5 -3
  52. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +6 -3
  53. package/Libraries/Components/Pressable/Pressable.js +23 -7
  54. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +25 -3
  55. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidTypes.js +29 -20
  56. package/Libraries/Components/RefreshControl/RefreshControl.js +1 -1
  57. package/Libraries/Components/ScrollView/ScrollView.d.ts +3 -3
  58. package/Libraries/Components/ScrollView/ScrollView.js +132 -122
  59. package/Libraries/Components/StaticRenderer.js +1 -1
  60. package/Libraries/Components/Switch/Switch.d.ts +3 -0
  61. package/Libraries/Components/Switch/Switch.js +8 -4
  62. package/Libraries/Components/TV/TVEventControl.js +3 -1
  63. package/Libraries/Components/TV/TVEventHandler.js +21 -13
  64. package/Libraries/Components/TV/TVFocusEventHandler.js +1 -1
  65. package/Libraries/Components/TV/TVFocusGuideView.js +3 -8
  66. package/Libraries/Components/TV/tagForComponentOrHandle.js +2 -2
  67. package/Libraries/Components/TV/useTVEventHandler.js +1 -1
  68. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +2 -13
  69. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +2 -4
  70. package/Libraries/Components/TextInput/TextInput.d.ts +76 -33
  71. package/Libraries/Components/TextInput/TextInput.flow.js +106 -55
  72. package/Libraries/Components/TextInput/TextInput.js +94 -1029
  73. package/Libraries/Components/TextInput/TextInputState.js +1 -1
  74. package/Libraries/{Modal/ModalInjection.js → Components/ToastAndroid/ToastAndroid.ios.js} +3 -5
  75. package/Libraries/Components/ToastAndroid/ToastAndroid.js +4 -32
  76. package/Libraries/Components/ToastAndroid/ToastAndroid.js.flow +109 -0
  77. package/Libraries/Components/ToastAndroid/ToastAndroidFallback.js +45 -0
  78. package/Libraries/Components/Touchable/Touchable.js +5 -5
  79. package/Libraries/Components/Touchable/TouchableBounce.js +14 -7
  80. package/Libraries/Components/Touchable/TouchableHighlight.js +14 -10
  81. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +6 -6
  82. package/Libraries/Components/Touchable/TouchableOpacity.js +14 -7
  83. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +1 -1
  84. package/Libraries/Components/View/View.js +21 -23
  85. package/Libraries/Components/View/ViewAccessibility.d.ts +15 -0
  86. package/Libraries/Components/View/ViewAccessibility.js +25 -1
  87. package/Libraries/Components/View/ViewNativeComponent.js +2 -2
  88. package/Libraries/Components/View/ViewPropTypes.d.ts +16 -0
  89. package/Libraries/Components/View/ViewPropTypes.js +49 -3
  90. package/Libraries/Core/ReactNativeVersion.js +2 -2
  91. package/Libraries/Core/setUpReactDevTools.js +5 -5
  92. package/Libraries/Debugging/DebuggingOverlayRegistry.js +3 -3
  93. package/Libraries/EventEmitter/NativeEventEmitter.js +9 -4
  94. package/Libraries/Image/AssetSourceResolver.js +17 -4
  95. package/Libraries/Image/Image.d.ts +26 -10
  96. package/Libraries/Image/Image.js +17 -0
  97. package/Libraries/Image/Image.js.flow +5 -5
  98. package/Libraries/Image/ImageBackground.js +2 -0
  99. package/Libraries/Image/ImageInjection.js +1 -1
  100. package/Libraries/Image/ImageProps.js +22 -17
  101. package/Libraries/Image/ImageSource.js +3 -1
  102. package/Libraries/Image/ImageSourceUtils.js +4 -2
  103. package/Libraries/Image/ImageTypes.flow.js +1 -1
  104. package/Libraries/Image/RCTImageLoader.mm +63 -19
  105. package/Libraries/Image/RCTImageStoreManager.mm +10 -32
  106. package/Libraries/Image/RCTImageURLLoader.h +19 -1
  107. package/Libraries/Image/RCTUIImageViewAnimated.mm +6 -23
  108. package/Libraries/Image/React-RCTImage.podspec +2 -7
  109. package/Libraries/Interaction/InteractionManager.d.ts +13 -0
  110. package/Libraries/Interaction/InteractionManager.js +1 -1
  111. package/Libraries/Interaction/PanResponder.js +3 -3
  112. package/Libraries/Interaction/TaskQueue.js +1 -0
  113. package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -2
  114. package/Libraries/Linking/Linking.js +1 -1
  115. package/Libraries/LinkingIOS/React-RCTLinking.podspec +1 -6
  116. package/Libraries/Lists/FlatList.d.ts +2 -2
  117. package/Libraries/Lists/FlatList.js +8 -11
  118. package/Libraries/Lists/SectionList.js +39 -42
  119. package/Libraries/Lists/SectionListModern.js +25 -34
  120. package/Libraries/Lists/VirtualizedList.js +1 -0
  121. package/Libraries/Lists/VirtualizedSectionList.js +1 -0
  122. package/Libraries/LogBox/Data/LogBoxData.js +1 -1
  123. package/Libraries/LogBox/LogBoxNotificationContainer.js +1 -1
  124. package/Libraries/Modal/Modal.js +33 -7
  125. package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +118 -124
  126. package/Libraries/NativeAnimation/React-RCTAnimation.podspec +4 -7
  127. package/Libraries/NativeComponent/BaseViewConfig.android.js +8 -6
  128. package/Libraries/NativeComponent/BaseViewConfig.ios.js +2 -0
  129. package/Libraries/NativeComponent/BaseViewConfig.js +17 -0
  130. package/Libraries/NativeComponent/PlatformBaseViewConfig.js +2 -2
  131. package/Libraries/NativeModules/specs/NativeDevMenu.js +2 -2
  132. package/Libraries/Network/RCTDataRequestHandler.mm +10 -6
  133. package/Libraries/Network/RCTFileRequestHandler.mm +11 -7
  134. package/Libraries/Network/RCTHTTPRequestHandler.mm +1 -2
  135. package/Libraries/Network/RCTInspectorNetworkReporter.h +32 -0
  136. package/Libraries/Network/RCTInspectorNetworkReporter.mm +88 -0
  137. package/Libraries/Network/RCTNetworking.android.js +1 -1
  138. package/Libraries/Network/RCTNetworking.h +0 -4
  139. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  140. package/Libraries/Network/RCTNetworking.js +17 -0
  141. package/Libraries/Network/RCTNetworking.js.flow +1 -1
  142. package/Libraries/Network/RCTNetworking.mm +32 -33
  143. package/Libraries/Network/React-RCTNetwork.podspec +6 -7
  144. package/Libraries/Network/XMLHttpRequest.js +781 -10
  145. package/Libraries/Performance/Systrace.js +7 -7
  146. package/Libraries/Pressability/Pressability.js +1 -1
  147. package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +1 -6
  148. package/Libraries/ReactNative/AppContainer-dev.js +10 -9
  149. package/Libraries/ReactNative/AppRegistry.flow.js +49 -0
  150. package/Libraries/ReactNative/AppRegistry.js +2 -322
  151. package/Libraries/ReactNative/AppRegistry.js.flow +23 -0
  152. package/Libraries/ReactNative/AppRegistryImpl.js +316 -0
  153. package/Libraries/ReactNative/FabricUIManager.js +10 -0
  154. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +2 -4
  155. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +1 -4
  156. package/Libraries/ReactNative/RendererImplementation.js +10 -5
  157. package/Libraries/ReactNative/getNativeComponentAttributes.js +1 -0
  158. package/Libraries/ReactNative/renderApplication.js +9 -0
  159. package/Libraries/ReactNativeDependencies/Package.swift +2 -2
  160. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +3 -3
  161. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js.flow +51 -0
  162. package/Libraries/Renderer/implementations/ReactFabric-dev.js +4840 -4748
  163. package/Libraries/Renderer/implementations/ReactFabric-prod.js +4947 -4829
  164. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +3998 -3888
  165. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +5005 -4948
  166. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +2744 -2652
  167. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +5020 -4933
  168. package/Libraries/Renderer/shims/ReactNativeTypes.js +3 -3
  169. package/Libraries/Settings/React-RCTSettings.podspec +3 -7
  170. package/Libraries/Settings/Settings.ios.js +1 -0
  171. package/Libraries/Settings/Settings.js +13 -19
  172. package/Libraries/Settings/SettingsFallback.js +33 -0
  173. package/Libraries/StyleSheet/PlatformColorValueTypes.js +15 -0
  174. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.js +6 -0
  175. package/Libraries/StyleSheet/Rect.js +1 -0
  176. package/Libraries/StyleSheet/StyleSheet.js +31 -200
  177. package/Libraries/StyleSheet/StyleSheet.js.flow +188 -0
  178. package/Libraries/StyleSheet/StyleSheetExports.js +210 -0
  179. package/Libraries/StyleSheet/StyleSheetExports.js.flow +112 -0
  180. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +1 -1
  181. package/Libraries/StyleSheet/StyleSheetTypes.js +130 -52
  182. package/Libraries/StyleSheet/flattenStyle.js +14 -4
  183. package/Libraries/StyleSheet/private/_TransformStyle.js +49 -21
  184. package/Libraries/StyleSheet/processBackgroundImage.js +670 -214
  185. package/Libraries/Text/Text/RCTDynamicTypeRamp.mm +1 -1
  186. package/Libraries/Text/Text.d.ts +2 -5
  187. package/Libraries/Text/Text.js +3 -3
  188. package/Libraries/Text/TextInput/Multiline/RCTUITextView.mm +11 -0
  189. package/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.mm +96 -0
  190. package/Libraries/Text/TextInput/RCTBackedTextInputViewProtocol.h +1 -0
  191. package/Libraries/Text/TextInput/RCTBaseTextInputViewManager.mm +4 -4
  192. package/Libraries/Text/TextInput/Singleline/RCTUITextField.mm +11 -0
  193. package/Libraries/Text/TextNativeComponent.js +0 -4
  194. package/Libraries/Text/TextProps.js +5 -33
  195. package/Libraries/Types/CodegenTypesNamespace.d.ts +45 -0
  196. package/Libraries/{Blob/__mocks__/BlobModule.js → Types/CodegenTypesNamespace.js} +4 -6
  197. package/Libraries/Types/CoreEventTypes.d.ts +10 -1
  198. package/Libraries/Types/CoreEventTypes.js +4 -6
  199. package/Libraries/Utilities/Appearance.js +2 -0
  200. package/Libraries/Utilities/BackHandler.ios.js +9 -4
  201. package/Libraries/Utilities/BackHandler.js +17 -0
  202. package/Libraries/Utilities/DeviceInfo.js +2 -0
  203. package/Libraries/Utilities/Dimensions.js +1 -1
  204. package/Libraries/Utilities/Platform.js +17 -0
  205. package/Libraries/Utilities/PlatformTypes.js +11 -3
  206. package/Libraries/Utilities/ReactNativeTestTools.js +2 -2
  207. package/Libraries/Utilities/codegenNativeCommands.d.ts +18 -0
  208. package/Libraries/Utilities/codegenNativeComponent.d.ts +26 -0
  209. package/Libraries/Utilities/setAndForwardRef.js +6 -6
  210. package/Libraries/Vibration/React-RCTVibration.podspec +3 -7
  211. package/Libraries/WebSocket/WebSocket.js +313 -8
  212. package/Libraries/vendor/core/ErrorUtils.js +28 -2
  213. package/Libraries/vendor/emitter/EventEmitter.js +6 -2
  214. package/README-core.md +0 -3
  215. package/README.md +3 -1
  216. package/React/Base/RCTBridge.h +5 -3
  217. package/React/Base/RCTBridge.mm +95 -13
  218. package/React/Base/RCTBridgeProxy.mm +1 -1
  219. package/React/Base/RCTRootView.h +7 -1
  220. package/React/Base/RCTRootView.m +38 -0
  221. package/React/Base/RCTRootViewInternal.h +1 -0
  222. package/React/Base/RCTTVRemoteSelectHandler.m +2 -1
  223. package/React/Base/RCTUtils.h +8 -5
  224. package/React/Base/{RCTUtils.m → RCTUtils.mm} +55 -28
  225. package/React/Base/RCTVersion.m +2 -2
  226. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.h +6 -0
  227. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.mm +37 -0
  228. package/React/CoreModules/PlatformStubs/RCTStatusBarManager.mm +3 -8
  229. package/React/CoreModules/RCTAccessibilityManager.mm +9 -11
  230. package/React/CoreModules/RCTAppState.mm +11 -9
  231. package/React/CoreModules/RCTAppearance.mm +2 -14
  232. package/React/CoreModules/RCTDevSettings.mm +0 -1
  233. package/React/CoreModules/RCTDeviceInfo.mm +50 -19
  234. package/React/CoreModules/RCTLogBox.mm +1 -1
  235. package/React/CoreModules/RCTPerfMonitor.mm +1 -1
  236. package/React/CoreModules/RCTPlatform.mm +25 -20
  237. package/React/CoreModules/RCTStatusBarManager.mm +18 -13
  238. package/React/CoreModules/RCTTVNavigationEventEmitter.mm +0 -2
  239. package/React/CoreModules/React-CoreModules.podspec +4 -18
  240. package/React/CxxBridge/RCTCxxBridge.mm +6 -18
  241. package/React/CxxModule/RCTNativeModule.mm +1 -1
  242. package/React/FBReactNativeSpec/FBReactNativeSpecJSI-generated.cpp +173 -133
  243. package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +600 -425
  244. package/React/Fabric/Mounting/ComponentViews/Image/RCTImageComponentView.mm +5 -0
  245. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropComponentView.mm +21 -8
  246. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropCoordinatorAdapter.h +1 -1
  247. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropCoordinatorAdapter.mm +2 -2
  248. package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +2 -4
  249. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTPullToRefreshViewComponentView.mm +2 -2
  250. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +31 -0
  251. package/React/Fabric/Mounting/ComponentViews/Switch/RCTSwitchComponentView.mm +13 -1
  252. package/React/Fabric/Mounting/ComponentViews/Text/RCTAccessibilityElement.h +1 -1
  253. package/React/Fabric/Mounting/ComponentViews/Text/RCTAccessibilityElement.mm +2 -2
  254. package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentAccessibilityProvider.mm +13 -8
  255. package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentView.mm +62 -15
  256. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +47 -4
  257. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.mm +1 -0
  258. package/React/Fabric/Mounting/ComponentViews/View/RCTViewAccessibilityElement.h +28 -0
  259. package/React/Fabric/Mounting/ComponentViews/View/RCTViewAccessibilityElement.mm +83 -0
  260. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.h +11 -0
  261. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +130 -34
  262. package/React/Fabric/Mounting/RCTComponentViewFactory.h +0 -6
  263. package/React/Fabric/Mounting/RCTComponentViewFactory.mm +36 -31
  264. package/React/Fabric/RCTScheduler.mm +6 -0
  265. package/React/Fabric/Utils/RCTBoxShadow.h +2 -4
  266. package/React/Fabric/Utils/RCTBoxShadow.mm +92 -224
  267. package/React/Fabric/Utils/RCTGradientUtils.h +21 -0
  268. package/React/Fabric/Utils/RCTGradientUtils.mm +204 -0
  269. package/React/Fabric/Utils/RCTLinearGradient.mm +3 -192
  270. package/React/Fabric/Utils/{RCTViewFinder.h → RCTRadialGradient.h} +3 -2
  271. package/React/Fabric/Utils/RCTRadialGradient.mm +229 -0
  272. package/React/Profiler/RCTProfile.m +1 -1
  273. package/React/React-RCTFBReactNativeSpec.podspec +3 -13
  274. package/React/React-RCTFabric.podspec +6 -14
  275. package/React/Runtime/React-RCTRuntime.podspec +4 -18
  276. package/React/Views/RCTBorderDrawing.h +5 -2
  277. package/React/Views/RCTBorderDrawing.m +29 -12
  278. package/React/Views/RCTFont.mm +0 -4
  279. package/React/Views/RCTTVView.m +4 -4
  280. package/React/Views/RCTView.m +4 -4
  281. package/React/Views/ScrollView/RCTScrollView.m +1 -1
  282. package/React-Core.podspec +4 -20
  283. package/ReactAndroid/api/ReactAndroid.api +617 -1147
  284. package/ReactAndroid/build.gradle.kts +4 -2
  285. package/ReactAndroid/cmake-utils/ReactNative-application.cmake +9 -15
  286. package/ReactAndroid/external-artifacts/build.gradle.kts +6 -4
  287. package/ReactAndroid/gradle.properties +4 -2
  288. package/ReactAndroid/hermes-engine/build.gradle.kts +7 -4
  289. package/ReactAndroid/proguard-rules.pro +0 -6
  290. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/HermesExecutor.kt +2 -2
  291. package/ReactAndroid/src/main/java/com/facebook/react/BaseReactPackage.kt +3 -2
  292. package/ReactAndroid/src/main/java/com/facebook/react/CoreModulesPackage.java +11 -2
  293. package/ReactAndroid/src/main/java/com/facebook/react/DebugCorePackage.kt +56 -0
  294. package/ReactAndroid/src/main/java/com/facebook/react/HeadlessJsTaskService.kt +5 -5
  295. package/ReactAndroid/src/main/java/com/facebook/react/JSEngineResolutionAlgorithm.kt +4 -0
  296. package/ReactAndroid/src/main/java/com/facebook/react/LazyReactPackage.java +14 -3
  297. package/ReactAndroid/src/main/java/com/facebook/react/MemoryPressureRouter.kt +54 -0
  298. package/ReactAndroid/src/main/java/com/facebook/react/NativeModuleRegistryBuilder.kt +15 -4
  299. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivity.java +20 -8
  300. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +4 -12
  301. package/ReactAndroid/src/main/java/com/facebook/react/ReactAndroidHWInputDeviceHelper.kt +88 -0
  302. package/ReactAndroid/src/main/java/com/facebook/react/ReactDelegate.java +20 -56
  303. package/ReactAndroid/src/main/java/com/facebook/react/ReactFragment.java +2 -2
  304. package/ReactAndroid/src/main/java/com/facebook/react/ReactHost.kt +3 -3
  305. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +41 -42
  306. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.java +9 -2
  307. package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +9 -0
  308. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackage.kt +2 -2
  309. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageHelper.kt +0 -1
  310. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageLogger.kt +3 -0
  311. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageTurboModuleManagerDelegate.java +3 -3
  312. package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +12 -12
  313. package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimatedNode.kt +10 -10
  314. package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimatedNodeValueListener.kt +2 -2
  315. package/ReactAndroid/src/main/java/com/facebook/react/animated/ColorAnimatedNode.kt +1 -1
  316. package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.kt +0 -6
  317. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.kt +1072 -0
  318. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.kt +774 -0
  319. package/ReactAndroid/src/main/java/com/facebook/react/animated/ValueAnimatedNode.kt +1 -1
  320. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ActivityEventListener.kt +26 -0
  321. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Arguments.java +9 -7
  322. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BaseActivityEventListener.kt +29 -0
  323. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BaseJavaModule.java +3 -1
  324. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BridgeReactContext.java +14 -3
  325. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BridgeSoLoader.kt +36 -0
  326. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CallbackImpl.kt +35 -0
  327. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstance.kt +2 -2
  328. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java +17 -13
  329. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ColorPropConverter.kt +214 -0
  330. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxCallbackImpl.kt +1 -0
  331. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxModuleWrapper.kt +10 -1
  332. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxModuleWrapperBase.kt +56 -0
  333. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Dynamic.kt +3 -3
  334. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromArray.kt +61 -0
  335. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromMap.kt +80 -0
  336. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromObject.kt +80 -0
  337. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicNative.kt +6 -0
  338. package/ReactAndroid/src/main/java/com/facebook/react/bridge/GuardedAsyncTask.kt +42 -0
  339. package/ReactAndroid/src/main/java/com/facebook/react/bridge/GuardedRunnable.kt +26 -0
  340. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Inspector.kt +78 -0
  341. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSBundleLoader.kt +99 -0
  342. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSInstance.kt +3 -0
  343. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSONArguments.kt +118 -0
  344. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaMethodWrapper.java +13 -5
  345. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaModuleWrapper.kt +142 -0
  346. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptContextHolder.kt +26 -0
  347. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptExecutor.kt +30 -0
  348. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptModuleRegistry.java +2 -0
  349. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JsonWriterHelper.kt +129 -0
  350. package/ReactAndroid/src/main/java/com/facebook/react/bridge/LifecycleEventListener.kt +2 -0
  351. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleHolder.java +8 -5
  352. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleSpec.java +2 -0
  353. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeArgumentsParseException.kt +10 -0
  354. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeArray.kt +1 -1
  355. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeMap.kt +1 -1
  356. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModule.java +2 -0
  357. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModuleRegistry.java +18 -7
  358. package/ReactAndroid/src/main/java/com/facebook/react/bridge/OnBatchCompleteListener.kt +3 -0
  359. package/ReactAndroid/src/main/java/com/facebook/react/bridge/PromiseImpl.java +9 -8
  360. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactApplicationContext.java +2 -0
  361. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContextBaseJavaModule.java +5 -7
  362. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactCxxErrorHandler.kt +48 -0
  363. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactIgnorableMountingException.kt +6 -6
  364. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactInstanceManagerInspectorTarget.java +7 -1
  365. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMarker.java +3 -1
  366. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMethod.kt +1 -0
  367. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactModuleWithSpec.kt +2 -2
  368. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNativeJniCommonSoLoader.kt +31 -0
  369. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNoCrashBridgeNotAllowedSoftException.kt +10 -0
  370. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactSoftExceptionLogger.kt +1 -0
  371. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableArrayBuilder.kt +61 -0
  372. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableMapBuilder.kt +61 -0
  373. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Systrace.kt +2 -2
  374. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManager.kt +6 -5
  375. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManagerProvider.kt +3 -0
  376. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UiThreadUtil.kt +69 -0
  377. package/ReactAndroid/src/main/java/com/facebook/react/bridge/interop/InteropModuleRegistry.kt +13 -7
  378. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThreadHandler.kt +4 -3
  379. package/ReactAndroid/src/main/java/com/facebook/react/common/ClassFinder.kt +3 -4
  380. package/ReactAndroid/src/main/java/com/facebook/react/common/ClearableSynchronizedPool.kt +2 -2
  381. package/ReactAndroid/src/main/java/com/facebook/react/common/SurfaceDelegate.kt +2 -0
  382. package/ReactAndroid/src/main/java/com/facebook/react/common/annotations/LegacyArchitectureShadowNodeWithCxxImpl.kt +23 -0
  383. package/ReactAndroid/src/main/java/com/facebook/react/common/annotations/internal/InteropLegacyArchitecture.kt +16 -0
  384. package/ReactAndroid/src/main/java/com/facebook/react/common/annotations/internal/LegacyArchitecture.kt +1 -1
  385. package/ReactAndroid/src/main/java/com/facebook/react/common/annotations/internal/LegacyArchitectureLogger.kt +66 -0
  386. package/ReactAndroid/src/main/java/com/facebook/react/common/build/ReactBuildConfig.kt +1 -1
  387. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.kt +1 -1
  388. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/WritableMapBuffer.kt +7 -7
  389. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultSoLoader.kt +10 -12
  390. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.kt +98 -0
  391. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgelessDevSupportManager.kt +81 -0
  392. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BundleDownloader.kt +323 -0
  393. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ChangeBundleLocationDialog.kt +118 -0
  394. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/CxxInspectorPackagerConnection.kt +159 -0
  395. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DebugOverlayController.kt +87 -0
  396. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevSupportManagerFactory.kt +1 -1
  397. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.kt +413 -0
  398. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.kt +903 -0
  399. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.kt +57 -0
  400. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DoubleTapReloadRecognizer.kt +1 -1
  401. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/InspectorFlags.kt +2 -1
  402. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxModule.kt +4 -4
  403. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/MultipartStreamReader.kt +167 -0
  404. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ReactInstanceDevHelper.kt +44 -0
  405. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ReleaseDevSupportManager.kt +10 -16
  406. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/StackTraceHelper.kt +251 -0
  407. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevBundleDownloadListener.kt +1 -1
  408. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.kt +11 -13
  409. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/RedBoxHandler.kt +3 -3
  410. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/StackFrame.kt +2 -2
  411. package/ReactAndroid/src/main/java/com/facebook/react/fabric/DevToolsReactPerfLogger.kt +176 -0
  412. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricSoLoader.kt +4 -5
  413. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +177 -86
  414. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManagerBinding.kt +6 -2
  415. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManagerProviderImpl.kt +6 -11
  416. package/ReactAndroid/src/main/java/com/facebook/react/fabric/StateWrapperImpl.kt +103 -0
  417. package/ReactAndroid/src/main/java/com/facebook/react/fabric/SurfaceHandlerBinding.kt +13 -11
  418. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventBeatManager.kt +8 -12
  419. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.kt +5 -9
  420. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.kt +7 -15
  421. package/ReactAndroid/src/main/java/com/facebook/react/fabric/interop/UIBlock.kt +2 -2
  422. package/ReactAndroid/src/main/java/com/facebook/react/fabric/interop/UIBlockViewResolver.kt +2 -2
  423. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/LayoutMetricsConversions.kt +6 -6
  424. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.java +16 -39
  425. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.java +24 -25
  426. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +12 -5
  427. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/BatchMountItem.kt +2 -2
  428. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DispatchCommandMountItem.kt +3 -3
  429. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.kt +335 -0
  430. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/MountItem.kt +3 -3
  431. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/MountItemFactory.kt +7 -7
  432. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEventMountItem.kt +2 -1
  433. package/ReactAndroid/src/main/java/com/facebook/react/interfaces/TaskInterface.kt +1 -1
  434. package/ReactAndroid/src/main/java/com/facebook/react/interfaces/exceptionmanager/ReactJsExceptionHandler.kt +16 -16
  435. package/ReactAndroid/src/main/java/com/facebook/react/internal/SystraceSection.kt +3 -3
  436. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +75 -60
  437. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +120 -100
  438. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +25 -21
  439. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +27 -23
  440. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +135 -113
  441. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Canary_Android.kt +1 -3
  442. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Stable_Android.kt +0 -2
  443. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +25 -21
  444. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeNewArchitectureFeatureFlags.kt +84 -0
  445. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeNewArchitectureFeatureFlagsDefaults.kt +0 -2
  446. package/ReactAndroid/src/main/java/com/facebook/react/internal/interop/InteropEvent.kt +14 -4
  447. package/ReactAndroid/src/main/java/com/facebook/react/internal/interop/InteropEventEmitter.kt +12 -2
  448. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleInteropUtils.kt +293 -0
  449. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManager.kt +405 -0
  450. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManagerDelegate.kt +63 -0
  451. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModulePerfLogger.kt +2 -2
  452. package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/JSCExecutor.kt +5 -0
  453. package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/JSCExecutorFactory.kt +7 -0
  454. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskConfig.kt +1 -5
  455. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskEventListener.kt +3 -2
  456. package/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/AccessibilityInfoModule.kt +13 -12
  457. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.kt +2 -2
  458. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobModule.kt +336 -0
  459. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobProvider.kt +113 -0
  460. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/FileReaderModule.kt +99 -0
  461. package/ReactAndroid/src/main/java/com/facebook/react/modules/common/ModuleDataCleaner.kt +4 -4
  462. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ExceptionsManagerModule.kt +4 -0
  463. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/HeadlessJsTaskSupportModule.kt +1 -1
  464. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JSTimers.kt +4 -4
  465. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/PermissionAwareActivity.kt +2 -0
  466. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/PermissionListener.kt +1 -1
  467. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactChoreographer.kt +1 -1
  468. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DevMenuModule.kt +5 -1
  469. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DevSettingsModule.kt +4 -0
  470. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DidJSUpdateUiDuringFrameDetector.kt +1 -0
  471. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/FpsDebugFrameCallback.kt +14 -8
  472. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/SourceCodeModule.kt +4 -0
  473. package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/DeviceInfoModule.kt +12 -17
  474. package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/AlertFragment.kt +209 -0
  475. package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/DialogModule.kt +205 -0
  476. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactOkHttpNetworkFetcher.kt +1 -1
  477. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/SystraceRequestListener.kt +18 -18
  478. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nManagerModule.kt +6 -5
  479. package/ReactAndroid/src/main/java/com/facebook/react/modules/image/ImageLoaderModule.kt +11 -22
  480. package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.kt +35 -29
  481. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.kt +1 -1
  482. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.kt +846 -0
  483. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/OkHttpCompat.java +4 -1
  484. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ProgressResponseBody.kt +57 -0
  485. package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/PermissionsModule.kt +2 -2
  486. package/ReactAndroid/src/main/java/com/facebook/react/modules/share/ShareModule.kt +6 -6
  487. package/ReactAndroid/src/main/java/com/facebook/react/modules/sound/SoundManagerModule.kt +4 -4
  488. package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/StatusBarModule.kt +13 -12
  489. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoHelpers.kt +14 -3
  490. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoModule.kt +6 -5
  491. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +20 -0
  492. package/ReactAndroid/src/main/java/com/facebook/react/modules/toast/ToastModule.kt +7 -11
  493. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/FileIoHandler.kt +161 -0
  494. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/JSPackagerClient.kt +130 -0
  495. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/PackagerConnectionSettings.kt +10 -2
  496. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/ReconnectingWebSocket.kt +156 -0
  497. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/RequestOnlyHandler.kt +1 -1
  498. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessAtomicRef.kt +112 -0
  499. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessCatalystInstance.kt +10 -4
  500. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessReactContext.kt +159 -0
  501. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessReactStateTracker.kt +1 -1
  502. package/ReactAndroid/src/main/java/com/facebook/react/runtime/CoreReactPackage.kt +113 -0
  503. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostDelegate.kt +1 -1
  504. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.java +97 -75
  505. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImplDevHelper.kt +11 -10
  506. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostInspectorTarget.kt +1 -1
  507. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.kt +599 -0
  508. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactLifecycleStateManager.kt +91 -0
  509. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceImpl.kt +217 -0
  510. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceView.kt +12 -11
  511. package/ReactAndroid/src/main/java/com/facebook/react/runtime/cxxreactpackage/CxxReactPackage.kt +4 -1
  512. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/Continuation.kt +2 -2
  513. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/Task.kt +418 -0
  514. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/TaskCompletionSource.kt +1 -1
  515. package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.kt +31 -25
  516. package/ReactAndroid/src/main/java/com/facebook/react/soloader/OpenSourceMergedSoMapping.kt +4 -0
  517. package/ReactAndroid/src/main/java/com/facebook/react/touch/JSResponderHandler.kt +9 -9
  518. package/ReactAndroid/src/main/java/com/facebook/react/touch/OnInterceptTouchEventListener.kt +4 -4
  519. package/ReactAndroid/src/main/java/com/facebook/react/touch/ReactHitSlopView.kt +2 -2
  520. package/ReactAndroid/src/main/java/com/facebook/react/touch/ReactInterceptingViewGroup.kt +5 -5
  521. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/CallInvokerHolderImpl.kt +2 -11
  522. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/NativeMethodCallInvokerHolderImpl.kt +3 -12
  523. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BackgroundStyleApplicator.kt +7 -2
  524. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +64 -0
  525. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerDelegate.kt +7 -5
  526. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BlendModeHelper.kt +1 -1
  527. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ComponentNameResolver.kt +1 -1
  528. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSPointerDispatcher.java +59 -7
  529. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutDirectionUtil.kt +7 -0
  530. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.java +8 -0
  531. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LengthPercentage.kt +1 -10
  532. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeKind.kt +3 -1
  533. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +13 -5
  534. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyOptimizer.java +11 -2
  535. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NoSuchNativeViewException.kt +12 -1
  536. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/OnLayoutEvent.kt +93 -0
  537. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/PixelUtil.kt +1 -1
  538. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.java +16 -1
  539. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAxOrderHelper.kt +146 -0
  540. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactClippingViewGroup.kt +11 -9
  541. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactClippingViewGroupHelper.kt +63 -0
  542. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactCompoundView.kt +3 -3
  543. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactOverflowView.kt +3 -3
  544. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactPointerEventsView.kt +2 -2
  545. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactRootViewTagGenerator.kt +2 -2
  546. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNode.java +3 -0
  547. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNodeImpl.java +10 -1
  548. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactStylesDiffMap.kt +68 -0
  549. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactYogaConfigProvider.kt +6 -0
  550. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReferenceStateWrapper.kt +13 -0
  551. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ShadowNodeRegistry.kt +103 -0
  552. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/Spacing.kt +2 -2
  553. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ThemedReactContext.java +8 -11
  554. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.kt +435 -0
  555. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TransformHelper.kt +223 -0
  556. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIConstantsProviderBinding.kt +3 -3
  557. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +19 -13
  558. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerHelper.java +14 -3
  559. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +31 -15
  560. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstants.kt +92 -0
  561. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstantsHelper.java +17 -13
  562. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleListener.kt +3 -0
  563. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +27 -22
  564. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewAtIndex.kt +46 -0
  565. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupDrawingOrderHelper.kt +109 -0
  566. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupManager.kt +87 -0
  567. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManager.java +22 -3
  568. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerPropertyUpdater.kt +7 -5
  569. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerRegistry.java +9 -4
  570. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewProps.kt +2 -0
  571. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/YogaNodePool.kt +6 -0
  572. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactProp.kt +97 -0
  573. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactPropGroup.kt +86 -0
  574. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactPropertyHolder.kt +15 -0
  575. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/UIManagerType.kt +5 -1
  576. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/ViewUtil.kt +3 -3
  577. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/debug/NotThreadSafeViewHierarchyUpdateDebugListener.kt +3 -0
  578. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BackgroundDrawable.kt +3 -1
  579. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BorderDrawable.kt +9 -1
  580. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/InsetBoxShadowDrawable.kt +8 -6
  581. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/OutlineDrawable.kt +10 -10
  582. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/BlackHoleEventDispatcher.kt +3 -17
  583. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/BlurEvent.kt +16 -5
  584. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/Event.kt +206 -0
  585. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventCategoryDef.kt +7 -7
  586. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcher.kt +1 -13
  587. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherImpl.java +16 -43
  588. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherProvider.kt +2 -2
  589. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/{ReactEventEmitter.kt → EventEmitterImpl.kt} +39 -47
  590. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.kt +33 -43
  591. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FocusEvent.kt +16 -5
  592. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEventHelper.kt +27 -31
  593. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTEventEmitter.kt +2 -0
  594. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTModernEventEmitter.kt +0 -3
  595. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEvent.kt +11 -4
  596. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchesHelper.kt +12 -8
  597. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/internal/LegacyArchitectureShadowNodeLogger.kt +52 -0
  598. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/AbstractLayoutAnimation.kt +128 -0
  599. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/AnimatedPropertyType.kt +3 -0
  600. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/BaseLayoutAnimation.kt +85 -0
  601. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationController.kt +225 -0
  602. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationListener.kt +3 -0
  603. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationType.kt +10 -0
  604. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutCreateAnimation.kt +12 -0
  605. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutDeleteAnimation.kt +12 -0
  606. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutHandlingAnimation.kt +12 -0
  607. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutUpdateAnimation.kt +10 -1
  608. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/OpacityAnimation.kt +69 -0
  609. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/PositionAndSizeAnimation.kt +87 -0
  610. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/SimpleSpringInterpolator.kt +10 -2
  611. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BackgroundImageLayer.kt +30 -12
  612. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderRadiusStyle.kt +36 -22
  613. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/ColorStop.kt +206 -0
  614. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/CornerRadii.kt +8 -0
  615. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/Gradient.kt +2 -38
  616. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/LinearGradient.kt +72 -246
  617. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/RadialGradient.kt +375 -0
  618. package/ReactAndroid/src/main/java/com/facebook/react/util/AndroidVersion.kt +30 -0
  619. package/ReactAndroid/src/main/java/com/facebook/react/util/JSStackTrace.kt +6 -6
  620. package/ReactAndroid/src/main/java/com/facebook/react/views/debuggingoverlay/DebuggingOverlay.kt +3 -1
  621. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayoutManager.kt +1 -1
  622. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerClosedEvent.kt +7 -7
  623. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerOpenedEvent.kt +7 -7
  624. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerSlideEvent.kt +8 -8
  625. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerStateChangedEvent.kt +7 -10
  626. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ImageLoadEvent.kt +1 -1
  627. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.kt +6 -5
  628. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ImageSource.kt +1 -1
  629. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/MultiSourceHelper.kt +7 -10
  630. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ResourceDrawableIdHelper.kt +20 -17
  631. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.kt +20 -28
  632. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt +43 -41
  633. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/RequestCloseEvent.kt +1 -1
  634. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ShowEvent.kt +1 -1
  635. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarShadowNode.kt +4 -0
  636. package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaView.kt +14 -12
  637. package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaViewManager.kt +1 -1
  638. package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaViewShadowNode.kt +2 -1
  639. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/MaintainVisibleScrollPositionHelper.kt +172 -0
  640. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +27 -7
  641. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.kt +366 -0
  642. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +36 -7
  643. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.kt +74 -1
  644. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.kt +390 -0
  645. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ScrollEvent.kt +4 -2
  646. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/ReactSwipeRefreshLayout.kt +1 -0
  647. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/RefreshEvent.kt +1 -1
  648. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/SwipeRefreshLayoutManager.kt +1 -1
  649. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchEvent.kt +1 -1
  650. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchShadowNode.kt +4 -0
  651. package/ReactAndroid/src/main/java/com/facebook/react/views/text/FontMetricsUtil.kt +2 -2
  652. package/ReactAndroid/src/main/java/com/facebook/react/views/text/PreparedLayout.kt +18 -0
  653. package/ReactAndroid/src/main/java/com/facebook/react/views/text/PreparedLayoutTextView.kt +418 -0
  654. package/ReactAndroid/src/main/java/com/facebook/react/views/text/PreparedLayoutTextViewManager.kt +212 -0
  655. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.java +25 -12
  656. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactRawTextManager.kt +6 -6
  657. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactRawTextShadowNode.kt +31 -0
  658. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.kt +207 -0
  659. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.java +6 -2
  660. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextUpdate.kt +1 -4
  661. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +40 -54
  662. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewAccessibilityDelegate.kt +4 -10
  663. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java +9 -14
  664. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactVirtualTextShadowNode.kt +3 -0
  665. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactVirtualTextViewManager.kt +2 -0
  666. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java +30 -8
  667. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributes.java +2 -0
  668. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +237 -121
  669. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextTransform.kt +8 -4
  670. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageShadowNode.kt +140 -0
  671. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageSpan.kt +174 -0
  672. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageViewManager.kt +2 -1
  673. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/CustomLetterSpacingSpan.kt +4 -3
  674. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/CustomLineHeightSpan.kt +3 -3
  675. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/CustomStyleSpan.kt +8 -8
  676. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactAbsoluteSizeSpan.kt +1 -1
  677. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactBackgroundColorSpan.kt +1 -1
  678. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactClickableSpan.kt +6 -5
  679. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactForegroundColorSpan.kt +1 -1
  680. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactOpacitySpan.kt +1 -1
  681. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactSpan.kt +1 -1
  682. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactStrikethroughSpan.kt +1 -1
  683. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactTagSpan.kt +2 -2
  684. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactTextPaintHolderSpan.kt +1 -1
  685. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactUnderlineSpan.kt +1 -1
  686. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/SetSpanOperation.kt +5 -5
  687. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ShadowStyleSpan.kt +3 -3
  688. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/TextInlineImageSpan.kt +11 -11
  689. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/TextInlineViewPlaceholderSpan.kt +4 -7
  690. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactContentSizeChangedEvent.kt +50 -0
  691. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.kt +1331 -0
  692. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditTextInputConnectionWrapper.kt +151 -0
  693. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextChangedEvent.kt +44 -0
  694. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextContentSizeWatcher.kt +51 -0
  695. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputEndEditingEvent.kt +43 -0
  696. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputKeyPressEvent.kt +35 -0
  697. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputLocalData.kt +33 -0
  698. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.kt +1139 -0
  699. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputSelectionEvent.kt +46 -0
  700. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputShadowNode.kt +210 -0
  701. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputSubmitEditingEvent.kt +40 -0
  702. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputTextWatcher.kt +66 -0
  703. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextScrollWatcher.kt +49 -0
  704. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextSelectionWatcher.kt +45 -0
  705. package/ReactAndroid/src/main/java/com/facebook/react/views/unimplementedview/ReactUnimplementedView.kt +12 -9
  706. package/ReactAndroid/src/main/java/com/facebook/react/views/unimplementedview/ReactUnimplementedViewManager.kt +6 -4
  707. package/ReactAndroid/src/main/java/com/facebook/react/views/view/MeasureUtil.kt +2 -2
  708. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +37 -11
  709. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.kt +51 -4
  710. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ViewGroupClickEvent.kt +4 -4
  711. package/ReactAndroid/src/main/java/com/facebook/systrace/Systrace.kt +19 -23
  712. package/ReactAndroid/src/main/java/com/facebook/systrace/SystraceMessage.kt +10 -11
  713. package/ReactAndroid/src/main/java/com/facebook/systrace/TraceListener.kt +3 -3
  714. package/ReactAndroid/src/main/jni/CMakeLists.txt +22 -9
  715. package/ReactAndroid/src/main/jni/first-party/fbgloginit/CMakeLists.txt +3 -0
  716. package/ReactAndroid/src/main/jni/first-party/jni-lib-merge/CMakeLists.txt +3 -1
  717. package/ReactAndroid/src/main/jni/first-party/jni-lib-merge/jni_lib_merge.h +1 -2
  718. package/ReactAndroid/src/main/jni/first-party/yogajni/CMakeLists.txt +4 -7
  719. package/ReactAndroid/src/main/jni/react/devsupport/CMakeLists.txt +3 -2
  720. package/ReactAndroid/src/main/jni/react/fabric/CMakeLists.txt +2 -9
  721. package/ReactAndroid/src/main/jni/react/fabric/EventBeatManager.cpp +3 -8
  722. package/ReactAndroid/src/main/jni/react/fabric/EventBeatManager.h +1 -9
  723. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.cpp +12 -0
  724. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.h +4 -0
  725. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.cpp +130 -13
  726. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.h +9 -0
  727. package/ReactAndroid/src/main/jni/react/fabric/FocusOrderingHelper.cpp +186 -0
  728. package/ReactAndroid/src/main/jni/react/fabric/FocusOrderingHelper.h +38 -0
  729. package/ReactAndroid/src/main/jni/react/fabric/StateWrapperImpl.cpp +10 -0
  730. package/ReactAndroid/src/main/jni/react/fabric/StateWrapperImpl.h +1 -0
  731. package/ReactAndroid/src/main/jni/react/fabric/SurfaceHandlerBinding.cpp +5 -2
  732. package/ReactAndroid/src/main/jni/react/fabric/SurfaceHandlerBinding.h +2 -1
  733. package/ReactAndroid/src/main/jni/react/featureflags/CMakeLists.txt +2 -10
  734. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +166 -138
  735. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +34 -28
  736. package/ReactAndroid/src/main/jni/react/hermes/instrumentation/CMakeLists.txt +2 -5
  737. package/ReactAndroid/src/main/jni/react/hermes/reactexecutor/CMakeLists.txt +3 -7
  738. package/ReactAndroid/src/main/jni/react/hermes/tooling/CMakeLists.txt +2 -0
  739. package/ReactAndroid/src/main/jni/react/jni/CMakeLists.txt +54 -6
  740. package/ReactAndroid/src/main/jni/react/jni/JSLoader.cpp +14 -18
  741. package/ReactAndroid/src/main/jni/react/jni/JavaModuleWrapper.cpp +10 -17
  742. package/ReactAndroid/src/main/jni/react/jni/JniJSModulesUnbundle.cpp +1 -0
  743. package/ReactAndroid/src/main/jni/react/jni/MethodInvoker.cpp +9 -14
  744. package/ReactAndroid/src/main/jni/react/jni/OnLoad-common.cpp +33 -0
  745. package/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp +0 -15
  746. package/ReactAndroid/src/main/jni/react/jni/SafeReleaseJniRef.cpp +30 -0
  747. package/ReactAndroid/src/main/jni/react/jni/SafeReleaseJniRef.h +12 -1
  748. package/ReactAndroid/src/main/jni/react/jni/WritableNativeArray.cpp +3 -3
  749. package/ReactAndroid/src/main/jni/react/jscexecutor/CMakeLists.txt +2 -0
  750. package/ReactAndroid/src/main/jni/react/jsctooling/CMakeLists.txt +2 -0
  751. package/ReactAndroid/src/main/jni/react/mapbuffer/CMakeLists.txt +3 -2
  752. package/ReactAndroid/src/main/jni/react/newarchdefaults/CMakeLists.txt +3 -6
  753. package/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultComponentsRegistry.cpp +10 -0
  754. package/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultComponentsRegistry.h +4 -0
  755. package/ReactAndroid/src/main/jni/react/reactnativeblob/CMakeLists.txt +4 -1
  756. package/ReactAndroid/src/main/jni/react/reactperflogger/CMakeLists.txt +3 -1
  757. package/ReactAndroid/src/main/jni/react/runtime/cxxreactpackage/CMakeLists.txt +4 -7
  758. package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/CMakeLists.txt +4 -8
  759. package/ReactAndroid/src/main/jni/react/runtime/jni/CMakeLists.txt +5 -7
  760. package/ReactAndroid/src/main/jni/react/runtime/jni/JBindingsInstaller.h +2 -4
  761. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactInstance.cpp +0 -4
  762. package/ReactAndroid/src/main/jni/react/runtime/jsc/jni/CMakeLists.txt +3 -1
  763. package/ReactAndroid/src/main/jni/react/turbomodule/CMakeLists.txt +4 -7
  764. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/CallInvokerHolder.cpp +1 -7
  765. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/CallInvokerHolder.h +4 -3
  766. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/NativeMethodCallInvokerHolder.cpp +1 -8
  767. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/NativeMethodCallInvokerHolder.h +4 -3
  768. package/ReactAndroid/src/main/jni/react/uimanager/CMakeLists.txt +3 -2
  769. package/ReactAndroid/src/main/jni/third-party/boost/CMakeLists.txt +1 -0
  770. package/ReactAndroid/src/main/jni/third-party/double-conversion/CMakeLists.txt +4 -1
  771. package/ReactAndroid/src/main/jni/third-party/fast_float/CMakeLists.txt +2 -1
  772. package/ReactAndroid/src/main/jni/third-party/fmt/CMakeLists.txt +2 -1
  773. package/ReactAndroid/src/main/jni/third-party/glog/CMakeLists.txt +14 -9
  774. package/ReactAndroid/src/main/res/devsupport/values/strings.xml +5 -0
  775. package/ReactAndroid/src/main/res/devsupport/values-am/strings.xml +6 -0
  776. package/ReactAndroid/src/main/res/shell/values/styles.xml +4 -4
  777. package/ReactAndroid/src/main/res/systeminfo/values/strings.xml +4 -0
  778. package/ReactAndroid/src/main/res/systeminfo/values-af/strings.xml +6 -0
  779. package/ReactAndroid/src/main/res/systeminfo/values-ar/strings.xml +6 -0
  780. package/ReactAndroid/src/main/res/systeminfo/values-az/strings.xml +6 -0
  781. package/ReactAndroid/src/main/res/systeminfo/values-be/strings.xml +6 -0
  782. package/ReactAndroid/src/main/res/systeminfo/values-bg/strings.xml +6 -0
  783. package/ReactAndroid/src/main/res/systeminfo/values-bn/strings.xml +6 -0
  784. package/ReactAndroid/src/main/res/systeminfo/values-ca/strings.xml +6 -0
  785. package/ReactAndroid/src/main/res/systeminfo/values-cs/strings.xml +6 -0
  786. package/ReactAndroid/src/main/res/systeminfo/values-da/strings.xml +6 -0
  787. package/ReactAndroid/src/main/res/systeminfo/values-de/strings.xml +6 -0
  788. package/ReactAndroid/src/main/res/systeminfo/values-el/strings.xml +6 -0
  789. package/ReactAndroid/src/main/res/systeminfo/values-en-rGB/strings.xml +6 -0
  790. package/ReactAndroid/src/main/res/systeminfo/values-es/strings.xml +6 -0
  791. package/ReactAndroid/src/main/res/systeminfo/values-es-rES/strings.xml +6 -0
  792. package/ReactAndroid/src/main/res/systeminfo/values-et/strings.xml +6 -0
  793. package/ReactAndroid/src/main/res/systeminfo/values-fa/strings.xml +6 -0
  794. package/ReactAndroid/src/main/res/systeminfo/values-fi/strings.xml +6 -0
  795. package/ReactAndroid/src/main/res/systeminfo/values-fr/strings.xml +6 -0
  796. package/ReactAndroid/src/main/res/systeminfo/values-fr-rCA/strings.xml +6 -0
  797. package/ReactAndroid/src/main/res/systeminfo/values-gu/strings.xml +6 -0
  798. package/ReactAndroid/src/main/res/systeminfo/values-hi/strings.xml +6 -0
  799. package/ReactAndroid/src/main/res/systeminfo/values-hr/strings.xml +6 -0
  800. package/ReactAndroid/src/main/res/systeminfo/values-hu/strings.xml +6 -0
  801. package/ReactAndroid/src/main/res/systeminfo/values-hy/strings.xml +6 -0
  802. package/ReactAndroid/src/main/res/systeminfo/values-is/strings.xml +6 -0
  803. package/ReactAndroid/src/main/res/systeminfo/values-it/strings.xml +6 -0
  804. package/ReactAndroid/src/main/res/systeminfo/values-iw/strings.xml +6 -0
  805. package/ReactAndroid/src/main/res/systeminfo/values-ja/strings.xml +6 -0
  806. package/ReactAndroid/src/main/res/systeminfo/values-ka/strings.xml +6 -0
  807. package/ReactAndroid/src/main/res/systeminfo/values-kk/strings.xml +6 -0
  808. package/ReactAndroid/src/main/res/systeminfo/values-km/strings.xml +6 -0
  809. package/ReactAndroid/src/main/res/systeminfo/values-kn/strings.xml +6 -0
  810. package/ReactAndroid/src/main/res/systeminfo/values-ko/strings.xml +6 -0
  811. package/ReactAndroid/src/main/res/systeminfo/values-ky/strings.xml +6 -0
  812. package/ReactAndroid/src/main/res/systeminfo/values-lo/strings.xml +6 -0
  813. package/ReactAndroid/src/main/res/systeminfo/values-lt/strings.xml +6 -0
  814. package/ReactAndroid/src/main/res/systeminfo/values-lv/strings.xml +6 -0
  815. package/ReactAndroid/src/main/res/systeminfo/values-mk/strings.xml +6 -0
  816. package/ReactAndroid/src/main/res/systeminfo/values-ml/strings.xml +6 -0
  817. package/ReactAndroid/src/main/res/systeminfo/values-mn/strings.xml +6 -0
  818. package/ReactAndroid/src/main/res/systeminfo/values-mr/strings.xml +6 -0
  819. package/ReactAndroid/src/main/res/systeminfo/values-ms/strings.xml +6 -0
  820. package/ReactAndroid/src/main/res/systeminfo/values-my/strings.xml +6 -0
  821. package/ReactAndroid/src/main/res/systeminfo/values-ne/strings.xml +6 -0
  822. package/ReactAndroid/src/main/res/systeminfo/values-nl/strings.xml +6 -0
  823. package/ReactAndroid/src/main/res/systeminfo/values-pa/strings.xml +6 -0
  824. package/ReactAndroid/src/main/res/systeminfo/values-pl/strings.xml +6 -0
  825. package/ReactAndroid/src/main/res/systeminfo/values-pt/strings.xml +6 -0
  826. package/ReactAndroid/src/main/res/systeminfo/values-pt-rPT/strings.xml +6 -0
  827. package/ReactAndroid/src/main/res/systeminfo/values-ro/strings.xml +6 -0
  828. package/ReactAndroid/src/main/res/systeminfo/values-ru/strings.xml +6 -0
  829. package/ReactAndroid/src/main/res/systeminfo/values-si/strings.xml +6 -0
  830. package/ReactAndroid/src/main/res/systeminfo/values-sk/strings.xml +6 -0
  831. package/ReactAndroid/src/main/res/systeminfo/values-sl/strings.xml +6 -0
  832. package/ReactAndroid/src/main/res/systeminfo/values-sq/strings.xml +6 -0
  833. package/ReactAndroid/src/main/res/systeminfo/values-sr/strings.xml +6 -0
  834. package/ReactAndroid/src/main/res/systeminfo/values-sv/strings.xml +6 -0
  835. package/ReactAndroid/src/main/res/systeminfo/values-sw/strings.xml +6 -0
  836. package/ReactAndroid/src/main/res/systeminfo/values-ta/strings.xml +6 -0
  837. package/ReactAndroid/src/main/res/systeminfo/values-te/strings.xml +6 -0
  838. package/ReactAndroid/src/main/res/systeminfo/values-th/strings.xml +6 -0
  839. package/ReactAndroid/src/main/res/systeminfo/values-tr/strings.xml +6 -0
  840. package/ReactAndroid/src/main/res/systeminfo/values-uk/strings.xml +6 -0
  841. package/ReactAndroid/src/main/res/systeminfo/values-ur/strings.xml +6 -0
  842. package/ReactAndroid/src/main/res/systeminfo/values-vi/strings.xml +6 -0
  843. package/ReactAndroid/src/main/res/systeminfo/values-zh-rCN/strings.xml +6 -0
  844. package/ReactAndroid/src/main/res/systeminfo/values-zh-rHK/strings.xml +6 -0
  845. package/ReactAndroid/src/main/res/systeminfo/values-zh-rTW/strings.xml +6 -0
  846. package/ReactAndroid/src/main/res/systeminfo/values-zu/strings.xml +6 -0
  847. package/ReactAndroid/src/main/res/views/uimanager/values/ids.xml +15 -0
  848. package/ReactAndroid/src/main/res/views/uimanager/values-am/strings.xml +6 -0
  849. package/ReactCommon/React-Fabric.podspec +4 -59
  850. package/ReactCommon/React-FabricComponents.podspec +4 -40
  851. package/ReactCommon/React-FabricImage.podspec +2 -19
  852. package/ReactCommon/React-Mapbuffer.podspec +2 -2
  853. package/ReactCommon/ReactCommon.podspec +4 -13
  854. package/ReactCommon/callinvoker/CMakeLists.txt +3 -6
  855. package/ReactCommon/cmake-utils/react-native-flags.cmake +39 -0
  856. package/ReactCommon/cxxreact/CMakeLists.txt +4 -6
  857. package/ReactCommon/cxxreact/CxxNativeModule.cpp +23 -33
  858. package/ReactCommon/cxxreact/JSExecutor.cpp +5 -2
  859. package/ReactCommon/cxxreact/JSIndexedRAMBundle.cpp +12 -10
  860. package/ReactCommon/cxxreact/JSModulesUnbundle.h +2 -4
  861. package/ReactCommon/cxxreact/JsArgumentHelpers-inl.h +28 -21
  862. package/ReactCommon/cxxreact/JsArgumentHelpers.h +1 -2
  863. package/ReactCommon/cxxreact/MethodCall.cpp +17 -17
  864. package/ReactCommon/cxxreact/ModuleRegistry.cpp +15 -12
  865. package/ReactCommon/cxxreact/NativeToJsBridge.cpp +4 -8
  866. package/ReactCommon/cxxreact/RAMBundleRegistry.cpp +2 -1
  867. package/ReactCommon/cxxreact/React-cxxreact.podspec +4 -13
  868. package/ReactCommon/cxxreact/ReactNativeVersion.h +2 -2
  869. package/ReactCommon/cxxreact/TraceSection.h +1 -1
  870. package/ReactCommon/cxxreact/tests/jsarg_helpers.cpp +2 -2
  871. package/ReactCommon/devtoolsruntimesettings/CMakeLists.txt +4 -9
  872. package/ReactCommon/hermes/React-hermes.podspec +4 -13
  873. package/ReactCommon/hermes/executor/CMakeLists.txt +2 -1
  874. package/ReactCommon/hermes/inspector-modern/CMakeLists.txt +3 -6
  875. package/ReactCommon/hermes/inspector-modern/chrome/ConnectionDemux.cpp +2 -8
  876. package/ReactCommon/hermes/inspector-modern/chrome/ConnectionDemux.h +2 -8
  877. package/ReactCommon/hermes/inspector-modern/chrome/HermesRuntimeSamplingProfileSerializer.cpp +100 -106
  878. package/ReactCommon/hermes/inspector-modern/chrome/HermesRuntimeTargetDelegate.cpp +1 -1
  879. package/ReactCommon/hermes/inspector-modern/chrome/Registration.cpp +2 -8
  880. package/ReactCommon/hermes/inspector-modern/chrome/Registration.h +2 -8
  881. package/ReactCommon/jsc/CMakeLists.txt +4 -7
  882. package/ReactCommon/jsc/React-jsc.podspec +1 -1
  883. package/ReactCommon/jserrorhandler/CMakeLists.txt +2 -1
  884. package/ReactCommon/jserrorhandler/JsErrorHandler.cpp +12 -5
  885. package/ReactCommon/jserrorhandler/React-jserrorhandler.podspec +2 -11
  886. package/ReactCommon/jsi/CMakeLists.txt +5 -6
  887. package/ReactCommon/jsi/React-jsi.podspec +2 -15
  888. package/ReactCommon/jsiexecutor/CMakeLists.txt +4 -5
  889. package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +4 -14
  890. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp +7 -8
  891. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.h +1 -2
  892. package/ReactCommon/jsinspector-modern/CMakeLists.txt +7 -6
  893. package/ReactCommon/jsinspector-modern/HostAgent.cpp +304 -208
  894. package/ReactCommon/jsinspector-modern/HostAgent.h +8 -48
  895. package/ReactCommon/jsinspector-modern/HostTarget.cpp +1 -1
  896. package/ReactCommon/jsinspector-modern/InspectorFlags.cpp +1 -0
  897. package/ReactCommon/jsinspector-modern/InstanceAgent.cpp +4 -3
  898. package/ReactCommon/jsinspector-modern/InstanceAgent.h +1 -1
  899. package/ReactCommon/jsinspector-modern/NetworkIOAgent.cpp +22 -0
  900. package/ReactCommon/jsinspector-modern/NetworkIOAgent.h +2 -4
  901. package/ReactCommon/jsinspector-modern/React-jsinspector.podspec +4 -14
  902. package/ReactCommon/jsinspector-modern/RuntimeAgent.h +1 -1
  903. package/ReactCommon/jsinspector-modern/RuntimeAgentDelegate.h +1 -1
  904. package/ReactCommon/jsinspector-modern/TracingAgent.cpp +27 -12
  905. package/ReactCommon/jsinspector-modern/TracingAgent.h +2 -1
  906. package/ReactCommon/jsinspector-modern/cdp/CMakeLists.txt +26 -0
  907. package/ReactCommon/jsinspector-modern/cdp/React-jsinspectorcdp.podspec +50 -0
  908. package/ReactCommon/jsinspector-modern/network/CMakeLists.txt +27 -0
  909. package/ReactCommon/jsinspector-modern/network/CdpNetwork.cpp +143 -0
  910. package/ReactCommon/jsinspector-modern/network/CdpNetwork.h +110 -0
  911. package/ReactCommon/jsinspector-modern/network/HttpUtils.cpp +157 -0
  912. package/ReactCommon/jsinspector-modern/network/HttpUtils.h +27 -0
  913. package/ReactCommon/jsinspector-modern/network/NetworkReporter.cpp +195 -0
  914. package/ReactCommon/jsinspector-modern/network/NetworkReporter.h +139 -0
  915. package/ReactCommon/jsinspector-modern/network/NetworkTypes.h +42 -0
  916. package/ReactCommon/jsinspector-modern/network/React-jsinspectornetwork.podspec +52 -0
  917. package/ReactCommon/jsinspector-modern/tests/InspectorPackagerConnectionTest.cpp +1 -2
  918. package/ReactCommon/jsinspector-modern/tests/ReactInstanceIntegrationTest.cpp +12 -0
  919. package/ReactCommon/jsinspector-modern/tracing/CMakeLists.txt +3 -6
  920. package/ReactCommon/jsinspector-modern/tracing/{EventLoopTaskReporter.cpp → EventLoopReporter.cpp} +22 -9
  921. package/ReactCommon/jsinspector-modern/tracing/{EventLoopTaskReporter.h → EventLoopReporter.h} +13 -7
  922. package/ReactCommon/jsinspector-modern/tracing/InstanceTracingProfile.h +2 -5
  923. package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.cpp +55 -42
  924. package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.h +22 -13
  925. package/ReactCommon/jsinspector-modern/tracing/ProfileTreeNode.h +39 -30
  926. package/ReactCommon/jsinspector-modern/tracing/React-jsinspectortracing.podspec +3 -8
  927. package/ReactCommon/jsinspector-modern/tracing/RuntimeSamplingProfile.h +16 -0
  928. package/ReactCommon/jsinspector-modern/tracing/RuntimeSamplingProfileTraceEventSerializer.cpp +186 -162
  929. package/ReactCommon/jsinspector-modern/tracing/RuntimeSamplingProfileTraceEventSerializer.h +138 -5
  930. package/ReactCommon/jsinspector-modern/tracing/TraceEventProfile.h +40 -92
  931. package/ReactCommon/jsinspector-modern/tracing/tests/ProfileTreeNodeTest.cpp +27 -35
  932. package/ReactCommon/jsinspector-modern/tracing/tests/RuntimeSamplingProfileTraceEventSerializerTest.cpp +290 -0
  933. package/ReactCommon/jsitooling/CMakeLists.txt +4 -8
  934. package/ReactCommon/jsitooling/React-jsitooling.podspec +3 -21
  935. package/ReactCommon/logger/CMakeLists.txt +2 -1
  936. package/ReactCommon/logger/React-logger.podspec +1 -9
  937. package/ReactCommon/logger/react_native_log.cpp +2 -2
  938. package/ReactCommon/oscompat/CMakeLists.txt +2 -1
  939. package/ReactCommon/react/bridging/CMakeLists.txt +3 -7
  940. package/ReactCommon/react/debug/CMakeLists.txt +3 -8
  941. package/ReactCommon/react/featureflags/CMakeLists.txt +4 -9
  942. package/ReactCommon/react/featureflags/React-featureflags.podspec +2 -7
  943. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +49 -41
  944. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +63 -53
  945. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +223 -187
  946. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +30 -26
  947. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +46 -38
  948. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +100 -82
  949. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSCanary.h +51 -0
  950. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSExperimental.h +33 -0
  951. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSStable.h +33 -0
  952. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +15 -13
  953. package/ReactCommon/react/nativemodule/core/CMakeLists.txt +3 -8
  954. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboCxxModule.cpp +4 -6
  955. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +2 -0
  956. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleWithJSIBindings.cpp +23 -0
  957. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleWithJSIBindings.h +29 -0
  958. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +12 -18
  959. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.h +6 -1
  960. package/ReactCommon/react/nativemodule/core/platform/ios/React-NativeModulesApple.podspec +3 -9
  961. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.h +3 -0
  962. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.mm +29 -2
  963. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.mm +7 -39
  964. package/ReactCommon/react/nativemodule/cputime/CPUTime.h +30 -2
  965. package/ReactCommon/react/nativemodule/defaults/CMakeLists.txt +3 -7
  966. package/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec +3 -10
  967. package/ReactCommon/react/nativemodule/devtoolsruntimesettings/CMakeLists.txt +3 -7
  968. package/ReactCommon/react/nativemodule/dom/CMakeLists.txt +3 -7
  969. package/ReactCommon/react/nativemodule/dom/React-domnativemodule.podspec +2 -8
  970. package/ReactCommon/react/nativemodule/fantomforcedclonecommithook/NativeFantomForcedCloneCommitHook.cpp +84 -0
  971. package/ReactCommon/react/nativemodule/fantomforcedclonecommithook/NativeFantomForcedCloneCommitHook.h +30 -0
  972. package/ReactCommon/react/nativemodule/featureflags/CMakeLists.txt +3 -7
  973. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +58 -48
  974. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +25 -21
  975. package/ReactCommon/react/nativemodule/featureflags/React-featureflagsnativemodule.podspec +3 -10
  976. package/ReactCommon/react/nativemodule/idlecallbacks/CMakeLists.txt +3 -8
  977. package/ReactCommon/react/nativemodule/idlecallbacks/React-idlecallbacksnativemodule.podspec +4 -11
  978. package/ReactCommon/react/nativemodule/microtasks/CMakeLists.txt +3 -7
  979. package/ReactCommon/react/nativemodule/microtasks/React-microtasksnativemodule.podspec +3 -10
  980. package/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec +1 -17
  981. package/ReactCommon/react/nativemodule/samples/platform/android/CMakeLists.txt +4 -8
  982. package/ReactCommon/react/nativemodule/samples/platform/android/NativeSampleTurboModuleSpec.java +3 -0
  983. package/ReactCommon/react/nativemodule/samples/platform/android/ReactCommon/SampleTurboModuleSpec.cpp +21 -1
  984. package/ReactCommon/react/nativemodule/samples/platform/android/SampleTurboModule.kt +32 -5
  985. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleLegacyModule.mm +5 -10
  986. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboModule.mm +18 -15
  987. package/ReactCommon/react/nativemodule/webperformance/NativePerformance.cpp +53 -9
  988. package/ReactCommon/react/nativemodule/webperformance/NativePerformance.h +29 -6
  989. package/ReactCommon/react/performance/timeline/CMakeLists.txt +5 -9
  990. package/ReactCommon/react/performance/timeline/CircularBuffer.h +0 -1
  991. package/ReactCommon/react/performance/timeline/PerformanceEntry.h +53 -15
  992. package/ReactCommon/react/performance/timeline/PerformanceEntryCircularBuffer.cpp +12 -3
  993. package/ReactCommon/react/performance/timeline/PerformanceEntryKeyedBuffer.cpp +5 -2
  994. package/ReactCommon/react/performance/timeline/PerformanceEntryKeyedBuffer.h +0 -1
  995. package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.cpp +29 -33
  996. package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.h +9 -4
  997. package/ReactCommon/react/performance/timeline/PerformanceObserver.cpp +8 -3
  998. package/ReactCommon/react/performance/timeline/React-performancetimeline.podspec +3 -11
  999. package/ReactCommon/react/performance/timeline/tests/PerformanceEntryReporterTest.cpp +80 -165
  1000. package/ReactCommon/react/performance/timeline/tests/PerformanceObserverTest.cpp +38 -71
  1001. package/ReactCommon/react/renderer/animations/CMakeLists.txt +3 -7
  1002. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +5 -9
  1003. package/ReactCommon/react/renderer/attributedstring/AttributedString.cpp +2 -9
  1004. package/ReactCommon/react/renderer/attributedstring/AttributedString.h +3 -3
  1005. package/ReactCommon/react/renderer/attributedstring/CMakeLists.txt +3 -7
  1006. package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.cpp +2 -1
  1007. package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.h +8 -1
  1008. package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +4 -6
  1009. package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +2 -2
  1010. package/ReactCommon/react/renderer/attributedstring/conversions.h +38 -6
  1011. package/ReactCommon/react/renderer/componentregistry/CMakeLists.txt +3 -7
  1012. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +25 -5
  1013. package/ReactCommon/react/renderer/componentregistry/native/CMakeLists.txt +3 -7
  1014. package/ReactCommon/react/renderer/components/image/CMakeLists.txt +3 -7
  1015. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/CMakeLists.txt +3 -7
  1016. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropShadowNode.h +1 -2
  1017. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.h +1 -1
  1018. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/UnstableLegacyViewManagerAutomaticShadowNode.h +0 -1
  1019. package/ReactCommon/react/renderer/components/modal/CMakeLists.txt +3 -7
  1020. package/ReactCommon/react/renderer/components/progressbar/CMakeLists.txt +3 -7
  1021. package/ReactCommon/react/renderer/components/rncore/EventEmitters.cpp +48 -48
  1022. package/ReactCommon/react/renderer/components/root/CMakeLists.txt +3 -7
  1023. package/ReactCommon/react/renderer/components/safeareaview/CMakeLists.txt +4 -10
  1024. package/ReactCommon/react/renderer/components/scrollview/CMakeLists.txt +3 -7
  1025. package/ReactCommon/react/renderer/components/scrollview/ScrollEvent.cpp +15 -0
  1026. package/ReactCommon/react/renderer/components/scrollview/ScrollEvent.h +3 -0
  1027. package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.cpp +1 -0
  1028. package/ReactCommon/react/renderer/components/switch/CMakeLists.txt +4 -10
  1029. package/ReactCommon/react/renderer/components/text/CMakeLists.txt +13 -9
  1030. package/ReactCommon/react/renderer/components/text/ParagraphProps.cpp +6 -0
  1031. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp +111 -25
  1032. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.h +22 -2
  1033. package/ReactCommon/react/renderer/components/text/{ParagraphState.cpp → platform/android/react/renderer/components/text/ParagraphState.cpp} +0 -2
  1034. package/ReactCommon/react/renderer/components/text/{ParagraphState.h → platform/android/react/renderer/components/text/ParagraphState.h} +9 -14
  1035. package/ReactCommon/react/renderer/components/text/platform/cxx/react/renderer/components/text/ParagraphState.h +42 -0
  1036. package/ReactCommon/react/renderer/components/textinput/BaseTextInputProps.cpp +8 -1
  1037. package/ReactCommon/react/renderer/components/textinput/BaseTextInputProps.h +2 -0
  1038. package/ReactCommon/react/renderer/components/textinput/BaseTextInputShadowNode.h +25 -11
  1039. package/ReactCommon/react/renderer/components/textinput/CMakeLists.txt +3 -7
  1040. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.cpp +30 -19
  1041. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.h +12 -11
  1042. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/conversions.h +5 -5
  1043. package/ReactCommon/react/renderer/components/unimplementedview/CMakeLists.txt +3 -7
  1044. package/ReactCommon/react/renderer/components/view/AccessibilityPrimitives.h +1 -1
  1045. package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +21 -1
  1046. package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +8 -6
  1047. package/ReactCommon/react/renderer/components/view/CMakeLists.txt +3 -7
  1048. package/ReactCommon/react/renderer/components/view/ConcreteViewShadowNode.h +16 -6
  1049. package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +2 -1
  1050. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +2 -11
  1051. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.h +0 -2
  1052. package/ReactCommon/react/renderer/components/view/conversions.h +135 -79
  1053. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.cpp +18 -0
  1054. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.h +1 -0
  1055. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +6 -1
  1056. package/ReactCommon/react/renderer/components/view/platform/cxx/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +4 -0
  1057. package/ReactCommon/react/renderer/consistency/CMakeLists.txt +3 -7
  1058. package/ReactCommon/react/renderer/core/CMakeLists.txt +3 -7
  1059. package/ReactCommon/react/renderer/core/ConcreteShadowNode.h +2 -3
  1060. package/ReactCommon/react/renderer/core/ConcreteState.h +23 -2
  1061. package/ReactCommon/react/renderer/core/DynamicEventPayload.cpp +44 -0
  1062. package/ReactCommon/react/renderer/core/DynamicEventPayload.h +30 -0
  1063. package/ReactCommon/react/renderer/core/EventEmitter.cpp +7 -9
  1064. package/ReactCommon/react/renderer/core/EventEmitter.h +2 -3
  1065. package/ReactCommon/react/renderer/core/EventPayload.h +13 -0
  1066. package/ReactCommon/react/renderer/core/EventQueue.cpp +26 -26
  1067. package/ReactCommon/react/renderer/core/EventQueueProcessor.cpp +2 -0
  1068. package/ReactCommon/react/renderer/core/RawEvent.cpp +4 -2
  1069. package/ReactCommon/react/renderer/core/RawEvent.h +10 -2
  1070. package/ReactCommon/react/renderer/core/RawProps.cpp +1 -99
  1071. package/ReactCommon/react/renderer/core/RawProps.h +0 -11
  1072. package/ReactCommon/react/renderer/core/ReactEventPriority.h +5 -0
  1073. package/ReactCommon/react/renderer/core/ShadowNode.cpp +4 -4
  1074. package/ReactCommon/react/renderer/core/ShadowNodeTraits.h +3 -0
  1075. package/ReactCommon/react/renderer/core/State.h +2 -0
  1076. package/ReactCommon/react/renderer/core/graphicsConversions.h +25 -17
  1077. package/ReactCommon/react/renderer/core/tests/RawPropsTest.cpp +0 -36
  1078. package/ReactCommon/react/renderer/core/tests/TestComponent.h +0 -4
  1079. package/ReactCommon/react/renderer/css/CMakeLists.txt +7 -7
  1080. package/ReactCommon/react/renderer/css/CSSTokenizer.h +12 -49
  1081. package/ReactCommon/react/renderer/css/tests/CSSTokenizerTest.cpp +10 -0
  1082. package/ReactCommon/react/renderer/debug/CMakeLists.txt +3 -7
  1083. package/ReactCommon/react/renderer/debug/DebugStringConvertible.cpp +27 -16
  1084. package/ReactCommon/react/renderer/debug/DebugStringConvertible.h +14 -5
  1085. package/ReactCommon/react/renderer/debug/React-rendererdebug.podspec +2 -16
  1086. package/ReactCommon/react/renderer/dom/CMakeLists.txt +3 -7
  1087. package/ReactCommon/react/renderer/element/CMakeLists.txt +3 -7
  1088. package/ReactCommon/react/renderer/graphics/BackgroundImage.h +2 -1
  1089. package/ReactCommon/react/renderer/graphics/CMakeLists.txt +3 -7
  1090. package/ReactCommon/react/renderer/graphics/ColorStop.h +28 -0
  1091. package/ReactCommon/react/renderer/graphics/LinearGradient.h +1 -12
  1092. package/ReactCommon/react/renderer/graphics/RadialGradient.h +92 -0
  1093. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +2 -19
  1094. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/HostPlatformColor.h +2 -2
  1095. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/HostPlatformColor.mm +2 -2
  1096. package/ReactCommon/react/renderer/imagemanager/CMakeLists.txt +3 -7
  1097. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageManager.cpp +1 -7
  1098. package/ReactCommon/react/renderer/imagemanager/platform/ios/React-ImageManager.podspec +1 -13
  1099. package/ReactCommon/react/renderer/leakchecker/CMakeLists.txt +3 -7
  1100. package/ReactCommon/react/renderer/mapbuffer/CMakeLists.txt +3 -8
  1101. package/ReactCommon/react/renderer/mounting/CMakeLists.txt +3 -7
  1102. package/ReactCommon/react/renderer/mounting/Differentiator.cpp +73 -55
  1103. package/ReactCommon/react/renderer/mounting/MountingCoordinator.cpp +5 -0
  1104. package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +6 -7
  1105. package/ReactCommon/react/renderer/mounting/ShadowTree.h +47 -36
  1106. package/ReactCommon/react/renderer/mounting/ShadowTreeDelegate.h +3 -1
  1107. package/ReactCommon/react/renderer/mounting/tests/OrderIndexTest.cpp +44 -12
  1108. package/ReactCommon/react/renderer/mounting/tests/ShadowTreeLifeCycleTest.cpp +39 -6
  1109. package/ReactCommon/react/renderer/mounting/tests/StackingContextTest.cpp +41 -12
  1110. package/ReactCommon/react/renderer/mounting/tests/StateReconciliationTest.cpp +2 -1
  1111. package/ReactCommon/react/renderer/observers/events/CMakeLists.txt +3 -7
  1112. package/ReactCommon/react/renderer/observers/events/EventPerformanceLogger.cpp +0 -25
  1113. package/ReactCommon/react/renderer/observers/mutation/MutationObserverManager.cpp +5 -2
  1114. package/ReactCommon/react/renderer/observers/mutation/MutationObserverManager.h +3 -1
  1115. package/ReactCommon/react/renderer/runtimescheduler/CMakeLists.txt +3 -7
  1116. package/ReactCommon/react/renderer/runtimescheduler/React-runtimescheduler.podspec +2 -11
  1117. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.cpp +14 -20
  1118. package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +22 -10
  1119. package/ReactCommon/react/renderer/scheduler/CMakeLists.txt +3 -7
  1120. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +43 -20
  1121. package/ReactCommon/react/renderer/scheduler/Scheduler.h +15 -1
  1122. package/ReactCommon/react/renderer/scheduler/SchedulerDelegate.h +4 -0
  1123. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp +84 -1
  1124. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.h +8 -0
  1125. package/ReactCommon/react/renderer/telemetry/CMakeLists.txt +3 -7
  1126. package/ReactCommon/react/renderer/textlayoutmanager/CMakeLists.txt +3 -7
  1127. package/ReactCommon/react/renderer/textlayoutmanager/TextLayoutContext.h +7 -11
  1128. package/ReactCommon/react/renderer/textlayoutmanager/TextLayoutManagerExtended.h +124 -0
  1129. package/ReactCommon/react/renderer/textlayoutmanager/TextMeasureCache.h +7 -0
  1130. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/JPreparedLayout.h +20 -0
  1131. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +126 -19
  1132. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.h +100 -0
  1133. package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/{TextLayoutManager.cpp → react/renderer/textlayoutmanager/TextLayoutManager.cpp} +1 -18
  1134. package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/react/renderer/textlayoutmanager/TextLayoutManager.h +57 -0
  1135. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.h +3 -0
  1136. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +47 -24
  1137. package/ReactCommon/react/renderer/textlayoutmanager/{TextLayoutManager.h → platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.h} +2 -29
  1138. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.mm +2 -0
  1139. package/ReactCommon/react/renderer/uimanager/CMakeLists.txt +4 -8
  1140. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +54 -23
  1141. package/ReactCommon/react/renderer/uimanager/UIManager.h +27 -7
  1142. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +11 -1
  1143. package/ReactCommon/react/renderer/uimanager/UIManagerCommitHook.h +19 -1
  1144. package/ReactCommon/react/renderer/uimanager/UIManagerDelegate.h +30 -0
  1145. package/ReactCommon/react/renderer/uimanager/UIManagerNativeAnimatedDelegate.h +24 -0
  1146. package/ReactCommon/react/renderer/uimanager/UIManagerUpdateShadowTree.cpp +223 -0
  1147. package/ReactCommon/react/renderer/uimanager/consistency/CMakeLists.txt +3 -7
  1148. package/ReactCommon/react/renderer/uimanager/consistency/tests/LazyShadowTreeRevisionConsistencyManagerTest.cpp +2 -1
  1149. package/ReactCommon/react/runtime/CMakeLists.txt +4 -7
  1150. package/ReactCommon/react/runtime/React-RuntimeCore.podspec +4 -13
  1151. package/ReactCommon/react/runtime/React-RuntimeHermes.podspec +4 -11
  1152. package/ReactCommon/react/runtime/ReactInstance.cpp +10 -5
  1153. package/ReactCommon/react/runtime/ReactInstance.h +2 -1
  1154. package/ReactCommon/react/runtime/TimerManager.cpp +6 -4
  1155. package/ReactCommon/react/runtime/TimerManager.h +3 -1
  1156. package/ReactCommon/react/runtime/hermes/CMakeLists.txt +2 -1
  1157. package/ReactCommon/react/runtime/iostests/RCTHostTests.mm +1 -0
  1158. package/ReactCommon/react/runtime/nativeviewconfig/CMakeLists.txt +2 -1
  1159. package/ReactCommon/react/runtime/platform/ios/React-RuntimeApple.podspec +2 -11
  1160. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.h +2 -0
  1161. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.mm +17 -5
  1162. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.h +2 -0
  1163. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.mm +64 -4
  1164. package/ReactCommon/react/runtime/tests/cxx/ReactInstanceTest.cpp +9 -5
  1165. package/ReactCommon/react/test_utils/shadowTreeGeneration.h +0 -3
  1166. package/ReactCommon/react/timing/CMakeLists.txt +3 -6
  1167. package/ReactCommon/react/utils/CMakeLists.txt +9 -9
  1168. package/ReactCommon/react/utils/React-utils.podspec +13 -17
  1169. package/ReactCommon/react/utils/platform/android/react/utils/LowPriorityExecutor.cpp +95 -0
  1170. package/{ReactAndroid/src/main/java/com/facebook/react/bridge/MemoryPressure.kt → ReactCommon/react/utils/platform/android/react/utils/LowPriorityExecutor.h} +6 -6
  1171. package/ReactCommon/react/utils/platform/cxx/react/utils/LowPriorityExecutor.h +18 -0
  1172. package/ReactCommon/react/utils/platform/ios/react/utils/LowPriorityExecutor.h +16 -0
  1173. package/ReactCommon/react/utils/platform/ios/react/utils/LowPriorityExecutor.mm +22 -0
  1174. package/ReactCommon/reactperflogger/CMakeLists.txt +3 -7
  1175. package/ReactCommon/reactperflogger/React-perflogger.podspec +2 -12
  1176. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfettoLogger.cpp +7 -3
  1177. package/ReactCommon/runtimeexecutor/CMakeLists.txt +3 -6
  1178. package/ReactCommon/runtimeexecutor/React-runtimeexecutor.podspec +0 -6
  1179. package/ReactCommon/runtimeexecutor/ReactCommon/RuntimeExecutor.h +0 -12
  1180. package/ReactCommon/yoga/cmake/project-defaults.cmake +4 -4
  1181. package/ReactCommon/yoga/yoga/debug/AssertFatal.cpp +1 -0
  1182. package/ReactCommon/yoga/yoga/event/event.h +6 -6
  1183. package/flow/global.js +1 -0
  1184. package/gradle/libs.versions.toml +17 -6
  1185. package/index.js +54 -334
  1186. package/interface.js +0 -4
  1187. package/jest/resolver.js +31 -0
  1188. package/jest-preset.js +1 -0
  1189. package/package.json +105 -34
  1190. package/scripts/cocoapods/fabric.rb +0 -1
  1191. package/scripts/cocoapods/helpers.rb +12 -1
  1192. package/scripts/cocoapods/new_architecture.rb +46 -17
  1193. package/scripts/cocoapods/rndependencies.rb +211 -0
  1194. package/scripts/cocoapods/utils.rb +2 -0
  1195. package/scripts/codegen/generate-artifacts-executor/constants.js +80 -0
  1196. package/scripts/codegen/generate-artifacts-executor/generateAppDependencyProvider.js +66 -0
  1197. package/scripts/codegen/generate-artifacts-executor/generateCustomURLHandlers.js +116 -0
  1198. package/scripts/codegen/generate-artifacts-executor/generateFBReactNativeSpecIOS.js +39 -0
  1199. package/scripts/codegen/generate-artifacts-executor/generateNativeCode.js +114 -0
  1200. package/scripts/codegen/generate-artifacts-executor/generateRCTModuleProviders.js +120 -0
  1201. package/scripts/codegen/generate-artifacts-executor/generateRCTThirdPartyComponents.js +223 -0
  1202. package/scripts/codegen/generate-artifacts-executor/generateRNCoreComponentsIOS.js +38 -0
  1203. package/scripts/codegen/generate-artifacts-executor/generateReactCodegenPodspec.js +93 -0
  1204. package/scripts/codegen/generate-artifacts-executor/generateSchemaInfos.js +113 -0
  1205. package/scripts/codegen/generate-artifacts-executor/generateUnstableModulesRequiringMainQueueSetupProvider.js +92 -0
  1206. package/scripts/codegen/generate-artifacts-executor/index.js +232 -0
  1207. package/scripts/codegen/generate-artifacts-executor/utils.js +399 -0
  1208. package/scripts/codegen/templates/RCTAppDependencyProviderMM.template +5 -0
  1209. package/{React/Base/UIKitProxies/RCTInitializeUIKitProxies.h → scripts/codegen/templates/RCTUnstableModulesRequiringMainQueueSetupProviderH.template} +5 -1
  1210. package/scripts/codegen/templates/RCTUnstableModulesRequiringMainQueueSetupProviderMM.template +19 -0
  1211. package/scripts/codegen/templates/ReactCodegen.podspec.template +2 -8
  1212. package/scripts/generate-codegen-artifacts.js +1 -1
  1213. package/scripts/react_native_pods.rb +18 -7
  1214. package/sdks/.hermesversion +1 -1
  1215. package/sdks/hermes-engine/hermes-utils.rb +7 -0
  1216. package/sdks/hermes-engine/utils/build-apple-framework.sh +4 -1
  1217. package/sdks/hermes-engine/utils/build-hermes-xcode.sh +4 -3
  1218. package/sdks/hermesc/osx-bin/hermes +0 -0
  1219. package/sdks/hermesc/osx-bin/hermesc +0 -0
  1220. package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
  1221. package/sdks/hermesc/win64-bin/msvcp140.dll +0 -0
  1222. package/sdks/hermesc/win64-bin/vcruntime140.dll +0 -0
  1223. package/sdks/hermesc/win64-bin/vcruntime140_1.dll +0 -0
  1224. package/src/private/animated/NativeAnimatedHelper.js +21 -8
  1225. package/src/private/animated/createAnimatedPropsHook.js +11 -16
  1226. package/src/private/animated/createAnimatedPropsMemoHook.js +1 -2
  1227. package/src/private/components/{SafeAreaView_INTERNAL_DO_NOT_USE.js → safeareaview/SafeAreaView_INTERNAL_DO_NOT_USE.js} +6 -6
  1228. package/src/private/components/{HScrollViewNativeComponents.js → scrollview/HScrollViewNativeComponents.js} +8 -8
  1229. package/src/private/components/scrollview/VScrollViewNativeComponents.js +25 -0
  1230. package/src/private/{devmenu → devsupport/devmenu}/DevMenu.js +1 -1
  1231. package/src/private/{inspector → devsupport/devmenu/elementinspector}/BorderBox.js +3 -3
  1232. package/src/private/{inspector → devsupport/devmenu/elementinspector}/BoxInspector.js +6 -5
  1233. package/src/private/{inspector → devsupport/devmenu/elementinspector}/ElementBox.js +8 -6
  1234. package/src/private/{inspector → devsupport/devmenu/elementinspector}/ElementProperties.js +11 -10
  1235. package/src/private/{inspector → devsupport/devmenu/elementinspector}/Inspector.js +14 -12
  1236. package/src/private/{inspector → devsupport/devmenu/elementinspector}/InspectorOverlay.js +5 -4
  1237. package/src/private/{inspector → devsupport/devmenu/elementinspector}/InspectorPanel.js +9 -8
  1238. package/src/private/{inspector → devsupport/devmenu/elementinspector}/NetworkOverlay.js +10 -9
  1239. package/src/private/{inspector → devsupport/devmenu/elementinspector}/ReactDevToolsOverlay.js +7 -7
  1240. package/src/private/{inspector → devsupport/devmenu/elementinspector}/StyleInspector.js +7 -6
  1241. package/src/private/{inspector → devsupport/devmenu/elementinspector}/XHRInterceptor.js +2 -2
  1242. package/src/private/{inspector → devsupport/devmenu/elementinspector}/getInspectorDataForViewAtPoint.js +4 -4
  1243. package/src/private/{inspector → devsupport/devmenu/elementinspector}/resolveBoxStyle.js +1 -1
  1244. package/src/private/{inspector → devsupport/devmenu/perfmonitor}/PerformanceOverlay.js +6 -5
  1245. package/src/private/{specs_DEPRECATED/modules → devsupport/devmenu/specs}/NativeDevMenu.js +2 -2
  1246. package/src/private/{debugging → devsupport/rndevtools}/ReactDevToolsSettingsManager.android.js +1 -1
  1247. package/src/private/{debugging → devsupport/rndevtools}/ReactDevToolsSettingsManager.ios.js +1 -1
  1248. package/src/private/{debugging → devsupport/rndevtools}/setUpFuseboxReactDevToolsDispatcher.js +1 -1
  1249. package/src/private/{fusebox → devsupport/rndevtools}/specs/NativeReactDevToolsRuntimeSettingsModule.js +2 -2
  1250. package/src/private/{specs_DEPRECATED/modules → devsupport/rndevtools/specs}/NativeReactDevToolsSettingsManager.js +2 -2
  1251. package/src/private/featureflags/ReactNativeFeatureFlags.js +72 -80
  1252. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +9 -1
  1253. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +15 -13
  1254. package/src/private/renderer/errorhandling/ErrorHandlers.js +2 -2
  1255. package/src/private/specs_DEPRECATED/modules/NativeAnimatedModule.js +1 -1
  1256. package/src/private/specs_DEPRECATED/modules/NativeAnimatedTurboModule.js +1 -1
  1257. package/src/private/specs_DEPRECATED/modules/NativeSampleTurboModule.js +3 -0
  1258. package/src/private/styles/composeStyles.js +12 -5
  1259. package/src/private/types/HostComponent.js +1 -1
  1260. package/src/private/types/HostInstance.js +67 -1
  1261. package/src/private/webapis/dom/nodes/ReactNativeElement.js +2 -5
  1262. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +5 -18
  1263. package/src/private/webapis/dom/nodes/internals/NodeInternals.js +6 -0
  1264. package/src/private/webapis/performance/Performance.js +1 -3
  1265. package/src/private/webapis/performance/PerformanceEntry.js +6 -1
  1266. package/src/private/webapis/performance/internals/RawPerformanceEntry.js +3 -0
  1267. package/src/private/webapis/performance/specs/NativePerformance.js +10 -1
  1268. package/src/types/bom.js.flow +96 -0
  1269. package/src/types/cssom.js.flow +576 -0
  1270. package/src/types/dom.js.flow +19 -0
  1271. package/src/types/globals.d.ts +42 -0
  1272. package/src/types/streams.js.flow +141 -0
  1273. package/third-party-podspecs/RCT-Folly.podspec +7 -6
  1274. package/third-party-podspecs/ReactNativeDependencies.podspec +86 -0
  1275. package/third-party-podspecs/fast_float.podspec +2 -2
  1276. package/third-party-podspecs/replace_dependencies_version.js +107 -0
  1277. package/types/index.d.ts +6 -3
  1278. package/types/public/ReactNativeTVTypes.d.ts +42 -42
  1279. package/types/public/ReactNativeTypes.d.ts +2 -2
  1280. package/types/tsconfig.test.json +16 -0
  1281. package/Libraries/BatchedBridge/__mocks__/MessageQueueTestConfig.js +0 -38
  1282. package/Libraries/BatchedBridge/__mocks__/MessageQueueTestModule.js +0 -22
  1283. package/Libraries/Blob/FileReader_new.js +0 -231
  1284. package/Libraries/Blob/FileReader_old.js +0 -186
  1285. package/Libraries/Blob/__mocks__/FileReaderModule.js +0 -20
  1286. package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +0 -32
  1287. package/Libraries/Core/__mocks__/ErrorUtils.js +0 -33
  1288. package/Libraries/Core/__mocks__/NativeExceptionsManager.js +0 -19
  1289. package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +0 -49
  1290. package/Libraries/Events/CustomEvent.js +0 -32
  1291. package/Libraries/Events/EventPolyfill.js +0 -239
  1292. package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +0 -118
  1293. package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +0 -134
  1294. package/Libraries/Network/XMLHttpRequest_new.js +0 -794
  1295. package/Libraries/Network/XMLHttpRequest_old.js +0 -701
  1296. package/Libraries/NewAppScreen/components/DebugInstructions.js +0 -48
  1297. package/Libraries/NewAppScreen/components/Header.js +0 -77
  1298. package/Libraries/NewAppScreen/components/HermesBadge.js +0 -72
  1299. package/Libraries/NewAppScreen/components/LearnMoreLinks.js +0 -148
  1300. package/Libraries/NewAppScreen/components/ReloadInstructions.js +0 -39
  1301. package/Libraries/NewAppScreen/components/logo.png +0 -0
  1302. package/Libraries/NewAppScreen/index.js +0 -25
  1303. package/Libraries/StyleSheet/__flowtests__/StyleSheet-flowtest.js +0 -58
  1304. package/Libraries/Utilities/__mocks__/BackHandler.js +0 -45
  1305. package/Libraries/Utilities/__mocks__/GlobalPerformanceLogger.js +0 -16
  1306. package/Libraries/Utilities/__mocks__/PixelRatio.js +0 -25
  1307. package/Libraries/WebSocket/WebSocketEvent.js +0 -30
  1308. package/Libraries/WebSocket/WebSocket_new.js +0 -325
  1309. package/Libraries/WebSocket/WebSocket_old.js +0 -297
  1310. package/Libraries/WebSocket/__mocks__/event-target-shim.js +0 -27
  1311. package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +0 -30
  1312. package/Libraries/vendor/emitter/__flowtests__/EventEmitter-flowtest.js +0 -81
  1313. package/React/Base/UIKitProxies/RCTInitialAccessibilityValuesProxy.h +0 -30
  1314. package/React/Base/UIKitProxies/RCTInitialAccessibilityValuesProxy.mm +0 -185
  1315. package/React/Base/UIKitProxies/RCTInitializeUIKitProxies.mm +0 -23
  1316. package/React/Base/UIKitProxies/RCTKeyWindowValuesProxy.h +0 -25
  1317. package/React/Base/UIKitProxies/RCTKeyWindowValuesProxy.mm +0 -129
  1318. package/React/Base/UIKitProxies/RCTTraitCollectionProxy.h +0 -26
  1319. package/React/Base/UIKitProxies/RCTTraitCollectionProxy.mm +0 -80
  1320. package/React/Base/UIKitProxies/RCTWindowSafeAreaProxy.h +0 -26
  1321. package/React/Base/UIKitProxies/RCTWindowSafeAreaProxy.mm +0 -70
  1322. package/React/Fabric/Utils/RCTViewFinder.mm +0 -34
  1323. package/ReactAndroid/src/main/java/com/facebook/annotationprocessors/common/ProcessorBase.kt +0 -23
  1324. package/ReactAndroid/src/main/java/com/facebook/proguard/annotations/KeepGettersAndSetters.kt +0 -24
  1325. package/ReactAndroid/src/main/java/com/facebook/proguard/annotations/proguard_annotations.pro +0 -21
  1326. package/ReactAndroid/src/main/java/com/facebook/react/DebugCorePackage.java +0 -84
  1327. package/ReactAndroid/src/main/java/com/facebook/react/MemoryPressureRouter.java +0 -59
  1328. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.java +0 -1240
  1329. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java +0 -900
  1330. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ActivityEventListener.java +0 -29
  1331. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BaseActivityEventListener.java +0 -29
  1332. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CallbackImpl.java +0 -37
  1333. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ColorPropConverter.java +0 -234
  1334. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxModuleWrapperBase.java +0 -57
  1335. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromArray.java +0 -103
  1336. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromMap.java +0 -110
  1337. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromObject.java +0 -89
  1338. package/ReactAndroid/src/main/java/com/facebook/react/bridge/GuardedAsyncTask.java +0 -42
  1339. package/ReactAndroid/src/main/java/com/facebook/react/bridge/GuardedRunnable.java +0 -36
  1340. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Inspector.java +0 -110
  1341. package/ReactAndroid/src/main/java/com/facebook/react/bridge/InvalidIteratorException.kt +0 -18
  1342. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSBundleLoader.java +0 -97
  1343. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSONArguments.java +0 -110
  1344. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaModuleWrapper.java +0 -148
  1345. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptContextHolder.java +0 -33
  1346. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptExecutor.java +0 -31
  1347. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JsonWriterHelper.java +0 -155
  1348. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactBridge.kt +0 -48
  1349. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactCxxErrorHandler.java +0 -39
  1350. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UiThreadUtil.java +0 -75
  1351. package/ReactAndroid/src/main/java/com/facebook/react/bridge/bridge.pro +0 -12
  1352. package/ReactAndroid/src/main/java/com/facebook/react/common/SingleThreadAsserter.kt +0 -23
  1353. package/ReactAndroid/src/main/java/com/facebook/react/common/StandardCharsets.kt +0 -31
  1354. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.java +0 -128
  1355. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgelessDevSupportManager.java +0 -124
  1356. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BundleDownloader.java +0 -313
  1357. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/CxxInspectorPackagerConnection.java +0 -174
  1358. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DebugOverlayController.java +0 -117
  1359. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.java +0 -495
  1360. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +0 -1121
  1361. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.java +0 -56
  1362. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportSoLoader.kt +0 -24
  1363. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/JSDebuggerWebSocketClient.java +0 -244
  1364. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/MultipartStreamReader.java +0 -166
  1365. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ReactInstanceDevHelper.java +0 -47
  1366. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/StackTraceHelper.java +0 -300
  1367. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSplitBundleCallback.kt +0 -17
  1368. package/ReactAndroid/src/main/java/com/facebook/react/fabric/DevToolsReactPerfLogger.java +0 -239
  1369. package/ReactAndroid/src/main/java/com/facebook/react/fabric/StateWrapperImpl.java +0 -103
  1370. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.java +0 -329
  1371. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEvent.kt +0 -40
  1372. package/ReactAndroid/src/main/java/com/facebook/react/interfaces/fabric/SurfaceHandler.kt +0 -40
  1373. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/NativeModuleSoLoader.kt +0 -25
  1374. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleInteropUtils.java +0 -288
  1375. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManager.java +0 -474
  1376. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManagerDelegate.java +0 -76
  1377. package/ReactAndroid/src/main/java/com/facebook/react/module/processing/ReactModuleSpecProcessor.java +0 -253
  1378. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobModule.java +0 -383
  1379. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobProvider.java +0 -126
  1380. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/FileReaderModule.java +0 -103
  1381. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ChoreographerCompat.kt +0 -16
  1382. package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/AlertFragment.java +0 -204
  1383. package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/DialogModule.java +0 -240
  1384. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.java +0 -785
  1385. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ProgressResponseBody.java +0 -68
  1386. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +0 -22
  1387. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/FileIoHandler.java +0 -191
  1388. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/JSPackagerClient.java +0 -143
  1389. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/ReconnectingWebSocket.java +0 -193
  1390. package/ReactAndroid/src/main/java/com/facebook/react/processing/ReactLegacyArchitectureProcessor.kt +0 -48
  1391. package/ReactAndroid/src/main/java/com/facebook/react/processing/ReactPropertyProcessor.java +0 -765
  1392. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessAtomicRef.java +0 -131
  1393. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessReactContext.java +0 -209
  1394. package/ReactAndroid/src/main/java/com/facebook/react/runtime/CoreReactPackage.java +0 -138
  1395. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.java +0 -634
  1396. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactLifecycleStateManager.java +0 -90
  1397. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceImpl.java +0 -255
  1398. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/Task.java +0 -555
  1399. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/UnobservedErrorNotifier.kt +0 -27
  1400. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/UnobservedTaskException.kt +0 -11
  1401. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/OnLayoutEvent.java +0 -80
  1402. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactClippingViewGroupHelper.java +0 -65
  1403. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactInvalidPropertyException.kt +0 -16
  1404. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactStylesDiffMap.java +0 -99
  1405. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ShadowNodeRegistry.java +0 -87
  1406. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.java +0 -448
  1407. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TransformHelper.java +0 -231
  1408. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstants.java +0 -119
  1409. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewAtIndex.java +0 -46
  1410. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupDrawingOrderHelper.java +0 -127
  1411. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupManager.java +0 -116
  1412. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactProp.java +0 -109
  1413. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactPropGroup.java +0 -97
  1414. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactPropertyHolder.java +0 -19
  1415. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/Event.java +0 -220
  1416. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/AbstractLayoutAnimation.java +0 -116
  1417. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/BaseLayoutAnimation.java +0 -86
  1418. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationController.java +0 -224
  1419. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/OpacityAnimation.java +0 -72
  1420. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/PositionAndSizeAnimation.java +0 -69
  1421. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ModalHostHelper.kt +0 -63
  1422. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ModalHostShadowNode.kt +0 -31
  1423. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/MaintainVisibleScrollPositionHelper.java +0 -213
  1424. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.java +0 -361
  1425. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.java +0 -409
  1426. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactRawTextShadowNode.java +0 -47
  1427. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.java +0 -233
  1428. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageShadowNode.java +0 -163
  1429. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageSpan.java +0 -185
  1430. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactContentSizeChangedEvent.java +0 -54
  1431. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +0 -1493
  1432. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditTextInputConnectionWrapper.java +0 -160
  1433. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextChangedEvent.java +0 -52
  1434. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputBlurEvent.java +0 -47
  1435. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputEndEditingEvent.java +0 -54
  1436. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputFocusEvent.java +0 -47
  1437. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputKeyPressEvent.java +0 -51
  1438. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputLocalData.java +0 -44
  1439. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java +0 -1390
  1440. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputSelectionEvent.java +0 -53
  1441. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputShadowNode.java +0 -236
  1442. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputSubmitEditingEvent.java +0 -52
  1443. package/ReactAndroid/src/main/jni/prebuilt/lib/DUMMY +0 -1
  1444. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropViewEventEmitter.cpp +0 -18
  1445. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropViewEventEmitter.h +0 -31
  1446. package/ReactCommon/react/renderer/textlayoutmanager/TextLayoutManager.cpp +0 -26
  1447. package/ReactCommon/react/renderer/uimanager/consistency/LatestShadowTreeRevisionProvider.cpp +0 -29
  1448. package/ReactCommon/react/renderer/uimanager/consistency/LatestShadowTreeRevisionProvider.h +0 -35
  1449. package/android/README.md +0 -21
  1450. package/flow/jest.js +0 -1287
  1451. package/jest/__tests__/setup-test.js +0 -18
  1452. package/scripts/codegen/generate-artifacts-executor.js +0 -1118
  1453. package/src/private/components/VScrollViewNativeComponents.js +0 -25
  1454. package/src/private/featureflags/README.md +0 -5
  1455. package/src/private/specs_DEPRECATED/README.md +0 -7
  1456. package/src/private/utilities/ensureInstance.js +0 -21
  1457. package/src/private/webapis/performance/specs/__mocks__/NativePerformanceMock.js +0 -267
  1458. package/types/modules/LaunchScreen.d.ts +0 -18
  1459. /package/ReactCommon/jsinspector-modern/{CdpJson.cpp → cdp/CdpJson.cpp} +0 -0
  1460. /package/ReactCommon/jsinspector-modern/{CdpJson.h → cdp/CdpJson.h} +0 -0
  1461. /package/src/private/{devmenu → devsupport/devmenu}/DevMenu.d.ts +0 -0
  1462. /package/src/private/{debugging → devsupport/rndevtools}/FuseboxSessionObserver.js +0 -0
  1463. /package/src/private/{debugging → devsupport/rndevtools}/ReactDevToolsSettingsManager.js.flow +0 -0
@@ -11,24 +11,31 @@
11
11
  'use strict';
12
12
 
13
13
  import type {ProcessedColorValue} from './processColor';
14
- import type {GradientValue} from './StyleSheetTypes';
14
+ import type {
15
+ BackgroundImageValue,
16
+ RadialGradientPosition,
17
+ RadialGradientShape,
18
+ RadialGradientSize,
19
+ } from './StyleSheetTypes';
15
20
 
16
21
  const processColor = require('./processColor').default;
17
- const DIRECTION_KEYWORD_REGEX =
22
+
23
+ // Linear Gradient
24
+ const LINEAR_GRADIENT_DIRECTION_REGEX =
18
25
  /^to\s+(?:top|bottom|left|right)(?:\s+(?:top|bottom|left|right))?/i;
19
- const ANGLE_UNIT_REGEX = /^([+-]?\d*\.?\d+)(deg|grad|rad|turn)$/i;
26
+ const LINEAR_GRADIENT_ANGLE_UNIT_REGEX =
27
+ /^([+-]?\d*\.?\d+)(deg|grad|rad|turn)$/i;
28
+ const LINEAR_GRADIENT_DEFAULT_DIRECTION: LinearGradientDirection = {
29
+ type: 'angle',
30
+ value: 180,
31
+ };
20
32
 
21
33
  type LinearGradientDirection =
22
34
  | {type: 'angle', value: number}
23
35
  | {type: 'keyword', value: string};
24
36
 
25
- // null color indicate that the transition hint syntax is used. e.g. red, 20%, blue
26
- type ColorStopColor = ProcessedColorValue | null;
27
- // percentage or pixel value
28
- type ColorStopPosition = number | string | null;
29
-
30
- type ParsedGradientValue = {
31
- type: 'linearGradient',
37
+ type LinearGradientBackgroundImage = {
38
+ type: 'linear-gradient',
32
39
  direction: LinearGradientDirection,
33
40
  colorStops: $ReadOnlyArray<{
34
41
  color: ColorStopColor,
@@ -36,261 +43,682 @@ type ParsedGradientValue = {
36
43
  }>,
37
44
  };
38
45
 
39
- const DEFAULT_DIRECTION: LinearGradientDirection = {
40
- type: 'angle',
41
- value: 180,
46
+ // Radial Gradient
47
+ const DEFAULT_RADIAL_SHAPE = 'ellipse';
48
+ const DEFAULT_RADIAL_SIZE = 'farthest-corner';
49
+ // center
50
+ const DEFAULT_RADIAL_POSITION: RadialGradientPosition = {
51
+ top: '50%',
52
+ left: '50%',
53
+ };
54
+
55
+ type RadialGradientBackgroundImage = {
56
+ type: 'radial-gradient',
57
+ shape: RadialGradientShape,
58
+ size: RadialGradientSize,
59
+ position: RadialGradientPosition,
60
+ colorStops: $ReadOnlyArray<{
61
+ color: ColorStopColor,
62
+ position: ColorStopPosition,
63
+ }>,
42
64
  };
43
65
 
66
+ // null color indicate that the transition hint syntax is used. e.g. red, 20%, blue
67
+ type ColorStopColor = ProcessedColorValue | null;
68
+ // percentage or pixel value
69
+ type ColorStopPosition = number | string | null;
70
+
71
+ type ParsedBackgroundImageValue =
72
+ | LinearGradientBackgroundImage
73
+ | RadialGradientBackgroundImage;
74
+
44
75
  export default function processBackgroundImage(
45
- backgroundImage: ?($ReadOnlyArray<GradientValue> | string),
46
- ): $ReadOnlyArray<ParsedGradientValue> {
47
- let result: $ReadOnlyArray<ParsedGradientValue> = [];
76
+ backgroundImage: ?($ReadOnlyArray<BackgroundImageValue> | string),
77
+ ): $ReadOnlyArray<ParsedBackgroundImageValue> {
78
+ let result: $ReadOnlyArray<ParsedBackgroundImageValue> = [];
48
79
  if (backgroundImage == null) {
49
80
  return result;
50
81
  }
51
82
 
52
83
  if (typeof backgroundImage === 'string') {
53
- result = parseCSSLinearGradient(backgroundImage.replace(/\n/g, ' '));
84
+ result = parseBackgroundImageCSSString(backgroundImage.replace(/\n/g, ' '));
54
85
  } else if (Array.isArray(backgroundImage)) {
55
86
  for (const bgImage of backgroundImage) {
56
- const processedColorStops: Array<{
57
- color: ColorStopColor,
58
- position: ColorStopPosition,
59
- }> = [];
60
- for (let index = 0; index < bgImage.colorStops.length; index++) {
61
- const colorStop = bgImage.colorStops[index];
62
- const positions = colorStop.positions;
63
- // Color transition hint syntax (red, 20%, blue)
64
- if (
65
- colorStop.color == null &&
66
- Array.isArray(positions) &&
67
- positions.length === 1
68
- ) {
69
- const position = positions[0];
70
- if (
71
- typeof position === 'number' ||
72
- (typeof position === 'string' && position.endsWith('%'))
73
- ) {
74
- processedColorStops.push({
75
- color: null,
76
- position,
77
- });
78
- } else {
79
- // If a position is invalid, return an empty array and do not apply gradient. Same as web.
80
- return [];
81
- }
82
- } else {
83
- const processedColor = processColor(colorStop.color);
84
- if (processedColor == null) {
85
- // If a color is invalid, return an empty array and do not apply gradient. Same as web.
86
- return [];
87
- }
88
- if (positions != null && positions.length > 0) {
89
- for (const position of positions) {
90
- if (
91
- typeof position === 'number' ||
92
- (typeof position === 'string' && position.endsWith('%'))
93
- ) {
94
- processedColorStops.push({
95
- color: processedColor,
96
- position,
97
- });
98
- } else {
99
- // If a position is invalid, return an empty array and do not apply gradient. Same as web.
100
- return [];
101
- }
87
+ const processedColorStops = processColorStops(bgImage);
88
+ if (processedColorStops == null) {
89
+ // If a color stop is invalid, return an empty array and do not apply any gradient. Same as web.
90
+ return [];
91
+ }
92
+
93
+ if (bgImage.type === 'linear-gradient') {
94
+ let direction: LinearGradientDirection =
95
+ LINEAR_GRADIENT_DEFAULT_DIRECTION;
96
+ const bgDirection =
97
+ bgImage.direction != null ? bgImage.direction.toLowerCase() : null;
98
+
99
+ if (bgDirection != null) {
100
+ if (LINEAR_GRADIENT_ANGLE_UNIT_REGEX.test(bgDirection)) {
101
+ const parsedAngle = getAngleInDegrees(bgDirection);
102
+ if (parsedAngle != null) {
103
+ direction = {
104
+ type: 'angle',
105
+ value: parsedAngle,
106
+ };
107
+ } else {
108
+ // If an angle is invalid, return an empty array and do not apply any gradient. Same as web.
109
+ return [];
110
+ }
111
+ } else if (LINEAR_GRADIENT_DIRECTION_REGEX.test(bgDirection)) {
112
+ const parsedDirection = getDirectionForKeyword(bgDirection);
113
+ if (parsedDirection != null) {
114
+ direction = parsedDirection;
115
+ } else {
116
+ // If a direction is invalid, return an empty array and do not apply any gradient. Same as web.
117
+ return [];
102
118
  }
103
119
  } else {
104
- processedColorStops.push({
105
- color: processedColor,
106
- position: null,
107
- });
120
+ // If a direction is invalid, return an empty array and do not apply any gradient. Same as web.
121
+ return [];
108
122
  }
109
123
  }
110
- }
111
124
 
112
- let direction: LinearGradientDirection = DEFAULT_DIRECTION;
113
- const bgDirection =
114
- bgImage.direction != null ? bgImage.direction.toLowerCase() : null;
115
-
116
- if (bgDirection != null) {
117
- if (ANGLE_UNIT_REGEX.test(bgDirection)) {
118
- const parsedAngle = getAngleInDegrees(bgDirection);
119
- if (parsedAngle != null) {
120
- direction = {
121
- type: 'angle',
122
- value: parsedAngle,
123
- };
125
+ result = result.concat({
126
+ type: 'linear-gradient',
127
+ direction,
128
+ colorStops: processedColorStops,
129
+ });
130
+ } else if (bgImage.type === 'radial-gradient') {
131
+ let shape: RadialGradientShape = DEFAULT_RADIAL_SHAPE;
132
+ let size: RadialGradientSize = DEFAULT_RADIAL_SIZE;
133
+ let position: RadialGradientPosition = {...DEFAULT_RADIAL_POSITION};
134
+
135
+ if (bgImage.shape != null) {
136
+ if (bgImage.shape === 'circle' || bgImage.shape === 'ellipse') {
137
+ shape = bgImage.shape;
124
138
  } else {
125
- // If an angle is invalid, return an empty array and do not apply any gradient. Same as web.
139
+ // If the shape is invalid, return an empty array and do not apply any gradient. Same as web.
126
140
  return [];
127
141
  }
128
- } else if (DIRECTION_KEYWORD_REGEX.test(bgDirection)) {
129
- const parsedDirection = getDirectionForKeyword(bgDirection);
130
- if (parsedDirection != null) {
131
- direction = parsedDirection;
142
+ }
143
+
144
+ if (bgImage.size != null) {
145
+ if (
146
+ typeof bgImage.size === 'string' &&
147
+ (bgImage.size === 'closest-side' ||
148
+ bgImage.size === 'closest-corner' ||
149
+ bgImage.size === 'farthest-side' ||
150
+ bgImage.size === 'farthest-corner')
151
+ ) {
152
+ size = bgImage.size;
153
+ } else if (
154
+ typeof bgImage.size === 'object' &&
155
+ bgImage.size.x != null &&
156
+ bgImage.size.y != null
157
+ ) {
158
+ size = {
159
+ x: bgImage.size.x,
160
+ y: bgImage.size.y,
161
+ };
132
162
  } else {
133
- // If a direction is invalid, return an empty array and do not apply any gradient. Same as web.
163
+ // If the size is invalid, return an empty array and do not apply any gradient. Same as web.
134
164
  return [];
135
165
  }
136
- } else {
137
- // If a direction is invalid, return an empty array and do not apply any gradient. Same as web.
138
- return [];
139
166
  }
140
- }
141
167
 
142
- result = result.concat({
143
- type: 'linearGradient',
144
- direction,
145
- colorStops: processedColorStops,
146
- });
168
+ if (bgImage.position != null) {
169
+ position = bgImage.position;
170
+ }
171
+
172
+ result = result.concat({
173
+ type: 'radial-gradient',
174
+ shape,
175
+ size,
176
+ position,
177
+ colorStops: processedColorStops,
178
+ });
179
+ }
147
180
  }
148
181
  }
149
182
 
150
183
  return result;
151
184
  }
152
185
 
153
- function parseCSSLinearGradient(
154
- cssString: string,
155
- ): $ReadOnlyArray<ParsedGradientValue> {
156
- const gradients = [];
157
- let match;
158
-
159
- // matches one or more linear-gradient functions in CSS
160
- const linearGradientRegex = /linear-gradient\s*\(((?:\([^)]*\)|[^())])*)\)/gi;
161
-
162
- while ((match = linearGradientRegex.exec(cssString))) {
163
- const gradientContent = match[1];
164
- const parts = gradientContent.split(',');
165
- let direction: LinearGradientDirection = DEFAULT_DIRECTION;
166
- const trimmedDirection = parts[0].trim().toLowerCase();
167
-
168
- if (ANGLE_UNIT_REGEX.test(trimmedDirection)) {
169
- const parsedAngle = getAngleInDegrees(trimmedDirection);
170
- if (parsedAngle != null) {
171
- direction = {
172
- type: 'angle',
173
- value: parsedAngle,
174
- };
175
- parts.shift();
186
+ function processColorStops(bgImage: BackgroundImageValue): $ReadOnlyArray<{
187
+ color: ColorStopColor,
188
+ position: ColorStopPosition,
189
+ }> | null {
190
+ const processedColorStops: Array<{
191
+ color: ColorStopColor,
192
+ position: ColorStopPosition,
193
+ }> = [];
194
+
195
+ for (let index = 0; index < bgImage.colorStops.length; index++) {
196
+ const colorStop = bgImage.colorStops[index];
197
+ const positions = colorStop.positions;
198
+ // Color transition hint syntax (red, 20%, blue)
199
+ if (
200
+ colorStop.color == null &&
201
+ Array.isArray(positions) &&
202
+ positions.length === 1
203
+ ) {
204
+ const position = positions[0];
205
+ if (
206
+ typeof position === 'number' ||
207
+ (typeof position === 'string' && position.endsWith('%'))
208
+ ) {
209
+ processedColorStops.push({
210
+ color: null,
211
+ position,
212
+ });
176
213
  } else {
177
- // If an angle is invalid, return an empty array and do not apply any gradient. Same as web.
178
- return [];
214
+ // If a position is invalid, return null and do not apply gradient. Same as web.
215
+ return null;
179
216
  }
180
- } else if (DIRECTION_KEYWORD_REGEX.test(trimmedDirection)) {
181
- const parsedDirection = getDirectionForKeyword(trimmedDirection);
182
- if (parsedDirection != null) {
183
- direction = parsedDirection;
184
- parts.shift();
217
+ } else {
218
+ const processedColor = processColor(colorStop.color);
219
+ if (processedColor == null) {
220
+ // If a color is invalid, return null and do not apply gradient. Same as web.
221
+ return null;
222
+ }
223
+ if (positions != null && positions.length > 0) {
224
+ for (const position of positions) {
225
+ if (
226
+ typeof position === 'number' ||
227
+ (typeof position === 'string' && position.endsWith('%'))
228
+ ) {
229
+ processedColorStops.push({
230
+ color: processedColor,
231
+ position,
232
+ });
233
+ } else {
234
+ // If a position is invalid, return null and do not apply gradient. Same as web.
235
+ return null;
236
+ }
237
+ }
185
238
  } else {
186
- // If a direction is invalid, return an empty array and do not apply any gradient. Same as web.
187
- return [];
239
+ processedColorStops.push({
240
+ color: processedColor,
241
+ position: null,
242
+ });
188
243
  }
189
244
  }
245
+ }
190
246
 
191
- const colorStopsString = parts.join(',');
192
- const colorStops = [];
193
- // split by comma, but not if it's inside a parentheses. e.g. red, rgba(0, 0, 0, 0.5), green => ["red", "rgba(0, 0, 0, 0.5)", "green"]
194
- const stops = colorStopsString.split(/,(?![^(]*\))/);
195
- let prevStop = null;
196
- for (let i = 0; i < stops.length; i++) {
197
- const stop = stops[i];
198
- const trimmedStop = stop.trim().toLowerCase();
199
- // Match function like pattern or single words
200
- const colorStopParts = trimmedStop.match(/\S+\([^)]*\)|\S+/g);
201
- if (colorStopParts == null) {
202
- // If a color stop is invalid, return an empty array and do not apply any gradient. Same as web.
203
- return [];
247
+ return processedColorStops;
248
+ }
249
+
250
+ function parseBackgroundImageCSSString(
251
+ cssString: string,
252
+ ): $ReadOnlyArray<ParsedBackgroundImageValue> {
253
+ const gradients = [];
254
+ const bgImageStrings = splitGradients(cssString);
255
+
256
+ for (const bgImageString of bgImageStrings) {
257
+ const bgImage = bgImageString.toLowerCase();
258
+ const gradientRegex = /^(linear|radial)-gradient\(((?:\([^)]*\)|[^()])*)\)/;
259
+
260
+ const match = gradientRegex.exec(bgImage);
261
+ if (match) {
262
+ const [, type, gradientContent] = match;
263
+ const isRadial = type.toLowerCase() === 'radial';
264
+ const gradient = isRadial
265
+ ? parseRadialGradientCSSString(gradientContent)
266
+ : parseLinearGradientCSSString(gradientContent);
267
+
268
+ if (gradient != null) {
269
+ gradients.push(gradient);
204
270
  }
205
- // Case 1: [color, position, position]
206
- if (colorStopParts.length === 3) {
207
- const color = colorStopParts[0];
208
- const position1 = getPositionFromCSSValue(colorStopParts[1]);
209
- const position2 = getPositionFromCSSValue(colorStopParts[2]);
210
- const processedColor = processColor(color);
211
- if (processedColor == null) {
212
- // If a color is invalid, return an empty array and do not apply any gradient. Same as web.
213
- return [];
214
- }
271
+ }
272
+ }
273
+ return gradients;
274
+ }
275
+
276
+ function parseRadialGradientCSSString(
277
+ gradientContent: string,
278
+ ): RadialGradientBackgroundImage | null {
279
+ let shape: RadialGradientShape = DEFAULT_RADIAL_SHAPE;
280
+ let size: RadialGradientSize = DEFAULT_RADIAL_SIZE;
281
+ let position: RadialGradientPosition = {...DEFAULT_RADIAL_POSITION};
282
+
283
+ // split the content by commas, but not if inside parentheses (for color values)
284
+ const parts = gradientContent.split(/,(?![^(]*\))/);
285
+ // first part may contain shape, size, and position
286
+ // [ <radial-shape> || <radial-size> ]? [ at <position> ]?
287
+ const firstPartStr = parts[0].trim();
288
+ const remainingParts = [...parts];
289
+ let hasShapeSizeOrPositionString = false;
290
+ let hasExplicitSingleSize = false;
291
+ let hasExplicitShape = false;
292
+ const firstPartTokens = firstPartStr.split(/\s+/);
293
+
294
+ // firstPartTokens is the shape, size, and position
295
+ while (firstPartTokens.length > 0) {
296
+ let token = firstPartTokens.shift();
297
+ if (token == null) {
298
+ continue;
299
+ }
300
+ let tokenTrimmed = token.toLowerCase().trim();
215
301
 
216
- if (position1 == null || position2 == null) {
217
- // If a position is invalid, return an empty array and do not apply any gradient. Same as web.
218
- return [];
302
+ if (tokenTrimmed === 'circle' || tokenTrimmed === 'ellipse') {
303
+ shape = tokenTrimmed === 'circle' ? 'circle' : 'ellipse';
304
+ hasShapeSizeOrPositionString = true;
305
+ hasExplicitShape = true;
306
+ } else if (
307
+ tokenTrimmed === 'closest-corner' ||
308
+ tokenTrimmed === 'farthest-corner' ||
309
+ tokenTrimmed === 'closest-side' ||
310
+ tokenTrimmed === 'farthest-side'
311
+ ) {
312
+ size = tokenTrimmed;
313
+ hasShapeSizeOrPositionString = true;
314
+ } else if (tokenTrimmed.endsWith('px') || tokenTrimmed.endsWith('%')) {
315
+ let sizeX = getPositionFromCSSValue(tokenTrimmed);
316
+ if (sizeX == null) {
317
+ // If a size is invalid, return null and do not apply any gradient. Same as web.
318
+ return null;
319
+ }
320
+ if (typeof sizeX === 'number' && sizeX < 0) {
321
+ // If a size is invalid, return null and do not apply any gradient. Same as web.
322
+ return null;
323
+ }
324
+ hasShapeSizeOrPositionString = true;
325
+ size = {x: sizeX, y: sizeX};
326
+ token = firstPartTokens.shift();
327
+ if (token == null) {
328
+ hasExplicitSingleSize = true;
329
+ continue;
330
+ }
331
+ tokenTrimmed = token.toLowerCase().trim();
332
+ if (tokenTrimmed.endsWith('px') || tokenTrimmed.endsWith('%')) {
333
+ const sizeY = getPositionFromCSSValue(tokenTrimmed);
334
+ if (sizeY == null) {
335
+ // If a size is invalid, return null and do not apply any gradient. Same as web.
336
+ return null;
337
+ }
338
+ if (typeof sizeY === 'number' && sizeY < 0) {
339
+ // If a size is invalid, return null and do not apply any gradient. Same as web.
340
+ return null;
219
341
  }
342
+ size = {x: sizeX, y: sizeY};
343
+ } else {
344
+ hasExplicitSingleSize = true;
345
+ }
346
+ } else if (tokenTrimmed === 'at') {
347
+ let top: string | number;
348
+ let left: string | number;
349
+ let right: string | number;
350
+ let bottom: string | number;
351
+ hasShapeSizeOrPositionString = true;
220
352
 
221
- colorStops.push({
222
- color: processedColor,
223
- position: position1,
224
- });
225
- colorStops.push({
226
- color: processedColor,
227
- position: position2,
228
- });
353
+ if (firstPartTokens.length === 0) {
354
+ // If 'at' is not followed by a position, return null and do not apply any gradient. Same as web.
355
+ return null;
229
356
  }
230
- // Case 2: [color, position]
231
- else if (colorStopParts.length === 2) {
232
- const color = colorStopParts[0];
233
- const position = getPositionFromCSSValue(colorStopParts[1]);
234
- const processedColor = processColor(color);
235
- if (processedColor == null) {
236
- // If a color is invalid, return an empty array and do not apply any gradient. Same as web.
237
- return [];
357
+
358
+ // 1. [ left | center | right | top | bottom | <length-percentage> ]
359
+ if (firstPartTokens.length === 1) {
360
+ token = firstPartTokens.shift();
361
+ if (token == null) {
362
+ // If 'at' is not followed by a position, return null and do not apply any gradient. Same as web.
363
+ return null;
238
364
  }
239
- if (position == null) {
240
- // If a position is invalid, return an empty array and do not apply any gradient. Same as web.
241
- return [];
365
+ tokenTrimmed = token.toLowerCase().trim();
366
+ if (tokenTrimmed === 'left') {
367
+ left = '0%';
368
+ top = '50%';
369
+ } else if (tokenTrimmed === 'center') {
370
+ left = '50%';
371
+ top = '50%';
372
+ } else if (tokenTrimmed === 'right') {
373
+ left = '100%';
374
+ top = '50%';
375
+ } else if (tokenTrimmed === 'top') {
376
+ left = '50%';
377
+ top = '0%';
378
+ } else if (tokenTrimmed === 'bottom') {
379
+ left = '50%';
380
+ top = '100%';
381
+ } else if (tokenTrimmed.endsWith('px') || tokenTrimmed.endsWith('%')) {
382
+ const value = getPositionFromCSSValue(tokenTrimmed);
383
+ if (value == null) {
384
+ // If a position is invalid, return null and do not apply any gradient. Same as web.
385
+ return null;
386
+ }
387
+ left = value;
388
+ top = '50%';
242
389
  }
243
- colorStops.push({
244
- color: processedColor,
245
- position,
246
- });
247
390
  }
248
- // Case 3: [color]
249
- // Case 4: [position] => transition hint syntax
250
- else if (colorStopParts.length === 1) {
251
- const position = getPositionFromCSSValue(colorStopParts[0]);
252
- if (position != null) {
253
- // handle invalid transition hint syntax. transition hint syntax must have color before and after the position. e.g. red, 20%, blue
254
- if (
255
- (prevStop != null &&
256
- prevStop.length === 1 &&
257
- getPositionFromCSSValue(prevStop[0]) != null) ||
258
- i === stops.length - 1 ||
259
- i === 0
260
- ) {
261
- // If the last stop is a transition hint syntax, return an empty array and do not apply any gradient. Same as web.
262
- return [];
391
+
392
+ if (firstPartTokens.length === 2) {
393
+ const t1 = firstPartTokens.shift();
394
+ const t2 = firstPartTokens.shift();
395
+ if (t1 == null || t2 == null) {
396
+ // If a position is invalid, return null and do not apply any gradient. Same as web.
397
+ return null;
398
+ }
399
+
400
+ const token1 = t1.toLowerCase().trim();
401
+ const token2 = t2.toLowerCase().trim();
402
+
403
+ // 2. [ left | center | right ] && [ top | center | bottom ]
404
+ const horizontalPositions = ['left', 'center', 'right'];
405
+ const verticalPositions = ['top', 'center', 'bottom'];
406
+
407
+ if (
408
+ horizontalPositions.includes(token1) &&
409
+ verticalPositions.includes(token2)
410
+ ) {
411
+ left =
412
+ token1 === 'left' ? '0%' : token1 === 'center' ? '50%' : '100%';
413
+ top = token2 === 'top' ? '0%' : token2 === 'center' ? '50%' : '100%';
414
+ } else if (
415
+ verticalPositions.includes(token1) &&
416
+ horizontalPositions.includes(token2)
417
+ ) {
418
+ left =
419
+ token2 === 'left' ? '0%' : token2 === 'center' ? '50%' : '100%';
420
+ top = token1 === 'top' ? '0%' : token1 === 'center' ? '50%' : '100%';
421
+ }
422
+ // 3. [ left | center | right | <length-percentage> ] [ top | center | bottom | <length-percentage> ]
423
+ else {
424
+ if (token1 === 'left') {
425
+ left = '0%';
426
+ } else if (token1 === 'center') {
427
+ left = '50%';
428
+ } else if (token1 === 'right') {
429
+ left = '100%';
430
+ } else if (token1.endsWith('px') || token1.endsWith('%')) {
431
+ const value = getPositionFromCSSValue(token1);
432
+ if (value == null) {
433
+ // If a position is invalid, return null and do not apply any gradient. Same as web.
434
+ return null;
435
+ }
436
+ left = value;
437
+ } else {
438
+ // If a position is invalid, return null and do not apply any gradient. Same as web.
439
+ return null;
263
440
  }
264
- colorStops.push({
265
- color: null,
266
- position,
267
- });
268
- } else {
269
- const processedColor = processColor(colorStopParts[0]);
270
- if (processedColor == null) {
271
- // If a color is invalid, return an empty array and do not apply any gradient. Same as web.
272
- return [];
441
+
442
+ if (token2 === 'top') {
443
+ top = '0%';
444
+ } else if (token2 === 'center') {
445
+ top = '50%';
446
+ } else if (token2 === 'bottom') {
447
+ top = '100%';
448
+ } else if (token2.endsWith('px') || token2.endsWith('%')) {
449
+ const value = getPositionFromCSSValue(token2);
450
+ if (value == null) {
451
+ // If a position is invalid, return null and do not apply any gradient. Same as web.
452
+ return null;
453
+ }
454
+ top = value;
455
+ } else {
456
+ // If a position is invalid, return null and do not apply any gradient. Same as web.
457
+ return null;
273
458
  }
274
- colorStops.push({
275
- color: processedColor,
276
- position: null,
277
- });
278
459
  }
460
+ }
461
+
462
+ // 4. [ [ left | right ] <length-percentage> ] && [ [ top | bottom ] <length-percentage> ]
463
+ if (firstPartTokens.length === 4) {
464
+ const t1 = firstPartTokens.shift();
465
+ const t2 = firstPartTokens.shift();
466
+ const t3 = firstPartTokens.shift();
467
+ const t4 = firstPartTokens.shift();
468
+
469
+ if (t1 == null || t2 == null || t3 == null || t4 == null) {
470
+ // If a position is invalid, return null and do not apply any gradient. Same as web.
471
+ return null;
472
+ }
473
+ const token1 = t1.toLowerCase().trim();
474
+ const token2 = t2.toLowerCase().trim();
475
+ const token3 = t3.toLowerCase().trim();
476
+ const token4 = t4.toLowerCase().trim();
477
+ const keyword1 = token1;
478
+ const value1 = getPositionFromCSSValue(token2);
479
+ const keyword2 = token3;
480
+ const value2 = getPositionFromCSSValue(token4);
481
+ if (value1 == null || value2 == null) {
482
+ // If a position is invalid, return null and do not apply any gradient. Same as web.
483
+ return null;
484
+ }
485
+
486
+ if (keyword1 === 'left') {
487
+ left = value1;
488
+ } else if (keyword1 === 'right') {
489
+ right = value1;
490
+ } else if (keyword1 === 'top') {
491
+ top = value1;
492
+ } else if (keyword1 === 'bottom') {
493
+ bottom = value1;
494
+ } else {
495
+ // If a position is invalid, return null and do not apply any gradient. Same as web.
496
+ return null;
497
+ }
498
+
499
+ if (keyword2 === 'left') {
500
+ left = value2;
501
+ } else if (keyword2 === 'right') {
502
+ right = value2;
503
+ } else if (keyword2 === 'top') {
504
+ top = value2;
505
+ } else if (keyword2 === 'bottom') {
506
+ bottom = value2;
507
+ } else {
508
+ // If a position is invalid, return null and do not apply any gradient. Same as web.
509
+ return null;
510
+ }
511
+ }
512
+
513
+ if (top != null && left != null) {
514
+ position = {
515
+ top,
516
+ left,
517
+ };
518
+ } else if (bottom != null && right != null) {
519
+ position = {
520
+ bottom,
521
+ right,
522
+ };
523
+ } else if (top != null && right != null) {
524
+ position = {
525
+ top,
526
+ right,
527
+ };
528
+ } else if (bottom != null && left != null) {
529
+ position = {
530
+ bottom,
531
+ left,
532
+ };
279
533
  } else {
280
- // If a color stop is invalid, return an empty array and do not apply any gradient. Same as web.
281
- return [];
534
+ // If a position is invalid, return null and do not apply any gradient. Same as web.
535
+ return null;
282
536
  }
283
- prevStop = colorStopParts;
537
+ // 'at' comes at the end of first part of radial gradient syntax;
538
+ break;
284
539
  }
285
540
 
286
- gradients.push({
287
- type: 'linearGradient',
288
- direction,
289
- colorStops,
290
- });
541
+ // if there is no shape, size, or position string found in first token, break
542
+ // if might be a color stop
543
+ if (!hasShapeSizeOrPositionString) {
544
+ break;
545
+ }
291
546
  }
292
547
 
293
- return gradients;
548
+ if (hasShapeSizeOrPositionString) {
549
+ remainingParts.shift();
550
+
551
+ if (!hasExplicitShape && hasExplicitSingleSize) {
552
+ shape = 'circle';
553
+ }
554
+
555
+ if (hasExplicitSingleSize && hasExplicitShape && shape === 'ellipse') {
556
+ // If a single size is explicitly set and the shape is an ellipse, return null and do not apply any gradient. Same as web.
557
+ return null;
558
+ }
559
+ }
560
+
561
+ const colorStops = parseColorStopsCSSString(remainingParts);
562
+ if (colorStops == null) {
563
+ // If color stops are invalid, return null and do not apply any gradient. Same as web.
564
+ return null;
565
+ }
566
+
567
+ return {
568
+ type: 'radial-gradient',
569
+ shape,
570
+ size,
571
+ position,
572
+ colorStops,
573
+ };
574
+ }
575
+
576
+ function parseLinearGradientCSSString(
577
+ gradientContent: string,
578
+ ): LinearGradientBackgroundImage | null {
579
+ const parts = gradientContent.split(',');
580
+ let direction: LinearGradientDirection = LINEAR_GRADIENT_DEFAULT_DIRECTION;
581
+ const trimmedDirection = parts[0].trim().toLowerCase();
582
+
583
+ if (LINEAR_GRADIENT_ANGLE_UNIT_REGEX.test(trimmedDirection)) {
584
+ const parsedAngle = getAngleInDegrees(trimmedDirection);
585
+ if (parsedAngle != null) {
586
+ direction = {
587
+ type: 'angle',
588
+ value: parsedAngle,
589
+ };
590
+ parts.shift();
591
+ } else {
592
+ // If an angle is invalid, return null and do not apply any gradient. Same as web.
593
+ return null;
594
+ }
595
+ } else if (LINEAR_GRADIENT_DIRECTION_REGEX.test(trimmedDirection)) {
596
+ const parsedDirection = getDirectionForKeyword(trimmedDirection);
597
+ if (parsedDirection != null) {
598
+ direction = parsedDirection;
599
+ parts.shift();
600
+ } else {
601
+ // If a direction is invalid, return null and do not apply any gradient. Same as web.
602
+ return null;
603
+ }
604
+ }
605
+
606
+ const colorStops = parseColorStopsCSSString(parts);
607
+ if (colorStops == null) {
608
+ // If a color stop is invalid, return null and do not apply any gradient. Same as web.
609
+ return null;
610
+ }
611
+
612
+ return {
613
+ type: 'linear-gradient',
614
+ direction,
615
+ colorStops,
616
+ };
617
+ }
618
+
619
+ function parseColorStopsCSSString(parts: Array<string>): Array<{
620
+ color: ColorStopColor,
621
+ position: ColorStopPosition,
622
+ }> | null {
623
+ const colorStopsString = parts.join(',');
624
+ const colorStops: Array<{
625
+ color: ColorStopColor,
626
+ position: ColorStopPosition,
627
+ }> = [];
628
+ // split by comma, but not if it's inside a parentheses. e.g. red, rgba(0, 0, 0, 0.5), green => ["red", "rgba(0, 0, 0, 0.5)", "green"]
629
+ const stops = colorStopsString.split(/,(?![^(]*\))/);
630
+ let prevStop = null;
631
+ for (let i = 0; i < stops.length; i++) {
632
+ const stop = stops[i];
633
+ const trimmedStop = stop.trim().toLowerCase();
634
+ // Match function like pattern or single words
635
+ const colorStopParts = trimmedStop.match(/\S+\([^)]*\)|\S+/g);
636
+ if (colorStopParts == null) {
637
+ // If a color stop is invalid, return null and do not apply any gradient. Same as web.
638
+ return null;
639
+ }
640
+ // Case 1: [color, position, position]
641
+ if (colorStopParts.length === 3) {
642
+ const color = colorStopParts[0];
643
+ const position1 = getPositionFromCSSValue(colorStopParts[1]);
644
+ const position2 = getPositionFromCSSValue(colorStopParts[2]);
645
+ const processedColor = processColor(color);
646
+ if (processedColor == null) {
647
+ // If a color is invalid, return null and do not apply any gradient. Same as web.
648
+ return null;
649
+ }
650
+
651
+ if (position1 == null || position2 == null) {
652
+ // If a position is invalid, return null and do not apply any gradient. Same as web.
653
+ return null;
654
+ }
655
+
656
+ colorStops.push({
657
+ color: processedColor,
658
+ position: position1,
659
+ });
660
+ colorStops.push({
661
+ color: processedColor,
662
+ position: position2,
663
+ });
664
+ }
665
+ // Case 2: [color, position]
666
+ else if (colorStopParts.length === 2) {
667
+ const color = colorStopParts[0];
668
+ const position = getPositionFromCSSValue(colorStopParts[1]);
669
+ const processedColor = processColor(color);
670
+ if (processedColor == null) {
671
+ // If a color is invalid, return null and do not apply any gradient. Same as web.
672
+ return null;
673
+ }
674
+ if (position == null) {
675
+ // If a position is invalid, return null and do not apply any gradient. Same as web.
676
+ return null;
677
+ }
678
+ colorStops.push({
679
+ color: processedColor,
680
+ position,
681
+ });
682
+ }
683
+ // Case 3: [color]
684
+ // Case 4: [position] => transition hint syntax
685
+ else if (colorStopParts.length === 1) {
686
+ const position = getPositionFromCSSValue(colorStopParts[0]);
687
+ if (position != null) {
688
+ // handle invalid transition hint syntax. transition hint syntax must have color before and after the position. e.g. red, 20%, blue
689
+ if (
690
+ (prevStop != null &&
691
+ prevStop.length === 1 &&
692
+ getPositionFromCSSValue(prevStop[0]) != null) ||
693
+ i === stops.length - 1 ||
694
+ i === 0
695
+ ) {
696
+ // If the last stop is a transition hint syntax, return null and do not apply any gradient. Same as web.
697
+ return null;
698
+ }
699
+ colorStops.push({
700
+ color: null,
701
+ position,
702
+ });
703
+ } else {
704
+ const processedColor = processColor(colorStopParts[0]);
705
+ if (processedColor == null) {
706
+ // If a color is invalid, return null and do not apply any gradient. Same as web.
707
+ return null;
708
+ }
709
+ colorStops.push({
710
+ color: processedColor,
711
+ position: null,
712
+ });
713
+ }
714
+ } else {
715
+ // If a color stop is invalid, return null and do not apply any gradient. Same as web.
716
+ return null;
717
+ }
718
+ prevStop = colorStopParts;
719
+ }
720
+
721
+ return colorStops;
294
722
  }
295
723
 
296
724
  function getDirectionForKeyword(direction?: string): ?LinearGradientDirection {
@@ -330,7 +758,7 @@ function getAngleInDegrees(angle?: string): ?number {
330
758
  if (angle == null) {
331
759
  return null;
332
760
  }
333
- const match = angle.match(ANGLE_UNIT_REGEX);
761
+ const match = angle.match(LINEAR_GRADIENT_ANGLE_UNIT_REGEX);
334
762
  if (!match) {
335
763
  return null;
336
764
  }
@@ -361,3 +789,31 @@ function getPositionFromCSSValue(position: string) {
361
789
  return position;
362
790
  }
363
791
  }
792
+
793
+ function splitGradients(input: string) {
794
+ const result = [];
795
+ let current = '';
796
+ let depth = 0;
797
+
798
+ for (let i = 0; i < input.length; i++) {
799
+ const char = input[i];
800
+
801
+ if (char === '(') {
802
+ depth++;
803
+ } else if (char === ')') {
804
+ depth--;
805
+ } else if (char === ',' && depth === 0) {
806
+ result.push(current.trim());
807
+ current = '';
808
+ continue;
809
+ }
810
+
811
+ current += char;
812
+ }
813
+
814
+ if (current.trim() !== '') {
815
+ result.push(current.trim());
816
+ }
817
+
818
+ return result;
819
+ }