@depup/react-native 0.86.2-depup.0 → 0.87.0-depup.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 (1284) 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 -21
  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 -101
  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 +98 -183
  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 +205 -118
  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 +84 -160
  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/TextInput/AndroidTextInputNativeComponent.js +1 -1
  72. package/Libraries/Components/TextInput/InputAccessoryView.js +13 -61
  73. package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +2 -2
  74. package/Libraries/Components/TextInput/TextInput.d.ts +9 -2
  75. package/Libraries/Components/TextInput/TextInput.flow.js +20 -3
  76. package/Libraries/Components/TextInput/TextInput.js +116 -111
  77. package/Libraries/Components/TextInput/TextInputNativeCommands.js +3 -3
  78. package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +25 -19
  79. package/Libraries/Components/Touchable/Touchable.d.ts +1 -1
  80. package/Libraries/Components/Touchable/Touchable.js +94 -95
  81. package/Libraries/Components/Touchable/TouchableHighlight.js +45 -112
  82. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +13 -25
  83. package/Libraries/Components/Touchable/TouchableOpacity.js +14 -84
  84. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +4 -3
  85. package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +2 -2
  86. package/Libraries/Components/View/ReactNativeStyleAttributes.js +1 -0
  87. package/Libraries/Components/View/View.js +83 -86
  88. package/Libraries/Components/View/ViewAccessibility.d.ts +12 -2
  89. package/Libraries/Components/View/ViewAccessibility.js +17 -6
  90. package/Libraries/Components/View/ViewNativeComponent.js +4 -6
  91. package/Libraries/Components/View/ViewPropTypes.js +65 -13
  92. package/Libraries/Core/InitializeCore.js +9 -1
  93. package/Libraries/Core/ReactFiberErrorDialog.js +3 -3
  94. package/Libraries/Core/ReactNativeVersion.js +2 -2
  95. package/Libraries/Core/Timers/JSTimers.js +53 -52
  96. package/Libraries/Core/setUpGlobals.js +9 -4
  97. package/Libraries/Core/setUpNavigator.js +7 -2
  98. package/Libraries/Core/setUpReactDevTools.js +0 -118
  99. package/Libraries/Core/setUpXHR.js +6 -2
  100. package/Libraries/Debugging/DebuggingOverlay.js +2 -2
  101. package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +2 -2
  102. package/Libraries/EventEmitter/NativeEventEmitter.js +29 -0
  103. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +7 -7
  104. package/Libraries/EventEmitter/RCTNativeAppEventEmitter.d.ts +1 -1
  105. package/Libraries/EventEmitter/RCTNativeAppEventEmitter.js +3 -0
  106. package/Libraries/FBLazyVector/FBLazyVector.podspec +1 -1
  107. package/Libraries/Image/AssetSourceResolver.js +18 -27
  108. package/Libraries/Image/Image.android.js +13 -2
  109. package/Libraries/Image/Image.ios.js +3 -1
  110. package/Libraries/Image/ImageBackground.js +30 -18
  111. package/Libraries/Image/ImageProps.js +116 -117
  112. package/Libraries/Image/ImageSource.d.ts +1 -1
  113. package/Libraries/Image/ImageSource.js +9 -9
  114. package/Libraries/Image/ImageSourceUtils.js +10 -7
  115. package/Libraries/Image/ImageTypes.flow.js +2 -0
  116. package/Libraries/Image/ImageViewNativeComponent.js +1 -1
  117. package/Libraries/Image/RCTImageLoader.mm +61 -64
  118. package/Libraries/Image/RCTImageStoreManager.h +0 -2
  119. package/Libraries/Image/React-RCTImage.podspec +1 -1
  120. package/Libraries/Image/RelativeImageStub.js +1 -1
  121. package/Libraries/Image/resolveAssetSource.js +1 -1
  122. package/Libraries/Interaction/PanResponder.js +102 -97
  123. package/Libraries/LayoutAnimation/LayoutAnimation.js +22 -6
  124. package/Libraries/Linking/Linking.js +24 -23
  125. package/Libraries/LinkingIOS/React-RCTLinking.podspec +1 -1
  126. package/Libraries/Lists/FlatList.d.ts +6 -17
  127. package/Libraries/Lists/FlatList.js +7 -8
  128. package/Libraries/Lists/SectionList.js +7 -0
  129. package/Libraries/Lists/VirtualizedList.js +3 -0
  130. package/Libraries/Lists/VirtualizedSectionList.js +4 -0
  131. package/Libraries/LogBox/LogBox.js +3 -3
  132. package/Libraries/LogBox/UI/AnsiHighlight.js +2 -1
  133. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +2 -2
  134. package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +4 -1
  135. package/Libraries/LogBox/UI/LogBoxInspectorFooterButton.js +3 -1
  136. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +8 -2
  137. package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +9 -2
  138. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +17 -4
  139. package/Libraries/LogBox/UI/LogBoxInspectorSection.js +3 -1
  140. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +3 -1
  141. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +2 -0
  142. package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +4 -2
  143. package/Libraries/LogBox/UI/LogBoxMessage.js +18 -5
  144. package/Libraries/LogBox/UI/LogBoxNotificationCountBadge.js +4 -1
  145. package/Libraries/LogBox/UI/LogBoxNotificationMessage.js +1 -0
  146. package/Libraries/LogBox/UI/LogBoxStyle.js +0 -4
  147. package/Libraries/Modal/Modal.d.ts +5 -4
  148. package/Libraries/Modal/Modal.js +71 -37
  149. package/Libraries/Modal/RCTModalHostViewNativeComponent.js +2 -2
  150. package/Libraries/NativeAnimation/React-RCTAnimation.podspec +1 -1
  151. package/Libraries/NativeComponent/BaseViewConfig.android.js +17 -0
  152. package/Libraries/NativeComponent/ViewConfig.js +3 -3
  153. package/Libraries/NativeComponent/ViewConfigIgnore.js +1 -1
  154. package/Libraries/Network/RCTHTTPRequestHandler.h +1 -1
  155. package/Libraries/Network/React-RCTNetwork.podspec +1 -1
  156. package/Libraries/Performance/Systrace.js +36 -0
  157. package/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +4 -2
  158. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +29 -17
  159. package/Libraries/Pressability/Pressability.js +1 -1
  160. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +4 -0
  161. package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +1 -1
  162. package/Libraries/ReactNative/AppContainer-dev.js +3 -1
  163. package/Libraries/ReactNative/AppRegistry.flow.js +1 -0
  164. package/Libraries/ReactNative/AppRegistry.js +15 -11
  165. package/Libraries/ReactNative/AppRegistryImpl.js +57 -11
  166. package/Libraries/ReactNative/DisplayMode.js +1 -1
  167. package/Libraries/ReactNative/FabricUIManager.js +29 -26
  168. package/Libraries/ReactNative/I18nManager.js +20 -0
  169. package/Libraries/ReactNative/UIManager.js +53 -0
  170. package/Libraries/ReactNative/renderApplication.js +1 -1
  171. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +5 -126
  172. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js.flow +5 -41
  173. package/Libraries/Renderer/README.md +2 -2
  174. package/Libraries/Renderer/shims/ReactNativeTypes.js +36 -36
  175. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +4 -4
  176. package/Libraries/Required/RCTRequired.podspec +1 -1
  177. package/Libraries/Settings/React-RCTSettings.podspec +1 -1
  178. package/Libraries/Settings/Settings.ios.js +22 -0
  179. package/Libraries/Share/Share.js +25 -28
  180. package/Libraries/StyleSheet/PlatformColorValueTypes.js.flow +6 -0
  181. package/Libraries/StyleSheet/StyleSheet.js +42 -2
  182. package/Libraries/StyleSheet/StyleSheet.js.flow +1 -1
  183. package/Libraries/StyleSheet/StyleSheetExports.js +7 -5
  184. package/Libraries/StyleSheet/StyleSheetExports.js.flow +1 -1
  185. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +24 -3
  186. package/Libraries/StyleSheet/StyleSheetTypes.js +34 -6
  187. package/Libraries/StyleSheet/flattenStyle.js +28 -13
  188. package/Libraries/StyleSheet/private/_TransformStyle.js +16 -14
  189. package/Libraries/Text/React-RCTText.podspec +1 -1
  190. package/Libraries/Text/Text.js +12 -9
  191. package/Libraries/Text/TextEffectNativeComponent.js +31 -0
  192. package/Libraries/Text/TextInput/Multiline/RCTUITextView.mm +0 -1
  193. package/Libraries/Text/TextInput/RCTBackedTextInputViewProtocol.h +0 -1
  194. package/Libraries/Text/TextInput/Singleline/RCTUITextField.mm +0 -1
  195. package/Libraries/Text/TextProps.js +59 -93
  196. package/Libraries/Text/requireNativeTextEffect.js +28 -0
  197. package/Libraries/TurboModule/RCTExport.js +1 -1
  198. package/Libraries/TypeSafety/RCTTypeSafety.podspec +1 -1
  199. package/Libraries/Types/CoreEventTypes.d.ts +8 -0
  200. package/Libraries/Types/CoreEventTypes.js +32 -29
  201. package/Libraries/Types/UIManagerJSInterface.js +2 -2
  202. package/Libraries/Utilities/Appearance.d.ts +32 -17
  203. package/Libraries/Utilities/Appearance.js +35 -18
  204. package/Libraries/Utilities/BackHandler.android.js +13 -28
  205. package/Libraries/Utilities/BackHandler.js.flow +18 -2
  206. package/Libraries/Utilities/DevSettings.js +8 -1
  207. package/Libraries/Utilities/Dimensions.js +18 -12
  208. package/Libraries/Utilities/PixelRatio.js +5 -2
  209. package/Libraries/Utilities/Platform.js.flow +4 -0
  210. package/Libraries/Utilities/PlatformTypes.js +77 -0
  211. package/Libraries/Utilities/PolyfillFunctions.js +1 -1
  212. package/Libraries/Utilities/differ/deepDiffer.js +5 -2
  213. package/Libraries/Utilities/useColorScheme.js +11 -1
  214. package/Libraries/Utilities/useWindowDimensions.js +6 -0
  215. package/Libraries/Vibration/React-RCTVibration.podspec +1 -1
  216. package/Libraries/Vibration/Vibration.js +14 -11
  217. package/Libraries/vendor/emitter/EventEmitter.js +3 -3
  218. package/README.md +6 -8
  219. package/React/Base/RCTBridge+Private.h +0 -22
  220. package/React/Base/RCTBridge.h +10 -8
  221. package/React/Base/RCTBridge.mm +5 -447
  222. package/React/Base/RCTBridgeDelegate.h +1 -56
  223. package/React/Base/RCTBridgeModule.h +0 -9
  224. package/React/Base/RCTBridgeProxy.h +8 -0
  225. package/React/Base/RCTBridgeProxy.mm +3 -20
  226. package/React/Base/RCTBundleManager.h +0 -3
  227. package/React/Base/RCTBundleManager.m +0 -31
  228. package/React/Base/RCTBundleURLProvider.mm +4 -4
  229. package/React/Base/RCTCallableJSModules.m +0 -18
  230. package/React/Base/RCTConstants.h +1 -0
  231. package/React/Base/RCTConstants.m +1 -0
  232. package/React/Base/RCTConvert.mm +3 -0
  233. package/React/Base/RCTDisplayLink.h +3 -1
  234. package/React/Base/RCTJavaScriptExecutor.h +0 -69
  235. package/React/Base/RCTModuleData.mm +2 -483
  236. package/React/Base/RCTModuleRegistry.m +0 -25
  237. package/React/Base/RCTRootView.m +3 -374
  238. package/React/Base/RCTUtils.h +0 -3
  239. package/React/Base/RCTUtils.mm +17 -27
  240. package/React/Base/RCTVersion.m +2 -2
  241. package/React/Base/RCTViewRegistry.m +1 -29
  242. package/React/Base/Surface/RCTSurface.mm +1 -582
  243. package/React/Base/Surface/RCTSurfaceRootShadowView.m +0 -89
  244. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.mm +0 -1
  245. package/React/CoreModules/PlatformStubs/RCTStatusBarManager.mm +0 -2
  246. package/React/CoreModules/RCTAlertController.mm +1 -0
  247. package/React/CoreModules/RCTAlertManager.mm +0 -5
  248. package/React/CoreModules/RCTLogBox.mm +0 -11
  249. package/React/CoreModules/RCTLogBoxView.h +0 -3
  250. package/React/CoreModules/RCTLogBoxView.mm +0 -31
  251. package/React/CoreModules/RCTPerfMonitor.mm +0 -2
  252. package/React/CoreModules/RCTStatusBarManager.mm +0 -11
  253. package/React/CoreModules/React-CoreModules.podspec +1 -1
  254. package/React/CxxModule/RCTCxxUtils.h +0 -8
  255. package/React/CxxModule/RCTCxxUtils.mm +0 -17
  256. package/React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec-generated.mm +179 -7
  257. package/React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec.h +100 -2
  258. package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +373 -119
  259. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/ComponentDescriptors.cpp +1 -1
  260. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/ComponentDescriptors.h +1 -1
  261. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/EventEmitters.cpp +71 -71
  262. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/EventEmitters.h +96 -96
  263. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/Props.cpp +357 -363
  264. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/Props.h +211 -212
  265. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/RCTComponentViewHelpers.h +107 -107
  266. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/ShadowNodes.cpp +1 -1
  267. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/ShadowNodes.h +11 -11
  268. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/States.h +2 -2
  269. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropComponentView.h +4 -0
  270. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropComponentView.mm +4 -0
  271. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropCoordinatorAdapter.h +4 -0
  272. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropCoordinatorAdapter.mm +5 -0
  273. package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +0 -1
  274. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTEnhancedScrollView.mm +14 -0
  275. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +13 -4
  276. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTVirtualViewContainerState.mm +12 -26
  277. package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentView.mm +39 -4
  278. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +1 -1
  279. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +5 -5
  280. package/React/Fabric/Mounting/ComponentViews/VirtualView/RCTVirtualViewComponentView.mm +0 -18
  281. package/React/Fabric/Mounting/RCTComponentViewFactory.mm +9 -5
  282. package/React/Fabric/RCTSurfacePresenter.mm +86 -5
  283. package/React/Fabric/RCTSurfacePresenterBridgeAdapter.h +2 -0
  284. package/React/I18n/RCTLocalizedString.mm +38 -2
  285. package/React/Modules/RCTEventEmitter.m +30 -10
  286. package/React/Modules/RCTI18nUtil.m +3 -1
  287. package/React/Modules/RCTUIManager.mm +0 -1501
  288. package/React/React-RCTFBReactNativeSpec.podspec +2 -2
  289. package/React/React-RCTFabric.podspec +1 -1
  290. package/React/Runtime/React-RCTRuntime.podspec +1 -1
  291. package/React/Tests/Text/RCTAttributedTextUtilsTest.mm +27 -0
  292. package/React/Views/RCTModalHostViewController.h +0 -15
  293. package/React/Views/RCTModalHostViewManager.h +0 -24
  294. package/React/Views/RCTShadowView.h +0 -2
  295. package/React/Views/RCTShadowView.m +0 -723
  296. package/React/Views/ScrollView/RCTScrollView.h +0 -81
  297. package/React/Views/ScrollView/RCTScrollableProtocol.h +0 -4
  298. package/React-Core-prebuilt.podspec +45 -17
  299. package/React-Core.podspec +10 -3
  300. package/React.podspec +1 -1
  301. package/ReactAndroid/api/ReactAndroid.api +128 -142
  302. package/ReactAndroid/build.gradle.kts +27 -22
  303. package/ReactAndroid/external-artifacts/build.gradle.kts +49 -0
  304. package/ReactAndroid/gradle.properties +1 -1
  305. package/ReactAndroid/hermes-engine/build.gradle.kts +14 -14
  306. package/ReactAndroid/publish.gradle +5 -5
  307. package/ReactAndroid/src/debug/AndroidManifest.xml +6 -0
  308. package/ReactAndroid/src/debugOptimized/AndroidManifest.xml +22 -0
  309. package/ReactAndroid/src/main/java/com/facebook/react/BaseReactPackage.kt +3 -7
  310. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +4 -2
  311. package/ReactAndroid/src/main/java/com/facebook/react/ReactDelegate.kt +4 -6
  312. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +0 -3
  313. package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.kt +212 -0
  314. package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +0 -16
  315. package/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.kt +6 -1
  316. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Arguments.kt +1 -0
  317. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BridgeReactContext.kt +287 -0
  318. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ColorPropConverter.kt +16 -0
  319. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +15 -2
  320. package/ReactAndroid/src/main/java/com/facebook/react/bridge/interop/InteropModuleRegistry.kt +1 -3
  321. package/ReactAndroid/src/main/java/com/facebook/react/common/build/ReactBuildConfig.kt +4 -0
  322. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/MapBuffer.kt +50 -2
  323. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.kt +63 -22
  324. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/WritableMapBuffer.kt +33 -0
  325. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultNewArchitectureEntryPoint.kt +4 -12
  326. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactActivityDelegate.kt +14 -10
  327. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactNativeHost.kt +6 -6
  328. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BundleDownloader.kt +50 -47
  329. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/CxxInspectorPackagerConnection.kt +1 -1
  330. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.kt +0 -4
  331. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.kt +10 -10
  332. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LocalNetworkPermissionUtil.kt +49 -0
  333. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/MultipartStreamReader.kt +101 -26
  334. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +40 -38
  335. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManagerBinding.kt +1 -10
  336. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManagerProviderImpl.kt +0 -3
  337. package/ReactAndroid/src/main/java/com/facebook/react/fabric/ViewTransitionSnapshotManager.kt +15 -11
  338. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.kt +4 -4
  339. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.kt +7 -13
  340. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.kt +160 -187
  341. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SynchronousMountItem.kt +12 -8
  342. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +30 -66
  343. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +51 -111
  344. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +11 -23
  345. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +12 -24
  346. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +57 -123
  347. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Canary_Android.kt +7 -5
  348. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Experimental_Android.kt +3 -5
  349. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +11 -23
  350. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeNewArchitectureFeatureFlags.kt +0 -24
  351. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeNewArchitectureFeatureFlagsDefaults.kt +0 -4
  352. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.kt +1 -0
  353. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.kt +2 -2
  354. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/TimingModule.kt +3 -0
  355. package/ReactAndroid/src/main/java/com/facebook/react/modules/image/ImageLoaderModule.kt +50 -0
  356. package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.kt +1 -1
  357. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkEventUtil.kt +53 -3
  358. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.kt +2 -2
  359. package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/StatusBarModule.kt +2 -77
  360. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +2 -2
  361. package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/WebSocketModule.kt +2 -2
  362. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessCatalystInstance.kt +1 -1
  363. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessReactContext.kt +9 -4
  364. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.kt +4 -19
  365. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.kt +2 -6
  366. package/ReactAndroid/src/main/java/com/facebook/react/touch/ReactInterceptingViewGroup.kt +4 -4
  367. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +47 -10
  368. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/DisplayMetricsHolder.kt +1 -49
  369. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/HasChildPressedStateDelay.kt +29 -0
  370. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSPointerDispatcher.kt +796 -0
  371. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSTouchDispatcher.kt +2 -4
  372. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.kt +27 -27
  373. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.kt +184 -0
  374. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNode.kt +486 -0
  375. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNodeImpl.java +8 -8
  376. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ShadowNodeRegistry.kt +2 -2
  377. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/SkewMatrixHelper.kt +200 -0
  378. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ThemedReactContext.kt +3 -0
  379. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.kt +6 -1
  380. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TransformHelper.kt +2 -2
  381. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIBlock.kt +7 -1
  382. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.kt +645 -0
  383. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstantsHelper.kt +2 -3
  384. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.kt +142 -0
  385. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupManager.kt +0 -10
  386. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManager.java +3 -3
  387. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagersPropertyCache.kt +527 -0
  388. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewProps.kt +3 -1
  389. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderRadiusStyle.kt +6 -6
  390. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/ColorStop.kt +6 -0
  391. package/ReactAndroid/src/main/java/com/facebook/react/util/AndroidVersion.kt +7 -0
  392. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayout.kt +8 -1
  393. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.kt +0 -3
  394. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt +2 -0
  395. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ReactProgressBarViewManager.kt +4 -4
  396. package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaView.kt +2 -0
  397. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.kt +1640 -0
  398. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.kt +6 -6
  399. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactNestedScrollView.kt +1317 -0
  400. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactNestedScrollViewManager.kt +8 -8
  401. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.kt +1309 -0
  402. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.kt +7 -7
  403. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VirtualViewContainer.kt +19 -33
  404. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VirtualViewContainerStateClassic.kt +8 -6
  405. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VirtualViewContainerStateExperimental.kt +4 -4
  406. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/generate-nested-scroll-view.js +13 -20
  407. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/ReactSwipeRefreshLayout.kt +7 -1
  408. package/ReactAndroid/src/main/java/com/facebook/react/views/text/MutableSpannableLayout.kt +107 -0
  409. package/ReactAndroid/src/main/java/com/facebook/react/views/text/PreparedLayoutTextView.kt +122 -10
  410. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +92 -2
  411. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.kt +3 -0
  412. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTypefaceUtils.kt +41 -0
  413. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.kt +48 -2
  414. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextDecorationStyle.kt +200 -0
  415. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextEffectRegistry.kt +45 -0
  416. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextEffectSpanFactory.kt +17 -0
  417. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.kt +361 -15
  418. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/AnimatedEffectSpan.kt +37 -0
  419. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/{DrawCommandSpan.kt → CanvasEffectSpan.kt} +3 -4
  420. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/CustomStyleSpan.kt +23 -3
  421. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactStrikethroughSpan.kt +30 -3
  422. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactUnderlineSpan.kt +25 -3
  423. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/SetSpanOperation.kt +1 -1
  424. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/StatefulSpan.kt +21 -0
  425. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/TextEffectSpan.kt +19 -0
  426. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/TouchableSpan.kt +29 -0
  427. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.kt +83 -11
  428. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.kt +6 -2
  429. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextSelectionWatcher.kt +1 -1
  430. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.kt +3 -17
  431. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.kt +8 -0
  432. package/ReactAndroid/src/main/java/com/facebook/react/views/view/WindowUtil.kt +2 -0
  433. package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/VirtualViewRenderState.kt +1 -1
  434. package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/view/ReactVirtualView.kt +7 -8
  435. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaAlign.kt +45 -0
  436. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaBoxSizing.kt +27 -0
  437. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfig.kt +15 -0
  438. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfigJNIBase.kt +6 -0
  439. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDimension.kt +27 -0
  440. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDisplay.kt +31 -0
  441. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaEdge.kt +41 -0
  442. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaErrata.kt +37 -0
  443. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaExperimentalFeature.kt +27 -0
  444. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaFlexDirection.kt +31 -0
  445. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaGridTrackType.kt +33 -0
  446. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaGutter.kt +29 -0
  447. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaJustify.kt +43 -0
  448. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaLogLevel.kt +39 -0
  449. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaMeasureMode.kt +29 -0
  450. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNative.kt +16 -0
  451. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNode.kt +12 -2
  452. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.kt +762 -0
  453. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIFinalizer.kt +4 -4
  454. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeType.kt +27 -0
  455. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaOverflow.kt +29 -0
  456. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaPositionType.kt +29 -0
  457. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaProps.kt +24 -2
  458. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaUnit.kt +37 -0
  459. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaWrap.kt +29 -0
  460. package/ReactAndroid/src/main/jni/CMakeLists.txt +1 -2
  461. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNIVanilla.cpp +94 -0
  462. package/ReactAndroid/src/main/jni/react/devsupport/JCxxInspectorPackagerConnectionDelegateImpl.cpp +3 -0
  463. package/ReactAndroid/src/main/jni/react/fabric/AndroidAnimationChoreographer.h +10 -10
  464. package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.cpp +3 -0
  465. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.cpp +12 -15
  466. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.h +1 -3
  467. package/ReactAndroid/src/main/jni/react/fabric/test/FabricMountingManagerTest.cpp +159 -0
  468. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +69 -153
  469. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +15 -33
  470. package/ReactAndroid/src/main/jni/react/jni/JReactMarker.cpp +10 -24
  471. package/ReactAndroid/src/main/jni/react/jni/JReactMarker.h +0 -2
  472. package/ReactAndroid/src/main/jni/react/mapbuffer/react/common/mapbuffer/JWritableMapBuffer.cpp +13 -0
  473. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactInstance.cpp +4 -1
  474. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.cpp +8 -0
  475. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.h +4 -0
  476. package/ReactAndroid/src/main/res/views/uimanager/values/ids.xml +5 -0
  477. package/ReactAndroid/src/main/res/views/uimanager/values-zu/strings.xml +3 -0
  478. package/ReactApple/Libraries/RCTFoundation/RCTDeprecation/RCTDeprecation.podspec +1 -1
  479. package/ReactApple/RCTAnimatedModuleProvider/React-RCTAnimatedModuleProvider.podspec +63 -0
  480. package/ReactApple/RCTSwiftUI/RCTSwiftUI.podspec +1 -1
  481. package/ReactApple/RCTSwiftUIWrapper/RCTSwiftUIWrapper.podspec +1 -1
  482. package/ReactCommon/React-Fabric.podspec +3 -1
  483. package/ReactCommon/React-FabricComponents.podspec +1 -1
  484. package/ReactCommon/React-FabricImage.podspec +1 -1
  485. package/ReactCommon/React-Mapbuffer.podspec +1 -1
  486. package/ReactCommon/ReactCommon.podspec +3 -13
  487. package/ReactCommon/callinvoker/React-callinvoker.podspec +1 -1
  488. package/ReactCommon/cmake-utils/react-native-flags.cmake +1 -3
  489. package/ReactCommon/cxxreact/CMakeLists.txt +1 -0
  490. package/ReactCommon/cxxreact/ErrorUtils.h +2 -32
  491. package/ReactCommon/cxxreact/Instance.cpp +1 -26
  492. package/ReactCommon/cxxreact/Instance.h +0 -2
  493. package/ReactCommon/cxxreact/NativeToJsBridge.cpp +3 -2
  494. package/ReactCommon/cxxreact/RAMBundleRegistry.cpp +0 -12
  495. package/ReactCommon/cxxreact/RAMBundleRegistry.h +0 -5
  496. package/ReactCommon/cxxreact/React-cxxreact.podspec +3 -2
  497. package/ReactCommon/cxxreact/ReactMarker.cpp +4 -30
  498. package/ReactCommon/cxxreact/ReactMarker.h +38 -21
  499. package/ReactCommon/cxxreact/ReactNativeVersion.h +4 -4
  500. package/ReactCommon/cxxreact/TraceSection.h +1 -1
  501. package/ReactCommon/cxxreact/tests/methodcall.cpp +4 -0
  502. package/ReactCommon/hermes/React-hermes.podspec +1 -1
  503. package/ReactCommon/hermes/executor/HermesExecutorFactory.cpp +6 -79
  504. package/ReactCommon/hermes/executor/React-jsitracing.podspec +1 -1
  505. package/ReactCommon/jserrorhandler/ErrorUtils.cpp +42 -0
  506. package/{React/CxxLogUtils/RCTDefaultCxxLogFunction.h → ReactCommon/jserrorhandler/ErrorUtils.h} +2 -2
  507. package/ReactCommon/jserrorhandler/JsErrorHandler.cpp +1 -1
  508. package/ReactCommon/jserrorhandler/React-jserrorhandler.podspec +3 -4
  509. package/ReactCommon/jsi/React-jsi.podspec +1 -1
  510. package/ReactCommon/jsi/jsi/hermes-interfaces.h +53 -0
  511. package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +3 -2
  512. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp +3 -14
  513. package/ReactCommon/jsiexecutor/jsireact/JSINativeModules.cpp +4 -13
  514. package/ReactCommon/jsinspector-modern/HostAgent.cpp +54 -0
  515. package/ReactCommon/jsinspector-modern/HostTarget.h +0 -7
  516. package/ReactCommon/jsinspector-modern/HostTargetTraceRecording.cpp +10 -7
  517. package/ReactCommon/jsinspector-modern/InspectorPackagerConnection.cpp +4 -1
  518. package/ReactCommon/jsinspector-modern/React-jsinspector.podspec +1 -1
  519. package/ReactCommon/jsinspector-modern/RuntimeAgent.cpp +7 -0
  520. package/ReactCommon/jsinspector-modern/RuntimeTarget.cpp +20 -0
  521. package/ReactCommon/jsinspector-modern/RuntimeTarget.h +16 -0
  522. package/ReactCommon/jsinspector-modern/SessionState.h +31 -0
  523. package/ReactCommon/jsinspector-modern/cdp/React-jsinspectorcdp.podspec +1 -1
  524. package/ReactCommon/jsinspector-modern/network/React-jsinspectornetwork.podspec +1 -1
  525. package/ReactCommon/jsinspector-modern/tests/HostTargetTest.cpp +53 -0
  526. package/ReactCommon/jsinspector-modern/tracing/HostTracingProfile.h +14 -1
  527. package/ReactCommon/jsinspector-modern/tracing/React-jsinspectortracing.podspec +1 -1
  528. package/ReactCommon/jsinspector-modern/tracing/TraceRecordingState.h +11 -0
  529. package/ReactCommon/jsitooling/React-jsitooling.podspec +1 -1
  530. package/ReactCommon/logger/React-logger.podspec +1 -1
  531. package/ReactCommon/oscompat/React-oscompat.podspec +1 -1
  532. package/ReactCommon/react/bridging/ArrayBuffer.h +180 -0
  533. package/ReactCommon/react/bridging/Bridging.h +1 -0
  534. package/ReactCommon/react/bridging/Convert.h +12 -0
  535. package/ReactCommon/react/bridging/React-bridging.podspec +44 -0
  536. package/ReactCommon/react/bridging/tests/BridgingTest.cpp +185 -11
  537. package/ReactCommon/react/bridging/tests/ClassTest.cpp +22 -0
  538. package/ReactCommon/react/cxxstableapi/CMakeLists.txt +18 -0
  539. package/ReactCommon/react/cxxstableapi/FrameworksGuard.h +35 -0
  540. package/ReactCommon/react/cxxstableapi/PrivateGuard.h +34 -0
  541. package/ReactCommon/react/cxxstableapi/React-cxxstableapi.podspec +34 -0
  542. package/ReactCommon/react/cxxstableapi/UmbrellaGuard.h +53 -0
  543. package/ReactCommon/react/debug/React-debug.podspec +1 -1
  544. package/ReactCommon/react/debug/redbox/JscSafeUrl.h +1 -1
  545. package/ReactCommon/react/featureflags/React-featureflags.podspec +1 -1
  546. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +21 -45
  547. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +26 -56
  548. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +134 -242
  549. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +14 -26
  550. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +20 -44
  551. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +43 -97
  552. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSCanary.h +10 -6
  553. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSExperimental.h +3 -7
  554. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSStable.h +0 -8
  555. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +7 -13
  556. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModule.h +1 -0
  557. package/ReactCommon/react/nativemodule/core/iostests/RCTTurboModuleTests.mm +49 -0
  558. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaInteropTurboModule.cpp +4 -0
  559. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaInteropTurboModule.h +4 -0
  560. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +2 -2
  561. package/ReactCommon/react/nativemodule/core/platform/ios/React-NativeModulesApple.podspec +2 -2
  562. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.h +4 -0
  563. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.mm +5 -1
  564. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +61 -4
  565. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.h +0 -9
  566. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.mm +37 -139
  567. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleWithJSIBindings.h +0 -3
  568. package/ReactCommon/react/nativemodule/defaults/DefaultTurboModules.cpp +6 -0
  569. package/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec +1 -1
  570. package/ReactCommon/react/nativemodule/dom/NativeDOM.cpp +10 -4
  571. package/ReactCommon/react/nativemodule/dom/React-domnativemodule.podspec +2 -1
  572. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +25 -55
  573. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +11 -23
  574. package/ReactCommon/react/nativemodule/featureflags/React-featureflagsnativemodule.podspec +1 -1
  575. package/ReactCommon/react/nativemodule/idlecallbacks/React-idlecallbacksnativemodule.podspec +2 -1
  576. package/ReactCommon/react/nativemodule/intersectionobserver/React-intersectionobservernativemodule.podspec +2 -1
  577. package/ReactCommon/react/nativemodule/microtasks/React-microtasksnativemodule.podspec +1 -1
  578. package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.cpp +4 -0
  579. package/ReactCommon/react/nativemodule/mutationobserver/React-mutationobservernativemodule.podspec +2 -1
  580. package/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec +1 -1
  581. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboModule.h +1 -1
  582. package/ReactCommon/react/nativemodule/viewtransition/React-viewtransitionnativemodule.podspec +1 -1
  583. package/ReactCommon/react/nativemodule/webperformance/React-webperformancenativemodule.podspec +2 -1
  584. package/ReactCommon/react/networking/React-networking.podspec +1 -1
  585. package/ReactCommon/react/performance/cdpmetrics/React-performancecdpmetrics.podspec +1 -1
  586. package/ReactCommon/react/performance/timeline/React-performancetimeline.podspec +1 -1
  587. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.cpp +95 -63
  588. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.h +20 -1
  589. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManagerProvider.cpp +7 -10
  590. package/ReactCommon/react/renderer/animated/drivers/FrameAnimationDriver.cpp +20 -1
  591. package/ReactCommon/react/renderer/animated/drivers/FrameAnimationDriver.h +1 -0
  592. package/ReactCommon/react/renderer/animated/internal/primitives.h +1 -1
  593. package/ReactCommon/react/renderer/animated/nodes/InterpolationAnimatedNode.cpp +67 -6
  594. package/ReactCommon/react/renderer/animated/nodes/InterpolationAnimatedNode.h +12 -0
  595. package/ReactCommon/react/renderer/animated/nodes/PropsAnimatedNode.cpp +25 -13
  596. package/ReactCommon/react/renderer/animated/nodes/PropsAnimatedNode.h +7 -0
  597. package/ReactCommon/react/renderer/animated/tests/AnimationDriverTests.cpp +48 -0
  598. package/ReactCommon/react/renderer/animated/tests/DecayAnimationDriverTest.cpp +245 -0
  599. package/ReactCommon/react/renderer/animated/tests/ManagedPropsMountingOverrideTests.cpp +204 -0
  600. package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.cpp +10 -1
  601. package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.h +1 -0
  602. package/ReactCommon/react/renderer/animationbackend/AnimationBackend.cpp +17 -0
  603. package/ReactCommon/react/renderer/animations/tests/LayoutAnimationTest.cpp +0 -2
  604. package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +6 -2
  605. package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +25 -1
  606. package/ReactCommon/react/renderer/attributedstring/conversions.h +29 -1
  607. package/ReactCommon/react/renderer/attributedstring/primitives.h +4 -2
  608. package/ReactCommon/react/renderer/attributedstring/tests/ParagraphAttributesTest.cpp +73 -0
  609. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +6 -0
  610. package/ReactCommon/react/renderer/components/image/ImageProps.cpp +79 -126
  611. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropShadowNode.cpp +4 -0
  612. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropShadowNode.h +4 -0
  613. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropState.h +4 -0
  614. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropViewProps.cpp +5 -0
  615. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropViewProps.h +4 -0
  616. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/UnstableLegacyViewManagerAutomaticComponentDescriptor.cpp +5 -0
  617. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/UnstableLegacyViewManagerAutomaticComponentDescriptor.h +4 -0
  618. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/UnstableLegacyViewManagerAutomaticShadowNode.cpp +4 -0
  619. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/UnstableLegacyViewManagerAutomaticShadowNode.h +4 -0
  620. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/UnstableLegacyViewManagerInteropComponentDescriptor.h +4 -0
  621. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/platform/ios/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.h +4 -0
  622. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/platform/ios/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.mm +5 -0
  623. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/platform/ios/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.h +4 -0
  624. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/platform/ios/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.mm +5 -0
  625. package/ReactCommon/react/renderer/components/scrollview/BaseScrollViewProps.cpp +235 -352
  626. package/ReactCommon/react/renderer/components/scrollview/platform/android/react/renderer/components/scrollview/HostPlatformScrollViewProps.cpp +30 -46
  627. package/ReactCommon/react/renderer/components/text/BaseParagraphProps.cpp +17 -27
  628. package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +8 -10
  629. package/ReactCommon/react/renderer/components/text/BaseTextShadowNode.cpp +19 -0
  630. package/ReactCommon/react/renderer/components/text/TextEffectComponentDescriptor.h +17 -0
  631. package/ReactCommon/react/renderer/components/text/TextEffectProps.cpp +59 -0
  632. package/ReactCommon/react/renderer/components/text/TextEffectProps.h +30 -0
  633. package/{Libraries/Text/VirtualText/RCTVirtualTextView.mm → ReactCommon/react/renderer/components/text/TextEffectShadowNode.cpp} +4 -6
  634. package/ReactCommon/react/renderer/components/text/TextEffectShadowNode.h +26 -0
  635. package/ReactCommon/react/renderer/components/text/platform/android/react/renderer/components/text/HostPlatformParagraphProps.cpp +18 -28
  636. package/ReactCommon/react/renderer/components/text/tests/BaseTextShadowNodeTest.cpp +15 -0
  637. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputProps.cpp +42 -50
  638. package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +168 -754
  639. package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +0 -9
  640. package/ReactCommon/react/renderer/components/view/BaseViewProps.cpp +248 -312
  641. package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +0 -6
  642. package/ReactCommon/react/renderer/components/view/ViewShadowNode.h +2 -12
  643. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +73 -27
  644. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.h +7 -9
  645. package/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +3 -11
  646. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.cpp +82 -162
  647. package/ReactCommon/react/renderer/components/view/primitives.h +5 -0
  648. package/ReactCommon/react/renderer/components/view/propsConversions.h +74 -42
  649. package/ReactCommon/react/renderer/components/view/tests/LayoutTest.cpp +5 -5
  650. package/ReactCommon/react/renderer/components/view/tests/ViewTest.cpp +353 -6
  651. package/ReactCommon/react/renderer/consistency/React-rendererconsistency.podspec +1 -1
  652. package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +41 -16
  653. package/ReactCommon/react/renderer/core/ConcreteShadowNode.h +19 -0
  654. package/ReactCommon/react/renderer/core/EventEmitter.cpp +20 -4
  655. package/ReactCommon/react/renderer/core/LayoutMetrics.h +3 -0
  656. package/ReactCommon/react/renderer/core/Props.cpp +8 -39
  657. package/ReactCommon/react/renderer/core/Props.h +63 -13
  658. package/ReactCommon/react/renderer/core/RawProps.cpp +20 -3
  659. package/ReactCommon/react/renderer/core/RawProps.h +44 -0
  660. package/ReactCommon/react/renderer/core/RawPropsKeyMap.cpp +11 -27
  661. package/ReactCommon/react/renderer/core/RawPropsKeyMap.h +3 -3
  662. package/ReactCommon/react/renderer/core/RawPropsParser.cpp +4 -6
  663. package/ReactCommon/react/renderer/core/RawPropsParser.h +3 -3
  664. package/ReactCommon/react/renderer/core/StateData.h +4 -4
  665. package/ReactCommon/react/renderer/core/propsConversions.h +3 -7
  666. package/ReactCommon/react/renderer/core/tests/ComponentDescriptorTest.cpp +8 -0
  667. package/ReactCommon/react/renderer/core/tests/FindNodeAtPointTest.cpp +7 -7
  668. package/ReactCommon/react/renderer/core/tests/LayoutableShadowNodeTest.cpp +19 -19
  669. package/ReactCommon/react/renderer/core/tests/PropsConceptsTest.cpp +135 -0
  670. package/ReactCommon/react/renderer/core/tests/RawPropsTest.cpp +43 -53
  671. package/ReactCommon/react/renderer/css/React-renderercss.podspec +1 -1
  672. package/ReactCommon/react/renderer/debug/React-rendererdebug.podspec +1 -1
  673. package/ReactCommon/react/renderer/element/tests/ElementTest.cpp +3 -3
  674. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +1 -1
  675. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/conversions.h +17 -0
  676. package/ReactCommon/react/renderer/imagemanager/platform/ios/React-ImageManager.podspec +1 -1
  677. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTSyncImageManager.mm +1 -1
  678. package/ReactCommon/react/renderer/mapbuffer/MapBuffer.cpp +123 -33
  679. package/ReactCommon/react/renderer/mapbuffer/MapBuffer.h +26 -14
  680. package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.cpp +96 -53
  681. package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.h +4 -0
  682. package/ReactCommon/react/renderer/mapbuffer/tests/MapBufferTest.cpp +96 -1
  683. package/ReactCommon/react/renderer/mounting/Differentiator.cpp +29 -318
  684. package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +105 -33
  685. package/ReactCommon/react/renderer/mounting/ShadowTree.h +2 -0
  686. package/ReactCommon/react/renderer/mounting/internal/CullingContext.cpp +1 -1
  687. package/ReactCommon/react/renderer/mounting/tests/DifferentiatorUnflattenTest.cpp +11 -3
  688. package/ReactCommon/react/renderer/mounting/tests/OrderIndexTest.cpp +1 -1
  689. package/ReactCommon/react/renderer/mounting/tests/ShadowTreeLifeCycleTest.cpp +15 -250
  690. package/ReactCommon/react/renderer/mounting/tests/ShadowTreeReactBranchingTest.cpp +141 -0
  691. package/ReactCommon/react/renderer/mounting/tests/StackingContextTest.cpp +1 -1
  692. package/ReactCommon/react/renderer/runtimescheduler/CMakeLists.txt +1 -0
  693. package/ReactCommon/react/renderer/runtimescheduler/React-runtimescheduler.podspec +2 -1
  694. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +22 -2
  695. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h +13 -2
  696. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Legacy.cpp +13 -0
  697. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Legacy.h +9 -0
  698. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.cpp +43 -5
  699. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.h +17 -1
  700. package/ReactCommon/react/renderer/runtimescheduler/Task.h +4 -0
  701. package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +113 -8
  702. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +14 -6
  703. package/ReactCommon/react/renderer/scheduler/Scheduler.h +3 -2
  704. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp +1 -85
  705. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.h +0 -6
  706. package/ReactCommon/react/renderer/scheduler/tests/SchedulerDelegateInvalidationTest.cpp +671 -0
  707. package/ReactCommon/react/renderer/textlayoutmanager/TextMeasureCache.h +22 -5
  708. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +4 -2
  709. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.h +11 -0
  710. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.mm +65 -26
  711. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +193 -1
  712. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextPrimitivesConversions.h +14 -2
  713. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.mm +2 -1
  714. package/ReactCommon/react/renderer/textlayoutmanager/tests/TextLayoutManagerTest.cpp +86 -5
  715. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +31 -41
  716. package/ReactCommon/react/renderer/uimanager/UIManager.h +2 -2
  717. package/ReactCommon/react/renderer/uimanager/UIManagerDelegate.h +1 -1
  718. package/ReactCommon/react/renderer/uimanager/tests/FindShadowNodeByTagTest.cpp +1 -52
  719. package/ReactCommon/react/renderer/uimanager/tests/PointerEventsProcessorTest.cpp +4 -4
  720. package/ReactCommon/react/renderer/viewtransition/ViewTransitionModule.cpp +88 -39
  721. package/ReactCommon/react/renderer/viewtransition/ViewTransitionModule.h +12 -2
  722. package/ReactCommon/react/runtime/PlatformTimerRegistry.h +10 -0
  723. package/ReactCommon/react/runtime/React-RuntimeCore.podspec +1 -1
  724. package/ReactCommon/react/runtime/React-RuntimeHermes.podspec +1 -1
  725. package/ReactCommon/react/runtime/ReactInstance.cpp +79 -64
  726. package/ReactCommon/react/runtime/hermes/HermesInstance.cpp +0 -89
  727. package/ReactCommon/react/runtime/iostests/MainQueueCoordinatorTests.mm +99 -0
  728. package/ReactCommon/react/runtime/iostests/RCTInstanceTests.mm +244 -0
  729. package/ReactCommon/react/runtime/platform/ios/React-RuntimeApple.podspec +1 -1
  730. package/ReactCommon/react/runtime/platform/ios/ReactCommon/ObjCTimerRegistry.h +1 -1
  731. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.mm +47 -30
  732. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTJscInstance.mm +3 -2
  733. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTPerformanceLoggerUtils.mm +3 -2
  734. package/ReactCommon/react/runtime/tests/cxx/ReactInstanceTest.cpp +27 -3
  735. package/ReactCommon/react/runtime/tests/cxx/RuntimeExecutorShutdownTest.cpp +155 -0
  736. package/ReactCommon/react/timing/React-timing.podspec +1 -1
  737. package/ReactCommon/react/utils/React-utils.podspec +1 -1
  738. package/ReactCommon/react/utils/Telemetry.h +0 -13
  739. package/ReactCommon/react/utils/tests/Base64Tests.cpp +36 -0
  740. package/ReactCommon/reactperflogger/React-perflogger.podspec +1 -1
  741. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfettoLogger.cpp +0 -1
  742. package/ReactCommon/runtimeexecutor/React-runtimeexecutor.podspec +1 -1
  743. package/ReactCommon/runtimeexecutor/platform/ios/ReactCommon/RuntimeExecutorSyncUIThreadUtils.mm +21 -38
  744. package/ReactCommon/yoga/Yoga.podspec +2 -2
  745. package/ReactCommon/yoga/yoga/YGEnums.cpp +2 -0
  746. package/ReactCommon/yoga/yoga/YGEnums.h +1 -0
  747. package/ReactCommon/yoga/yoga/YGNode.cpp +27 -0
  748. package/ReactCommon/yoga/yoga/YGNode.h +69 -0
  749. package/ReactCommon/yoga/yoga/YGNodeLayout.h +0 -2
  750. package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.cpp +283 -10
  751. package/ReactCommon/yoga/yoga/config/Config.h +1 -1
  752. package/ReactCommon/yoga/yoga/enums/Errata.h +1 -0
  753. package/ReactCommon/yoga/yoga/node/LayoutResults.h +8 -0
  754. package/ReactCommon/yoga/yoga/node/Node.cpp +32 -0
  755. package/ReactCommon/yoga/yoga/node/Node.h +33 -0
  756. package/changes.json +5 -13
  757. package/cli.js +3 -182
  758. package/flow/bom.js.flow +42 -42
  759. package/flow/cssom.js.flow +21 -21
  760. package/flow/dom.js.flow +128 -128
  761. package/flow/global.js +6 -0
  762. package/gradle/libs.versions.toml +7 -5
  763. package/index.js +53 -86
  764. package/index.js.flow +53 -23
  765. package/package.json +44 -63
  766. package/react-native.config.js +82 -1
  767. package/scripts/cocoapods/fabric.rb +1 -1
  768. package/scripts/cocoapods/jsengine.rb +1 -1
  769. package/scripts/cocoapods/new_architecture.rb +1 -1
  770. package/scripts/cocoapods/rncore.rb +36 -78
  771. package/scripts/cocoapods/rncore_facades.rb +232 -0
  772. package/scripts/cocoapods/rndependencies.rb +64 -3
  773. package/scripts/cocoapods/rndeps_facades.rb +193 -0
  774. package/scripts/cocoapods/spm.rb +79 -12
  775. package/scripts/cocoapods/utils.rb +7 -9
  776. package/scripts/codegen/generate-artifacts-executor/generateSchemaInfos.js +0 -1
  777. package/scripts/codegen/templates/Package.swift.spm-template +97 -0
  778. package/scripts/codegen/templates/ReactAppDependencyProvider.podspec.template +1 -1
  779. package/scripts/codegen/templates/ReactCodegen.podspec.template +2 -2
  780. package/scripts/hermes/hermes-utils.js +27 -58
  781. package/scripts/ios-configure-glog.sh +1 -1
  782. package/scripts/react-native-xcode.sh +20 -0
  783. package/scripts/react_native_pods.rb +71 -21
  784. package/scripts/react_native_pods_utils/script_phases.sh +4 -3
  785. package/scripts/replace-rncore-version.js +57 -86
  786. package/scripts/setup-apple-spm.js +1267 -0
  787. package/scripts/spm/__doc__/rfc-spm-xcframework.md +707 -0
  788. package/scripts/spm/__doc__/spm-autolinking-plugins.md +244 -0
  789. package/scripts/spm/__doc__/spm-header-paths-contract.md +97 -0
  790. package/scripts/spm/__doc__/spm-plugins-assessment.md +128 -0
  791. package/scripts/spm/__doc__/spm-scripts.md +486 -0
  792. package/scripts/spm/autolinking-plugins.js +331 -0
  793. package/scripts/spm/download-spm-artifacts.js +1409 -0
  794. package/scripts/spm/expand-spm-dependencies.js +216 -0
  795. package/scripts/spm/flavored-frameworks.js +1008 -0
  796. package/scripts/spm/generate-spm-autolinking-config.js +221 -0
  797. package/scripts/spm/generate-spm-autolinking.js +1888 -0
  798. package/scripts/spm/generate-spm-package.js +302 -0
  799. package/scripts/spm/generate-spm-xcodeproj.js +2266 -0
  800. package/scripts/spm/read-podspec.js +695 -0
  801. package/scripts/spm/scaffold-package-swift.js +1206 -0
  802. package/scripts/spm/spm-pbxproj.js +654 -0
  803. package/scripts/spm/spm-types.js +520 -0
  804. package/scripts/spm/spm-utils.js +645 -0
  805. package/scripts/spm/sync-spm-autolinking.js +160 -0
  806. package/sdks/.hermesv1version +1 -1
  807. package/sdks/hermes-engine/hermes-engine.podspec +9 -39
  808. package/sdks/hermes-engine/hermes-utils.rb +19 -73
  809. package/sdks/hermes-engine/utils/replace_hermes_version.js +18 -4
  810. package/sdks/hermes-engine/version.properties +1 -2
  811. package/settings.gradle.kts +0 -43
  812. package/src/asset-registry.js +29 -0
  813. package/src/private/animated/NativeAnimatedHelper.js +45 -21
  814. package/src/private/assets/AssetRegistry.js +52 -0
  815. package/src/private/{specs_DEPRECATED/components → components/activityindicator/specs}/ActivityIndicatorViewNativeComponent.js +5 -5
  816. package/src/private/{specs_DEPRECATED/components → components/debuggingoverlay/specs}/DebuggingOverlayNativeComponent.js +8 -8
  817. package/src/private/{specs_DEPRECATED/components → components/drawerlayoutandroid/specs}/AndroidDrawerLayoutNativeComponent.js +8 -8
  818. package/src/private/{specs_DEPRECATED/components → components/inputaccessoryview/specs}/RCTInputAccessoryViewNativeComponent.js +4 -4
  819. package/src/private/{specs_DEPRECATED/components → components/modal/specs}/RCTModalHostViewNativeComponent.js +4 -9
  820. package/src/private/{specs_DEPRECATED/components → components/progressbarandroid/specs}/ProgressBarAndroidNativeComponent.js +5 -5
  821. package/src/private/{specs_DEPRECATED/components → components/refreshcontrol/specs}/AndroidSwipeRefreshLayoutNativeComponent.js +7 -7
  822. package/src/private/{specs_DEPRECATED/components → components/refreshcontrol/specs}/PullToRefreshViewNativeComponent.js +7 -7
  823. package/src/private/components/safeareaview/SafeAreaView_INTERNAL_DO_NOT_USE.js +2 -2
  824. package/src/private/{specs_DEPRECATED/components → components/safeareaview/specs}/RCTSafeAreaViewNativeComponent.js +3 -3
  825. package/src/private/components/scrollview/HScrollViewNativeComponents.js +1 -1
  826. package/src/private/{specs_DEPRECATED/components → components/scrollview/specs}/AndroidHorizontalScrollContentViewNativeComponent.js +3 -3
  827. package/src/private/{specs_DEPRECATED/components → components/switch/specs}/AndroidSwitchNativeComponent.js +7 -7
  828. package/src/private/{specs_DEPRECATED/components → components/switch/specs}/SwitchNativeComponent.js +10 -7
  829. package/src/private/{specs_DEPRECATED/components → components/unimplementedview/specs}/UnimplementedNativeViewNativeComponent.js +4 -4
  830. package/src/private/components/virtualcollection/Virtual.js +5 -5
  831. package/src/private/components/virtualcollection/VirtualCollectionView.js +2 -6
  832. package/src/private/components/virtualcollection/column/VirtualColumn.js +1 -1
  833. package/src/private/components/virtualcollection/row/VirtualRow.js +1 -1
  834. package/src/private/devsupport/devmenu/elementinspector/Inspector.js +3 -1
  835. package/src/private/devsupport/devmenu/specs/NativeDevMenu.js +4 -4
  836. package/src/private/devsupport/rndevtools/specs/NativeReactDevToolsRuntimeSettingsModule.js +4 -2
  837. package/src/private/devsupport/rndevtools/specs/NativeReactDevToolsSettingsManager.js +2 -2
  838. package/src/private/featureflags/ReactNativeFeatureFlags.js +46 -70
  839. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +88 -94
  840. package/src/private/renderer/errorhandling/ErrorHandlers.js +2 -2
  841. package/src/private/renderer/events/ReactNativeResponder.js +49 -4
  842. package/src/private/renderer/events/ResponderTouchHistoryStore.js +11 -2
  843. package/src/private/renderer/events/dispatchNativeEvent.js +71 -36
  844. package/src/private/setup/setUpDOM.js +19 -9
  845. package/src/private/setup/setUpIntersectionObserver.js +7 -0
  846. package/src/private/setup/setUpMutationObserver.js +3 -1
  847. package/src/private/specs_DEPRECATED/modules/NativeAccessibilityInfo.js +9 -9
  848. package/src/private/specs_DEPRECATED/modules/NativeAccessibilityManager.js +24 -24
  849. package/src/private/specs_DEPRECATED/modules/NativeActionSheetManager.js +28 -28
  850. package/src/private/specs_DEPRECATED/modules/NativeAlertManager.js +1 -1
  851. package/src/private/specs_DEPRECATED/modules/NativeAnimatedModule.js +45 -25
  852. package/src/private/specs_DEPRECATED/modules/NativeAnimatedTurboModule.js +44 -24
  853. package/src/private/specs_DEPRECATED/modules/NativeAppState.js +4 -4
  854. package/src/private/specs_DEPRECATED/modules/NativeAppearance.js +8 -6
  855. package/src/private/specs_DEPRECATED/modules/NativeBlobModule.js +7 -7
  856. package/src/private/specs_DEPRECATED/modules/NativeClipboard.js +3 -3
  857. package/src/private/specs_DEPRECATED/modules/NativeDevLoadingView.js +2 -2
  858. package/src/private/specs_DEPRECATED/modules/NativeDevSettings.js +11 -11
  859. package/src/private/specs_DEPRECATED/modules/NativeDeviceEventManager.js +1 -1
  860. package/src/private/specs_DEPRECATED/modules/NativeDeviceInfo.js +4 -4
  861. package/src/private/specs_DEPRECATED/modules/NativeDialogManagerAndroid.js +7 -7
  862. package/src/private/specs_DEPRECATED/modules/NativeExceptionsManager.js +4 -4
  863. package/src/private/specs_DEPRECATED/modules/NativeFileReaderModule.js +2 -2
  864. package/src/private/specs_DEPRECATED/modules/NativeFrameRateLogger.js +4 -4
  865. package/src/private/specs_DEPRECATED/modules/NativeHeadlessJsTaskSupport.js +2 -2
  866. package/src/private/specs_DEPRECATED/modules/NativeI18nManager.js +1 -1
  867. package/src/private/specs_DEPRECATED/modules/NativeImageEditor.js +13 -13
  868. package/src/private/specs_DEPRECATED/modules/NativeImageLoaderAndroid.js +9 -6
  869. package/src/private/specs_DEPRECATED/modules/NativeImageLoaderIOS.js +6 -6
  870. package/src/private/specs_DEPRECATED/modules/NativeImageStoreAndroid.js +2 -2
  871. package/src/private/specs_DEPRECATED/modules/NativeImageStoreIOS.js +8 -5
  872. package/src/private/specs_DEPRECATED/modules/NativeIntentAndroid.js +5 -5
  873. package/src/private/specs_DEPRECATED/modules/NativeJSCHeapCapture.js +1 -1
  874. package/src/private/specs_DEPRECATED/modules/NativeKeyboardObserver.js +2 -2
  875. package/src/private/specs_DEPRECATED/modules/NativeLinkingManager.js +6 -6
  876. package/src/private/specs_DEPRECATED/modules/NativeLogBox.js +2 -2
  877. package/src/private/specs_DEPRECATED/modules/NativeModalManager.js +2 -2
  878. package/src/private/specs_DEPRECATED/modules/NativeNetworkingAndroid.js +5 -5
  879. package/src/private/specs_DEPRECATED/modules/NativeNetworkingIOS.js +6 -6
  880. package/src/private/specs_DEPRECATED/modules/NativePermissionsAndroid.js +6 -4
  881. package/src/private/specs_DEPRECATED/modules/NativePlatformConstantsAndroid.js +2 -2
  882. package/src/private/specs_DEPRECATED/modules/NativePlatformConstantsIOS.js +1 -1
  883. package/src/private/specs_DEPRECATED/modules/NativePushNotificationManagerIOS.js +35 -31
  884. package/src/private/specs_DEPRECATED/modules/NativeRedBox.js +2 -2
  885. package/src/private/specs_DEPRECATED/modules/NativeSampleTurboModule.js +24 -24
  886. package/src/private/specs_DEPRECATED/modules/NativeSegmentFetcher.js +2 -2
  887. package/src/private/specs_DEPRECATED/modules/NativeSettingsManager.js +3 -3
  888. package/src/private/specs_DEPRECATED/modules/NativeShareModule.js +2 -2
  889. package/src/private/specs_DEPRECATED/modules/NativeSoundManager.js +1 -1
  890. package/src/private/specs_DEPRECATED/modules/NativeSourceCode.js +1 -1
  891. package/src/private/specs_DEPRECATED/modules/NativeStatusBarManagerAndroid.js +5 -17
  892. package/src/private/specs_DEPRECATED/modules/NativeStatusBarManagerIOS.js +10 -15
  893. package/src/private/specs_DEPRECATED/modules/NativeTiming.js +3 -3
  894. package/src/private/specs_DEPRECATED/modules/NativeToastAndroid.js +4 -4
  895. package/src/private/specs_DEPRECATED/modules/NativeUIManager.js +35 -22
  896. package/src/private/specs_DEPRECATED/modules/NativeVibration.js +4 -4
  897. package/src/private/specs_DEPRECATED/modules/NativeWebSocketModule.js +7 -7
  898. package/src/private/types/HostInstance.js +38 -80
  899. package/src/private/viewtransition/specs/NativeViewTransition.js +6 -4
  900. package/src/private/webapis/dom/abort-api/AbortController.js +92 -0
  901. package/src/private/webapis/dom/abort-api/AbortSignal.js +243 -0
  902. package/src/private/webapis/dom/events/CustomEvent.js +1 -1
  903. package/src/private/webapis/dom/events/Event.js +12 -12
  904. package/src/private/webapis/dom/events/EventTarget.js +146 -37
  905. package/src/private/webapis/dom/events/internals/EventInternals.js +36 -0
  906. package/src/private/webapis/dom/events/internals/EventTargetInternals.js +38 -3
  907. package/src/private/webapis/dom/nodes/ReactNativeDocument.js +11 -0
  908. package/src/private/webapis/dom/nodes/ReactNativeElement.js +105 -4
  909. package/src/private/webapis/dom/nodes/ReadOnlyCharacterData.js +11 -0
  910. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +9 -0
  911. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +34 -7
  912. package/src/private/webapis/dom/nodes/ReadOnlyText.js +33 -0
  913. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +46 -42
  914. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +12 -0
  915. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js.flow +4 -2
  916. package/src/private/webapis/dom/oldstylecollections/NodeList.js +10 -0
  917. package/src/private/webapis/dom/oldstylecollections/NodeList.js.flow +4 -3
  918. package/src/private/webapis/errors/DOMException.js +50 -50
  919. package/src/private/webapis/geometry/DOMRectList.js +12 -0
  920. package/src/private/webapis/geometry/DOMRectList.js.flow +3 -1
  921. package/src/private/webapis/html/events/MessageEvent.js +3 -3
  922. package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +2 -2
  923. package/src/private/webapis/intersectionobserver/IntersectionObserverEntry.js +13 -0
  924. package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +3 -7
  925. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +5 -5
  926. package/src/private/webapis/microtasks/specs/NativeMicrotasks.js +1 -1
  927. package/src/private/webapis/mutationobserver/MutationObserver.js +7 -7
  928. package/src/private/webapis/mutationobserver/MutationRecord.js +12 -0
  929. package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +5 -7
  930. package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +5 -5
  931. package/src/private/webapis/performance/EventTiming.js +3 -3
  932. package/src/private/webapis/performance/PerformanceEntry.js +3 -3
  933. package/src/private/webapis/performance/PerformanceObserver.js +4 -4
  934. package/src/private/webapis/performance/ResourceTiming.js +13 -13
  935. package/src/private/webapis/performance/UserTiming.js +3 -3
  936. package/src/private/webapis/performance/internals/Utilities.js +1 -1
  937. package/src/private/webapis/performance/specs/NativePerformance.js +26 -20
  938. package/src/private/webapis/utils/ArrayLikeUtils.js +1 -1
  939. package/src/private/webapis/websockets/events/CloseEvent.js +3 -3
  940. package/src/private/webapis/xhr/events/ProgressEvent.js +3 -3
  941. package/src/react-private-interface.js +145 -0
  942. package/src/react-private-interface.js.flow +48 -0
  943. package/src/setup-env.js +22 -0
  944. package/src/types/globals.d.ts +35 -3
  945. package/src/unstable-internals-do-not-use.d.ts +214 -0
  946. package/src/unstable-internals-do-not-use.js +76 -0
  947. package/third-party-podspecs/RCT-Folly.podspec +1 -1
  948. package/third-party-podspecs/ReactNativeDependencies.podspec +3 -3
  949. package/third-party-podspecs/glog.podspec +1 -1
  950. package/types/index.d.ts +0 -1
  951. package/types/public/DeprecatedPropertiesAlias.d.ts +0 -4
  952. package/types/public/ReactNativeTypes.d.ts +6 -4
  953. package/types_generated/Libraries/ActionSheetIOS/ActionSheetIOS.d.ts +26 -31
  954. package/types_generated/Libraries/Alert/Alert.d.ts +44 -7
  955. package/types_generated/Libraries/Animated/AnimatedEvent.d.ts +2 -2
  956. package/types_generated/Libraries/Animated/AnimatedExports.d.ts +2 -2
  957. package/types_generated/Libraries/Animated/AnimatedImplementation.d.ts +107 -3
  958. package/types_generated/Libraries/Animated/Easing.d.ts +5 -4
  959. package/types_generated/Libraries/Animated/animations/Animation.d.ts +7 -7
  960. package/types_generated/Libraries/Animated/animations/DecayAnimation.d.ts +5 -5
  961. package/types_generated/Libraries/Animated/animations/SpringAnimation.d.ts +49 -49
  962. package/types_generated/Libraries/Animated/animations/TimingAnimation.d.ts +13 -13
  963. package/types_generated/Libraries/Animated/components/AnimatedFlatList.d.ts +3 -3
  964. package/types_generated/Libraries/Animated/components/AnimatedScrollView.d.ts +2 -2
  965. package/types_generated/Libraries/Animated/components/AnimatedSectionList.d.ts +3 -3
  966. package/types_generated/Libraries/Animated/createAnimatedComponent.d.ts +4 -4
  967. package/types_generated/Libraries/Animated/nodes/AnimatedColor.d.ts +2 -2
  968. package/types_generated/Libraries/Animated/nodes/AnimatedInterpolation.d.ts +9 -9
  969. package/types_generated/Libraries/Animated/nodes/AnimatedNode.d.ts +3 -3
  970. package/types_generated/Libraries/AppState/AppState.d.ts +41 -22
  971. package/types_generated/Libraries/BatchedBridge/NativeModules.d.ts +8 -1
  972. package/types_generated/Libraries/Blob/BlobTypes.d.ts +4 -4
  973. package/types_generated/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +37 -46
  974. package/types_generated/Libraries/Components/ActivityIndicator/ActivityIndicator.d.ts +92 -43
  975. package/types_generated/Libraries/Components/Button.d.ts +118 -197
  976. package/types_generated/Libraries/Components/Clipboard/Clipboard.d.ts +6 -1
  977. package/types_generated/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidTypes.d.ts +44 -63
  978. package/types_generated/Libraries/Components/Keyboard/Keyboard.d.ts +30 -61
  979. package/types_generated/Libraries/Components/Keyboard/KeyboardAvoidingView.d.ts +30 -21
  980. package/types_generated/Libraries/Components/Pressable/Pressable.d.ts +41 -17
  981. package/types_generated/Libraries/Components/Pressable/useAndroidRippleForView.d.ts +6 -6
  982. package/types_generated/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.d.ts +5 -5
  983. package/types_generated/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidTypes.d.ts +18 -1
  984. package/types_generated/Libraries/Components/RefreshControl/RefreshControl.d.ts +35 -52
  985. package/types_generated/Libraries/Components/SafeAreaView/SafeAreaView.d.ts +9 -11
  986. package/types_generated/Libraries/Components/ScrollView/ScrollView.d.ts +212 -88
  987. package/types_generated/Libraries/Components/ScrollView/ScrollViewStickyHeader.d.ts +4 -4
  988. package/types_generated/Libraries/Components/StatusBar/StatusBar.d.ts +29 -62
  989. package/types_generated/Libraries/Components/Switch/Switch.d.ts +75 -70
  990. package/types_generated/Libraries/Components/TextInput/InputAccessoryView.d.ts +16 -65
  991. package/types_generated/Libraries/Components/TextInput/TextInput.d.ts +118 -3
  992. package/types_generated/Libraries/Components/TextInput/TextInput.flow.d.ts +24 -9
  993. package/types_generated/Libraries/Components/ToastAndroid/ToastAndroid.d.ts +18 -18
  994. package/types_generated/Libraries/Components/Touchable/TouchableHighlight.d.ts +24 -13
  995. package/types_generated/Libraries/Components/Touchable/TouchableNativeFeedback.d.ts +27 -64
  996. package/types_generated/Libraries/Components/Touchable/TouchableOpacity.d.ts +18 -6
  997. package/types_generated/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +28 -28
  998. package/types_generated/Libraries/Components/View/View.d.ts +13 -9
  999. package/types_generated/Libraries/Components/View/ViewAccessibility.d.ts +31 -20
  1000. package/types_generated/Libraries/Components/View/ViewNativeComponent.d.ts +1 -2
  1001. package/types_generated/Libraries/Components/View/ViewPropTypes.d.ts +75 -24
  1002. package/types_generated/Libraries/Core/ExtendedError.d.ts +10 -10
  1003. package/types_generated/Libraries/EventEmitter/NativeEventEmitter.d.ts +34 -1
  1004. package/types_generated/Libraries/EventEmitter/RCTNativeAppEventEmitter.d.ts +4 -1
  1005. package/types_generated/Libraries/Image/AssetSourceResolver.d.ts +2 -13
  1006. package/types_generated/Libraries/Image/ImageBackground.d.ts +33 -22
  1007. package/types_generated/Libraries/Image/ImageProps.d.ts +201 -251
  1008. package/types_generated/Libraries/Image/ImageTypes.flow.d.ts +6 -5
  1009. package/types_generated/Libraries/Interaction/PanResponder.d.ts +103 -97
  1010. package/types_generated/Libraries/LayoutAnimation/LayoutAnimation.d.ts +18 -7
  1011. package/types_generated/Libraries/Linking/Linking.d.ts +28 -20
  1012. package/types_generated/Libraries/Lists/FlatList.d.ts +17 -18
  1013. package/types_generated/Libraries/Lists/SectionList.d.ts +10 -5
  1014. package/types_generated/Libraries/Lists/VirtualizedList.d.ts +3 -1
  1015. package/types_generated/Libraries/Lists/VirtualizedSectionList.d.ts +3 -1
  1016. package/types_generated/Libraries/LogBox/Data/LogBoxData.d.ts +2 -2
  1017. package/types_generated/Libraries/LogBox/Data/LogBoxLog.d.ts +2 -2
  1018. package/types_generated/Libraries/LogBox/Data/parseLogBoxLog.d.ts +2 -2
  1019. package/types_generated/Libraries/LogBox/LogBox.d.ts +4 -1
  1020. package/types_generated/Libraries/Modal/Modal.d.ts +70 -35
  1021. package/types_generated/Libraries/Network/FormData.d.ts +5 -5
  1022. package/types_generated/Libraries/Performance/Systrace.d.ts +11 -1
  1023. package/types_generated/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +31 -21
  1024. package/types_generated/Libraries/Pressability/Pressability.d.ts +5 -5
  1025. package/types_generated/Libraries/PushNotificationIOS/PushNotificationIOS.d.ts +15 -11
  1026. package/types_generated/Libraries/ReactNative/AppRegistry.flow.d.ts +5 -5
  1027. package/types_generated/Libraries/ReactNative/AppRegistryImpl.d.ts +56 -9
  1028. package/types_generated/Libraries/ReactNative/I18nManager.d.ts +20 -1
  1029. package/types_generated/Libraries/ReactNative/IPerformanceLogger.flow.d.ts +5 -5
  1030. package/types_generated/Libraries/ReactPrivate/ReactNativePrivateInterface.d.ts +6 -22
  1031. package/types_generated/Libraries/Renderer/shims/ReactNativeTypes.d.ts +34 -34
  1032. package/types_generated/Libraries/Share/Share.d.ts +36 -39
  1033. package/types_generated/Libraries/StyleSheet/PlatformColorValueTypes.d.ts +7 -1
  1034. package/types_generated/Libraries/StyleSheet/PlatformColorValueTypesIOS.d.ts +3 -3
  1035. package/types_generated/Libraries/StyleSheet/StyleSheetTypes.d.ts +202 -181
  1036. package/types_generated/Libraries/StyleSheet/private/_TransformStyle.d.ts +3 -3
  1037. package/types_generated/Libraries/Text/Text.d.ts +10 -6
  1038. package/types_generated/Libraries/Text/TextProps.d.ts +57 -102
  1039. package/types_generated/Libraries/TurboModule/RCTExport.d.ts +2 -2
  1040. package/types_generated/Libraries/Types/CoreEventTypes.d.ts +14 -8
  1041. package/types_generated/Libraries/Utilities/Appearance.d.ts +25 -13
  1042. package/types_generated/Libraries/Utilities/BackHandler.d.ts +17 -1
  1043. package/types_generated/Libraries/Utilities/DevSettings.d.ts +9 -2
  1044. package/types_generated/Libraries/Utilities/Dimensions.d.ts +19 -13
  1045. package/types_generated/Libraries/Utilities/PixelRatio.d.ts +6 -3
  1046. package/types_generated/Libraries/Utilities/Platform.d.ts +5 -1
  1047. package/types_generated/Libraries/Utilities/PlatformTypes.d.ts +65 -6
  1048. package/types_generated/Libraries/Utilities/codegenNativeComponent.d.ts +5 -5
  1049. package/types_generated/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.d.ts +2 -2
  1050. package/types_generated/Libraries/Utilities/differ/deepDiffer.d.ts +2 -2
  1051. package/types_generated/Libraries/Utilities/useColorScheme.d.ts +12 -2
  1052. package/types_generated/Libraries/Utilities/useWindowDimensions.d.ts +7 -1
  1053. package/types_generated/Libraries/Vibration/Vibration.d.ts +14 -6
  1054. package/types_generated/index.d.ts +31 -25
  1055. package/types_generated/src/private/assets/AssetRegistry.d.ts +42 -0
  1056. package/types_generated/src/private/components/virtualcollection/VirtualCollectionView.d.ts +5 -5
  1057. package/types_generated/src/private/components/virtualcollection/column/VirtualColumn.d.ts +3 -3
  1058. package/types_generated/src/private/components/virtualcollection/row/VirtualRow.d.ts +3 -3
  1059. package/types_generated/src/private/components/virtualview/VirtualView.d.ts +7 -7
  1060. package/types_generated/src/private/components/virtualview/VirtualViewExperimentalNativeComponent.d.ts +5 -5
  1061. package/types_generated/src/private/components/virtualview/VirtualViewNativeComponent.d.ts +5 -5
  1062. package/types_generated/src/private/renderer/events/dispatchNativeEvent.d.ts +26 -0
  1063. package/types_generated/src/private/specs_DEPRECATED/modules/NativeAppearance.d.ts +6 -5
  1064. package/types_generated/src/private/specs_DEPRECATED/modules/NativeDeviceInfo.d.ts +7 -7
  1065. package/types_generated/src/private/specs_DEPRECATED/modules/NativeExceptionsManager.d.ts +5 -5
  1066. package/types_generated/src/private/specs_DEPRECATED/modules/NativeUIManager.d.ts +8 -8
  1067. package/types_generated/src/private/types/HostComponent.d.ts +3 -3
  1068. package/types_generated/src/private/types/HostInstance.d.ts +39 -74
  1069. package/types_generated/src/private/webapis/dom/events/CustomEvent.d.ts +2 -2
  1070. package/types_generated/src/private/webapis/dom/events/Event.d.ts +4 -4
  1071. package/types_generated/src/private/webapis/dom/events/EventTarget.d.ts +8 -8
  1072. package/types_generated/src/private/webapis/dom/nodes/ReactNativeDocument.d.ts +3 -1
  1073. package/types_generated/src/private/webapis/dom/nodes/ReactNativeElement.d.ts +57 -4
  1074. package/types_generated/src/private/webapis/dom/nodes/ReadOnlyCharacterData.d.ts +3 -1
  1075. package/types_generated/src/private/webapis/dom/nodes/ReadOnlyElement.d.ts +3 -1
  1076. package/types_generated/src/private/webapis/dom/nodes/ReadOnlyNode.d.ts +4 -2
  1077. package/types_generated/src/private/webapis/dom/nodes/ReadOnlyText.d.ts +3 -1
  1078. package/types_generated/src/private/webapis/dom/nodes/specs/NativeDOM.d.ts +3 -3
  1079. package/types_generated/src/private/webapis/dom/oldstylecollections/HTMLCollection.d.ts +3 -1
  1080. package/types_generated/src/private/webapis/dom/oldstylecollections/NodeList.d.ts +3 -1
  1081. package/types_generated/src/react-private-interface.d.ts +33 -0
  1082. package/Libraries/AppDelegate/RCTArchConfiguratorProtocol.h +0 -38
  1083. package/Libraries/Image/AssetRegistry.js +0 -14
  1084. package/Libraries/Image/RCTImageShadowView.h +0 -17
  1085. package/Libraries/Image/RCTImageShadowView.mm +0 -28
  1086. package/Libraries/Image/RCTImageView.h +0 -32
  1087. package/Libraries/Image/RCTImageView.mm +0 -508
  1088. package/Libraries/Image/RCTImageViewManager.h +0 -17
  1089. package/Libraries/Image/RCTImageViewManager.mm +0 -115
  1090. package/Libraries/Interaction/InteractionManager.d.ts +0 -87
  1091. package/Libraries/Interaction/InteractionManager.js +0 -189
  1092. package/Libraries/Text/BaseText/RCTBaseTextShadowView.h +0 -35
  1093. package/Libraries/Text/BaseText/RCTBaseTextShadowView.mm +0 -162
  1094. package/Libraries/Text/BaseText/RCTBaseTextViewManager.h +0 -21
  1095. package/Libraries/Text/BaseText/RCTBaseTextViewManager.mm +0 -64
  1096. package/Libraries/Text/RCTTextAttributes.h +0 -107
  1097. package/Libraries/Text/RCTTextAttributes.mm +0 -358
  1098. package/Libraries/Text/RawText/RCTRawTextShadowView.h +0 -23
  1099. package/Libraries/Text/RawText/RCTRawTextShadowView.mm +0 -38
  1100. package/Libraries/Text/RawText/RCTRawTextViewManager.h +0 -21
  1101. package/Libraries/Text/RawText/RCTRawTextViewManager.mm +0 -32
  1102. package/Libraries/Text/Text/RCTTextShadowView.h +0 -33
  1103. package/Libraries/Text/Text/RCTTextShadowView.mm +0 -469
  1104. package/Libraries/Text/Text/RCTTextView.h +0 -34
  1105. package/Libraries/Text/Text/RCTTextView.mm +0 -298
  1106. package/Libraries/Text/Text/RCTTextViewManager.h +0 -19
  1107. package/Libraries/Text/Text/RCTTextViewManager.mm +0 -97
  1108. package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputView.h +0 -21
  1109. package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputView.mm +0 -67
  1110. package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputViewManager.h +0 -21
  1111. package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputViewManager.mm +0 -28
  1112. package/Libraries/Text/TextInput/RCTBaseTextInputShadowView.h +0 -30
  1113. package/Libraries/Text/TextInput/RCTBaseTextInputShadowView.mm +0 -367
  1114. package/Libraries/Text/TextInput/RCTBaseTextInputView.h +0 -68
  1115. package/Libraries/Text/TextInput/RCTBaseTextInputView.mm +0 -849
  1116. package/Libraries/Text/TextInput/RCTBaseTextInputViewManager.h +0 -17
  1117. package/Libraries/Text/TextInput/RCTBaseTextInputViewManager.mm +0 -181
  1118. package/Libraries/Text/TextInput/RCTInputAccessoryShadowView.h +0 -17
  1119. package/Libraries/Text/TextInput/RCTInputAccessoryShadowView.mm +0 -24
  1120. package/Libraries/Text/TextInput/RCTInputAccessoryView.h +0 -22
  1121. package/Libraries/Text/TextInput/RCTInputAccessoryView.mm +0 -82
  1122. package/Libraries/Text/TextInput/RCTInputAccessoryViewContent.h +0 -17
  1123. package/Libraries/Text/TextInput/RCTInputAccessoryViewContent.mm +0 -78
  1124. package/Libraries/Text/TextInput/RCTInputAccessoryViewManager.h +0 -17
  1125. package/Libraries/Text/TextInput/RCTInputAccessoryViewManager.mm +0 -33
  1126. package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputView.h +0 -21
  1127. package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputView.mm +0 -43
  1128. package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputViewManager.h +0 -21
  1129. package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputViewManager.mm +0 -35
  1130. package/Libraries/Text/VirtualText/RCTVirtualTextShadowView.h +0 -17
  1131. package/Libraries/Text/VirtualText/RCTVirtualTextShadowView.mm +0 -42
  1132. package/Libraries/Text/VirtualText/RCTVirtualTextView.h +0 -28
  1133. package/Libraries/Text/VirtualText/RCTVirtualTextViewManager.h +0 -17
  1134. package/Libraries/Text/VirtualText/RCTVirtualTextViewManager.mm +0 -30
  1135. package/Libraries/Utilities/SceneTracker.js +0 -42
  1136. package/Libraries/Wrapper/Example/RCTWrapperExampleView.h +0 -21
  1137. package/Libraries/Wrapper/Example/RCTWrapperExampleView.m +0 -57
  1138. package/Libraries/Wrapper/Example/RCTWrapperExampleViewController.h +0 -21
  1139. package/Libraries/Wrapper/Example/RCTWrapperExampleViewController.m +0 -27
  1140. package/Libraries/Wrapper/Example/RCTWrapperReactRootViewController.h +0 -25
  1141. package/Libraries/Wrapper/Example/RCTWrapperReactRootViewController.m +0 -50
  1142. package/Libraries/Wrapper/Example/RCTWrapperReactRootViewManager.h +0 -23
  1143. package/Libraries/Wrapper/Example/RCTWrapperReactRootViewManager.m +0 -35
  1144. package/Libraries/Wrapper/RCTWrapper.h +0 -73
  1145. package/Libraries/Wrapper/RCTWrapperShadowView.h +0 -27
  1146. package/Libraries/Wrapper/RCTWrapperShadowView.m +0 -138
  1147. package/Libraries/Wrapper/RCTWrapperView.h +0 -42
  1148. package/Libraries/Wrapper/RCTWrapperView.m +0 -99
  1149. package/Libraries/Wrapper/RCTWrapperViewControllerHostingView.h +0 -30
  1150. package/Libraries/Wrapper/RCTWrapperViewControllerHostingView.m +0 -137
  1151. package/Libraries/Wrapper/RCTWrapperViewManager.h +0 -25
  1152. package/Libraries/Wrapper/RCTWrapperViewManager.m +0 -31
  1153. package/React/Base/RCTRootContentView.h +0 -43
  1154. package/React/Base/RCTRootContentView.m +0 -111
  1155. package/React/Base/RCTRootViewInternal.h +0 -28
  1156. package/React/CxxBridge/RCTCxxBridge.mm +0 -1572
  1157. package/React/CxxBridge/RCTJSIExecutorRuntimeInstaller.h +0 -25
  1158. package/React/CxxBridge/RCTJSIExecutorRuntimeInstaller.mm +0 -34
  1159. package/React/CxxBridge/RCTObjcExecutor.h +0 -34
  1160. package/React/CxxBridge/RCTObjcExecutor.mm +0 -150
  1161. package/React/CxxLogUtils/RCTDefaultCxxLogFunction.mm +0 -34
  1162. package/React/CxxModule/DispatchMessageQueueThread.h +0 -50
  1163. package/React/CxxModule/RCTCxxMethod.h +0 -17
  1164. package/React/CxxModule/RCTCxxMethod.mm +0 -147
  1165. package/React/CxxModule/RCTNativeModule.h +0 -34
  1166. package/React/CxxModule/RCTNativeModule.mm +0 -241
  1167. package/React/Fabric/RCTSurfacePresenterBridgeAdapter.mm +0 -205
  1168. package/React/Tests/Text/RCTTextAttributesTest.mm +0 -49
  1169. package/React/Views/RCTActivityIndicatorView.h +0 -16
  1170. package/React/Views/RCTActivityIndicatorView.m +0 -26
  1171. package/React/Views/RCTActivityIndicatorViewManager.h +0 -23
  1172. package/React/Views/RCTActivityIndicatorViewManager.m +0 -65
  1173. package/React/Views/RCTDebuggingOverlayManager.h +0 -17
  1174. package/React/Views/RCTDebuggingOverlayManager.m +0 -68
  1175. package/React/Views/RCTModalHostView.h +0 -64
  1176. package/React/Views/RCTModalHostView.m +0 -264
  1177. package/React/Views/RCTModalHostViewController.m +0 -74
  1178. package/React/Views/RCTModalHostViewManager.m +0 -131
  1179. package/React/Views/RCTModalManager.h +0 -22
  1180. package/React/Views/RCTModalManager.m +0 -46
  1181. package/React/Views/RCTRootShadowView.h +0 -35
  1182. package/React/Views/RCTRootShadowView.m +0 -53
  1183. package/React/Views/RCTShadowView+Internal.h +0 -18
  1184. package/React/Views/RCTShadowView+Internal.m +0 -23
  1185. package/React/Views/RCTSwitch.h +0 -22
  1186. package/React/Views/RCTSwitch.m +0 -24
  1187. package/React/Views/RCTSwitchManager.h +0 -17
  1188. package/React/Views/RCTSwitchManager.m +0 -70
  1189. package/React/Views/RefreshControl/RCTRefreshControl.h +0 -24
  1190. package/React/Views/RefreshControl/RCTRefreshControl.m +0 -230
  1191. package/React/Views/RefreshControl/RCTRefreshControlManager.h +0 -17
  1192. package/React/Views/RefreshControl/RCTRefreshControlManager.m +0 -47
  1193. package/React/Views/SafeAreaView/RCTSafeAreaShadowView.h +0 -21
  1194. package/React/Views/SafeAreaView/RCTSafeAreaShadowView.m +0 -57
  1195. package/React/Views/SafeAreaView/RCTSafeAreaView.h +0 -27
  1196. package/React/Views/SafeAreaView/RCTSafeAreaView.m +0 -79
  1197. package/React/Views/SafeAreaView/RCTSafeAreaViewLocalData.h +0 -25
  1198. package/React/Views/SafeAreaView/RCTSafeAreaViewLocalData.m +0 -25
  1199. package/React/Views/SafeAreaView/RCTSafeAreaViewManager.h +0 -21
  1200. package/React/Views/SafeAreaView/RCTSafeAreaViewManager.m +0 -32
  1201. package/React/Views/ScrollView/RCTScrollContentShadowView.h +0 -19
  1202. package/React/Views/ScrollView/RCTScrollContentShadowView.m +0 -35
  1203. package/React/Views/ScrollView/RCTScrollContentView.h +0 -19
  1204. package/React/Views/ScrollView/RCTScrollContentView.m +0 -36
  1205. package/React/Views/ScrollView/RCTScrollContentViewManager.h +0 -17
  1206. package/React/Views/ScrollView/RCTScrollContentViewManager.m +0 -31
  1207. package/React/Views/ScrollView/RCTScrollView.m +0 -1168
  1208. package/React/Views/ScrollView/RCTScrollViewManager.h +0 -25
  1209. package/React/Views/ScrollView/RCTScrollViewManager.m +0 -202
  1210. package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +0 -251
  1211. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BridgeReactContext.java +0 -315
  1212. package/ReactAndroid/src/main/java/com/facebook/react/common/ClearableSynchronizedPool.kt +0 -51
  1213. package/ReactAndroid/src/main/java/com/facebook/react/fabric/AnimationBackendChoreographer.kt +0 -89
  1214. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSPointerDispatcher.java +0 -736
  1215. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +0 -221
  1216. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNode.java +0 -399
  1217. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactZIndexedViewGroup.kt +0 -35
  1218. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +0 -346
  1219. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +0 -666
  1220. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +0 -147
  1221. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupDrawingOrderHelper.kt +0 -113
  1222. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagersPropertyCache.java +0 -614
  1223. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +0 -1838
  1224. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactNestedScrollView.java +0 -1646
  1225. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +0 -1638
  1226. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaAlign.java +0 -51
  1227. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaBoxSizing.java +0 -33
  1228. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDimension.java +0 -33
  1229. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDisplay.java +0 -37
  1230. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaEdge.java +0 -47
  1231. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaErrata.java +0 -41
  1232. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaExperimentalFeature.java +0 -33
  1233. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaFlexDirection.java +0 -37
  1234. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaGridTrackType.java +0 -39
  1235. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaGutter.java +0 -35
  1236. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaJustify.java +0 -49
  1237. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaLogLevel.java +0 -45
  1238. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaMeasureMode.java +0 -35
  1239. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.java +0 -928
  1240. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeType.java +0 -33
  1241. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaOverflow.java +0 -35
  1242. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaPositionType.java +0 -35
  1243. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaUnit.java +0 -43
  1244. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaWrap.java +0 -35
  1245. package/ReactAndroid/src/main/jni/react/fabric/JAnimationBackendChoreographer.cpp +0 -23
  1246. package/ReactAndroid/src/main/jni/react/fabric/JAnimationBackendChoreographer.h +0 -37
  1247. package/ReactCommon/cxxreact/JSIndexedRAMBundle.cpp +0 -135
  1248. package/ReactCommon/cxxreact/JSIndexedRAMBundle.h +0 -72
  1249. package/ReactCommon/hermes/inspector-modern/chrome/ConnectionDemux.cpp +0 -143
  1250. package/ReactCommon/hermes/inspector-modern/chrome/ConnectionDemux.h +0 -55
  1251. package/ReactCommon/hermes/inspector-modern/chrome/Registration.cpp +0 -78
  1252. package/ReactCommon/hermes/inspector-modern/chrome/Registration.h +0 -39
  1253. package/ReactCommon/hermes/inspector-modern/chrome/tests/ConnectionDemuxTests.cpp +0 -148
  1254. package/ReactCommon/react/nativemodule/samples/platform/android/NativeSampleTurboModuleSpec.java +0 -168
  1255. package/ReactCommon/react/nativemodule/samples/platform/android/ReactCommon/SampleTurboModuleSpec.cpp +0 -416
  1256. package/ReactCommon/react/nativemodule/samples/platform/android/ReactCommon/SampleTurboModuleSpec.h +0 -31
  1257. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTNativeSampleTurboModuleSpec.h +0 -134
  1258. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTNativeSampleTurboModuleSpec.mm +0 -290
  1259. package/ReactCommon/react/renderer/core/RawPropsKey.cpp +0 -62
  1260. package/ReactCommon/react/renderer/core/RawPropsKey.h +0 -39
  1261. package/ReactCommon/react/renderer/mounting/internal/DiffMap.h +0 -170
  1262. package/ReactCommon/react/renderer/mounting/internal/LongestIncreasingSubsequence.h +0 -95
  1263. package/ReactCommon/react/renderer/mounting/internal/TinyMap.h +0 -147
  1264. package/ReactCommon/react/renderer/mounting/tests/LongestIncreasingSubsequenceTest.cpp +0 -154
  1265. package/interface.js +0 -21
  1266. package/jest-preset.js +0 -26
  1267. package/rn-get-polyfills.js +0 -13
  1268. package/sdks/.hermesversion +0 -1
  1269. package/src/private/components/virtualcollection/debug/FlingItemOverlay.js +0 -13
  1270. package/types/tsconfig.json +0 -15
  1271. package/types_generated/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.d.ts +0 -14
  1272. package/types_generated/Libraries/Components/ScrollView/ScrollViewNativeComponent.d.ts +0 -21
  1273. package/types_generated/Libraries/Components/ScrollView/ScrollViewNativeComponentType.d.ts +0 -134
  1274. package/types_generated/Libraries/Components/Switch/AndroidSwitchNativeComponent.d.ts +0 -14
  1275. package/types_generated/Libraries/Components/Switch/SwitchNativeComponent.d.ts +0 -14
  1276. package/types_generated/Libraries/Components/Touchable/Touchable.d.ts +0 -262
  1277. package/types_generated/Libraries/Interaction/InteractionManager.d.ts +0 -117
  1278. package/types_generated/Libraries/NativeModules/specs/NativeDialogManagerAndroid.d.ts +0 -17
  1279. package/types_generated/src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent.d.ts +0 -53
  1280. package/types_generated/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.d.ts +0 -36
  1281. package/types_generated/src/private/specs_DEPRECATED/components/SwitchNativeComponent.d.ts +0 -51
  1282. package/types_generated/src/private/specs_DEPRECATED/modules/NativeDialogManagerAndroid.d.ts +0 -37
  1283. package/types_generated/tsconfig.test.json +0 -16
  1284. /package/ReactCommon/{cxxreact → react/utils}/MoveWrapper.h +0 -0
@@ -0,0 +1,671 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ // Standalone reproduction of the use-after-free race between Scheduler
9
+ // teardown and pending rendering-update lambdas previously enqueued via
10
+ // runtimeScheduler_->scheduleRenderingUpdate inside
11
+ // Scheduler::uiManagerDidFinishTransaction (and its sibling
12
+ // uiManagerDidDispatchCommand). The lambda captures the delegate by raw
13
+ // pointer; if the delegate is destroyed (as part of an instance teardown
14
+ // triggered by an uncaught fatal error) before the lambda runs, the
15
+ // dereference is a use-after-free unless the invalidation-token guard in
16
+ // Scheduler::setDelegate is enabled at queue time.
17
+ //
18
+ // The test drives the *real* Scheduler::uiManagerDidFinishTransaction so the
19
+ // rendering-update lambda is enqueued via the regular code path into a real
20
+ // RuntimeScheduler's pending-rendering-updates queue. The teardown is
21
+ // initiated by an uncaught JSI host-function throw routed through
22
+ // RuntimeScheduler's onTaskError callback (the test's analog of the host
23
+ // fatal handler), then we trigger an event loop tick to drain the queue.
24
+ //
25
+ // Fantom is intentionally not used here: it shares the global runtime VM
26
+ // across tests, which would interfere with this test's contract that no
27
+ // further JS executes after a fatal-driven instance teardown.
28
+
29
+ #include <gtest/gtest.h>
30
+ #include <hermes/hermes.h>
31
+ #include <jsi/jsi.h>
32
+
33
+ #include <ReactCommon/RuntimeExecutor.h>
34
+ #include <react/featureflags/ReactNativeFeatureFlags.h>
35
+ #include <react/featureflags/ReactNativeFeatureFlagsDefaults.h>
36
+ #include <react/renderer/componentregistry/ComponentDescriptorProviderRegistry.h>
37
+ #include <react/renderer/components/root/RootComponentDescriptor.h>
38
+ #include <react/renderer/components/root/RootProps.h>
39
+ #include <react/renderer/components/view/ViewComponentDescriptor.h>
40
+ #include <react/renderer/core/EventBeat.h>
41
+ #include <react/renderer/core/EventDispatcher.h>
42
+ #include <react/renderer/element/ComponentBuilder.h>
43
+ #include <react/renderer/element/Element.h>
44
+ #include <react/renderer/element/testUtils.h>
45
+ #include <react/renderer/mounting/MountingCoordinator.h>
46
+ #include <react/renderer/mounting/ShadowTreeRevision.h>
47
+ #include <react/renderer/runtimescheduler/RuntimeScheduler.h>
48
+ #include <react/renderer/scheduler/Scheduler.h>
49
+ #include <react/renderer/scheduler/SchedulerDelegate.h>
50
+ #include <react/renderer/scheduler/SchedulerToolbox.h>
51
+ #include <react/renderer/scheduler/SurfaceHandler.h>
52
+ #include <react/renderer/telemetry/TransactionTelemetry.h>
53
+ #include <react/renderer/uimanager/primitives.h>
54
+ #include <react/utils/ContextContainer.h>
55
+
56
+ #include <folly/dynamic.h>
57
+ #include <cstdint>
58
+ #include <functional>
59
+ #include <memory>
60
+ #include <queue>
61
+ #include <utility>
62
+
63
+ namespace facebook::react {
64
+
65
+ namespace {
66
+
67
+ // Magic sentinels embedded in RecordingDelegate to detect post-destruction
68
+ // access without requiring AddressSanitizer. The destructor flips kAlive ->
69
+ // kDestroyed as its first action; if a captured raw pointer is dereferenced
70
+ // after the destructor ran, the next read of aliveMagic_ will either see
71
+ // kDestroyed (best case) or whatever stomped the slab on heap reuse — both
72
+ // will fail the ASSERT_EQ check inside the recording delegate's methods.
73
+ constexpr uint64_t kAlive = 0xA11FED01A11FED01ULL;
74
+ constexpr uint64_t kDestroyed = 0xDEADBEEFDEADBEEFULL;
75
+
76
+ // Minimal SchedulerDelegate that records calls and, more importantly, guards
77
+ // every method body with a magic-sentinel check so a use-after-free shows up
78
+ // as an explicit gtest failure (or, when the binary runs under ASan, the
79
+ // sanitizer trips on the vptr load before our check even runs). aliveMagic_
80
+ // is intentionally the first member so it sits at a predictable offset for
81
+ // debugger / ASan inspection.
82
+ class RecordingDelegate : public SchedulerDelegate {
83
+ public:
84
+ RecordingDelegate() = default;
85
+
86
+ ~RecordingDelegate() noexcept override {
87
+ aliveMagic_ = kDestroyed;
88
+ }
89
+
90
+ void schedulerDidFinishTransaction(
91
+ const std::shared_ptr<const MountingCoordinator>& /*unused*/) override {
92
+ ASSERT_EQ(aliveMagic_, kAlive)
93
+ << "schedulerDidFinishTransaction invoked after delegate destruction";
94
+ ++didFinishTransactionCount_;
95
+ }
96
+
97
+ void schedulerShouldRenderTransactions(
98
+ const std::shared_ptr<const MountingCoordinator>& /*unused*/) override {
99
+ // This is the call the rendering-update lambda makes inside
100
+ // Scheduler::uiManagerDidFinishTransaction. Reaching this method with
101
+ // the magic sentinel flipped means the lambda raced past delegate
102
+ // destruction — the use-after-free this test is designed to detect.
103
+ ASSERT_EQ(aliveMagic_, kAlive)
104
+ << "schedulerShouldRenderTransactions invoked after delegate "
105
+ << "destruction (use-after-free)";
106
+ ++shouldRenderTransactionsCount_;
107
+ }
108
+
109
+ void schedulerShouldMergeReactRevision(SurfaceId /*unused*/) override {}
110
+ void schedulerDidRequestPreliminaryViewAllocation(
111
+ const ShadowNode& /*unused*/) override {}
112
+ void schedulerDidDispatchCommand(
113
+ const ShadowView& /*unused*/,
114
+ const std::string& commandName,
115
+ const folly::dynamic& /*unused*/) override {
116
+ // Mirrors the schedulerShouldRenderTransactions guard above. This is the
117
+ // call the rendering-update lambda enqueued by
118
+ // Scheduler::uiManagerDidDispatchCommand makes (e.g. for `scrollTo`).
119
+ ASSERT_EQ(aliveMagic_, kAlive)
120
+ << "schedulerDidDispatchCommand invoked after delegate destruction "
121
+ << "(commandName=" << commandName << ")";
122
+ ++didDispatchCommandCount_;
123
+ }
124
+ void schedulerDidSendAccessibilityEvent(
125
+ const ShadowView& /*unused*/,
126
+ const std::string& /*unused*/) override {}
127
+ void schedulerDidSetIsJSResponder(
128
+ const ShadowView& /*unused*/,
129
+ bool /*unused*/,
130
+ bool /*unused*/) override {}
131
+ void schedulerShouldSynchronouslyUpdateViewOnUIThread(
132
+ Tag /*unused*/,
133
+ const folly::dynamic& /*unused*/) override {}
134
+ void schedulerDidUpdateShadowTree(
135
+ const std::unordered_map<Tag, folly::dynamic>& /*unused*/) override {}
136
+ void schedulerDidCaptureViewSnapshot(Tag /*unused*/, SurfaceId /*unused*/)
137
+ override {}
138
+ void schedulerDidSetViewSnapshot(
139
+ Tag /*unused*/,
140
+ Tag /*unused*/,
141
+ SurfaceId /*unused*/) override {}
142
+ void schedulerDidClearPendingSnapshots() override {}
143
+
144
+ int didFinishTransactionCount() const {
145
+ return didFinishTransactionCount_;
146
+ }
147
+ int shouldRenderTransactionsCount() const {
148
+ return shouldRenderTransactionsCount_;
149
+ }
150
+ int didDispatchCommandCount() const {
151
+ return didDispatchCommandCount_;
152
+ }
153
+
154
+ private:
155
+ uint64_t aliveMagic_{kAlive};
156
+ int didFinishTransactionCount_{0};
157
+ int shouldRenderTransactionsCount_{0};
158
+ int didDispatchCommandCount_{0};
159
+ };
160
+
161
+ // EventBeat stub. Scheduler instantiates one through the toolbox factory but
162
+ // our test never drives any platform-side beat, so the default request() and
163
+ // induce() implementations (which assume a scheduler-backed beat) are fine.
164
+ class StubEventBeat : public EventBeat {
165
+ public:
166
+ StubEventBeat(
167
+ std::shared_ptr<OwnerBox> ownerBox,
168
+ RuntimeScheduler& runtimeScheduler)
169
+ : EventBeat(std::move(ownerBox), runtimeScheduler) {}
170
+ };
171
+
172
+ // A FIFO of work items installed as the runtime executor. The test drains it
173
+ // explicitly via tick()/flush() so the JS thread's progress is fully under
174
+ // test control relative to teardown. This keeps the cascade ordering
175
+ // deterministic across runs.
176
+ class TestExecutorQueue {
177
+ public:
178
+ void enqueue(std::function<void()> work) {
179
+ queue_.push(std::move(work));
180
+ }
181
+ void tick() {
182
+ if (queue_.empty()) {
183
+ return;
184
+ }
185
+ auto work = std::move(queue_.front());
186
+ queue_.pop();
187
+ work();
188
+ }
189
+ void flush() {
190
+ while (!queue_.empty()) {
191
+ tick();
192
+ }
193
+ }
194
+
195
+ private:
196
+ std::queue<std::function<void()>> queue_;
197
+ };
198
+
199
+ // Feature flags relevant to this test:
200
+ // - enableSchedulerDelegateInvalidation: the token guard under test.
201
+ // - enableRuntimeSchedulerQueueClearingOnError: a RuntimeScheduler_Modern
202
+ // fallback that drops queued work before host error handling tears down the
203
+ // delegate.
204
+ // - enableBridgelessArchitecture: forced ON so the Scheduler picks
205
+ // RuntimeScheduler_Modern. Modern queues rendering updates in
206
+ // pendingRenderingUpdates_ and drains them at end-of-tick, which is the
207
+ // ordering required to expose the race. RuntimeScheduler_Legacy runs
208
+ // scheduleRenderingUpdate inline, collapsing the window we want to test.
209
+ class TestFeatureFlags : public ReactNativeFeatureFlagsDefaults {
210
+ public:
211
+ explicit TestFeatureFlags(
212
+ bool guardEnabled,
213
+ bool queueClearingOnErrorEnabled = false)
214
+ : guardEnabled_(guardEnabled),
215
+ queueClearingOnErrorEnabled_(queueClearingOnErrorEnabled) {}
216
+
217
+ bool enableBridgelessArchitecture() override {
218
+ return true;
219
+ }
220
+ bool enableRuntimeSchedulerQueueClearingOnError() override {
221
+ return queueClearingOnErrorEnabled_;
222
+ }
223
+ bool enableSchedulerDelegateInvalidation() override {
224
+ return guardEnabled_;
225
+ }
226
+
227
+ private:
228
+ bool guardEnabled_;
229
+ bool queueClearingOnErrorEnabled_;
230
+ };
231
+
232
+ // Builds a ComponentRegistryFactory with just the descriptors needed for the
233
+ // test's shadow tree (Root + View). Matches the signature SchedulerToolbox
234
+ // expects.
235
+ ComponentRegistryFactory makeComponentRegistryFactory() {
236
+ return [](const EventDispatcher::Weak& eventDispatcher,
237
+ const std::shared_ptr<const ContextContainer>& contextContainer)
238
+ -> SharedComponentDescriptorRegistry {
239
+ ComponentDescriptorProviderRegistry providerRegistry{};
240
+ providerRegistry.add(
241
+ concreteComponentDescriptorProvider<RootComponentDescriptor>());
242
+ providerRegistry.add(
243
+ concreteComponentDescriptorProvider<ViewComponentDescriptor>());
244
+ return providerRegistry.createComponentDescriptorRegistry(
245
+ ComponentDescriptorParameters{
246
+ .eventDispatcher = eventDispatcher,
247
+ .contextContainer = contextContainer,
248
+ .flavor = nullptr});
249
+ };
250
+ }
251
+
252
+ // Test fixture: stands up the minimum infrastructure required to construct
253
+ // a real Scheduler and drive uiManagerDidFinishTransaction end-to-end.
254
+ class SchedulerDelegateInvalidationTest : public ::testing::Test {
255
+ protected:
256
+ void setUp(bool guardEnabled, bool queueClearingOnErrorEnabled = false) {
257
+ ReactNativeFeatureFlags::override(
258
+ std::make_unique<TestFeatureFlags>(
259
+ guardEnabled, queueClearingOnErrorEnabled));
260
+
261
+ runtime_ = facebook::hermes::makeHermesRuntime(
262
+ ::hermes::vm::RuntimeConfig::Builder()
263
+ .withMicrotaskQueue(true)
264
+ .build());
265
+ executorQueue_ = std::make_unique<TestExecutorQueue>();
266
+
267
+ RuntimeExecutor runtimeExecutor =
268
+ [this](
269
+ std::function<void(facebook::jsi::Runtime & runtime)>&& callback) {
270
+ executorQueue_->enqueue(
271
+ [this, callback = std::move(callback)]() mutable {
272
+ callback(*runtime_);
273
+ });
274
+ };
275
+
276
+ // onTaskError stands in for a host-side fatal handler that initiates an
277
+ // instance teardown. When a JS task throws (uncaught at the JSI host
278
+ // boundary), RuntimeScheduler routes the error here; the test fixture
279
+ // treats that as a fatal and tears down the instance in the same order
280
+ // a host-side invalidate path would:
281
+ // 1. unregister all surfaces (clears their per-surface UIManager
282
+ // pointer; a real host would also stop running surfaces first),
283
+ // 2. clear the scheduler delegate (setDelegate(nullptr)),
284
+ // 3. drop the surface presenter that backed the delegate.
285
+ //
286
+ // Note: step 1 does NOT drain RuntimeScheduler_Modern's
287
+ // pendingRenderingUpdates_. That's exactly the point of the test —
288
+ // surface-level shutdown can't reach the lambda race; the race lives in
289
+ // the runtime scheduler's queue and is only closed by the invalidation
290
+ // token guard added in Scheduler::setDelegate or by runtime-scheduler-level
291
+ // queue clearing on error.
292
+ auto onTaskError = [this](
293
+ jsi::Runtime& /*runtime*/, jsi::JSError& /*error*/) {
294
+ jsThrowObserved_ = true;
295
+ if (scheduler_ && surfaceHandler_ &&
296
+ surfaceHandler_->getStatus() !=
297
+ SurfaceHandler::Status::Unregistered) {
298
+ scheduler_->unregisterSurface(*surfaceHandler_);
299
+ }
300
+ if (scheduler_) {
301
+ scheduler_->setDelegate(nullptr);
302
+ }
303
+ delegate_.reset();
304
+ };
305
+
306
+ runtimeScheduler_ = std::make_shared<RuntimeScheduler>(
307
+ runtimeExecutor,
308
+ []() { return HighResTimeStamp::now(); },
309
+ std::move(onTaskError));
310
+
311
+ contextContainer_ = std::make_shared<ContextContainer>();
312
+ contextContainer_->insert(
313
+ RuntimeSchedulerKey,
314
+ std::weak_ptr<RuntimeScheduler>(runtimeScheduler_));
315
+
316
+ SchedulerToolbox toolbox{};
317
+ toolbox.contextContainer = contextContainer_;
318
+ toolbox.runtimeExecutor = runtimeExecutor;
319
+ toolbox.componentRegistryFactory = makeComponentRegistryFactory();
320
+ toolbox.eventBeatFactory =
321
+ [this](std::shared_ptr<EventBeat::OwnerBox> ownerBox) {
322
+ return std::make_unique<StubEventBeat>(
323
+ std::move(ownerBox), *runtimeScheduler_);
324
+ };
325
+
326
+ delegate_ = std::make_unique<RecordingDelegate>();
327
+ scheduler_ = std::make_unique<Scheduler>(
328
+ toolbox, /*animationDelegate=*/nullptr, delegate_.get());
329
+
330
+ // Register a surface with the scheduler so the teardown path mirrors
331
+ // production cascade ordering (per-surface unregister BEFORE delegate
332
+ // drop). The handler is intentionally not started — we never run the
333
+ // surface through the UIManager, since the test feeds a coordinator
334
+ // directly to uiManagerDidFinishTransaction. SurfaceHandler must reach
335
+ // Status::Unregistered before destruction, so TearDown also handles
336
+ // the case where onTaskError didn't run.
337
+ surfaceHandler_ = std::make_unique<SurfaceHandler>(
338
+ /*moduleName=*/"", /*surfaceId=*/11);
339
+ scheduler_->registerSurface(*surfaceHandler_);
340
+
341
+ coordinator_ = makeCoordinator(/*surfaceId=*/11);
342
+ }
343
+
344
+ void TearDown() override {
345
+ if (surfaceHandler_ && scheduler_ &&
346
+ surfaceHandler_->getStatus() != SurfaceHandler::Status::Unregistered) {
347
+ scheduler_->unregisterSurface(*surfaceHandler_);
348
+ }
349
+ surfaceHandler_.reset();
350
+ scheduler_.reset();
351
+ delegate_.reset();
352
+ coordinator_.reset();
353
+ rootShadowNode_.reset();
354
+ runtimeScheduler_.reset();
355
+ contextContainer_.reset();
356
+ executorQueue_.reset();
357
+ runtime_.reset();
358
+ ReactNativeFeatureFlags::dangerouslyReset();
359
+ }
360
+
361
+ // Builds a real RootShadowNode at the given surfaceId and wraps it in a
362
+ // ShadowTreeRevision + MountingCoordinator. This is what
363
+ // Scheduler::uiManagerDidFinishTransaction reads getSurfaceId() from at
364
+ // queue time. Saves the rootShadowNode in the fixture so dispatch-command
365
+ // tests can pass it to Scheduler::uiManagerDidDispatchCommand.
366
+ std::shared_ptr<MountingCoordinator> makeCoordinator(SurfaceId surfaceId) {
367
+ auto builder = simpleComponentBuilder(contextContainer_);
368
+ std::shared_ptr<RootShadowNode> rootShadowNode;
369
+ auto element = Element<RootShadowNode>()
370
+ .reference(rootShadowNode)
371
+ .surfaceId(surfaceId)
372
+ .tag(1)
373
+ .props([] {
374
+ auto props = std::make_shared<RootProps>();
375
+ return props;
376
+ });
377
+ builder.build(element);
378
+ rootShadowNode_ = rootShadowNode;
379
+
380
+ ShadowTreeRevision revision{
381
+ .rootShadowNode = rootShadowNode, .number = 1, .telemetry = {}};
382
+ return std::make_shared<MountingCoordinator>(revision);
383
+ }
384
+
385
+ // Drives one event-loop tick by scheduling a no-op task and processing the
386
+ // resulting executor queue entries. The end-of-tick drain in
387
+ // RuntimeScheduler_Modern flushes pendingRenderingUpdates_, where the
388
+ // lambda enqueued by uiManagerDidFinishTransaction lives.
389
+ void runOneEventLoopTick() {
390
+ runtimeScheduler_->scheduleWork(
391
+ [](jsi::Runtime& /*unused*/) { /* no-op */ });
392
+ executorQueue_->flush();
393
+ }
394
+
395
+ // Schedules a JS task whose host function throws an uncaught Error. When
396
+ // the task runs and the throw escapes the host-function boundary,
397
+ // RuntimeScheduler routes it through the onTaskError callback installed
398
+ // in setUp(), which in turn simulates a host-driven instance-teardown
399
+ // cascade by dropping the delegate.
400
+ void scheduleJSThrowingTask() {
401
+ auto throwingHostFn = jsi::Function::createFromHostFunction(
402
+ *runtime_,
403
+ jsi::PropNameID::forUtf8(*runtime_, "throwUncaught"),
404
+ 0,
405
+ [](jsi::Runtime& runtime,
406
+ const jsi::Value& /*unused*/,
407
+ const jsi::Value* /*args*/,
408
+ size_t /*count*/) -> jsi::Value {
409
+ // Simulates an uncaught JS error at the JSI host-function boundary
410
+ // — the same shape as the "Exception in HostFunction" surfaces
411
+ // that propagate to a host-side fatal handler in production.
412
+ throw jsi::JSError(runtime, "simulated uncaught fatal");
413
+ });
414
+ runtimeScheduler_->scheduleTask(
415
+ SchedulerPriority::NormalPriority, std::move(throwingHostFn));
416
+ }
417
+
418
+ void schedulePostErrorTask() {
419
+ runtimeScheduler_->scheduleTask(
420
+ SchedulerPriority::NormalPriority,
421
+ [this](jsi::Runtime& /*runtime*/) { postErrorTaskRan_ = true; });
422
+ }
423
+
424
+ std::unique_ptr<facebook::hermes::HermesRuntime> runtime_;
425
+ std::unique_ptr<TestExecutorQueue> executorQueue_;
426
+ std::shared_ptr<RuntimeScheduler> runtimeScheduler_;
427
+ std::shared_ptr<ContextContainer> contextContainer_;
428
+ std::unique_ptr<RecordingDelegate> delegate_;
429
+ std::unique_ptr<Scheduler> scheduler_;
430
+ std::unique_ptr<SurfaceHandler> surfaceHandler_;
431
+ std::shared_ptr<MountingCoordinator> coordinator_;
432
+ std::shared_ptr<RootShadowNode> rootShadowNode_;
433
+ bool jsThrowObserved_{false};
434
+ bool postErrorTaskRan_{false};
435
+ };
436
+
437
+ } // namespace
438
+
439
+ // ---------------------------------------------------------------------------
440
+ // Test 1 — Sanity: with the delegate alive, uiManagerDidFinishTransaction
441
+ // enqueues a lambda that calls schedulerShouldRenderTransactions on the
442
+ // next event loop tick. Establishes the baseline behavior that the next
443
+ // two tests perturb.
444
+ // ---------------------------------------------------------------------------
445
+ TEST_F(
446
+ SchedulerDelegateInvalidationTest,
447
+ Sanity_LambdaRunsOnNextTickWhenDelegateAlive) {
448
+ setUp(/*guardEnabled=*/true);
449
+
450
+ scheduler_->uiManagerDidFinishTransaction(
451
+ coordinator_, /*mountSynchronously=*/false);
452
+
453
+ // Synchronously, schedulerDidFinishTransaction was called once
454
+ // (Scheduler.cpp dispatches it unconditionally, before the
455
+ // scheduleRenderingUpdate enqueue). schedulerShouldRenderTransactions
456
+ // has NOT been called yet — that one sits in the rendering-update queue.
457
+ EXPECT_EQ(delegate_->didFinishTransactionCount(), 1);
458
+ EXPECT_EQ(delegate_->shouldRenderTransactionsCount(), 0);
459
+
460
+ runOneEventLoopTick();
461
+
462
+ EXPECT_EQ(delegate_->shouldRenderTransactionsCount(), 1);
463
+ }
464
+
465
+ // ---------------------------------------------------------------------------
466
+ // Test 2 — JS-throw-initiated teardown, guard ENABLED.
467
+ //
468
+ // Cascade replicated in C++:
469
+ // (a) earlier transaction enqueued a rendering-update lambda into
470
+ // pendingRenderingUpdates_ via Scheduler::uiManagerDidFinishTransaction
471
+ // (b) JS throws — uncaught at the JSI host-function boundary
472
+ // (c) RuntimeScheduler routes the error to onTaskError, which simulates a
473
+ // host-driven instance teardown by dropping the delegate
474
+ // (d) the next tick drains the previously-queued rendering update
475
+ //
476
+ // With the guard ON, step (c) flipped the invalidation token; the pending
477
+ // lambda observes that and returns before touching the freed delegate. Safe.
478
+ // ---------------------------------------------------------------------------
479
+ TEST_F(
480
+ SchedulerDelegateInvalidationTest,
481
+ GuardEnabled_JSThrowInitiatedTeardownIsSafe) {
482
+ setUp(/*guardEnabled=*/true);
483
+
484
+ // (a) Pre-throw transaction: lambda lands in pendingRenderingUpdates_.
485
+ scheduler_->uiManagerDidFinishTransaction(
486
+ coordinator_, /*mountSynchronously=*/false);
487
+ EXPECT_EQ(delegate_->shouldRenderTransactionsCount(), 0);
488
+
489
+ // (b) Schedule a JS task that throws uncaught. Draining the executor queue
490
+ // runs the task; the throw flows through to onTaskError → teardown.
491
+ scheduleJSThrowingTask();
492
+ executorQueue_->flush();
493
+
494
+ // Sanity: the simulated fatal cascade fired and the delegate is gone.
495
+ EXPECT_TRUE(jsThrowObserved_);
496
+ EXPECT_EQ(scheduler_->getDelegate(), nullptr);
497
+
498
+ // (d) Drain the pending rendering update. Guard is on → lambda no-ops.
499
+ runOneEventLoopTick();
500
+
501
+ SUCCEED();
502
+ }
503
+
504
+ // ---------------------------------------------------------------------------
505
+ // Test 3 — JS-throw-initiated teardown, guard DISABLED but runtime-scheduler
506
+ // queue clearing ENABLED.
507
+ //
508
+ // Same cascade as Test 2 but with the scheduler invalidation guard OFF. The
509
+ // runtime scheduler clears pendingRenderingUpdates_ before onTaskError tears
510
+ // down the delegate, so the later tick has no stale delegate lambda to drain.
511
+ // ---------------------------------------------------------------------------
512
+ TEST_F(
513
+ SchedulerDelegateInvalidationTest,
514
+ GuardDisabled_QueueClearingOnError_JSThrowInitiatedTeardownIsSafe) {
515
+ setUp(
516
+ /*guardEnabled=*/false,
517
+ /*queueClearingOnErrorEnabled=*/true);
518
+
519
+ scheduler_->uiManagerDidFinishTransaction(
520
+ coordinator_, /*mountSynchronously=*/false);
521
+ EXPECT_EQ(delegate_->shouldRenderTransactionsCount(), 0);
522
+
523
+ scheduleJSThrowingTask();
524
+ schedulePostErrorTask();
525
+ executorQueue_->flush();
526
+ EXPECT_TRUE(jsThrowObserved_);
527
+ EXPECT_EQ(scheduler_->getDelegate(), nullptr);
528
+ EXPECT_FALSE(postErrorTaskRan_);
529
+
530
+ runOneEventLoopTick();
531
+
532
+ SUCCEED();
533
+ }
534
+
535
+ // ---------------------------------------------------------------------------
536
+ // Test 4 — JS-throw-initiated teardown, guard DISABLED.
537
+ //
538
+ // Same cascade as Test 2 but with the guard OFF. The previously-enqueued
539
+ // lambda has no working token check, so when the rendering-update drain
540
+ // runs after teardown it dereferences the destroyed delegate.
541
+ //
542
+ // EXPECT_DEATH catches the abort: either RecordingDelegate's magic-sentinel
543
+ // ASSERT_EQ inside schedulerShouldRenderTransactions trips, or ASan reports
544
+ // heap-use-after-free on the vptr load before our assertion runs.
545
+ // ---------------------------------------------------------------------------
546
+ #if GTEST_HAS_DEATH_TEST
547
+ TEST_F(
548
+ SchedulerDelegateInvalidationTest,
549
+ GuardDisabled_JSThrowInitiatedTeardownIsUAF) {
550
+ EXPECT_DEATH(
551
+ {
552
+ setUp(/*guardEnabled=*/false);
553
+
554
+ // (a) Pre-throw transaction: lambda lands in
555
+ // pendingRenderingUpdates_.
556
+ scheduler_->uiManagerDidFinishTransaction(
557
+ coordinator_, /*mountSynchronously=*/false);
558
+
559
+ // (b) Uncaught JS throw → onTaskError → teardown drops the delegate.
560
+ // (c) Note: with guard DISABLED, setDelegate(nullptr) does NOT flip
561
+ // the invalidation token — Scheduler::setDelegate gates that branch
562
+ // on the feature flag — so the pending lambda has no signal that
563
+ // the delegate is going away.
564
+ scheduleJSThrowingTask();
565
+ executorQueue_->flush();
566
+
567
+ // (d) Drain the pending rendering update. The lambda dereferences
568
+ // the destroyed delegate → UAF.
569
+ runOneEventLoopTick();
570
+ },
571
+ "");
572
+ }
573
+ #endif
574
+
575
+ // ---------------------------------------------------------------------------
576
+ // Test 5 — Same race as Test 2, but enqueued via the second lambda site:
577
+ // Scheduler::uiManagerDidDispatchCommand. This is the path the in-app
578
+ // reproduction observed (a `scrollTo` command issued from a tap, queued
579
+ // just before the cascade fatal). With the guard ON the lambda observes
580
+ // the invalidation token and no-ops.
581
+ // ---------------------------------------------------------------------------
582
+ TEST_F(
583
+ SchedulerDelegateInvalidationTest,
584
+ GuardEnabled_DispatchCommandLambda_JSThrowInitiatedTeardownIsSafe) {
585
+ setUp(/*guardEnabled=*/true);
586
+ ASSERT_NE(rootShadowNode_, nullptr);
587
+
588
+ // (a) Pre-throw command: enqueues a rendering-update lambda inside
589
+ // Scheduler::uiManagerDidDispatchCommand that captures the delegate by
590
+ // raw pointer and the invalidation token by shared_ptr.
591
+ scheduler_->uiManagerDidDispatchCommand(
592
+ rootShadowNode_, "scrollTo", folly::dynamic::array());
593
+ EXPECT_EQ(delegate_->didDispatchCommandCount(), 0);
594
+
595
+ // (b) Uncaught JS throw → onTaskError → unregister surface → drop delegate.
596
+ scheduleJSThrowingTask();
597
+ executorQueue_->flush();
598
+ EXPECT_TRUE(jsThrowObserved_);
599
+ EXPECT_EQ(scheduler_->getDelegate(), nullptr);
600
+
601
+ // (c) Drain the pending rendering update. Guard ON → lambda no-ops.
602
+ runOneEventLoopTick();
603
+
604
+ SUCCEED();
605
+ }
606
+
607
+ // ---------------------------------------------------------------------------
608
+ // Test 6 — Same race as Test 3, but enqueued via
609
+ // Scheduler::uiManagerDidDispatchCommand. Guard OFF → lambda dereferences
610
+ // the destroyed delegate → UAF caught by the magic sentinel inside
611
+ // schedulerDidDispatchCommand or by ASan on the vptr load.
612
+ // ---------------------------------------------------------------------------
613
+ #if GTEST_HAS_DEATH_TEST
614
+ TEST_F(
615
+ SchedulerDelegateInvalidationTest,
616
+ GuardDisabled_DispatchCommandLambda_JSThrowInitiatedTeardownIsUAF) {
617
+ EXPECT_DEATH(
618
+ {
619
+ setUp(/*guardEnabled=*/false);
620
+ ASSERT_NE(rootShadowNode_, nullptr);
621
+
622
+ scheduler_->uiManagerDidDispatchCommand(
623
+ rootShadowNode_, "scrollTo", folly::dynamic::array());
624
+
625
+ scheduleJSThrowingTask();
626
+ executorQueue_->flush();
627
+
628
+ runOneEventLoopTick();
629
+ },
630
+ "");
631
+ }
632
+ #endif
633
+
634
+ // ---------------------------------------------------------------------------
635
+ // Test 7 — Architectural assertion: surface-shutdown alone does NOT drain
636
+ // pendingRenderingUpdates_ in RuntimeScheduler_Modern.
637
+ //
638
+ // This is the explicit refutation of the implicit reading "if the host just
639
+ // stops/unregisters all surfaces before dropping the delegate, the lambda
640
+ // race wouldn't be reachable." It would not — surface-shutdown clears the
641
+ // per-surface UIManager pointer but doesn't touch the runtime scheduler's
642
+ // pending-rendering-updates queue. The lambda still runs and still calls
643
+ // the delegate. Only the invalidation-token guard (or, longer-term, a
644
+ // runtime-scheduler-level shutdown signal) closes this race.
645
+ // ---------------------------------------------------------------------------
646
+ TEST_F(
647
+ SchedulerDelegateInvalidationTest,
648
+ UnregisterSurface_DoesNotDrainPendingRenderingUpdates) {
649
+ setUp(/*guardEnabled=*/true);
650
+
651
+ // (a) Enqueue a rendering-update lambda for the registered surface.
652
+ scheduler_->uiManagerDidFinishTransaction(
653
+ coordinator_, /*mountSynchronously=*/false);
654
+ EXPECT_EQ(delegate_->shouldRenderTransactionsCount(), 0);
655
+
656
+ // (b) Unregister the surface — the host's per-surface shutdown step.
657
+ // Crucially, no JS throw and no setDelegate(nullptr) here: the delegate
658
+ // remains alive, only the surface's UIManager pointer is cleared.
659
+ ASSERT_NE(scheduler_->getDelegate(), nullptr);
660
+ scheduler_->unregisterSurface(*surfaceHandler_);
661
+ EXPECT_EQ(surfaceHandler_->getStatus(), SurfaceHandler::Status::Unregistered);
662
+ EXPECT_NE(scheduler_->getDelegate(), nullptr);
663
+
664
+ // (c) Drain the rendering-update queue. The pending lambda was NOT
665
+ // affected by the surface unregister — it still runs and still calls the
666
+ // (still-alive) delegate.
667
+ runOneEventLoopTick();
668
+ EXPECT_EQ(delegate_->shouldRenderTransactionsCount(), 1);
669
+ }
670
+
671
+ } // namespace facebook::react