react-native-tvos 0.86.2-0 → 0.87.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 (1148) hide show
  1. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +19 -24
  2. package/Libraries/ActionSheetIOS/React-RCTActionSheet.podspec +1 -1
  3. package/Libraries/Alert/Alert.js +38 -1
  4. package/Libraries/Animated/AnimatedExports.js +22 -0
  5. package/Libraries/Animated/AnimatedExports.js.flow +1 -1
  6. package/Libraries/Animated/AnimatedImplementation.js +120 -3
  7. package/Libraries/Animated/Easing.js +4 -3
  8. package/Libraries/Animated/NativeAnimatedAllowlist.js +37 -0
  9. package/Libraries/Animated/animations/Animation.js +14 -5
  10. package/Libraries/Animated/animations/DecayAnimation.js +1 -0
  11. package/Libraries/Animated/animations/SpringAnimation.js +1 -0
  12. package/Libraries/Animated/animations/TimingAnimation.js +9 -0
  13. package/Libraries/Animated/components/AnimatedScrollView.js +1 -1
  14. package/Libraries/Animated/createAnimatedComponent.js +3 -3
  15. package/Libraries/Animated/nodes/AnimatedColor.js +8 -8
  16. package/Libraries/Animated/nodes/AnimatedInterpolation.js +106 -0
  17. package/Libraries/Animated/nodes/AnimatedProps.js +27 -3
  18. package/Libraries/Animated/nodes/AnimatedValue.js +8 -0
  19. package/Libraries/Animated/nodes/AnimatedValueXY.js +2 -2
  20. package/Libraries/AppDelegate/RCTAppDelegate.h +5 -9
  21. package/Libraries/AppDelegate/RCTAppDelegate.mm +0 -20
  22. package/Libraries/AppDelegate/RCTAppSetupUtils.h +0 -18
  23. package/Libraries/AppDelegate/RCTAppSetupUtils.mm +0 -78
  24. package/Libraries/AppDelegate/RCTDefaultReactNativeFactoryDelegate.mm +18 -17
  25. package/Libraries/AppDelegate/RCTReactNativeFactory.h +5 -41
  26. package/Libraries/AppDelegate/RCTReactNativeFactory.mm +0 -82
  27. package/Libraries/AppDelegate/RCTRootViewFactory.h +4 -1
  28. package/Libraries/AppDelegate/RCTRootViewFactory.mm +3 -98
  29. package/Libraries/AppDelegate/React-RCTAppDelegate.podspec +2 -1
  30. package/Libraries/AppState/AppState.d.ts +4 -1
  31. package/Libraries/AppState/AppState.js +32 -17
  32. package/Libraries/BatchedBridge/MessageQueue.js +42 -51
  33. package/Libraries/BatchedBridge/NativeModules.js +7 -0
  34. package/Libraries/Blob/Blob.js +7 -1
  35. package/Libraries/Blob/FileReader.js +6 -0
  36. package/Libraries/Blob/React-RCTBlob.podspec +1 -1
  37. package/Libraries/Blob/URLSearchParams.js.flow +1 -1
  38. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +20 -9
  39. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +30 -43
  40. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +59 -49
  41. package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +2 -2
  42. package/Libraries/Components/Button.js +96 -182
  43. package/Libraries/Components/Clipboard/Clipboard.js +5 -0
  44. package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +2 -2
  45. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +8 -69
  46. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.d.ts +10 -1
  47. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.ios.js +2 -0
  48. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidTypes.js +26 -31
  49. package/Libraries/Components/Keyboard/Keyboard.js +23 -60
  50. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +15 -7
  51. package/Libraries/Components/Pressable/Pressable.js +39 -17
  52. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +5 -6
  53. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +4 -4
  54. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +2 -2
  55. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidTypes.js +17 -0
  56. package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +2 -2
  57. package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +2 -2
  58. package/Libraries/Components/RefreshControl/RefreshControl.js +40 -50
  59. package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +2 -2
  60. package/Libraries/Components/SafeAreaView/SafeAreaView.js +8 -8
  61. package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +2 -2
  62. package/Libraries/Components/ScrollView/ScrollView.d.ts +55 -43
  63. package/Libraries/Components/ScrollView/ScrollView.js +202 -115
  64. package/Libraries/Components/ScrollView/ScrollViewCommands.js +4 -4
  65. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -1
  66. package/Libraries/Components/StatusBar/StatusBar.d.ts +7 -54
  67. package/Libraries/Components/StatusBar/StatusBar.js +85 -161
  68. package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +2 -2
  69. package/Libraries/Components/Switch/Switch.js +76 -75
  70. package/Libraries/Components/Switch/SwitchNativeComponent.js +2 -2
  71. package/Libraries/Components/TV/TVEventHandler.js +16 -1
  72. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +1 -1
  73. package/Libraries/Components/TextInput/InputAccessoryView.js +13 -61
  74. package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +2 -2
  75. package/Libraries/Components/TextInput/TextInput.d.ts +9 -2
  76. package/Libraries/Components/TextInput/TextInput.flow.js +20 -3
  77. package/Libraries/Components/TextInput/TextInput.js +116 -111
  78. package/Libraries/Components/TextInput/TextInputNativeCommands.js +3 -3
  79. package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +25 -19
  80. package/Libraries/Components/Touchable/Touchable.d.ts +1 -1
  81. package/Libraries/Components/Touchable/Touchable.js +94 -95
  82. package/Libraries/Components/Touchable/TouchableHighlight.js +46 -114
  83. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +13 -25
  84. package/Libraries/Components/Touchable/TouchableOpacity.js +14 -84
  85. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +4 -3
  86. package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +2 -2
  87. package/Libraries/Components/View/ReactNativeStyleAttributes.js +1 -0
  88. package/Libraries/Components/View/View.js +85 -64
  89. package/Libraries/Components/View/ViewAccessibility.d.ts +12 -2
  90. package/Libraries/Components/View/ViewAccessibility.js +17 -6
  91. package/Libraries/Components/View/ViewNativeComponent.js +6 -8
  92. package/Libraries/Components/View/ViewPropTypes.js +55 -9
  93. package/Libraries/Core/InitializeCore.js +9 -1
  94. package/Libraries/Core/ReactFiberErrorDialog.js +3 -3
  95. package/Libraries/Core/ReactNativeVersion.js +2 -2
  96. package/Libraries/Core/Timers/JSTimers.js +53 -52
  97. package/Libraries/Core/setUpGlobals.js +9 -4
  98. package/Libraries/Core/setUpNavigator.js +7 -2
  99. package/Libraries/Core/setUpReactDevTools.js +0 -118
  100. package/Libraries/Core/setUpXHR.js +6 -2
  101. package/Libraries/Debugging/DebuggingOverlay.js +2 -2
  102. package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +2 -2
  103. package/Libraries/EventEmitter/NativeEventEmitter.js +29 -0
  104. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +7 -7
  105. package/Libraries/EventEmitter/RCTNativeAppEventEmitter.d.ts +1 -1
  106. package/Libraries/EventEmitter/RCTNativeAppEventEmitter.js +3 -0
  107. package/Libraries/FBLazyVector/FBLazyVector.podspec +1 -1
  108. package/Libraries/Image/AssetSourceResolver.js +18 -27
  109. package/Libraries/Image/Image.android.js +13 -2
  110. package/Libraries/Image/Image.ios.js +3 -1
  111. package/Libraries/Image/ImageBackground.js +30 -18
  112. package/Libraries/Image/ImageProps.js +116 -117
  113. package/Libraries/Image/ImageSource.d.ts +1 -1
  114. package/Libraries/Image/ImageSource.js +9 -9
  115. package/Libraries/Image/ImageSourceUtils.js +10 -7
  116. package/Libraries/Image/ImageTypes.flow.js +2 -0
  117. package/Libraries/Image/ImageViewNativeComponent.js +1 -1
  118. package/Libraries/Image/RCTImageLoader.mm +61 -64
  119. package/Libraries/Image/RCTImageStoreManager.h +0 -2
  120. package/Libraries/Image/React-RCTImage.podspec +1 -1
  121. package/Libraries/Image/RelativeImageStub.js +1 -1
  122. package/Libraries/Image/resolveAssetSource.js +1 -1
  123. package/Libraries/Interaction/PanResponder.js +102 -97
  124. package/Libraries/LayoutAnimation/LayoutAnimation.js +22 -6
  125. package/Libraries/Linking/Linking.js +24 -23
  126. package/Libraries/LinkingIOS/React-RCTLinking.podspec +1 -1
  127. package/Libraries/Lists/FlatList.d.ts +6 -17
  128. package/Libraries/Lists/FlatList.js +7 -8
  129. package/Libraries/Lists/SectionList.js +7 -0
  130. package/Libraries/Lists/VirtualizedList.js +3 -0
  131. package/Libraries/Lists/VirtualizedSectionList.js +4 -0
  132. package/Libraries/LogBox/LogBox.js +3 -3
  133. package/Libraries/LogBox/UI/AnsiHighlight.js +2 -1
  134. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +2 -2
  135. package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +4 -1
  136. package/Libraries/LogBox/UI/LogBoxInspectorFooterButton.js +3 -1
  137. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +8 -2
  138. package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +9 -2
  139. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +17 -4
  140. package/Libraries/LogBox/UI/LogBoxInspectorSection.js +3 -1
  141. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +3 -1
  142. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +2 -0
  143. package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +4 -2
  144. package/Libraries/LogBox/UI/LogBoxMessage.js +18 -5
  145. package/Libraries/LogBox/UI/LogBoxNotificationCountBadge.js +4 -1
  146. package/Libraries/LogBox/UI/LogBoxNotificationMessage.js +1 -0
  147. package/Libraries/LogBox/UI/LogBoxStyle.js +0 -4
  148. package/Libraries/Modal/Modal.d.ts +5 -4
  149. package/Libraries/Modal/Modal.js +71 -37
  150. package/Libraries/Modal/RCTModalHostViewNativeComponent.js +2 -2
  151. package/Libraries/NativeAnimation/React-RCTAnimation.podspec +1 -1
  152. package/Libraries/NativeComponent/BaseViewConfig.android.js +17 -0
  153. package/Libraries/NativeComponent/ViewConfig.js +3 -3
  154. package/Libraries/NativeComponent/ViewConfigIgnore.js +1 -1
  155. package/Libraries/Network/RCTHTTPRequestHandler.h +1 -1
  156. package/Libraries/Network/React-RCTNetwork.podspec +1 -1
  157. package/Libraries/Performance/Systrace.js +36 -0
  158. package/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +4 -2
  159. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +29 -17
  160. package/Libraries/Pressability/Pressability.js +1 -1
  161. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +4 -0
  162. package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +1 -1
  163. package/Libraries/ReactNative/AppContainer-dev.js +3 -1
  164. package/Libraries/ReactNative/AppRegistry.flow.js +1 -0
  165. package/Libraries/ReactNative/AppRegistry.js +15 -11
  166. package/Libraries/ReactNative/AppRegistryImpl.js +57 -11
  167. package/Libraries/ReactNative/DisplayMode.js +1 -1
  168. package/Libraries/ReactNative/FabricUIManager.js +29 -26
  169. package/Libraries/ReactNative/I18nManager.js +20 -0
  170. package/Libraries/ReactNative/UIManager.js +53 -0
  171. package/Libraries/ReactNative/renderApplication.js +1 -1
  172. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +5 -126
  173. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js.flow +5 -41
  174. package/Libraries/Renderer/README.md +2 -2
  175. package/Libraries/Renderer/shims/ReactNativeTypes.js +36 -36
  176. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +4 -4
  177. package/Libraries/Required/RCTRequired.podspec +1 -1
  178. package/Libraries/Settings/React-RCTSettings.podspec +1 -1
  179. package/Libraries/Settings/Settings.ios.js +22 -0
  180. package/Libraries/Share/Share.js +25 -28
  181. package/Libraries/StyleSheet/PlatformColorValueTypes.js.flow +6 -0
  182. package/Libraries/StyleSheet/StyleSheet.js +42 -2
  183. package/Libraries/StyleSheet/StyleSheet.js.flow +1 -1
  184. package/Libraries/StyleSheet/StyleSheetExports.js +7 -5
  185. package/Libraries/StyleSheet/StyleSheetExports.js.flow +1 -1
  186. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +24 -3
  187. package/Libraries/StyleSheet/StyleSheetTypes.js +34 -6
  188. package/Libraries/StyleSheet/flattenStyle.js +28 -13
  189. package/Libraries/StyleSheet/private/_TransformStyle.js +16 -14
  190. package/Libraries/Text/React-RCTText.podspec +1 -1
  191. package/Libraries/Text/Text.js +12 -9
  192. package/Libraries/Text/TextEffectNativeComponent.js +31 -0
  193. package/Libraries/Text/TextInput/Multiline/RCTUITextView.mm +0 -1
  194. package/Libraries/Text/TextInput/RCTBackedTextInputViewProtocol.h +0 -1
  195. package/Libraries/Text/TextInput/Singleline/RCTUITextField.mm +0 -1
  196. package/Libraries/Text/TextProps.js +59 -93
  197. package/Libraries/Text/requireNativeTextEffect.js +28 -0
  198. package/Libraries/TurboModule/RCTExport.js +1 -1
  199. package/Libraries/TypeSafety/RCTTypeSafety.podspec +1 -1
  200. package/Libraries/Types/CoreEventTypes.d.ts +8 -0
  201. package/Libraries/Types/CoreEventTypes.js +32 -29
  202. package/Libraries/Types/UIManagerJSInterface.js +2 -2
  203. package/Libraries/Utilities/Appearance.d.ts +32 -17
  204. package/Libraries/Utilities/Appearance.js +35 -18
  205. package/Libraries/Utilities/BackHandler.android.js +13 -33
  206. package/Libraries/Utilities/BackHandler.js.flow +18 -2
  207. package/Libraries/Utilities/DevSettings.js +8 -1
  208. package/Libraries/Utilities/Dimensions.js +18 -12
  209. package/Libraries/Utilities/PixelRatio.js +5 -2
  210. package/Libraries/Utilities/Platform.js.flow +4 -0
  211. package/Libraries/Utilities/PlatformTypes.js +77 -0
  212. package/Libraries/Utilities/PolyfillFunctions.js +1 -1
  213. package/Libraries/Utilities/differ/deepDiffer.js +5 -2
  214. package/Libraries/Utilities/useColorScheme.js +11 -1
  215. package/Libraries/Utilities/useWindowDimensions.js +6 -0
  216. package/Libraries/Vibration/React-RCTVibration.podspec +1 -1
  217. package/Libraries/Vibration/Vibration.js +14 -11
  218. package/Libraries/vendor/emitter/EventEmitter.js +3 -3
  219. package/README-core.md +6 -6
  220. package/React/Base/RCTBridge+Private.h +0 -22
  221. package/React/Base/RCTBridge.h +10 -8
  222. package/React/Base/RCTBridge.mm +5 -447
  223. package/React/Base/RCTBridgeDelegate.h +1 -56
  224. package/React/Base/RCTBridgeModule.h +0 -9
  225. package/React/Base/RCTBridgeProxy.h +8 -0
  226. package/React/Base/RCTBridgeProxy.mm +3 -20
  227. package/React/Base/RCTBundleManager.h +0 -3
  228. package/React/Base/RCTBundleManager.m +0 -31
  229. package/React/Base/RCTBundleURLProvider.mm +4 -4
  230. package/React/Base/RCTCallableJSModules.m +0 -18
  231. package/React/Base/RCTConstants.h +1 -0
  232. package/React/Base/RCTConstants.m +1 -0
  233. package/React/Base/RCTConvert.mm +3 -0
  234. package/React/Base/RCTDisplayLink.h +3 -1
  235. package/React/Base/RCTJavaScriptExecutor.h +0 -69
  236. package/React/Base/RCTModuleData.mm +2 -483
  237. package/React/Base/RCTModuleRegistry.m +0 -25
  238. package/React/Base/RCTRootView.h +0 -11
  239. package/React/Base/RCTRootView.m +3 -461
  240. package/React/Base/RCTUtils.h +0 -3
  241. package/React/Base/RCTUtils.mm +17 -27
  242. package/React/Base/RCTVersion.m +2 -2
  243. package/React/Base/RCTViewRegistry.m +1 -29
  244. package/React/Base/Surface/RCTSurface.mm +1 -582
  245. package/React/Base/Surface/RCTSurfaceRootShadowView.m +0 -89
  246. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.mm +0 -1
  247. package/React/CoreModules/PlatformStubs/RCTStatusBarManager.mm +0 -2
  248. package/React/CoreModules/RCTAlertController.mm +1 -0
  249. package/React/CoreModules/RCTAlertManager.mm +0 -5
  250. package/React/CoreModules/RCTLogBox.mm +0 -11
  251. package/React/CoreModules/RCTLogBoxView.h +0 -3
  252. package/React/CoreModules/RCTLogBoxView.mm +0 -31
  253. package/React/CoreModules/RCTPerfMonitor.mm +0 -2
  254. package/React/CoreModules/RCTStatusBarManager.mm +0 -11
  255. package/React/CoreModules/React-CoreModules.podspec +1 -1
  256. package/React/CxxModule/RCTCxxUtils.h +0 -8
  257. package/React/CxxModule/RCTCxxUtils.mm +0 -17
  258. package/React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec-generated.mm +179 -7
  259. package/React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec.h +100 -2
  260. package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +373 -119
  261. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/ComponentDescriptors.cpp +1 -1
  262. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/ComponentDescriptors.h +1 -1
  263. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/EventEmitters.cpp +71 -71
  264. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/EventEmitters.h +96 -96
  265. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/Props.cpp +357 -363
  266. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/Props.h +211 -212
  267. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/RCTComponentViewHelpers.h +107 -107
  268. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/ShadowNodes.cpp +1 -1
  269. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/ShadowNodes.h +11 -11
  270. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/States.h +2 -2
  271. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropComponentView.h +4 -0
  272. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropComponentView.mm +4 -0
  273. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropCoordinatorAdapter.h +4 -0
  274. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropCoordinatorAdapter.mm +5 -0
  275. package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +0 -1
  276. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTEnhancedScrollView.mm +14 -0
  277. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +13 -4
  278. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTVirtualViewContainerState.mm +12 -26
  279. package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentView.mm +39 -4
  280. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +1 -1
  281. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +5 -5
  282. package/React/Fabric/Mounting/ComponentViews/VirtualView/RCTVirtualViewComponentView.mm +0 -18
  283. package/React/Fabric/Mounting/RCTComponentViewFactory.mm +9 -5
  284. package/React/Fabric/RCTSurfacePresenter.mm +86 -5
  285. package/React/Fabric/RCTSurfacePresenterBridgeAdapter.h +2 -0
  286. package/React/I18n/RCTLocalizedString.mm +38 -2
  287. package/React/Modules/RCTEventEmitter.m +30 -10
  288. package/React/Modules/RCTI18nUtil.m +3 -1
  289. package/React/Modules/RCTUIManager.mm +0 -1501
  290. package/React/React-RCTFBReactNativeSpec.podspec +2 -2
  291. package/React/React-RCTFabric.podspec +1 -1
  292. package/React/Runtime/React-RCTRuntime.podspec +1 -1
  293. package/React/Tests/Text/RCTAttributedTextUtilsTest.mm +27 -0
  294. package/React/Views/RCTModalHostViewController.h +0 -18
  295. package/React/Views/RCTModalHostViewManager.h +0 -24
  296. package/React/Views/RCTShadowView.h +0 -2
  297. package/React/Views/RCTShadowView.m +0 -723
  298. package/React/Views/RCTView.h +0 -19
  299. package/React/Views/RCTViewManager.m +0 -53
  300. package/React/Views/ScrollView/RCTScrollView.h +0 -92
  301. package/React/Views/ScrollView/RCTScrollableProtocol.h +0 -4
  302. package/React-Core-prebuilt.podspec +45 -17
  303. package/React-Core.podspec +10 -3
  304. package/React.podspec +1 -1
  305. package/ReactAndroid/api/ReactAndroid.api +128 -142
  306. package/ReactAndroid/build.gradle.kts +27 -22
  307. package/ReactAndroid/external-artifacts/build.gradle.kts +49 -0
  308. package/ReactAndroid/gradle.properties +1 -1
  309. package/ReactAndroid/hermes-engine/build.gradle.kts +19 -20
  310. package/ReactAndroid/publish.gradle +5 -5
  311. package/ReactAndroid/src/debug/AndroidManifest.xml +6 -0
  312. package/ReactAndroid/src/debugOptimized/AndroidManifest.xml +22 -0
  313. package/ReactAndroid/src/main/java/com/facebook/react/BaseReactPackage.kt +3 -7
  314. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +4 -2
  315. package/ReactAndroid/src/main/java/com/facebook/react/ReactDelegate.kt +4 -6
  316. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +0 -3
  317. package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.kt +212 -0
  318. package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +0 -16
  319. package/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.kt +6 -1
  320. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Arguments.kt +1 -0
  321. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BridgeReactContext.kt +287 -0
  322. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ColorPropConverter.kt +16 -0
  323. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +15 -2
  324. package/ReactAndroid/src/main/java/com/facebook/react/bridge/interop/InteropModuleRegistry.kt +1 -3
  325. package/ReactAndroid/src/main/java/com/facebook/react/common/build/ReactBuildConfig.kt +4 -0
  326. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/MapBuffer.kt +50 -2
  327. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.kt +63 -22
  328. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/WritableMapBuffer.kt +33 -0
  329. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultNewArchitectureEntryPoint.kt +4 -12
  330. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactActivityDelegate.kt +14 -10
  331. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactNativeHost.kt +6 -6
  332. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BundleDownloader.kt +50 -47
  333. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/CxxInspectorPackagerConnection.kt +1 -1
  334. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.kt +0 -4
  335. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.kt +10 -10
  336. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LocalNetworkPermissionUtil.kt +49 -0
  337. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/MultipartStreamReader.kt +101 -26
  338. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +40 -38
  339. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManagerBinding.kt +1 -10
  340. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManagerProviderImpl.kt +0 -3
  341. package/ReactAndroid/src/main/java/com/facebook/react/fabric/ViewTransitionSnapshotManager.kt +15 -11
  342. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.kt +4 -4
  343. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.kt +7 -13
  344. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.kt +160 -187
  345. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SynchronousMountItem.kt +12 -8
  346. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +30 -66
  347. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +51 -111
  348. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +11 -23
  349. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +12 -24
  350. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +57 -123
  351. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Canary_Android.kt +7 -5
  352. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Experimental_Android.kt +3 -5
  353. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +11 -23
  354. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeNewArchitectureFeatureFlags.kt +0 -24
  355. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeNewArchitectureFeatureFlagsDefaults.kt +0 -4
  356. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.kt +1 -0
  357. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.kt +2 -2
  358. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/TimingModule.kt +3 -0
  359. package/ReactAndroid/src/main/java/com/facebook/react/modules/image/ImageLoaderModule.kt +50 -0
  360. package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.kt +1 -1
  361. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkEventUtil.kt +53 -3
  362. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.kt +2 -2
  363. package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/StatusBarModule.kt +2 -77
  364. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +2 -2
  365. package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/WebSocketModule.kt +2 -2
  366. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessCatalystInstance.kt +1 -1
  367. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessReactContext.kt +9 -4
  368. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.kt +4 -19
  369. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.kt +2 -6
  370. package/ReactAndroid/src/main/java/com/facebook/react/touch/ReactInterceptingViewGroup.kt +4 -4
  371. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +47 -10
  372. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/DisplayMetricsHolder.kt +1 -49
  373. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/HasChildPressedStateDelay.kt +29 -0
  374. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSPointerDispatcher.kt +796 -0
  375. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSTouchDispatcher.kt +2 -4
  376. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.kt +27 -27
  377. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.kt +184 -0
  378. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNode.kt +486 -0
  379. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNodeImpl.java +8 -8
  380. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ShadowNodeRegistry.kt +2 -2
  381. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/SkewMatrixHelper.kt +200 -0
  382. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ThemedReactContext.kt +3 -0
  383. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.kt +6 -1
  384. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TransformHelper.kt +2 -2
  385. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIBlock.kt +7 -1
  386. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.kt +645 -0
  387. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstantsHelper.kt +2 -3
  388. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.kt +142 -0
  389. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupManager.kt +0 -10
  390. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManager.java +3 -3
  391. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagersPropertyCache.kt +527 -0
  392. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewProps.kt +3 -1
  393. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderRadiusStyle.kt +6 -6
  394. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/ColorStop.kt +6 -0
  395. package/ReactAndroid/src/main/java/com/facebook/react/util/AndroidVersion.kt +7 -0
  396. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayout.kt +8 -1
  397. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.kt +0 -3
  398. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt +2 -0
  399. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ReactProgressBarViewManager.kt +4 -4
  400. package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaView.kt +2 -0
  401. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.kt +1729 -0
  402. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.kt +15 -15
  403. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactNestedScrollView.kt +1297 -0
  404. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactNestedScrollViewManager.kt +14 -14
  405. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.kt +1392 -0
  406. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.kt +15 -15
  407. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VirtualViewContainer.kt +19 -33
  408. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VirtualViewContainerStateClassic.kt +8 -6
  409. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VirtualViewContainerStateExperimental.kt +4 -4
  410. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/generate-nested-scroll-view.js +13 -20
  411. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/ReactSwipeRefreshLayout.kt +7 -1
  412. package/ReactAndroid/src/main/java/com/facebook/react/views/text/MutableSpannableLayout.kt +107 -0
  413. package/ReactAndroid/src/main/java/com/facebook/react/views/text/PreparedLayoutTextView.kt +122 -10
  414. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +92 -2
  415. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.kt +3 -0
  416. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTypefaceUtils.kt +41 -0
  417. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.kt +48 -2
  418. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextDecorationStyle.kt +200 -0
  419. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextEffectRegistry.kt +45 -0
  420. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextEffectSpanFactory.kt +17 -0
  421. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.kt +361 -15
  422. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/AnimatedEffectSpan.kt +37 -0
  423. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/{DrawCommandSpan.kt → CanvasEffectSpan.kt} +3 -4
  424. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/CustomStyleSpan.kt +23 -3
  425. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactStrikethroughSpan.kt +30 -3
  426. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactUnderlineSpan.kt +25 -3
  427. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/SetSpanOperation.kt +1 -1
  428. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/StatefulSpan.kt +21 -0
  429. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/TextEffectSpan.kt +19 -0
  430. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/TouchableSpan.kt +29 -0
  431. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.kt +83 -11
  432. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.kt +6 -2
  433. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextSelectionWatcher.kt +1 -1
  434. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.kt +3 -17
  435. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.kt +8 -0
  436. package/ReactAndroid/src/main/java/com/facebook/react/views/view/WindowUtil.kt +2 -0
  437. package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/VirtualViewRenderState.kt +1 -1
  438. package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/view/ReactVirtualView.kt +7 -8
  439. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaAlign.kt +45 -0
  440. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaBoxSizing.kt +27 -0
  441. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfig.kt +15 -0
  442. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfigJNIBase.kt +6 -0
  443. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDimension.kt +27 -0
  444. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDisplay.kt +31 -0
  445. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaEdge.kt +41 -0
  446. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaErrata.kt +37 -0
  447. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaExperimentalFeature.kt +27 -0
  448. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaFlexDirection.kt +31 -0
  449. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaGridTrackType.kt +33 -0
  450. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaGutter.kt +29 -0
  451. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaJustify.kt +43 -0
  452. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaLogLevel.kt +39 -0
  453. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaMeasureMode.kt +29 -0
  454. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNative.kt +16 -0
  455. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNode.kt +12 -2
  456. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.kt +762 -0
  457. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIFinalizer.kt +4 -4
  458. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeType.kt +27 -0
  459. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaOverflow.kt +29 -0
  460. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaPositionType.kt +29 -0
  461. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaProps.kt +24 -2
  462. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaUnit.kt +37 -0
  463. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaWrap.kt +29 -0
  464. package/ReactAndroid/src/main/jni/CMakeLists.txt +1 -2
  465. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNIVanilla.cpp +94 -0
  466. package/ReactAndroid/src/main/jni/react/devsupport/JCxxInspectorPackagerConnectionDelegateImpl.cpp +3 -0
  467. package/ReactAndroid/src/main/jni/react/fabric/AndroidAnimationChoreographer.h +10 -10
  468. package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.cpp +3 -0
  469. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.cpp +12 -15
  470. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.h +1 -3
  471. package/ReactAndroid/src/main/jni/react/fabric/test/FabricMountingManagerTest.cpp +159 -0
  472. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +69 -153
  473. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +15 -33
  474. package/ReactAndroid/src/main/jni/react/jni/JReactMarker.cpp +10 -24
  475. package/ReactAndroid/src/main/jni/react/jni/JReactMarker.h +0 -2
  476. package/ReactAndroid/src/main/jni/react/mapbuffer/react/common/mapbuffer/JWritableMapBuffer.cpp +13 -0
  477. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactInstance.cpp +4 -1
  478. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.cpp +8 -0
  479. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.h +4 -0
  480. package/ReactAndroid/src/main/res/views/uimanager/values/ids.xml +5 -0
  481. package/ReactAndroid/src/main/res/views/uimanager/values-zu/strings.xml +3 -0
  482. package/ReactApple/Libraries/RCTFoundation/RCTDeprecation/RCTDeprecation.podspec +1 -1
  483. package/ReactApple/RCTAnimatedModuleProvider/React-RCTAnimatedModuleProvider.podspec +63 -0
  484. package/ReactApple/RCTSwiftUI/RCTSwiftUI.podspec +1 -1
  485. package/ReactApple/RCTSwiftUIWrapper/RCTSwiftUIWrapper.podspec +1 -1
  486. package/ReactCommon/React-Fabric.podspec +3 -1
  487. package/ReactCommon/React-FabricComponents.podspec +1 -1
  488. package/ReactCommon/React-FabricImage.podspec +1 -1
  489. package/ReactCommon/React-Mapbuffer.podspec +1 -1
  490. package/ReactCommon/ReactCommon.podspec +3 -13
  491. package/ReactCommon/callinvoker/React-callinvoker.podspec +1 -1
  492. package/ReactCommon/cmake-utils/react-native-flags.cmake +1 -3
  493. package/ReactCommon/cxxreact/CMakeLists.txt +1 -0
  494. package/ReactCommon/cxxreact/ErrorUtils.h +2 -32
  495. package/ReactCommon/cxxreact/Instance.cpp +1 -26
  496. package/ReactCommon/cxxreact/Instance.h +0 -2
  497. package/ReactCommon/cxxreact/NativeToJsBridge.cpp +3 -2
  498. package/ReactCommon/cxxreact/RAMBundleRegistry.cpp +0 -12
  499. package/ReactCommon/cxxreact/RAMBundleRegistry.h +0 -5
  500. package/ReactCommon/cxxreact/React-cxxreact.podspec +3 -2
  501. package/ReactCommon/cxxreact/ReactMarker.cpp +4 -30
  502. package/ReactCommon/cxxreact/ReactMarker.h +38 -21
  503. package/ReactCommon/cxxreact/ReactNativeVersion.h +4 -4
  504. package/ReactCommon/cxxreact/TraceSection.h +1 -1
  505. package/ReactCommon/cxxreact/tests/methodcall.cpp +4 -0
  506. package/ReactCommon/hermes/React-hermes.podspec +1 -1
  507. package/ReactCommon/hermes/executor/HermesExecutorFactory.cpp +6 -79
  508. package/ReactCommon/hermes/executor/React-jsitracing.podspec +1 -1
  509. package/ReactCommon/jserrorhandler/ErrorUtils.cpp +42 -0
  510. package/{React/CxxLogUtils/RCTDefaultCxxLogFunction.h → ReactCommon/jserrorhandler/ErrorUtils.h} +2 -2
  511. package/ReactCommon/jserrorhandler/JsErrorHandler.cpp +1 -1
  512. package/ReactCommon/jserrorhandler/React-jserrorhandler.podspec +3 -4
  513. package/ReactCommon/jsi/React-jsi.podspec +1 -1
  514. package/ReactCommon/jsi/jsi/hermes-interfaces.h +53 -0
  515. package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +3 -2
  516. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp +3 -14
  517. package/ReactCommon/jsiexecutor/jsireact/JSINativeModules.cpp +4 -13
  518. package/ReactCommon/jsinspector-modern/HostAgent.cpp +54 -0
  519. package/ReactCommon/jsinspector-modern/HostTarget.h +0 -7
  520. package/ReactCommon/jsinspector-modern/HostTargetTraceRecording.cpp +10 -7
  521. package/ReactCommon/jsinspector-modern/InspectorPackagerConnection.cpp +4 -1
  522. package/ReactCommon/jsinspector-modern/React-jsinspector.podspec +1 -1
  523. package/ReactCommon/jsinspector-modern/RuntimeAgent.cpp +7 -0
  524. package/ReactCommon/jsinspector-modern/RuntimeTarget.cpp +20 -0
  525. package/ReactCommon/jsinspector-modern/RuntimeTarget.h +16 -0
  526. package/ReactCommon/jsinspector-modern/SessionState.h +31 -0
  527. package/ReactCommon/jsinspector-modern/cdp/React-jsinspectorcdp.podspec +1 -1
  528. package/ReactCommon/jsinspector-modern/network/React-jsinspectornetwork.podspec +1 -1
  529. package/ReactCommon/jsinspector-modern/tests/HostTargetTest.cpp +53 -0
  530. package/ReactCommon/jsinspector-modern/tracing/HostTracingProfile.h +14 -1
  531. package/ReactCommon/jsinspector-modern/tracing/React-jsinspectortracing.podspec +1 -1
  532. package/ReactCommon/jsinspector-modern/tracing/TraceRecordingState.h +11 -0
  533. package/ReactCommon/jsitooling/React-jsitooling.podspec +1 -1
  534. package/ReactCommon/logger/React-logger.podspec +1 -1
  535. package/ReactCommon/oscompat/React-oscompat.podspec +1 -1
  536. package/ReactCommon/react/bridging/ArrayBuffer.h +180 -0
  537. package/ReactCommon/react/bridging/Bridging.h +1 -0
  538. package/ReactCommon/react/bridging/Convert.h +12 -0
  539. package/ReactCommon/react/bridging/React-bridging.podspec +44 -0
  540. package/ReactCommon/react/bridging/tests/BridgingTest.cpp +185 -11
  541. package/ReactCommon/react/bridging/tests/ClassTest.cpp +22 -0
  542. package/ReactCommon/react/cxxstableapi/CMakeLists.txt +18 -0
  543. package/ReactCommon/react/cxxstableapi/FrameworksGuard.h +35 -0
  544. package/ReactCommon/react/cxxstableapi/PrivateGuard.h +34 -0
  545. package/ReactCommon/react/cxxstableapi/React-cxxstableapi.podspec +34 -0
  546. package/ReactCommon/react/cxxstableapi/UmbrellaGuard.h +53 -0
  547. package/ReactCommon/react/debug/React-debug.podspec +1 -1
  548. package/ReactCommon/react/debug/redbox/JscSafeUrl.h +1 -1
  549. package/ReactCommon/react/featureflags/React-featureflags.podspec +1 -1
  550. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +21 -45
  551. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +26 -56
  552. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +134 -242
  553. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +14 -26
  554. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +20 -44
  555. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +43 -97
  556. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSCanary.h +10 -6
  557. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSExperimental.h +3 -7
  558. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSStable.h +0 -8
  559. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +7 -13
  560. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModule.h +1 -0
  561. package/ReactCommon/react/nativemodule/core/iostests/RCTTurboModuleTests.mm +49 -0
  562. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaInteropTurboModule.cpp +4 -0
  563. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaInteropTurboModule.h +4 -0
  564. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +2 -2
  565. package/ReactCommon/react/nativemodule/core/platform/ios/React-NativeModulesApple.podspec +2 -2
  566. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.h +4 -0
  567. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.mm +5 -1
  568. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +61 -4
  569. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.h +0 -9
  570. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.mm +37 -139
  571. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleWithJSIBindings.h +0 -3
  572. package/ReactCommon/react/nativemodule/defaults/DefaultTurboModules.cpp +6 -0
  573. package/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec +1 -1
  574. package/ReactCommon/react/nativemodule/dom/NativeDOM.cpp +10 -4
  575. package/ReactCommon/react/nativemodule/dom/React-domnativemodule.podspec +2 -1
  576. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +25 -55
  577. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +11 -23
  578. package/ReactCommon/react/nativemodule/featureflags/React-featureflagsnativemodule.podspec +1 -1
  579. package/ReactCommon/react/nativemodule/idlecallbacks/React-idlecallbacksnativemodule.podspec +2 -1
  580. package/ReactCommon/react/nativemodule/intersectionobserver/React-intersectionobservernativemodule.podspec +2 -1
  581. package/ReactCommon/react/nativemodule/microtasks/React-microtasksnativemodule.podspec +1 -1
  582. package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.cpp +4 -0
  583. package/ReactCommon/react/nativemodule/mutationobserver/React-mutationobservernativemodule.podspec +2 -1
  584. package/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec +1 -1
  585. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboModule.h +1 -1
  586. package/ReactCommon/react/nativemodule/viewtransition/React-viewtransitionnativemodule.podspec +1 -1
  587. package/ReactCommon/react/nativemodule/webperformance/React-webperformancenativemodule.podspec +2 -1
  588. package/ReactCommon/react/networking/React-networking.podspec +1 -1
  589. package/ReactCommon/react/performance/cdpmetrics/React-performancecdpmetrics.podspec +1 -1
  590. package/ReactCommon/react/performance/timeline/React-performancetimeline.podspec +1 -1
  591. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.cpp +95 -63
  592. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.h +20 -1
  593. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManagerProvider.cpp +7 -10
  594. package/ReactCommon/react/renderer/animated/drivers/FrameAnimationDriver.cpp +20 -1
  595. package/ReactCommon/react/renderer/animated/drivers/FrameAnimationDriver.h +1 -0
  596. package/ReactCommon/react/renderer/animated/internal/primitives.h +1 -1
  597. package/ReactCommon/react/renderer/animated/nodes/InterpolationAnimatedNode.cpp +67 -6
  598. package/ReactCommon/react/renderer/animated/nodes/InterpolationAnimatedNode.h +12 -0
  599. package/ReactCommon/react/renderer/animated/nodes/PropsAnimatedNode.cpp +25 -13
  600. package/ReactCommon/react/renderer/animated/nodes/PropsAnimatedNode.h +7 -0
  601. package/ReactCommon/react/renderer/animated/tests/AnimationDriverTests.cpp +48 -0
  602. package/ReactCommon/react/renderer/animated/tests/DecayAnimationDriverTest.cpp +245 -0
  603. package/ReactCommon/react/renderer/animated/tests/ManagedPropsMountingOverrideTests.cpp +204 -0
  604. package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.cpp +10 -1
  605. package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.h +1 -0
  606. package/ReactCommon/react/renderer/animationbackend/AnimationBackend.cpp +17 -0
  607. package/ReactCommon/react/renderer/animations/tests/LayoutAnimationTest.cpp +0 -2
  608. package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +6 -2
  609. package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +25 -1
  610. package/ReactCommon/react/renderer/attributedstring/conversions.h +29 -1
  611. package/ReactCommon/react/renderer/attributedstring/primitives.h +4 -2
  612. package/ReactCommon/react/renderer/attributedstring/tests/ParagraphAttributesTest.cpp +73 -0
  613. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +6 -0
  614. package/ReactCommon/react/renderer/components/image/ImageProps.cpp +79 -126
  615. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropShadowNode.cpp +4 -0
  616. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropShadowNode.h +4 -0
  617. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropState.h +4 -0
  618. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropViewProps.cpp +5 -0
  619. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropViewProps.h +4 -0
  620. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/UnstableLegacyViewManagerAutomaticComponentDescriptor.cpp +5 -0
  621. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/UnstableLegacyViewManagerAutomaticComponentDescriptor.h +4 -0
  622. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/UnstableLegacyViewManagerAutomaticShadowNode.cpp +4 -0
  623. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/UnstableLegacyViewManagerAutomaticShadowNode.h +4 -0
  624. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/UnstableLegacyViewManagerInteropComponentDescriptor.h +4 -0
  625. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/platform/ios/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.h +4 -0
  626. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/platform/ios/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.mm +5 -0
  627. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/platform/ios/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.h +4 -0
  628. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/platform/ios/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.mm +5 -0
  629. package/ReactCommon/react/renderer/components/scrollview/BaseScrollViewProps.cpp +253 -379
  630. package/ReactCommon/react/renderer/components/scrollview/platform/android/react/renderer/components/scrollview/HostPlatformScrollViewProps.cpp +36 -55
  631. package/ReactCommon/react/renderer/components/text/BaseParagraphProps.cpp +17 -27
  632. package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +8 -10
  633. package/ReactCommon/react/renderer/components/text/BaseTextShadowNode.cpp +19 -0
  634. package/ReactCommon/react/renderer/components/text/TextEffectComponentDescriptor.h +17 -0
  635. package/ReactCommon/react/renderer/components/text/TextEffectProps.cpp +59 -0
  636. package/ReactCommon/react/renderer/components/text/TextEffectProps.h +30 -0
  637. package/{Libraries/Text/VirtualText/RCTVirtualTextView.mm → ReactCommon/react/renderer/components/text/TextEffectShadowNode.cpp} +4 -6
  638. package/ReactCommon/react/renderer/components/text/TextEffectShadowNode.h +26 -0
  639. package/ReactCommon/react/renderer/components/text/platform/android/react/renderer/components/text/HostPlatformParagraphProps.cpp +18 -28
  640. package/ReactCommon/react/renderer/components/text/tests/BaseTextShadowNodeTest.cpp +15 -0
  641. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputProps.cpp +42 -50
  642. package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +168 -754
  643. package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +0 -9
  644. package/ReactCommon/react/renderer/components/view/BaseViewProps.cpp +262 -326
  645. package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +0 -6
  646. package/ReactCommon/react/renderer/components/view/ViewShadowNode.h +2 -12
  647. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +73 -27
  648. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.h +7 -9
  649. package/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +3 -11
  650. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.cpp +94 -180
  651. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.h +2 -2
  652. package/ReactCommon/react/renderer/components/view/primitives.h +5 -0
  653. package/ReactCommon/react/renderer/components/view/propsConversions.h +74 -42
  654. package/ReactCommon/react/renderer/components/view/tests/LayoutTest.cpp +5 -5
  655. package/ReactCommon/react/renderer/components/view/tests/ViewTest.cpp +353 -6
  656. package/ReactCommon/react/renderer/consistency/React-rendererconsistency.podspec +1 -1
  657. package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +41 -16
  658. package/ReactCommon/react/renderer/core/ConcreteShadowNode.h +19 -0
  659. package/ReactCommon/react/renderer/core/EventEmitter.cpp +20 -4
  660. package/ReactCommon/react/renderer/core/LayoutMetrics.h +3 -0
  661. package/ReactCommon/react/renderer/core/Props.cpp +8 -39
  662. package/ReactCommon/react/renderer/core/Props.h +63 -13
  663. package/ReactCommon/react/renderer/core/RawProps.cpp +20 -3
  664. package/ReactCommon/react/renderer/core/RawProps.h +44 -0
  665. package/ReactCommon/react/renderer/core/RawPropsKeyMap.cpp +11 -27
  666. package/ReactCommon/react/renderer/core/RawPropsKeyMap.h +3 -3
  667. package/ReactCommon/react/renderer/core/RawPropsParser.cpp +4 -6
  668. package/ReactCommon/react/renderer/core/RawPropsParser.h +3 -3
  669. package/ReactCommon/react/renderer/core/StateData.h +4 -4
  670. package/ReactCommon/react/renderer/core/propsConversions.h +3 -7
  671. package/ReactCommon/react/renderer/core/tests/ComponentDescriptorTest.cpp +8 -0
  672. package/ReactCommon/react/renderer/core/tests/FindNodeAtPointTest.cpp +7 -7
  673. package/ReactCommon/react/renderer/core/tests/LayoutableShadowNodeTest.cpp +19 -19
  674. package/ReactCommon/react/renderer/core/tests/PropsConceptsTest.cpp +135 -0
  675. package/ReactCommon/react/renderer/core/tests/RawPropsTest.cpp +43 -53
  676. package/ReactCommon/react/renderer/css/React-renderercss.podspec +1 -1
  677. package/ReactCommon/react/renderer/debug/React-rendererdebug.podspec +1 -1
  678. package/ReactCommon/react/renderer/element/tests/ElementTest.cpp +3 -3
  679. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +1 -1
  680. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/conversions.h +17 -0
  681. package/ReactCommon/react/renderer/imagemanager/platform/ios/React-ImageManager.podspec +1 -1
  682. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTSyncImageManager.mm +1 -1
  683. package/ReactCommon/react/renderer/mapbuffer/MapBuffer.cpp +123 -33
  684. package/ReactCommon/react/renderer/mapbuffer/MapBuffer.h +26 -14
  685. package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.cpp +96 -53
  686. package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.h +4 -0
  687. package/ReactCommon/react/renderer/mapbuffer/tests/MapBufferTest.cpp +96 -1
  688. package/ReactCommon/react/renderer/mounting/Differentiator.cpp +29 -318
  689. package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +105 -33
  690. package/ReactCommon/react/renderer/mounting/ShadowTree.h +2 -0
  691. package/ReactCommon/react/renderer/mounting/internal/CullingContext.cpp +1 -1
  692. package/ReactCommon/react/renderer/mounting/tests/DifferentiatorUnflattenTest.cpp +11 -3
  693. package/ReactCommon/react/renderer/mounting/tests/OrderIndexTest.cpp +1 -1
  694. package/ReactCommon/react/renderer/mounting/tests/ShadowTreeLifeCycleTest.cpp +15 -250
  695. package/ReactCommon/react/renderer/mounting/tests/ShadowTreeReactBranchingTest.cpp +141 -0
  696. package/ReactCommon/react/renderer/mounting/tests/StackingContextTest.cpp +1 -1
  697. package/ReactCommon/react/renderer/runtimescheduler/CMakeLists.txt +1 -0
  698. package/ReactCommon/react/renderer/runtimescheduler/React-runtimescheduler.podspec +2 -1
  699. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +22 -2
  700. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h +13 -2
  701. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Legacy.cpp +13 -0
  702. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Legacy.h +9 -0
  703. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.cpp +43 -5
  704. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.h +17 -1
  705. package/ReactCommon/react/renderer/runtimescheduler/Task.h +4 -0
  706. package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +113 -8
  707. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +14 -6
  708. package/ReactCommon/react/renderer/scheduler/Scheduler.h +3 -2
  709. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp +1 -85
  710. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.h +0 -6
  711. package/ReactCommon/react/renderer/scheduler/tests/SchedulerDelegateInvalidationTest.cpp +671 -0
  712. package/ReactCommon/react/renderer/textlayoutmanager/TextMeasureCache.h +22 -5
  713. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +4 -2
  714. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.h +11 -0
  715. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.mm +65 -26
  716. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +193 -1
  717. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextPrimitivesConversions.h +14 -2
  718. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.mm +2 -1
  719. package/ReactCommon/react/renderer/textlayoutmanager/tests/TextLayoutManagerTest.cpp +86 -5
  720. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +31 -41
  721. package/ReactCommon/react/renderer/uimanager/UIManager.h +2 -2
  722. package/ReactCommon/react/renderer/uimanager/UIManagerDelegate.h +1 -1
  723. package/ReactCommon/react/renderer/uimanager/tests/FindShadowNodeByTagTest.cpp +1 -52
  724. package/ReactCommon/react/renderer/uimanager/tests/PointerEventsProcessorTest.cpp +4 -4
  725. package/ReactCommon/react/renderer/viewtransition/ViewTransitionModule.cpp +88 -39
  726. package/ReactCommon/react/renderer/viewtransition/ViewTransitionModule.h +12 -2
  727. package/ReactCommon/react/runtime/PlatformTimerRegistry.h +10 -0
  728. package/ReactCommon/react/runtime/React-RuntimeCore.podspec +1 -1
  729. package/ReactCommon/react/runtime/React-RuntimeHermes.podspec +1 -1
  730. package/ReactCommon/react/runtime/ReactInstance.cpp +79 -64
  731. package/ReactCommon/react/runtime/hermes/HermesInstance.cpp +0 -89
  732. package/ReactCommon/react/runtime/iostests/MainQueueCoordinatorTests.mm +99 -0
  733. package/ReactCommon/react/runtime/iostests/RCTInstanceTests.mm +244 -0
  734. package/ReactCommon/react/runtime/platform/ios/React-RuntimeApple.podspec +1 -1
  735. package/ReactCommon/react/runtime/platform/ios/ReactCommon/ObjCTimerRegistry.h +1 -1
  736. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.mm +47 -30
  737. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTJscInstance.mm +3 -2
  738. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTPerformanceLoggerUtils.mm +3 -2
  739. package/ReactCommon/react/runtime/tests/cxx/ReactInstanceTest.cpp +27 -3
  740. package/ReactCommon/react/runtime/tests/cxx/RuntimeExecutorShutdownTest.cpp +155 -0
  741. package/ReactCommon/react/timing/React-timing.podspec +1 -1
  742. package/ReactCommon/react/utils/React-utils.podspec +1 -1
  743. package/ReactCommon/react/utils/Telemetry.h +0 -13
  744. package/ReactCommon/react/utils/tests/Base64Tests.cpp +36 -0
  745. package/ReactCommon/reactperflogger/React-perflogger.podspec +1 -1
  746. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfettoLogger.cpp +0 -1
  747. package/ReactCommon/runtimeexecutor/React-runtimeexecutor.podspec +1 -1
  748. package/ReactCommon/runtimeexecutor/platform/ios/ReactCommon/RuntimeExecutorSyncUIThreadUtils.mm +21 -38
  749. package/ReactCommon/yoga/Yoga.podspec +2 -2
  750. package/ReactCommon/yoga/yoga/YGEnums.cpp +2 -0
  751. package/ReactCommon/yoga/yoga/YGEnums.h +1 -0
  752. package/ReactCommon/yoga/yoga/YGNode.cpp +27 -0
  753. package/ReactCommon/yoga/yoga/YGNode.h +69 -0
  754. package/ReactCommon/yoga/yoga/YGNodeLayout.h +0 -2
  755. package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.cpp +283 -10
  756. package/ReactCommon/yoga/yoga/config/Config.h +1 -1
  757. package/ReactCommon/yoga/yoga/enums/Errata.h +1 -0
  758. package/ReactCommon/yoga/yoga/node/LayoutResults.h +8 -0
  759. package/ReactCommon/yoga/yoga/node/Node.cpp +32 -0
  760. package/ReactCommon/yoga/yoga/node/Node.h +33 -0
  761. package/cli.js +3 -182
  762. package/flow/bom.js.flow +42 -42
  763. package/flow/cssom.js.flow +21 -21
  764. package/flow/dom.js.flow +128 -128
  765. package/flow/global.js +6 -0
  766. package/gradle/libs.versions.toml +7 -5
  767. package/index.js +53 -86
  768. package/index.js.flow +53 -23
  769. package/package.json +39 -50
  770. package/react-native.config.js +82 -1
  771. package/scripts/cocoapods/fabric.rb +1 -1
  772. package/scripts/cocoapods/jsengine.rb +1 -1
  773. package/scripts/cocoapods/new_architecture.rb +1 -1
  774. package/scripts/cocoapods/rncore.rb +36 -78
  775. package/scripts/cocoapods/rncore_facades.rb +232 -0
  776. package/scripts/cocoapods/rndependencies.rb +64 -3
  777. package/scripts/cocoapods/rndeps_facades.rb +193 -0
  778. package/scripts/cocoapods/spm.rb +79 -12
  779. package/scripts/cocoapods/utils.rb +7 -9
  780. package/scripts/codegen/generate-artifacts-executor/generateSchemaInfos.js +0 -1
  781. package/scripts/codegen/templates/Package.swift.spm-template +97 -0
  782. package/scripts/codegen/templates/ReactAppDependencyProvider.podspec.template +1 -1
  783. package/scripts/codegen/templates/ReactCodegen.podspec.template +2 -2
  784. package/scripts/hermes/hermes-utils.js +27 -58
  785. package/scripts/ios-configure-glog.sh +1 -1
  786. package/scripts/react-native-xcode.sh +20 -0
  787. package/scripts/react_native_pods.rb +71 -21
  788. package/scripts/react_native_pods_utils/script_phases.sh +4 -3
  789. package/scripts/replace-rncore-version.js +57 -86
  790. package/scripts/setup-apple-spm.js +1267 -0
  791. package/scripts/spm/__doc__/rfc-spm-xcframework.md +707 -0
  792. package/scripts/spm/__doc__/spm-autolinking-plugins.md +244 -0
  793. package/scripts/spm/__doc__/spm-header-paths-contract.md +97 -0
  794. package/scripts/spm/__doc__/spm-plugins-assessment.md +128 -0
  795. package/scripts/spm/__doc__/spm-scripts.md +486 -0
  796. package/scripts/spm/autolinking-plugins.js +331 -0
  797. package/scripts/spm/download-spm-artifacts.js +1409 -0
  798. package/scripts/spm/expand-spm-dependencies.js +216 -0
  799. package/scripts/spm/flavored-frameworks.js +1008 -0
  800. package/scripts/spm/generate-spm-autolinking-config.js +221 -0
  801. package/scripts/spm/generate-spm-autolinking.js +1888 -0
  802. package/scripts/spm/generate-spm-package.js +302 -0
  803. package/scripts/spm/generate-spm-xcodeproj.js +2266 -0
  804. package/scripts/spm/read-podspec.js +695 -0
  805. package/scripts/spm/scaffold-package-swift.js +1206 -0
  806. package/scripts/spm/spm-pbxproj.js +654 -0
  807. package/scripts/spm/spm-types.js +520 -0
  808. package/scripts/spm/spm-utils.js +645 -0
  809. package/scripts/spm/sync-spm-autolinking.js +160 -0
  810. package/sdks/.hermesv1version +1 -1
  811. package/sdks/hermes-engine/hermes-engine.podspec +9 -39
  812. package/sdks/hermes-engine/hermes-utils.rb +20 -74
  813. package/sdks/hermes-engine/utils/replace_hermes_version.js +18 -4
  814. package/sdks/hermes-engine/version.properties +1 -2
  815. package/settings.gradle.kts +0 -43
  816. package/src/asset-registry.js +29 -0
  817. package/src/private/animated/NativeAnimatedHelper.js +45 -21
  818. package/src/private/assets/AssetRegistry.js +52 -0
  819. package/src/private/{specs_DEPRECATED/components → components/activityindicator/specs}/ActivityIndicatorViewNativeComponent.js +5 -5
  820. package/src/private/{specs_DEPRECATED/components → components/debuggingoverlay/specs}/DebuggingOverlayNativeComponent.js +8 -8
  821. package/src/private/{specs_DEPRECATED/components → components/drawerlayoutandroid/specs}/AndroidDrawerLayoutNativeComponent.js +8 -8
  822. package/src/private/{specs_DEPRECATED/components → components/inputaccessoryview/specs}/RCTInputAccessoryViewNativeComponent.js +4 -4
  823. package/src/private/{specs_DEPRECATED/components → components/modal/specs}/RCTModalHostViewNativeComponent.js +4 -9
  824. package/src/private/{specs_DEPRECATED/components → components/progressbarandroid/specs}/ProgressBarAndroidNativeComponent.js +5 -5
  825. package/src/private/{specs_DEPRECATED/components → components/refreshcontrol/specs}/AndroidSwipeRefreshLayoutNativeComponent.js +7 -7
  826. package/src/private/{specs_DEPRECATED/components → components/refreshcontrol/specs}/PullToRefreshViewNativeComponent.js +7 -7
  827. package/src/private/components/safeareaview/SafeAreaView_INTERNAL_DO_NOT_USE.js +2 -2
  828. package/src/private/{specs_DEPRECATED/components → components/safeareaview/specs}/RCTSafeAreaViewNativeComponent.js +3 -3
  829. package/src/private/components/scrollview/HScrollViewNativeComponents.js +1 -1
  830. package/src/private/{specs_DEPRECATED/components → components/scrollview/specs}/AndroidHorizontalScrollContentViewNativeComponent.js +3 -3
  831. package/src/private/{specs_DEPRECATED/components → components/switch/specs}/AndroidSwitchNativeComponent.js +7 -7
  832. package/src/private/{specs_DEPRECATED/components → components/switch/specs}/SwitchNativeComponent.js +10 -7
  833. package/src/private/{specs_DEPRECATED/components → components/unimplementedview/specs}/UnimplementedNativeViewNativeComponent.js +4 -4
  834. package/src/private/components/virtualcollection/Virtual.js +5 -5
  835. package/src/private/components/virtualcollection/VirtualCollectionView.js +2 -6
  836. package/src/private/components/virtualcollection/column/VirtualColumn.js +1 -1
  837. package/src/private/components/virtualcollection/row/VirtualRow.js +1 -1
  838. package/src/private/devsupport/devmenu/elementinspector/Inspector.js +3 -1
  839. package/src/private/devsupport/devmenu/specs/NativeDevMenu.js +4 -4
  840. package/src/private/devsupport/rndevtools/specs/NativeReactDevToolsRuntimeSettingsModule.js +4 -2
  841. package/src/private/devsupport/rndevtools/specs/NativeReactDevToolsSettingsManager.js +2 -2
  842. package/src/private/featureflags/ReactNativeFeatureFlags.js +46 -70
  843. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +88 -94
  844. package/src/private/renderer/errorhandling/ErrorHandlers.js +2 -2
  845. package/src/private/renderer/events/ReactNativeResponder.js +49 -4
  846. package/src/private/renderer/events/ResponderTouchHistoryStore.js +11 -2
  847. package/src/private/renderer/events/dispatchNativeEvent.js +71 -36
  848. package/src/private/setup/setUpDOM.js +19 -9
  849. package/src/private/setup/setUpIntersectionObserver.js +7 -0
  850. package/src/private/setup/setUpMutationObserver.js +3 -1
  851. package/src/private/specs_DEPRECATED/modules/NativeAccessibilityInfo.js +9 -9
  852. package/src/private/specs_DEPRECATED/modules/NativeAccessibilityManager.js +24 -24
  853. package/src/private/specs_DEPRECATED/modules/NativeActionSheetManager.js +28 -28
  854. package/src/private/specs_DEPRECATED/modules/NativeAlertManager.js +1 -1
  855. package/src/private/specs_DEPRECATED/modules/NativeAnimatedModule.js +45 -25
  856. package/src/private/specs_DEPRECATED/modules/NativeAnimatedTurboModule.js +44 -24
  857. package/src/private/specs_DEPRECATED/modules/NativeAppState.js +4 -4
  858. package/src/private/specs_DEPRECATED/modules/NativeAppearance.js +8 -6
  859. package/src/private/specs_DEPRECATED/modules/NativeBlobModule.js +7 -7
  860. package/src/private/specs_DEPRECATED/modules/NativeClipboard.js +3 -3
  861. package/src/private/specs_DEPRECATED/modules/NativeDevLoadingView.js +2 -2
  862. package/src/private/specs_DEPRECATED/modules/NativeDevSettings.js +11 -11
  863. package/src/private/specs_DEPRECATED/modules/NativeDeviceEventManager.js +1 -1
  864. package/src/private/specs_DEPRECATED/modules/NativeDeviceInfo.js +4 -4
  865. package/src/private/specs_DEPRECATED/modules/NativeDialogManagerAndroid.js +7 -7
  866. package/src/private/specs_DEPRECATED/modules/NativeExceptionsManager.js +4 -4
  867. package/src/private/specs_DEPRECATED/modules/NativeFileReaderModule.js +2 -2
  868. package/src/private/specs_DEPRECATED/modules/NativeFrameRateLogger.js +4 -4
  869. package/src/private/specs_DEPRECATED/modules/NativeHeadlessJsTaskSupport.js +2 -2
  870. package/src/private/specs_DEPRECATED/modules/NativeI18nManager.js +1 -1
  871. package/src/private/specs_DEPRECATED/modules/NativeImageEditor.js +13 -13
  872. package/src/private/specs_DEPRECATED/modules/NativeImageLoaderAndroid.js +9 -6
  873. package/src/private/specs_DEPRECATED/modules/NativeImageLoaderIOS.js +6 -6
  874. package/src/private/specs_DEPRECATED/modules/NativeImageStoreAndroid.js +2 -2
  875. package/src/private/specs_DEPRECATED/modules/NativeImageStoreIOS.js +8 -5
  876. package/src/private/specs_DEPRECATED/modules/NativeIntentAndroid.js +5 -5
  877. package/src/private/specs_DEPRECATED/modules/NativeJSCHeapCapture.js +1 -1
  878. package/src/private/specs_DEPRECATED/modules/NativeKeyboardObserver.js +2 -2
  879. package/src/private/specs_DEPRECATED/modules/NativeLinkingManager.js +6 -6
  880. package/src/private/specs_DEPRECATED/modules/NativeLogBox.js +2 -2
  881. package/src/private/specs_DEPRECATED/modules/NativeModalManager.js +2 -2
  882. package/src/private/specs_DEPRECATED/modules/NativeNetworkingAndroid.js +5 -5
  883. package/src/private/specs_DEPRECATED/modules/NativeNetworkingIOS.js +6 -6
  884. package/src/private/specs_DEPRECATED/modules/NativePermissionsAndroid.js +6 -4
  885. package/src/private/specs_DEPRECATED/modules/NativePlatformConstantsAndroid.js +2 -2
  886. package/src/private/specs_DEPRECATED/modules/NativePlatformConstantsIOS.js +1 -1
  887. package/src/private/specs_DEPRECATED/modules/NativePushNotificationManagerIOS.js +35 -31
  888. package/src/private/specs_DEPRECATED/modules/NativeRedBox.js +2 -2
  889. package/src/private/specs_DEPRECATED/modules/NativeSampleTurboModule.js +24 -24
  890. package/src/private/specs_DEPRECATED/modules/NativeSegmentFetcher.js +2 -2
  891. package/src/private/specs_DEPRECATED/modules/NativeSettingsManager.js +3 -3
  892. package/src/private/specs_DEPRECATED/modules/NativeShareModule.js +2 -2
  893. package/src/private/specs_DEPRECATED/modules/NativeSoundManager.js +1 -1
  894. package/src/private/specs_DEPRECATED/modules/NativeSourceCode.js +1 -1
  895. package/src/private/specs_DEPRECATED/modules/NativeStatusBarManagerAndroid.js +5 -17
  896. package/src/private/specs_DEPRECATED/modules/NativeStatusBarManagerIOS.js +10 -15
  897. package/src/private/specs_DEPRECATED/modules/NativeTiming.js +3 -3
  898. package/src/private/specs_DEPRECATED/modules/NativeToastAndroid.js +4 -4
  899. package/src/private/specs_DEPRECATED/modules/NativeUIManager.js +35 -22
  900. package/src/private/specs_DEPRECATED/modules/NativeVibration.js +4 -4
  901. package/src/private/specs_DEPRECATED/modules/NativeWebSocketModule.js +7 -7
  902. package/src/private/types/HostInstance.js +38 -80
  903. package/src/private/viewtransition/specs/NativeViewTransition.js +6 -4
  904. package/src/private/webapis/dom/abort-api/AbortController.js +92 -0
  905. package/src/private/webapis/dom/abort-api/AbortSignal.js +243 -0
  906. package/src/private/webapis/dom/events/CustomEvent.js +1 -1
  907. package/src/private/webapis/dom/events/Event.js +12 -12
  908. package/src/private/webapis/dom/events/EventTarget.js +146 -37
  909. package/src/private/webapis/dom/events/internals/EventInternals.js +36 -0
  910. package/src/private/webapis/dom/events/internals/EventTargetInternals.js +38 -3
  911. package/src/private/webapis/dom/nodes/ReactNativeDocument.js +11 -0
  912. package/src/private/webapis/dom/nodes/ReactNativeElement.js +105 -4
  913. package/src/private/webapis/dom/nodes/ReadOnlyCharacterData.js +11 -0
  914. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +9 -0
  915. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +34 -7
  916. package/src/private/webapis/dom/nodes/ReadOnlyText.js +33 -0
  917. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +46 -42
  918. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +12 -0
  919. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js.flow +4 -2
  920. package/src/private/webapis/dom/oldstylecollections/NodeList.js +10 -0
  921. package/src/private/webapis/dom/oldstylecollections/NodeList.js.flow +4 -3
  922. package/src/private/webapis/errors/DOMException.js +50 -50
  923. package/src/private/webapis/geometry/DOMRectList.js +12 -0
  924. package/src/private/webapis/geometry/DOMRectList.js.flow +3 -1
  925. package/src/private/webapis/html/events/MessageEvent.js +3 -3
  926. package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +2 -2
  927. package/src/private/webapis/intersectionobserver/IntersectionObserverEntry.js +13 -0
  928. package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +3 -7
  929. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +5 -5
  930. package/src/private/webapis/microtasks/specs/NativeMicrotasks.js +1 -1
  931. package/src/private/webapis/mutationobserver/MutationObserver.js +7 -7
  932. package/src/private/webapis/mutationobserver/MutationRecord.js +12 -0
  933. package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +5 -7
  934. package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +5 -5
  935. package/src/private/webapis/performance/EventTiming.js +3 -3
  936. package/src/private/webapis/performance/PerformanceEntry.js +3 -3
  937. package/src/private/webapis/performance/PerformanceObserver.js +4 -4
  938. package/src/private/webapis/performance/ResourceTiming.js +13 -13
  939. package/src/private/webapis/performance/UserTiming.js +3 -3
  940. package/src/private/webapis/performance/internals/Utilities.js +1 -1
  941. package/src/private/webapis/performance/specs/NativePerformance.js +26 -20
  942. package/src/private/webapis/utils/ArrayLikeUtils.js +1 -1
  943. package/src/private/webapis/websockets/events/CloseEvent.js +3 -3
  944. package/src/private/webapis/xhr/events/ProgressEvent.js +3 -3
  945. package/src/react-private-interface.js +145 -0
  946. package/src/react-private-interface.js.flow +48 -0
  947. package/src/setup-env.js +22 -0
  948. package/src/types/globals.d.ts +35 -3
  949. package/src/unstable-internals-do-not-use.d.ts +214 -0
  950. package/src/unstable-internals-do-not-use.js +76 -0
  951. package/third-party-podspecs/RCT-Folly.podspec +1 -1
  952. package/third-party-podspecs/ReactNativeDependencies.podspec +3 -3
  953. package/third-party-podspecs/glog.podspec +1 -1
  954. package/types/index.d.ts +0 -1
  955. package/types/public/DeprecatedPropertiesAlias.d.ts +0 -4
  956. package/types/public/ReactNativeTypes.d.ts +6 -4
  957. package/Libraries/AppDelegate/RCTArchConfiguratorProtocol.h +0 -38
  958. package/Libraries/Image/AssetRegistry.js +0 -14
  959. package/Libraries/Image/RCTImageShadowView.h +0 -17
  960. package/Libraries/Image/RCTImageShadowView.mm +0 -28
  961. package/Libraries/Image/RCTImageView.h +0 -32
  962. package/Libraries/Image/RCTImageView.mm +0 -507
  963. package/Libraries/Image/RCTImageViewManager.h +0 -17
  964. package/Libraries/Image/RCTImageViewManager.mm +0 -115
  965. package/Libraries/Interaction/InteractionManager.d.ts +0 -87
  966. package/Libraries/Interaction/InteractionManager.js +0 -189
  967. package/Libraries/Text/BaseText/RCTBaseTextShadowView.h +0 -35
  968. package/Libraries/Text/BaseText/RCTBaseTextShadowView.mm +0 -162
  969. package/Libraries/Text/BaseText/RCTBaseTextViewManager.h +0 -21
  970. package/Libraries/Text/BaseText/RCTBaseTextViewManager.mm +0 -64
  971. package/Libraries/Text/RCTTextAttributes.h +0 -107
  972. package/Libraries/Text/RCTTextAttributes.mm +0 -358
  973. package/Libraries/Text/RawText/RCTRawTextShadowView.h +0 -23
  974. package/Libraries/Text/RawText/RCTRawTextShadowView.mm +0 -38
  975. package/Libraries/Text/RawText/RCTRawTextViewManager.h +0 -21
  976. package/Libraries/Text/RawText/RCTRawTextViewManager.mm +0 -32
  977. package/Libraries/Text/Text/RCTTextShadowView.h +0 -33
  978. package/Libraries/Text/Text/RCTTextShadowView.mm +0 -469
  979. package/Libraries/Text/Text/RCTTextView.h +0 -34
  980. package/Libraries/Text/Text/RCTTextView.mm +0 -308
  981. package/Libraries/Text/Text/RCTTextViewManager.h +0 -19
  982. package/Libraries/Text/Text/RCTTextViewManager.mm +0 -97
  983. package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputView.h +0 -21
  984. package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputView.mm +0 -67
  985. package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputViewManager.h +0 -21
  986. package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputViewManager.mm +0 -30
  987. package/Libraries/Text/TextInput/RCTBaseTextInputShadowView.h +0 -30
  988. package/Libraries/Text/TextInput/RCTBaseTextInputShadowView.mm +0 -367
  989. package/Libraries/Text/TextInput/RCTBaseTextInputView.h +0 -68
  990. package/Libraries/Text/TextInput/RCTBaseTextInputView.mm +0 -858
  991. package/Libraries/Text/TextInput/RCTBaseTextInputViewManager.h +0 -17
  992. package/Libraries/Text/TextInput/RCTBaseTextInputViewManager.mm +0 -181
  993. package/Libraries/Text/TextInput/RCTInputAccessoryShadowView.h +0 -17
  994. package/Libraries/Text/TextInput/RCTInputAccessoryShadowView.mm +0 -24
  995. package/Libraries/Text/TextInput/RCTInputAccessoryView.h +0 -22
  996. package/Libraries/Text/TextInput/RCTInputAccessoryView.mm +0 -82
  997. package/Libraries/Text/TextInput/RCTInputAccessoryViewContent.h +0 -17
  998. package/Libraries/Text/TextInput/RCTInputAccessoryViewContent.mm +0 -78
  999. package/Libraries/Text/TextInput/RCTInputAccessoryViewManager.h +0 -17
  1000. package/Libraries/Text/TextInput/RCTInputAccessoryViewManager.mm +0 -33
  1001. package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputView.h +0 -21
  1002. package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputView.mm +0 -43
  1003. package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputViewManager.h +0 -21
  1004. package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputViewManager.mm +0 -35
  1005. package/Libraries/Text/VirtualText/RCTVirtualTextShadowView.h +0 -17
  1006. package/Libraries/Text/VirtualText/RCTVirtualTextShadowView.mm +0 -42
  1007. package/Libraries/Text/VirtualText/RCTVirtualTextView.h +0 -28
  1008. package/Libraries/Text/VirtualText/RCTVirtualTextViewManager.h +0 -17
  1009. package/Libraries/Text/VirtualText/RCTVirtualTextViewManager.mm +0 -30
  1010. package/Libraries/Utilities/SceneTracker.js +0 -42
  1011. package/Libraries/Wrapper/Example/RCTWrapperExampleView.h +0 -21
  1012. package/Libraries/Wrapper/Example/RCTWrapperExampleView.m +0 -57
  1013. package/Libraries/Wrapper/Example/RCTWrapperExampleViewController.h +0 -21
  1014. package/Libraries/Wrapper/Example/RCTWrapperExampleViewController.m +0 -27
  1015. package/Libraries/Wrapper/Example/RCTWrapperReactRootViewController.h +0 -25
  1016. package/Libraries/Wrapper/Example/RCTWrapperReactRootViewController.m +0 -50
  1017. package/Libraries/Wrapper/Example/RCTWrapperReactRootViewManager.h +0 -23
  1018. package/Libraries/Wrapper/Example/RCTWrapperReactRootViewManager.m +0 -35
  1019. package/Libraries/Wrapper/RCTWrapper.h +0 -73
  1020. package/Libraries/Wrapper/RCTWrapperShadowView.h +0 -27
  1021. package/Libraries/Wrapper/RCTWrapperShadowView.m +0 -138
  1022. package/Libraries/Wrapper/RCTWrapperView.h +0 -42
  1023. package/Libraries/Wrapper/RCTWrapperView.m +0 -99
  1024. package/Libraries/Wrapper/RCTWrapperViewControllerHostingView.h +0 -30
  1025. package/Libraries/Wrapper/RCTWrapperViewControllerHostingView.m +0 -137
  1026. package/Libraries/Wrapper/RCTWrapperViewManager.h +0 -25
  1027. package/Libraries/Wrapper/RCTWrapperViewManager.m +0 -31
  1028. package/React/Base/RCTRootContentView.h +0 -43
  1029. package/React/Base/RCTRootContentView.m +0 -111
  1030. package/React/Base/RCTRootViewInternal.h +0 -40
  1031. package/React/CxxBridge/RCTCxxBridge.mm +0 -1572
  1032. package/React/CxxBridge/RCTJSIExecutorRuntimeInstaller.h +0 -25
  1033. package/React/CxxBridge/RCTJSIExecutorRuntimeInstaller.mm +0 -34
  1034. package/React/CxxBridge/RCTObjcExecutor.h +0 -34
  1035. package/React/CxxBridge/RCTObjcExecutor.mm +0 -150
  1036. package/React/CxxLogUtils/RCTDefaultCxxLogFunction.mm +0 -34
  1037. package/React/CxxModule/DispatchMessageQueueThread.h +0 -50
  1038. package/React/CxxModule/RCTCxxMethod.h +0 -17
  1039. package/React/CxxModule/RCTCxxMethod.mm +0 -147
  1040. package/React/CxxModule/RCTNativeModule.h +0 -34
  1041. package/React/CxxModule/RCTNativeModule.mm +0 -241
  1042. package/React/Fabric/RCTSurfacePresenterBridgeAdapter.mm +0 -205
  1043. package/React/Tests/Text/RCTTextAttributesTest.mm +0 -49
  1044. package/React/Views/RCTActivityIndicatorView.h +0 -16
  1045. package/React/Views/RCTActivityIndicatorView.m +0 -26
  1046. package/React/Views/RCTActivityIndicatorViewManager.h +0 -23
  1047. package/React/Views/RCTActivityIndicatorViewManager.m +0 -65
  1048. package/React/Views/RCTDebuggingOverlayManager.h +0 -17
  1049. package/React/Views/RCTDebuggingOverlayManager.m +0 -68
  1050. package/React/Views/RCTModalHostView.h +0 -72
  1051. package/React/Views/RCTModalHostView.m +0 -302
  1052. package/React/Views/RCTModalHostViewController.m +0 -107
  1053. package/React/Views/RCTModalHostViewManager.m +0 -131
  1054. package/React/Views/RCTModalManager.h +0 -22
  1055. package/React/Views/RCTModalManager.m +0 -46
  1056. package/React/Views/RCTRootShadowView.h +0 -35
  1057. package/React/Views/RCTRootShadowView.m +0 -53
  1058. package/React/Views/RCTShadowView+Internal.h +0 -18
  1059. package/React/Views/RCTShadowView+Internal.m +0 -23
  1060. package/React/Views/RCTSwitch.h +0 -24
  1061. package/React/Views/RCTSwitch.m +0 -26
  1062. package/React/Views/RCTSwitchManager.h +0 -19
  1063. package/React/Views/RCTSwitchManager.m +0 -72
  1064. package/React/Views/RCTTVView.h +0 -105
  1065. package/React/Views/RCTTVView.m +0 -602
  1066. package/React/Views/RefreshControl/RCTRefreshControl.h +0 -26
  1067. package/React/Views/RefreshControl/RCTRefreshControl.m +0 -232
  1068. package/React/Views/RefreshControl/RCTRefreshControlManager.h +0 -19
  1069. package/React/Views/RefreshControl/RCTRefreshControlManager.m +0 -49
  1070. package/React/Views/SafeAreaView/RCTSafeAreaShadowView.h +0 -21
  1071. package/React/Views/SafeAreaView/RCTSafeAreaShadowView.m +0 -57
  1072. package/React/Views/SafeAreaView/RCTSafeAreaView.h +0 -27
  1073. package/React/Views/SafeAreaView/RCTSafeAreaView.m +0 -79
  1074. package/React/Views/SafeAreaView/RCTSafeAreaViewLocalData.h +0 -25
  1075. package/React/Views/SafeAreaView/RCTSafeAreaViewLocalData.m +0 -25
  1076. package/React/Views/SafeAreaView/RCTSafeAreaViewManager.h +0 -21
  1077. package/React/Views/SafeAreaView/RCTSafeAreaViewManager.m +0 -32
  1078. package/React/Views/ScrollView/RCTScrollContentShadowView.h +0 -19
  1079. package/React/Views/ScrollView/RCTScrollContentShadowView.m +0 -35
  1080. package/React/Views/ScrollView/RCTScrollContentView.h +0 -19
  1081. package/React/Views/ScrollView/RCTScrollContentView.m +0 -36
  1082. package/React/Views/ScrollView/RCTScrollContentViewManager.h +0 -17
  1083. package/React/Views/ScrollView/RCTScrollContentViewManager.m +0 -31
  1084. package/React/Views/ScrollView/RCTScrollView.m +0 -1508
  1085. package/React/Views/ScrollView/RCTScrollViewManager.h +0 -25
  1086. package/React/Views/ScrollView/RCTScrollViewManager.m +0 -208
  1087. package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +0 -251
  1088. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BridgeReactContext.java +0 -315
  1089. package/ReactAndroid/src/main/java/com/facebook/react/common/ClearableSynchronizedPool.kt +0 -51
  1090. package/ReactAndroid/src/main/java/com/facebook/react/fabric/AnimationBackendChoreographer.kt +0 -89
  1091. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSPointerDispatcher.java +0 -736
  1092. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +0 -221
  1093. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNode.java +0 -399
  1094. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactZIndexedViewGroup.kt +0 -35
  1095. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +0 -346
  1096. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +0 -666
  1097. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +0 -147
  1098. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupDrawingOrderHelper.kt +0 -113
  1099. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagersPropertyCache.java +0 -614
  1100. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +0 -1949
  1101. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactNestedScrollView.java +0 -1646
  1102. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +0 -1744
  1103. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaAlign.java +0 -51
  1104. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaBoxSizing.java +0 -33
  1105. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDimension.java +0 -33
  1106. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDisplay.java +0 -37
  1107. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaEdge.java +0 -47
  1108. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaErrata.java +0 -41
  1109. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaExperimentalFeature.java +0 -33
  1110. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaFlexDirection.java +0 -37
  1111. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaGridTrackType.java +0 -39
  1112. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaGutter.java +0 -35
  1113. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaJustify.java +0 -49
  1114. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaLogLevel.java +0 -45
  1115. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaMeasureMode.java +0 -35
  1116. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.java +0 -928
  1117. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeType.java +0 -33
  1118. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaOverflow.java +0 -35
  1119. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaPositionType.java +0 -35
  1120. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaUnit.java +0 -43
  1121. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaWrap.java +0 -35
  1122. package/ReactAndroid/src/main/jni/react/fabric/JAnimationBackendChoreographer.cpp +0 -23
  1123. package/ReactAndroid/src/main/jni/react/fabric/JAnimationBackendChoreographer.h +0 -37
  1124. package/ReactCommon/cxxreact/JSIndexedRAMBundle.cpp +0 -135
  1125. package/ReactCommon/cxxreact/JSIndexedRAMBundle.h +0 -72
  1126. package/ReactCommon/hermes/inspector-modern/chrome/ConnectionDemux.cpp +0 -143
  1127. package/ReactCommon/hermes/inspector-modern/chrome/ConnectionDemux.h +0 -55
  1128. package/ReactCommon/hermes/inspector-modern/chrome/Registration.cpp +0 -78
  1129. package/ReactCommon/hermes/inspector-modern/chrome/Registration.h +0 -39
  1130. package/ReactCommon/hermes/inspector-modern/chrome/tests/ConnectionDemuxTests.cpp +0 -148
  1131. package/ReactCommon/react/nativemodule/samples/platform/android/NativeSampleTurboModuleSpec.java +0 -168
  1132. package/ReactCommon/react/nativemodule/samples/platform/android/ReactCommon/SampleTurboModuleSpec.cpp +0 -416
  1133. package/ReactCommon/react/nativemodule/samples/platform/android/ReactCommon/SampleTurboModuleSpec.h +0 -31
  1134. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTNativeSampleTurboModuleSpec.h +0 -134
  1135. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTNativeSampleTurboModuleSpec.mm +0 -290
  1136. package/ReactCommon/react/renderer/core/RawPropsKey.cpp +0 -62
  1137. package/ReactCommon/react/renderer/core/RawPropsKey.h +0 -39
  1138. package/ReactCommon/react/renderer/mounting/internal/DiffMap.h +0 -170
  1139. package/ReactCommon/react/renderer/mounting/internal/LongestIncreasingSubsequence.h +0 -95
  1140. package/ReactCommon/react/renderer/mounting/internal/TinyMap.h +0 -147
  1141. package/ReactCommon/react/renderer/mounting/tests/LongestIncreasingSubsequenceTest.cpp +0 -154
  1142. package/interface.js +0 -21
  1143. package/jest-preset.js +0 -26
  1144. package/rn-get-polyfills.js +0 -13
  1145. package/sdks/.hermesversion +0 -1
  1146. package/src/private/components/virtualcollection/debug/FlingItemOverlay.js +0 -13
  1147. package/types/tsconfig.json +0 -15
  1148. /package/ReactCommon/{cxxreact → react/utils}/MoveWrapper.h +0 -0
@@ -18,18 +18,24 @@ import android.text.Spanned
18
18
  import android.text.style.ClickableSpan
19
19
  import android.view.KeyEvent
20
20
  import android.view.MotionEvent
21
+ import android.view.View
21
22
  import android.view.ViewGroup
23
+ import android.view.ViewParent
22
24
  import androidx.annotation.ColorInt
23
25
  import androidx.annotation.DoNotInline
24
26
  import androidx.annotation.RequiresApi
25
27
  import androidx.core.view.ViewCompat
26
28
  import com.facebook.proguard.annotations.DoNotStrip
29
+ import com.facebook.react.common.annotations.UnstableReactNativeAPI
27
30
  import com.facebook.react.uimanager.BackgroundStyleApplicator
28
31
  import com.facebook.react.uimanager.ReactCompoundView
32
+ import com.facebook.react.uimanager.RootView
29
33
  import com.facebook.react.uimanager.style.Overflow
30
- import com.facebook.react.views.text.internal.span.DrawCommandSpan
34
+ import com.facebook.react.views.text.internal.span.AnimatedEffectSpan
35
+ import com.facebook.react.views.text.internal.span.CanvasEffectSpan
31
36
  import com.facebook.react.views.text.internal.span.ReactFragmentIndexSpan
32
37
  import com.facebook.react.views.text.internal.span.ReactLinkSpan
38
+ import com.facebook.react.views.text.internal.span.TouchableSpan
33
39
  import kotlin.collections.ArrayList
34
40
  import kotlin.math.roundToInt
35
41
 
@@ -44,14 +50,19 @@ internal class PreparedLayoutTextView(context: Context) : ViewGroup(context), Re
44
50
 
45
51
  private var clickableSpans: List<ClickableSpan> = emptyList()
46
52
  private var selection: TextSelection? = null
53
+ private var lastFrameTimeNanos: Long = 0L
47
54
 
48
55
  var preparedLayout: PreparedLayout? = null
49
56
  set(value) {
50
57
  if (field != value) {
58
+ val effectiveValue = value?.maybeProxyStatefulSpans()
51
59
  val lastSelection = selection
52
60
  if (lastSelection != null) {
53
- if (value != null && field?.layout?.text.toString() == value.layout.text.toString()) {
54
- value.layout.getSelectionPath(
61
+ if (
62
+ effectiveValue != null &&
63
+ field?.layout?.text.toString() == effectiveValue.layout.text.toString()
64
+ ) {
65
+ effectiveValue.layout.getSelectionPath(
55
66
  lastSelection.start,
56
67
  lastSelection.end,
57
68
  lastSelection.path,
@@ -61,9 +72,10 @@ internal class PreparedLayoutTextView(context: Context) : ViewGroup(context), Re
61
72
  }
62
73
  }
63
74
 
64
- clickableSpans = value?.layout?.text?.let { filterClickableSpans(it) } ?: emptyList()
75
+ clickableSpans =
76
+ effectiveValue?.layout?.text?.let { filterClickableSpans(it) } ?: emptyList()
65
77
 
66
- field = value
78
+ field = effectiveValue
67
79
  invalidate()
68
80
  }
69
81
  }
@@ -94,9 +106,18 @@ internal class PreparedLayoutTextView(context: Context) : ViewGroup(context), Re
94
106
  clickableSpans = emptyList()
95
107
  selection = null
96
108
  selectionColor = null
109
+ lastFrameTimeNanos = 0L
97
110
  preparedLayout = null
98
111
  }
99
112
 
113
+ override fun onVisibilityChanged(changedView: View, visibility: Int) {
114
+ super.onVisibilityChanged(changedView, visibility)
115
+ if (visibility != VISIBLE) {
116
+ lastFrameTimeNanos = 0L
117
+ }
118
+ }
119
+
120
+ @OptIn(UnstableReactNativeAPI::class)
100
121
  override fun onDraw(canvas: Canvas) {
101
122
  if (overflow != Overflow.VISIBLE) {
102
123
  BackgroundStyleApplicator.clipToPaddingBox(this, canvas)
@@ -116,11 +137,11 @@ internal class PreparedLayoutTextView(context: Context) : ViewGroup(context), Re
116
137
  }
117
138
 
118
139
  val spanned = text as? Spanned
119
- val drawCommandSpans =
120
- spanned?.getSpans(0, spanned.length, DrawCommandSpan::class.java) ?: emptyArray()
140
+ val canvasEffectSpans =
141
+ spanned?.getSpans(0, spanned.length, CanvasEffectSpan::class.java) ?: emptyArray()
121
142
 
122
143
  if (spanned != null) {
123
- for (span in drawCommandSpans) {
144
+ for (span in canvasEffectSpans) {
124
145
  span.onPreDraw(
125
146
  spanned.getSpanStart(span),
126
147
  spanned.getSpanEnd(span),
@@ -137,7 +158,7 @@ internal class PreparedLayoutTextView(context: Context) : ViewGroup(context), Re
137
158
  }
138
159
 
139
160
  if (spanned != null) {
140
- for (span in drawCommandSpans) {
161
+ for (span in canvasEffectSpans) {
141
162
  span.onDraw(
142
163
  spanned.getSpanStart(span),
143
164
  spanned.getSpanEnd(span),
@@ -146,6 +167,38 @@ internal class PreparedLayoutTextView(context: Context) : ViewGroup(context), Re
146
167
  )
147
168
  }
148
169
  }
170
+
171
+ if (spanned != null) {
172
+ val animatedEffectSpans =
173
+ spanned.getSpans(0, spanned.length, AnimatedEffectSpan::class.java)
174
+
175
+ if (animatedEffectSpans.isNotEmpty()) {
176
+ val now = System.nanoTime()
177
+ val deltaNanos = if (lastFrameTimeNanos == 0L) 0L else now - lastFrameTimeNanos
178
+ lastFrameTimeNanos = now
179
+
180
+ var needsNextFrame = false
181
+ for (span in animatedEffectSpans) {
182
+ if (
183
+ span.onDraw(
184
+ spanned.getSpanStart(span),
185
+ spanned.getSpanEnd(span),
186
+ canvas,
187
+ layout,
188
+ deltaNanos,
189
+ )
190
+ ) {
191
+ needsNextFrame = true
192
+ }
193
+ }
194
+
195
+ if (needsNextFrame) {
196
+ postInvalidateOnAnimation()
197
+ } else {
198
+ lastFrameTimeNanos = 0L
199
+ }
200
+ }
201
+ }
149
202
  }
150
203
  }
151
204
 
@@ -180,13 +233,19 @@ internal class PreparedLayoutTextView(context: Context) : ViewGroup(context), Re
180
233
  invalidate()
181
234
  }
182
235
 
236
+ @OptIn(UnstableReactNativeAPI::class)
183
237
  override fun onTouchEvent(event: MotionEvent): Boolean {
184
- if (!isEnabled || clickableSpans.isEmpty()) {
238
+ if (!isEnabled) {
185
239
  return super.onTouchEvent(event)
186
240
  }
187
241
 
188
242
  val action = event.actionMasked
189
243
  if (action == MotionEvent.ACTION_CANCEL) {
244
+ // Forward ACTION_CANCEL to all TouchableSpans so they can reset pressed/animation state
245
+ val spanned = text as? Spanned
246
+ for (span in spanned?.getSpans(0, spanned.length, TouchableSpan::class.java).orEmpty()) {
247
+ span.onTouchEvent(action, 0f, 0f)
248
+ }
190
249
  clearSelection()
191
250
  return false
192
251
  }
@@ -194,6 +253,32 @@ internal class PreparedLayoutTextView(context: Context) : ViewGroup(context), Re
194
253
  val x = event.x.toInt()
195
254
  val y = event.y.toInt()
196
255
 
256
+ // Handle TouchableSpan (e.g., spoiler text) — independent of ClickableSpan.
257
+ // Only consume the event if the span actually handled it (e.g., spoiler not yet
258
+ // dismissed). If it returns false, fall through to ClickableSpan handling so that
259
+ // links under dismissed spoiler text remain tappable.
260
+ val touchableSpan = getSpanInCoords(x, y, TouchableSpan::class.java)
261
+ if (touchableSpan != null) {
262
+ val layoutX = event.x - paddingLeft
263
+ val layoutY = event.y - paddingTop - (preparedLayout?.verticalOffset ?: 0f)
264
+ if (touchableSpan.onTouchEvent(action, layoutX, layoutY)) {
265
+ if (action == MotionEvent.ACTION_DOWN) {
266
+ // Returning true from onTouchEvent stops Android's onClickListener path on parents,
267
+ // but RN's gesture responder runs at the JS layer and would still let an ancestor
268
+ // <Pressable> fire onPress on this gesture. Tell the React root we're taking over so
269
+ // it cancels in-flight JS responder tracking — same hook ScrollView uses on intercept.
270
+ findRootView()?.onChildStartedNativeGesture(this, event)
271
+ }
272
+ invalidate()
273
+ return true
274
+ }
275
+ }
276
+
277
+ // Existing ClickableSpan handling
278
+ if (clickableSpans.isEmpty()) {
279
+ return super.onTouchEvent(event)
280
+ }
281
+
197
282
  val clickableSpan = getSpanInCoords(x, y, ClickableSpan::class.java)
198
283
 
199
284
  if (clickableSpan == null) {
@@ -214,6 +299,15 @@ internal class PreparedLayoutTextView(context: Context) : ViewGroup(context), Re
214
299
  return true
215
300
  }
216
301
 
302
+ private fun findRootView(): RootView? {
303
+ var p: ViewParent? = parent
304
+ while (p != null) {
305
+ if (p is RootView) return p
306
+ p = p.parent
307
+ }
308
+ return null
309
+ }
310
+
217
311
  private fun <T> getSpanInCoords(x: Int, y: Int, clazz: Class<T>): T? {
218
312
  val offset = getTextOffsetAt(x, y)
219
313
  if (offset < 0) {
@@ -308,6 +402,8 @@ internal class PreparedLayoutTextView(context: Context) : ViewGroup(context), Re
308
402
  }
309
403
  }
310
404
 
405
+ override fun shouldDelayChildPressedState(): Boolean = false
406
+
311
407
  public override fun dispatchHoverEvent(event: MotionEvent): Boolean =
312
408
  super.dispatchHoverEvent(event)
313
409
 
@@ -393,5 +489,21 @@ internal class PreparedLayoutTextView(context: Context) : ViewGroup(context), Re
393
489
 
394
490
  return spans
395
491
  }
492
+
493
+ /**
494
+ * If the layout contains [StatefulSpan]s, returns a new [PreparedLayout] whose spannable has
495
+ * independent clones of those spans. Otherwise returns the receiver unchanged.
496
+ */
497
+ private fun PreparedLayout.maybeProxyStatefulSpans(): PreparedLayout {
498
+ val proxyLayout = MutableSpannableLayout.createIfNeeded(layout) ?: return this
499
+ return PreparedLayout(
500
+ proxyLayout,
501
+ maximumNumberOfLines,
502
+ verticalOffset,
503
+ reactTags,
504
+ textBreakStrategy,
505
+ justificationMode,
506
+ )
507
+ }
396
508
  }
397
509
  }
@@ -47,6 +47,7 @@ import com.facebook.react.uimanager.style.BorderRadiusProp;
47
47
  import com.facebook.react.uimanager.style.BorderStyle;
48
48
  import com.facebook.react.uimanager.style.LogicalEdge;
49
49
  import com.facebook.react.uimanager.style.Overflow;
50
+ import com.facebook.react.views.text.internal.span.CanvasEffectSpan;
50
51
  import com.facebook.react.views.text.internal.span.ReactFragmentIndexSpan;
51
52
  import com.facebook.react.views.text.internal.span.ReactTagSpan;
52
53
  import com.facebook.yoga.YogaMeasureMode;
@@ -237,8 +238,97 @@ public class ReactTextView extends AppCompatTextView implements ReactCompoundVie
237
238
  BackgroundStyleApplicator.clipToPaddingBox(this, canvas);
238
239
  }
239
240
 
240
- super.onDraw(canvas);
241
+ if (spanned != null) {
242
+ Layout layout = getLayout();
243
+ if (layout != null) {
244
+ CanvasEffectSpan[] drawSpans =
245
+ spanned.getSpans(0, spanned.length(), CanvasEffectSpan.class);
246
+ if (shouldDrawLayoutWithoutTextViewClip()) {
247
+ drawLayoutWithoutTextViewClip(canvas, spanned, layout, drawSpans);
248
+ } else {
249
+ if (drawSpans.length > 0) {
250
+ drawTextEffects(canvas, spanned, layout, drawSpans, true, false);
251
+ super.onDraw(canvas);
252
+ drawTextEffects(canvas, spanned, layout, drawSpans, false, false);
253
+ } else {
254
+ super.onDraw(canvas);
255
+ }
256
+ }
257
+ } else {
258
+ super.onDraw(canvas);
259
+ }
260
+ } else {
261
+ super.onDraw(canvas);
262
+ }
263
+ }
264
+ }
265
+
266
+ private boolean shouldDrawLayoutWithoutTextViewClip() {
267
+ return mOverflow == Overflow.VISIBLE && !mTextIsSelectable && getMovementMethod() == null;
268
+ }
269
+
270
+ private void drawLayoutWithoutTextViewClip(
271
+ Canvas canvas, Spannable spanned, Layout layout, CanvasEffectSpan[] drawSpans) {
272
+ getPaint().setColor(getCurrentTextColor());
273
+ getPaint().drawableState = getDrawableState();
274
+
275
+ drawTextEffects(canvas, spanned, layout, drawSpans, true, true);
276
+
277
+ canvas.save();
278
+ canvas.translate(
279
+ getCompoundPaddingLeft(), getExtendedPaddingTop() + getVerticalGravityOffset(layout));
280
+ layout.draw(canvas);
281
+ canvas.restore();
282
+
283
+ drawTextEffects(canvas, spanned, layout, drawSpans, false, true);
284
+ }
285
+
286
+ private void drawTextEffects(
287
+ Canvas canvas,
288
+ Spannable spanned,
289
+ Layout layout,
290
+ CanvasEffectSpan[] drawSpans,
291
+ boolean beforeText,
292
+ boolean includeVerticalGravityOffset) {
293
+ if (drawSpans.length == 0) {
294
+ return;
295
+ }
296
+
297
+ canvas.save();
298
+ canvas.translate(
299
+ getCompoundPaddingLeft(),
300
+ getExtendedPaddingTop()
301
+ + (includeVerticalGravityOffset ? getVerticalGravityOffset(layout) : 0));
302
+ for (CanvasEffectSpan span : drawSpans) {
303
+ int start = spanned.getSpanStart(span);
304
+ int end = spanned.getSpanEnd(span);
305
+ if (beforeText) {
306
+ span.onPreDraw(start, end, canvas, layout);
307
+ } else {
308
+ span.onDraw(start, end, canvas, layout);
309
+ }
310
+ }
311
+ canvas.restore();
312
+ }
313
+
314
+ private int getVerticalGravityOffset(Layout layout) {
315
+ int availableVerticalSpace = getAvailableVerticalSpace();
316
+ if (layout.getHeight() >= availableVerticalSpace) {
317
+ return 0;
318
+ }
319
+
320
+ int verticalGravity = getGravity() & Gravity.VERTICAL_GRAVITY_MASK;
321
+ if (verticalGravity == Gravity.BOTTOM) {
322
+ return availableVerticalSpace - layout.getHeight();
323
+ } else if (verticalGravity == Gravity.CENTER_VERTICAL) {
324
+ return (availableVerticalSpace - layout.getHeight()) / 2;
241
325
  }
326
+
327
+ return 0;
328
+ }
329
+
330
+ private int getAvailableVerticalSpace() {
331
+ return getHeight() - getExtendedPaddingTop() - getExtendedPaddingBottom();
242
332
  }
243
333
 
244
334
  @Override
@@ -252,7 +342,7 @@ public class ReactTextView extends AppCompatTextView implements ReactCompoundVie
252
342
  try (SystraceSection s = new SystraceSection("ReactTextView.setText(ReactTextUpdate)")) {
253
343
  // Android's TextView crashes when it tries to relayout if LayoutParams are
254
344
  // null; explicitly set the LayoutParams to prevent this crash. See:
255
- // https://github.com/react/react-native/pull/7011
345
+ // https://github.com/facebook/react-native/pull/7011
256
346
  if (getLayoutParams() == null) {
257
347
  setLayoutParams(EMPTY_LAYOUT_PARAMS);
258
348
  }
@@ -43,6 +43,7 @@ import com.facebook.react.uimanager.style.BorderRadiusProp
43
43
  import com.facebook.react.uimanager.style.BorderStyle.Companion.fromString
44
44
  import com.facebook.react.uimanager.style.LogicalEdge
45
45
  import com.facebook.react.views.text.DefaultStyleValuesUtil.getDefaultTextColorHighlight
46
+ import com.facebook.react.views.text.ReactTypefaceUtils.getFontWeightAdjustment
46
47
  import java.util.HashMap
47
48
 
48
49
  /** View manager for `<Text>` nodes. */
@@ -158,8 +159,10 @@ public constructor(
158
159
  val spanned: Spannable =
159
160
  TextLayoutManager.getOrCreateSpannableForText(
160
161
  view.context.assets,
162
+ getFontWeightAdjustment(view.context),
161
163
  attributedString,
162
164
  reactTextViewManagerCallback,
165
+ TextEffectRegistry.current,
163
166
  )
164
167
  view.setSpanned(spanned)
165
168
 
@@ -7,14 +7,23 @@
7
7
 
8
8
  package com.facebook.react.views.text
9
9
 
10
+ import android.content.Context
10
11
  import android.content.res.AssetManager
12
+ import android.content.res.Configuration
11
13
  import android.graphics.Typeface
14
+ import android.os.Build
12
15
  import com.facebook.react.bridge.ReadableArray
13
16
  import com.facebook.react.common.ReactConstants
14
17
  import com.facebook.react.common.assets.ReactFontManager
18
+ import com.facebook.react.internal.featureflags.ReactNativeFeatureFlags
19
+ import kotlin.math.max
20
+ import kotlin.math.min
15
21
 
16
22
  public object ReactTypefaceUtils {
17
23
 
24
+ private const val FONT_WEIGHT_MIN = 1
25
+ private const val FONT_WEIGHT_MAX = 1000
26
+
18
27
  @JvmStatic
19
28
  public fun parseFontWeight(fontWeightString: String?): Int =
20
29
  when (fontWeightString) {
@@ -110,4 +119,36 @@ public object ReactTypefaceUtils {
110
119
  ReactFontManager.getInstance().getTypeface(fontFamilyName, typefaceStyle, assetManager)
111
120
  }
112
121
  }
122
+
123
+ @JvmStatic
124
+ public fun getFontWeightAdjustment(context: Context): Int =
125
+ if (
126
+ Build.VERSION.SDK_INT >= Build.VERSION_CODES.S &&
127
+ ReactNativeFeatureFlags.enableAndroidFontWeightAdjustment()
128
+ ) {
129
+ context.resources.configuration.fontWeightAdjustment
130
+ } else {
131
+ 0
132
+ }
133
+
134
+ @JvmStatic
135
+ public fun applyFontWeightAdjustment(
136
+ typeface: Typeface?,
137
+ fontWeightAdjustment: Int,
138
+ ): Typeface? {
139
+ if (
140
+ Build.VERSION.SDK_INT < Build.VERSION_CODES.S ||
141
+ fontWeightAdjustment == 0 ||
142
+ fontWeightAdjustment == Configuration.FONT_WEIGHT_ADJUSTMENT_UNDEFINED
143
+ ) {
144
+ return typeface
145
+ }
146
+
147
+ val baseTypeface = typeface ?: Typeface.DEFAULT
148
+ val adjustedWeight =
149
+ min(max(baseTypeface.weight + fontWeightAdjustment, FONT_WEIGHT_MIN), FONT_WEIGHT_MAX)
150
+ val italic = baseTypeface.style and Typeface.ITALIC != 0
151
+
152
+ return Typeface.create(baseTypeface, adjustedWeight, italic)
153
+ }
113
154
  }
@@ -92,6 +92,21 @@ public class TextAttributeProps private constructor() {
92
92
  public var isLineThroughTextDecorationSet: Boolean = false
93
93
  private set
94
94
 
95
+ /**
96
+ * Decoration color for underlines and strikethroughs. `Color.TRANSPARENT` (the default) means
97
+ * "fall back to the text color" so existing call sites that don't pass a value retain the prior
98
+ * behavior. Honored by `ReactUnderlineSpan` and `ReactStrikethroughSpan`.
99
+ */
100
+ internal var textDecorationColor: Int = android.graphics.Color.TRANSPARENT
101
+ private set
102
+
103
+ /**
104
+ * CSS `text-decoration-style`. Defaults to `SOLID` so existing call sites retain the prior visual
105
+ * behavior. Honored by `ReactUnderlineSpan` and `ReactStrikethroughSpan`.
106
+ */
107
+ internal var textDecorationStyle: TextDecorationStyle = TextDecorationStyle.SOLID
108
+ private set
109
+
95
110
  private var includeFontPadding: Boolean = true
96
111
 
97
112
  public var accessibilityRole: AccessibilityRole? = null
@@ -100,6 +115,11 @@ public class TextAttributeProps private constructor() {
100
115
  public var role: ReactAccessibilityDelegate.Role? = null
101
116
  private set
102
117
 
118
+ internal data class TextEffectEntry(val name: String, val props: String?)
119
+
120
+ internal var textEffects: List<TextEffectEntry> = emptyList()
121
+ private set
122
+
103
123
  public var fontStyle: Int = ReactConstants.UNSET
104
124
  private set
105
125
 
@@ -375,6 +395,9 @@ public class TextAttributeProps private constructor() {
375
395
  public const val TA_KEY_ROLE: Int = 26
376
396
  public const val TA_KEY_TEXT_TRANSFORM: Int = 27
377
397
  public const val TA_KEY_MAX_FONT_SIZE_MULTIPLIER: Int = 29
398
+ public const val TA_KEY_TEXT_EFFECTS: Int = 30
399
+ private const val TE_KEY_NAME: Int = 0
400
+ private const val TE_KEY_PROPS: Int = 1
378
401
 
379
402
  public const val UNSET: Int = -1
380
403
 
@@ -415,9 +438,10 @@ public class TextAttributeProps private constructor() {
415
438
  TA_KEY_LINE_HEIGHT -> result.lineHeight = entry.doubleValue.toFloat()
416
439
  TA_KEY_ALIGNMENT -> {}
417
440
  TA_KEY_BEST_WRITING_DIRECTION -> {}
418
- TA_KEY_TEXT_DECORATION_COLOR -> {}
441
+ TA_KEY_TEXT_DECORATION_COLOR -> result.textDecorationColor = entry.intValue
419
442
  TA_KEY_TEXT_DECORATION_LINE -> result.setTextDecorationLine(entry.stringValue)
420
- TA_KEY_TEXT_DECORATION_STYLE -> {}
443
+ TA_KEY_TEXT_DECORATION_STYLE ->
444
+ result.textDecorationStyle = TextDecorationStyle.fromString(entry.stringValue)
421
445
  TA_KEY_TEXT_SHADOW_RADIUS -> result.textShadowRadius = entry.doubleValue.toFloat()
422
446
  TA_KEY_TEXT_SHADOW_COLOR -> result.textShadowColor = entry.intValue
423
447
  TA_KEY_TEXT_SHADOW_OFFSET_DX -> result.textShadowOffsetDx = entry.doubleValue.toFloat()
@@ -429,6 +453,22 @@ public class TextAttributeProps private constructor() {
429
453
  TA_KEY_TEXT_TRANSFORM -> result.setTextTransform(entry.stringValue)
430
454
  TA_KEY_MAX_FONT_SIZE_MULTIPLIER ->
431
455
  result.maxFontSizeMultiplier = entry.doubleValue.toFloat()
456
+ TA_KEY_TEXT_EFFECTS -> {
457
+ val effectsMap = entry.mapBufferValue
458
+ val list = mutableListOf<TextEffectEntry>()
459
+ for (j in 0 until effectsMap.count) {
460
+ val effectMap = effectsMap.getMapBuffer(j)
461
+ list.add(
462
+ TextEffectEntry(
463
+ name = effectMap.getString(TE_KEY_NAME),
464
+ props =
465
+ if (effectMap.contains(TE_KEY_PROPS)) effectMap.getString(TE_KEY_PROPS)
466
+ else null,
467
+ )
468
+ )
469
+ }
470
+ result.textEffects = list
471
+ }
432
472
  }
433
473
  }
434
474
 
@@ -462,6 +502,10 @@ public class TextAttributeProps private constructor() {
462
502
  result.setFontVariant(getArrayProp(props, ViewProps.FONT_VARIANT))
463
503
  result.includeFontPadding = getBooleanProp(props, ViewProps.INCLUDE_FONT_PADDING, true)
464
504
  result.setTextDecorationLine(getStringProp(props, ViewProps.TEXT_DECORATION_LINE))
505
+ result.textDecorationColor =
506
+ getIntProp(props, "textDecorationColor", android.graphics.Color.TRANSPARENT)
507
+ result.textDecorationStyle =
508
+ TextDecorationStyle.fromString(getStringProp(props, "textDecorationStyle"))
465
509
  result.setTextShadowOffset(
466
510
  if (props.hasKey(PROP_SHADOW_OFFSET)) props.getMap(PROP_SHADOW_OFFSET) else null
467
511
  )
@@ -483,6 +527,8 @@ public class TextAttributeProps private constructor() {
483
527
  "justify" -> Gravity.LEFT
484
528
  null,
485
529
  "auto" -> Gravity.NO_GRAVITY
530
+ "start" -> if (isRTL) Gravity.RIGHT else Gravity.LEFT
531
+ "end" -> if (isRTL) Gravity.LEFT else Gravity.RIGHT
486
532
  "left" -> if (isRTL) Gravity.RIGHT else Gravity.LEFT
487
533
  "right" -> if (isRTL) Gravity.LEFT else Gravity.RIGHT
488
534
  "center" -> Gravity.CENTER_HORIZONTAL